From 576e0ae495b5764a2266f67b84b299b67d21dcd5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 20 Mar 2018 19:23:34 +0100 Subject: [PATCH 001/233] gnu: rofi: Update source hash. The tarball was updated in-place with a bugfix; see . * gnu/packages/xdisorg.scm (rofi)[source](sha256): Adjust hash. [arguments]: Remove phase 'add-missing-configuration-files'. --- gnu/packages/xdisorg.scm | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 9b4d5fe24f..6663a0e746 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1109,7 +1109,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "10r1jd3h5i22pdr619hmvxv6dhzf9i13j50c28g7yffdggx8ncjg")))) + "0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1138,28 +1138,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (("~root") "/root") (("~") "") (("g_get_home_dir \\(\\)") "\"/\"")) - #t)) - (add-before 'check 'add-missing-configuration-files - (lambda _ - ;; These files are missing in the 1.5.0 release, causing a test - ;; failure: . - (with-directory-excursion "subprojects/libnkutils/tests" - (mkdir "gtk-3.0") - (call-with-output-file "gtk-3.0/settings.ini" - (lambda (port) - (format port "[Settings] -gtk-double-click-time = 300 -gtk-cursor-theme-name = gnome -"))) - (mkdir "gtk-4.0") - (call-with-output-file "gtk-4.0/settings.ini" - (lambda (port) - (format port "[Settings] -gtk-double-click-time = 300 -gtk-icon-theme-name = nothing-like-this-theme -gtk-enable-primary-paste = true -"))) - #t)))))) + #t))))) (home-page "https://github.com/DaveDavenport/rofi") (synopsis "Application launcher") (description "Rofi is a minimalist application launcher. It memorizes which From 8c4bd04c86cc43252b2f9473f398717970b77234 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 20 Mar 2018 21:42:03 +0300 Subject: [PATCH 002/233] gnu: python-ptyprocess: Update source URL. * gnu/packages/python.scm (python-ptyprocess)[origin](source): Update URL. --- gnu/packages/python.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 47006240b6..b6fb445b44 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5618,9 +5618,7 @@ markdown_py is also provided to convert Markdown files to HTML.") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/p/ptyprocess/ptyprocess-" - version ".tar.gz")) + (uri (pypi-uri "ptyprocess" version)) (sha256 (base32 "0ra31k10v3629xq0kdn8lwmfbi97anmk48r03yvh7mks0kq96hg6")))) From 385e8614ef394a30966bbc992b6ece929665f1bc Mon Sep 17 00:00:00 2001 From: Vijayalakshmi Date: Mon, 19 Mar 2018 22:20:25 +0530 Subject: [PATCH 003/233] gnu: Add python-logwrap. * gnu/packages/python.scm (python-logwrap): New variable. Co-authored-by: Ricardo Wurmus --- gnu/packages/python.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b6fb445b44..3811233272 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -47,7 +47,8 @@ ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2018 Ethan R. Jones -;;; +;;; Copyright © 2018 Vijayalakshmi Vedantham + ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it @@ -524,6 +525,33 @@ pidof, tty, taskset, pmap.") planar geometric objects. It is based on the @code{GEOS} library.") (license license:bsd-3))) +(define-public python-logwrap + (package + (name "python-logwrap") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "logwrap" version ".zip")) + (sha256 + (base32 + "1d2k0hvpbi51vl410y8fbs5m0nxnlh2k7gr2nrh3k81ibhzscsra")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-typing" ,python-typing))) + (native-inputs + `(("unzip" ,unzip) + ("python-cython" ,python-cython) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/penguinolog/logwrap") + (synopsis "Decorator for logging function arguments") + (description "This package provides a decorator to log function arguments +and function call return values in a human-readable way.") + (license license:asl2.0))) + (define-public python2-shapely (package-with-python2 python-shapely)) From d7a11f1a8d2f7083552590568819b48bb73ac161 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Mar 2018 19:07:59 +0100 Subject: [PATCH 004/233] gnu: pigx-chipseq: Update to 0.0.9. * gnu/packages/bioinformatics.scm (pigx-chipseq): Update to 0.0.9. [inputs]: Add coreutils and grep. --- gnu/packages/bioinformatics.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0aee5d180d..5fdf7f29d6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12747,7 +12747,7 @@ expression report comparing samples in an easily configurable manner.") (define-public pigx-chipseq (package (name "pigx-chipseq") - (version "0.0.8") + (version "0.0.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" @@ -12755,7 +12755,7 @@ expression report comparing samples in an easily configurable manner.") "/pigx_chipseq-" version ".tar.gz")) (sha256 (base32 - "1plw0bz0b7flj0g9irbn8n520005lmajkiq5flpizzapsl0a0r9g")))) + "14ym5fmc16xil584jlhf66ldq38smb6jbcfwnjvqmi7v0vzybdsw")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; parts of the tests rely on access to the network @@ -12770,7 +12770,9 @@ expression report comparing samples in an easily configurable manner.") `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH"))))) #t))))) (inputs - `(("r-minimal" ,r-minimal) + `(("grep" ,grep) + ("coreutils" ,coreutils) + ("r-minimal" ,r-minimal) ("r-argparser" ,r-argparser) ("r-chipseq" ,r-chipseq) ("r-data-table" ,r-data-table) From ef8b9a771c032beff61383fa686af69cf65fffd1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 16:45:45 +0100 Subject: [PATCH 005/233] gnu: r-spams: Use predictable source URI. * gnu/packages/statistics.scm (r-spams)[source]: Use predictable URI. --- gnu/packages/statistics.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 19a05ea10b..363e6c387f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016, 2017 Raoul Bonnal ;;; Copyright © 2017 Kyle Meyer -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -3837,8 +3837,9 @@ from within R.") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/36615/" - "spams-R-v" version ".tar.gz")) + ;; Use the ‘Latest version’ link for a stable URI across releases. + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "latestfile/4531/spams-R-v" version ".tar.gz")) (sha256 (base32 "13z2293jixf1r9g8dyy856xrhvpjr2ln2n9smn6644126r9hmhkx")))) @@ -3848,7 +3849,7 @@ from within R.") (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "spams") #t)) - ;; Don't tune for the building machine + ;; Don't tune for the building machine. (add-after 'chdir 'no-mtune (lambda _ (substitute* "src/Makevars" From 7d15cf175eb8b91a93fe24b4f0af4ae8bf4ba8ea Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 16:48:53 +0100 Subject: [PATCH 006/233] gnu: gmp-ecm: Update to 7.0.4. * gnu/packages/algebra.scm (gmp-ecm): Update to 7.0.4. [source]: Use predictable URI. --- gnu/packages/algebra.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2aa1777db3..d2370a02ca 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016, 2018 Ricardo Wurmus ;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; @@ -438,14 +438,14 @@ geometry and singularity theory.") (define-public gmp-ecm (package (name "gmp-ecm") - (version "7.0") + (version "7.0.4") (source (origin - (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/" - "file/35642/ecm-" - version ".tar.gz")) - (sha256 (base32 - "00jzzwqp49m01vwsr9z1w7bvm8lb69l3f62x7qr8sfz0xiczxnpm")))) + (method url-fetch) + ;; Use the ‘Latest version’ link for a stable URI across releases. + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "latestfile/160/ecm-" version ".tar.gz")) + (sha256 (base32 + "0hxs24c2m3mh0nq1zz63z3sb7dhy1rilg2s1igwwcb26x3pb7xqc")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) From b5df3e266b8db0c2da9f70e317349c90dac30623 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 02:03:27 +0100 Subject: [PATCH 007/233] gnu: leocad: Update to 18.02. * gnu/packages/lego.scm (leocad): Update to 18.02. --- gnu/packages/lego.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lego.scm b/gnu/packages/lego.scm index d5e5de1c1f..84e740fa17 100644 --- a/gnu/packages/lego.scm +++ b/gnu/packages/lego.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Eric Bavier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,7 +73,7 @@ restrictions that stem from limitations of the standard RCX firmware.") (define-public leocad (package (name "leocad") - (version "17.07") + (version "18.02") (source (origin (method url-fetch) (uri (string-append "https://github.com/leozide/leocad/" @@ -80,7 +81,7 @@ restrictions that stem from limitations of the standard RCX firmware.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02gm4950zlmsw4sxmdwypgkybn51b02qnmmk6rzjdr8si4k6gikq")))) + "189wj221fn08bnsfwy8050bxkjgjwinkn19qdcvb6c2ry2lnfra9")))) (build-system gnu-build-system) (native-inputs `(("qttools" ,qttools))) ;for lrelease From 84775d65a8aedcb8308c74d4ac7223f02d8fdd3e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 06:14:28 +0100 Subject: [PATCH 008/233] gnu: leocad: Update phase style. * gnu/packages/lego.scm (leocad)[arguments]: Substitute INVOKE for SYSTEM* and end all phases with an explicit #t. --- gnu/packages/lego.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/lego.scm b/gnu/packages/lego.scm index 84e740fa17..80df42bb69 100644 --- a/gnu/packages/lego.scm +++ b/gnu/packages/lego.scm @@ -84,7 +84,7 @@ restrictions that stem from limitations of the standard RCX firmware.") "189wj221fn08bnsfwy8050bxkjgjwinkn19qdcvb6c2ry2lnfra9")))) (build-system gnu-build-system) (native-inputs - `(("qttools" ,qttools))) ;for lrelease + `(("qttools" ,qttools))) ; for lrelease (inputs `(("mesa" ,mesa) ("qtbase" ,qtbase) @@ -96,12 +96,13 @@ restrictions that stem from limitations of the standard RCX firmware.") (replace 'configure (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "qmake" - (string-append "INSTALL_PREFIX=" out) - ;; Otherwise looks for lrelease-qt4 - "QMAKE_LRELEASE=lrelease" - ;; Don't pester users about updates - "DISABLE_UPDATE_CHECK=1"))))) + (invoke "qmake" + (string-append "INSTALL_PREFIX=" out) + ;; Otherwise looks for lrelease-qt4. + "QMAKE_LRELEASE=lrelease" + ;; Don't pester users about updates. + "DISABLE_UPDATE_CHECK=1") + #t))) (add-after 'configure 'reset-resource-timestamps (lambda _ ;; The contents of build/release/.qrc/qrc_leocad.cpp generated by @@ -114,7 +115,8 @@ restrictions that stem from limitations of the standard RCX firmware.") (src (string-append base ".ts")) (st (stat src))) (set-file-time file st))) - (find-files "." "leocad_.*\\.qm")))))))) + (find-files "." "leocad_.*\\.qm"))) + #t))))) (home-page "http://www.leocad.org") (synopsis "Create virtual Lego models") (description From 324f192700b2b64631ced0d05576eeb1d2cf6918 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 06:15:52 +0100 Subject: [PATCH 009/233] gnu: leocad: Use HTTPS home page. * gnu/packages/lego.scm (leocad)[home-page]: Use HTTPS. --- gnu/packages/lego.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/lego.scm b/gnu/packages/lego.scm index 80df42bb69..3203e1c9b4 100644 --- a/gnu/packages/lego.scm +++ b/gnu/packages/lego.scm @@ -117,7 +117,7 @@ restrictions that stem from limitations of the standard RCX firmware.") (set-file-time file st))) (find-files "." "leocad_.*\\.qm"))) #t))))) - (home-page "http://www.leocad.org") + (home-page "https://www.leocad.org") (synopsis "Create virtual Lego models") (description "LeoCAD is a program for creating virtual LEGO models. It has an From 8abbe5dc8232bb244bb3f615130d2d5d60911778 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 17:49:01 +0100 Subject: [PATCH 010/233] gnu: coq-flocq: Update phase style. * gnu/packages/ocaml.scm (coq-flocq)[arguments]: Substitute INVOKE for SYSTEM* and end all phases with an explicit #t. --- gnu/packages/ocaml.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 9346012390..a831036fa3 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3890,18 +3890,22 @@ cross-platform SDL C library.") (add-before 'configure 'fix-remake (lambda _ (substitute* "remake.cpp" - (("/bin/sh") (which "sh"))))) + (("/bin/sh") (which "sh"))) + #t)) (replace 'build (lambda _ - (zero? (system* "./remake")))) + (invoke "./remake") + #t)) (replace 'check (lambda _ - (zero? (system* "./remake" "check")))) + (invoke "./remake" "check") + #t)) ;; TODO: requires coq-gappa and coq-interval. - ;(zero? (system* "./remake" "check-more")))) + ;(invoke "./remake" "check-more") (replace 'install (lambda _ - (zero? (system* "./remake" "install"))))))) + (invoke "./remake" "install") + #t))))) (home-page "http://flocq.gforge.inria.fr/") (synopsis "Floating-point formalization for the Coq system") (description "Flocq (Floats for Coq) is a floating-point formalization for From 8023f0fd038b0168185431d1a0f2254f38be0bb3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Mar 2018 19:41:05 +0100 Subject: [PATCH 011/233] gnu: gparted: Update to 0.31.0. * gnu/packages/disk.scm (gparted): Update to 0.31.0. --- gnu/packages/disk.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 20549c0cd8..756a9f5451 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Roel Janssen @@ -319,17 +319,17 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "0.30.0") + (version "0.31.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "0jngbsbvg8k8vbpsphqbk8br2cbmxhabbm2c5bmxm2q5zvpr64fk")))) + (base32 "1fh7rpgb4xxdhgyjsirb83zvjfc5mfngb8a1pjbv7r6r6jj4jyrv")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; Tests require a network connection. + `(#:tests? #f ; tests require a network connection #:configure-flags '("--disable-scrollkeeper"))) (inputs `(("util-linux" ,util-linux) From af23710ff522bb4e6cedf841c4fb977d96c9d8b3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 19 Mar 2018 17:13:26 -0400 Subject: [PATCH 012/233] gnu: util-linux: Fix CVE-2018-7738 without grafting. * gnu/packages/linux.scm (util-linux)[replacement]: Remove field. (util-linux-2.31.1): New variable. * gnu/system.scm (%base-packages): Use util-linux-2.31.1. --- gnu/packages/linux.scm | 34 +++++++++++++++++++++++++--------- gnu/system.scm | 4 +++- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6dc45bfced..dc9dfbbd7d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -18,8 +18,8 @@ ;;; Copyright © 2016, 2017, 2018 Marius Bakke ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Carlos Sánchez de La Lama -;;; Copyright © 2016, 2017 Nils Gillmann -;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2017 Mathieu Othacehe @@ -547,7 +547,6 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (replacement util-linux/fixed) (version "2.31") (source (origin (method url-fetch) @@ -635,14 +634,31 @@ block devices, UUIDs, TTYs, and many other tools.") (license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+ license:bsd-4 license:public-domain)))) -(define util-linux/fixed +;; The patch 'util-linux-CVE-2018-7738.patch' fixes a security bug in +;; the Bash completions for `mount`. Since this bug doesn't affect +;; other programs that link against libraries from util-linux, we don't +;; need to use a graft to make the fix available. Instead, users +;; installing util-linux will get the fix in this newer version, and +;; (@ (gnu system) %base-packages) takes care to use this package. +;; This solution was suggested here: +;; +(define-public util-linux-2.31.1 (package (inherit util-linux) - (source - (origin - (inherit (package-source util-linux)) - (patches (append (origin-patches (package-source util-linux)) - (search-patches "util-linux-CVE-2018-7738.patch"))))))) + (name "util-linux") + ;; XXX Don't update this without also updating %base-packages! + (version "2.31.1") + (source (origin + (inherit (package-source util-linux)) + (uri (string-append "mirror://kernel.org/linux/utils/" + name "/v" (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s")) + (patches + (append (origin-patches (package-source util-linux)) + (search-patches "util-linux-CVE-2018-7738.patch"))))))) (define-public ddate (package diff --git a/gnu/system.scm b/gnu/system.scm index eb4b63c428..592a0ea58a 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -515,7 +515,9 @@ explicitly appear in OS." ;; required for basic administrator tasks. (cons* procps psmisc which less zile nano pciutils usbutils - util-linux inetutils isc-dhcp + ;; temporary package to fix CVE-2018-7738 without a graft + util-linux-2.31.1 + inetutils isc-dhcp (@ (gnu packages admin) shadow) ;for 'passwd' ;; wireless-tools is deprecated in favor of iw, but it's still what From db6609bd10f9cc24ffe8d1573435a6f16551ef48 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Mar 2018 01:34:34 +0100 Subject: [PATCH 013/233] gnu: texlive-fonts-amsfonts: Make build reproducible. * gnu/packages/tex.scm (texlive-fonts-amsfonts)[arguments]<#:phases>[build]: Make build reproducible. --- gnu/packages/tex.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 1416a00251..266e42d5aa 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -760,6 +760,8 @@ symbol fonts.") (lambda* (#:key inputs #:allow-other-keys) (let ((mf (assoc-ref inputs "texlive-metafont-base")) (cwd (getcwd))) + ;; Make METAFONT reproducible + (setenv "SOURCE_DATE_EPOCH" "1") ;; Tell mf where to find mf.base (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c")) ;; Tell mf where to look for source files From 0def9120882f90372fd6bb2e80e8330d67745610 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Mar 2018 08:20:38 +0100 Subject: [PATCH 014/233] gnu: libosinfo: Fix URL for usb.ids. Fixes . * gnu/packages/virtualization.scm (libosinfo)[native-inputs]: Fix URL of "usb.ids". --- gnu/packages/virtualization.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 55a92eca0d..37bf09f231 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Andy Patterson ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -280,7 +281,7 @@ server and embedded PowerPC, and S390 guests.") ("usb.ids" ,(origin (method url-fetch) - (uri "http://linux-usb.cvs.sourceforge.net/viewvc/linux-usb/htdocs/usb.ids?revision=1.551") + (uri "https://svn.code.sf.net/p/linux-usb/repo/trunk/htdocs/usb.ids?r=1551") (file-name "usb.ids") (sha256 (base32 From 363ee7a3f4a489c1904616340e2b3db46ffc86c5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 21 Mar 2018 11:52:56 +0100 Subject: [PATCH 015/233] gnu: pigx-chipseq: Update to 0.0.10. * gnu/packages/bioinformatics.scm (pigx-chipseq): Update to 0.0.10. [inputs]: Remove r-rcas and duplicate of snakemake; add r-biocparallel, r-biostrings, r-dplyr, r-genomicalignments, rsamtools, r-s4vectors, r-tibble, r-tidyr, r-htmlwidgets, and r-rmarkdown. --- gnu/packages/bioinformatics.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5fdf7f29d6..0fe0624aff 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12747,7 +12747,7 @@ expression report comparing samples in an easily configurable manner.") (define-public pigx-chipseq (package (name "pigx-chipseq") - (version "0.0.9") + (version "0.0.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" @@ -12755,7 +12755,7 @@ expression report comparing samples in an easily configurable manner.") "/pigx_chipseq-" version ".tar.gz")) (sha256 (base32 - "14ym5fmc16xil584jlhf66ldq38smb6jbcfwnjvqmi7v0vzybdsw")))) + "13w99bkr0w4j28ms0yzpl1x6fkpdqay0vh495q3x20bcilsjwnf1")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; parts of the tests rely on access to the network @@ -12774,22 +12774,30 @@ expression report comparing samples in an easily configurable manner.") ("coreutils" ,coreutils) ("r-minimal" ,r-minimal) ("r-argparser" ,r-argparser) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) ("r-chipseq" ,r-chipseq) ("r-data-table" ,r-data-table) + ("r-dplyr" ,r-dplyr) ("r-genomation" ,r-genomation) + ("r-genomicalignments" ,r-genomicalignments) ("r-genomicranges" ,r-genomicranges) + ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) - ("r-rcas" ,r-rcas) + ("r-s4vectors" ,r-s4vectors) ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) ("r-jsonlite" ,r-jsonlite) ("r-heatmaply" ,r-heatmaply) + ("r-htmlwidgets" ,r-htmlwidgets) ("r-ggplot2" ,r-ggplot2) ("r-plotly" ,r-plotly) + ("r-rmarkdown" ,r-rmarkdown) ("python-wrapper" ,python-wrapper) - ("python-magic" ,python-magic) ("python-pyyaml" ,python-pyyaml) + ("python-magic" ,python-magic) ("python-xlrd" ,python-xlrd) - ("snakemake" ,snakemake) ("trim-galore" ,trim-galore) ("macs" ,macs) ("multiqc" ,multiqc) From ab68cbf2ee1cd408c4914e1f1cd8fe849629e67f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 21 Mar 2018 11:43:00 -0400 Subject: [PATCH 016/233] gnu: rawtherapee: Update to 5.4. * gnu/packages/photo.scm (rawtherapee): Update to 5.4. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 90bc365d05..e15c22d777 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -470,14 +470,14 @@ a complete panorama and stitch any series of overlapping pictures.") (define-public rawtherapee (package (name "rawtherapee") - (version "5.3") + (version "5.4") (source (origin (method url-fetch) (uri (string-append "http://rawtherapee.com/shared/source/" "rawtherapee-" version ".tar.xz")) (sha256 (base32 - "1y1ygxqmqfp4zg8rcgrlfdc1597cyr5zqgp5zjpldhvwdfa9r5cp")))) + "1229hxqq824hcqg1hy2cfglsp7kjbhhis9m33ss39pgmrb1w227d")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no test suite From 0d73f1481bf732147af7751a6ae58114bd3876db Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Mar 2018 16:59:31 +0100 Subject: [PATCH 017/233] gnu: libosinfo: Update usb.ids. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This follows up commit 0def9120882f90372fd6bb2e80e8330d67745610, which tried to use the CVS ID as the SVN revision, which unfortunately doesn't work. * gnu/packages/virtualization.scm (libosinfo)[native-inputs]: Update revision and hash for ‘usb.ids’. --- gnu/packages/virtualization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 37bf09f231..de01e01638 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -281,11 +281,11 @@ server and embedded PowerPC, and S390 guests.") ("usb.ids" ,(origin (method url-fetch) - (uri "https://svn.code.sf.net/p/linux-usb/repo/trunk/htdocs/usb.ids?r=1551") + (uri "https://svn.code.sf.net/p/linux-usb/repo/trunk/htdocs/usb.ids?r=2681") (file-name "usb.ids") (sha256 (base32 - "17rg5i0wbyk289gr8v4kgvnc9q5bidz7ldcvv9x58l083wn16hq3")))))) + "1m6yhvz5k8aqzxgk7xj3jkk8frl1hbv0h3vgj4wbnvnx79qnvz3r")))))) (home-page "https://libosinfo.org/") (synopsis "Operating system information database") (description "libosinfo is a GObject based library API for managing From e2f9847be0d1fcde201b3ec01f68a9cbdda230a0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 9 Mar 2018 02:40:28 +0100 Subject: [PATCH 018/233] gnu: Add tinyscheme. * gnu/packages/scheme.scm (tinyscheme): New public variable. --- gnu/packages/scheme.scm | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index e5db5264ed..37593fe309 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -951,3 +951,70 @@ implementation includes Hobbit, a Scheme-to-C compiler, which can generate C files whose binaries can be dynamically or statically linked with a SCM executable.") (license lgpl3+))) + +(define-public tinyscheme + (package + (name "tinyscheme") + (version "1.41") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + name "-" version "/" name "-" version ".zip")) + (sha256 + (base32 + "0yqma4jrjgj95f3hf30h542x97n8ah234n19yklbqq0phfsa08wf")))) + (build-system gnu-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (invoke "unzip" source) + (chdir (string-append ,name "-" ,version)) + #t)) + (add-after 'unpack 'set-scm-directory + ;; Hard-code ‘our’ init.scm instead of looking in the current + ;; working directory, so invoking ‘scheme’ just works. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (scm (string-append out "/share/" ,name))) + (substitute* "scheme.c" + (("init.scm" all) + (string-append scm "/" all))) + #t))) + (delete 'configure) ; no configure script + (replace 'install + ;; There's no ‘install’ target. Install files manually. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/" + ,name "-" ,version)) + (include (string-append out "/include")) + (lib (string-append out "/lib")) + (scm (string-append out "/share/" ,name))) + (install-file "scheme" bin) + (install-file "Manual.txt" doc) + (install-file "scheme.h" include) + (install-file "libtinyscheme.so" lib) + (install-file "init.scm" scm) + #t)))) + #:tests? #f)) ; no tests + (home-page "http://tinyscheme.sourceforge.net/") + (synopsis "Light-weight interpreter for the Scheme programming language") + (description + "TinyScheme is a light-weight Scheme interpreter that implements as large a +subset of R5RS as was possible without getting very large and complicated. + +It's meant to be used as an embedded scripting interpreter for other programs. +As such, it does not offer an Integrated Development Environment (@dfn{IDE}) or +extensive toolkits, although it does sport a small (and optional) top-level +loop. + +As an embedded interpreter, it allows multiple interpreter states to coexist in +the same program, without any interference between them. Foreign functions in C +can be added and values can be defined in the Scheme environment. Being quite a +small program, it is easy to comprehend, get to grips with, and use.") + (license bsd-3))) ; there are no licence headers From 4102588f85adf2f887e1d700c2efc6fa1f907885 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 21 Mar 2018 12:18:00 -0400 Subject: [PATCH 019/233] gnu: mpd: Update to 0.20.18. * gnu/packages/mpd.scm (mpd): Update to 0.20.18. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 1b06de2360..ba06c2afb2 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -88,7 +88,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.20.17") + (version "0.20.18") (source (origin (method url-fetch) (uri @@ -97,7 +97,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "1hfssmvp4wmy7zh4bl4zv2zqwiddsy77v69w9fh61pqrwbqfgc1c")))) + "0d6lz8ykyvxkl0fwnd9c5vzbbhmjh1yzv7rzhprlzfchmv12sn3a")))) (build-system gnu-build-system) (arguments `(#:phases From b87c76dcaa86d0f90a856a930f461a9c9bc88ec5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 21 Mar 2018 18:23:15 -0400 Subject: [PATCH 020/233] Fix copyright notice for Nils Gillmann. This is a followup to commit af23710ff522bb4e6cedf841c4fb977d96c9d8b3. * gnu/packages/linux.scm: Fix name and email address for Nils Gillmann. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dc9dfbbd7d..0d7dc7161b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2016, 2017, 2018 Marius Bakke ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Carlos Sánchez de La Lama -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Gábor Boskovits From 2fa6f63b1646d9ed93cb7721f9be2767863a80df Mon Sep 17 00:00:00 2001 From: Vasile Dumitrascu Date: Wed, 21 Mar 2018 21:18:04 +0100 Subject: [PATCH 021/233] gnu: emacs-clojure-mode: Update to 5.6.1. * gnu/packages/emacs.scm (emacs-clojure-mode): Update to 5.6.1. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 895b87ebcc..96843fa263 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3508,7 +3508,7 @@ S-expression.") (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") - (version "5.4.0") + (version "5.6.1") (source (origin (method url-fetch) (uri (string-append @@ -3517,7 +3517,7 @@ S-expression.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "117mvjqh4nm8mvmwmmvy4qmkdg23ldlzk08y91g8b8ac8kxwqg81")))) + "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88")))) (build-system emacs-build-system) (native-inputs `(("emacs-dash" ,emacs-dash) From 4dd0f8c0c13e600941543f4161e88d662978819b Mon Sep 17 00:00:00 2001 From: Vasile Dumitrascu Date: Wed, 21 Mar 2018 21:42:54 +0100 Subject: [PATCH 022/233] gnu: emacs-deferred: Update to 0.5.1. * gnu/packages/emacs.scm (emacs-deferred): Update to 0.5.1. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 96843fa263..de0ee358d6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2424,7 +2424,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (define-public emacs-deferred (package (name "emacs-deferred") - (version "0.3.2") + (version "0.5.1") (home-page "https://github.com/kiwanami/emacs-deferred") (source (origin (method git-fetch) @@ -2433,7 +2433,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (commit (string-append "v" version)))) (sha256 (base32 - "0059jy01ni5irpgrj9fa81ayd9j25nvmjjm79ms3210ysx4pgqdr")) + "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h")) (file-name (string-append name "-" version)))) (build-system emacs-build-system) ;; FIXME: Would need 'el-expectations' to actually run tests. From 8ec89c358fabc6ba819b4c0dfc64b971c0761f7b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 21 Mar 2018 20:47:53 -0400 Subject: [PATCH 023/233] gnu: linux-libre@4.14: Update to 4.14.29. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.29. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0d7dc7161b..403186b89b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.28") -(define %linux-libre-4.14-hash "0xg3zsm1yjsvxir8sz7zliz8gcc8d45xh23qyiszl75cfqjl36l3") +(define %linux-libre-4.14-version "4.14.29") +(define %linux-libre-4.14-hash "0y8p9pn40jgk96c10i9px2n6pqim788q7zssngp46glmpwfz4gra") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 4d7c5f6d7e50f9a675b0f9fec39a7a4ac00421f9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 21 Mar 2018 20:48:49 -0400 Subject: [PATCH 024/233] gnu: linux-libre: Update to 4.15.12. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.12. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 403186b89b..5193385414 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.11") -(define %linux-libre-hash "0nrsmw7x5nsc3906dfvfakkibv8pv09r1sf5ckzbkcbkwpyq62h8") +(define %linux-libre-version "4.15.12") +(define %linux-libre-hash "01wpxlw70nzdl8nk3xb8z3m93ads55q56ky56wpsci304jlnrd3v") (define-public linux-libre (make-linux-libre %linux-libre-version From 7fe1432a2ec2b8a7dfbfe882044dadadccd2e2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 22 Mar 2018 11:18:26 +0100 Subject: [PATCH 025/233] services: rottlog: Add /var/log/debug to '%default-rotations'. * gnu/services/admin.scm (%rotated-files): Add "/var/log/debug". --- gnu/services/admin.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index 64d7ae723c..95d055f83d 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,7 +92,8 @@ (define %rotated-files ;; Syslog files subject to rotation. - '("/var/log/messages" "/var/log/secure" "/var/log/maillog")) + '("/var/log/messages" "/var/log/secure" "/var/log/debug" + "/var/log/maillog")) (define %default-rotations (list (log-rotation ;syslog files From ca5b73114f13e6f34ded3c415721939c196e07dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 22 Mar 2018 11:42:22 +0100 Subject: [PATCH 026/233] gnu: shepherd: Update to 0.4.0. * gnu/packages/admin.scm (shepherd): Update to 0.4.0. Remove patches. * gnu/packages/patches/shepherd-close-fds.patch, gnu/packages/patches/shepherd-herd-status-sorted.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/services/admin.scm (%default-rotations): Remove /var/log/shepherd.log. --- gnu/local.mk | 2 - gnu/packages/admin.scm | 8 +- gnu/packages/patches/shepherd-close-fds.patch | 36 --------- .../patches/shepherd-herd-status-sorted.patch | 79 ------------------- gnu/services/admin.scm | 2 +- 5 files changed, 4 insertions(+), 123 deletions(-) delete mode 100644 gnu/packages/patches/shepherd-close-fds.patch delete mode 100644 gnu/packages/patches/shepherd-herd-status-sorted.patch diff --git a/gnu/local.mk b/gnu/local.mk index 686595cd58..b0196c7313 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1086,8 +1086,6 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/shadow-CVE-2018-7169.patch \ - %D%/packages/patches/shepherd-close-fds.patch \ - %D%/packages/patches/shepherd-herd-status-sorted.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7a9f79ede0..6ed1c322fa 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -159,16 +159,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.3.2") + (version "0.4.0") (source (origin (method url-fetch) - (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-" + (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb")) - (patches (search-patches "shepherd-close-fds.patch" - "shepherd-herd-status-sorted.patch")))) + "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) diff --git a/gnu/packages/patches/shepherd-close-fds.patch b/gnu/packages/patches/shepherd-close-fds.patch deleted file mode 100644 index 2078b15265..0000000000 --- a/gnu/packages/patches/shepherd-close-fds.patch +++ /dev/null @@ -1,36 +0,0 @@ -commit 3e346a2a84b099766ea8a3a4a4549f6172483062 -Author: Ludovic Courtès -Date: Sun Dec 3 22:30:03 2017 +0100 - - service: In 'exec-command', close open ports before 'execl'. - - This gets rid of annoying "Bad file descriptor" warnings from shepherd. - - * modules/shepherd/service.scm (exec-command): In 'loop', invoke - 'close-port' and the ports returned by (fdes->ports i). - -diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm -index b2d8bc5..0ad28a0 100644 ---- a/modules/shepherd/service.scm -+++ b/modules/shepherd/service.scm -@@ -1,5 +1,5 @@ - ;; service.scm -- Representation of services. --;; Copyright (C) 2013, 2014, 2015, 2016 Ludovic Courtès -+;; Copyright (C) 2013, 2014, 2015, 2016, 2017 Ludovic Courtès - ;; Copyright (C) 2002, 2003 Wolfgang Järling - ;; Copyright (C) 2014 Alex Sassmannshausen - ;; Copyright (C) 2016 Alex Kost -@@ -744,6 +744,14 @@ false." - - (let loop ((i 3)) - (when (< i max-fd) -+ ;; First try to close any ports associated with file descriptor I. -+ ;; Otherwise the finalization thread might get around to closing -+ ;; those ports eventually, which will raise an EBADF exception (on -+ ;; 2.2), leading to messages like "error in the finalization -+ ;; thread: Bad file descriptor". -+ (for-each (lambda (port) -+ (catch-system-error (close-port port))) -+ (fdes->ports i)) - (catch-system-error (close-fdes i)) - (loop (+ i 1))))) diff --git a/gnu/packages/patches/shepherd-herd-status-sorted.patch b/gnu/packages/patches/shepherd-herd-status-sorted.patch deleted file mode 100644 index c6b9d870eb..0000000000 --- a/gnu/packages/patches/shepherd-herd-status-sorted.patch +++ /dev/null @@ -1,79 +0,0 @@ -From cc9564586729a5bb90dd5d2722b543fdde9ab821 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= -Date: Sun, 4 Feb 2018 21:56:36 +0100 -Subject: [PATCH] herd: 'herd status' now sorts the result. - -Partly fixes . -Reported by Mark H Weaver . - -Previously 'tests/basic.sh' could occasionally fail on: - - test "`$herd status`" == "$pristine_status" - -because the order of stopped services were not always the same. Indeed, -those services come from 'service-list' on the shepherd side, which uses -'hash-fold' to traverse the service hash table, and the traversal order -of 'hash-fold' is undefined. - -* modules/shepherd/scripts/herd.scm (display-status-summary)[service -+;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès - ;; Copyright (C) 2002, 2003 Wolfgang Jährling - ;; - ;; This file is part of the GNU Shepherd. -@@ -46,13 +46,17 @@ of pairs." - - (define (display-status-summary services) - "Display a summary of the status of all of SERVICES." -+ (define (servicestring (service-canonical-name service1)) -+ (symbol->string (service-canonical-name service2)))) -+ - (define (display-services header bullet services) - (unless (null? services) - (display header) - (for-each (lambda (service) - (format #t " ~a ~a~%" bullet - (service-canonical-name service))) -- services))) -+ (sort services service -+;; Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès - ;; Copyright (C) 2002, 2003 Wolfgang Järling - ;; Copyright (C) 2014 Alex Sassmannshausen - ;; Copyright (C) 2016 Alex Kost -@@ -949,7 +949,8 @@ Return #f if service is not found." - %services)) - - (define (service-list) -- "Return the list of services currently defined." -+ "Return the list of services currently defined. Note: The order of the list -+returned in unspecified." - (hash-fold (lambda (name services result) - (let ((service (lookup-canonical-service name services))) - (if service --- -2.16.1 - diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index 95d055f83d..aaf0b904fd 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -105,7 +105,7 @@ read))) (kill pid SIGHUP)))) (log-rotation - (files '("/var/log/shepherd.log" "/var/log/guix-daemon.log"))))) + (files '("/var/log/guix-daemon.log"))))) (define (log-rotation->config rotation) "Return a string-valued gexp representing the rottlog configuration snippet From b75e1df663df6e04b92d2bf2db39d2ddf72fd545 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 10 Mar 2018 23:09:56 -0500 Subject: [PATCH 027/233] doc: Add index entries for realtime and jackd in the manual. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Base Services): Add realtime and jackd indices to the `pam-limits-service' service, as the examples shows how they can be configured. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 7219ef4d0f..7617d7fe16 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10396,6 +10396,8 @@ to add @var{device} to the kernel's entropy pool. The service will fail if @cindex session limits @cindex ulimit @cindex priority +@cindex realtime +@cindex jackd @deffn {Scheme Procedure} pam-limits-service [#:limits @code{'()}] Return a service that installs a configuration file for the From 7624300c84f404cdb4aa7473ff8cbcf4392eefb6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 4 Mar 2018 22:50:04 -0500 Subject: [PATCH 028/233] gnu: Add boost-sync. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/boost.scm (boost-sync): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/boost.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index f4ba82810a..d347674abb 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +27,10 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages icu4c) @@ -124,6 +128,38 @@ across a broad spectrum of applications.") (base32 "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap")))))) +(define-public boost-sync + (let ((commit "c72891d9b90e2ceb466ec859f640cd012b2d8709") + (version "1.55") + (revision "1")) + (package + (name "boost-sync") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/boostorg/sync.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "197mp5z048vz5kv1m4v3jm447l2gqsyv0rbfz11dz0ns343ihbyx")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source"))) + (copy-recursively (string-append source "/include") + (string-append %output "/include")))))) + (home-page "https://github.com/boostorg/sync") + (synopsis "Boost.Sync library") + (description "The Boost.Sync library provides mutexes, semaphores, locks +and events and other thread related facilities. Boost.Sync originated from +Boost.Thread.") + (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"))))) + (define-public mdds (package (name "mdds") From 6f976d28803512680f5babeddfecbd00866ac03e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 5 Mar 2018 20:15:35 -0500 Subject: [PATCH 029/233] gnu: yaml-cpp: Update to 0.6.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/serialization.scm (yaml-cpp): Update to 0.6.1. Signed-off-by: Ludovic Courtès --- gnu/packages/serialization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index f63ab8bd5b..21ab341e5a 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -248,7 +248,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (define-public yaml-cpp (package (name "yaml-cpp") - (version "0.5.3") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append @@ -256,7 +256,7 @@ that implements both the msgpack and msgpack-rpc specifications.") "yaml-cpp-" version ".tar.gz")) (sha256 (base32 - "1ck7jk0wjfigrf4cgcjqsir4yp1s6vamhhxhpsgfvs46pgm5pk6y")))) + "038ddf771d1zrdfiwqzq2lsjdis1fxbaasbdja2w9f1av3k3gv15")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) From 247384d069e2dee6bf1c7d7876490746673c3a16 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 4 Mar 2018 23:03:26 -0500 Subject: [PATCH 030/233] gnu: Add supercollider. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/audio.scm (supercollider): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/audio.scm | 111 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d35c90537a..9a63beddee 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018 okapi +;;; Copyright © 2018 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,6 +63,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnunet) ; libmicrohttpd #:use-module (gnu packages gperf) + #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages ncurses) #:use-module (gnu packages qt) @@ -75,6 +77,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) + #:use-module (gnu packages serialization) #:use-module (gnu packages telephony) #:use-module (gnu packages tls) #:use-module (gnu packages video) @@ -2053,6 +2056,114 @@ supporting silence processing for automatic pause, file splitting, and background file post-processing.") (license license:gpl2+))) +(define-public supercollider + (package + (name "supercollider") + (version "3.9.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/supercollider/supercollider" + "/releases/download/Version-" version + "/SuperCollider-" version "-Source-linux.tar.bz2")) + (sha256 + (base32 + "150fgnjcmb06r3pa3mbsvb4iwnqlimjwdxgbs6p55zz6g8wbln7a")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" + "-DSC_EL=off") ;scel is packaged individually as + ;emacs-scel. + #:modules ((guix build utils) + (guix build cmake-build-system) + (ice-9 ftw)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'rm-bundled-libs + (lambda _ + ;; The build system doesn't allow us to unbundle the following + ;; libraries. hidapi is also heavily patched and upstream not + ;; actively maintained. + (let ((keep-dirs '("nova-simd" "nova-tt" "hidapi" "TLSF-2.4.6" + "oscpack_1_1_0" "." ".."))) + (with-directory-excursion "./external_libraries" + (for-each + delete-file-recursively + (scandir "." + (lambda (x) + (and (eq? (stat:type (stat x)) 'directory) + (not (member (basename x) keep-dirs)))))))) + #t)) + ;; Some tests are broken (see: + ;; https://github.com/supercollider/supercollider/issues/3555 and + ;; https://github.com/supercollider/supercollider/issues/1736 + (add-after 'rm-bundled-libs 'disable-broken-tests + (lambda _ + (substitute* "testsuite/supernova/CMakeLists.txt" + (("server_test.cpp") + "") + (("perf_counter_test.cpp") + "")) + (delete-file "testsuite/supernova/server_test.cpp") + (delete-file "testsuite/supernova/perf_counter_test.cpp") + (substitute* "testsuite/CMakeLists.txt" + (("add_subdirectory\\(sclang\\)") + "")) + (delete-file "testsuite/sclang/CMakeLists.txt") + #t)) + ;; TODO: Remove after version 3.9.2 is released + ;; (see: https://github.com/supercollider/supercollider/pull/3558). + (add-after 'disable-broken-tests 'apply-system-yaml-cpp-fix + (lambda _ + ;; cmake: correctly include yaml-cpp (commit f82cec5ae). + (substitute* "editors/sc-ide/CMakeLists.txt" + (("external_libraries/boost\\)$") + "external_libraries/boost) +include_directories(${YAMLCPP_INCLUDE_DIR})") + ((" yaml") + " ${YAMLCPP_LIBRARY}")) + ;; set YAMLCPP_LIBRARY and YAMLCPP_INCLUDE_DIR if not using + ;; system (commit 031922987). + (substitute* "external_libraries/CMakeLists.txt" + (("set_property\\( TARGET yaml PROPERTY FOLDER 3rdparty \\)") + "set_property( TARGET yaml PROPERTY FOLDER 3rdparty ) +set(YAMLCPP_LIBRARY yaml) +set(YAMLCPP_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/\ +external_libraries/yaml-cpp/include)")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("jack" ,jack-1) + ("libsndfile" ,libsndfile) + ("fftw" ,fftw) + ("libxt" ,libxt) + ("readline" ,readline) ;readline support for sclang's CLI + ("alsa" ,alsa-lib) ;for sclang's MIDI interface + ("eudev" ,eudev) ;for user interactions with devices + ("avahi" ,avahi) ;zeroconf service discovery support + ("icu4c" ,icu4c) + ("boost" ,boost) + ("boost-sync" ,boost-sync) + ("yaml-cpp" ,yaml-cpp) + ("qtbase" ,qtbase) ;IDE support + ("qtwebkit" ,qtwebkit) + ("qtsensors" ,qtsensors) + ("qtdeclarative" ,qtdeclarative) + ("qtlocation" ,qtlocation))) + (home-page "https://github.com/supercollider/supercollider") + (synopsis "Synthesis engine and programming language") + (description "SuperCollider is a synthesis engine (@code{scsynth} or +@code{supernova}) and programming language (@code{sclang}). It can be used +for experimenting with sound synthesis and algorithmic composition. + +SuperCollider requires jackd to be installed in your user profile and your +user must be allowed to access the realtime features of the kernel. Search +for \"realtime\" in the index of the Guix manual to learn how to achieve this +using GuixSD.") + (license license:gpl2+))) + (define-public raul (package (name "raul") From c1cd155aa8afa17e60491c85e8f226f99257d395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 22 Mar 2018 12:51:23 +0100 Subject: [PATCH 031/233] publish: Add test for non-GET queries. * tests/publish.scm ("non-GET query"): New test. --- tests/publish.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/publish.scm b/tests/publish.scm index 8c88a8c93d..a4a52a4efe 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -483,4 +483,12 @@ FileSize: ~a~%" (let ((uri (publish-uri "/log/does-not-exist"))) (response-code (http-get uri)))) +(test-equal "non-GET query" + '(200 404) + (let ((path (string-append "/" (store-path-hash-part %item) + ".narinfo"))) + (map response-code + (list (http-get (publish-uri path)) + (http-post (publish-uri path)))))) + (test-end "publish") From 04d2a16c4ffd2f3ddfbaf3848093424228e7d918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 22 Mar 2018 12:54:31 +0100 Subject: [PATCH 032/233] publish: Always build a new derivation for the "/log/NAME" test. Fixes . Reported by Martin Castillo . * tests/publish.scm ("/log/NAME"): Use #$(random-text) in the builder. --- tests/publish.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/publish.scm b/tests/publish.scm index a4a52a4efe..1ed8308076 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -464,7 +464,7 @@ FileSize: ~a~%" (lambda (port) (display "Hello, build log!" (current-error-port)) - (display "" port))))))) + (display #$(random-text) port))))))) (build-derivations %store (list drv)) (let* ((response (http-get (publish-uri (string-append "/log/" From 5da2a934b4ec08c3c13b3e1255e61ca5d2a4a695 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Mar 2018 14:02:11 +0100 Subject: [PATCH 033/233] gnu: python-cryptography: Update to 2.2.1. * gnu/packages/python-crypto.scm (python-cryptography-vectors, python-cryptography): Update to 2.2.1. --- gnu/packages/python-crypto.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index a6869c9695..aa93e4d611 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -281,14 +281,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "03cpmi5azvipphmva7dxv8k3w7ffblvn5452rs5r6smdhxyiqq6g")))) + "1zk2shzpa9kw8fgwpsbdm5cgvbjd05vh2q6r0x9jlzq5vvjg4z5y")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -303,14 +303,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0j2gwr4qxvskip77z4n9nqvr4vi243n3bzij18ay4drc6sg2g87m")))) + "1lxj3kqp552c715p0hzixpdhnz4ggd3jb7zz15q8dw534b9xknnx")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) From cbcbb10a63edd3cab85db375074c56d12e15abd8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Mar 2018 14:14:09 +0100 Subject: [PATCH 034/233] gnu: certbot: Update to 0.22.2. * gnu/packages/tls.scm (python-acme, certbot): Update to 0.22.2. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e349cff233..f56d5b27fa 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -512,13 +512,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.22.1") + (version "0.22.2") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0cbw062xmaqhmdb5d04d2xs9aacmq1i7yvnd37gw1d71qgxlnmsz")))) + "1d5d4w88aj1i8fyrs44dapmiqbmgz4bjgryn8k3mnggmd6ihxk8f")))) (build-system python-build-system) (arguments `(#:phases @@ -567,7 +567,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "1d9abvlwi2d4d991dakds7jyrzxcsqkl13sd0clkriav9cdqwhv4")))) + "1vsb8qqghxrwxr3d2l0d5cgdk0pz7b3f76bx3zrrg0z7jf967qz6")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) From 0e4d067f9eb5c493270930b95e4d5c9dd940657f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Mar 2018 14:16:36 +0100 Subject: [PATCH 035/233] gnu: talloc: Update to 2.1.12. * gnu/packages/samba.scm (talloc): Update to 2.1.12. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 3b1c2d4885..e2e8c5e093 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -233,14 +233,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.11") + (version "2.1.12") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "1lzfxv2zjxap5snf9ydl1bqgjpz0kgkq7n644f8rkbx0arav77k3")))) + "0jv0ri9vj93fczzgl7rn7xvnfgl2kfx4x85cr8h8v52yh7v0qz4q")))) (build-system gnu-build-system) (arguments '(#:phases From 069d0b7f913c878559cf519715436423cb03a389 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Mar 2018 14:30:19 +0100 Subject: [PATCH 036/233] gnu: nmap: Update to 7.70. * gnu/packages/admin.scm (nmap): Update to 7.70. [source](snippet): End on #t. [inputs]: Add ZLIB. --- gnu/packages/admin.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6ed1c322fa..6a7bed3892 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1736,30 +1736,34 @@ done with the @code{auditctl} utility.") (define-public nmap (package (name "nmap") - (version "7.60") + (version "7.70") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "08bga42ipymmbxd7wy4x5sl26c0ir1fm3n9rc6nqmhx69z66wyd8")) + "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4")) (modules '((guix build utils))) (snippet - '(map delete-file-recursively - ;; Remove bundled lua, pcap, and pcre libraries. - ;; FIXME: Remove bundled liblinear once packaged. - '("liblua" - "libpcap" - "libpcre" - ;; Remove pre-compiled binares. - "mswin32"))))) + '(begin + (map delete-file-recursively + ;; Remove bundled lua, pcap, and pcre libraries. + ;; FIXME: Remove bundled liblinear once packaged. + '("liblua" + "libpcap" + "libpcre" + ;; Remove pre-compiled binares. + "mswin32")) + #t)))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("libpcap" ,libpcap) ("pcre" ,pcre) ("lua" ,lua) + ("zlib" ,zlib) ;for NSE compression support + ;; For 'ndiff'. ("python" ,python-2))) From 63c295d2f55f58c3a8d1dacd55ecb1796f8f7eec Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Mar 2018 14:31:17 +0100 Subject: [PATCH 037/233] gnu: nginx: Update to 1.13.10. * gnu/packages/web.scm (nginx): Update to 1.13.10. [arguments]: Update kernel version to match glibc minimum requirement. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8f9d5f8b5b..c100ae8363 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -186,14 +186,14 @@ Interface} specification.") (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.13.9") + (version "1.13.10") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0hpsyxpxj89p5vrzv9p1hp7xjbnj5c1w6fdy626ycvsiay4a3bjz")))) + "11a8m4lhy6h8mmrsakn73pd5gcyvhxpz1xvlr103rglh9l884q9k")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -220,7 +220,7 @@ Interface} specification.") ;; --crossbuild option to avoid customizing for the ;; kernel version on the build machine. ,(let ((system "Linux") ; uname -s - (release "2.6.32") ; uname -r + (release "3.2.0") ; uname -r ;; uname -m (machine (match (or (%current-target-system) (%current-system)) From 618050a126aa8822ab889bbb6ac7ca54d7734c51 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Mar 2018 17:05:42 +0100 Subject: [PATCH 038/233] gnu: r-bookdown: Do not propagate ghc-pandoc. This package propagates r-rmarkdown, which propagates its own variant of Pandoc. * gnu/packages/bioinformatics.scm (r-bookdown)[propagated-inputs]: Remove ghc-pandoc. --- gnu/packages/bioinformatics.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0fe0624aff..2a3b311e65 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6871,8 +6871,7 @@ also known as views, in a controlled vocabulary.") ("r-rmarkdown" ,r-rmarkdown) ("r-tinytex" ,r-tinytex) ("r-yaml" ,r-yaml) - ("r-xfun" ,r-xfun) - ("ghc-pandoc" ,ghc-pandoc))) + ("r-xfun" ,r-xfun))) (home-page "https://github.com/rstudio/bookdown") (synopsis "Authoring books and technical documents with R markdown") (description "This package provides output formats and utilities for From 10e2ee7887487be628f9f3e136c9f543608a36a9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Mar 2018 12:01:16 -0400 Subject: [PATCH 039/233] gnu: darktable: Update to 2.4.2. * gnu/packages/photo.scm (darktable): Update to 2.4.2. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index e15c22d777..1a3b895b18 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -330,7 +330,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "2.4.0") + (version "2.4.2") (source (origin (method url-fetch) (uri (string-append @@ -339,7 +339,7 @@ photographic equipment.") version "/darktable-" version ".tar.xz")) (sha256 (base32 - "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx")))) + "10asz918kv2248px3w9bn5k8cfrad5xrci58x9y61l0yf5hcpk0r")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; There are no tests. From 5e56dfadba84c4bf11c89274a0c1f419e729046a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Mar 2018 12:00:58 -0400 Subject: [PATCH 040/233] gnu: krita: Update to 4.0.0. * gnu/packages/kde.scm (krita): Update to 4.0.0. --- gnu/packages/kde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 812f63cb45..05f2e8e8d5 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.") (define-public krita (package (name "krita") - (version "3.3.3") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append @@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y")))) + "0dh3bm90mxrbyvdp7x7hcf5li48j7ppkb44lls65lpn6c59r5waz")))) (build-system cmake-build-system) (arguments `(#:tests? #f From 282e48eae92b1988fc7fddbf206030ccf1623728 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Thu, 22 Mar 2018 18:24:57 +0100 Subject: [PATCH 041/233] gnu: node: Update to 9.9.0. * gnu/packages/node.scm (node): Update to 9.9.0. --- gnu/packages/node.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 976d0c048a..05cd553741 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -43,14 +43,14 @@ (define-public node (package (name "node") - (version "9.8.0") + (version "9.9.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "1mjr1rm5w26c0yb4zq6z5yv3zbvqk18lwbswhwn1sha8hapinjp8")) + "1nmbbrdxnl02wrnp0cv92wpz44raznm7xrjlwv9627bwphrcyx77")) (modules '((guix build utils))) (snippet `(begin From ec40a0501f08c9d95318612d7c67aed13e509287 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 13 Mar 2018 03:20:53 +0100 Subject: [PATCH 042/233] gnu: Add lyx. * gnu/packages/patches/lyx-2.2.3-fix-test.patch: New file. * gnu/local.mk: Add it. * gnu/packages/tex.scm (lyx): New variable. --- gnu/local.mk | 1 + gnu/packages/patches/lyx-2.2.3-fix-test.patch | 13 +++ gnu/packages/tex.scm | 92 +++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 gnu/packages/patches/lyx-2.2.3-fix-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index b0196c7313..26d2369a5a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -901,6 +901,7 @@ dist_patch_DATA = \ %D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \ + %D%/packages/patches/lyx-2.2.3-fix-test.patch \ %D%/packages/patches/mailutils-uninitialized-memory.patch \ %D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/mars-install.patch \ diff --git a/gnu/packages/patches/lyx-2.2.3-fix-test.patch b/gnu/packages/patches/lyx-2.2.3-fix-test.patch new file mode 100644 index 0000000000..10b7d2a3a9 --- /dev/null +++ b/gnu/packages/patches/lyx-2.2.3-fix-test.patch @@ -0,0 +1,13 @@ +See https://www.lyx.org/trac/ticket/10800#comment:17 +diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx +index feff755cd2..2c7f2ace5c 100644 +--- a/src/tex2lyx/test/test-structure.lyx.lyx ++++ b/src/tex2lyx/test/test-structure.lyx.lyx +@@ -212,7 +212,7 @@ This causes the + \begin_inset Flex Flex:Strong + status collapsed + +-\begin_layout Standard ++\begin_layout Plain Layout + logikalmkup + \end_layout diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 266e42d5aa..c8ea45aee4 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2018 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix build-system trivial) @@ -38,8 +40,10 @@ #:use-module (guix git-download) #:use-module (guix svn-download) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages gd) @@ -47,6 +51,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages lua) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pdf) @@ -4263,3 +4268,90 @@ develop documents with LaTeX, in a single application.") plain TeX, and Eplain, originally written by Paul Abrahams, Kathryn Hargreaves, and Karl Berry.") (license license:fdl1.3+))) + +(define-public lyx + (package + (name "lyx") + (version "2.2.3") + (source (origin + (method url-fetch) + (uri (string-append "http://ftp.lyx.org/pub/lyx/stable/2.2.x/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0xvaz0i371nn2ndinc0d3ywj76ivb62649a4sdgwbivisiahd2fj")) + (patches (search-patches "lyx-2.2.3-fix-test.patch")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "3rdparty") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags `("-DLYX_USE_QT=QT5" + "-DLYX_EXTERNAL_BOOST=1" + "-DLYX_INSTALL=1" + "-DLYX_RELEASE=1" + ,(string-append "-DLYX_INSTALL_PREFIX=" + (assoc-ref %outputs "out") + ;; Exact name and level is necessary. + "/lyx2.2")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-python + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/support/os.cpp") + (("\"python ") + (string-append "\"" + (assoc-ref inputs "python-2") + "/bin/python "))) + #t)) + (add-after 'patch-python 'patch-installer + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("/usr/local/man/man1") + (string-append (assoc-ref outputs "out") + "/share/man/man1"))) + #t)) + (add-after 'patch-python 'patch-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "lib/lyx.desktop.in" + (("Exec=") + (string-append "Exec=" + (assoc-ref outputs "out") + "/"))) + #t)) + (add-before 'check 'setenv-check + (lambda _ + (setenv "LYX_DIR_22x" (string-append (getcwd) "/../lyx-" + ,version "/lib")) + #t)) + (add-after 'install 'install-symlinks + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (symlink "../lyx2.2/bin/lyx2.2" + (string-append out "/bin/lyx2.2")) + #t)))))) + (inputs + `(("boost" ,boost) + ("hunspell" ,hunspell) ; Note: Could also use aspell instead. + ("libx11" ,libx11) + ("python-2" ,python-2) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("zlib" ,zlib))) + (propagated-inputs + `(("texlive" ,texlive))) ; article.cls is in texmf-dist. + (native-inputs + `(("python-2" ,python-2) + ("pkg-config" ,pkg-config) + ("bc" ,bc))) + (home-page "http://www.lyx.org/") + (synopsis "Document preparation system with GUI") + (description "LyX is a document preparation system. It excels at letting +you create complex technical and scientific articles with mathematics, +cross-references, bibliographies, indexes, etc. It is very good for working +with documents of any length in which the usual processing abilities are +required: automatic sectioning and pagination, spell checking and so forth.") + (license license:gpl2+))) From b06e94d310b71a2cc044b4aae02a90eded0005b2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Mar 2018 04:48:43 -0400 Subject: [PATCH 043/233] gnu: linux-libre@4.4: Update to 4.4.123. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.123. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 5193385414..c035663464 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.122" - "1ayilv7474vsif3jpb723jbcy4kymv1fpdr96c1g743bad1wkqqq" + (make-linux-libre "4.4.123" + "1ldc7pz4irngk204xsca2cy0ihlqinimn0hg20aqnbh48cw72iyg" %intel-compatible-systems #:configuration-file kernel-config)) From 77f2ced1a68edf3c676dcc1b81f856cae072b163 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Mar 2018 04:49:15 -0400 Subject: [PATCH 044/233] gnu: linux-libre@4.9: Update to 4.9.89. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.89. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c035663464..b85ee67ee8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.88" - "0qlhd8xw3g00i7krpfndkwxzjszk067h26qsxxsszvxyx2s6gp4x" + (make-linux-libre "4.9.89" + "14kk1mj0iml1x1vq1m625v2nyx4z8ixny87dv36sszl556idzpqp" %intel-compatible-systems #:configuration-file kernel-config)) From dd8237b6c3012b8576e19631a4c11484d0ee9cfa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Mar 2018 15:17:11 +0100 Subject: [PATCH 045/233] gnu: coq-flocq: Use predictable source URI. * gnu/packages/ocaml.scm (coq-flocq)[source]: Use predictable URI. --- gnu/packages/ocaml.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index a831036fa3..00d1d1c56a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3871,8 +3871,9 @@ cross-platform SDL C library.") (version "2.6.0") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/file" - "/37054/flocq-" version ".tar.gz")) + ;; Use the ‘Latest version’ link for a stable URI across releases. + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "latestfile/2228/flocq-" version ".tar.gz")) (sha256 (base32 "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3")))) From ee789a411cc8e10b2558f5c199ba437fe83074d7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Mar 2018 15:19:00 +0100 Subject: [PATCH 046/233] gnu: parallel: Update to 20180322. * gnu/packages/parallel.scm (parallel): Update to 20180322. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index c110fab086..66d9e933e7 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -47,7 +47,7 @@ (define-public parallel (package (name "parallel") - (version "20180222") + (version "20180322") (source (origin (method url-fetch) @@ -55,7 +55,7 @@ version ".tar.bz2")) (sha256 (base32 - "1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8")))) + "15v46pv4z98xm3fkwy7335faw4r7pilrxp4xis5a4zi4319sv2b3")))) (build-system gnu-build-system) (arguments `(#:phases From cd4c6039eab52a1ced748ee0dd1c33674799fbe8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 08:56:30 +0100 Subject: [PATCH 047/233] gnu: fribidi: Update to 1.0.2. * gnu/packages/fribidi.scm (fribidi): Update to 1.0.2. [arguments]: Disable building documentation for now. --- gnu/packages/fribidi.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index c8a91be4ef..0368779240 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +27,7 @@ (define-public fribidi (package (name "fribidi") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) @@ -35,9 +36,11 @@ "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "1r3ll7apx4b8bhvdkwi71y06df9kvr4q3asvajswvdlh0pbq5cf1")))) - + (base32 "0aw3i1g96axbr96flw4543dvhb8zlgb0w8314ks6cq2g1i9invdx")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-docs"))) ; TODO: enable; requires c2man (synopsis "Implementation of the Unicode bidirectional algorithm") (description "GNU FriBidi is an implementation of the Unicode Bidirectional From b1be07cf0441948f4d970873ea6d0e5521c9bd4a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 09:22:32 +0100 Subject: [PATCH 048/233] gnu: libgee: Update to 0.20.1. * gnu/packages/gnome.scm (libgee): Update to 0.20.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0bb1f8c6bc..9841e11863 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4357,7 +4357,7 @@ wraps things up in a developer-friendly way.") (define-public libgee (package (name "libgee") - (version "0.20.0") + (version "0.20.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4365,7 +4365,7 @@ wraps things up in a developer-friendly way.") name "-" version ".tar.xz")) (sha256 (base32 - "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11")))) + "0c26x8gi3ivmhlbqcmiag4jwrkvcy28ld24j55nqr3jikb904a5v")))) (build-system gnu-build-system) (arguments `(#:phases From 7aff5d025d65c0fa44e6f897471b2b8b78b98738 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 13:57:29 +0100 Subject: [PATCH 049/233] gnu: git: Update to 2.16.3. * gnu/packages/version-control.scm (git): Update to 2.16.3. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5047d8d4d0..eb320c8b7a 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -139,14 +139,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git:src' input to cgit needs ;; to be updated as well. - (version "2.16.2") + (version "2.16.3") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "05y7480f2p7fkncbhf08zz56jbykcp0ia5gl6y3djs0lsa5mfq2m")))) + "0j1dwvg5llnj3g0fp8hdgpms4hp90qw9f6509vqw30dhwplrjpfn")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -159,7 +159,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "01fbmfsqcv7jmyh80yg3fv5jwv78zvxys9b0fd6bdcy89h9ybvj2")))))) + "15ckcia3bdbn1dpwlh3fifd8fzk38l1pdgxsf2yl8l8xd1z8jqaz")))))) (inputs `(("curl" ,curl) ("expat" ,expat) From 1ae16033f34cebe802023922436883867010850f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Mar 2018 18:21:28 +0100 Subject: [PATCH 050/233] gexp: 'gexp->script' and 'gexp->file' have a new #:module-path parameter. * guix/gexp.scm (load-path-expression): Add 'path' optional parameter. (gexp->script): Add #:module-path and honor it. (gexp->file): Likewise. * tests/gexp.scm ("gexp->script #:module-path"): New test. * doc/guix.texi (G-Expressions): Update accordingly. --- doc/guix.texi | 10 +++++++--- guix/gexp.scm | 35 +++++++++++++++++++++++------------ tests/gexp.scm | 34 +++++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 16 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7617d7fe16..b765bcd112 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5150,9 +5150,11 @@ is a list of additional arguments to pass to @code{gexp->derivation}. This is the declarative counterpart of @code{gexp->derivation}. @end deffn -@deffn {Monadic Procedure} gexp->script @var{name} @var{exp} +@deffn {Monadic Procedure} gexp->script @var{name} @var{exp} @ + [#:guile (default-guile)] [#:module-path %load-path] Return an executable script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s imported modules in its search path. +Look up @var{exp}'s modules in @var{module-path}. The example below builds a script that simply invokes the @command{ls} command: @@ -5186,11 +5188,13 @@ This is the declarative counterpart of @code{gexp->script}. @end deffn @deffn {Monadic Procedure} gexp->file @var{name} @var{exp} @ - [#:set-load-path? #t] + [#:set-load-path? #t] [#:module-path %load-path] @ + [#:guile (default-guile)] Return a derivation that builds a file @var{name} containing @var{exp}. When @var{set-load-path?} is true, emit code in the resulting file to set @code{%load-path} and @code{%load-compiled-path} to honor -@var{exp}'s imported modules. +@var{exp}'s imported modules. Look up @var{exp}'s modules in +@var{module-path}. The resulting file holds references to all the dependencies of @var{exp} or a subset thereof. diff --git a/guix/gexp.scm b/guix/gexp.scm index 8dea022e04..4a2e5a682e 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -1116,11 +1116,14 @@ they can refer to each other." (module-ref (resolve-interface '(gnu packages guile)) 'guile-2.2)) -(define (load-path-expression modules) +(define* (load-path-expression modules #:optional (path %load-path)) "Return as a monadic value a gexp that sets '%load-path' and -'%load-compiled-path' to point to MODULES, a list of module names." - (mlet %store-monad ((modules (imported-modules modules)) - (compiled (compiled-modules modules))) +'%load-compiled-path' to point to MODULES, a list of module names. MODULES +are searched for in PATH." + (mlet %store-monad ((modules (imported-modules modules + #:module-path path)) + (compiled (compiled-modules modules + #:module-path path))) (return (gexp (eval-when (expand load eval) (set! %load-path (cons (ungexp modules) %load-path)) @@ -1129,11 +1132,13 @@ they can refer to each other." %load-compiled-path))))))) (define* (gexp->script name exp - #:key (guile (default-guile))) + #:key (guile (default-guile)) + (module-path %load-path)) "Return an executable script NAME that runs EXP using GUILE, with EXP's -imported modules in its search path." +imported modules in its search path. Look up EXP's modules in MODULE-PATH." (mlet %store-monad ((set-load-path - (load-path-expression (gexp-modules exp)))) + (load-path-expression (gexp-modules exp) + module-path))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -1148,12 +1153,16 @@ imported modules in its search path." (write '(ungexp set-load-path) port) (write '(ungexp exp) port) - (chmod port #o555))))))) + (chmod port #o555)))) + #:module-path module-path))) -(define* (gexp->file name exp #:key (set-load-path? #t)) +(define* (gexp->file name exp #:key + (set-load-path? #t) + (module-path %load-path)) "Return a derivation that builds a file NAME containing EXP. When SET-LOAD-PATH? is true, emit code in the resulting file to set '%load-path' -and '%load-compiled-path' to honor EXP's imported modules." +and '%load-compiled-path' to honor EXP's imported modules. Lookup EXP's +modules in MODULE-PATH." (match (if set-load-path? (gexp-modules exp) '()) (() ;zero modules (gexp->derivation name @@ -1164,13 +1173,15 @@ and '%load-compiled-path' to honor EXP's imported modules." #:local-build? #t #:substitutable? #f)) ((modules ...) - (mlet %store-monad ((set-load-path (load-path-expression modules))) + (mlet %store-monad ((set-load-path (load-path-expression modules + module-path))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) (lambda (port) (write '(ungexp set-load-path) port) (write '(ungexp exp) port)))) + #:module-path module-path #:local-build? #t #:substitutable? #f))))) diff --git a/tests/gexp.scm b/tests/gexp.scm index 5873abdd41..a0198b13a0 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix tests) #:use-module ((guix build utils) #:select (with-directory-excursion)) + #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) @@ -853,6 +854,37 @@ (return (and (zero? (close-pipe pipe)) (= (expt n 2) (string->number str))))))) +(test-assertm "gexp->script #:module-path" + (call-with-temporary-directory + (lambda (directory) + (define str + "Fake (guix base32) module!") + + (mkdir (string-append directory "/guix")) + (call-with-output-file (string-append directory "/guix/base32.scm") + (lambda (port) + (write `(begin (define-module (guix base32)) + (define-public %fake! ,str)) + port))) + + (mlet* %store-monad ((exp -> (with-imported-modules '((guix base32)) + (gexp (begin + (use-modules (guix base32)) + (write (list %load-path + %fake!)))))) + (drv (gexp->script "guile-thing" exp + #:guile %bootstrap-guile + #:module-path (list directory))) + (out -> (derivation->output-path drv)) + (done (built-derivations (list drv)))) + (let* ((pipe (open-input-pipe out)) + (data (read pipe))) + (return (and (zero? (close-pipe pipe)) + (match data + ((load-path str*) + (and (string=? str* str) + (not (member directory load-path)))))))))))) + (test-assertm "program-file" (let* ((n (random (expt 2 50))) (exp (with-imported-modules '((guix build utils)) From 427ec19e8887b8036690734564a86496000e12a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Mar 2018 18:35:32 +0100 Subject: [PATCH 051/233] gexp: 'program-file' has a new #:module-path parameter. * guix/gexp.scm (): Add 'path' field. (program-file): Add #:module-path parameter and honor it. (program-file-compiler): Honor the 'path' field. * tests/gexp.scm ("program-file #:module-path"): New test. * doc/guix.texi (G-Expressions): Update. --- doc/guix.texi | 4 ++-- guix/gexp.scm | 16 ++++++++++------ tests/gexp.scm | 27 +++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b765bcd112..7304d589d4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5179,10 +5179,10 @@ executable file @file{/gnu/store/@dots{}-list-files} along these lines: @end deffn @deffn {Scheme Procedure} program-file @var{name} @var{exp} @ - [#:guile #f] + [#:guile #f] [#:module-path %load-path] Return an object representing the executable store item @var{name} that runs @var{gexp}. @var{guile} is the Guile package used to execute that -script. +script. Imported modules of @var{gexp} are looked up in @var{module-path}. This is the declarative counterpart of @code{gexp->script}. @end deffn diff --git a/guix/gexp.scm b/guix/gexp.scm index 4a2e5a682e..b47965d9eb 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -60,6 +60,7 @@ program-file-name program-file-gexp program-file-guile + program-file-module-path scheme-file scheme-file? @@ -380,25 +381,28 @@ This is the declarative counterpart of 'gexp->derivation'." (apply gexp->derivation name gexp options))))) (define-record-type - (%program-file name gexp guile) + (%program-file name gexp guile path) program-file? (name program-file-name) ;string (gexp program-file-gexp) ;gexp - (guile program-file-guile)) ;package + (guile program-file-guile) ;package + (path program-file-module-path)) ;list of strings -(define* (program-file name gexp #:key (guile #f)) +(define* (program-file name gexp #:key (guile #f) (module-path %load-path)) "Return an object representing the executable store item NAME that runs -GEXP. GUILE is the Guile package used to execute that script. +GEXP. GUILE is the Guile package used to execute that script. Imported +modules of GEXP are looked up in MODULE-PATH. This is the declarative counterpart of 'gexp->script'." - (%program-file name gexp guile)) + (%program-file name gexp guile module-path)) (define-gexp-compiler (program-file-compiler (file ) system target) ;; Compile FILE by returning a derivation that builds the script. (match file - (($ name gexp guile) + (($ name gexp guile module-path) (gexp->script name gexp + #:module-path module-path #:guile (or guile (default-guile)))))) (define-record-type diff --git a/tests/gexp.scm b/tests/gexp.scm index a0198b13a0..2f8940e2c6 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -902,6 +902,33 @@ (return (and (zero? (close-pipe pipe)) (= n (string->number str))))))))) +(test-assertm "program-file #:module-path" + (call-with-temporary-directory + (lambda (directory) + (define text (random-text)) + + (call-with-output-file (string-append directory "/stupid-module.scm") + (lambda (port) + (write `(begin (define-module (stupid-module)) + (define-public %stupid-thing ,text)) + port))) + + (let* ((exp (with-imported-modules '((stupid-module)) + (gexp (begin + (use-modules (stupid-module)) + (display %stupid-thing))))) + (file (program-file "program" exp + #:guile %bootstrap-guile + #:module-path (list directory)))) + (mlet* %store-monad ((drv (lower-object file)) + (out -> (derivation->output-path drv))) + (mbegin %store-monad + (built-derivations (list drv)) + (let* ((pipe (open-input-pipe out)) + (str (get-string-all pipe))) + (return (and (zero? (close-pipe pipe)) + (string=? text str)))))))))) + (test-assertm "scheme-file" (let* ((text (plain-file "foo" "Hello, world!")) (scheme (scheme-file "bar" #~(list "foo" #$text)))) From 03e1cca2abaad76e192c16571b3bb59844216289 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 21 Mar 2018 19:22:40 -0400 Subject: [PATCH 052/233] doc: Move Cgit Service documentation to the Version Control section. * doc/guix.texi (Miscellaneous Services): Move the Cgit Service to section Version Control Services. --- doc/guix.texi | 393 +++++++++++++++++++++++++------------------------- 1 file changed, 197 insertions(+), 196 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7304d589d4..482fa463cf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18331,11 +18331,12 @@ Return the name of @var{platform}---a string such as @code{"arm"}. @subsubsection Version Control Services The @code{(gnu services version-control)} module provides a service to -allow remote access to local Git repositories. There are two options: +allow remote access to local Git repositories. There are three options: the @code{git-daemon-service}, which provides access to repositories via -the @code{git://} unsecured TCP-based protocol, or extending the +the @code{git://} unsecured TCP-based protocol, extending the @code{nginx} web server to proxy some requests to -@code{git-http-backend}. +@code{git-http-backend}, or providing a web interface with +@code{cgit-service-type}. @deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)] @@ -18468,199 +18469,6 @@ HTTPS. You will also need to add an @code{fcgiwrap} proxy to your system services. @xref{Web Services}. @end deffn -@node Game Services -@subsubsection Game Services - -@subsubheading The Battle for Wesnoth Service -@cindex wesnothd -@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn -based tactical strategy game, with several single player campaigns, and -multiplayer games (both networked and local). - -@defvar {Scheme Variable} wesnothd-service-type -Service type for the wesnothd service. Its value must be a -@code{wesnothd-configuration} object. To run wesnothd in the default -configuration, instantiate it as: - -@example -(service wesnothd-service-type) -@end example -@end defvar - -@deftp {Data Type} wesnothd-configuration -Data type representing the configuration of @command{wesnothd}. - -@table @asis -@item @code{package} (default: @code{wesnoth-server}) -The wesnoth server package to use. - -@item @code{port} (default: @code{15000}) -The port to bind the server to. -@end table -@end deftp - -@node Miscellaneous Services -@subsubsection Miscellaneous Services - -@cindex sysctl -@subsubheading System Control Service - -The @code{(gnu services sysctl)} provides a service to configure kernel -parameters at boot. - -@defvr {Scheme Variable} sysctl-service-type -The service type for @command{sysctl}, which modifies kernel parameters -under @file{/proc/sys/}. To enable IPv4 forwarding, it can be -instantiated as: - -@example -(service sysctl-service-type - (sysctl-configuration - (settings '(("net.ipv4.ip_forward" . "1"))))) -@end example -@end defvr - -@deftp {Data Type} sysctl-configuration -The data type representing the configuration of @command{sysctl}. - -@table @asis -@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"}) -The @command{sysctl} executable to use. - -@item @code{settings} (default: @code{'()}) -An association list specifies kernel parameters and their values. -@end table -@end deftp - -@cindex lirc -@subsubheading Lirc Service - -The @code{(gnu services lirc)} module provides the following service. - -@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @ - [#:device #f] [#:driver #f] [#:config-file #f] @ - [#:extra-options '()] -Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that -decodes infrared signals from remote controls. - -Optionally, @var{device}, @var{driver} and @var{config-file} -(configuration file name) may be specified. See @command{lircd} manual -for details. - -Finally, @var{extra-options} is a list of additional command-line options -passed to @command{lircd}. -@end deffn - -@cindex spice -@subsubheading Spice Service - -The @code{(gnu services spice)} module provides the following service. - -@deffn {Scheme Procedure} spice-vdagent-service [#:spice-vdagent] -Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon -that enables sharing the clipboard with a vm and setting the guest display -resolution when the graphical console window resizes. -@end deffn - -@subsubsection Dictionary Services -@cindex dictionary -The @code{(gnu services dict)} module provides the following service: - -@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] -Return a service that runs the @command{dicod} daemon, an implementation -of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). - -The optional @var{config} argument specifies the configuration for -@command{dicod}, which should be a @code{} object, by -default it serves the GNU Collaborative International Dictonary of English. - -You can add @command{open localhost} to your @file{~/.dico} file to make -@code{localhost} the default server for @command{dico} client -(@pxref{Initialization File,,, dico, GNU Dico Manual}). -@end deffn - -@deftp {Data Type} dicod-configuration -Data type representing the configuration of dicod. - -@table @asis -@item @code{dico} (default: @var{dico}) -Package object of the GNU Dico dictionary server. - -@item @code{interfaces} (default: @var{'("localhost")}) -This is the list of IP addresses and ports and possibly socket file -names to listen to (@pxref{Server Settings, @code{listen} directive,, -dico, GNU Dico Manual}). - -@item @code{handlers} (default: @var{'()}) -List of @code{} objects denoting handlers (module instances). - -@item @code{databases} (default: @var{(list %dicod-database:gcide)}) -List of @code{} objects denoting dictionaries to be served. -@end table -@end deftp - -@deftp {Data Type} dicod-handler -Data type representing a dictionary handler (module instance). - -@table @asis -@item @code{name} -Name of the handler (module instance). - -@item @code{module} (default: @var{#f}) -Name of the dicod module of the handler (instance). If it is @code{#f}, -the module has the same name as the handler. -(@pxref{Modules,,, dico, GNU Dico Manual}). - -@item @code{options} -List of strings or gexps representing the arguments for the module handler -@end table -@end deftp - -@deftp {Data Type} dicod-database -Data type representing a dictionary database. - -@table @asis -@item @code{name} -Name of the database, will be used in DICT commands. - -@item @code{handler} -Name of the dicod handler (module instance) used by this database -(@pxref{Handlers,,, dico, GNU Dico Manual}). - -@item @code{complex?} (default: @var{#f}) -Whether the database configuration complex. The complex configuration -will need a corresponding @code{} object, otherwise not. - -@item @code{options} -List of strings or gexps representing the arguments for the database -(@pxref{Databases,,, dico, GNU Dico Manual}). -@end table -@end deftp - -@defvr {Scheme Variable} %dicod-database:gcide -A @code{} object serving the GNU Collaborative International -Dictionary of English using the @code{gcide} package. -@end defvr - -The following is an example @code{dicod-service} configuration. - -@example -(dicod-service #:config - (dicod-configuration - (handlers (list (dicod-handler - (name "wordnet") - (module "dictorg") - (options - (list #~(string-append "dbdir=" #$wordnet)))))) - (databases (list (dicod-database - (name "wordnet") - (complex? #t) - (handler "wordnet") - (options '("database=wn"))) - %dicod-database:gcide)))) -@end example - - @subsubheading Cgit Service @cindex Cgit service @@ -19599,6 +19407,199 @@ could instantiate a cgit service like this: (cgitrc ""))) @end example + +@node Game Services +@subsubsection Game Services + +@subsubheading The Battle for Wesnoth Service +@cindex wesnothd +@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn +based tactical strategy game, with several single player campaigns, and +multiplayer games (both networked and local). + +@defvar {Scheme Variable} wesnothd-service-type +Service type for the wesnothd service. Its value must be a +@code{wesnothd-configuration} object. To run wesnothd in the default +configuration, instantiate it as: + +@example +(service wesnothd-service-type) +@end example +@end defvar + +@deftp {Data Type} wesnothd-configuration +Data type representing the configuration of @command{wesnothd}. + +@table @asis +@item @code{package} (default: @code{wesnoth-server}) +The wesnoth server package to use. + +@item @code{port} (default: @code{15000}) +The port to bind the server to. +@end table +@end deftp + +@node Miscellaneous Services +@subsubsection Miscellaneous Services + +@cindex sysctl +@subsubheading System Control Service + +The @code{(gnu services sysctl)} provides a service to configure kernel +parameters at boot. + +@defvr {Scheme Variable} sysctl-service-type +The service type for @command{sysctl}, which modifies kernel parameters +under @file{/proc/sys/}. To enable IPv4 forwarding, it can be +instantiated as: + +@example +(service sysctl-service-type + (sysctl-configuration + (settings '(("net.ipv4.ip_forward" . "1"))))) +@end example +@end defvr + +@deftp {Data Type} sysctl-configuration +The data type representing the configuration of @command{sysctl}. + +@table @asis +@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"}) +The @command{sysctl} executable to use. + +@item @code{settings} (default: @code{'()}) +An association list specifies kernel parameters and their values. +@end table +@end deftp + +@cindex lirc +@subsubheading Lirc Service + +The @code{(gnu services lirc)} module provides the following service. + +@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @ + [#:device #f] [#:driver #f] [#:config-file #f] @ + [#:extra-options '()] +Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that +decodes infrared signals from remote controls. + +Optionally, @var{device}, @var{driver} and @var{config-file} +(configuration file name) may be specified. See @command{lircd} manual +for details. + +Finally, @var{extra-options} is a list of additional command-line options +passed to @command{lircd}. +@end deffn + +@cindex spice +@subsubheading Spice Service + +The @code{(gnu services spice)} module provides the following service. + +@deffn {Scheme Procedure} spice-vdagent-service [#:spice-vdagent] +Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon +that enables sharing the clipboard with a vm and setting the guest display +resolution when the graphical console window resizes. +@end deffn + +@subsubsection Dictionary Services +@cindex dictionary +The @code{(gnu services dict)} module provides the following service: + +@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] +Return a service that runs the @command{dicod} daemon, an implementation +of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). + +The optional @var{config} argument specifies the configuration for +@command{dicod}, which should be a @code{} object, by +default it serves the GNU Collaborative International Dictonary of English. + +You can add @command{open localhost} to your @file{~/.dico} file to make +@code{localhost} the default server for @command{dico} client +(@pxref{Initialization File,,, dico, GNU Dico Manual}). +@end deffn + +@deftp {Data Type} dicod-configuration +Data type representing the configuration of dicod. + +@table @asis +@item @code{dico} (default: @var{dico}) +Package object of the GNU Dico dictionary server. + +@item @code{interfaces} (default: @var{'("localhost")}) +This is the list of IP addresses and ports and possibly socket file +names to listen to (@pxref{Server Settings, @code{listen} directive,, +dico, GNU Dico Manual}). + +@item @code{handlers} (default: @var{'()}) +List of @code{} objects denoting handlers (module instances). + +@item @code{databases} (default: @var{(list %dicod-database:gcide)}) +List of @code{} objects denoting dictionaries to be served. +@end table +@end deftp + +@deftp {Data Type} dicod-handler +Data type representing a dictionary handler (module instance). + +@table @asis +@item @code{name} +Name of the handler (module instance). + +@item @code{module} (default: @var{#f}) +Name of the dicod module of the handler (instance). If it is @code{#f}, +the module has the same name as the handler. +(@pxref{Modules,,, dico, GNU Dico Manual}). + +@item @code{options} +List of strings or gexps representing the arguments for the module handler +@end table +@end deftp + +@deftp {Data Type} dicod-database +Data type representing a dictionary database. + +@table @asis +@item @code{name} +Name of the database, will be used in DICT commands. + +@item @code{handler} +Name of the dicod handler (module instance) used by this database +(@pxref{Handlers,,, dico, GNU Dico Manual}). + +@item @code{complex?} (default: @var{#f}) +Whether the database configuration complex. The complex configuration +will need a corresponding @code{} object, otherwise not. + +@item @code{options} +List of strings or gexps representing the arguments for the database +(@pxref{Databases,,, dico, GNU Dico Manual}). +@end table +@end deftp + +@defvr {Scheme Variable} %dicod-database:gcide +A @code{} object serving the GNU Collaborative International +Dictionary of English using the @code{gcide} package. +@end defvr + +The following is an example @code{dicod-service} configuration. + +@example +(dicod-service #:config + (dicod-configuration + (handlers (list (dicod-handler + (name "wordnet") + (module "dictorg") + (options + (list #~(string-append "dbdir=" #$wordnet)))))) + (databases (list (dicod-database + (name "wordnet") + (complex? #t) + (handler "wordnet") + (options '("database=wn"))) + %dicod-database:gcide)))) +@end example + @node Setuid Programs @subsection Setuid Programs From 2cac8891510533338f6214fbd5ab9c2f6204e856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Sun, 7 Jan 2018 22:44:12 +0100 Subject: [PATCH 053/233] gnu: java-aqute-bnd-annotation: Update to 3.5.0. * gnu/packages/java.scm (java-aqute-bnd-annotation): Update to 3.5.0. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5771366f66..b81cf67374 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6914,7 +6914,7 @@ package contains utilities for obtaining services via the Java SE 6 (define-public java-aqute-bnd-annotation (package (name "java-aqute-bnd-annotation") - (version "3.4.0") + (version "3.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/bndtools/bnd/archive/" @@ -6922,7 +6922,7 @@ package contains utilities for obtaining services via the Java SE 6 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "09vgb6axikbz66zi9falijbnzh1qnp9ysfns123dmzdb01cbza9q")))) + "1ggyiq0as0f6cz333a0dh98j72kmvv5pf2s47v9554yh905lfqdl")))) (build-system ant-build-system) (arguments `(#:jar-name "java-aqute-bnd-annotation.jar" From 116c12a1225a2ba55276a2f894d03894932f779e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 23 Mar 2018 15:41:30 -0400 Subject: [PATCH 054/233] gnu: Keep Krita 3 along with Krita 4. * gnu/packages/kde.scm (krita-3): New variable. --- gnu/packages/kde.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 05f2e8e8d5..33ed86b3b4 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -329,6 +329,23 @@ illustrators, matte and texture artists, and the VFX industry. Notable features include brush stabilizers, brush engines and wrap-around mode.") (license license:gpl2+))) +;; Krita 3 and 4's file formats are incompatible, so we are keeping Krita 3 +;; for now. +(define-public krita-3 + (package + (inherit krita) + (name "krita") + (version "3.3.3") + (source (origin + (inherit (package-source krita)) + (uri (string-append + "mirror://kde/stable/krita/" + (version-prefix version 3) + "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y")))))) + (define-public kholidays (package (name "kholidays") From 24fa6bcac6b6991e19b7108291e3b16cc40ceaf9 Mon Sep 17 00:00:00 2001 From: Sahithi Yarlagadda Date: Sat, 24 Mar 2018 01:36:55 +0530 Subject: [PATCH 055/233] gnu: Add r-catdap. * gnu/packages/cran.scm (r-catdap): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 749eed8b57..39f2a323a6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3273,3 +3273,26 @@ those functions to be used with time series including specifications that may contain lags, diffs and missing values.") ;; Any GPL version. (license license:gpl2+))) + +(define-public r-catdap + (package + (name "r-catdap") + (version "1.3.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "catdap" version)) + (sha256 + (base32 + "0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/catdap/") + (synopsis "Tools for categorical data analysis") + (description + "This package provides functions for analyzing multivariate data. +Dependencies of the distribution of the specified variable (response +variable) to other variables (explanatory variables) are derived and +evaluated by the @dfn{Akaike Information Criterion} (AIC).") + (license license:gpl2+))) From 272c07096251ea3dae237fd016fc5d66fe25e147 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 11 Mar 2018 01:13:01 +0100 Subject: [PATCH 056/233] tests: Add tests for "guix pack". * guix/scripts/pack.scm (bootstrap-xz): New variable. (%options) <--bootstrap>: New option. (show-help): Document the new --bootstrap option. (guix-pack): When --bootstrap is specified, use the bootstrap Guile, tar, and xz to build the pack, and do not use any profile hooks or locales. * doc/guix.texi (Invoking guix pull): Document the new --bootstrap option. * tests/guix-pack.sh: New file. * Makefile.am (SH_TESTS): Add guix-pack.sh. * gnu/packages/package-management.scm (guix) : Add util-linux. --- Makefile.am | 1 + doc/guix.texi | 6 ++- gnu/packages/package-management.scm | 2 + guix/scripts/pack.scm | 64 ++++++++++++++++------ tests/guix-pack.sh | 83 +++++++++++++++++++++++++++++ 5 files changed, 138 insertions(+), 18 deletions(-) create mode 100644 tests/guix-pack.sh diff --git a/Makefile.am b/Makefile.am index 0c653b54e4..feb99490d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -374,6 +374,7 @@ SH_TESTS = \ tests/guix-download.sh \ tests/guix-gc.sh \ tests/guix-hash.sh \ + tests/guix-pack.sh \ tests/guix-package.sh \ tests/guix-package-net.sh \ tests/guix-system.sh \ diff --git a/doc/guix.texi b/doc/guix.texi index 482fa463cf..9744704ea7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -23,7 +23,7 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* -Copyright @copyright{} 2016, 2017 Chris Marusich@* +Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nils Gillmann@* @@ -2899,6 +2899,10 @@ added to it or removed from it after extraction of the pack. One use case for this is the Guix self-contained binary tarball (@pxref{Binary Installation}). + +@item --bootstrap +Use the bootstrap binaries to build the pack. This option is only +useful to Guix developers. @end table In addition, @command{guix pack} supports all the common build options diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 709cdfd0f7..a90ba7a21a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -257,6 +257,8 @@ ;; Many tests rely on the 'guile-bootstrap' package, which is why we ;; have it here. ("boot-guile" ,(bootstrap-guile-origin (%current-system))) + ;; Some of the tests use "unshare" when it is available. + ("util-linux" ,util-linux) ,@(if (and (not (%current-target-system)) (string=? (%current-system) "x86_64-linux")) `(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux"))) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 59dd117edb..0ec1ef4d24 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018 Konrad Hinsen +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +34,9 @@ #:use-module (guix derivations) #:use-module (guix scripts build) #:use-module (gnu packages) + #:use-module (gnu packages bootstrap) #:use-module (gnu packages compression) + #:use-module (gnu packages guile) #:autoload (gnu packages base) (tar) #:autoload (gnu packages package-management) (guix) #:autoload (gnu packages gnupg) (libgcrypt) @@ -67,6 +70,11 @@ #~(#+(file-append bzip2 "/bin/bzip2") "-9")) (compressor "none" "" #f))) +;; This one is only for use in this module, so don't put it in %compressors. +(define bootstrap-xz + (compressor "bootstrap-xz" ".xz" + #~(#+(file-append %bootstrap-coreutils&co "/bin/xz") "-e -T0"))) + (define (lookup-compressor name) "Return the compressor object called NAME. Error out if it could not be found." @@ -325,6 +333,9 @@ the image." (option '("localstatedir") #f #f (lambda (opt name arg result) (alist-cons 'localstatedir? #t result))) + (option '("bootstrap") #f #f + (lambda (opt name arg result) + (alist-cons 'bootstrap? #t result))) (append %transformation-options %standard-build-options))) @@ -352,6 +363,8 @@ Create a bundle of PACKAGE.\n")) -m, --manifest=FILE create a pack with the manifest from FILE")) (display (G_ " --localstatedir include /var/guix in the resulting pack")) + (display (G_ " + --bootstrap use the bootstrap binaries to build the pack")) (newline) (display (G_ " -h, --help display this help and exit")) @@ -393,28 +406,43 @@ Create a bundle of PACKAGE.\n")) (else (packages->manifest packages))))) (with-error-handling - (parameterize ((%graft? (assoc-ref opts 'graft?))) - (let* ((dry-run? (assoc-ref opts 'dry-run?)) - (manifest (manifest-from-args opts)) - (pack-format (assoc-ref opts 'format)) - (name (string-append (symbol->string pack-format) - "-pack")) - (target (assoc-ref opts 'target)) - (compressor (assoc-ref opts 'compressor)) - (symlinks (assoc-ref opts 'symlinks)) - (build-image (match (assq-ref %formats pack-format) - ((? procedure? proc) proc) - (#f - (leave (G_ "~a: unknown pack format") - format)))) - (localstatedir? (assoc-ref opts 'localstatedir?))) - (with-store store + (let* ((dry-run? (assoc-ref opts 'dry-run?)) + (manifest (manifest-from-args opts)) + (pack-format (assoc-ref opts 'format)) + (name (string-append (symbol->string pack-format) + "-pack")) + (target (assoc-ref opts 'target)) + (bootstrap? (assoc-ref opts 'bootstrap?)) + (compressor (if bootstrap? + bootstrap-xz + (assoc-ref opts 'compressor))) + (tar (if bootstrap? + %bootstrap-coreutils&co + tar)) + (symlinks (assoc-ref opts 'symlinks)) + (build-image (match (assq-ref %formats pack-format) + ((? procedure? proc) proc) + (#f + (leave (G_ "~a: unknown pack format") + format)))) + (localstatedir? (assoc-ref opts 'localstatedir?))) + (with-store store + (parameterize ((%graft? (assoc-ref opts 'graft?)) + (%guile-for-build (package-derivation + store + (if (assoc-ref opts 'bootstrap?) + %bootstrap-guile + (canonical-package guile-2.2))))) ;; Set the build options before we do anything else. (set-build-options-from-command-line store opts) (run-with-store store (mlet* %store-monad ((profile (profile-derivation manifest + #:hooks (if bootstrap? + '() + %default-profile-hooks) + #:locales? (not bootstrap?) #:target target)) (drv (build-image name profile #:target @@ -424,7 +452,9 @@ Create a bundle of PACKAGE.\n")) #:symlinks symlinks #:localstatedir? - localstatedir?))) + localstatedir? + #:tar + tar))) (mbegin %store-monad (show-what-to-build* (list drv) #:use-substitutes? diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh new file mode 100644 index 0000000000..1b63b957be --- /dev/null +++ b/tests/guix-pack.sh @@ -0,0 +1,83 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2018 Chris Marusich +# +# This file is part of GNU Guix. +# +# GNU Guix is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# GNU Guix is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Guix. If not, see . + +# +# Test the `guix pack' command-line utility. +# + +# A network connection is required to build %bootstrap-coreutils&co, +# which is required to run these tests with the --bootstrap option. +if ! guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null; then + exit 77 +fi + +guix pack --version + +# Use --no-substitutes because we need to verify we can do this ourselves. +GUIX_BUILD_OPTIONS="--no-substitutes" +export GUIX_BUILD_OPTIONS + +# Build a tarball with no compression. +guix pack --compression=none --bootstrap guile-bootstrap + +# Build a tarball (with compression). +guix pack --bootstrap guile-bootstrap + +# Build a tarball with a symlink. +the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`" + +# Try to extract it. +test_directory="`mktemp -d`" +trap 'rm -rf "$test_directory"' EXIT +cd "$test_directory" +tar -xf "$the_pack" +test -x opt/gnu/bin/guile + +is_available () { + # Use the "type" shell builtin to see if the program is on PATH. + type "$1" > /dev/null +} + +if is_available chroot && is_available unshare; then + # Verify we can use what we built. + unshare -r chroot . /opt/gnu/bin/guile --version + cd - +else + echo "warning: skipped some verification because chroot or unshare is unavailable" >&2 +fi + +# For the tests that build Docker images below, we currently have to use +# --dry-run because if we don't, there are only two possible cases: +# +# Case 1: We do not use --bootstrap, and the build takes hours to finish +# because it needs to build tar etc. +# +# Case 2: We use --bootstrap, and the build fails because the bootstrap +# Guile cannot dlopen shared libraries. Not to mention the fact +# that we would still have to build many non-bootstrap inputs +# (e.g., guile-json) in order to create the Docker image. + +# Build a Docker image. +guix pack --dry-run --bootstrap -f docker guile-bootstrap + +# Build a Docker image with a symlink. +guix pack --dry-run --bootstrap -f docker -S /opt/gnu=/ guile-bootstrap + +# Build a tarball pack of cross-compiled software. Use coreutils because +# guile-bootstrap is not intended to be cross-compiled. +guix pack --dry-run --bootstrap --target=arm-unknown-linux-gnueabihf coreutils From af81311b8c7712db207927c8e7b8ed66602be5c7 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 15 Mar 2018 05:09:11 +0100 Subject: [PATCH 057/233] vm: Allow control of deduplication in root-partition-initializer. * gnu/build/vm.scm (root-partition-initializer): Add #:deduplicate? keyword argument. --- gnu/build/vm.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 7f6801b9dd..4268ad1111 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -307,11 +308,14 @@ it, run its initializer, and unmount it." (define* (root-partition-initializer #:key (closures '()) copy-closures? (register-closures? #t) - system-directory) + system-directory + (deduplicate? #t)) "Return a procedure to initialize a root partition. -If REGISTER-CLOSURES? is true, register all of CLOSURES is the partition's -store. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition. +If REGISTER-CLOSURES? is true, register all of CLOSURES in the partition's +store. If DEDUPLICATE? is true, then also deduplicate files common to +CLOSURES and the rest of the store when registering the closures. If +COPY-CLOSURES? is true, copy all of CLOSURES to the partition. SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (lambda (target) (define target-store @@ -336,7 +340,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (display "registering closures...\n") (for-each (lambda (closure) (register-closure target - (string-append "/xchg/" closure))) + (string-append "/xchg/" closure) + #:deduplicate? deduplicate?)) closures) (unless copy-closures? (umount target-store))) From 8c9bf2946a1cb58c5b7b941db3a37830ece80708 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 15 Mar 2018 05:09:12 +0100 Subject: [PATCH 058/233] gnu: When building in a VM, share a temporary directory. * gnu/build/vm.scm (load-in-linux-vm): Make a shared temporary directory available in the VM. * gnu/system/vm.scm (%linux-vm-file-systems): Add a corresponding entry. --- gnu/build/vm.scm | 7 +++++++ gnu/system/vm.scm | 12 ++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 4268ad1111..527b4c495d 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -126,6 +126,7 @@ the #:references-graphs parameter of 'derivation'." (number->string disk-image-size))) (mkdir "xchg") + (mkdir "tmp") (match references-graphs ((graph-files ...) @@ -146,6 +147,12 @@ the #:references-graphs parameter of 'derivation'." "-virtfs" (string-append "local,id=xchg_dev,path=xchg" ",security_model=none,mount_tag=xchg") + "-virtfs" + ;; Some programs require more space in /tmp than is normally + ;; available in the guest. Accommodate such programs by sharing a + ;; temporary directory. + (string-append "local,id=tmp_dev,path=tmp" + ",security_model=none,mount_tag=tmp") "-kernel" linux "-initrd" initrd (append diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 594ba66ff4..9d9eafc094 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -87,8 +88,8 @@ ;;; Code: (define %linux-vm-file-systems - ;; File systems mounted for 'derivation-in-linux-vm'. The store and /xchg - ;; directory are shared with the host over 9p. + ;; File systems mounted for 'derivation-in-linux-vm'. These are shared with + ;; the host over 9p. (list (file-system (mount-point (%store-prefix)) (device "store") @@ -102,6 +103,13 @@ (type "9p") (needed-for-boot? #t) (options "trans=virtio") + (check? #f)) + (file-system + (mount-point "/tmp") + (device "tmp") + (type "9p") + (needed-for-boot? #t) + (options "trans=virtio") (check? #f)))) (define* (expression->derivation-in-linux-vm name exp From 1c2ac6b482ea20419e57fd54b0cd1d4d3972776b Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 15 Mar 2018 05:09:13 +0100 Subject: [PATCH 059/233] guix: Rewrite build-docker-image to allow more paths. * guix/docker.scm (build-docker-image): Rename "path" argument to "prefix" to reflect the fact that it is used as a prefix for the symlink targets. Add the "paths" argument, and remove the "closure" argument, since it is now redundant. Add a "transformations" argument. * guix/scripts/pack.scm (docker-image): Read the profile's reference graph and provide its paths to build-docker-image via the new "paths" argument. --- guix/docker.scm | 190 ++++++++++++++++++++++++++---------------- guix/scripts/pack.scm | 9 +- 2 files changed, 123 insertions(+), 76 deletions(-) diff --git a/guix/docker.scm b/guix/docker.scm index 060232148e..a75534c33b 100644 --- a/guix/docker.scm +++ b/guix/docker.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,9 +24,12 @@ #:use-module ((guix build utils) #:select (mkdir-p delete-file-recursively - with-directory-excursion)) - #:use-module (guix build store-copy) + with-directory-excursion + invoke)) #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) + #:use-module ((texinfo string-utils) + #:select (escape-special-chars)) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:export (build-docker-image)) @@ -33,8 +37,7 @@ ;; Load Guile-JSON at run time to simplify the job of 'imported-modules' & co. (module-use! (current-module) (resolve-interface '(json))) -;; Generate a 256-bit identifier in hexadecimal encoding for the Docker image -;; containing the closure at PATH. +;; Generate a 256-bit identifier in hexadecimal encoding for the Docker image. (define docker-id (compose bytevector->base16-string sha256 string->utf8)) @@ -102,82 +105,123 @@ return \"a\"." ((first rest ...) first))) -(define* (build-docker-image image path - #:key closure compressor +(define* (build-docker-image image paths prefix + #:key (symlinks '()) + (transformations '()) (system (utsname:machine (uname))) + compressor (creation-time (current-time time-utc))) - "Write to IMAGE a Docker image archive from the given store PATH. The image -contains the closure of PATH, as specified in CLOSURE (a file produced by -#:references-graphs). SYMLINKS must be a list of (SOURCE -> TARGET) tuples -describing symlinks to be created in the image, where each TARGET is relative -to PATH. SYSTEM is a GNU triplet (or prefix thereof) of the system the -binaries at PATH are for; it is used to produce metadata in the image. + "Write to IMAGE a Docker image archive containing the given PATHS. PREFIX +must be a store path that is a prefix of any store paths in PATHS. -Use COMPRESSOR, a command such as '(\"gzip\" \"-9n\"), to compress IMAGE. Use -CREATION-TIME, a SRFI-19 time-utc object, as the creation time in metadata." - (let ((directory "/tmp/docker-image") ;temporary working directory - (closure (canonicalize-path closure)) - (id (docker-id path)) - (time (date->string (time-utc->date creation-time) "~4")) - (arch (let-syntax ((cond* (syntax-rules () - ((_ (pattern clause) ...) - (cond ((string-prefix? pattern system) - clause) - ... - (else - (error "unsupported system" - system))))))) - (cond* ("x86_64" "amd64") - ("i686" "386") - ("arm" "arm") - ("mips64" "mips64le"))))) +SYMLINKS must be a list of (SOURCE -> TARGET) tuples describing symlinks to be +created in the image, where each TARGET is relative to PREFIX. +TRANSFORMATIONS must be a list of (OLD -> NEW) tuples describing how to +transform the PATHS. Any path in PATHS that begins with OLD will be rewritten +in the Docker image so that it begins with NEW instead. If a path is a +non-empty directory, then its contents will be recursively added, as well. + +SYSTEM is a GNU triplet (or prefix thereof) of the system the binaries in +PATHS are for; it is used to produce metadata in the image. Use COMPRESSOR, a +command such as '(\"gzip\" \"-9n\"), to compress IMAGE. Use CREATION-TIME, a +SRFI-19 time-utc object, as the creation time in metadata." + (define (sanitize path-fragment) + (escape-special-chars + ;; GNU tar strips the leading slash off of absolute paths before applying + ;; the transformations, so we need to do the same, or else our + ;; replacements won't match any paths. + (string-trim path-fragment #\/) + ;; Escape the basic regexp special characters (see: "(sed) BRE syntax"). + ;; We also need to escape "/" because we use it as a delimiter. + "/*.^$[]\\" + #\\)) + (define transformation->replacement + (match-lambda + ((old '-> new) + ;; See "(tar) transform" for details on the expression syntax. + (string-append "s/^" (sanitize old) "/" (sanitize new) "/")))) + (define (transformations->expression transformations) + (let ((replacements (map transformation->replacement transformations))) + (string-append + ;; Avoid transforming link targets, since that would break some links + ;; (e.g., symlinks that point to an absolute store path). + "flags=rSH;" + (string-join replacements ";") + ;; Some paths might still have a leading path delimiter even after tar + ;; transforms them (e.g., "/a/b" might be transformed into "/b"), so + ;; strip any leading path delimiters that remain. + ";s,^//*,,"))) + (define transformation-options + (if (eq? '() transformations) + '() + `("--transform" ,(transformations->expression transformations)))) + (let* ((directory "/tmp/docker-image") ;temporary working directory + (id (docker-id prefix)) + (time (date->string (time-utc->date creation-time) "~4")) + (arch (let-syntax ((cond* (syntax-rules () + ((_ (pattern clause) ...) + (cond ((string-prefix? pattern system) + clause) + ... + (else + (error "unsupported system" + system))))))) + (cond* ("x86_64" "amd64") + ("i686" "386") + ("arm" "arm") + ("mips64" "mips64le"))))) ;; Make sure we start with a fresh, empty working directory. (mkdir directory) + (with-directory-excursion directory + (mkdir id) + (with-directory-excursion id + (with-output-to-file "VERSION" + (lambda () (display schema-version))) + (with-output-to-file "json" + (lambda () (scm->json (image-description id time)))) - (and (with-directory-excursion directory - (mkdir id) - (with-directory-excursion id - (with-output-to-file "VERSION" - (lambda () (display schema-version))) - (with-output-to-file "json" - (lambda () (scm->json (image-description id time)))) + ;; Create SYMLINKS. + (for-each (match-lambda + ((source '-> target) + (let ((source (string-trim source #\/))) + (mkdir-p (dirname source)) + (symlink (string-append prefix "/" target) + source)))) + symlinks) - ;; Wrap it up. - (let ((items (call-with-input-file closure - read-reference-graph))) - ;; Create SYMLINKS. - (for-each (match-lambda - ((source '-> target) - (let ((source (string-trim source #\/))) - (mkdir-p (dirname source)) - (symlink (string-append path "/" target) - source)))) - symlinks) + (apply invoke "tar" "-cf" "layer.tar" + `(,@transformation-options + ,@%tar-determinism-options + ,@paths + ,@(map symlink-source symlinks))) + ;; It is possible for "/" to show up in the archive, especially when + ;; applying transformations. For example, the transformation + ;; "s,^/a,," will (perhaps surprisingly) cause GNU tar to transform + ;; the path "/a" into "/". The presence of "/" in the archive is + ;; probably benign, but it is definitely safe to remove it, so let's + ;; do that. This fails when "/" is not in the archive, so use system* + ;; instead of invoke to avoid an exception in that case. + (system* "tar" "--delete" "/" "-f" "layer.tar") + (for-each delete-file-recursively + (map (compose topmost-component symlink-source) + symlinks))) - (and (zero? (apply system* "tar" "-cf" "layer.tar" - (append %tar-determinism-options - items - (map symlink-source symlinks)))) - (for-each delete-file-recursively - (map (compose topmost-component symlink-source) - symlinks))))) + (with-output-to-file "config.json" + (lambda () + (scm->json (config (string-append id "/layer.tar") + time arch)))) + (with-output-to-file "manifest.json" + (lambda () + (scm->json (manifest prefix id)))) + (with-output-to-file "repositories" + (lambda () + (scm->json (repositories prefix id))))) - (with-output-to-file "config.json" - (lambda () - (scm->json (config (string-append id "/layer.tar") - time arch)))) - (with-output-to-file "manifest.json" - (lambda () - (scm->json (manifest path id)))) - (with-output-to-file "repositories" - (lambda () - (scm->json (repositories path id))))) - - (and (zero? (apply system* "tar" "-C" directory "-cf" image - `(,@%tar-determinism-options - ,@(if compressor - (list "-I" (string-join compressor)) - '()) - "."))) - (begin (delete-file-recursively directory) #t))))) + (apply invoke "tar" "-cf" image "-C" directory + `(,@%tar-determinism-options + ,@(if compressor + (list "-I" (string-join compressor)) + '()) + ".")) + (delete-file-recursively directory))) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 0ec1ef4d24..488638adc5 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -238,6 +238,7 @@ the image." (define build (with-imported-modules `(,@(source-module-closure '((guix docker)) #:select? not-config?) + (guix build store-copy) ((guix config) => ,config)) #~(begin ;; Guile-JSON is required by (guix docker). @@ -245,13 +246,15 @@ the image." (string-append #+json "/share/guile/site/" (effective-version))) - (use-modules (guix docker) (srfi srfi-19)) + (use-modules (guix docker) (srfi srfi-19) (guix build store-copy)) (setenv "PATH" (string-append #$tar "/bin")) - (build-docker-image #$output #$profile + (build-docker-image #$output + (call-with-input-file "profile" + read-reference-graph) + #$profile #:system (or #$target (utsname:machine (uname))) - #:closure "profile" #:symlinks '#$symlinks #:compressor '#$(compressor-command compressor) #:creation-time (make-time time-utc 0 1))))) From a335f6fcc9aac1afb49a562968107abf7c87e631 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 19 Feb 2018 05:45:03 +0100 Subject: [PATCH 060/233] system: Add "guix system docker-image" command. * gnu/system/vm.scm (system-docker-image): New procedure. * guix/scripts/system.scm (system-derivation-for-action): Add a case for docker-image, and in that case, call system-docker-image. (show-help): Document docker-image. (guix-system): Parse arguments for docker-image. * doc/guix.texi (Invoking guix system): Document "guix system docker-image". * gnu/system/examples/docker-image.tmpl: New file. --- doc/guix.texi | 36 ++++++++- gnu/system/examples/docker-image.tmpl | 47 ++++++++++++ gnu/system/vm.scm | 105 ++++++++++++++++++++++++++ guix/scripts/system.scm | 12 ++- 4 files changed, 192 insertions(+), 8 deletions(-) create mode 100644 gnu/system/examples/docker-image.tmpl diff --git a/doc/guix.texi b/doc/guix.texi index 9744704ea7..a090b2cad3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -20385,12 +20385,18 @@ containing at least the kernel, initrd, and bootloader data files must be created. The @code{--image-size} option can be used to specify the size of the image. +@cindex System images, creation in various formats +@cindex Creating system images in various formats @item vm-image @itemx disk-image -Return a virtual machine or disk image of the operating system declared -in @var{file} that stands alone. By default, @command{guix system} -estimates the size of the image needed to store the system, but you can -use the @option{--image-size} option to specify a value. +@itemx docker-image +Return a virtual machine, disk image, or Docker image of the operating +system declared in @var{file} that stands alone. By default, +@command{guix system} estimates the size of the image needed to store +the system, but you can use the @option{--image-size} option to specify +a value. Docker images are built to contain exactly what they need, so +the @option{--image-size} option is ignored in the case of +@code{docker-image}. You can specify the root file system type by using the @option{--file-system-type} option. It defaults to @code{ext4}. @@ -20408,6 +20414,28 @@ using the following command: # dd if=$(guix system disk-image my-os.scm) of=/dev/sdc @end example +When using @code{docker-image}, a Docker image is produced. Guix builds +the image from scratch, not from a pre-existing Docker base image. As a +result, it contains @emph{exactly} what you define in the operating +system configuration file. You can then load the image and launch a +Docker container using commands like the following: + +@example +image_id="$(docker load < guixsd-docker-image.tar.gz)" +docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\ + --entrypoint /var/guix/profiles/system/profile/bin/guile \\ + $image_id /var/guix/profiles/system/boot +@end example + +This command starts a new Docker container from the specified image. It +will boot the GuixSD system in the usual manner, which means it will +start any services you have defined in the operating system +configuration. Depending on what you run in the Docker container, it +may be necessary to give the container additional permissions. For +example, if you intend to build software using Guix inside of the Docker +container, you may need to pass the @option{--privileged} option to +@code{docker run}. + @item container Return a script to run the operating system declared in @var{file} within a container. Containers are a set of lightweight isolation diff --git a/gnu/system/examples/docker-image.tmpl b/gnu/system/examples/docker-image.tmpl new file mode 100644 index 0000000000..d73187398f --- /dev/null +++ b/gnu/system/examples/docker-image.tmpl @@ -0,0 +1,47 @@ +;; This is an operating system configuration template for a "Docker image" +;; setup, so it has barely any services at all. + +(use-modules (gnu)) + +(operating-system + (host-name "komputilo") + (timezone "Europe/Berlin") + (locale "en_US.utf8") + + ;; This is where user accounts are specified. The "root" account is + ;; implicit, and is initially created with the empty password. + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + (supplementary-groups '("wheel" + "audio" "video")) + (home-directory "/home/alice")) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages %base-packages) + + ;; Because the system will run in a Docker container, we may omit many + ;; things that would normally be required in an operating system + ;; configuration file. These things include: + ;; + ;; * bootloader + ;; * file-systems + ;; * services such as mingetty, udevd, slim, networking, dhcp + ;; + ;; Either these things are simply not required, or Docker provides + ;; similar services for us. + + ;; This will be ignored. + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "does-not-matter"))) + ;; This will be ignored, too. + (file-systems (list (file-system + (device "does-not-matter") + (mount-point "/") + (type "does-not-matter")))) + + ;; Guix is all you need! + (services (list (guix-service)))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 9d9eafc094..09a11af863 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -23,6 +23,7 @@ (define-module (gnu system vm) #:use-module (guix config) + #:use-module (guix docker) #:use-module (guix store) #:use-module (guix gexp) #:use-module (guix derivations) @@ -30,6 +31,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix scripts pack) #:use-module (guix utils) #:use-module (guix hash) #:use-module (guix base32) @@ -39,7 +41,9 @@ #:use-module (gnu packages base) #:use-module (gnu packages bootloaders) #:use-module (gnu packages cdrom) + #:use-module (gnu packages compression) #:use-module (gnu packages guile) + #:autoload (gnu packages gnupg) (libgcrypt) #:use-module (gnu packages gawk) #:use-module (gnu packages bash) #:use-module (gnu packages less) @@ -76,6 +80,7 @@ system-qemu-image/shared-store system-qemu-image/shared-store-script system-disk-image + system-docker-image virtual-machine virtual-machine?)) @@ -377,6 +382,106 @@ the image." #:disk-image-format disk-image-format #:references-graphs inputs)) +(define* (system-docker-image os + #:key + (name "guixsd-docker-image") + register-closures?) + "Build a docker image. OS is the desired . NAME is the +base name to use for the output file. When REGISTER-CLOSURES? is not #f, +register the closure of OS with Guix in the resulting Docker image. This only +makes sense when you want to build a GuixSD Docker image that has Guix +installed inside of it. If you don't need Guix (e.g., your GuixSD Docker +image just contains a web server that is started by the Shepherd), then you +should set REGISTER-CLOSURES? to #f." + (define not-config? + (match-lambda + (('guix 'config) #f) + (('guix rest ...) #t) + (('gnu rest ...) #t) + (rest #f))) + + (define config + ;; (guix config) module for consumption by (guix gcrypt). + (scheme-file "gcrypt-config.scm" + #~(begin + (define-module (guix config) + #:export (%libgcrypt)) + + ;; XXX: Work around . + (eval-when (expand load eval) + (define %libgcrypt + #+(file-append libgcrypt "/lib/libgcrypt")))))) + (mlet %store-monad ((os-drv (operating-system-derivation os #:container? #t)) + (name -> (string-append name ".tar.gz")) + (graph -> "system-graph")) + (define build + (with-imported-modules `(,@(source-module-closure '((guix docker) + (guix build utils) + (gnu build vm)) + #:select? not-config?) + (guix build store-copy) + ((guix config) => ,config)) + #~(begin + ;; Guile-JSON is required by (guix docker). + (add-to-load-path + (string-append #+guile-json "/share/guile/site/" + (effective-version))) + (use-modules (guix docker) + (guix build utils) + (gnu build vm) + (srfi srfi-19) + (guix build store-copy)) + + (let* ((inputs '#$(append (list tar) + (if register-closures? + (list guix) + '()))) + ;; This initializer requires elevated privileges that are + ;; not normally available in the build environment (e.g., + ;; it needs to create device nodes). In order to obtain + ;; such privileges, we run it as root in a VM. + (initialize (root-partition-initializer + #:closures '(#$graph) + #:register-closures? #$register-closures? + #:system-directory #$os-drv + ;; De-duplication would fail due to + ;; cross-device link errors, so don't do it. + #:deduplicate? #f)) + ;; Even as root in a VM, the initializer would fail due to + ;; lack of privileges if we use a root-directory that is on + ;; a file system that is shared with the host (e.g., /tmp). + (root-directory "/guixsd-system-root")) + (set-path-environment-variable "PATH" '("bin" "sbin") inputs) + (mkdir root-directory) + (initialize root-directory) + (build-docker-image + (string-append "/xchg/" #$name) ;; The output file. + (cons* root-directory + (call-with-input-file (string-append "/xchg/" #$graph) + read-reference-graph)) + #$os-drv + #:compressor '(#+(file-append gzip "/bin/gzip") "-9n") + #:creation-time (make-time time-utc 0 1) + #:transformations `((,root-directory -> ""))))))) + (expression->derivation-in-linux-vm + name + ;; The VM's initrd Guile doesn't support dlopen, but our "build" gexp + ;; needs to be run by a Guile that can dlopen libgcrypt. The following + ;; hack works around that problem by putting the "build" gexp into an + ;; executable script (created by program-file) which, when executed, will + ;; run using a Guile that supports dlopen. That way, the VM's initrd + ;; Guile can just execute it via invoke, without using dlopen. See: + ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html + (with-imported-modules `((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; If we use execl instead of invoke here, the VM will crash with a + ;; kernel panic. + (invoke #$(program-file "build-docker-image" build)))) + #:make-disk-image? #f + #:single-file-output? #t + #:references-graphs `((,graph ,os-drv))))) + ;;; ;;; VM and disk images. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index f0c4a2ba1b..b50cabcd1a 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Alex Kost -;;; Copyright © 2016, 2017 Chris Marusich +;;; Copyright © 2016, 2017, 2018 Chris Marusich ;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -701,7 +701,9 @@ checking this by themselves in their 'check' procedure." ("iso9660" "image.iso") (_ "disk-image")) #:disk-image-size image-size - #:file-system-type file-system-type)))) + #:file-system-type file-system-type)) + ((docker-image) + (system-docker-image os #:register-closures? #t)))) (define (maybe-suggest-running-guix-pull) "Suggest running 'guix pull' if this has never been done before." @@ -904,6 +906,8 @@ Some ACTIONS support additional ARGS.\n")) vm-image build a freestanding virtual machine image\n")) (display (G_ "\ disk-image build a disk image, suitable for a USB stick\n")) + (display (G_ "\ + docker-image build a Docker image\n")) (display (G_ "\ init initialize a root file system to run GNU\n")) (display (G_ "\ @@ -1142,7 +1146,7 @@ argument list and OPTS is the option alist." (case action ((build container vm vm-image disk-image reconfigure init extension-graph shepherd-graph list-generations roll-back - switch-generation search) + switch-generation search docker-image) (alist-cons 'action action result)) (else (leave (G_ "~a: unknown action~%") action)))))) @@ -1171,7 +1175,7 @@ argument list and OPTS is the option alist." (exit 1)) (case action - ((build container vm vm-image disk-image reconfigure) + ((build container vm vm-image disk-image docker-image reconfigure) (unless (or (= count 1) (and expr (= count 0))) (fail))) From 8e88f6fa8236a1fe66912957ecacae348355ec15 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 15 Mar 2018 05:09:15 +0100 Subject: [PATCH 061/233] tests: Add tests for "guix system disk-image" et al. * tests/guix-system.sh: Add test cases that exercise (1) all of the example files in gnu/system/examples, and (2) all of the "image" creation commands: vm, vm-image, disk-image, and docker-image. --- tests/guix-system.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/guix-system.sh b/tests/guix-system.sh index ed8563c8aa..211c26f43d 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -1,6 +1,7 @@ # GNU Guix --- Functional package management for GNU # Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès # Copyright © 2017 Tobias Geerinckx-Rice +# Copyright © 2018 Chris Marusich # # This file is part of GNU Guix. # @@ -267,3 +268,19 @@ guix system build "$tmpdir/config.scm" -n # Searching. guix system search tor | grep "^name: tor" guix system search anonym network | grep "^name: tor" + +# Below, use -n (--dry-run) for the tests because if we actually tried to +# build these images, the commands would take hours to run in the worst case. + +# Verify that the examples can be built. +for example in gnu/system/examples/*; do + guix system -n disk-image $example +done + +# Verify that the disk image types can be built. +guix system -n vm gnu/system/examples/vm-image.tmpl +guix system -n vm-image gnu/system/examples/vm-image.tmpl +# This invocation was taken care of in the loop above: +# guix system -n disk-image gnu/system/examples/bare-bones.tmpl +guix system -n disk-image --file-system-type=iso9660 gnu/system/examples/bare-bones.tmpl +guix system -n docker-image gnu/system/examples/docker-image.tmpl From bba66e7a600b35159d20e41df7c18fc1ec764dd9 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 24 Mar 2018 01:44:05 +0300 Subject: [PATCH 062/233] gnu: streamlink: Update to 0.11.0. * gnu/packages/video.scm (streamlink): Update to 0.11.0. [native-inputs]: Add python-urllib3. --- gnu/packages/video.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f7f82df072..b19581a46c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1753,14 +1753,14 @@ and custom quantization matrices.") (define-public streamlink (package (name "streamlink") - (version "0.10.0") + (version "0.11.0") (source (origin (method url-fetch) (uri (pypi-uri "streamlink" version)) (sha256 (base32 - "17299xnd9jzi7m1d2rr4xdlj47q64bzj2957nlsrhw0hskds1s6h")))) + "02h8b3k8l5zz4vjm0nhxvl1pm924jms8y7sjl40fbybrzvsa4mg2")))) (build-system python-build-system) (home-page "https://github.com/streamlink/streamlink") (native-inputs @@ -1773,7 +1773,8 @@ and custom quantization matrices.") ("python-iso3166" ,python-iso3166) ("python-iso639" ,python-iso639) ("python-pycryptodome" ,python-pycryptodome) - ("python-requests" ,python-requests))) + ("python-requests" ,python-requests) + ("python-urllib3" ,python-urllib3))) (synopsis "Extract streams from various services") (description "Streamlink is command-line utility that extracts streams from sites like Twitch.tv and pipes them into a video player of choice.") From 1f849cba9fe1740c0fb23450331408ec1c394491 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 17 Mar 2018 22:56:45 +0300 Subject: [PATCH 063/233] gnu: dunst: Update to 1.3.1. * gnu/packages/dunst.scm (dunst): Update to 1.3.1. [arguments]: Add SERVICEDIR_DBUS make flag. [inputs]: Use 'gdk-pixbuf' instead of 'gtk'. --- gnu/packages/dunst.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 68637ea6cd..6df37894da 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2017 Alex Kost +;;; Copyright © 2015, 2017, 2018 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +32,7 @@ (define-public dunst (package (name "dunst") - (version "1.2.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -41,12 +41,16 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bf5fmmj79wlwi8wzir3rd8czyrxfx16w8q7c957123yz1g5ph53")))) + "1mkdp1vqc376z8clwm5s9070jq1g92j8hv2rr231jr2468fnwaga")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target #:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output)) + (string-append "PREFIX=" %output) + ;; Otherwise it tries to install service file + ;; to "dbus" store directory. + (string-append "SERVICEDIR_DBUS=" %output + "/share/dbus-1/services")) #:phases (modify-phases %standard-phases (delete 'configure)))) (native-inputs @@ -55,8 +59,8 @@ ("which" ,which))) (inputs `(("dbus" ,dbus) + ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) - ("gtk" ,gtk+-2) ("cairo" ,cairo) ("pango" ,pango) ("libx11" ,libx11) From d591989b42088a358f33d6cf68f12efc2ad4403c Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 17 Mar 2018 23:24:08 +0300 Subject: [PATCH 064/233] gnu: tvtime: Fix build. * gnu/packages/tv.scm (tvtime)[native-inputs]: Add 'pkg-config' to avoid compilation errors. --- gnu/packages/tv.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tv.scm b/gnu/packages/tv.scm index cb82e5b847..ef67ad37f2 100644 --- a/gnu/packages/tv.scm +++ b/gnu/packages/tv.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Alex Kost +;;; Copyright © 2015, 2016, 2017, 2018 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages image) #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -55,6 +56,8 @@ ("libxml2" ,libxml2) ("freetype" ,freetype) ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "http://tvtime.sourceforge.net") (synopsis "Television viewer") (description From e9252fd11c9a22ded823d790418e815cb71ff1c0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 31 Jan 2018 21:07:32 +0200 Subject: [PATCH 065/233] gnu: make-arm-trusted-firmware: New procedure. * gnu/packages/firmware.scm (make-arm-trusted-firmware): New procedure. --- gnu/packages/firmware.scm | 77 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 714af3df72..42b58b7fc6 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2017 David Craven -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -24,6 +24,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -33,6 +34,7 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages cross-base) #:use-module (gnu packages flex) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages python)) @@ -309,3 +311,76 @@ coreboot.") Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (license (list license:expat license:bsd-2 license:bsd-3 license:bsd-4)))) + +(define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) + (package + (name (string-append "arm-trusted-firmware-" platform)) + (version "1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + ;; There are only GitHub generated release snapshots. + (url "https://github.com/ARM-software/arm-trusted-firmware.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "arm-trusted-firmware" version)) + (sha256 + (base32 + "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bin (find-files "." ".*\\.bin$"))) + (for-each + (lambda (file) + (install-file file out)) + bin)) + #t))) + #:make-flags (list (string-append "PLAT=" ,platform) + ,@(if (and (not (string-prefix? "aarch64" + (%current-system))) + (string-prefix? "aarch64" arch)) + `("CROSS_COMPILE=aarch64-linux-gnu-") + '()) + ,@(if (and (not (string-prefix? "armhf" + (%current-system))) + (string-prefix? "armhf" arch)) + `("CROSS_COMPILE=arm-linux-gnueabihf-") + '()) + "DEBUG=1") + #:tests? #f)) ; no tests + (native-inputs + `(,@(if (and (not (string-prefix? "aarch64" (%current-system))) + (string-prefix? "aarch64" arch)) + ;; gcc-7 since it is used for u-boot, which needs gcc-7. + `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu" #:xgcc gcc-7)) + ("cross-binutils" ,(cross-binutils "aarch64-linux-gnu"))) + '()) + ,@(if (and (not (string-prefix? "armhf" (%current-system))) + (string-prefix? "armhf" arch)) + ;; gcc-7 since it is used for u-boot, which needs gcc-7. + `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" #:xgcc gcc-7)) + ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) + '()) + )) + (home-page "https://github.com/ARM-software/arm-trusted-firmware") + (synopsis "Implementation of \"secure world software\"") + (description + "ARM Trusted Firmware provides a reference implementation of secure world +software for ARMv7A and ARMv8-A, including a Secure Monitor executing at +@dfn{Exception Level 3} (EL3). It implements various ARM interface standards, +such as: +@enumerate +@item The Power State Coordination Interface (PSCI) +@item Trusted Board Boot Requirements (TBBR, ARM DEN0006C-1) +@item SMC Calling Convention +@item System Control and Management Interface +@item Software Delegated Exception Interface (SDEI) +@end enumerate\n") + (license (list license:bsd-3 + license:bsd-2)))) ; libfdt From ecff374e1cd2e6cf9f36761ebbaa9c76beb8cbed Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 31 Jan 2018 21:08:12 +0200 Subject: [PATCH 066/233] gnu: arm-trusted-firmware-pine64-plus: New variable. * gnu/packages/firmware.scm (arm-trusted-firmware-pine64-plus): New variable. --- gnu/packages/firmware.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 42b58b7fc6..9e91ceca4e 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -384,3 +384,23 @@ such as: @end enumerate\n") (license (list license:bsd-3 license:bsd-2)))) ; libfdt + +(define-public arm-trusted-firmware-pine64-plus + (let ((base (make-arm-trusted-firmware "sun50iw1p1")) + ;; Vendor's arm trusted firmware branch hasn't been upstreamed yet. + (commit "ae78724247a01560164d607ed66db111c74d8df0") + (revision "1")) + (package + (inherit base) + (name "arm-trusted-firmware-pine64-plus") + (version (string-append "1.2-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apritzel/arm-trusted-firmware.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r4xnlq7v9khjfcg6gqp7nmrmnw4z1r8bipwdr07png1dcbb8214"))))))) From 9a1c4a6cb83e5b8aa0a88191567c14a15deceb3f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 31 Jan 2018 21:09:54 +0200 Subject: [PATCH 067/233] gnu: make-u-boot-package: Install 'itb' and 'dtb' files also. * gnu/packages/bootloaders.scm (make-u-boot-package)[arguments]: Add 'itb' and 'dtb' files to the files installed during custom 'install phase. --- gnu/packages/bootloaders.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 582c71cc4a..063e9c3e68 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -422,7 +422,7 @@ also initializes the boards (RAM etc).") (let* ((out (assoc-ref outputs "out")) (libexec (string-append out "/libexec")) (uboot-files (append - (find-files "." ".*\\.(bin|efi|img|spl)$") + (find-files "." ".*\\.(bin|efi|img|spl|itb|dtb)$") (find-files "." "^MLO$")))) (mkdir-p libexec) (install-file ".config" libexec) From 29be6cfb205d1af5e786a872ee62faa22fd06f32 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 31 Jan 2018 21:10:47 +0200 Subject: [PATCH 068/233] gnu: Add u-boot-pine64-plus. * gnu/packages/bootloaders.scm (u-boot-pine64-plus): New variable. --- gnu/packages/bootloaders.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 063e9c3e68..2ea78c9bac 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages cross-base) #:use-module (gnu packages disk) + #:use-module (gnu packages firmware) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) @@ -445,6 +446,27 @@ also initializes the boards (RAM etc).") (define-public u-boot-odroid-c2 (make-u-boot-package "odroid-c2" "aarch64-linux-gnu")) +(define-public u-boot-pine64-plus + (let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (let ((bl31 (string-append (assoc-ref inputs "firmware") + "/bl31.bin"))) + (setenv "BL31" bl31) + ;; This is necessary while we're using the bundled dtc. + (setenv "PATH" (string-append (getenv "PATH") ":" + "scripts/dtc"))) + #t)))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-pine64-plus) + ,@(package-native-inputs base)))))) + (define-public u-boot-banana-pi-m2-ultra (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) From 15b8b5deca4418377923ef7d9fbdce1ccde42a54 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 24 Mar 2018 22:55:48 +0100 Subject: [PATCH 069/233] gnu: sablevm-classpath: Remove unnecessary inputs. * gnu/packages/java.scm (sablevm-classpath)[inputs]: Remove. --- gnu/packages/java.scm | 3 --- 1 file changed, 3 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b81cf67374..317aa02328 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -139,9 +139,6 @@ and binary format defined in The Java Virtual Machine Specification.") "--disable-dssi" "--disable-alsa" "--disable-gjdoc"))) - (inputs - `(("gconf" ,gconf) - ("gtk+" ,gtk+-2))) (native-inputs `(("jikes" ,jikes) ("fastjar" ,fastjar) From f15e2ee4e833845d429e7736aa9a76ad88321cc1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 24 Mar 2018 22:56:39 +0100 Subject: [PATCH 070/233] gnu: sablevm: Use a different GC implementation. This is an attempt to fix a segfault when building ant-bootstrap. * gnu/packages/java.scm (sablevm)[arguments]: Use gencopy GC implementation. --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 317aa02328..fafbb22954 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -167,7 +167,7 @@ This package provides the classpath library.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--with-threading=switch" ; slower but prevents segfault + (list "--with-gc=gencopy" ; this seems to prevent a segfault "--with-internal-libffi=no" "--with-internal-libpopt=no") #:phases From 4d4a5698ec599f3a1aa574f579dffa23915ab52d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 00:14:30 +0100 Subject: [PATCH 071/233] gnu: sablevm: Do not change GC, just disable stripping. * gnu/packages/java.scm (sablevm)[arguments]: Disable stripping; do not play with GC settings as they have no reliable effect on build success. --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fafbb22954..f226a69846 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -167,9 +167,9 @@ This package provides the classpath library.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--with-gc=gencopy" ; this seems to prevent a segfault - "--with-internal-libffi=no" + (list "--with-internal-libffi=no" "--with-internal-libpopt=no") + #:strip-binaries? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-timestamp-for-reproducibility From c91e0f1ab3c24681d1a7365a349bc1a29d2efec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 25 Mar 2018 00:18:26 +0100 Subject: [PATCH 072/233] gnu: cuirass: Update to 326264c. * gnu/packages/ci.scm (cuirass): Update to 326264c. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index a559a4011d..06c3298975 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -187,8 +187,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "aa4c7784940581b5e271b9c7c4ac80b6ee1ee309") - (revision "13")) + (let ((commit "326264c8e9445cb94d7fb33aab5ef93dc99ffe57") + (revision "14")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -200,7 +200,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "1827vgk47rcgm2x0cxzvg79ni6vazjzr8hr9pljlvbd9awzr7hxp")))) + "0l6433l63r1zyq9hg89q9l6zgydm7bm35xdvb0g22w1d6wvi48ls")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From 4debffadb7e166e34fb2ef00e75c4b73977ede15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 25 Mar 2018 00:22:53 +0100 Subject: [PATCH 073/233] maint: Adjust 'check-final-inputs-self-contained' for glibc:static. This change is necessary to cope with 6dff905e51202bbdebbad8811b6509584d12a796. * build-aux/check-final-inputs-self-contained.scm (final-inputs): Change 'match' pattern to match (LABEL PACKAGE OUTPUT). --- .../check-final-inputs-self-contained.scm | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm index dfb6a72f24..37dc883d3c 100644 --- a/build-aux/check-final-inputs-self-contained.scm +++ b/build-aux/check-final-inputs-self-contained.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,23 +33,23 @@ (define (final-inputs store system) "Return the list of outputs directories of the final inputs for SYSTEM." (append-map (match-lambda - ((name package) - (let ((drv (package-derivation store package system))) - ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's - ;; hard to avoid, so we tolerate it. This should be the - ;; only exception. Likewise, 'bash:include' depends on - ;; bootstrap-binaries via its 'Makefile.inc' (FIXME). - (filter-map (match-lambda - (("debug" . directory) - (if (string=? "glibc" (package-name package)) - #f - directory)) - (("include" . directory) - (if (string=? "bash" (package-name package)) - #f - directory)) - ((_ . directory) directory)) - (derivation->output-paths drv))))) + ((or (name package) (name package _)) + (let ((drv (package-derivation store package system))) + ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's + ;; hard to avoid, so we tolerate it. This should be the + ;; only exception. Likewise, 'bash:include' depends on + ;; bootstrap-binaries via its 'Makefile.inc' (FIXME). + (filter-map (match-lambda + (("debug" . directory) + (if (string=? "glibc" (package-name package)) + #f + directory)) + (("include" . directory) + (if (string=? "bash" (package-name package)) + #f + directory)) + ((_ . directory) directory)) + (derivation->output-paths drv))))) %final-inputs)) (define (assert-valid-substitute substitute) From e087dad3ab82bc3cadaa486e97dad1518d35fa7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 25 Mar 2018 00:29:59 +0100 Subject: [PATCH 074/233] gnu: less: Update to 530. * gnu/packages/less.scm (less): Update to 530. --- gnu/packages/less.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index 0aa4665840..2827951280 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -26,7 +26,7 @@ (define-public less (package (name "less") - (version "487") + (version "530") (source (origin (method url-fetch) @@ -34,7 +34,7 @@ version ".tar.gz")) (sha256 (base32 - "01i7n6jaxwmww3pasy3hg38zc6x7jw0w05mqqvh6caqbrdaq9p7k")))) + "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "https://www.gnu.org/software/less/") From 11e01891e325949bc71b49e356f56d125b70240e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 17:49:52 +0100 Subject: [PATCH 075/233] doc: Fix typo. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Web Services): Fix ‘wether’ typo. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index a090b2cad3..49b3dd10d7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15740,7 +15740,7 @@ Must be either: @item @code{} @end table @item @code{display-errors} (default @code{#f}) -Determines wether php errors and warning should be sent to clients +Determines whether php errors and warning should be sent to clients and displayed in their browsers. This is useful for local php development, but a security risk for public sites, as error messages can reveal passwords and personal data. From 929e2d9f984bbe841d712eb049abae9d83c3df74 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 21:05:55 +0100 Subject: [PATCH 076/233] gnu: links: Update to 2.15. * gnu/packages/web-browsers.scm (links): Update to 2.15. [source]: Remove patch for fixed CVE. * gnu/packages/patches/links-CVE-2017-11114.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/links-CVE-2017-11114.patch | 99 ------------------- gnu/packages/web-browsers.scm | 7 +- 3 files changed, 3 insertions(+), 104 deletions(-) delete mode 100644 gnu/packages/patches/links-CVE-2017-11114.patch diff --git a/gnu/local.mk b/gnu/local.mk index 26d2369a5a..b810e7b02f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -884,7 +884,6 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-newer-libconfig.patch \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ - %D%/packages/patches/links-CVE-2017-11114.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ diff --git a/gnu/packages/patches/links-CVE-2017-11114.patch b/gnu/packages/patches/links-CVE-2017-11114.patch deleted file mode 100644 index c5ac9884b5..0000000000 --- a/gnu/packages/patches/links-CVE-2017-11114.patch +++ /dev/null @@ -1,99 +0,0 @@ -Fix CVE-2017-11114: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11114 -http://seclists.org/fulldisclosure/2017/Jul/76 - -Patch copied from Debian: - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870299#12 - -Origin: upstream, commit: fee5dca79a93a37024e494b985386a5fe60bc1b7 -Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870299#12 -Author: Mikulas Patocka -Date: Wed Aug 2 20:13:29 2017 +0200 -Subject: Fix read out of memory in case of corrupted UTF-8 data - ---- - charsets.c | 37 +------------------------------------ - links.h | 9 ++++----- - 2 files changed, 5 insertions(+), 41 deletions(-) - -Index: links-2.14/charsets.c -=================================================================== ---- links-2.14.orig/charsets.c -+++ links-2.14/charsets.c -@@ -215,41 +215,6 @@ static struct conv_table *get_translatio - return utf_table; - } - --unsigned short int utf8_2_uni_table[0x200] = { -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 192, 0, -- 0, 0, 256, 0, 0, 0, 320, 0, 0, 0, 384, 0, 0, 0, 448, 0, -- 0, 0, 512, 0, 0, 0, 576, 0, 0, 0, 640, 0, 0, 0, 704, 0, -- 0, 0, 768, 0, 0, 0, 832, 0, 0, 0, 896, 0, 0, 0, 960, 0, -- 0, 0, 1024, 0, 0, 0, 1088, 0, 0, 0, 1152, 0, 0, 0, 1216, 0, -- 0, 0, 1280, 0, 0, 0, 1344, 0, 0, 0, 1408, 0, 0, 0, 1472, 0, -- 0, 0, 1536, 0, 0, 0, 1600, 0, 0, 0, 1664, 0, 0, 0, 1728, 0, -- 0, 0, 1792, 0, 0, 0, 1856, 0, 0, 0, 1920, 0, 0, 0, 1984, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --}; -- - unsigned char utf_8_1[256] = { - 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -@@ -269,7 +234,7 @@ unsigned char utf_8_1[256] = { - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 6, 6, - }; - --static_const unsigned min_utf_8[9] = { -+static_const unsigned min_utf_8[8] = { - 0, 0x4000000, 0x200000, 0x10000, 0x800, 0x80, 0x100, 0x1, - }; - -Index: links-2.14/links.h -=================================================================== ---- links-2.14.orig/links.h -+++ links-2.14/links.h -@@ -3906,15 +3906,14 @@ unsigned char *cp_strchr(int charset, un - void init_charset(void); - - unsigned get_utf_8(unsigned char **p); --extern unsigned short int utf8_2_uni_table[0x200]; - #define GET_UTF_8(s, c) \ - do { \ - if ((unsigned char)(s)[0] < 0x80) \ - (c) = (s)++[0]; \ -- else if (((c) = utf8_2_uni_table[((unsigned char)(s)[0] << 2) + \ -- ((unsigned char)(s)[1] >> 6) - 0x200])) \ -- (c) += (unsigned char)(s)[1] & 0x3f, (s) += 2; \ -- else \ -+ else if ((unsigned char)(s)[0] >= 0xc2 && (unsigned char)(s)[0] < 0xe0 &&\ -+ ((unsigned char)(s)[1] & 0xc0) == 0x80) { \ -+ (c) = (unsigned char)(s)[0] * 0x40 + (unsigned char)(s)[1], (c) -= 0x3080, (s) += 2;\ -+ } else \ - (c) = get_utf_8(&(s)); \ - } while (0) - #define FWD_UTF_8(s) \ diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index ef39d71411..6c929d326d 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -79,15 +79,14 @@ older or slower computers and embedded systems.") (define-public links (package (name "links") - (version "2.14") + (version "2.15") (source (origin (method url-fetch) (uri (string-append "http://links.twibright.com/download/" name "-" version ".tar.bz2")) - (patches (search-patches "links-CVE-2017-11114.patch")) - (sha256 + (sha256 (base32 - "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp")))) + "1jp3xyvp87a188b4kg5ycqahrazj7928zncgsznzn54w8d5iqahy")))) (build-system gnu-build-system) (arguments `(#:phases From eb762cc70cbb61145506491bfd7ac34a1fa28879 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 21:50:18 +0100 Subject: [PATCH 077/233] gnu: perl-www-mechanize: Update to 1.88. * gnu/packages/web.scm (perl-www-mechanize): Update to 1.88. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index c100ae8363..09026779e4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3662,7 +3662,7 @@ library.") (define-public perl-www-mechanize (package (name "perl-www-mechanize") - (version "1.87") + (version "1.88") (source (origin (method url-fetch) @@ -3670,7 +3670,7 @@ library.") "WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 - "1kxrydhl7nxlyjv0xvyiyj4igdv4fwnggv0ihlp79bysbjjl54w1")))) + "0yd8a1zsfpbv5wr79x3iqmik9gvcd10iam9dfrdan4dri9vpxn9n")))) (build-system perl-build-system) (native-inputs ;only for tests `(("perl-cgi" ,perl-cgi) From 5660325eb7dfbda8e3dde0da7bad9b6e3935f087 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:08:45 +0100 Subject: [PATCH 078/233] gnu: autossh: Update to 1.4f. * gnu/packages/ssh.scm (autossh): Update to 1.4f. --- gnu/packages/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 9ad5da0090..9d5fc2690d 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -589,7 +589,7 @@ authentication}.") (define-public autossh (package (name "autossh") - (version "1.4e") + (version "1.4f") (source (origin (method url-fetch) @@ -597,7 +597,7 @@ authentication}.") "http://www.harding.motd.ca/autossh/autossh-" version ".tgz")) (sha256 - (base32 "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly")))) + (base32 "1wpqwa2872nqgqbhnb6nnkrlzpdawd5k69gh1qp68354pvhyawh1")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; There is no "make check" or anything similar (inputs `(("openssh" ,openssh))) From 810cd037a01133915d8e81bfda52bc93a57c61a3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:32:50 +0100 Subject: [PATCH 079/233] gnu: emacs-mmm-mode: Update to 0.5.5. * gnu/packages/emacs.scm (emacs-mmm-mode): Update to 0.5.5. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index de0ee358d6..a95b57e86e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1366,7 +1366,7 @@ diagrams.") (define-public emacs-mmm-mode (package (name "emacs-mmm-mode") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) @@ -1376,7 +1376,7 @@ diagrams.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv")))) + "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc")))) (build-system gnu-build-system) (arguments '(#:phases From 749d800850df646e8a3ad0ea4936d923919a7dfe Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:34:20 +0100 Subject: [PATCH 080/233] gnu: perl-text-simpletable: Update to 2.04. * gnu/packages/perl.scm (perl-text-simpletable): Update to 2.04. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 39449d9320..ffb84440aa 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7952,7 +7952,7 @@ algorism to indicate multiplication by 1000.") (define-public perl-text-simpletable (package (name "perl-text-simpletable") - (version "2.03") + (version "2.04") (source (origin (method url-fetch) @@ -7960,7 +7960,7 @@ algorism to indicate multiplication by 1000.") "Text-SimpleTable-" version ".tar.gz")) (sha256 (base32 - "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs")))) + "14sjmdcy7s73sk740g3ccmzmwhwd52x5ay3bjmibjlql1cag70ld")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Text-SimpleTable/") (synopsis "Simple ASCII tables") From 904c3a4e999bbda53f96866c0e9f286372c94303 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:35:01 +0100 Subject: [PATCH 081/233] gnu: r-annotate: Update to 1.56.2. * gnu/packages/bioinformatics.scm (r-annotate): Update to 1.56.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2a3b311e65..b16ee2b607 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6062,14 +6062,14 @@ data types as well.") (define-public r-annotate (package (name "r-annotate") - (version "1.56.1") + (version "1.56.2") (source (origin (method url-fetch) (uri (bioconductor-uri "annotate" version)) (sha256 (base32 - "14c5xd9kasvcwg5gbjys2c1vizxhlqlzxakqc2kml0kw97hmx0rq")))) + "0ybg9k1s289h15nj1kp9821i1rsk1gkn8i8blplmk7gsgpbw1f42")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) From 4349f3d0bdf4909dc179804ae67ac1a8723c5e06 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:35:35 +0100 Subject: [PATCH 082/233] gnu: yoshimi: Update to 1.5.7. * gnu/packages/music.scm (yoshimi): Update to 1.5.7. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b7cb4ac99d..016b92367b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1952,7 +1952,7 @@ capabilities, custom envelopes, effects, etc.") (define-public yoshimi (package (name "yoshimi") - (version "1.5.6") + (version "1.5.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -1960,7 +1960,7 @@ capabilities, custom envelopes, effects, etc.") "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak")))) + "1w916mmi6hh547a7icrgx6qr2kwxlxwlm6ampql427rshcz9r61k")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests From 4fbcc21dc328801cb86aa23b88d03b2d4eda0600 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:36:08 +0100 Subject: [PATCH 083/233] gnu: python-gitpython: Update to 2.1.1.9. * gnu/packages/version-control.scm (python-gitpython): Update to 2.1.9. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index eb320c8b7a..5cc0548dba 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -694,13 +694,13 @@ allowing to handle large objects with a small memory footprint.") (define-public python-gitpython (package (name "python-gitpython") - (version "2.1.8") + (version "2.1.9") (source (origin (method url-fetch) (uri (pypi-uri "GitPython" version)) (sha256 (base32 - "1sbn018mn3y2r58ix5z12na1s02ccprhckb88yq3bdddvqjvqqdd")))) + "0a9in1jfv9ssxhckl6sasw45bhm762y2r5ikgb2pk2g8yqdc6z64")))) (build-system python-build-system) (arguments `(#:tests? #f ;XXX: Tests can only be run within the GitPython repository. From e0bee0de70ed468c3ed8f15c274bb937bb8ffebc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:36:38 +0100 Subject: [PATCH 084/233] gnu: ceres-solver: Update to 1.14.0. * gnu/packages/maths.scm (ceres-solver): Update to 1.14.0. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index bfe4506cbd..be3073e265 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1260,7 +1260,7 @@ interfaces.") (define-public ceres (package (name "ceres-solver") - (version "1.13.0") + (version "1.14.0") (home-page "http://ceres-solver.org/") (source (origin (method url-fetch) @@ -1268,7 +1268,7 @@ interfaces.") version ".tar.gz")) (sha256 (base32 - "1kbxgab3q1vgyq7hjqasr1lji4b2sgn7ss351amklkb3jyhr1x0x")))) + "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27")))) (build-system cmake-build-system) (arguments ;; TODO: Build HTML user documentation and install separately. From faf44e3810ac6da96eb40adb395a6d99b63b1927 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 22:37:10 +0100 Subject: [PATCH 085/233] gnu: neomutt: Update to 20180323. * gnu/packages/mail.scm (neomutt): Update to 20180323. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b7cd38dbbc..4e273a0dae 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -296,7 +296,7 @@ operating systems.") (define-public neomutt (package (name "neomutt") - (version "20180223") + (version "20180323") (source (origin (method url-fetch) @@ -304,7 +304,7 @@ operating systems.") "/archive/" name "-" version ".tar.gz")) (sha256 (base32 - "1fr7158xhrhasylyxp709g9mdbggdmni3qn3baxvczfg2w003fhh")))) + "12v7zkm809cvjxfz0n7jb4qa410ns1ydyf0gjin99vbdrlj88jac")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) From 491883a6ea6d0941cc6db7583e441ee8abeb5abd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 11:44:42 +0100 Subject: [PATCH 086/233] gnu: aisleriot: Update to 3.22.5. * gnu/packages/gnome.scm (aisleriot): Update to 3.22.5. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9841e11863..45621873e3 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3127,7 +3127,7 @@ playlists in a variety of formats.") (define-public aisleriot (package (name "aisleriot") - (version "3.22.4") + (version "3.22.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3135,7 +3135,7 @@ playlists in a variety of formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1yrldsf73rd5p51dsxgbx1hmrakq0x0jc2kl6y6pgaviswxfx3gy")))) + "0rl39psr5xi584310pyrgw36ini4wn7yr2m1q5118w3a3v1dkhzh")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags From 36828576b3fad81b61ca2efcc65ae6aa8f0e82c9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 11:45:51 +0100 Subject: [PATCH 087/233] gnu: gnome-klotski: Update to 3.22.3. * gnu/packages/gnome.scm (gnome-klotski): Update to 3.22.3. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 45621873e3..fb9a94450b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3482,7 +3482,7 @@ GNOME Games, but it may be used by others.") (define-public gnome-klotski (package (name "gnome-klotski") - (version "3.22.2") + (version "3.22.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3490,7 +3490,7 @@ GNOME Games, but it may be used by others.") name "-" version ".tar.xz")) (sha256 (base32 - "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h")))) + "0prc0s28pdflgzyvk1g0yfx982q2grivmz3858nwpqmbkha81r7f")))) (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) From 1a52206e6027c7d791edc2d8eac7475c48aec266 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 23:44:15 +0100 Subject: [PATCH 088/233] gnu: python-ly: Use PYPI-URI. * gnu/packages/python.scm (python-ly)[source]: Use PYPI-URI. --- gnu/packages/python.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3811233272..cda0b50117 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5797,9 +5797,7 @@ from an XML-based format.") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/57/4f/" - "889579244947368f28eda66b782331b1e75f83fd72e63f9ece93cd7a18f9" - "/python-ly-" version ".tar.gz")) + (uri (pypi-uri name version)) (sha256 (base32 "0x98dv7p8mg26p4816yy8hz4f34zf6hpnnfmr56msgh9jnsm2qfl")))) From ef82b71c0ffa4a58adb6b0811f4ef481cdf63d5a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 15:51:59 +0100 Subject: [PATCH 089/233] gnu: hunspell: Update to 1.6.2. * gnu/packages/libreoffice.scm (hunspell): Update to 1.6.2. --- gnu/packages/libreoffice.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 316602adbc..e9a35c8309 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Alex Griffin ;;; Copyright © 2017 Thomas Danckaert -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 Ludovic Courtès ;;; Copyright © 2017, 2018 Marius Bakke @@ -689,14 +689,14 @@ Zoner Draw version 4 and 5.") (define-public hunspell (package (name "hunspell") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/hunspell/hunspell/archive/v" version ".tar.gz")) (sha256 (base32 - "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h")) + "1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (native-inputs From 1635cb5083dad811b4431bf16fb1442c037917a3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 23:14:48 +0100 Subject: [PATCH 090/233] gnu: hunspell: Use INVOKE. * gnu/packages/libreoffice.scm (hunspell)[arguments]: Substitute INVOKE for SYSTEM* and end phase with explicit #t. --- gnu/packages/libreoffice.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index e9a35c8309..efa69745dc 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -710,7 +710,7 @@ Zoner Draw version 4 and 5.") (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + (invoke "autoreconf" "-vfi") #t))))) (native-search-paths (list (search-path-specification (variable "DICPATH") (files '("share/hunspell"))))) From 4541072c11feb8965779462a94bb4017e2080379 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 11:51:15 +0100 Subject: [PATCH 091/233] gnu: libstrophe: Update to 0.9.2. * gnu/packages/messaging.scm (libstrophe): Update to 0.9.2. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 45020f31b0..b3eff1ec1f 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1398,7 +1398,7 @@ manual SSL certificate verification.") (define-public libstrophe (package (name "libstrophe") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/strophe/libstrophe/archive/" @@ -1406,7 +1406,7 @@ manual SSL certificate verification.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hzwdax4nsz0fncf5bjfza0cn0lc6xsf38y569ql1gg5hvwr6169")))) + "0vxfcyfnhnlaj6spm2b0ljw5i3knbphy6mvzpl5zv9b52ny4b08m")))) (build-system gnu-build-system) (arguments `(#:phases From c7da85104ba9617b122046a7f34473aa530813b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 17:57:46 +0100 Subject: [PATCH 092/233] gnu: gnome-autoar: Update to 0.2.3. * gnu/packages/gnome.scm (gnome-autoar): Update to 0.2.3. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fb9a94450b..4a63d3032e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5658,7 +5658,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5666,7 +5666,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.") name "-" version ".tar.xz")) (sha256 (base32 - "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1")))) + "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gnome-common" ,gnome-common) From 4bd76eac1100dc9c8c9bc97f3ea97d1fdbdeb595 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 21:15:11 +0100 Subject: [PATCH 093/233] gnu: python-graphviz: Update to 0.8.2. * gnu/packages/graphviz.scm (python-graphviz): Update to 0.8.2. --- gnu/packages/graphviz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 2fefb41c0a..43e7ccac42 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -115,13 +115,13 @@ interfaces for other technical domains.") (define-public python-graphviz (package (name "python-graphviz") - (version "0.8.1") + (version "0.8.2") (source (origin (method url-fetch) (uri (pypi-uri "graphviz" version ".zip")) (sha256 (base32 - "00rzqsmq25b0say05vix5xivchdvsv83jl2i8pkryqd0nz4bxzvb")))) + "148h7ln8z65c1723w9vpx8khkvl9iigh8csv0qd4pidc53042rv0")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip))) From a2b9cfa547bb360b72ce357459ebc8dab3043132 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 21:13:00 +0100 Subject: [PATCH 094/233] gnu: clutter-gst: Update to 3.0.26. * gnu/packages/gnome.scm (clutter-gst): Update to 3.0.26. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4a63d3032e..205e2c4877 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3347,7 +3347,7 @@ presentations, kiosk style applications and so on.") (define-public clutter-gst (package (name "clutter-gst") - (version "3.0.24") + (version "3.0.26") (source (origin (method url-fetch) @@ -3356,7 +3356,7 @@ presentations, kiosk style applications and so on.") name "-" version ".tar.xz")) (sha256 (base32 - "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9")))) + "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums From a26040c5eeb04826618485ed3de487fa1b5768f7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 21:08:50 +0100 Subject: [PATCH 095/233] gnu: ruby-ffi: Update to 1.9.23. * gnu/packages/libffi.scm (ruby-ffi): Update to 1.9.23. --- gnu/packages/libffi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index dd6b2237f9..80a21c0264 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -153,13 +153,13 @@ conversions for values passed between the two languages.") (define-public ruby-ffi (package (name "ruby-ffi") - (version "1.9.22") + (version "1.9.23") (source (origin (method url-fetch) (uri (rubygems-uri "ffi" version)) (sha256 (base32 - "17lvnpmllg4mlzf25lxbmfzk4l6rsddlxwwdkbs4d9v5gv154529")))) + "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr")))) (build-system ruby-build-system) ;; FIXME: Before running tests the build system attempts to build libffi ;; from sources. From d4297f71c6713f6fda5adf309e82e08d7eef9435 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 17:55:47 +0100 Subject: [PATCH 096/233] gnu: gexiv2: Update to 0.10.8. * gnu/packages/gnome.scm (gexiv2): Update to 0.10.8. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 205e2c4877..0bfa431f5a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4394,7 +4394,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.10.7") + (version "0.10.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4402,7 +4402,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb")))) + "0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1")))) (build-system meson-build-system) (native-inputs `(("glib" ,glib "bin") From c77fb2d65810265574d05b697e2592bcf8e71148 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 17:53:49 +0100 Subject: [PATCH 097/233] gnu: libdvdcss: Update to 1.4.2. * gnu/packages/video.scm (libdvdcss): Update to 1.4.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b19581a46c..6b214d49ad 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1511,7 +1511,7 @@ encapsulated.") (define-public libdvdcss (package (name "libdvdcss") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/" @@ -1519,7 +1519,7 @@ encapsulated.") name "-" version ".tar.bz2")) (sha256 (base32 - "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb")))) + "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq")))) (build-system gnu-build-system) (home-page "https://www.videolan.org/developers/libdvdcss.html") (synopsis "Library for accessing DVDs as block devices") From be828bc40aa2a42429445a1daa0e04f0e4a0d6f8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 25 Mar 2018 09:37:17 +0300 Subject: [PATCH 098/233] gnu: clisp: Remove ineffective 'remove-timestamp' phase. * gnu/packages/lisp.scm (clisp)[arguments]: Remove 'remove-timestamps' phase. --- gnu/packages/lisp.scm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e4a4e56099..9020cf739a 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -288,14 +288,6 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") (("/bin/sh") "sh")) (substitute* '("src/clisp-link.in") (("/bin/pwd") "pwd")) - #t)) - (add-after 'unpack 'remove-timestamps - (lambda _ - (substitute* "src/constobj.d" - (("__DATE__ __TIME__") "\"1\"")) - (substitute* "src/genclisph.d" - (("__DATE__") "\"1\"") - (("__TIME__") "\"1\"")) #t))) ;; Makefiles seem to have race conditions. #:parallel-build? #f)) From 4bd2e2a5b04a52e2ebccb23e782efd53199e8af6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 25 Mar 2018 09:37:55 +0300 Subject: [PATCH 099/233] gnu: clisp: Update license. License clarified with upstream. * gnu/packages/lisp.scm (clisp)[license]: Correct license to gpl2+. --- gnu/packages/lisp.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 9020cf739a..1f8e6ab427 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -297,10 +297,7 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") "GNU CLISP is an implementation of ANSI Common Lisp. Common Lisp is a high-level, object-oriented functional programming language. CLISP includes an interpreter, a compiler, a debugger, and much more.") - ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have - ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such - ;; as CLX by Texas Instruments.) In that case gpl3+ wins out. - (license license:gpl3+))) + (license license:gpl2+))) (define-public sbcl (package From cd49e4789a1c1854f3af0c5a466af70f0f54b929 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 14:04:18 +0200 Subject: [PATCH 100/233] gnu: gtkspell3: Add enchant. * gnu/packages/gtk.scm (gtkspell3)[native-inputs]: Add enchant. --- gnu/packages/gtk.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f279c5c245..dd722aa5aa 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1563,6 +1563,8 @@ glass artworks done by Venicians glass blowers.") ("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+) ("pango" ,pango))) + (propagated-inputs + `(("enchant" ,enchant))) ; gtkspell3-3.0.pc refers to it. (home-page "http://gtkspell.sourceforge.net") (synopsis "Spell-checking addon for GTK's TextView widget") (description From 1679923a2c8ca8f75e1ca69babfaad9e5e5971b6 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 14:07:47 +0200 Subject: [PATCH 101/233] gnu: Add pan. * gnu/packages/mail.scm (pan): New variable. --- gnu/packages/mail.scm | 50 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4e273a0dae..16705b6afd 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -108,7 +108,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages docbook) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ + #:select (fdl1.1+ gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ non-copyleft (expat . license:expat) bsd-3 public-domain bsd-4 isc (openssl . license:openssl) bsd-2 x11-style agpl3 asl2.0 perl-license)) @@ -2464,3 +2464,51 @@ provides automatic tagging each time new mail is registered with notmuch. It can add tags based on email headers or Maildir folders and can handle spam and killed threads.") (license isc))) + +(define-public pan + (package + (name "pan") + (version "0.144") + (source + (origin + (method url-fetch) + (uri (string-append "http://pan.rebelbase.com/download/releases/" + version "/source/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0l07y75z8jxhbmfv28slw81gjncs7i89x7fq44zif7xhq5vy7yli")))) + (arguments + `(#:configure-flags '("--with-gtk3" "--with-gtkspell" "--with-gnutls" + "--enable-libnotify" "--enable-manual" + "--enable-gkr") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-gpg2 + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "pan/usenet-utils/gpg.cc" + (("\"gpg2\"") (string-append "\"" + (assoc-ref inputs "gnupg") + "/bin/gpg\""))) + #t))))) + (inputs + `(("gmime" ,gmime) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("libnotify" ,libnotify) + ("libsecret" ,libsecret) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (native-inputs + `(("gettext-minimal" ,gettext-minimal) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (home-page "http://pan.rebelbase.com/") + (synopsis "Pan newsreader") + (description "@code{pan} is a Usenet newsreader that's good at both text +and binaries. It supports offline reading, scoring and killfiles, yEnc, NZB, +PGP handling, multiple servers, and secure connections.") + ;; License of the docs: fdl-1.1; Others: gpl2. + (license (list fdl1.1+ gpl2)))) From 6cf2ac3cd6a42ded34814ac9120c7637cf3f8c7f Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 14:11:35 +0200 Subject: [PATCH 102/233] gnu: Add pure. * gnu/packages/pure.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/pure.scm | 68 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/pure.scm diff --git a/gnu/local.mk b/gnu/local.mk index b810e7b02f..933649f43b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -349,6 +349,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/pumpio.scm \ %D%/packages/pretty-print.scm \ %D%/packages/protobuf.scm \ + %D%/packages/pure.scm \ %D%/packages/pv.scm \ %D%/packages/python.scm \ %D%/packages/python-crypto.scm \ diff --git a/gnu/packages/pure.scm b/gnu/packages/pure.scm new file mode 100644 index 0000000000..b0fd93b39b --- /dev/null +++ b/gnu/packages/pure.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Danny Milosavljevic +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages pure) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (gnu packages) + #:use-module (gnu packages llvm) + #:use-module (gnu packages multiprecision)) + +(define-public pure + (package + (name "pure") + (version "0.67") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/agraef/pure-lang/releases/" + "download/pure-" version "/" + "pure-" version ".tar.gz")) + (sha256 + (base32 + "1hlx5dx6n70rbg668yc97yj4jbnrv0dpfw3l9b0ffmcgr76f6ba4")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-llvm-lookup + (lambda _ + (substitute* "configure" + (("-lLLVM-[$][{]llvm_version[}]") + "`$LLVMCONF --libs`")) + #t))))) + (inputs + `(("gmp" ,gmp) + ("llvm" ,llvm-3.5) + ("mpfr" ,mpfr))) + (home-page "https://agraef.github.io/pure-lang/") + (synopsis "Pure programming Language") + (description "@code{pure} is a programming language based on term +rewriting. It offers equational definitions with pattern matching, +full symbolic rewriting capabilities, dynamic typing, eager and lazy +evaluation, lexical closures, built-in list and matrix support and +a C interface.") + (license license:gpl3+))) From c35d9830ce1e3bd9fa715d2de658db7512420d16 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 16:58:26 +0200 Subject: [PATCH 103/233] gnu: fc-host-tools: Update to version 8. * gnu/packages/embedded.scm (fc-host-tools): Update to version 8. --- gnu/packages/embedded.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 6f09c8f353..9e91ef49df 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -979,14 +979,14 @@ SPI, I2C, JTAG.") (define-public fc-host-tools (package (name "fc-host-tools") - (version "7") + (version "8") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/" "FreeCalypso/fc-host-tools-r" version ".tar.bz2")) (sha256 (base32 - "0j0qh5m2irgdf4v9n4yhfdfqz9k8q27k0rx9m0xqc0ckbrih8d9r")))) + "00kl9442maaxnsjvl5qc4c6fzjkgr3hac9ax1z2k6ry6byfknj6z")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. From a4e7215df2530978a7764813270af311b2d2dd63 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 18:51:03 +0200 Subject: [PATCH 104/233] gnu: Add python2-ipy. * gnu/packages/networking.scm (python2-ipy): New variable. --- gnu/packages/networking.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 0384885426..d62693c1a7 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1318,6 +1318,9 @@ handling for most notations in use for IPv4 and IPv6 addresses and networks.") (license license:bsd-3))) +(define-public python2-ipy + (package-with-python2 python-ipy)) + (define-public speedtest-cli (package (name "speedtest-cli") From 9b36e3bf25cf5df94858ac5860e2e7ad8239aa31 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 25 Mar 2018 19:25:31 +0200 Subject: [PATCH 105/233] gnu: Add python-parted. * gnu/packages/disk.scm (python-parted, python2-parted): New variables. --- gnu/packages/disk.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 756a9f5451..96c3a56e7e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -416,3 +416,43 @@ capacity of a flash card (flash drive, flash disk, pendrive). F3 writes to the card and then checks if can read it. It will assure you haven't been sold a card with a smaller capacity than stated.") (license license:gpl3+))) + +(define-public python-parted + (package + (name "python-parted") + (version "3.11.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dcantrell/pyparted/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0r1nyjj40nacnfnv17x2mnsj6ga1qplyxyza82v2809dfhim2fwq")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs inputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + ;; See . + (substitute* "tests/test__ped_ped.py" + (("\"/tmp/temp-device-\"") "self.path")) + (invoke "python" "-m" "unittest" "discover" "-v") + #t))))) + (native-inputs + `(("e2fsprogs" ,e2fsprogs) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("python-six" ,python-six))) + (inputs + `(("parted" ,parted))) + (home-page "https://github.com/dcantrell/pyparted") + (synopsis "Parted bindings for Python") + (description "This package provides @code{parted} bindings for Python.") + (license license:gpl2+))) + +(define-public python2-parted + (package-with-python2 python-parted)) From 7112b2f148fbed64976d2f9f43c69a22fd511c16 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Mar 2018 11:50:37 +0100 Subject: [PATCH 106/233] gnu: openlibm: Update to 0.5.5. * gnu/packages/maths.scm (openlibm): Update to 0.5.5. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index be3073e265..a0a539e448 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2832,7 +2832,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (define-public openlibm (package (name "openlibm") - (version "0.5.1") + (version "0.5.5") (source (origin (method url-fetch) @@ -2841,7 +2841,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11czx2z7nh6dfpz45s3xl7v38hw36jxzxfvny454bk3if14pfakq")))) + "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07")))) (build-system gnu-build-system) (arguments `(#:make-flags From 883fa31088544e27ee79f300adf415f917e48058 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 24 Mar 2018 20:35:33 +0100 Subject: [PATCH 107/233] gnu: python-pyld: Update to 1.0.3. * gnu/packages/python.scm (python-pyld): Update to 1.0.3. [arguments]: Run the new test suite. --- gnu/packages/python.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cda0b50117..148cfb8bcd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1767,15 +1767,14 @@ files.") (define-public python-pyld (package (name "python-pyld") - (version "0.7.1") + (version "1.0.3") (source (origin (method url-fetch) (uri (pypi-uri "PyLD" version)) (sha256 (base32 - "1m0fs6897vxfkf7awah5i66i7b7smm5fnywf1w50fpzyfbfhr156")))) + "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm")))) (build-system python-build-system) - (arguments `(#:tests? #f)) ; no tests (home-page "https://github.com/digitalbazaar/pyld") (synopsis "Python implementation of the JSON-LD specification") (description From 326654e42becaaa7829f8783bcf075f729d5ecef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 17:31:22 +0200 Subject: [PATCH 108/233] gnu: flashrom: Support libusb versions >1.0.21. * gnu/packages/flashing-tools.scm (flashrom)[arguments]: Override CFLAGS in #:make-flags. --- gnu/packages/flashing-tools.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 36c8353ee0..dd0eaa5df8 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -48,6 +48,7 @@ (define-public flashrom (package (name "flashrom") + ;; XXX: The CFLAGS=... line below can probably be removed when updating. (version "1.0") (source (origin (method url-fetch) @@ -64,9 +65,13 @@ ("libftdi" ,libftdi))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output) - "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") + '(#:make-flags + (list "CC=gcc" + ;; The default includes ‘-Wall -Werror’, causing the build to fail + ;; with deprecation warnings against libusb versions >= 1.0.22. + "CFLAGS=-Os -Wshadow" + (string-append "PREFIX=" %output) + "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") #:tests? #f ; no 'check' target #:phases (modify-phases %standard-phases From 5b367a1adefb27bb335bffb0d9b2b96604ae7862 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 17:48:34 +0200 Subject: [PATCH 109/233] gnu: hlint: Update to 2.1.1. * gnu/packages/haskell.scm (hlint): Update to 2.1.1. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4fc2b40502..0bc8e52fde 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1080,7 +1080,7 @@ specify refactorings without depending on GHC.") (define-public hlint (package (name "hlint") - (version "2.1") + (version "2.1.1") (source (origin (method url-fetch) @@ -1089,7 +1089,7 @@ specify refactorings without depending on GHC.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "13chm0dhh1fn2iy3flnh7ahc3yzh8q0v10qxwd1739sywhykayg9")))) + "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4")))) (build-system haskell-build-system) (inputs `(("cpphs" ,cpphs) From 5a5b866324bc47097d76a7288a8fb1ecad4da626 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 18:01:59 +0200 Subject: [PATCH 110/233] gnu: filezilla: Update to 3.31.0. * gnu/packages/ftp.scm (filezilla): Update to 3.31.0. --- gnu/packages/ftp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 4ad6bcbf1b..74c1aea58e 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -210,7 +210,7 @@ output. (define-public filezilla (package (name "filezilla") - (version "3.29.0") + (version "3.31.0") (source (origin (method url-fetch) @@ -219,7 +219,7 @@ output. "/FileZilla_" version "_src" ".tar.bz2")) (sha256 (base32 - "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga")))) + "1rfysb8dil35a7bzj2kw0mzzkys39d7yn6ipsbk8l6rkwfvnii8l")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. From bbc55a7dfa2657d5726d51a13065a3eacdece544 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 18:10:14 +0200 Subject: [PATCH 111/233] gnu: mate-themes: Update to 3.22.15. * gnu/packages/mate.scm (mate-themes): Update to 3.22.15. --- gnu/packages/mate.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 0f7d492e31..09c97e7274 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -154,7 +154,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") (define-public mate-themes (package (name "mate-themes") - (version "3.22.14") + (version "3.22.15") (source (origin (method url-fetch) (uri (string-append "https://pub.mate-desktop.org/releases/themes/" @@ -162,7 +162,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") version ".tar.xz")) (sha256 (base32 - "09fqvlnmrvc73arl7jv9ygkxi46lw7c1q8qra6w3ap7x83f9zdak")))) + "0cmlbj6vlkavdirc5xnsgwmy0m11bj9yrbv1dkq46n1s23rvv6wg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From 1dc3109707df41f5f517abd3d6d00adfbab8bd0e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 18:25:53 +0200 Subject: [PATCH 112/233] gnu: scotch: Use predictable source URI. * gnu/packages/maths.scm (scotch)[source]: Use predictable URI. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a0a539e448..808e7d1b5f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2170,8 +2170,8 @@ implemented in ANSI C, and MPI for communications.") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/34618/" - "scotch_" version ".tar.gz")) + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "latestfile/298/scotch_" version ".tar.gz")) (sha256 (base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm")) (patches (search-patches "scotch-test-threading.patch" From 58ee8a94a90eb40496b9704d541b5dfbbf1685ba Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 18:53:08 +0200 Subject: [PATCH 113/233] gnu: libusb: Update to 1.0.22. * gnu/packages/libusb.scm (libusb): Update to 1.0.22. --- gnu/packages/libusb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index e5a63803d8..8357e5f999 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -48,7 +48,7 @@ (define-public libusb (package (name "libusb") - (version "1.0.21") + (version "1.0.22") (source (origin (method url-fetch) @@ -56,7 +56,7 @@ "libusb-" version "/libusb-" version ".tar.bz2")) (sha256 (base32 - "0jw2n5kdnrqvp7zh792fd6mypzzfap6jp4gfcmq4n6c1kb79rkkx")))) + "0mw1a5ss4alg37m6bd4k44v35xwrcwp5qm4s686q1nsgkbavkbkm")))) (build-system gnu-build-system) ;; XXX: Enabling udev is now recommended, but eudev indirectly depends on From a667d20e9a7a7ca9d9b9d96efacb4da406439937 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 25 Mar 2018 20:00:09 +0200 Subject: [PATCH 114/233] gnu: libmtp: Update to 1.1.15. * gnu/packages/libusb.scm (libmtp): Update to 1.1.15. --- gnu/packages/libusb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 8357e5f999..4af9cd95bb 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -252,14 +252,14 @@ implementing @code{javax.usb} (JSR-80).") (define-public libmtp (package (name "libmtp") - (version "1.1.14") + (version "1.1.15") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 (base32 - "1s0jyhypxmj0j8s003ba1n74x63h1rw8am9q4z2ip3xyjvid65rq")))) + "089h79nkz7wcr3lbqi7025l8p75hbp0aigxk3wdk2zkm8q5r0h6h")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 45f762ee968ff684107fb08f407bbea5e5852449 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 19:27:22 +0200 Subject: [PATCH 115/233] gnu: Add classpath-bootstrap. * gnu/packages/java.scm (classpath-bootstrap): New variable. --- gnu/packages/java.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f226a69846..882a8b462e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -215,6 +215,49 @@ etc.). SableVM is no longer maintained. This package provides the virtual machine.") (license license:lgpl2.1+))) +;; This is the last version of GNU Classpath that can be built without ECJ. +(define classpath-bootstrap + (package + (name "classpath") + (version "0.93") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/classpath/classpath-" + version ".tar.gz")) + (sha256 + (base32 + "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "JAVAC=" + (assoc-ref %build-inputs "jikes") + "/bin/jikes") + "--disable-Werror" + "--disable-gmp" + "--disable-gtk-peer" + "--disable-gconf-peer" + "--disable-plugin" + "--disable-dssi" + "--disable-alsa" + "--disable-gjdoc") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-data + (lambda _ (zero? (system* "make" "install-data"))))))) + (native-inputs + `(("jikes" ,jikes) + ("fastjar" ,fastjar) + ("libltdl" ,libltdl) + ("pkg-config" ,pkg-config))) + (home-page "https://www.gnu.org/software/classpath/") + (synopsis "Essential libraries for Java") + (description "GNU Classpath is a project to create core class libraries +for use with runtimes, compilers and tools for the Java programming +language.") + ;; GPLv2 or later, with special linking exception. + (license license:gpl2+))) + (define ant-bootstrap (package (name "ant-bootstrap") From 063629aa3ef21e216357430ab1601fc58d0f4daf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 19:27:57 +0200 Subject: [PATCH 116/233] gnu: Add jamvm-1-bootstrap. * gnu/packages/java.scm (jamvm-1-bootstrap): New variable. --- gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 882a8b462e..a8ba91127f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -258,6 +258,37 @@ language.") ;; GPLv2 or later, with special linking exception. (license license:gpl2+))) +;; This is the last version of JamVM that works with a version of GNU +;; classpath that does not require ECJ. +(define jamvm-1-bootstrap + (package + (name "jamvm") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/jamvm/jamvm/" + "JamVM%20" version "/jamvm-" + version ".tar.gz")) + (sha256 + (base32 + "06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-classpath-install-dir=" + (assoc-ref %build-inputs "classpath"))))) + (inputs + `(("classpath" ,classpath-bootstrap) + ("jikes" ,jikes) + ("zlib" ,zlib))) + (home-page "http://jamvm.sourceforge.net/") + (synopsis "Small Java Virtual Machine") + (description "JamVM is a Java Virtual Machine conforming to the JVM +specification edition 2 (blue book). It is extremely small. However, unlike +other small VMs it supports the full spec, including object finalisation and +JNI.") + (license license:gpl2+))) + (define ant-bootstrap (package (name "ant-bootstrap") From aa432388da01ebf3f7262e958714fa8295a9df78 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 19:28:19 +0200 Subject: [PATCH 117/233] gnu: ant-bootstrap: Build with JamVM 1.5.1. * gnu/packages/java.scm (ant-bootstrap)[native-inputs]: Replace sablevm with jamvm-1-bootstrap. [arguments]: Adjust accordingly. --- gnu/packages/java.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a8ba91127f..c039791c87 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -312,15 +312,16 @@ JNI.") (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) - (setenv "JAVA_HOME" - (string-append (assoc-ref inputs "sablevm") - "/lib/sablevm")) + (setenv "JAVA_HOME" (assoc-ref inputs "jamvm")) (setenv "JAVACMD" - (string-append (assoc-ref inputs "sablevm") - "/bin/java-sablevm")) + (string-append (assoc-ref inputs "jamvm") + "/bin/jamvm")) (setenv "JAVAC" - (string-append (assoc-ref inputs "sablevm") - "/bin/javac-sablevm")) + (string-append (assoc-ref inputs "jikes") + "/bin/jikes")) + (setenv "CLASSPATH" + (string-append (assoc-ref inputs "jamvm") + "/lib/rt.jar")) ;; Use jikes instead of javac for tags in build.xml (setenv "ANT_OPTS" "-Dbuild.compiler=jikes") @@ -339,7 +340,7 @@ JNI.") (delete 'install)))) (native-inputs `(("jikes" ,jikes) - ("sablevm" ,sablevm))) + ("jamvm" ,jamvm-1-bootstrap))) (home-page "http://ant.apache.org") (synopsis "Build tool for Java") (description From ff4d9fdf8cca08e719a6330b0b25762bc8ccef6f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 19:33:48 +0200 Subject: [PATCH 118/233] gnu: ant-bootstrap: Update to 1.8.4. * gnu/packages/java.scm (ant-bootstrap): Update to 1.8.4. --- gnu/packages/java.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c039791c87..e2b2405efa 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -294,8 +294,8 @@ JNI.") (name "ant-bootstrap") ;; The 1.10.x series requires Java 8. 1.9.0 and later use generics, which ;; are not supported. The 1.8.x series is the last to use only features - ;; supported by Jikes, but it cannot seem to be built with sablevm. - (version "1.7.1") + ;; supported by Jikes. + (version "1.8.4") (source (origin (method url-fetch) (uri (string-append "http://archive.apache.org/dist/" @@ -303,7 +303,7 @@ JNI.") version "-src.tar.bz2")) (sha256 (base32 - "19pvqvgkxgpgsqm4lvbki5sm0z84kxmykdqicvfad47gc1r9mi2d")))) + "1cg0lga887qz5iizh6mlkxp01lciymrhmp7wzxpl6zpnldxmzrjx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target From 6c775dc644958c6844048b02ae7f37890b8979c5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 19:34:13 +0200 Subject: [PATCH 119/233] gnu: ecj-bootstrap: Build with JamVM 1.5.1 and jikes. * gnu/packages/java.scm (ecj-bootstrap)[native-inputs]: Replace "sablevm" with "jikes" and "jamvm-1-bootstrap". [arguments]: Adjust accordingly. --- gnu/packages/java.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e2b2405efa..ad79e5c67a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -379,9 +379,12 @@ build process and its dependencies, whereas Make uses Makefile format.") (lambda* (#:key inputs #:allow-other-keys) (setenv "CLASSPATH" (string-join - (find-files (string-append (assoc-ref inputs "ant-bootstrap") - "/lib") - "\\.jar$") + (cons (string-append (assoc-ref inputs "jamvm") + "/lib/rt.jar") + (find-files (string-append + (assoc-ref inputs "ant-bootstrap") + "/lib") + "\\.jar$")) ":")) #t)) (replace 'build @@ -396,7 +399,7 @@ build process and its dependencies, whereas Make uses Makefile format.") Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"))) ;; Compile it all! - (and (zero? (apply system* "javac-sablevm" + (and (zero? (apply system* "jikes" (find-files "." "\\.java$"))) (zero? (system* "fastjar" "cvfm" "ecj-bootstrap.jar" "manifest" "."))))) @@ -410,7 +413,8 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"))) (native-inputs `(("ant-bootstrap" ,ant-bootstrap) ("unzip" ,unzip) - ("sablevm" ,sablevm) + ("jikes" ,jikes) + ("jamvm" ,jamvm-1-bootstrap) ("fastjar" ,fastjar))) (home-page "https://eclipse.org") (synopsis "Eclipse Java development tools core batch compiler") From c4f06c1164b2ce59fc601ad3f9ca86a4bdec96d4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 20:54:15 +0200 Subject: [PATCH 120/233] gnu: ecj-javac-wrapper: Do not use sablevm. * gnu/packages/java.scm (ecj-javac-wrapper)[native-inputs]: Remove sablevm and sablevm-classpath; add jamvm-1-bootstrap and classpath-bootstrap. [arguments]: Simplify builder now that only jamvm is used. --- gnu/packages/java.scm | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ad79e5c67a..11a6480584 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -431,7 +431,7 @@ requirement for all GNU Classpath releases after version 0.93.") (arguments `(#:modules ((guix build utils)) #:builder - (let ((backend 'sablevm)) + (begin (use-modules (guix build utils)) (let* ((bin (string-append (assoc-ref %outputs "out") "/bin")) (target (string-append bin "/javac")) @@ -439,24 +439,12 @@ requirement for all GNU Classpath releases after version 0.93.") "/bin/guile")) (ecj (string-append (assoc-ref %build-inputs "ecj-bootstrap") "/share/java/ecj-bootstrap.jar")) - (java (case backend - ((sablevm) - (string-append (assoc-ref %build-inputs "sablevm") - "/lib/sablevm/bin/java")) - ((jamvm) - (string-append (assoc-ref %build-inputs "jamvm") - "/bin/jamvm")))) - (bootcp (case backend - ((sablevm) - (let ((jvmlib (string-append - (assoc-ref %build-inputs "sablevm-classpath") - "/lib/sablevm"))) - (string-append jvmlib "/jre/lib/rt.jar"))) - ((jamvm) - (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath") - "/share/classpath"))) - (string-append jvmlib "/lib/glibj.zip:" - jvmlib "/lib/tools.zip")))))) + (java (string-append (assoc-ref %build-inputs "jamvm") + "/bin/jamvm")) + (bootcp (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath") + "/share/classpath"))) + (string-append jvmlib "/lib/glibj.zip:" + jvmlib "/lib/tools.zip")))) (mkdir-p bin) (with-output-to-file target (lambda _ @@ -475,10 +463,11 @@ requirement for all GNU Classpath releases after version 0.93.") (define (main args) (let ((classpath (getenv "CLASSPATH"))) (setenv "CLASSPATH" - (string-append ,ecj - (if classpath - (string-append ":" classpath) - "")))) + (string-join (list ,ecj + ,(string-append (assoc-ref %build-inputs "jamvm") + "/lib/rt.jar") + (or classpath "")) + ":"))) (receive (vm-args other-args) ;; Separate VM arguments from arguments to ECJ. (partition (cut string-prefix? "-J" <>) @@ -502,8 +491,8 @@ requirement for all GNU Classpath releases after version 0.93.") (native-inputs `(("guile" ,guile-2.2) ("ecj-bootstrap" ,ecj-bootstrap) - ("sablevm" ,sablevm) - ("sablevm-classpath" ,sablevm-classpath))) + ("jamvm" ,jamvm-1-bootstrap) + ("classpath" ,classpath-bootstrap))) (description "This package provides a wrapper around the @dfn{Eclipse compiler for Java} (ecj) with a command line interface that is compatible with the standard javac executable."))) From 8778da03c8e82885a89faae13c4bd52a53afefd9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 21:13:03 +0200 Subject: [PATCH 121/233] gnu: Replace classpath-on-sablevm with classpath-0.99. * gnu/packages/java.scm (classpath-on-sablevm): Replace with... (classpath-0.99): ...this new variable. (classpath-devel): Inherit from classpath-0.99. --- gnu/packages/java.scm | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 11a6480584..f3fe2b2d55 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -497,14 +497,11 @@ requirement for all GNU Classpath releases after version 0.93.") compiler for Java} (ecj) with a command line interface that is compatible with the standard javac executable."))) -;; Note: All the tool wrappers (e.g. for javah, javac, etc) fail with -;; java.lang.UnsupportedClassVersionError. They simply won't run on the old -;; sablevm. We use Classpath 0.99 to build JamVM, on which the Classpath -;; tools do run. Using these Classpath tools on JamVM we can then build the -;; development version of GNU Classpath. -(define classpath-on-sablevm - (package - (name "classpath") +;; The classpath-bootstrap was built without a virtual machine, so it does not +;; provide a wrapper for javah. We cannot build the development version of +;; Classpath without javah. +(define classpath-0.99 + (package (inherit classpath-bootstrap) (version "0.99") (source (origin (method url-fetch) @@ -513,7 +510,6 @@ the standard javac executable."))) (sha256 (base32 "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr")))) - (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "--with-ecj-jar=" @@ -523,8 +519,8 @@ the standard javac executable."))) (assoc-ref %build-inputs "ecj-javac-wrapper") "/bin/javac") (string-append "JAVA=" - (assoc-ref %build-inputs "sablevm") - "/bin/java-sablevm") + (assoc-ref %build-inputs "jamvm") + "/bin/jamvm") "GCJ_JAVAC_TRUE=no" "ac_cv_prog_java_works=yes" ; trust me "--disable-Werror" @@ -543,17 +539,10 @@ the standard javac executable."))) `(("ecj-bootstrap" ,ecj-bootstrap) ("ecj-javac-wrapper" ,ecj-javac-wrapper) ("fastjar" ,fastjar) - ("sablevm" ,sablevm) - ("sablevm-classpath" ,sablevm-classpath) + ("jamvm" ,jamvm-1-bootstrap) + ("classpath" ,classpath-bootstrap) ("libltdl" ,libltdl) - ("pkg-config" ,pkg-config))) - (home-page "https://www.gnu.org/software/classpath/") - (synopsis "Essential libraries for Java") - (description "GNU Classpath is a project to create core class libraries -for use with runtimes, compilers and tools for the Java programming -language.") - ;; GPLv2 or later, with special linking exception. - (license license:gpl2+))) + ("pkg-config" ,pkg-config))))) (define jamvm-bootstrap (package @@ -720,7 +709,7 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) (define-public classpath-devel (let ((commit "e7c13ee0cf2005206fbec0eca677f8cf66d5a103") (revision "1")) - (package (inherit classpath-on-sablevm) + (package (inherit classpath-bootstrap) (version (string-append "0.99-" revision "." (string-take commit 9))) (source (origin (method git-fetch) From 58d2b13544e3b10fc88df8508f978c341794b6d0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 21:14:06 +0200 Subject: [PATCH 122/233] gnu: Remove jamvm-bootstrap. * gnu/packages/java.scm (jamvm-bootstrap): Remove variable. (classpath-devel)[native-inputs]: Use "jamvm-1-bootstrap" instead of "jamvm-bootstrap". (jamvm): Inherit from jamvm-1-bootstrap. --- gnu/packages/java.scm | 49 +++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 32 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f3fe2b2d55..1ee270b83c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -544,35 +544,6 @@ the standard javac executable."))) ("libltdl" ,libltdl) ("pkg-config" ,pkg-config))))) -(define jamvm-bootstrap - (package - (name "jamvm") - (version "2.0.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/jamvm/jamvm/" - "JamVM%20" version "/jamvm-" - version ".tar.gz")) - (sha256 - (base32 - "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - (list (string-append "--with-classpath-install-dir=" - (assoc-ref %build-inputs "classpath"))))) - (inputs - `(("classpath" ,classpath-on-sablevm) - ("ecj-javac-wrapper" ,ecj-javac-wrapper) - ("zlib" ,zlib))) - (home-page "http://jamvm.sourceforge.net/") - (synopsis "Small Java Virtual Machine") - (description "JamVM is a Java Virtual Machine conforming to the JVM -specification edition 2 (blue book). It is extremely small. However, unlike -other small VMs it supports the full spec, including object finalisation and -JNI.") - (license license:gpl2+))) - ;; We need this because the tools provided by the latest release of GNU ;; Classpath don't actually work with sablevm. (define classpath-jamvm-wrappers @@ -768,12 +739,26 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) ("ecj-bootstrap" ,ecj-bootstrap) ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper) ("fastjar" ,fastjar) - ("jamvm" ,jamvm-bootstrap) + ("jamvm" ,jamvm-1-bootstrap) ("libltdl" ,libltdl) ("pkg-config" ,pkg-config)))))) -(define-public jamvm - (package (inherit jamvm-bootstrap) +(define jamvm + (package (inherit jamvm-1-bootstrap) + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/jamvm/jamvm/" + "JamVM%20" version "/jamvm-" + version ".tar.gz")) + (sha256 + (base32 + "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-classpath-install-dir=" + (assoc-ref %build-inputs "classpath"))))) (inputs `(("classpath" ,classpath-devel) ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper) From c98d7a66cc98b950b48bcfd313dce5d20ecb6bc8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 21:14:44 +0200 Subject: [PATCH 123/233] gnu: classpath-jamvm-wrappers: Use classpath-0.99. * gnu/packages/java.scm (classpath-jamvm-wrappers): Inherit from classpath-0.99. [native-inputs]: Replace "jamvm-bootstrap" with "jamvm-1-bootstrap"; replace "classpath-on-sablevm" with "classpath-0.99". --- gnu/packages/java.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1ee270b83c..1cc11f88e8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -544,10 +544,10 @@ the standard javac executable."))) ("libltdl" ,libltdl) ("pkg-config" ,pkg-config))))) -;; We need this because the tools provided by the latest release of GNU -;; Classpath don't actually work with sablevm. +;; We need this because classpath-bootstrap does not provide all of the tools +;; we need to build classpath-devel. (define classpath-jamvm-wrappers - (package (inherit classpath-on-sablevm) + (package (inherit classpath-0.99) (name "classpath-jamvm-wrappers") (source #f) (build-system trivial-build-system) @@ -581,8 +581,8 @@ gnu.classpath.tools.~a.~a $@" #t)))) (native-inputs `(("bash" ,bash) - ("jamvm" ,jamvm-bootstrap) - ("classpath" ,classpath-on-sablevm))) + ("jamvm" ,jamvm-1-bootstrap) + ("classpath" ,classpath-0.99))) (inputs '()) (synopsis "Executables from GNU Classpath") (description "This package provides wrappers around the tools provided by From b5a0d427086b642d805c25a7092a3c90041e3e78 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 21:18:02 +0200 Subject: [PATCH 124/233] gnu: Remove ecj-javac-on-jamvm-wrapper. * gnu/packages/java.scm (ecj-javac-on-jamvm-wrapper): Remove variable. (classpath-devel)[native-inputs]: Use ecj-javac-wrapper instead. (jamvm)[inputs]: Use ecj-javac-wrapper instead. (ecj-javac-on-jamvm-wrapper-final): Rename... (ecj-javac-wrapper-final): ...to this. (icedtea-6)[native-inputs]: Use "ecj-javac-wrapper-final" instead of 'ecj-javac-on-jamvm-wrapper-final". [arguments]: Use jamvm's rt.jar. --- gnu/packages/java.scm | 108 +++++------------------------------------- 1 file changed, 12 insertions(+), 96 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1cc11f88e8..d2f14c0264 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -589,92 +589,6 @@ gnu.classpath.tools.~a.~a $@" the GNU Classpath library. They are executed by the JamVM virtual machine."))) -(define ecj-javac-on-jamvm-wrapper - (package (inherit ecj-javac-wrapper) - (name "ecj-javac-on-jamvm-wrapper") - (arguments - `(#:modules ((guix build utils)) - #:builder - ;; TODO: This builder is exactly the same as in ecj-javac-wrapper, - ;; except that the backend is 'jamvm here. Can we reuse the same - ;; builder somehow? - (let ((backend 'jamvm)) - (use-modules (guix build utils)) - (let* ((bin (string-append (assoc-ref %outputs "out") "/bin")) - (target (string-append bin "/javac")) - (guile (string-append (assoc-ref %build-inputs "guile") - "/bin/guile")) - (ecj (string-append (assoc-ref %build-inputs "ecj-bootstrap") - "/share/java/ecj-bootstrap.jar")) - (java (case backend - ((sablevm) - (string-append (assoc-ref %build-inputs "sablevm") - "/lib/sablevm/bin/java")) - ((jamvm) - (string-append (assoc-ref %build-inputs "jamvm") - "/bin/jamvm")))) - (bootcp (case backend - ((sablevm) - (let ((jvmlib (string-append - (assoc-ref %build-inputs "sablevm-classpath") - "/lib/sablevm"))) - (string-append jvmlib "/jre/lib/rt.jar"))) - ((jamvm) - (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath") - "/share/classpath"))) - (string-append jvmlib "/lib/glibj.zip:" - jvmlib "/lib/tools.zip")))))) - (mkdir-p bin) - (with-output-to-file target - (lambda _ - (format #t "#!~a --no-auto-compile\n!#\n" guile) - (write - `(begin (use-modules (ice-9 match) - (ice-9 receive) - (ice-9 hash-table) - (srfi srfi-1) - (srfi srfi-26)) - (define defaults - '(("-bootclasspath" ,bootcp) - ("-source" "1.5") - ("-target" "1.5") - ("-cp" "."))) - (define (main args) - (let ((classpath (getenv "CLASSPATH"))) - (setenv "CLASSPATH" - (string-append ,ecj - (if classpath - (string-append ":" classpath) - "")))) - (receive (vm-args other-args) - ;; Separate VM arguments from arguments to ECJ. - (partition (cut string-prefix? "-J" <>) - (fold (lambda (default acc) - (if (member (first default) acc) - acc (append default acc))) - args defaults)) - (apply system* ,java - (append - ;; Remove "-J" prefix - (map (cut string-drop <> 2) vm-args) - '("org.eclipse.jdt.internal.compiler.batch.Main") - (cons "-nowarn" other-args))))) - ;; Entry point - (let ((args (cdr (command-line)))) - (if (null? args) - (format (current-error-port) "javac: no arguments given!\n") - (main args))))))) - (chmod target #o755) - #t)))) - (native-inputs - `(("guile" ,guile-2.2) - ("ecj-bootstrap" ,ecj-bootstrap) - ("jamvm" ,jamvm-bootstrap) - ("classpath" ,classpath-on-sablevm))) - (description "This package provides a wrapper around the @dfn{Eclipse -compiler for Java} (ecj) with a command line interface that is compatible with -the standard javac executable. The tool runs on JamVM instead of SableVM."))) - ;; The last release of GNU Classpath is 0.99 and it happened in 2012. Since ;; then Classpath has gained much more support for Java 1.6. (define-public classpath-devel @@ -737,7 +651,7 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) ("texinfo" ,texinfo) ("classpath-jamvm-wrappers" ,classpath-jamvm-wrappers) ; for javah ("ecj-bootstrap" ,ecj-bootstrap) - ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper) + ("ecj-javac-wrapper" ,ecj-javac-wrapper) ("fastjar" ,fastjar) ("jamvm" ,jamvm-1-bootstrap) ("libltdl" ,libltdl) @@ -761,11 +675,11 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) (assoc-ref %build-inputs "classpath"))))) (inputs `(("classpath" ,classpath-devel) - ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper) + ("ecj-javac-wrapper" ,ecj-javac-wrapper) ("zlib" ,zlib))))) -(define ecj-javac-on-jamvm-wrapper-final - (package (inherit ecj-javac-on-jamvm-wrapper) +(define ecj-javac-wrapper-final + (package (inherit ecj-javac-wrapper) (native-inputs `(("guile" ,guile-2.2) ("ecj-bootstrap" ,ecj-bootstrap) @@ -773,9 +687,9 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) ("classpath" ,classpath-devel))))) ;; The bootstrap JDK consisting of jamvm, classpath-devel, -;; ecj-javac-on-jamvm-wrapper-final cannot build Icedtea 2.x directly, because -;; it's written in Java 7. It can, however, build the unmaintained Icedtea -;; 1.x, which uses Java 6 only. +;; ecj-javac-wrapper-final cannot build Icedtea 2.x directly, because it's +;; written in Java 7. It can, however, build the unmaintained Icedtea 1.x, +;; which uses Java 6 only. (define-public icedtea-6 (package (name "icedtea") @@ -862,7 +776,8 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) #t)))) (add-after 'unpack 'use-classpath (lambda* (#:key inputs #:allow-other-keys) - (let ((jvmlib (assoc-ref inputs "classpath"))) + (let ((jvmlib (assoc-ref inputs "classpath")) + (jamvm (assoc-ref inputs "jamvm"))) ;; Classpath does not provide rt.jar. (substitute* "Makefile.in" (("\\$\\(SYSTEM_JDK_DIR\\)/jre/lib/rt.jar") @@ -870,7 +785,8 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) ;; Make sure we can find all classes. (setenv "CLASSPATH" (string-append jvmlib "/share/classpath/glibj.zip:" - jvmlib "/share/classpath/tools.zip")) + jvmlib "/share/classpath/tools.zip:" + jamvm "/lib/rt.jar")) (setenv "JAVACFLAGS" (string-append "-cp " jvmlib "/share/classpath/glibj.zip:" @@ -1007,7 +923,7 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) ("cpio" ,cpio) ("cups" ,cups) ("ecj" ,ecj-bootstrap) - ("ecj-javac" ,ecj-javac-on-jamvm-wrapper-final) + ("ecj-javac" ,ecj-javac-wrapper-final) ("fastjar" ,fastjar) ("fontconfig" ,fontconfig) ("freetype" ,freetype) From 269fb7d310509d151b18576ac8229644c6542223 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 25 Mar 2018 21:39:05 +0200 Subject: [PATCH 125/233] gnu: Remove sablevm and sablevm-classpath, update comments. * gnu/packages/java.scm (sablevm, sablevm-classpath): Remove variables. --- gnu/packages/java.scm | 133 ++++++------------------------------------ 1 file changed, 18 insertions(+), 115 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d2f14c0264..9c5566f819 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -79,24 +79,25 @@ ;;; ;; The Java bootstrap begins with Jikes, a Java compiler written in C++. We -;; use it to build the SableVM standard library and virtual machine, which are -;; written in a simpler dialect of Java and C, respectively. This is -;; sufficient to build an older version of Ant, which is needed to build an -;; older version of ECJ, an incremental Java compiler, both of which are -;; written in Java. +;; use it to build a simple version of GNU Classpath, the Java standard +;; library. We chose version 0.93 because it is the last version that can be +;; built with Jikes. With Jikes and this version of GNU Classpath we can +;; build JamVM, a Java Virtual Machine. We build version 1.5.1 because it is +;; the last version of JamVM that works with a version of GNU classpath that +;; does not require ECJ. These three packages make up the bootstrap JDK. + +;; This is sufficient to build an older version of Ant, which is needed to +;; build an older version of ECJ, an incremental Java compiler, both of which +;; are written in Java. ;; -;; ECJ is needed to build the latest release of GNU Classpath (0.99). -;; Classpath (> 0.98) is a requirement for JamVM, a more modern implementation -;; of the Java virtual machine. -;; -;; With JamVM we can build the latest development version of GNU Classpath, -;; which has much more support for Java 1.6 than the latest release. Since -;; the previous build of JamVM is limited by the use of GNU Classpath 0.99 we -;; rebuild it with the latest development version of GNU Classpath. -;; -;; Finally, we use the bootstrap toolchain to build the OpenJDK with the -;; Icedtea 1.x build framework. We then build the more recent JDKs Icedtea -;; 2.x and Icedtea 3.x. +;; ECJ is needed to build the latest release (0.99) and the development +;; version of GNU Classpath. The development version of GNU Classpath has +;; much more support for Java 1.6 than the latest release, but we need to +;; build 0.99 first to get a working version of javah. ECJ, the development +;; version of GNU Classpath, and the latest version of JamVM make up the +;; second stage JDK with which we can build the OpenJDK with the Icedtea 1.x +;; build framework. We then build the more recent JDKs Icedtea 2.x and +;; Icedtea 3.x. (define jikes (package @@ -117,104 +118,6 @@ defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.") (license license:ibmpl1.0))) -(define sablevm-classpath - (package - (name "sablevm-classpath") - (version "1.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/sablevm/sablevm/" - version "/sablevm-classpath-" version ".tar.gz")) - (sha256 - (base32 - "1qyhyfz8idghxdam16hdgpa24r2x4xbg9z8c8asa3chnd79h3zw2")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - (list "--with-jikes" - "--disable-Werror" - "--disable-gmp" - "--disable-gtk-peer" - "--disable-plugin" - "--disable-dssi" - "--disable-alsa" - "--disable-gjdoc"))) - (native-inputs - `(("jikes" ,jikes) - ("fastjar" ,fastjar) - ("pkg-config" ,pkg-config))) - (home-page "http://sablevm.org/") - (synopsis "Java Virtual Machine") - (description "SableVM is a clean-room, highly portable and efficient Java -virtual machine. Its goals are to be reasonably small, fast, and compliant -with the various specifications (JVM specification, JNI, invocation interface, -etc.). SableVM is no longer maintained. - -This package provides the classpath library.") - (license license:lgpl2.1+))) - -(define sablevm - (package - (name "sablevm") - (version "1.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/sablevm/sablevm/" - version "/sablevm-" version ".tar.gz")) - (sha256 - (base32 - "1jyg4bsym6igz94wps5443c7wiwlzinqzkchcw972nz4kf1cql6g")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - (list "--with-internal-libffi=no" - "--with-internal-libpopt=no") - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-timestamp-for-reproducibility - (lambda _ - (substitute* "src/sablevm/Makefile.in" - (("\\$\\(SVMCOMPILETIME\\)") "(unknown)")) - #t)) - (add-after 'unpack 'link-with-popt - (lambda _ - (substitute* "src/sablevm/Makefile.in" - (("\\$\\(SVMADD\\)" match) - (string-append match " -lpopt"))) - #t)) - (add-after 'unpack 'patch-path-to-classpath - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Makefile.in" - (("@datadir@/sablevm-classpath") - (string-append (assoc-ref inputs "classpath") - "/share/sablevm-classpath"))) - (substitute* "src/libsablevm/Makefile.in" - (("\\$\\(libdir\\)/sablevm-classpath") - (string-append (assoc-ref inputs "classpath") - "/lib/sablevm-classpath")) - (("\\$\\(datadir\\)/sablevm-classpath") - (string-append (assoc-ref inputs "classpath") - "/share/sablevm-classpath"))) - #t))))) - (inputs - `(("classpath" ,sablevm-classpath) - ("jikes" ,jikes) - ("zlib" ,zlib) - ("popt" ,popt) - ("libffi" ,libffi))) - (native-inputs - `(("libltdl" ,libltdl))) - (home-page "http://sablevm.org/") - (synopsis "Java Virtual Machine") - (description "SableVM is a clean-room, highly portable and efficient Java -virtual machine. Its goals are to be reasonably small, fast, and compliant -with the various specifications (JVM specification, JNI, invocation interface, -etc.). SableVM is no longer maintained. - -This package provides the virtual machine.") - (license license:lgpl2.1+))) - ;; This is the last version of GNU Classpath that can be built without ECJ. (define classpath-bootstrap (package From 171e84d63d9e51c25c77430db86c80878fc39e3d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 25 Mar 2018 22:43:39 +0200 Subject: [PATCH 126/233] gnu: httpd: Update to 2.4.33 [security fixes]. This fixes CVE-2017-15710, CVE-2017-15715, CVE-2018-1283, CVE-2018-1301, CVE-2018-1302, CVE-2018-1303, and CVE-2018-1312. * gnu/packages/web.scm (httpd): Update to 2.4.33. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 09026779e4..daf60c989f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -115,14 +115,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.29") + (version "2.4.33") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "003z3yckkdihfv69rgqsik1w2jsnh14j3ci8fjia4s2mlajm6xvp")))) + "01bghiq4pbgjbgd6gic0nb8bbk6mfpwx3gcsbf21f3dhb4c520ny")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) From 7240b4a989ef9be2fba518666c6213d2eabac394 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 25 Mar 2018 22:57:19 +0200 Subject: [PATCH 127/233] gnu: newsboat: Update to 2.11. * gnu/packages/syndication.scm (newsboat): Update to 2.11. [inputs]: Change from JSON-C-0.12 to JSON-C. [native-search-paths]: New field. --- gnu/packages/syndication.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 3e0cbe832a..1669f2c45c 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -32,7 +32,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.10.2") + (version "2.11") (source (origin (method url-fetch) @@ -40,7 +40,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "1x4nxx1kvmrcm8jy73dvg56h4z15y3sach2vr13cw8rsbi7v99px")))) + "0yh1qdk15s9k4pffiw1155whfckpffq72dpyp9rck7yxgy5ya1hx")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -49,7 +49,7 @@ ("asciidoc" ,asciidoc))) (inputs `(("curl" ,curl) - ("json-c" ,json-c-0.12) ; check whether json-c-0.12 can be removed + ("json-c" ,json-c) ("libxml2" ,libxml2) ("ncurses" ,ncurses) ("stfl" ,stfl) @@ -64,6 +64,9 @@ #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:test-target "test")) + (native-search-paths + ;; Newsboat respects CURL_CA_BUNDLE. + (package-native-search-paths curl)) (home-page "https://newsboat.org/") (synopsis "Text-mode RSS and Atom feed reader with podcast support") (description "Newsboat is a feed reader for @dfn{RSS} and @dfn{Atom}, XML From d4fd4c3a7bde4bcb12f4973b1ab1548aeb8030fd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 00:01:22 +0200 Subject: [PATCH 128/233] gnu: ant-bootstrap: Make build more reliable. * gnu/packages/java.scm (ant-bootstrap)[arguments]: Remove bootstrap phase; create HOME/.ant.properties; pass options to JamVM. --- gnu/packages/java.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9c5566f819..3293f27546 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -212,6 +212,7 @@ JNI.") `(#:tests? #f ; no "check" target #:phases (modify-phases %standard-phases + (delete 'bootstrap) (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) @@ -226,6 +227,11 @@ JNI.") (string-append (assoc-ref inputs "jamvm") "/lib/rt.jar")) + ;; Ant complains if this file doesn't exist. + (setenv "HOME" "/tmp") + (with-output-to-file "/tmp/.ant.properties" + (lambda _ (display ""))) + ;; Use jikes instead of javac for tags in build.xml (setenv "ANT_OPTS" "-Dbuild.compiler=jikes") @@ -233,6 +239,11 @@ JNI.") ;; interesting, so we silence them. (setenv "$BOOTJAVAC_OPTS" "-nowarn") + ;; Without these JamVM options the build may freeze. + (substitute* "bootstrap.sh" + (("^\"\\$\\{JAVACMD\\}\" " m) + (string-append m "-Xnocompact -Xnoinlining "))) + ;; Disable tests because we are bootstrapping and thus don't have ;; any of the dependencies required to build and run the tests. (substitute* "build.xml" From ae0a5a7edcd5e7874dc294dede74a69fa6d1df32 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 00:14:44 +0200 Subject: [PATCH 129/233] gnu: ecj-javac-wrapper: Run JamVM with conservative options. * gnu/packages/java.scm (ecj-javac-wrapper)[arguments]: Add options to jamvm invocation. --- gnu/packages/java.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3293f27546..7657f58219 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -391,6 +391,7 @@ requirement for all GNU Classpath releases after version 0.93.") args defaults)) (apply system* ,java (append + (list "-Xnocompact" "-Xnoinlining") ;; Remove "-J" prefix (map (cut string-drop <> 2) vm-args) '("org.eclipse.jdt.internal.compiler.batch.Main") From dfca24180c96342fac05d665ea8b03c02e61204c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 00:12:52 +0200 Subject: [PATCH 130/233] git: 'latest-repository-commit' calls 'repository-close!'. * guix/git.scm (latest-repository-commit): Call 'repository-close!' when it exists. --- guix/git.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/guix/git.scm b/guix/git.scm index d31c35f64f..103749d0e2 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -147,6 +147,13 @@ Git repositories are kept in the cache directory specified by (when cache-exists? (remote-fetch (remote-lookup repository "origin"))) (switch-to-ref repository ref) + + ;; Reclaim file descriptors and memory mappings associated with + ;; REPOSITORY as soon as possible. + (when (module-defined? (resolve-interface '(git repository)) + 'repository-close!) + (repository-close! repository)) + (copy-to-store store cache-dir #:url url #:repository repository)))) From ce5964074aab5bed24f2eeb9c8df5b7607a3d9c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 00:13:34 +0200 Subject: [PATCH 131/233] gnu: hwloc@1: Update to 1.11.9. * gnu/packages/mpi.scm (hwloc): Update to 1.11.9. --- gnu/packages/mpi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 442f7c5371..9c2f44dac4 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -47,7 +47,7 @@ ;; to migrate to 2.0. (package (name "hwloc") - (version "1.11.8") + (version "1.11.9") (source (origin (method url-fetch) (uri (string-append "https://www.open-mpi.org/software/hwloc/v" @@ -55,7 +55,7 @@ "/downloads/hwloc-" version ".tar.bz2")) (sha256 (base32 - "0karxv4r1r8sa7ki5aamlxdvyvz0bvzq4gdhq0yi5nc4a0k11vzc")))) + "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr")))) (build-system gnu-build-system) (outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc. "lib" ;small closure From 40e3a197f9ef316ceda709d27070104760ad8656 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 00:30:45 +0200 Subject: [PATCH 132/233] gnu: classpath-jamvm-wrappers: Run JamVM with conservative options. * gnu/packages/java.scm (classpath-jamvm-wrappers)[arguments]: Pass extra options to JamVM. --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7657f58219..170be77949 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -481,7 +481,7 @@ the standard javac executable."))) (with-output-to-file (string-append bin tool) (lambda _ (format #t "#!~a/bin/sh -~a/bin/jamvm -classpath ~a/share/classpath/tools.zip \ +~a/bin/jamvm -Xnocompact -Xnoinlining -classpath ~a/share/classpath/tools.zip \ gnu.classpath.tools.~a.~a $@" bash jamvm classpath tool (if (string=? "native2ascii" tool) From 51602aac8e9449e39441693553f7afb87094ee14 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 08:00:17 +0200 Subject: [PATCH 133/233] gnu: ecj-javac-wrapper: Fix reference to glibj and tools.zip. * gnu/packages/java.scm (ecj-javac-wrapper)[arguments]: Fix references to glibj and tools.zip. --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 170be77949..3248bebfc0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -357,8 +357,8 @@ requirement for all GNU Classpath releases after version 0.93.") "/bin/jamvm")) (bootcp (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath") "/share/classpath"))) - (string-append jvmlib "/lib/glibj.zip:" - jvmlib "/lib/tools.zip")))) + (string-append jvmlib "/glibj.zip:" + jvmlib "/tools.zip")))) (mkdir-p bin) (with-output-to-file target (lambda _ From 07a049ceb1a394cde2b91c0c73638827834f6f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 09:38:29 +0200 Subject: [PATCH 134/233] gnu: usbredir: Build without '-Werror'. Fixes build failure introduced in 58ee8a94a90eb40496b9704d541b5dfbbf1685ba, where compilation would fail with: usbredirhost.c: In function ?usbredirhost_open_full?: usbredirhost.c:749:5: error: ?libusb_set_debug? is deprecated: Use libusb_set_option instead [-Werror=deprecated-declarations] libusb_set_debug(host->ctx, host->verbose); ^ In file included from usbredirhost.h:24:0, from usbredirhost.c:31: /gnu/store/j8hzc465xy33cjfcq3wv39szxia4xrzv-libusb-1.0.22/include/libusb-1.0/libusb.h:1300:18: note: declared here void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); ^ cc1: all warnings being treated as errors * gnu/packages/spice.scm (usbredir)[arguments]: In 'autogen' phase, remove '-Werror' from configure.ac. --- gnu/packages/spice.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index fb3b11ba2d..521be54c49 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -86,6 +86,10 @@ (modify-phases %standard-phases (add-after 'unpack 'autogen (lambda _ + ;; Build without '-Werror', in particular to avoid errors due + ;; to the use of the deprecated 'libusb_set_debug' function. + (substitute* "configure.ac" + (("-Werror") "")) (zero? (system* "autoreconf" "-vfi"))))))) (synopsis "Tools for sending USB device traffic over a network") (description "Usbredir is a network protocol for sending USB device traffic From 66eb91be9c53d8a180e55f519a402238b2bf760d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 09:42:43 +0200 Subject: [PATCH 135/233] gnu: pius: Update to 2.2.6. * gnu/packages/gnupg.scm (pius): Update to 2.2.6. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 33e933d13a..59d9b97501 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -568,7 +568,7 @@ signing, decryption, verification, and key-listing parsing.") (define-public pius (package (name "pius") - (version "2.2.4") + (version "2.2.6") (source (origin (method url-fetch) (uri (string-append @@ -576,7 +576,7 @@ signing, decryption, verification, and key-listing parsing.") version "/pius-" version ".tar.bz2")) (sha256 (base32 - "0lgc0ipwdfqbq16zax8kn17wbv8xyw4ygc09fawl2yp459z0ql4n")))) + "1893hzpx3zv724drqv48csrn0cm98xw4ymb1zmhs2jvjj1778zfj")))) (build-system python-build-system) (inputs `(("perl" ,perl) ;for 'pius-party-worksheet' ("gpg" ,gnupg))) From 6ae0fd212accf18c6fff3e32fe52c5a754a17a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 09:43:19 +0200 Subject: [PATCH 136/233] gnu: emacs-flycheck: Update to 31. * gnu/packages/emacs.scm (flycheck): Update to 31. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a95b57e86e..f5da214fa2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -670,7 +670,7 @@ programs.") (define-public flycheck (package (name "emacs-flycheck") - (version "30") + (version "31") (source (origin (method url-fetch) (uri (string-append @@ -678,7 +678,7 @@ programs.") version "/flycheck-" version ".tar")) (sha256 (base32 - "1rxzkaqsj48z3nska5wsgwafvwkam014dzqd32baycmxjl0jxvy7")))) + "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) From e784e2561ea54ee9301a8ced005ada9a15e1f93c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 09:54:46 +0200 Subject: [PATCH 137/233] gnu: geeqie: Update to 1.4. * gnu/packages/image-viewers.scm (geeqie): Update to 1.4. [arguments]: In 'autogen' phase, create ChangeLog{,.html}. --- gnu/packages/image-viewers.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 7e7e7e3812..ae7ae0f519 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2017 Ludovic Courtès +;;; Copyright © 2013, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016, 2017 Efraim Flashner @@ -105,7 +105,7 @@ actions.") (define-public geeqie (package (name "geeqie") - (version "1.3") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/BestImageViewer/geeqie/" @@ -113,7 +113,7 @@ actions.") version ".tar.xz")) (sha256 (base32 - "0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb")))) + "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w")))) (build-system gnu-build-system) (arguments `(;; Enable support for a "map" pane using GPS data. @@ -123,7 +123,18 @@ actions.") (modify-phases %standard-phases (add-after 'unpack 'autogen (lambda _ + (define (write-dummy-changelog port) + (display "See Git history for a change log.\n" port)) + (setenv "NOCONFIGURE" "true") + + ;; Create ChangeLog{,.html} to placate the makefile, which would + ;; otherwise require access to the Git repo. + (call-with-output-file "ChangeLog" + write-dummy-changelog) + (call-with-output-file "ChangeLog.html" + write-dummy-changelog) + (zero? (system* "sh" "autogen.sh"))))))) (inputs `(("clutter" ,clutter) From 7d85fcde2343e59bd2eb5ba5d08123877a38da6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 10:05:54 +0200 Subject: [PATCH 138/233] guix build: 'guix build --log-file' gracefully reports certificate errors. Previously 'guix build --log-file' would print a backtrace upon X.509 certificate verification errors. * guix/scripts/build.scm (log-url): Catch 'tls-certificate-error' in addition to 'getaddrinfo-error'. --- guix/scripts/build.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 57f2d82c5c..401087e830 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -69,13 +69,21 @@ found. Return #f if no build log was found." (define (valid-url? url) ;; Probe URL and return #t if it is accessible. - (catch 'getaddrinfo-error + (catch #t (lambda () (guard (c ((http-get-error? c) #f)) (close-port (http-fetch url #:buffered? #f)) #t)) - (lambda _ - #f))) + (match-lambda* + (('getaddrinfo-error . _) + #f) + (('tls-certificate-error args ...) + (report-error (G_ "cannot access build log at '~a':~%") url) + (print-exception (current-error-port) #f + 'tls-certificate-error args) + (exit 1)) + ((key . args) + (apply throw key args))))) (define (find-url file) (let ((base (basename file))) From 7ebe7d85c0c39356506bf5105a88b579ac120608 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 26 Mar 2018 04:58:09 -0400 Subject: [PATCH 139/233] gnu: linux-libre@4.4: Update to 4.4.124. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.124. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b85ee67ee8..55b202280b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.123" - "1ldc7pz4irngk204xsca2cy0ihlqinimn0hg20aqnbh48cw72iyg" + (make-linux-libre "4.4.124" + "1368x0wki8zhk0hwz36hrkp2lr2kbm9i0fwzws201h3y85mldgh4" %intel-compatible-systems #:configuration-file kernel-config)) From af55816de52e652daea4e79224139d1786518757 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 26 Mar 2018 04:58:55 -0400 Subject: [PATCH 140/233] gnu: linux-libre@4.9: Update to 4.9.90. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.90. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 55b202280b..100c5cae13 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.89" - "14kk1mj0iml1x1vq1m625v2nyx4z8ixny87dv36sszl556idzpqp" + (make-linux-libre "4.9.90" + "0mzy6wcxp9m9icb8mvsbywp1lrbvbv6n8rs3xszqm43dxy9zj1jd" %intel-compatible-systems #:configuration-file kernel-config)) From 27d528d81a7086f545235350143b75bfda1850a0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 26 Mar 2018 04:59:30 -0400 Subject: [PATCH 141/233] gnu: linux-libre@4.14: Update to 4.14.30. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.30. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 100c5cae13..c87349ce8b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.29") -(define %linux-libre-4.14-hash "0y8p9pn40jgk96c10i9px2n6pqim788q7zssngp46glmpwfz4gra") +(define %linux-libre-4.14-version "4.14.30") +(define %linux-libre-4.14-hash "1j1vnr4397y4js7i24jdpfq85mc50b7kjz7gz1bbbrmda6cflwig") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 5dc8f5de0c97731d96435b1917c8a2e159fac441 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 26 Mar 2018 05:00:38 -0400 Subject: [PATCH 142/233] gnu: linux-libre: Update to 4.15.13. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.13. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c87349ce8b..69fe81b7b4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.12") -(define %linux-libre-hash "01wpxlw70nzdl8nk3xb8z3m93ads55q56ky56wpsci304jlnrd3v") +(define %linux-libre-version "4.15.13") +(define %linux-libre-hash "1z9f3m44n5w9ayad08h6nvx4nihc28h2jplk4jvyaj0460v8d11f") (define-public linux-libre (make-linux-libre %linux-libre-version From bab9793f54f055e814428fe6e312b0f80b629333 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 26 Mar 2018 12:19:14 +0300 Subject: [PATCH 143/233] gnu: classpath: Add aarch64-linux support. * gnu/packages/java.scm (classpath-bootstrap, classpath-0.99)[source]: Add patch. * gnu/packages/patches/classpath-aarch64-support.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 6 ++-- .../patches/classpath-aarch64-support.patch | 29 +++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/classpath-aarch64-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 933649f43b..b1fe6122e0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -594,6 +594,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ + %D%/packages/patches/classpath-aarch64-support.patch \ %D%/packages/patches/clementine-remove-crypto++-dependency.patch \ %D%/packages/patches/clementine-use-openssl.patch \ %D%/packages/patches/clisp-glibc-2.26.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3248bebfc0..4a6172a8cc 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -129,7 +129,8 @@ and binary format defined in The Java Virtual Machine Specification.") version ".tar.gz")) (sha256 (base32 - "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")))) + "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")) + (patches (search-patches "classpath-aarch64-support.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -424,7 +425,8 @@ the standard javac executable."))) version ".tar.gz")) (sha256 (base32 - "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr")))) + "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr")) + (patches (search-patches "classpath-aarch64-support.patch")))) (arguments `(#:configure-flags (list (string-append "--with-ecj-jar=" diff --git a/gnu/packages/patches/classpath-aarch64-support.patch b/gnu/packages/patches/classpath-aarch64-support.patch new file mode 100644 index 0000000000..6fdac0c4fb --- /dev/null +++ b/gnu/packages/patches/classpath-aarch64-support.patch @@ -0,0 +1,29 @@ +This is modeled after the ia64 support. Aarch64 can be either big endian +or little endian, so we add the case for both. + +--- + native/fdlibm/ieeefp.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/native/fdlibm/ieeefp.h b/native/fdlibm/ieeefp.h +index 1a9740f..73455c0 100644 +--- a/native/fdlibm/ieeefp.h ++++ b/native/fdlibm/ieeefp.h +@@ -27,6 +27,14 @@ + #endif + #endif + ++#ifdef __aarch64__ ++#ifdef __BIG_ENDIAN__ ++#define __IEEE_BIG_ENDIAN ++#else ++#define __IEEE_LITTLE_ENDIAN ++#endif ++#endif ++ + #ifdef __hppa__ + #define __IEEE_BIG_ENDIAN + #endif +-- +2.16.3 + From d2c036557adb5146e70096f9a54bba898ecdc00f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 18:03:57 +0200 Subject: [PATCH 144/233] gnu: hwloc@2: Update to 2.0.1. * gnu/packages/mpi.scm (hwloc-2.0): Update to 2.0.1. [source]: Remove 'patches'. * gnu/packages/patches/hwloc-tests-without-sysfs.patch: Remove. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/mpi.scm | 5 +-- .../patches/hwloc-tests-without-sysfs.patch | 42 ------------------- 3 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/hwloc-tests-without-sysfs.patch diff --git a/gnu/local.mk b/gnu/local.mk index b1fe6122e0..e5c8bcfb78 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -781,7 +781,6 @@ dist_patch_DATA = \ %D%/packages/patches/htop-fix-process-tree.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ - %D%/packages/patches/hwloc-tests-without-sysfs.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-use-system-graphite2.patch \ diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 9c2f44dac4..99c09fb267 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -117,7 +117,7 @@ bind processes, and much more.") ;; Note: 2.0 isn't the default yet, see above. (package (inherit hwloc) - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (string-append "https://www.open-mpi.org/software/hwloc/v" @@ -125,8 +125,7 @@ bind processes, and much more.") "/downloads/hwloc-" version ".tar.bz2")) (sha256 (base32 - "021765f9y6pxcxrvfpzzwaig16ypfbph5xjpkd29qkhzs9r6zrcr")) - (patches (search-patches "hwloc-tests-without-sysfs.patch")))) + "0jf0krj1h95flmb784ifv9vnkdnajjz00p4zbhmja7vm4v67axdr")))) ;; libnuma is no longer needed. (inputs (alist-delete "numactl" (package-inputs hwloc))))) diff --git a/gnu/packages/patches/hwloc-tests-without-sysfs.patch b/gnu/packages/patches/hwloc-tests-without-sysfs.patch deleted file mode 100644 index ea6ec41616..0000000000 --- a/gnu/packages/patches/hwloc-tests-without-sysfs.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix a test failure in the build environment, where /sys is missing. -From . - -From a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf Mon Sep 17 00:00:00 2001 -From: Brice Goglin -Date: Tue, 6 Feb 2018 17:13:26 +0100 -Subject: [PATCH] linux: honor the filtering cores and packages when reading - topology from cpuinfo - -Caused a make check crash in lstopo --filter all:none in chroot without sysfs. - -Thanks to Ludovic Courtes for the report. - -Signed-off-by: Brice Goglin ---- - hwloc/topology-linux.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/hwloc/topology-linux.c b/hwloc/topology-linux.c -index 290da0d72..e1bbf94e1 100644 ---- a/hwloc/topology-linux.c -+++ b/hwloc/topology-linux.c -@@ -4101,7 +4101,8 @@ look_cpuinfo(struct hwloc_topology *topology, - } - /* create package objects */ - hwloc_debug("%u pkgs%s\n", numpkgs, missingpkg ? ", but some missing package" : ""); -- if (!missingpkg && numpkgs>0) { -+ if (!missingpkg && numpkgs>0 -+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_PACKAGE)) { - for (i = 0; i < numpkgs; i++) { - struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_PACKAGE, Lpkg_to_Ppkg[i]); - int doneinfos = 0; -@@ -4145,7 +4146,8 @@ look_cpuinfo(struct hwloc_topology *topology, - } - /* create Core objects */ - hwloc_debug("%u cores%s\n", numcores, missingcore ? ", but some missing core" : ""); -- if (!missingcore && numcores>0) { -+ if (!missingcore && numcores>0 -+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_CORE)) { - for (i = 0; i < numcores; i++) { - struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_CORE, Lcore_to_Pcore[i]); - obj->cpuset = hwloc_bitmap_alloc(); From 323991339e407cef0cd01343671a1c27bd1a7edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 18:04:38 +0200 Subject: [PATCH 145/233] gnu: hwloc@1: Update to 1.11.10. * gnu/packages/mpi.scm (hwloc): Update to 1.11.10. --- gnu/packages/mpi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 99c09fb267..e4c1a491c3 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -47,7 +47,7 @@ ;; to migrate to 2.0. (package (name "hwloc") - (version "1.11.9") + (version "1.11.10") (source (origin (method url-fetch) (uri (string-append "https://www.open-mpi.org/software/hwloc/v" @@ -55,7 +55,7 @@ "/downloads/hwloc-" version ".tar.bz2")) (sha256 (base32 - "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr")))) + "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b")))) (build-system gnu-build-system) (outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc. "lib" ;small closure From a271096b938410c622511de5f649967b66fde601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 18:18:36 +0200 Subject: [PATCH 146/233] gnu: evince: Update to 3.28.0. * gnu/packages/gnome.scm (evince): Update to 3.28.0. --- gnu/packages/gnome.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0bfa431f5a..3c60b8d44c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -725,7 +725,7 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.26.0") + (version "3.28.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -733,7 +733,7 @@ forgotten when the session ends.") name "-" version ".tar.xz")) (sha256 (base32 - "1n69lkiagx2x8lrdbvdlz6c051cvzhma73b3ggnw7w1wfkdpnmkr")))) + "1a3kcls18dcz1lj8hrx8skcli9xxfyi71c17xjwayh71cm5jc8zs")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-nautilus") @@ -772,6 +772,11 @@ forgotten when the session ends.") ("dconf" ,dconf) ("libcanberra" ,libcanberra) ("libsecret" ,libsecret) + + ;; XXX: 'libarchive.pc' adds '-lnettle' so Nettle should really be + ;; propagated from there. + ("nettle" ,nettle) + ;; For tests. ("dogtail" ,python2-dogtail))) (native-inputs From 5ccd8f406106bd52c9aecbd35bc8cbd5520869e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 18:21:33 +0200 Subject: [PATCH 147/233] gnu: magit-svn: Update to 2.2.0. * gnu/packages/emacs.scm (magit-svn): Update to 2.2.0. [propagated-inputs]: Add WITH-EDITOR. [arguments]: Add WITH-EDITOR to EMACSLOADPATH. --- gnu/packages/emacs.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f5da214fa2..6b92171bcd 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -489,7 +489,7 @@ operations.") (define-public magit-svn (package (name "magit-svn") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append @@ -498,12 +498,13 @@ operations.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz")))) + "1c3n377v436zaxamlsz04y1ahdhp96x1vd43zaryv4y10m02ba47")))) (build-system trivial-build-system) (native-inputs `(("emacs" ,emacs-minimal) ("tar" ,tar) ("gzip" ,gzip))) (propagated-inputs `(("dash" ,emacs-dash) + ("with-editor" ,emacs-with-editor) ("magit" ,magit))) (arguments `(#:modules ((guix build utils) @@ -525,6 +526,9 @@ operations.") (dash (string-append (assoc-ref %build-inputs "dash") "/share/emacs/site-lisp/guix.d/dash-" ,(package-version emacs-dash))) + (with-editor (string-append (assoc-ref %build-inputs "with-editor") + "/share/emacs/site-lisp/guix.d/with-editor-" + ,(package-version emacs-with-editor))) (source (assoc-ref %build-inputs "source")) (lisp-dir (string-append %output "/share/emacs/site-lisp"))) (setenv "PATH" PATH) @@ -537,7 +541,7 @@ operations.") (parameterize ((%emacs emacs)) (emacs-generate-autoloads ,name lisp-dir) (setenv "EMACSLOADPATH" - (string-append ":" magit ":" dash)) + (string-append ":" magit ":" dash ":" with-editor)) (emacs-batch-eval '(byte-compile-file "magit-svn.el")))))))) (home-page "https://github.com/magit/magit-svn") (synopsis "Git-SVN extension to Magit") From 3c1ae2a6370f3d2554fe4e8e8a52f404bcde680e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 18:24:29 +0200 Subject: [PATCH 148/233] gnu: perl-image-exiftool: Update to 10.80. * gnu/packages/photo.scm (perl-image-exiftool): Update to 10.80. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 1a3b895b18..e60af0bd36 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -184,7 +184,7 @@ MTP, and much more.") (define-public perl-image-exiftool (package (name "perl-image-exiftool") - (version "10.55") + (version "10.80") (source (origin (method url-fetch) (uri (string-append @@ -192,7 +192,7 @@ MTP, and much more.") version ".tar.gz")) (sha256 (base32 - "0z8zwjjfvyllnhsafhddbybywpgqv0pl1dbn1g034cs27yj836q2")))) + "14rwr5wk2snqv4yva6fax1gfsdv88941n237m0wyzn3n0xh9dy5w")))) (build-system perl-build-system) (arguments '(#:phases From 0741932bc4bd183b45425aec073e1b8bd14f3d85 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Sat, 24 Mar 2018 12:22:49 +0000 Subject: [PATCH 149/233] gnu: libressl: Update to 2.7.1. * gnu/packages/tls.scm (libressl): Update to 2.7.1. Signed-off-by: Nils Gillmann Signed-off-by: Marius Bakke --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f56d5b27fa..b109a2a882 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Efraim Flashner -;;; Copyright © 2016, 2017 Nils Gillmann +;;; Copyright © 2016, 2017, 2018 Nils Gillmann ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke @@ -468,14 +468,14 @@ required structures.") (define-public libressl (package (name "libressl") - (version "2.6.4") + (version "2.7.1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" name "-" version ".tar.gz")) (sha256 (base32 - "07yi37a2ghsgj2b4w30q1s4d2inqnix7ika1m21y57p9z71212k3")))) + "0w3hdgcr4cq84cv7wkkg2clz9s6l2m2l92d6mfn70wxs6vi0fxck")))) (build-system gnu-build-system) (arguments ;; Do as if 'getentropy' was missing since older Linux kernels lack it From aaa31d1b007ea0d292a86482eb4ca0e7049af40f Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Sun, 25 Mar 2018 20:10:18 +0800 Subject: [PATCH 150/233] gnu: emacs-xelb: Update to 0.14. * gnu/packages/emacs.scm (emacs-xelb): Update to 0.14. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6b92171bcd..11a4f8bf92 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5707,14 +5707,14 @@ which code derived from Kelvin H's org-page.") (define-public emacs-xelb (package (name "emacs-xelb") - (version "0.12") + (version "0.14") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xelb-" version ".tar")) (sha256 (base32 - "0i9n0f3ibj4a5pwcsvwrah9m0fz32m0x6a9wsmjn3li20v8pcb81")))) + "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74")))) (build-system emacs-build-system) ;; The following functions and variables needed by emacs-xelb are ;; not included in emacs-minimal: From 9f2a58a01a13de5075c1a4354c50fa6836ecd28c Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Sun, 25 Mar 2018 20:11:53 +0800 Subject: [PATCH 151/233] gnu: emacs-exwm: Update to 0.18. * gnu/packages/emacs.scm (emacs-exwm): Update to 0.18. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 11a4f8bf92..356b678eed 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5746,7 +5746,7 @@ It should enable you to implement low-level X11 applications.") (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.16") + (version "0.18") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -5754,7 +5754,7 @@ It should enable you to implement low-level X11 applications.") version ".tar")) (sha256 (base32 - "0c4w5k9lzqj8yzhdqipdb4fs7ld2qklc6s137104jnfdvmrwcv2i")))) + "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) From 03a34d54129fadd7dc174fe294c1735e4a4c10ff Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Mon, 26 Mar 2018 06:40:49 +0800 Subject: [PATCH 152/233] gnu: emacs-exwm-x: Update to 1.8.1. * gnu/packages/emacs.scm (emacs-exwm-x): Update to 1.8.1. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 356b678eed..b99c4e01af 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5837,7 +5837,7 @@ other operations.") (define-public emacs-exwm-x (package (name "emacs-exwm-x") - (version "1.7.2") + (version "1.8.1") (synopsis "Derivative window manager based on EXWM") (source (origin (method url-fetch) @@ -5847,7 +5847,7 @@ other operations.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ny13i82fb72917jgl0ndwjg1x6l9f8gfhcx7cwlwhh5saq23mvy")))) + "0ali1100aacq4zbvcck80h51pvw204jlxhn4aikkqq4ngbx03kkr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-exwm" ,emacs-exwm) From da5fe92a0b64c947b0e95c4076fdfd4fe1ab8f1c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 19:50:11 +0200 Subject: [PATCH 153/233] gnu: Add ghc-basement. * gnu/packages/haskell.scm (ghc-basement): New variable. --- gnu/packages/haskell.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0bc8e52fde..5de9f51a2f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9023,4 +9023,24 @@ Haskell programmers. The ultimate goal is to support all Amazon Web Services.") (license license:bsd-3))) +(define-public ghc-basement + (package + (name "ghc-basement") + (version "0.0.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "basement/basement-" version ".tar.gz")) + (sha256 + (base32 + "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm")))) + (build-system haskell-build-system) + (home-page "https://github.com/haskell-foundation/foundation") + (synopsis "Basic primitives for Foundation starter pack") + (description + "This package contains basic primitives for the Foundation set of +packages.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 635cc8fef62ace9c0900419f63cddeb10ab98334 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 20:20:26 +0200 Subject: [PATCH 154/233] gnu: Add ghc-foundation. * gnu/packages/haskell.scm (ghc-foundation): New variable. --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5de9f51a2f..fcf56f718e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9043,4 +9043,38 @@ Web Services.") packages.") (license license:bsd-3))) +(define-public ghc-foundation + (package + (name "ghc-foundation") + (version "0.0.20") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "foundation/foundation-" version ".tar.gz")) + (sha256 + (base32 + "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms")))) + (build-system haskell-build-system) + (inputs `(("ghc-basement" ,ghc-basement))) + (home-page "https://github.com/haskell-foundation/foundation") + (synopsis "Alternative prelude with batteries and no dependencies") + (description + "This package provides a custom prelude with no dependencies apart from +the base package. + +Foundation has the following goals: + +@enumerate +@item provide a base like sets of modules that provide a consistent set of + features and bugfixes across multiple versions of GHC (unlike base). +@item provide a better and more efficient prelude than base's prelude. +@item be self-sufficient: no external dependencies apart from base; +@item provide better data-types: packed unicode string by default, arrays; +@item Numerical classes that better represent mathematical things (no more + all-in-one @code{Num}); +@item I/O system with less lazy IO. +@end enumerate\n") + (license license:bsd-3))) + ;;; haskell.scm ends here From 150e8e25f5d8dd6a53c93d6fc908488b3a395544 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 19:51:43 +0200 Subject: [PATCH 155/233] gnu: ghc-memory: Update to 0.14.16. * gnu/packages/haskell.scm (ghc-memory): Update to 0.14.16. [inputs]: Add ghc-basement and ghc-foundation. --- gnu/packages/haskell.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fcf56f718e..07f5b0678f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -5838,15 +5838,18 @@ Damerau-Levenshtein algorithms.") (define-public ghc-memory (package (name "ghc-memory") - (version "0.13") + (version "0.14.16") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "memory/memory-" version ".tar.gz")) (sha256 (base32 - "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw")))) + "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v")))) (build-system haskell-build-system) + (inputs + `(("ghc-basement" ,ghc-basement) + ("ghc-foundation" ,ghc-foundation))) (native-inputs `(("ghc-tasty" ,ghc-tasty) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) From 5b5dbece6bbfa7ecc153586b1ff7eb094c50bc48 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Mar 2018 19:39:43 +0200 Subject: [PATCH 156/233] gnu: ghc-cryptonite: Update to 0.25. * gnu/packages/haskell-crypto.scm (ghc-cryptonite): Update to 0.25. [inputs]: Add ghc-basement. --- gnu/packages/haskell-crypto.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index ae69cfe3a1..e4d4e56388 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -257,7 +257,7 @@ the C implementation.") (define-public ghc-cryptonite (package (name "ghc-cryptonite") - (version "0.20") + (version "0.25") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" @@ -265,10 +265,11 @@ the C implementation.") version ".tar.gz")) (sha256 (base32 - "0m63np0affci7ba9mrkvw2flzxn0s2mk930xldc4dwijw32gl6r6")))) + "131wbbdr5yavs5k1ah9sz6fqx1ffyvaxf66pwjzsfc47mwc1mgl9")))) (build-system haskell-build-system) (inputs - `(("ghc-memory" ,ghc-memory) + `(("ghc-basement" ,ghc-basement) + ("ghc-memory" ,ghc-memory) ("ghc-byteable" ,ghc-byteable))) (native-inputs `(("ghc-tasty" ,ghc-tasty) From 158943f2288fa07562df044b68396cee83d18eba Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 26 Mar 2018 19:46:14 +0100 Subject: [PATCH 157/233] gnu: emacs-minitest: Switch source to the git repository. The 0.8.0 release was over 3 years ago, and there have been ~50 commits since. * gnu/packages/emacs.scm (emacs-minitest): Wrap with let, and change source to the git repository. --- gnu/packages/emacs.scm | 50 ++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b99c4e01af..c4c2c386ec 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1828,34 +1828,36 @@ of files under Git version control from within Emacs.") (license license:gpl3+))) (define-public emacs-minitest - (package - (name "emacs-minitest") - (version "0.8.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/arthurnn/minitest-emacs/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dsb7kzvs1x6g4sgqmq73jqacb7wzm0wfkiq5m9dqdzq8mppgiqs")))) - (build-system emacs-build-system) - (arguments - '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include) - #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude))) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-f" ,emacs-f))) - (home-page "https://github.com/arthurnn/minitest-emacs") - (synopsis "Emacs minitest mode") - (description - "The minitest mode provides commands to run the tests for the current + (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182") + (revision "1")) + (package + (name "emacs-minitest") + (version (git-version "0.8.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arthurnn/minitest-emacs") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 + "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1")))) + (build-system emacs-build-system) + (arguments + '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include) + #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f))) + (home-page "https://github.com/arthurnn/minitest-emacs") + (synopsis "Emacs minitest mode") + (description + "The minitest mode provides commands to run the tests for the current file or line, as well as rerunning the previous tests, or all the tests for a project. This package also includes relevant snippets for yasnippet.") - (license license:expat))) + (license license:expat)))) (define-public emacs-el-mock (package From 376015c35bdaf645e4a544d52d529fbe45e7ad1e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 26 Mar 2018 19:48:26 +0100 Subject: [PATCH 158/233] gnu: emacs-robe: Include the lib directory in the output. This contains some Ruby code that needs to be accessible to use robe. * gnu/packages/emacs.scm (emacs-robe)[arguments]: Include the lib directory, in addition to the %default-includes. --- gnu/packages/emacs.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c4c2c386ec..098dcf74a1 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2270,6 +2270,8 @@ mode-line.") (base32 "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br")))) (build-system emacs-build-system) + (arguments + '(#:include (cons "^lib\\/" %default-include))) (propagated-inputs `(("emacs-inf-ruby" ,emacs-inf-ruby))) (home-page "https://github.com/dgutov/robe") From 96e223621fa4f7c9fc1ef52915e6d1fceed5612f Mon Sep 17 00:00:00 2001 From: Sandeep Subramanian Date: Mon, 26 Mar 2018 15:21:46 +0530 Subject: [PATCH 159/233] gnu: Add r-arules. * gnu/packages/cran.scm (r-arules): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 39f2a323a6..001efc929d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Raoul Bonnal ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2018 Sahithi Yarlagadda +;;; Copyright © 2018 Sandeep Subramanian ;;; ;;; This file is part of GNU Guix. ;;; @@ -3296,3 +3297,26 @@ Dependencies of the distribution of the specified variable (response variable) to other variables (explanatory variables) are derived and evaluated by the @dfn{Akaike Information Criterion} (AIC).") (license license:gpl2+))) + +(define-public r-arules + (package + (name "r-arules") + (version "1.6-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "arules" version)) + (sha256 + (base32 + "14gbq5k2zkx4wc7kkfazz313ngij89qp1xmyxfg3nq3v1s84c3sl")))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix))) + (home-page "https://github.com/mhahsler/arules") + (synopsis "Mining association rules and frequent itemsets") + (description + "This package provides an infrastructure for representing, manipulating +and analyzing transaction data and patterns (frequent itemsets and association rules). +It also provides C implementations of the association mining algorithms Apriori +and Eclat.") + (license license:gpl3))) From d2a507efd92c83a9b5d38b46b3fbc406beb2e8ba Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 09:36:47 -0400 Subject: [PATCH 160/233] gnu: Add r-haven. * gnu/packages/cran.scm (r-haven): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 001efc929d..d50289d722 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2018 Sahithi Yarlagadda ;;; Copyright © 2018 Sandeep Subramanian +;;; Copyright © 2018 Charlie Ritter ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,31 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-haven + (package + (name "r-haven") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "haven" version)) + (sha256 + (base32 + "1fkcvsrnw8waqwggv0aydbvbi99x5kp9g78xfxj4w6s3xvdzcysz")))) + (build-system r-build-system) + (propagated-inputs + `(("r-forcats" ,r-forcats) + ("r-hms" ,r-hms) + ("r-rcpp" ,r-rcpp) + ("r-readr" ,r-readr) + ("r-tibble" ,r-tibble))) + (home-page "https://haven.tidyverse.org") + (synopsis "Import and Export 'SPSS', 'Stata' and 'SAS' Files") + (description + "This package lets you mport foreign statistical formats into R via the +embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.") + (license license:expat))) + (define-public r-ape (package (name "r-ape") From 9a91c925f2e4a4d021b417729e77284dd11ca789 Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 09:56:56 -0400 Subject: [PATCH 161/233] gnu: Add r-modelr. * gnu/packages/cran.scm (r-modelr): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d50289d722..49bd835791 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,33 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-modelr + (package + (name "r-modelr") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "modelr" version)) + (sha256 + (base32 + "1rqw0b583vp107zqp4h3wj51dvv4hb3wszfr1f5f48xassc53f95")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-lazyeval" ,r-lazyeval) + ("r-magrittr" ,r-magrittr) + ("r-purrr" ,r-purrr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/tidyverse/modelr") + (synopsis "Helper functions for modelling in pipelines") + (description + "Functions for modelling that help you seamlessly integrate modelling +into a pipeline of data manipulation and visualisation.") + (license license:gpl3))) + (define-public r-haven (package (name "r-haven") From d7637e5ed8463d0c1ef84b1a6ef5b45205fdba26 Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 10:03:44 -0400 Subject: [PATCH 162/233] gnu: Add r-readxl. * gnu/packages/cran.scm (r-readxl): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 49bd835791..6bf3955fd6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,32 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-readxl + (package + (name "r-readxl") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "readxl" version)) + (sha256 + (base32 + "1bf7gxw9r11m4llyymplxiaa4gzgyj4bwmwad5in756pzq3jzmpv")))) + (build-system r-build-system) + (propagated-inputs + `(("r-cellranger" ,r-cellranger) + ("r-rcpp" ,r-rcpp) + ("r-tibble" ,r-tibble))) + (home-page "https://readxl.tidyverse.org") + (synopsis "Read Excel files") + (description + "This package lets you import Excel files into R. It supports +@file{.xls} via the embedded @code{libxls} C library and @file{.xlsx} via +the embedded @code{RapidXML} C++ library.") + ;; XXX: This package bundles a copy of 'libxsl' which is BSD-2 and + ;; 'rapidxml' which is Boost. + (license (list license:gpl3 license:bsd-2 license:boost1.0)))) + (define-public r-modelr (package (name "r-modelr") From 10487c30bca4047a07202ffea385e01e52ed6a51 Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 10:13:04 -0400 Subject: [PATCH 163/233] gnu: Add r-callr. * gnu/packages/cran.scm (r-callr): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6bf3955fd6..b2db1af3fb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,32 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-callr + (package + (name "r-callr") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "callr" version)) + (sha256 + (base32 + "0m51p39vfwldxv6h8x4y9w3laf8q9bldhfqhlcrlx3xhy3irb1bp")))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-crayon" ,r-crayon) + ("r-debugme" ,r-debugme) + ("r-r6" ,r-r6) + ("r-testthat" ,r-testthat))) + (home-page "https://github.com/r-lib/callr#readme") + (synopsis "Call R from R") + (description + "It is sometimes useful to perform a computation in a separate R process, +without affecting the current R process at all. This packages does exactly +that.") + (license license:expat))) + (define-public r-readxl (package (name "r-readxl") From 948740b08a66a544754de31cc5746c89e9c2ff1d Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 10:58:32 -0400 Subject: [PATCH 164/233] gnu: Add r-reprex. * gnu/packages/cran.scm (r-reprex): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b2db1af3fb..e3bcaf3fc9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,34 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-reprex + (package + (name "r-reprex") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "reprex" version)) + (sha256 + (base32 + "105d9vsmqfilgpw8psfb2wyiz1hvcycvh4cqhb3ab37lm3rcavvs")))) + (build-system r-build-system) + (propagated-inputs + `(("r-callr" ,r-callr) + ("r-knitr" ,r-knitr) + ("r-rmarkdown" ,r-rmarkdown) + ("r-whisker" ,r-whisker))) + (home-page "https://github.com/tidyverse/reprex") + (synopsis "Prepare reproducible R code examples for sharing") + (description + "This package provides a convenience wrapper that uses the +@code{rmarkdown} package to render small snippets of code to target formats +that include both code and output. The goal is to encourage the sharing of +small, reproducible, and runnable examples on code-oriented websites or email. +@code{reprex} also extracts clean, runnable R code from various common formats, +such as copy/paste from an R session.") + (license license:expat))) + (define-public r-callr (package (name "r-callr") From 81a9d4a4221299d00dd6b974efeeca1e79e5d2a1 Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 10:59:56 -0400 Subject: [PATCH 165/233] gnu: Add r-selectr. * gnu/packages/cran.scm (r-selectr): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e3bcaf3fc9..0fedb70850 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,29 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-selectr + (package + (name "r-selectr") + (version "0.3-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "selectr" version)) + (sha256 + (base32 + "0kdrj64rqg4z6hg92y9r2h602a2i73r5rnlpg23ys33d5d32n8jy")))) + (build-system r-build-system) + (propagated-inputs `(("r-stringr" ,r-stringr))) + (home-page "https://sjp.co.nz/projects/selectr/") + (synopsis "Translate CSS selectors to XPath expressions") + (description + "@code{r-selectr} translates a CSS3 selector into an equivalent XPath +expression. This allows you to use CSS selectors when working with the XML +package as it can only evaluate XPath expressions. Also provided are +convenience functions useful for using CSS selectors on XML nodes. This +package is a port of the Python package @code{cssselect}.") + (license license:bsd-3))) + (define-public r-reprex (package (name "r-reprex") From 8a1ef6ac259c57e6c1940385f679d498fe2739af Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 11:03:41 -0400 Subject: [PATCH 166/233] gnu: Add r-rvest. * gnu/packages/cran.scm (r-rvest): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0fedb70850..8a03eebcc2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,31 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-rvest + (package + (name "r-rvest") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rvest" version)) + (sha256 + (base32 + "04mv99z8dixywx96kfy4215g6ib23s7qvd77hcf9pxqxzcvqhvhd")))) + (build-system r-build-system) + (propagated-inputs + `(("r-httr" ,r-httr) + ("r-magrittr" ,r-magrittr) + ("r-selectr" ,r-selectr) + ("r-xml2" ,r-xml2))) + (home-page "https://github.com/hadley/rvest") + (synopsis "Simple web scraping for R") + (description + "@code{r-rvest} helps you scrape information from web pages. It is +designed to work with @code{magrittr} to make it easy to express common web +scraping tasks, inspired by libraries like @code{BeautifulSoup}.") + (license license:gpl3))) + (define-public r-selectr (package (name "r-selectr") From 786d3de297c75f70193ceda92af8faf697f3784d Mon Sep 17 00:00:00 2001 From: Charlie Ritter Date: Mon, 12 Mar 2018 11:07:22 -0400 Subject: [PATCH 167/233] gnu: Add r-tidyverse. * gnu/packages/cran.scm (r-tidyverse): New variable. Signed-off-by: Marius Bakke --- gnu/packages/cran.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8a03eebcc2..7b49fbdbc0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37,6 +37,53 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-tidyverse + (package + (name "r-tidyverse") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "tidyverse" version)) + (sha256 + (base32 + "0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-cli" ,r-cli) + ("r-crayon" ,r-crayon) + ("r-dbplyr" ,r-dbplyr) + ("r-dplyr" ,r-dplyr) + ("r-forcats" ,r-forcats) + ("r-ggplot2" ,r-ggplot2) + ("r-haven" ,r-haven) + ("r-hms" ,r-hms) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-lubridate" ,r-lubridate) + ("r-magrittr" ,r-magrittr) + ("r-modelr" ,r-modelr) + ("r-purrr" ,r-purrr) + ("r-readr" ,r-readr) + ("r-readxl" ,r-readxl) + ("r-reprex" ,r-reprex) + ("r-rlang" ,r-rlang) + ("r-rstudioapi" ,r-rstudioapi) + ("r-rvest" ,r-rvest) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) + ("r-xml2" ,r-xml2))) + (home-page "https://tidyverse.tidyverse.org") + (synopsis "Install and load packages from the \"Tidyverse\"") + (description + "The @code{tidyverse} is a set of packages that work in harmony because +they share common data representations and API design. This package is +designed to make it easy to install and load multiple tidyverse packages in a +single step.") + (license license:gpl3))) + (define-public r-rvest (package (name "r-rvest") From e0de023eae9f98cb809a4866a84d85efaa262e56 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Thu, 22 Mar 2018 05:20:42 +0300 Subject: [PATCH 168/233] gnu: Add perl-uri-escape. * gnu/packages/perl-web.scm (perl-uri-escape): New public variable. --- gnu/packages/perl-web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl-web.scm b/gnu/packages/perl-web.scm index 0500cee0dc..7a398675b2 100644 --- a/gnu/packages/perl-web.scm +++ b/gnu/packages/perl-web.scm @@ -21,6 +21,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix packages) + #:use-module (gnu packages perl-check) #:use-module (guix download) #:use-module (guix build-system perl)) @@ -46,3 +47,26 @@ keep you going, learning by doing was much fun. While most of the techniques used are outdated now, the idea behind it is not. Mojolicious is a new endeavor to implement this idea using modern technologies.") (license license:artistic2.0))) + +(define-public perl-uri-escape + (package + (name "perl-uri-escape") + (version "1.73") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/URI-" + version ".tar.gz")) + (sha256 + (base32 + "04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-needs" ,perl-test-needs))) + (home-page "https://github.com/libwww-perl/URI") + (synopsis "Percent-encode and percent-decode unsafe characters") + (description "This module provides functions to percent-encode and +percent-decode URI strings as defined by RFC 3986. Percent-encoding URI's is +informally called URI escaping. This is the terminology used by this module, +which predates the formalization of the terms by the RFC by several years.") + (license license:perl-license))) From e5e5eb1fcf4c0aab10e2d6ed7fa34257a3c87e58 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 25 Mar 2018 21:42:38 +0300 Subject: [PATCH 169/233] gnu: Add twitchy. * gnu/packages/video.scm (twitchy): New public variable. --- gnu/packages/video.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6b214d49ad..3937c52c01 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1783,6 +1783,38 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (define-public livestreamer (deprecated-package "livestreamer" streamlink)) +(define-public twitchy + (let ((commit "0c0f925b9c7ff2aed4a3b0046561cb794143c398")) ;Fixes tests. + (package + (name "twitchy") + (version (git-version "3.2" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BasioMeusPuga/twitchy.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02aizvsr744sh8bdqvwwsmp2qpczlzn8fy76h5dyd3517n9nlcz9")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + (setenv "HOME" (getcwd)) ;Needs to write to ‘$HOME’. + #t))))) + (inputs + `(("python-requests" ,python-requests) + ("streamlink" ,streamlink))) + (home-page "https://github.com/BasioMeusPuga/twitchy") + (synopsis "Command-line interface for Twitch.tv") + (description + "This package provides a command-line interface for Twitch.tv") + (license license:gpl3+)))) + (define-public mlt (package (name "mlt") From 196c8b3739d16241da73c78536ce86aaab948677 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 25 Mar 2018 11:40:44 +0300 Subject: [PATCH 170/233] gnu: translate-shell: Update to 0.9.6.7. * gnu/packages/patches/translate-shell-fix-curl-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/dictionaries.scm (translate-shell): Update to 0.9.6.7. [source](patches): Add it. [home-page]: Append slash. --- gnu/local.mk | 1 + gnu/packages/dictionaries.scm | 11 ++-- .../translate-shell-fix-curl-tests.patch | 60 +++++++++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/translate-shell-fix-curl-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index e5c8bcfb78..284161fe8a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1117,6 +1117,7 @@ dist_patch_DATA = \ %D%/packages/patches/tipp10-fix-compiling.patch \ %D%/packages/patches/tipp10-remove-license-code.patch \ %D%/packages/patches/tk-find-library.patch \ + %D%/packages/patches/translate-shell-fix-curl-tests.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/tophat-build-with-later-seqan.patch \ diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 3f50070ef7..85979ba096 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -27,6 +27,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages emacs) @@ -239,7 +240,7 @@ and a Python library.") (define-public translate-shell (package (name "translate-shell") - (version "0.9.6.4") + (version "0.9.6.7") (source (origin (method url-fetch) @@ -247,7 +248,8 @@ and a Python library.") version ".tar.gz")) (sha256 (base32 - "1fg6nf1plvgimc57fsdr9rcjbf7jvmk5jrlj5ya509vpdcdgvj2s")) + "0inv6r3qbihn2ff1sgcly89r04k4vgcbvvyl50ln0mxlapbhpy95")) + (patches (search-patches "translate-shell-fix-curl-tests.patch")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments @@ -261,7 +263,8 @@ and a Python library.") (emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))) (install-file "google-translate-mode.el" dest) (emacs-generate-autoloads ,name dest))))) - #:make-flags (list (string-append "PREFIX=" %output)) + #:make-flags (list (string-append "PREFIX=" %output) + "NETWORK_ACCESS=no test") #:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils)) #:modules ((guix build gnu-build-system) (guix build emacs-utils) @@ -274,7 +277,7 @@ and a Python library.") (native-inputs `(("emacs" ,emacs-minimal) ("util-linux" ,util-linux))) ; hexdump, for the test - (home-page "https://www.soimort.org/translate-shell") + (home-page "https://www.soimort.org/translate-shell/") (synopsis "Translations from the command line") (description "Translate Shell (formerly Google Translate CLI) is a command-line diff --git a/gnu/packages/patches/translate-shell-fix-curl-tests.patch b/gnu/packages/patches/translate-shell-fix-curl-tests.patch new file mode 100644 index 0000000000..33731462b8 --- /dev/null +++ b/gnu/packages/patches/translate-shell-fix-curl-tests.patch @@ -0,0 +1,60 @@ +This patch fixes Curl related tests for 'translate-shell'. + +Upstream bug URL: + +https://github.com/soimort/translate-shell/issues/221 + +From bb9f32d3145125ba664b6b05bf0a2fd34108e9d2 Mon Sep 17 00:00:00 2001 +From: Mort Yao +Date: Sun, 25 Mar 2018 03:14:33 +0200 +Subject: [PATCH] TestUtils: perform curl-related tests only if NETWORK_ACCESS + is set to yes (#221) + +--- + test/TestUtils.awk | 32 +++++++++++++++++--------------- + 1 file changed, 17 insertions(+), 15 deletions(-) + +diff --git a/test/TestUtils.awk b/test/TestUtils.awk +index 08bb2e9..1c141e5 100644 +--- a/test/TestUtils.awk ++++ b/test/TestUtils.awk +@@ -30,22 +30,24 @@ BEGIN { + assertTrue(newerVersion("2", "1.9.9999")) + } + +- T("curl()", 1) +- { +- delete tokens; delete ast +- tokenize(tokens, curl("https://httpbin.org/get")) +- parseJson(ast, tokens) +- assertEqual(unparameterize(ast[0 SUBSEP "url"]), +- "https://httpbin.org/get") +- } ++ if (yn(ENVIRON["NETWORK_ACCESS"])) { # if network access enabled ++ T("curl()", 1) ++ { ++ delete tokens; delete ast ++ tokenize(tokens, curl("https://httpbin.org/get")) ++ parseJson(ast, tokens) ++ assertEqual(unparameterize(ast[0 SUBSEP "url"]), ++ "https://httpbin.org/get") ++ } + +- T("curlPost()", 1) +- { +- delete tokens; delete ast +- tokenize(tokens, curlPost("https://httpbin.org/post", "fizz=buzz")) +- parseJson(ast, tokens) +- assertEqual(unparameterize(ast[0 SUBSEP "url"]), +- "https://httpbin.org/post") ++ T("curlPost()", 1) ++ { ++ delete tokens; delete ast ++ tokenize(tokens, curlPost("https://httpbin.org/post", "fizz=buzz")) ++ parseJson(ast, tokens) ++ assertEqual(unparameterize(ast[0 SUBSEP "url"]), ++ "https://httpbin.org/post") ++ } + } + + T("dump()", 3) From 4769ef0074811820c8c5b306e6e55d156830811d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 25 Mar 2018 15:19:01 +0530 Subject: [PATCH 171/233] gnu: Add font-lohit. * gnu/packages/fonts.scm (font-lohit): New variable. --- gnu/packages/fonts.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4b9c3e9baf..f57d5114ab 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2017 Alex Griffin ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Brendan Tildesley -;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017, 2018 Arun Isaac ;;; Copyright © 2017 Mohammed Sadiq ;;; Copyright © 2018 Charlie Ritter ;;; @@ -1289,3 +1289,24 @@ serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam, Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is available in Keter YG.") (license license:gpl2))) ; consult the LICENSE file included + +(define-public font-lohit + (package + (name "font-lohit") + (version "20140220") + (source + (origin + (method url-fetch) + (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-" + version ".tar.gz")) + (sha256 + (base32 + "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d")))) + (build-system font-build-system) + (home-page "https://pagure.io/lohit") + (synopsis "Lohit TrueType Indic fonts") + (description "Lohit is a font family designed to cover Indic scripts. +Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani, +Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati, +Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.") + (license license:silofl1.1))) From faef71f926fefc1d8d1f9216948b7e21f0c1862d Mon Sep 17 00:00:00 2001 From: Vasile Dumitrascu Date: Mon, 26 Mar 2018 21:20:55 +0200 Subject: [PATCH 172/233] gnu: hplip: Update to 3.18.3. * gnu/packages/cups.scm (hplip): Update to 3.18.3. Signed-off-by: Leo Famulari --- gnu/packages/cups.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 89c58f864b..62e308a07e 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -370,14 +370,14 @@ device-specific programs to convert and print many types of files.") (define-public hplip (package (name "hplip") - (version "3.17.11") + (version "3.18.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "0xda7x7xxjvzn1l0adlvbwcw21crq1r3r79bkf94q3m5i6abx49g")) + "0x5xs86v18w46rxz5whc15bl4fb7p4km6xqjpwzclp83nl7rl01y")) (modules '((guix build utils))) (snippet ;; Fix type mismatch. From 86bd0f797f616620a0c13f49d17e5b07aa5aa677 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 26 Mar 2018 16:15:21 -0400 Subject: [PATCH 173/233] gnu: libreoffice: Update to 5.4.6.2. * gnu/packages/libreoffice.scm (libreoffice): Update to 5.4.6.2. --- gnu/packages/libreoffice.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index efa69745dc..ef40e018b1 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -844,7 +844,7 @@ and to return information on pronunciations, meanings and synonyms.") (define-public libreoffice (package (name "libreoffice") - (version "5.4.5.1") + (version "5.4.6.2") (source (origin (method url-fetch) @@ -852,8 +852,9 @@ and to return information on pronunciations, meanings and synonyms.") (string-append "https://download.documentfoundation.org/libreoffice/src/" (version-prefix version 3) "/libreoffice-" version ".tar.xz")) - (sha256 (base32 - "167bh6jgyhfcvn3g7xghkg4nb99h91diypdlry5df21xs8bis5gb")))) + (sha256 + (base32 + "0icd8h221gp2dsbn6d35flwhqhcfpx66cjc5dg8yifhhvrfam74i")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) From dadc8610e0035cd38928029cb050f3c2da78bf43 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:02:58 +0200 Subject: [PATCH 174/233] gnu: vis: Update to 0.5. * gnu/packages/text-editors.scm (vis): Update to 0.5. --- gnu/packages/text-editors.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index f375234b88..0d49e1187a 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Feng Shu ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +49,7 @@ (define-public vis (package (name "vis") - (version "0.4") + (version "0.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/martanne/" @@ -57,7 +57,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1iclfsc9vn40fqfiz56vrw6dmr4x8q9gvav0b53kkpc6zcfa86zi")))) + "1xbxb3q963s6sav63yw0x30lm0wvxsrzb7hr6a7dh4f8r7mp1skp")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 5000283b5d93999c544b4e7de514528974e5ce01 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:04:35 +0200 Subject: [PATCH 175/233] gnu: r-servr: Update to 0.9. * gnu/packages/web.scm (r-servr): Update to 0.9. [propagated-inputs]: Add r-xfun. --- gnu/packages/web.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index daf60c989f..a30e3c6c50 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3833,18 +3833,19 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "05pz4ychqp4cqywcdavdi8jj3y09gmam097d2idjnlcg9x61h2s9")))) + "0bs0i5mjfzxfshqz8i30nhn7kvgwly4fqn5bfq6dqfdrn7biai2x")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) ("r-jsonlite" ,r-jsonlite) - ("r-mime" ,r-mime))) + ("r-mime" ,r-mime) + ("r-xfun" ,r-xfun))) (native-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/yihui/servr") From 917378f787d747729861d18f32c257234b7250c5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:14:49 +0200 Subject: [PATCH 176/233] gnu: r-blob: Update to 1.1.1. * gnu/packages/statistics.scm (r-blob): Update to 1.1.1. [propagated-inputs]: Add r-prettyunits. --- gnu/packages/statistics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 363e6c387f..6abf00a140 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2672,16 +2672,17 @@ that package, other packages are unaffected.") (define-public r-blob (package (name "r-blob") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "blob" version)) (sha256 (base32 - "05pazzcyz3c3vd2l70zq9cf172cgjff4dnf419zigfnxycyn1mhn")))) + "0lsg91hk508dd95ivig2lwg62qafwnarjw68110kx63cfk4zkjxc")))) (build-system r-build-system) (propagated-inputs - `(("r-tibble" ,r-tibble))) + `(("r-prettyunits" ,r-prettyunits) + ("r-tibble" ,r-tibble))) (home-page "https://github.com/hadley/blob") (synopsis "Simple S3 Class for representing vectors of binary data") (description "Raw vectors in R are useful for storing a single binary From 6e54870f602cb229c72fb320adb64b740e43ca0d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:15:24 +0200 Subject: [PATCH 177/233] gnu: r-randomforest: Update to 4.6-14. * gnu/packages/statistics.scm (r-randomforest): Update to 4.6-14. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6abf00a140..fc56193b3c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4527,14 +4527,14 @@ perform @dfn{independent component analysis} (ICA) and projection pursuit.") (define-public r-randomforest (package (name "r-randomforest") - (version "4.6-12") + (version "4.6-14") (source (origin (method url-fetch) (uri (cran-uri "randomForest" version)) (sha256 (base32 - "1i43idaihhl6nwqw42v9dqpl6f8z3ykcn2in32lh2755i27jylbf")))) + "0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l")))) (properties `((upstream-name . "randomForest"))) (build-system r-build-system) (home-page "https://www.stat.berkeley.edu/~breiman/RandomForests/") From 65ff6ab92ca01919d11d0db92aaf1c8dc5d6ef53 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:40:37 +0200 Subject: [PATCH 178/233] gnu: python-django-crispy-forms: Update to 1.7.2. * gnu/packages/django.scm (python-django-crispy-forms): Update to 1.7.2. --- gnu/packages/django.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index bb8aa3862a..4bb2e69049 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Nils Gillmann -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -788,14 +788,14 @@ provides features like a web browseable API and authentication policies.") (define-public python-django-crispy-forms (package (name "python-django-crispy-forms") - (version "1.7.0") + (version "1.7.2") (source (origin (method url-fetch) (uri (pypi-uri "django-crispy-forms" version)) (sha256 (base32 - "16s05jx86jmimlvnwpq73kl0mqw1v9lryc8zi61a9qwl25krm6mj")))) + "0pv7y648i8iz7mf64gkjizpbx5d01ap2s4vqqa30n38if6wvlljr")))) (build-system python-build-system) (arguments '(;; No included tests From ef803aa52c9cff8cc71099e2164012c328f5ebe0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:18:02 +0200 Subject: [PATCH 179/233] gnu: python-plotly: Update to 2.4.1. * gnu/packages/graph.scm (python-plotly): Update to 2.4.1. --- gnu/packages/graph.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 38924e42b2..74fbe9e84e 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Joshua Sierles, Nextjournal +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -207,14 +208,14 @@ lines.") (define-public python-plotly (package (name "python-plotly") - (version "2.4.0") + (version "2.4.1") (source (origin (method url-fetch) (uri (pypi-uri "plotly" version)) (sha256 (base32 - "0n18116jz6bl5n9cq23vabv1gcbh1x3yficdnfq55v0z4cwy0zlf")))) + "0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; The tests are not distributed in the release From 81a221712076c2002413f77c11a1653235a6aa36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:22:14 +0200 Subject: [PATCH 180/233] gnu: ruby-asciidoctor: Update to 1.5.6.2. * gnu/packages/ruby.scm (ruby-asciidoctor): Update to 1.5.6.2. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ecb2d46aad..24ccde92c1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -669,14 +669,14 @@ line of code.") (define-public ruby-asciidoctor (package (name "ruby-asciidoctor") - (version "1.5.6.1") + (version "1.5.6.2") (source (origin (method url-fetch) (uri (rubygems-uri "asciidoctor" version)) (sha256 (base32 - "1jnf9y8q5asfdzilp8vcqafrc2faj719df4yh1993mh6jd0iqdy4")))) + "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f")))) (build-system ruby-build-system) (arguments `(#:test-target "test:all" From d6fb32b8a0230dab30f606ef8b1b5c054917f1f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:22:38 +0200 Subject: [PATCH 181/233] gnu: ruby-rake: Update to 12.3.1. * gnu/packages/ruby.scm (ruby-rake): Update to 12.3.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 24ccde92c1..17fe7ae52c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4964,14 +4964,14 @@ Markdown.") (define-public ruby-rake (package (name "ruby-rake") - (version "12.3.0") + (version "12.3.1") (source (origin (method url-fetch) (uri (rubygems-uri "rake" version)) (sha256 (base32 - "190p7cs8zdn07mjj6xwwsdna3g0r98zs4crz7jh2j2q5b0nbxgjf")))) + "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler))) From 36f3e1df5fd28f28a93eb91ef29e1fcb43b90492 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:23:01 +0200 Subject: [PATCH 182/233] gnu: radeontop: Update to 1.1. * gnu/packages/linux.scm (radeontop): Update to 1.1. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 69fe81b7b4..fae2316746 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3768,7 +3768,7 @@ developers.") (define-public radeontop (package (name "radeontop") - (version "1.0") + (version "1.1") (home-page "https://github.com/clbr/radeontop/") (source (origin (method url-fetch) @@ -3776,7 +3776,7 @@ developers.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z38nibirqxrbsfyhfcrnzlcw16cqjp4ds6qnjfxalwayf9fm5x9")))) + "1fv06j5c99imvzkac3j40lgjhr5b2i77fnyffhlvj92bli1fm1c6")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases From 814612c0ccc5695cfbcbefc7622cf6ee2b0b5e93 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:23:29 +0200 Subject: [PATCH 183/233] gnu: libkomparediff2: Update to 17.12.3. * gnu/packages/kde.scm (libkomparediff2): Update to 17.12.3. --- gnu/packages/kde.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 33ed86b3b4..686a505821 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Mark Meyer -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -384,7 +384,7 @@ other special events for a geographical region.") (define-public libkomparediff2 (package (name "libkomparediff2") - (version "17.12.1") + (version "17.12.3") (source (origin (method url-fetch) @@ -393,7 +393,7 @@ other special events for a geographical region.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0jd700pjw51vyan5d22k6j60jgb95pfn2nvwz2nfs2f4xlsly1hz")))) + "0w6p8lvm2rn7y4qz0x3s87lwh1758xnyhwkkkng55n8v9rpjjw7l")))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) From 835cf37cebdccd743c91fae5deff50798bcf5e94 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:32:48 +0200 Subject: [PATCH 184/233] gnu: jetring: Update to 0.27. * gnu/packages/gnupg.scm (jetring): Update to 0.27. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 59d9b97501..c561c14ca7 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -933,7 +933,7 @@ over.") (define-public jetring (package (name "jetring") - (version "0.25") + (version "0.27") (source (origin (method url-fetch) @@ -941,7 +941,7 @@ over.") name "_" version ".tar.xz")) (sha256 (base32 - "0shcnnw0h31b08vmnvf18ni33dg40w18wv9smb69vkklz3h4jhpw")))) + "0jy0x5zj7v87xgyldlsx1knzp0mv10wzamblrw1b61i2m1ii4pxz")))) (build-system gnu-build-system) (arguments '(#:phases From 8a70a23ea64612c4e4bde619ed77efd445ba73ac Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 02:48:03 +0200 Subject: [PATCH 185/233] gnu: ccache: Update to 3.4.2. * gnu/packages/ccache.scm (ccache): Update to 3.4.2. --- gnu/packages/ccache.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index bcd5c4d164..af06b741a7 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -30,7 +30,7 @@ (define-public ccache (package (name "ccache") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) @@ -38,9 +38,9 @@ version ".tar.xz")) (sha256 (base32 - "1pppi4jbkkj641cdynmc35jaj40jjicw7gj75ran5qs5886jcblc")))) + "1qpy6k9f06kpr6bxy26ncdxcszqv1skcncvczcvksgfncx1v3a0q")))) (build-system gnu-build-system) - (native-inputs `(("perl" ,perl) ;for test.sh + (native-inputs `(("perl" ,perl) ; for test.sh ("which" ,(@ (gnu packages base) which)))) (inputs `(("zlib" ,zlib))) (arguments From f649443b7b9bbec4346ee0f07dd800ad22e861a8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 03:05:52 +0200 Subject: [PATCH 186/233] gnu: gzdoom: Update to 3.3.0. * gnu/packages/games.scm (gzdoom): Update to 3.3.0. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d8e3e0d363..5207e08d6c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016 Steve Webber ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2017, 2018 Arun Isaac -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 nee ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Marius Bakke @@ -4767,7 +4767,7 @@ You can save humanity and get programming skills!") (define-public gzdoom (package (name "gzdoom") - (version "3.2.5") + (version "3.3.0") (source (origin (method url-fetch) (uri @@ -4775,7 +4775,7 @@ You can save humanity and get programming skills!") version ".zip")) (sha256 (base32 - "1164d1zf5in98gp4j981ml3hwmks3q7vzfanlqpjlx2c09jmlv0q")) + "09a4kx3ry8pc9r578m7yprwa7zsdqxjpn10lyc92r5g9sx4l1m1a")) (patches (search-patches "gzdoom-search-in-installed-share.patch")) (modules '((guix build utils))) (snippet From 75657922a53a5bfa908180a8c21dfcee29533fd1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 03:06:17 +0200 Subject: [PATCH 187/233] gnu: supercollider: Update to 3.9.2. * gnu/packages/audio.scm (supercollider): Update to 3.9.2. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 9a63beddee..4456540c4d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2059,7 +2059,7 @@ background file post-processing.") (define-public supercollider (package (name "supercollider") - (version "3.9.1") + (version "3.9.2") (source (origin (method url-fetch) (uri (string-append @@ -2068,7 +2068,7 @@ background file post-processing.") "/SuperCollider-" version "-Source-linux.tar.bz2")) (sha256 (base32 - "150fgnjcmb06r3pa3mbsvb4iwnqlimjwdxgbs6p55zz6g8wbln7a")))) + "0d3cb6dw8jz7ijriqn3rlwin24gffczp69hl17pzxj1d5w57yj44")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" From 473cd27781670108b8b1039c8dc68d34ed56a9c5 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Sat, 17 Feb 2018 13:55:55 +0100 Subject: [PATCH 188/233] gnu: Remove Haskell packages provided by GHC. * gnu/packages/haskell.scm (ghc-array, ghc-binary, ghc-bytestring, ghc-directory, ghc-haskeline, ghc-process, ghc-transformers, ghc-transformers-0.4.2.0): Remove. (ghc-tar)[inputs]: Remove ghc-array. (ghc-hslogger)[inputs]: Remove ghc-directory. * gnu/packages/version-control.scm (darcs)[inputs]: Remove ghc-array, ghc-binary, and ghc-haskeline. * gnu/packages/wm.scm (xmonad)[inputs]: Remove ghc-directory. Signed-off-by: Ricardo Wurmus --- gnu/packages/haskell.scm | 219 +------------------------------ gnu/packages/version-control.scm | 3 - gnu/packages/wm.scm | 1 - 3 files changed, 1 insertion(+), 222 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 07f5b0678f..1ee92b218e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -6458,39 +6458,6 @@ constant-time: data quickly and efficiently, using the ByteString type.") (license license:bsd-3))) -(define-public ghc-binary - (package - (name "ghc-binary") - (version "0.8.5.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/binary/binary-" - version ".tar.gz")) - (sha256 - (base32 - "15h5zqfw7xmcimvlq6bs8f20vxlfvz7g411fns5z7212crlimffy")))) - (build-system haskell-build-system) - (arguments - `(#:configure-flags (list "--allow-newer=QuickCheck"))) - (native-inputs - `(("ghc-random" ,ghc-random) - ("ghc-test-framework" ,ghc-test-framework) - ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) - ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-hunit" ,ghc-hunit))) - (home-page "https://github.com/kolmodin/binary") - (synopsis - "Binary serialisation for Haskell values using lazy ByteStrings") - (description - "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values -may be encoded to and from binary formats, written to disk as binary, or sent over -the network. The format used can be automatically generated, or you can choose to -implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have -been observed, so this library should be suitable for high performance scenarios.") - (license license:bsd-3))) - (define-public ghc-data-ordlist (package (name "ghc-data-ordlist") @@ -6511,34 +6478,6 @@ been observed, so this library should be suitable for high performance scenarios "This module provides set and multiset operations on ordered lists.") (license license:bsd-3))) -(define-public ghc-haskeline - (package - (name "ghc-haskeline") - (version "0.7.4.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haskeline/haskeline-" - version ".tar.gz")) - (sha256 - (base32 - "1sxhdhy9asinxn0gvd4zandbk6xkb04vy1y7lmh66f9jv66fqhsm")))) - (build-system haskell-build-system) - (arguments - `(#:configure-flags (list "-fterminfo"))) - (inputs - `(("ncurses" ,ncurses) - ("ghc-stm" ,ghc-stm))) - (home-page "https://github.com/judah/haskeline") - (synopsis "Command-line interface for user input") - (description - "Haskeline provides a user interface for line input in command-line -programs. This library is similar in purpose to readline, but since it -is written in Haskell it is (hopefully) more easily used in other Haskell -programs.") - (license license:bsd-3))) - (define-public ghc-regex-applicative (package (name "ghc-regex-applicative") @@ -6690,8 +6629,7 @@ this problem.") `(("ghc-bytestring-handle" ,ghc-bytestring-handle) ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) - ("ghc-array" ,ghc-array))) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) (home-page "https://hackage.haskell.org/package/tar") (synopsis "Reading, writing and manipulating \".tar\" archive files") (description @@ -6704,48 +6642,6 @@ preserved. It also provides features for random access to archive content using an index.") (license license:bsd-3))) -(define-public ghc-transformers - (package - (name "ghc-transformers") - (version "0.5.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/transformers/transformers-" - version ".tar.gz")) - (sha256 - (base32 - "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c")))) - (build-system haskell-build-system) - (home-page "https://hackage.haskell.org/package/transformers") - (synopsis "Concrete functor and monad transformers") - (description - "A portable library of functor and monad transformers, inspired by the paper -'Functional Programming with Overloading and Higher-Order Polymorphism', -by Mark P Jones. This package contains the monad transformer class and IO monad class, -concrete functor and monad transformers, each with associated operations and functions -to lift operations associated with other transformers. The package can be used on -its own in portable Haskell code, in which case operations need to be manually lifted -through transformer stacks. Alternatively, it can be used with the -non-portable monad classes in the @code{mtl} or @code{monads-tf} packages, -which automatically lift operations introduced by monad transformers through -other transformers.") - (license license:bsd-3))) - -;; darcs-2.12.0 requires transformers-0.4.2.0 -(define-public ghc-transformers-0.4.2.0 - (package - (inherit ghc-transformers) - (version "0.4.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/transformers/" - "transformers-" version ".tar.gz")) - (sha256 - (base32 - "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr")))))) - (define-public ghc-stmonadtrans (package (name "ghc-stmonadtrans") @@ -6837,44 +6733,6 @@ Polymorphism', by Mark P Jones. This package is almost a compatible replacement the @code{mtl-tf} package.") (license license:bsd-3))) -;; Do not use this. Bytestring is a standard library and always included. -(define-public ghc-bytestring - (package - (name "ghc-bytestring") - (version "0.10.8.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/bytestring/bytestring-" - version ".tar.gz")) - (sha256 - (base32 - "0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys")))) - (build-system haskell-build-system) - (inputs - `(("ghc-dlist" ,ghc-dlist) - ("ghc-byteorder" ,ghc-byteorder) - ("ghc-hunit" ,ghc-hunit) - ("ghc-mtl" ,ghc-mtl) - ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-random" ,ghc-random) - ("ghc-test-framework" ,ghc-test-framework) - ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) - ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) - (arguments - `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes - (home-page "https://github.com/haskell/bytestring") - (synopsis "Fast, compact, strict and lazy byte strings with a list interface") - (description - "An efficient compact, immutable byte string type (both strict and lazy) -suitable for binary or 8-bit character data. The 'ByteString' type represents -sequences of bytes or 8-bit characters. It is suitable for high performance use, -both in terms of large data quantities, or high speed requirements. The 'ByteString' -functions follow the same style as ordinary lists, so it is easy to convert code -from using 'String' to 'ByteString'.") - (license license:bsd-3))) - (define-public ghc-colour (package (name "ghc-colour") @@ -6897,57 +6755,6 @@ Colours can be blended and composed. Various colour spaces are supported. A module of colour names (\"Data.Colour.Names\") is provided.") (license license:expat))) -;; Do not use this as an input. It is part of GHC. -(define-public ghc-directory - (package - (name "ghc-directory") - (version "1.3.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/directory/directory-" - version ".tar.gz")) - (sha256 - (base32 - "0ffhanigxrx5wpin8l0wfp7d24lpgsjwj0hxrfp8bpy2wj1snxny")))) - (build-system haskell-build-system) - (home-page "https://hackage.haskell.org/package/directory") - (synopsis "Platform-agnostic library for file system operations") - (description - "This library provides a basic set of operations for manipulating -files and directories in a portable way.") - (license license:bsd-3))) - -;; Do not use this as an input. It is part of GHC. -(define-public ghc-process - (package - (name "ghc-process") - (version "1.6.3.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/process/process-" - version ".tar.gz")) - (sha256 - (base32 - "0lxkl0gmyy2sn3r9c7dyz8vz1cm6nvygmgrizilliir5bp42m8cc")))) - (build-system haskell-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-reference-to-/bin/sh - (lambda _ - (substitute* "System/Process/Posix.hs" - (("/bin/sh") (which "sh"))) - #t))))) - (home-page "https://hackage.haskell.org/package/process") - (synopsis "System process libraries") - (description - "This package contains libraries for dealing with system processes.") - (license license:bsd-3))) - (define-public ghc-wl-pprint-text (package (name "ghc-wl-pprint-text") @@ -7043,29 +6850,6 @@ and edge labels with positional information, etc. @end enumerate\n") (license license:bsd-3))) -(define-public ghc-array - (package - (name "ghc-array") - (version "0.5.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/array/array-" - version ".tar.gz")) - (sha256 - (base32 - "12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj")))) - (build-system haskell-build-system) - (home-page - "https://hackage.haskell.org/package/array") - (synopsis "Mutable and immutable arrays") - (description - "In addition to providing the @code{Data.Array} module, this package also defines -the classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable -within appropriate monads, as well as some instances of these classes.") - (license license:bsd-3))) - (define-public ghc-constraints (package (name "ghc-constraints") @@ -7897,7 +7681,6 @@ files in Haskell.") (inputs `(("ghc-mtl" ,ghc-mtl) ("ghc-network" ,ghc-network) - ("ghc-directory" ,ghc-directory) ("ghc-old-locale" ,ghc-old-locale))) (native-inputs `(("ghc-hunit" ,ghc-hunit))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5cc0548dba..15fdfeca4b 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1739,11 +1739,9 @@ be served with a HTTP file server of your choice.") ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-findbin" ,ghc-findbin) ("ghc-hunit" ,ghc-hunit) - ("ghc-array" ,ghc-array) ("ghc-async" ,ghc-async) ("ghc-attoparsec" ,ghc-attoparsec) ("ghc-base16-bytestring" ,ghc-base16-bytestring) - ("ghc-binary" ,ghc-binary) ("ghc-bytestring-builder" ,ghc-bytestring-builder) ("ghc-cryptohash" ,ghc-cryptohash) ("ghc-data-ordlist" ,ghc-data-ordlist) @@ -1751,7 +1749,6 @@ be served with a HTTP file server of your choice.") ("ghc-system-filepath" ,ghc-system-filepath) ("ghc-graphviz" ,ghc-graphviz) ("ghc-hashable" ,ghc-hashable) - ("ghc-haskeline" ,ghc-haskeline) ("ghc-html" ,ghc-html) ("ghc-mmap" ,ghc-mmap) ("ghc-mtl" ,ghc-mtl) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 608e594072..bb575926d5 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -471,7 +471,6 @@ desktop environment.") ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-setlocale" ,ghc-setlocale) ("ghc-utf8-string" ,ghc-utf8-string) - ("ghc-directory" ,ghc-directory) ("ghc-x11" ,ghc-x11))) (arguments `(#:phases From 7ddd418a1d678b5ecaac185bde8576c4ed68adf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 22:47:00 +0200 Subject: [PATCH 189/233] gnu: bootstrap: Remove unneeded import. * gnu/packages/bootstrap.scm: Remove unneeded (guix build utils) import. --- gnu/packages/bootstrap.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 27f2053c43..b754b1f922 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner ;;; @@ -31,7 +31,6 @@ #:use-module ((guix derivations) #:select (derivation derivation->output-path)) #:use-module ((guix utils) #:select (gnu-triplet->nix-system)) - #:use-module ((guix build utils) #:select (elf-file?)) #:use-module (guix memoization) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) From 82b71ac366ef154400653d264b46b7aa3520f393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 11:48:01 +0200 Subject: [PATCH 190/233] activation: Pass '-d HOME' to 'usermod'. Fixes a bug whereby changes to user home directories in the OS config would never be effective. Reported by Pierre Neidhardt . * gnu/build/activation.scm (modify-user): Pass '-d HOME'. --- gnu/build/activation.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 6c0d603ddf..68ecd6bc71 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -179,7 +179,8 @@ properties. Return #t on success." `("-G" ,(string-join supplementary-groups ",")) '()) ,@(if comment `("-c" ,comment) '()) - ;; Don't use '--move-home', so ignore HOME. + ;; Don't use '--move-home'. + ,@(if home `("-d" ,home) '()) ,@(if shell `("-s" ,shell) '()) ,name))) (zero? (apply system* "usermod" args)))) From de0021322d010871d2c144f01f9dc4efc5c231c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 11:49:13 +0200 Subject: [PATCH 191/233] gnu: Remove unnecessary import. * gnu/packages/guile.scm: Remove unnecessary import. --- gnu/packages/guile.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 03603122a6..aa71fa1410 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -36,7 +36,6 @@ (define-module (gnu packages guile) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) - #:use-module (gnu packages admin) ;;for tree #:use-module (gnu packages aspell) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) From b06a70e05dc6252a3ecb28db5898de7ebc110973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 14:00:48 +0200 Subject: [PATCH 192/233] graph: Add "module" node type. * guix/scripts/graph.scm (module-from-package) (source-module-dependencies*): New procedures. (%module-node-type): New variable. (%node-types): Add it. * guix/modules.scm (source-module-dependencies): Export. * tests/graph.scm ("module graph"): New test. * doc/guix.texi (Invoking guix graph): Document it. --- doc/guix.texi | 9 +++++++++ guix/modules.scm | 3 ++- guix/scripts/graph.scm | 38 ++++++++++++++++++++++++++++++++++++-- tests/graph.scm | 20 +++++++++++++++++++- 4 files changed, 66 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 49b3dd10d7..2204285516 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6997,6 +6997,15 @@ name instead of a package name, as in: @example guix graph -t derivation `guix system build -d my-config.scm` @end example + +@item module +This is the graph of @dfn{package modules} (@pxref{Package Modules}). +For example, the following command shows the graph for the package +module that defines the @code{guile} package: + +@example +guix graph -t module guile | dot -Tpdf > module-graph.pdf +@end example @end table All the types above correspond to @emph{build-time dependencies}. The diff --git a/guix/modules.scm b/guix/modules.scm index 6c602eda48..bf656bb241 100644 --- a/guix/modules.scm +++ b/guix/modules.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +29,7 @@ file-name->module-name module-name->file-name + source-module-dependencies source-module-closure live-module-closure guix-module-name?)) diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index 78f09f181b..346ca4ea88 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,9 +27,11 @@ #:use-module (guix gexp) #:use-module (guix derivations) #:use-module (guix memoization) + #:use-module (guix modules) #:use-module ((guix build-system gnu) #:select (standard-packages)) #:use-module (gnu packages) #:use-module (guix sets) + #:use-module ((guix utils) #:select (location-file)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -44,6 +46,7 @@ %derivation-node-type %reference-node-type %referrer-node-type + %module-node-type %node-types guix-graph)) @@ -330,6 +333,36 @@ substitutes." (label store-path-package-name) (edges non-derivation-referrers))) + +;;; +;;; Scheme modules. +;;; + +(define (module-from-package package) + (file-name->module-name (location-file (package-location package)))) + +(define (source-module-dependencies* module) + "Like 'source-module-dependencies' but filter out modules that are not +package modules, while attempting to retain user package modules." + (remove (match-lambda + (('guix _ ...) #t) + (('system _ ...) #t) + (('language _ ...) #t) + (('ice-9 _ ...) #t) + (('srfi _ ...) #t) + (_ #f)) + (source-module-dependencies module))) + +(define %module-node-type + ;; Show the graph of package modules. + (node-type + (name "module") + (description "the graph of package modules") + (convert (lift1 (compose list module-from-package) %store-monad)) + (identifier (lift1 identity %store-monad)) + (label object->string) + (edges (lift1 source-module-dependencies* %store-monad)))) + ;;; ;;; List of node types. @@ -344,7 +377,8 @@ substitutes." %bag-emerged-node-type %derivation-node-type %reference-node-type - %referrer-node-type)) + %referrer-node-type + %module-node-type)) (define (lookup-node-type name) "Return the node type called NAME. Raise an error if it is not found." diff --git a/tests/graph.scm b/tests/graph.scm index 00fd37243c..5faa19298a 100644 --- a/tests/graph.scm +++ b/tests/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -271,6 +271,24 @@ edges." (list txt out)) (equal? edges `((,txt ,out))))))))))) +(test-assert "module graph" + (let-values (((backend nodes+edges) (make-recording-backend))) + (run-with-store %store + (export-graph '((gnu packages guile)) 'port + #:node-type %module-node-type + #:backend backend)) + + (let-values (((nodes edges) (nodes+edges))) + (and (member '(gnu packages guile) + (match nodes + (((ids labels) ...) ids))) + (->bool (and (member (list '(gnu packages guile) + '(gnu packages libunistring)) + edges) + (member (list '(gnu packages guile) + '(gnu packages bdw-gc)) + edges))))))) + (test-assert "node-edges" (run-with-store %store (let ((packages (fold-packages cons '()))) From 8980eea5ab6f89e7649d9abf0be2a9d49156f7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 14:16:19 +0200 Subject: [PATCH 193/233] guix gc: Add '--derivers'. * guix/scripts/gc.scm (show-help, %options): Add '--derivers'. (guix-gc): Handle 'list-derivers'. * tests/guix-gc.sh: Add test. * doc/guix.texi (Invoking guix gc): Document it. --- doc/guix.texi | 18 ++++++++++++++++++ guix/scripts/gc.scm | 10 +++++++++- tests/guix-gc.sh | 5 ++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2204285516..c37a87d5a1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2642,6 +2642,24 @@ of these, recursively. In other words, the returned list is the of an element. @xref{Invoking guix graph}, for a tool to visualize the graph of references. +@item --derivers +@cindex derivation +Return the derivation(s) leading to the given store items +(@pxref{Derivations}). + +For example, this command: + +@example +guix gc --derivers `guix package -I ^emacs$ | cut -f4` +@end example + +@noindent +returns the @file{.drv} file(s) leading to the @code{emacs} package +installed in your profile. + +Note that there may be zero matching @file{.drv} files, for instance +because these files have been garbage-collected. There can also be more +than one matching @file{.drv} due to fixed-output derivations. @end table Lastly, the following options allow you to check the integrity of the diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index a31d2236b0..e4ed7227ff 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +61,8 @@ Invoke the garbage collector.\n")) -R, --requisites list the requisites of PATHS")) (display (G_ " --referrers list the referrers of PATHS")) + (display (G_ " + --derivers list the derivers of PATHS")) (newline) (display (G_ " --verify[=OPTS] verify the integrity of the store; OPTS is a @@ -153,6 +155,10 @@ Invoke the garbage collector.\n")) (lambda (opt name arg result) (alist-cons 'action 'list-referrers (alist-delete 'action result)))) + (option '("derivers") #f #f + (lambda (opt name arg result) + (alist-cons 'action 'list-derivers + (alist-delete 'action result)))) (option '("list-failures") #f #f (lambda (opt name arg result) (alist-cons 'action 'list-failures @@ -241,6 +247,8 @@ Invoke the garbage collector.\n")) (requisites store (list item))))) ((list-referrers) (list-relatives referrers)) + ((list-derivers) + (list-relatives valid-derivers)) ((optimize) (assert-no-extra-arguments) (optimize-store store)) diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh index efbc7e759c..ef2d9543b7 100644 --- a/tests/guix-gc.sh +++ b/tests/guix-gc.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2013, 2015, 2017 Ludovic Courtès +# Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès # # This file is part of GNU Guix. # @@ -54,6 +54,9 @@ guix gc --references "$out/bin/guile" if guix gc --references /dev/null; then false; else true; fi +# Check derivers. +guix gc --derivers "$out" | grep "$drv" + # Add then reclaim a .drv file. drv="`guix build idutils -d`" test -f "$drv" From 0fc3af7d8872129a3497c6fc62f24205d29728c1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 27 Mar 2018 15:41:00 -0400 Subject: [PATCH 194/233] gnu: openssl@1.1.0: Update to 1.1.0h [security fixes]. Fixes CVE-2017-3738 and CVE-2018-{0733,0739}. * gnu/packages/tls.scm (openssl-next): Update to 1.1.0h. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index b109a2a882..74843c0a96 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -403,7 +403,7 @@ required structures.") (package (inherit openssl) (name "openssl") - (version "1.1.0g") + (version "1.1.0h") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -416,7 +416,7 @@ required structures.") (patches (search-patches "openssl-1.1.0-c-rehash-in.patch")) (sha256 (base32 - "1bvka2wf33w2vxv7yw578nnjqyhz2b3chvfb0l4k2ffscw950kfy")))) + "05x509lccqjscgyi935z809pwfm708islypwhmjnb6cyvrn64daq")))) (outputs '("out" "doc" ;1.3MiB of man3 pages "static")) ; 5.5MiB of .a files From 8960b2e64d4657e4c520da8ff85d9eb8b12a10b6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 20:54:23 +0200 Subject: [PATCH 195/233] gnu: lyx: Use HTTPS home page. * gnu/packages/tex.scm (lyx)[home-page]: Use HTTPS. --- gnu/packages/tex.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index c8ea45aee4..db1f120ce6 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4347,7 +4347,7 @@ and Karl Berry.") `(("python-2" ,python-2) ("pkg-config" ,pkg-config) ("bc" ,bc))) - (home-page "http://www.lyx.org/") + (home-page "https://www.lyx.org/") (synopsis "Document preparation system with GUI") (description "LyX is a document preparation system. It excels at letting you create complex technical and scientific articles with mathematics, From 15ff38f1b4ca129168502d05337810acaea10f36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 21:59:19 +0200 Subject: [PATCH 196/233] gnu: dovecot: Update to 2.3.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (dovecot): Update to 2.3.1. [arguments]: Rename ‘patch-other-shebangs’ phase to the more accurate ‘patch-other-file-names’... then patch more file names. --- gnu/packages/mail.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 16705b6afd..4574976a2b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1180,7 +1180,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.0.1") + (version "2.3.1") (source (origin (method url-fetch) @@ -1188,7 +1188,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" name "-" version ".tar.gz")) (sha256 (base32 - "0lzisrdgrj5qqwjb7bv99mf2aljm568r6g108yisp0s644z2nxxb")))) + "14zva4f8k64x86sm9n21cp2yvrpph6k6k52bm22a00pxjwdq50q8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1205,20 +1205,23 @@ facilities for checking incoming mail.") (add-before 'configure 'pre-configure (lambda _ - ;; Simple hack to avoid installing in /etc + ;; Simple hack to avoid installing in /etc. (substitute* '("doc/Makefile.in" "doc/example-config/Makefile.in") (("pkgsysconfdir = .*") "pkgsysconfdir = /tmp/etc")) #t)) (add-after - 'unpack 'patch-other-shebangs + 'unpack 'patch-other-file-names (lambda _ (substitute* - "src/lib-program-client/test-program-client-local.c" + "src/lib-program-client/test-program-client-local.c" + (("(/bin/| )cat") (which "cat")) (("/bin/echo") (which "echo")) - (("/bin/cat") (which "cat")) - (("/bin/false") (which "false"))) + (("/bin/false") (which "false")) + (("/bin/sh") (which "bash")) + (("head") (which "head")) + (("sleep") (which "sleep"))) #t))))) (home-page "https://www.dovecot.org") (synopsis "Secure POP3/IMAP server") From 75176f1b94903b592f5b1eb5a1b856c5ec761276 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 27 Mar 2018 22:08:57 +0200 Subject: [PATCH 197/233] gnu: zstd: Update to 1.3.4. * gnu/packages/compression.scm (zstd): Update to 1.3.4. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index b158feac46..1850433609 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1611,7 +1611,7 @@ or junctions, and always follows hard links.") (define-public zstd (package (name "zstd") - (version "1.3.3") + (version "1.3.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/archive/v" @@ -1619,7 +1619,7 @@ or junctions, and always follows hard links.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yr91gwi380632w9y7p6idl72svq0mq0jajvdii05pp77qalfz57")))) + "1a85sqk4z5b2jfp7fqkr38ibql8mdzca32lf4i3bssyjimp1pr4j")))) (build-system gnu-build-system) (arguments `(#:phases From f7a5cf7a2da9590fe64e85e6f263b11020e943aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 23:06:03 +0200 Subject: [PATCH 198/233] nss: Remove '%compat' from the defaults. * gnu/system/nss.scm (%compat): Add comment. ()[group, password, shadow]: Remove %COMPAT from the default value. --- gnu/system/nss.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/system/nss.scm b/gnu/system/nss.scm index f4d2855289..673b96c713 100644 --- a/gnu/system/nss.scm +++ b/gnu/system/nss.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,6 +93,8 @@ ;;; (define %compat + ;; Note: Starting from version 2.26, libc no longer provides libnss_compat + ;; so this specification has become useless. (name-service (name "compat") (reaction (lookup-specification (not-found => return))))) @@ -124,7 +126,7 @@ (ethers name-service-switch-ethers (default '())) (group name-service-switch-group - (default (list %compat %files))) + (default (list %files))) (gshadow name-service-switch-gshadow (default '())) (hosts name-service-switch-hosts @@ -136,7 +138,7 @@ (networks name-service-switch-networks (default (list %files %dns))) (password name-service-switch-password - (default (list %compat %files))) + (default (list %files))) (public-key name-service-switch-public-key (default '())) (rpc name-service-switch-rpc @@ -144,7 +146,7 @@ (services name-service-switch-services (default '())) (shadow name-service-switch-shadow - (default (list %compat %files)))) + (default (list %files)))) (define %default-nss ;; Default NSS configuration. From 6fcb90eebd5e21a042ed9746fcbaa2040706ea71 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Mon, 26 Mar 2018 16:29:24 +0200 Subject: [PATCH 199/233] guix environment: load manifest files like "guix package" does MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/environment.scm (options/resolve-packages): When loading manifest files, use the same module environment as in "guix package". Signed-off-by: Ludovic Courtès --- guix/scripts/environment.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 4f88c513c0..f8a9702b30 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -332,7 +332,7 @@ packages." (let ((module (make-user-module '()))) (packages->outputs (load* file module) mode))) (('manifest . file) - (let ((module (make-user-module '()))) + (let ((module (make-user-module '((guix profiles) (gnu))))) (manifest->outputs (load* file module)))) (_ '(#f))) opts))) From 78ba71b0b4c30a210f3a083eef2c5928a2787a8a Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 19 Mar 2018 21:05:39 +0000 Subject: [PATCH 200/233] gnu: alpine: Update to 2.21.999. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (alpine): Update to 2.21.999. [source]: Change to new upstream location. [home-page]: Use new location. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4574976a2b..9414dffa3b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2326,7 +2326,7 @@ operators and scripters.") (define-public alpine (package (name "alpine") - (version "2.21") + (version "2.21.999") (source (origin (method url-fetch) @@ -2334,11 +2334,12 @@ operators and scripters.") ;; patches and the version which adds extra fixes. Every distro uses ;; the patched version, and so do we to not break expectations. ;; http://alpine.freeiz.com/alpine/readme/README.patches - (uri (string-append "http://alpine.freeiz.com/alpine/patches/alpine-" - version "/alpine-" version ".tar.xz")) + (uri (string-append "http://repo.or.cz/alpine.git/snapshot/" + "349642a84039a4b026513c32a3b4f8594acd50df.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1k9hcfjywfk3mpsl71hjza3nk6icgf1b6xxzgx10kdzg5yci5x5m")))) + "1rkvlfk3q7h9jcvaj91pk7l087bq4b38j30060jaw21zz94b90np")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "CC=gcc") @@ -2376,7 +2377,7 @@ operators and scripters.") ("aspell" ,aspell) ("tcl" ,tcl) ("linux-pam" ,linux-pam))) - (home-page "http://alpine.freeiz.com/alpine/") + (home-page "http://repo.or.cz/alpine.git") (synopsis "Alternatively Licensed Program for Internet News and Email") (description "Alpine is a text-based mail and news client. Alpine includes several From 5bd43f7fd104b80c3054c24b30489549f7ee7029 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 27 Mar 2018 23:29:52 +0200 Subject: [PATCH 201/233] gnu: emacs-org, emacs-org-contrib: Update to 9.1.9. * gnu/packages/emacs.scm (emacs-org): (emacs-org-contrib): Update to 20180327, a.k.a. release 9.1.9. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 098dcf74a1..6f13176609 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4502,14 +4502,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "20180226") + (version "20180327") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-" version ".tar")) (sha256 (base32 - "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy")))) + "0xmlzlxf15996sd3gj3naiz383d17ngjd9963p4h9kssrkjlwljy")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4529,7 +4529,7 @@ reproducible research.") (package-version emacs-org) ".tar")) (sha256 (base32 - "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc")))) + "1nqn7m1x9w5y356ylv5hia6v62pqfz9g3rzjbiffjxyyc34xvpfm")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) From 4d99a3215c1cb3eda1e9f1159e6fb87915d7390a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 27 Mar 2018 18:59:20 -0400 Subject: [PATCH 202/233] gnu: mupdf: Fix CVE-2018-{6544,1000051}. * gnu/packages/patches/mupdf-CVE-2018-1000051.patch, gnu/packages/patches/mupdf-CVE-2018-6544.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/pdf.scm (mupdf)[source]: Use them. --- gnu/local.mk | 2 + .../patches/mupdf-CVE-2018-1000051.patch | 88 ++++++++++++++ .../patches/mupdf-CVE-2018-6544.patch | 109 ++++++++++++++++++ gnu/packages/pdf.scm | 4 +- 4 files changed, 202 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mupdf-CVE-2018-1000051.patch create mode 100644 gnu/packages/patches/mupdf-CVE-2018-6544.patch diff --git a/gnu/local.mk b/gnu/local.mk index 284161fe8a..0575a2fe32 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -929,6 +929,8 @@ dist_patch_DATA = \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mupdf-build-with-latest-openjpeg.patch \ %D%/packages/patches/mupdf-CVE-2017-17858.patch \ + %D%/packages/patches/mupdf-CVE-2018-6544.patch \ + %D%/packages/patches/mupdf-CVE-2018-1000051.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/net-tools-bitrot.patch \ diff --git a/gnu/packages/patches/mupdf-CVE-2018-1000051.patch b/gnu/packages/patches/mupdf-CVE-2018-1000051.patch new file mode 100644 index 0000000000..bb78c46f80 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2018-1000051.patch @@ -0,0 +1,88 @@ +Fix CVE-2018-1000051: + +https://bugs.ghostscript.com/show_bug.cgi?id=698873 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000051 + +Patch copied from upstream source repository: + +https://git.ghostscript.com/?p=mupdf.git;a=commit;h=321ba1de287016b0036bf4a56ce774ad11763384 + +From 321ba1de287016b0036bf4a56ce774ad11763384 Mon Sep 17 00:00:00 2001 +From: Sebastian Rasmussen +Date: Tue, 19 Dec 2017 23:47:47 +0100 +Subject: [PATCH] Bug 698825: Do not drop borrowed colorspaces. + +Previously the borrowed colorspace was dropped when updating annotation +appearances, leading to use after free warnings from valgrind/ASAN. +--- + source/pdf/pdf-appearance.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/source/pdf/pdf-appearance.c b/source/pdf/pdf-appearance.c +index 70f684f4..d7a1dddd 100644 +--- a/source/pdf/pdf-appearance.c ++++ b/source/pdf/pdf-appearance.c +@@ -2170,7 +2170,6 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p + fz_device *dev = NULL; + font_info font_rec; + fz_text *text = NULL; +- fz_colorspace *cs = NULL; + fz_matrix page_ctm; + + pdf_page_transform(ctx, annot->page, NULL, &page_ctm); +@@ -2184,11 +2183,11 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p + fz_var(dlist); + fz_var(dev); + fz_var(text); +- fz_var(cs); + fz_try(ctx) + { + char *contents = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_Contents)); + char *da = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_DA)); ++ fz_colorspace *cs; + fz_point pos; + fz_rect rect; + +@@ -2223,7 +2222,6 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p + fz_drop_display_list(ctx, dlist); + font_info_fin(ctx, &font_rec); + fz_drop_text(ctx, text); +- fz_drop_colorspace(ctx, cs); + } + fz_catch(ctx) + { +@@ -2359,7 +2357,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot + fz_device *dev = NULL; + font_info font_rec; + fz_text *text = NULL; +- fz_colorspace *cs = NULL; + fz_path *path = NULL; + fz_buffer *fzbuf = NULL; + fz_matrix page_ctm; +@@ -2375,7 +2372,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot + fz_var(dlist); + fz_var(dev); + fz_var(text); +- fz_var(cs); + fz_var(fzbuf); + fz_try(ctx) + { +@@ -2384,6 +2380,7 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot + fz_rect logo_bounds; + fz_matrix logo_tm; + fz_rect rect; ++ fz_colorspace *cs = fz_device_rgb(ctx); /* Borrowed reference */ + + pdf_to_rect(ctx, pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect), &annot_rect); + rect = annot_rect; +@@ -2396,7 +2393,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot + fz_bound_path(ctx, path, NULL, &fz_identity, &logo_bounds); + center_rect_within_rect(&logo_bounds, &rect, &logo_tm); + fz_concat(&logo_tm, &logo_tm, &page_ctm); +- cs = fz_device_rgb(ctx); /* Borrowed reference */ + fz_fill_path(ctx, dev, path, 0, &logo_tm, cs, logo_color, 1.0f, NULL); + + get_font_info(ctx, doc, dr, da, &font_rec); +-- +2.16.3 + diff --git a/gnu/packages/patches/mupdf-CVE-2018-6544.patch b/gnu/packages/patches/mupdf-CVE-2018-6544.patch new file mode 100644 index 0000000000..b2c8f849f3 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2018-6544.patch @@ -0,0 +1,109 @@ +Fix CVE-2018-6544: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6544 +https://bugs.ghostscript.com/show_bug.cgi?id=698830 +https://bugs.ghostscript.com/show_bug.cgi?id=698965 + +Patches copied from upstream source repository: + +https://git.ghostscript.com/?p=mupdf.git;h=26527eef77b3e51c2258c8e40845bfbc015e405d +https://git.ghostscript.com/?p=mupdf.git;h=b03def134988da8c800adac1a38a41a1f09a1d89 + +From b03def134988da8c800adac1a38a41a1f09a1d89 Mon Sep 17 00:00:00 2001 +From: Sebastian Rasmussen +Date: Thu, 1 Feb 2018 16:36:14 +0100 +Subject: [PATCH] Bug 698830: Avoid recursion when loading object streams + objects. + +If there were indirect references in the object stream dictionary and +one of those indirect references referred to an object inside the object +stream itself, mupdf would previously enter recursion only bounded by the +exception stack. After this commit the object stream is checked if it is +marked immediately after being loaded. If it is marked then we terminate +the recursion at this point, if it is not marked then mark it and +attempt to load the desired object within. We also take care to unmark +the stream object when done or upon exception. +--- + source/pdf/pdf-xref.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 723b543c..ed09094c 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -1576,6 +1576,19 @@ pdf_load_obj_stm(fz_context *ctx, pdf_document *doc, int num, pdf_lexbuf *buf, i + { + objstm = pdf_load_object(ctx, doc, num); + ++ if (pdf_obj_marked(ctx, objstm)) ++ fz_throw(ctx, FZ_ERROR_GENERIC, "recursive object stream lookup"); ++ } ++ fz_catch(ctx) ++ { ++ pdf_drop_obj(ctx, objstm); ++ fz_rethrow(ctx); ++ } ++ ++ fz_try(ctx) ++ { ++ pdf_mark_obj(ctx, objstm); ++ + count = pdf_to_int(ctx, pdf_dict_get(ctx, objstm, PDF_NAME_N)); + first = pdf_to_int(ctx, pdf_dict_get(ctx, objstm, PDF_NAME_First)); + +@@ -1655,6 +1668,7 @@ pdf_load_obj_stm(fz_context *ctx, pdf_document *doc, int num, pdf_lexbuf *buf, i + fz_drop_stream(ctx, stm); + fz_free(ctx, ofsbuf); + fz_free(ctx, numbuf); ++ pdf_unmark_obj(ctx, objstm); + pdf_drop_obj(ctx, objstm); + } + fz_catch(ctx) +-- +2.16.3 + +From 26527eef77b3e51c2258c8e40845bfbc015e405d Mon Sep 17 00:00:00 2001 +From: Sebastian Rasmussen +Date: Mon, 29 Jan 2018 02:00:48 +0100 +Subject: [PATCH] Bug 698830: Don't drop unkept stream if running out of error + stack. + +Under normal conditions where fz_keep_stream() is called inside +fz_try() we may call fz_drop_stream() in fz_catch() upon exceptions. +The issue comes when fz_keep_stream() has not yet been called but is +dropped in fz_catch(). This happens in the PDF from the bug when +fz_try() runs out of exception stack, and next the code in fz_catch() +runs, dropping the caller's reference to the filter chain stream! + +The simplest way of fixing this it to always keep the filter chain +stream before fz_try() is called. That way fz_catch() may drop the +stream whether an exception has occurred or if the fz_try() ran out of +exception stack. +--- + source/pdf/pdf-stream.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/source/pdf/pdf-stream.c b/source/pdf/pdf-stream.c +index c89da5c4..c6ba7ad3 100644 +--- a/source/pdf/pdf-stream.c ++++ b/source/pdf/pdf-stream.c +@@ -303,14 +303,13 @@ pdf_open_raw_filter(fz_context *ctx, fz_stream *chain, pdf_document *doc, pdf_ob + *orig_gen = 0; + } + +- fz_var(chain); ++ chain = fz_keep_stream(ctx, chain); + + fz_try(ctx) + { + len = pdf_to_int(ctx, pdf_dict_get(ctx, stmobj, PDF_NAME_Length)); + +- /* don't close chain when we close this filter */ +- chain2 = fz_keep_stream(ctx, chain); ++ chain2 = chain; + chain = NULL; + chain = fz_open_null(ctx, chain2, len, offset); + +-- +2.16.3 + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index a5d57cd5ec..84b53b00b4 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -574,7 +574,9 @@ extracting content or merging files.") (uri (string-append "https://mupdf.com/downloads/archive/" name "-" version "-source.tar.xz")) (patches (search-patches "mupdf-build-with-latest-openjpeg.patch" - "mupdf-CVE-2017-17858.patch")) + "mupdf-CVE-2017-17858.patch" + "mupdf-CVE-2018-6544.patch" + "mupdf-CVE-2018-1000051.patch")) (sha256 (base32 "0b9j0gqbc3jhmx87r6idcsh8lnb30840c3hyx6dk2gdjqqh3hysp")) From 6ef66d3f1230a581b0c8848462c0db1c673e4f09 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 27 Mar 2018 21:04:41 -0400 Subject: [PATCH 203/233] gnu: icecat: Add fix for CVE-2018-5148. * gnu/packages/gnuzilla.scm (icecat)[source]: Add the fix for CVE-2018-5148 from the upstream mozilla-esr52 repository. --- gnu/packages/gnuzilla.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 7d2ecd27d7..977e808a2e 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -452,7 +452,8 @@ security standards.") (mozilla-patch "icecat-CVE-2018-5125-pt9.patch" "8a16f439117c" "108iarql6z7h1r4rlzac6n6lrzs78x7kcdbfa0b5dbr5xc66jmgb") (mozilla-patch "icecat-bug-1426603.patch" "ca0b92ecedee" "0dc3mdl4a3hrq4j384zjavf3splj6blv4masign710hk7svlgbhq") (mozilla-patch "icecat-CVE-2018-5146.patch" "494e5d5278ba" "1yb4lxjw499ppwhk31vz0vzl0cfqvj9d4jwqag7ayj53ybwsqgjr") - (mozilla-patch "icecat-CVE-2018-5147.patch" "5cd5586a2f48" "10s774pwvj6xfk3kk6ivnhp2acc8x9sqq6na8z47nkhgwl2712i5"))) + (mozilla-patch "icecat-CVE-2018-5147.patch" "5cd5586a2f48" "10s774pwvj6xfk3kk6ivnhp2acc8x9sqq6na8z47nkhgwl2712i5") + (mozilla-patch "icecat-CVE-2018-5148.patch" "c3e447e07077" "0gmwy631f8ip4gr1mpbjk8bx1n1748wdls5zq4y8hpmpnq5g1wyx"))) (modules '((guix build utils))) (snippet '(begin From 803b9e8bf40010d5d1b6c2055083ce78acb9c402 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 27 Mar 2018 01:52:15 +0530 Subject: [PATCH 204/233] gnu: font-lato: Switch to font-build-system. * gnu/packages/fonts.scm (font-lato): Switch to font-build-system. [source]: Use url-fetch/zipbomb. --- gnu/packages/fonts.scm | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f57d5114ab..8ab3cdcf8c 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -197,32 +197,12 @@ sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.") (name "font-lato") (version "2.010") (source (origin - (method url-fetch) + (method url-fetch/zipbomb) (uri (string-append "http://www.latofonts.com/download/Lato2OFL.zip")) (sha256 (base32 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils) - (srfi srfi-26)) - - (let ((PATH (string-append (assoc-ref %build-inputs - "unzip") - "/bin")) - (font-dir (string-append %output - "/share/fonts/truetype"))) - (setenv "PATH" PATH) - (system* "unzip" (assoc-ref %build-inputs "source")) - - (mkdir-p font-dir) - (for-each (lambda (ttf) - (install-file ttf font-dir)) - (find-files "." "\\.ttf$")))))) - - (native-inputs `(("unzip" ,unzip))) + (build-system font-build-system) (home-page "http://www.latofonts.com/lato-free-fonts/") (synopsis "Lato sans-serif typeface") (description From 15795e072342ddd95953e5d8cc745291ec354da9 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 27 Mar 2018 01:58:19 +0530 Subject: [PATCH 205/233] gnu: font-linuxlibertine: Switch to font-build-system. * gnu/packages/fonts.scm (font-linuxlibertine): Switch to font-build-system. [arguments]: Replace system* with invoke. --- gnu/packages/fonts.scm | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8ab3cdcf8c..8252c1d729 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -305,37 +305,24 @@ The Liberation Fonts are sponsored by Red Hat.") (sha256 (base32 "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v")))) - (build-system gnu-build-system) + (build-system font-build-system) (arguments - `(#:tests? #f ; there are no tests - #:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1) - (srfi srfi-26)) - #:phases + `(#:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'build + (add-before 'install 'build (lambda _ (let ((compile (lambda (name ext) - (zero? (system* - "fontforge" "-lang=ff" - "-c" (string-append "Open('" name "');" - "Generate('" - (basename name "sfd") ext - "')")))))) - (every (lambda (name) - (and (compile name "ttf") - (compile name "otf"))) - (find-files "." "\\.sfd$"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((font-dir (string-append (assoc-ref outputs "out") - "/share/fonts/truetype"))) - (mkdir-p font-dir) - (for-each (cut install-file <> font-dir) - (find-files "." "\\.(otf|ttf)$")) + (invoke + "fontforge" "-lang=ff" + "-c" (string-append "Open('" name "');" + "Generate('" + (basename name "sfd") ext + "')"))))) + (for-each (lambda (name) + (and (compile name "ttf") + (compile name "otf"))) + (find-files "." "\\.sfd$")) #t)))))) (native-inputs `(("fontforge" ,fontforge))) From 0328c514ed597b99dcbc030807b3099a210a16ff Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 27 Mar 2018 11:51:20 +0530 Subject: [PATCH 206/233] gnu: culmus: Switch to font-build-system. * gnu/packages/fonts.scm (culmus): Switch to font-build-system. [arguments]: Replace system* with invoke. --- gnu/packages/fonts.scm | 52 ++++++++++++------------------------------ 1 file changed, 15 insertions(+), 37 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8252c1d729..dfa96b1481 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1202,49 +1202,27 @@ ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold") (sha256 (base32 "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z")))) - (build-system gnu-build-system) + (build-system font-build-system) (arguments - `(#:tests? #f ; no tests - #:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1) - (srfi srfi-26)) - #:phases + `(#:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'build + (add-before 'install 'build (lambda _ (let ((compile (lambda (name ext) - (zero? (system* - "fontforge" "-lang=ff" - "-c" (string-append "Open('" name "');" - "Generate('" - (basename name "sfd") ext - "')")))))) + (invoke + "fontforge" "-lang=ff" + "-c" (string-append "Open('" name "');" + "Generate('" + (basename name "sfd") ext + "')"))))) ;; This part based on the fonts shipped in the non-source package. - (every (lambda (name) - (compile name "ttf")) - (find-files "." "^[^Nachlieli].*\\.sfd$")) - (every (lambda (name) - (compile name "otf")) - (find-files "." "^Nachlieli.*\\.sfd$")) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (ttf (string-append out "/share/fonts/truetype")) - (otf (string-append out "/share/fonts/opentype")) - (license (string-append out "/share/doc/" ,name))) - (for-each (lambda (file) - (install-file file ttf)) - (find-files "." "\\.ttf$")) - (for-each (lambda (file) - (install-file file otf)) - (find-files "." "\\.otf$")) - (for-each (lambda (file) - (install-file file license)) - '("GNU-GPL" "LICENSE" "LICENSE-BITSTREAM")) + (for-each (lambda (name) + (compile name "ttf")) + (find-files "." "^[^Nachlieli].*\\.sfd$")) + (for-each (lambda (name) + (compile name "otf")) + (find-files "." "^Nachlieli.*\\.sfd$")) #t)))))) (native-inputs `(("fontforge" ,fontforge))) From 733d66a532d08dd0a2d717830345f977aba41815 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 27 Mar 2018 11:52:39 +0530 Subject: [PATCH 207/233] gnu: culmus: Rename to font-culmus. * gnu/packages/fonts.scm (culmus): Rename to... (font-culmus): ...this. Re-indent. --- gnu/packages/fonts.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index dfa96b1481..8e892da279 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1189,19 +1189,19 @@ It comes in 7 incremental weights: ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold") (license license:silofl1.1))) -(define-public culmus +(define-public font-culmus (package - (name "culmus") + (name "font-culmus") (version "0.132") (source - (origin - (method url-fetch) - (uri (string-append "https://sourceforge.net/projects/" - "culmus/files/culmus/" version "/culmus-src-" - version ".tar.gz")) - (sha256 - (base32 - "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z")))) + (origin + (method url-fetch) + (uri (string-append "https://sourceforge.net/projects/" + "culmus/files/culmus/" version "/culmus-src-" + version ".tar.gz")) + (sha256 + (base32 + "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z")))) (build-system font-build-system) (arguments `(#:phases From b3517f3f9f5815686600fb45a4e2350e168c0d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 28 Mar 2018 15:44:29 +0200 Subject: [PATCH 208/233] Add (guix ci). * guix/ci.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + guix/ci.scm | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 guix/ci.scm diff --git a/Makefile.am b/Makefile.am index feb99490d3..e50d8430e5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,6 +115,7 @@ MODULES = \ guix/build-system/trivial.scm \ guix/ftp-client.scm \ guix/http-client.scm \ + guix/ci.scm \ guix/gnupg.scm \ guix/elf.scm \ guix/profiling.scm \ diff --git a/guix/ci.scm b/guix/ci.scm new file mode 100644 index 0000000000..881f3d3927 --- /dev/null +++ b/guix/ci.scm @@ -0,0 +1,78 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix ci) + #:use-module (guix http-client) + #:autoload (json parser) (json->scm) + #:use-module (srfi srfi-9) + #:export (build? + build-id + build-derivation + build-system + build-status + build-timestamp + + %query-limit + queued-builds + latest-builds)) + +;;; Commentary: +;;; +;;; This module provides a client to the HTTP interface of the Hydra and +;;; Cuirass continuous integration (CI) tools. +;;; +;;; Code: + +(define-record-type + (make-build id derivation system status timestamp) + build? + (id build-id) ;integer + (derivation build-derivation) ;string | #f + (system build-system) ;string + (status build-status) ;integer + (timestamp build-timestamp)) ;integer + +(define %query-limit + ;; Max number of builds requested in queries. + 1000) + +(define (json-fetch url) + (let* ((port (http-fetch url)) + (json (json->scm port))) + (close-port port) + json)) + +(define (json->build json) + (make-build (hash-ref json "id") + (hash-ref json "derivation") + (hash-ref json "system") + (hash-ref json "buildstatus") + (hash-ref json "timestamp"))) + +(define* (queued-builds url #:optional (limit %query-limit)) + "Return the list of queued derivations on URL." + (let ((queue (json-fetch (string-append url "/api/queue?nr=" + (number->string limit))))) + (map json->build queue))) + +(define* (latest-builds url #:optional (limit %query-limit)) + (let ((latest (json-fetch (string-append url "/api/latestbuilds?nr=" + (number->string limit))))) + ;; Note: Hydra does not provide a "derivation" field for entries in + ;; 'latestbuilds', but Cuirass does. + (map json->build latest))) From 183445a6ed1cbac929ecb65303246945c8ccf39d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 28 Mar 2018 15:49:11 +0200 Subject: [PATCH 209/233] weather: Report continuous integration stats. * guix/scripts/weather.scm (histogram, throughput, queued-subset): New procedures. (report-server-coverage): Report CI information. * doc/guix.texi (Invoking guix weather): Document it. --- doc/guix.texi | 14 ++++- guix/scripts/weather.scm | 109 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 120 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c37a87d5a1..d112b373c1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7912,15 +7912,27 @@ https://guix.example.org 19,824.2 MiB on disk (uncompressed) 0.030 seconds per request (182.9 seconds in total) 33.5 requests per second + + 9.8% (342 out of 3,470) of the missing items are queued + 867 queued builds + x86_64-linux: 518 (59.7%) + i686-linux: 221 (25.5%) + aarch64-linux: 128 (14.8%) + build rate: 23.41 builds per hour + x86_64-linux: 11.16 builds per hour + i686-linux: 6.03 builds per hour + aarch64-linux: 6.41 builds per hour @end example +@cindex continuous integration, statistics As you can see, it reports the fraction of all the packages for which substitutes are available on the server---regardless of whether substitutes are enabled, and regardless of whether this server's signing key is authorized. It also reports the size of the compressed archives (``nars'') provided by the server, the size the corresponding store items occupy in the store (assuming deduplication is turned off), and -the server's throughput. +the server's throughput. The second part gives continuous integration +(CI) statistics, if the server supports it. To achieve that, @command{guix weather} queries over HTTP(S) meta-data (@dfn{narinfos}) for all the relevant store items. Like @command{guix diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 2e782e36ce..5c934abaef 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -29,11 +29,14 @@ #:use-module (guix grafts) #:use-module ((guix build syscalls) #:select (terminal-columns)) #:use-module (guix scripts substitute) + #:use-module (guix http-client) + #:use-module (guix ci) #:use-module (gnu packages) #:use-module (web uri) #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-37) #:use-module (ice-9 match) #:use-module (ice-9 format) @@ -100,6 +103,57 @@ values." (define-syntax-rule (let/time ((time result exp)) body ...) (call-with-time (lambda () exp) (lambda (time result) body ...))) +(define (histogram field proc seed lst) + "Return an alist giving a histogram of all the values of FIELD for elements +of LST. FIELD must be a one element procedure that returns a field's value. +For each FIELD value, call PROC with the previous field-specific result. +Example: + + (histogram car (lambda (x n) (+ 1 n)) 0 '((a . x)(b . y)(a . z))) + => ((a . 2) (b . 1)) + +meaning that we have two a's and one b." + (let loop ((lst lst) + (result '())) + (match lst + (() + result) + ((head . tail) + (let ((value (field head))) + (loop tail + (match (assoc-ref result value) + (#f + `((,value . ,(proc head seed)) ,@result)) + (previous + `((,value . ,(proc head previous)) + ,@(alist-delete value result)))))))))) + +(define (throughput lst timestamp) + "Return the throughput, in items per second, given the elements of LST, +calling TIMESTAMP to get the \"timestamp\" of each item." + (let ((oldest (reduce min +inf.0 (map build-timestamp lst))) + (now (time-second (current-time time-utc)))) + (/ (length lst) (- now oldest) 1.))) + +(define (queued-subset queue items) + "Return the subset of ITEMS, a list of store file names, that appears in +QUEUE, a list of builds. Return #f if elements in QUEUE lack information +about the derivations queued, as is the case with Hydra." + (define queued + (append-map (lambda (build) + (match (false-if-exception + (read-derivation-from-file (build-derivation build))) + (#f + '()) + (drv + (match (derivation->output-paths drv) + (((names . items) ...) items))))) + queue)) + + (if (any (negate build-derivation) queue) + #f ;no derivation information + (lset-intersection string=? queued items))) + (define (report-server-coverage server items) "Report the subset of ITEMS available as substitutes on SERVER." (define MiB (* (expt 2 20) 1.)) @@ -111,6 +165,8 @@ values." (format #t "~a~%" server) (let ((obtained (length narinfos)) (requested (length items)) + (missing (lset-difference string=? + items (map narinfo-path narinfos))) (sizes (filter-map narinfo-file-size narinfos)) (time (+ (time-second time) (/ (time-nanosecond time) 1e9)))) @@ -131,7 +187,56 @@ values." (format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%") (/ time requested 1.) time) (format #t (G_ " ~,1h requests per second~%") - (/ requested time 1.))))) + (/ requested time 1.)) + + (guard (c ((http-get-error? c) + (if (= 404 (http-get-error-code c)) + (format (current-error-port) + (G_ " (continuous integration information \ +unavailable)~%")) + (format (current-error-port) + (G_ " '~a' returned ~a (~s)~%") + (uri->string (http-get-error-uri c)) + (http-get-error-code c) + (http-get-error-reason c))))) + (let* ((max %query-limit) + (queue (queued-builds server max)) + (len (length queue)) + (histo (histogram build-system + (lambda (build count) + (+ 1 count)) + 0 queue))) + (newline) + (unless (null? missing) + (let ((missing (length missing))) + (match (queued-subset queue missing) + (#f #f) + ((= length queued) + (format #t (G_ " ~,1f% (~h out of ~h) of the missing items \ +are queued~%") + (* 100. (/ queued missing)) + queued missing))))) + + (if (>= len max) + (format #t (G_ " at least ~h queued builds~%") len) + (format #t (G_ " ~h queued builds~%") len)) + (for-each (match-lambda + ((system . count) + (format #t (G_ " ~a: ~a (~0,1f%)~%") + system count (* 100. (/ count len))))) + histo)) + + (let* ((latest (latest-builds server)) + (builds/sec (throughput latest build-timestamp))) + (format #t (G_ " build rate: ~1,2f builds per hour~%") + (* builds/sec 3600.)) + (for-each (match-lambda + ((system . builds) + (format #t (G_ " ~a: ~,2f builds per hour~%") + system + (* (throughput builds build-timestamp) + 3600.)))) + (histogram build-system cons '() latest))))))) ;;; From c5e7bca248bf5f390265e481e194ff41a58fcc18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 28 Mar 2018 17:06:33 +0200 Subject: [PATCH 210/233] build: Build (guix ci) and (guix scripts weather) when HAVE_GUILE_JSON. * Makefile.am (MODULES): Move guix/ci.scm and guix/scripts/weather.scm to the HAVE_GUILE_JSON-guarded block. --- Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index e50d8430e5..e647f270d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,7 +115,6 @@ MODULES = \ guix/build-system/trivial.scm \ guix/ftp-client.scm \ guix/http-client.scm \ - guix/ci.scm \ guix/gnupg.scm \ guix/elf.scm \ guix/profiling.scm \ @@ -205,7 +204,6 @@ MODULES = \ guix/scripts/import/texlive.scm \ guix/scripts/environment.scm \ guix/scripts/publish.scm \ - guix/scripts/weather.scm \ guix/scripts/edit.scm \ guix/scripts/size.scm \ guix/scripts/graph.scm \ @@ -217,6 +215,7 @@ MODULES = \ if HAVE_GUILE_JSON MODULES += \ + guix/ci.scm \ guix/docker.scm \ guix/import/cpan.scm \ guix/import/crate.scm \ @@ -230,7 +229,8 @@ MODULES += \ guix/scripts/import/gem.scm \ guix/scripts/import/json.scm \ guix/scripts/import/pypi.scm \ - guix/scripts/import/stackage.scm + guix/scripts/import/stackage.scm \ + guix/scripts/weather.scm endif From 910deec66cac3f7f0cb881c6567f19bc92dbae64 Mon Sep 17 00:00:00 2001 From: Nadya Voronova Date: Wed, 28 Mar 2018 03:42:15 +0300 Subject: [PATCH 211/233] gnu: Add tcalc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (tcalc): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 808e7d1b5f..eca45d05f5 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2017 Dave Love ;;; Copyright © 2018 Jan Nieuwenhuizen ;;; Copyright © 2018 Joshua Sierles, Nextjournal +;;; Copyright © 2018 Nadya Voronova ;;; ;;; This file is part of GNU Guix. ;;; @@ -3840,3 +3841,24 @@ routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial differential equations (PDE) that have been converted to ODEs by numerical differencing.") (license license:gpl2+))) + +(define-public tcalc + (package + (name "tcalc") + (version "2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://sites.google.com/site/mohammedisam2000/tcalc/tcalc-" + version ".tar.gz")) + (sha256 + (base32 + "0jq806m4dqfia85nppfm75mml9w57g0cgv4cdw9bp3zymda83s0m")))) + (build-system gnu-build-system) + (synopsis "The terminal calculator") + (description + "The terminal calculator is a small program to help users of the GNU/Linux +terminal do calculations simply and quickly. The formula to be calculated can +be fed to @command{tcalc} through the command line.") + (home-page "https://sites.google.com/site/mohammedisam2000/tcalc") + (license license:gpl3+))) From 3481c714c6eaaab5db9fd3b92dd296022573957a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 27 Mar 2018 21:59:24 -0400 Subject: [PATCH 212/233] gnu: mu: Fix tests failures triggered by DST. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (mu)[phases]: Add 'fix-date-tests. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9414dffa3b..3dab1325e9 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -618,6 +618,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "guile/mu/Makefile.in") (("share/guile/site/2.0/") "share/guile/site/2.2/")) #t)) + (add-after 'patch-configure 'fix-date-tests + ;; Loosen test tolerances to prevent failures caused by daylight + ;; saving time (DST). See: https://github.com/djcb/mu/issues/1214. + (lambda _ + (substitute* "lib/parser/test-utils.cc" + (("\\* 60 \\* 60, 1 },") + "* 60 * 60, 3600 + 1 },")) + #t)) (add-before 'install 'fix-ffi (lambda* (#:key outputs #:allow-other-keys) (substitute* "guile/mu.scm" From 1cde746700fe633ff338621160e04c3deaf11584 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Wed, 28 Mar 2018 13:14:07 +0200 Subject: [PATCH 213/233] gnu: Add r-parsedate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-parsedate): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7b49fbdbc0..6f85f0d803 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Sahithi Yarlagadda ;;; Copyright © 2018 Sandeep Subramanian ;;; Copyright © 2018 Charlie Ritter +;;; Copyright © 2018 Konrad Hinsen ;;; ;;; This file is part of GNU Guix. ;;; @@ -3548,3 +3549,25 @@ and analyzing transaction data and patterns (frequent itemsets and association r It also provides C implementations of the association mining algorithms Apriori and Eclat.") (license license:gpl3))) + +(define-public r-parsedate + (package + (name "r-parsedate") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "parsedate" version)) + (sha256 + (base32 + "0mg7hbm3903iwvmpn51gjpaaq03rsp72hjb1g8h5g84r81iha002")))) + (build-system r-build-system) + (home-page "https://github.com/gaborcsardi/parsedate") + (synopsis + "Recognize and parse dates in various formats") + (description + "This package provides three functions for dealing with dates: +@code{parse_iso_8601} recognizes and parses all valid ISO 8601 date and +time formats, @code{parse_date} parses dates in unspecified formats, +and @code{format_iso_8601} formats a date in ISO 8601 format.") + (license license:gpl2))) From 590bdc149b28e03cfd1668e8026919e89e61f00f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 27 Mar 2018 16:01:56 -0400 Subject: [PATCH 214/233] gnu: openssl: Replace with OpenSSL 1.0.2o [fixes CVE-2018-0739]. * gnu/packages/tls.scm (openssl)[replacement]: New field. (openssl-1.0.2o): New variable. --- gnu/packages/tls.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 74843c0a96..79bf884259 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -255,6 +255,7 @@ required structures.") (define-public openssl (package (name "openssl") + (replacement openssl-1.0.2o) (version "1.0.2n") (source (origin (method url-fetch) @@ -399,6 +400,27 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) +(define openssl-1.0.2o + (package + (inherit openssl) + (name "openssl") + (version "1.0.2o") + (source (origin + (inherit (package-source openssl)) + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/" + name "-" version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/" name "-" version ".tar.gz"))) + (sha256 + (base32 + "0kcy13l701054nhpbd901mz32v1kn4g311z0nifd83xs2jbmqgzc")) + ;; Erase the inherited snippet, which isn't applicable to + ;; OpenSSL 1.0.2o. + (snippet #f))))) + (define-public openssl-next (package (inherit openssl) From 935806b822d898737f80d73cc615fba85bf8b0a7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 28 Mar 2018 14:27:27 -0400 Subject: [PATCH 215/233] gnu: ntp: Update to 4.2.8p11 [security-fixes]. Fixes CVE-2016-1549 and CVE-2018-{7170,7182,7183,7184,7185}. * gnu/packages/ntp.scm (ntp): Update to 4.2.8p11. --- gnu/packages/ntp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 1c3b8cd313..28aabab740 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -39,7 +39,7 @@ (define-public ntp (package (name "ntp") - (version "4.2.8p10") + (version "4.2.8p11") (source (origin (method url-fetch) @@ -53,7 +53,7 @@ "/ntp-" version ".tar.gz"))) (sha256 (base32 - "17xrk7gxrl3hgg0i73n8qm53knyh01lf0f3l1zx9x6r1cip3dlnx")) + "13i7rp1va29ffjdk08fvsfl6n47zzwsp147zhgb550k8agvkjjpi")) (modules '((guix build utils))) (snippet '(begin From 4d967992d8a56cde4ef410bf4efe7df00720d4e6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 28 Mar 2018 19:54:46 +0200 Subject: [PATCH 216/233] gnu: xf86-input-libinput: Update to 0.27.0. * gnu/packages/xorg.scm (xf86-input-libinput): Update to 0.27.0. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9652e15728..4c366f2011 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2425,7 +2425,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "0.26.0") + (version "0.27.0") (source (origin (method url-fetch) (uri (string-append @@ -2433,7 +2433,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb")))) + "18v8qry7493k37bcfbfwdr4xrygyjivpzvgsj7s1dxmzn1n53c3p")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 0a8985f395b51b06dab12407608879b2ecf1de66 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 28 Mar 2018 21:16:43 +0200 Subject: [PATCH 217/233] gnu: xf86-video-ati: Update to 18.0.1. * gnu/packages/xorg.scm (xf86-video-ati): Update to 18.0.1. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4c366f2011..38ce45bdee 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2653,7 +2653,7 @@ as USB mice.") (define-public xf86-video-ati (package (name "xf86-video-ati") - (version "7.10.0") + (version "18.0.1") (source (origin (method url-fetch) @@ -2663,7 +2663,7 @@ as USB mice.") ".tar.bz2")) (sha256 (base32 - "0yafix56vkqglw243cwb94nv91vbjv12sqh29x1bap0hwd1dclgf")))) + "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj")))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) ("xxf86driproto" ,xf86driproto) From b63af9b7c75a23d8f61a744f92b544cc3459b4ae Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Wed, 28 Mar 2018 23:31:15 +0200 Subject: [PATCH 218/233] gnu: http-parser: Update to 2.8.0. * gnu/packages/web.scm (http-parser): Update to 2.8.0. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a30e3c6c50..9d9df002c1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5123,7 +5123,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.7.1") + (version "2.8.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/nodejs/http-parser/" @@ -5131,7 +5131,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h")))) + "17a7k3nxv2p1sp2x5d89wr51vk770753vz6qnlp2gz7nkgwwcxvj")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From ce353a548fcb7cae11c32579bff3bef9a7663830 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Wed, 28 Mar 2018 22:56:20 +0200 Subject: [PATCH 219/233] gnu: node: Update to 9.10.0. * gnu/packages/node.scm (node): Update to 9.10.0. --- gnu/packages/node.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 05cd553741..618dcaa92c 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -43,14 +43,14 @@ (define-public node (package (name "node") - (version "9.9.0") + (version "9.10.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "1nmbbrdxnl02wrnp0cv92wpz44raznm7xrjlwv9627bwphrcyx77")) + "0xld7jh3fx85az7s5zbbsbccnfjwp99xxfn5w0gh2zfc5dalwrg5")) (modules '((guix build utils))) (snippet `(begin From 3cd4447f5639f45b7d833f6fb2adce11ea15ba1d Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 25 Mar 2018 06:47:42 +0200 Subject: [PATCH 220/233] guix-install.sh: Explicitly set root's home directory. * etc/guix-install.sh (ROOT_HOME): New variable. (sys_create_store, sys_enable_guix_daemon, sys_authorize_build_farms): Use ROOT_HOME instead of ~root or the HOME environment variable. * doc/guix.texi (Binary Installation): Instead of assuming that ~ and $HOME refer to root's directory simply because commands are being run as root, explicilty refer to it via ~root. Fixes: --- doc/guix.texi | 4 ++-- etc/guix-install.sh | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d112b373c1..b6d041d73e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -471,7 +471,7 @@ archive content is independent of its creation time, thus making it reproducible. @item -Make @code{root}'s profile available under @file{~/.guix-profile}: +Make @code{root}'s profile available under @file{~root/.guix-profile}: @example # ln -sf /var/guix/profiles/per-user/root/guix-profile \ @@ -482,7 +482,7 @@ Source @file{etc/profile} to augment @code{PATH} and other relevant environment variables: @example -# GUIX_PROFILE=$HOME/.guix-profile ; \ +# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \ source $GUIX_PROFILE/etc/profile @end example diff --git a/etc/guix-install.sh b/etc/guix-install.sh index 933492a338..78cd7580bb 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -50,6 +50,11 @@ DEBUG=0 GNU_URL="https://alpha.gnu.org/gnu/guix/" OPENPGP_SIGNING_KEY_ID="3CE464558A84FDC69DB40CFB090B11993D9AEBB5" +# This script needs to know where root's home directory is. However, we +# cannot simply use the HOME environment variable, since there is no guarantee +# that it points to root's home directory. +ROOT_HOME="$(echo ~root)" + # ------------------------------------------------------------------------------ #+UTILITIES @@ -264,9 +269,9 @@ sys_create_store() _msg "${INF}Linking the root user's profile" ln -sf /var/guix/profiles/per-user/root/guix-profile \ - ~root/.guix-profile + "${ROOT_HOME}/.guix-profile" - GUIX_PROFILE="${HOME}/.guix-profile" + GUIX_PROFILE="${ROOT_HOME}/.guix-profile" source "${GUIX_PROFILE}/etc/profile" _msg "${PAS}activated root profile at /root/.guix-profile" } @@ -316,13 +321,13 @@ sys_enable_guix_daemon() case "$INIT_SYS" in upstart) { initctl reload-configuration; - cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf \ + cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \ /etc/init/ && start guix-daemon; } && _msg "${PAS}enabled Guix daemon via upstart" ;; systemd) - { cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ + { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \ /etc/systemd/system/; chmod 664 /etc/systemd/system/guix-daemon.service; systemctl daemon-reload && @@ -332,7 +337,7 @@ sys_enable_guix_daemon() ;; NA|*) _msg "${ERR}unsupported init system; run the daemon manually:" - echo " ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" + echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" ;; esac @@ -352,9 +357,9 @@ sys_authorize_build_farms() while true; do read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn case $yn in - [Yy]*) guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub && + [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" && _msg "${PAS}Authorized public key for hydra.gnu.org"; - guix archive --authorize < ~root/.guix-profile/share/guix/berlin.guixsd.org.pub && + guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" && _msg "${PAS}Authorized public key for berlin.guixsd.org"; break;; [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" From 881c61d06222a30dbffbf9d039eaca2abd3d22b3 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 29 Mar 2018 07:29:49 +0200 Subject: [PATCH 221/233] doc: Improve documentation. * doc/guix.texi (Service Reference): Correct and clarify some statements regarding the "compose" and "extend" procedures of . --- doc/guix.texi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b6d041d73e..25c08b9f06 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -21090,16 +21090,16 @@ services. Otherwise, it must be a one-argument procedure. The procedure is called by @code{fold-services} and is passed a list of values collected from -extensions. It must return a value that is a valid parameter value for -the service instance. +extensions. It may return any single value. @item @code{extend} (default: @code{#f}) If this is @code{#f}, services of this type cannot be extended. Otherwise, it must be a two-argument procedure: @code{fold-services} -calls it, passing it the initial value of the service as the first argument -and the result of applying @code{compose} to the extension values as the -second argument. +calls it, passing it the initial value of the service as the first +argument and the result of applying @code{compose} to the extension +values as the second argument. It must return a value that is a valid +parameter value for the service instance. @end table @xref{Service Types and Services}, for examples. From 7874e9e047219cce5ae339e57cd76f158bc19f63 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 29 Mar 2018 08:33:13 +0200 Subject: [PATCH 222/233] gnu: Refactor boot-service-type and activation-service-type. * gnu/services.scm (boot-service-type) : Use the "identity" procedure instead of the "append" procedure because it more accurately reflects the intent, which is to simply return the single list of extensions to which fold-services applies the "compose" procedure. (activation-service-type) : Likewise. --- gnu/services.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index b020d971fd..2fcacb9eb4 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -352,7 +352,7 @@ directory." (extensions (list (service-extension system-service-type boot-script-entry))) - (compose append) + (compose identity) (extend compute-boot-script))) (define %boot-service @@ -457,7 +457,7 @@ ACTIVATION-SCRIPT-TYPE." (extensions (list (service-extension boot-service-type gexps->activation-gexp))) - (compose append) + (compose identity) (extend second-argument))) (define %activation-service From b0a4b6d9579e009c18583451075a255d56fdbccf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 12:24:58 +0200 Subject: [PATCH 223/233] gnu: libusb-for-axoloti: Update patch. * gnu/packages/patches/libusb-for-axoloti.patch: Update context for libusb 1.0.22. --- gnu/packages/patches/libusb-for-axoloti.patch | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/patches/libusb-for-axoloti.patch b/gnu/packages/patches/libusb-for-axoloti.patch index 2c07d767d9..76a45e801d 100644 --- a/gnu/packages/patches/libusb-for-axoloti.patch +++ b/gnu/packages/patches/libusb-for-axoloti.patch @@ -1,14 +1,14 @@ -diff -rp -u4 libusb-1.0.19-orig/libusb/descriptor.c libusb-1.0.19/libusb/descriptor.c ---- libusb-1.0.19-orig/libusb/descriptor.c 2015-05-12 00:15:19 +0200 -+++ libusb-1.0.19/libusb/descriptor.c 2015-05-12 00:17:09 +0200 -@@ -1181,9 +1181,9 @@ int API_EXPORTED libusb_get_string_descr +diff -rpu4 libusb-1.0.22.orig/libusb/descriptor.c libusb-1.0.22/libusb/descriptor.c +--- libusb-1.0.22.orig/libusb/descriptor.c 2018-03-17 08:23:37.000000000 +0100 ++++ libusb-1.0.22/libusb/descriptor.c 2018-03-29 10:36:09.968429473 +0200 +@@ -1173,9 +1173,9 @@ int API_EXPORTED libusb_get_string_descr if (tbuf[1] != LIBUSB_DT_STRING) return LIBUSB_ERROR_IO; if (tbuf[0] > r) - return LIBUSB_ERROR_IO; -+ tbuf[0] = r; ++ tbuf[0] = r; - for (di = 0, si = 2; si < tbuf[0]; si += 2) { + di = 0; + for (si = 2; si < tbuf[0]; si += 2) { if (di >= (length - 1)) - break; From 017bffc1a352599c5468f10cf4ef9371d4143e24 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 12:25:45 +0200 Subject: [PATCH 224/233] gnu: libusb4java: Adjust for building with libusb 1.0.22. * gnu/packages/libusb.scm (libusb4java)[arguments]: Add phase to remove "-Werror" flag. --- gnu/packages/libusb.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 4af9cd95bb..bd79972a6e 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -133,6 +133,13 @@ version of libusb to run with newer libusb.") `(#:tests? #f ; there are no tests #:phases (modify-phases %standard-phases + ;; FIXME: libusb 1.0.22 deprecated libusb_set_debug, so the build + ;; fails because libusb4java uses a deprecated procedure. + (add-after 'unpack 'disable-Werror + (lambda _ + (substitute* "CMakeLists.txt" + (("-Werror") "")) + #t)) (add-before 'configure 'set-JAVA_HOME (lambda* (#:key inputs #:allow-other-keys) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) From ddbf2a98ba5ff4ee23fd292a44a15bb8cd009810 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 13:54:30 +0200 Subject: [PATCH 225/233] gnu: Add r-pastecs. * gnu/packages/cran.scm (r-pastecs): New variable. --- gnu/packages/cran.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6f85f0d803..2438abc15b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus -;;; Copyright © 2017 Roel Janssen +;;; Copyright © 2017, 2018 Roel Janssen ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Raoul Bonnal ;;; Copyright © 2018 Vijayalakshmi Vedantham @@ -361,6 +361,27 @@ inspired by Python's Literal String Interpolation (PEP-0498) and Docstrings (PEP-0257) and Julia's Triple-Quoted String Literals.") (license license:expat))) +(define-public r-pastecs + (package + (name "r-pastecs") + (version "1.3.21") + (source (origin + (method url-fetch) + (uri (cran-uri "pastecs" version)) + (sha256 + (base32 + "0z4dic94ar646w7zc2ggi5hgvf2qnznsani94c5pyql8zspz47lc")))) + (build-system r-build-system) + (propagated-inputs + `(("r-boot" ,r-boot))) + (home-page "http://www.sciviews.org/pastecs") + (synopsis "Analysis of space-time ecological series") + (description + "This package provides functions for regulation, decomposition and analysis +of space-time series. The @code{pastecs} library is a PNEC-Art4 and IFREMER +initiative to bring PASSTEC 2000 functionalities to R.") + (license license:gpl2+))) + (define-public r-plogr (package (name "r-plogr") From 6174db2b2cbe459791c6818642fcabf1f61aa806 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 14:08:36 +0200 Subject: [PATCH 226/233] gnu: Add r-venndiagram. * gnu/packages/cran.scm (r-venndiagram): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2438abc15b..410011f670 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1876,6 +1876,29 @@ University Press. It provides smoothing methods for nonparametric regression and density estimation") (license license:gpl2+))) +(define-public r-venndiagram + (package + (name "r-venndiagram") + (version "1.6.20") + (source (origin + (method url-fetch) + (uri (cran-uri "VennDiagram" version)) + (sha256 + (base32 + "1ic1jaxzw98si2p4n1fl4n3myhd7fpw0njb634cwhviwybzv6775")))) + (properties `((upstream-name . "VennDiagram"))) + (build-system r-build-system) + (propagated-inputs + `(("r-futile-logger" ,r-futile-logger))) + (home-page "https://cran.r-project.org/web/packages/VennDiagram/") + (synopsis "Generate High-Resolution Venn and Euler Plots") + (description + "This package provides a set of functions to generate high-resolution +Venn and Euler plots. It includes handling for several special cases, +including two-case scaling, and extensive customization of plot shape and +structure.") + (license license:gpl2+))) + (define-public r-vioplot (package (name "r-vioplot") From 996bed06088d23ff9ec907461ab06f5c7f019c73 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 14:11:21 +0200 Subject: [PATCH 227/233] gnu: Add r-amap. * gnu/packages/cran.scm (r-amap): New variable. --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 410011f670..8ba19ceefa 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -265,6 +265,25 @@ into a pipeline of data manipulation and visualisation.") embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.") (license license:expat))) +(define-public r-amap + (package + (name "r-amap") + (version "0.8-14") + (source (origin + (method url-fetch) + (uri (cran-uri "amap" version)) + (sha256 + (base32 + "1dz37z9v4zvyvqrs4xvpfv468jwvpxav60qn2w0049bw8llj6xdl")))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (home-page "http://mulcyber.toulouse.inra.fr/projects/amap/") + (synopsis "Another multidimensional analysis package") + (description "This package provides tools for clustering and principal +component analysis (with robust methods, and parallelized functions).") + (license license:gpl2+))) + (define-public r-ape (package (name "r-ape") From c974008d91255d0290680620a3d356862509e91e Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 14:26:44 +0200 Subject: [PATCH 228/233] gnu: Add r-idr. * gnu/packages/cran.scm (r-idr): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8ba19ceefa..10b191051d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1049,6 +1049,26 @@ tools for inference in parametric models are provided.") ;; Either version is okay (license (list license:gpl2 license:gpl3)))) +(define-public r-idr + (package + (name "r-idr") + (version "1.2") + (source (origin + (method url-fetch) + (uri (cran-uri "idr" version)) + (sha256 + (base32 + "05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/idr/") + (synopsis "Irreproducible discovery rate") + (description + "This is a package for estimating the copula mixture model and plotting +correspondence curves in \"Measuring reproducibility of high-throughput +experiments\" (2011), Annals of Applied Statistics, Vol. 5, No. 3, 1752-1779, +by Li, Brown, Huang, and Bickel") + (license license:gpl2+))) + (define-public r-inline (package (name "r-inline") From 594e5d73688bb75fe5efc6ae3c27b4689e16726d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 29 Mar 2018 16:05:19 +0300 Subject: [PATCH 229/233] gnu: nano: Update to 2.9.5. * gnu/packages/nano.scm (nano): Update to 2.9.5. --- gnu/packages/nano.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 07c7ed36cb..6bb8c3f3ad 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,7 +30,7 @@ (define-public nano (package (name "nano") - (version "2.9.4") + (version "2.9.5") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c")))) + "06af9dzhgab53drpyq430fv5kf5sdba9mfw0lf3glhkznlf1i3bv")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) From 9c3f2c2e83e0970173fbbf77f699e2c325046daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 29 Mar 2018 13:39:40 +0200 Subject: [PATCH 230/233] gnu: Add python-debug. Suggested by Pjotr Prins . * gnu/packages/python.scm (python-debug): New variable. --- gnu/packages/python.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 148cfb8bcd..9e038ef4fb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -401,6 +401,24 @@ data types.") ("openssl" ,openssl) ("zlib" ,zlib))))) +(define-public python-debug + (package + (inherit python) + (name "python-debug") + (outputs '("out" "debug")) + (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments python) + ((#:configure-flags flags '()) + `(cons "--with-pydebug" ,flags)))) + (synopsis + "High-level, dynamically-typed programming language (for debugging)") + (description + "This variant of Python provides an interpreter built with +@code{--with-pydebug} to help develop and debug extensions. See +@url{https://pythonextensionpatterns.readthedocs.io/en/latest/debugging/debug.html}, +for more information."))) + (define* (wrap-python3 python #:optional (name (string-append (package-name python) "-wrapper"))) From d232e02ecf8cb3559ecffdc09c014fa3817d7716 Mon Sep 17 00:00:00 2001 From: Vasile Dumitrascu Date: Wed, 28 Mar 2018 21:25:05 +0200 Subject: [PATCH 231/233] gnu: Add duperemove. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/disk.scm (duperemove): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/disk.scm | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 96c3a56e7e..595000bf88 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2018 Vasile Dumitrascu ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages databases) #:use-module (gnu packages docbook) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -456,3 +458,47 @@ a card with a smaller capacity than stated.") (define-public python2-parted (package-with-python2 python-parted)) + +(define-public duperemove + (package + (name "duperemove") + (version "v0.11.beta4") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/markfasheh/duperemove/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1h5nk03kflfnzihvn2rvfz1h623x1zpkn9hp29skd7n3f2bc5k7x")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("sqlite" ,sqlite))) + (arguments + `(#:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + ;; no configure script + (delete 'configure)) + #:make-flags (list (string-append "PREFIX=" %output) + "CC=gcc"))) + (home-page "https://github.com/markfasheh/duperemove") + (synopsis "Tools for de-duplicating file system data") + (description "Duperemove is a simple tool for finding duplicated extents +and submitting them for deduplication. When given a list of files it will +hash their contents on a block by block basis and compare those hashes to each +other, finding and categorizing blocks that match each other. When given the +@option{-d} option, duperemove will submit those extents for deduplication +using the Linux kernel extent-same @code{ioctl}. + +Duperemove can store the hashes it computes in a @dfn{hash file}. If given an +existing hash file, duperemove will only compute hashes for those files which +have changed since the last run. Thus you can run duperemove repeatedly on +your data as it changes, without having to re-checksum unchanged data. + +Duperemove can also take input from the @command{fdupes} program.") + (license license:gpl2))) From 53e42694e59a3fb90eba6c16824837ad2791042b Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 15:40:52 +0200 Subject: [PATCH 232/233] gnu: kaiju: Update to 1.6.2. * gnu/packages/bioinformatics.scm (kaiju): Update to 1.6.2; [inputs]: Add zlib. --- gnu/packages/bioinformatics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b16ee2b607..5815c391cf 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3623,7 +3623,7 @@ data.") (define-public kaiju (package (name "kaiju") - (version "1.5.0") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append @@ -3632,7 +3632,7 @@ data.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0afbfalfw9y39bkwnqjrh9bghs118ws1pzj5h8l0nblgn3mbjdks")))) + "1kdn4rxs0kr9ibmrgrfcci71aa6j6gr71dbc8pff7731rpab6kj7")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -3650,7 +3650,8 @@ data.") (copy-recursively "util" bin)) #t))))) (inputs - `(("perl" ,perl))) + `(("perl" ,perl) + ("zlib" ,zlib))) (home-page "http://kaiju.binf.ku.dk/") (synopsis "Fast and sensitive taxonomic classification for metagenomics") (description "Kaiju is a program for sensitive taxonomic classification From e086d2f68b90a39bae07ae46572e5cc6b0fc4308 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 15:50:44 +0200 Subject: [PATCH 233/233] gnu: r-mutationalpatterns: Update to 1.4.3. * gnu/packages/bioinformatics.scm (r-mutationalpatterns): Update to 1.4.3; [propagated-inputs]: Remove r-gridextra. --- gnu/packages/bioinformatics.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5815c391cf..5a1da25805 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8511,14 +8511,14 @@ library implementing most of the pipeline's features.") (define-public r-mutationalpatterns (package (name "r-mutationalpatterns") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (bioconductor-uri "MutationalPatterns" version)) (sha256 (base32 - "08ay9h5cqsi8ypb6r0g4rfa5l1g06jgfzl64wmhgz134yqbl7vfv")))) + "0ml4gsp5dfv23xqrknxh25q8q65hly1xb1215lcwyc8hj9z8f941")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -8528,7 +8528,6 @@ library implementing most of the pipeline's features.") ("r-genomicranges" ,r-genomicranges) ("r-genomeinfodb" ,r-genomeinfodb) ("r-ggplot2" ,r-ggplot2) - ("r-gridextra" ,r-gridextra) ("r-iranges" ,r-iranges) ("r-nmf" ,r-nmf) ("r-plyr" ,r-plyr)