From 38fe6449c0d1fac6f64fcbabfbc94943752830b9 Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Mon, 3 Sep 2018 23:19:30 +0200 Subject: gnu: Add transset-df. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (transset-df): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3875765d25..c89661272b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2018 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; @@ -6196,3 +6197,44 @@ (define-public keynav cursor to any point on the screen with a few key strokes. It also simulates mouse click. You can do everything mouse can do with a keyboard.") (license license:bsd-3))) + +(define-public transset-df + (package + (name "transset-df") + (version "6") + (source (origin + (method url-fetch) + (uri (string-append "http://forchheimer.se/" name "/" name "-" version + ".tar.gz")) + (sha256 + (base32 + "1vnykwwrv75miigbhmcwxniw8xnhsdyzhqydip2m9crxi2lwhqs5")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'setenv + (lambda _ + (setenv "CC" (which "gcc")) + #t)) + (delete 'configure) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "transset-df" bin) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs `(("libxcomposite" ,libxcomposite) + ("libxdamager" ,libxdamage) + ("libxrender" ,libxrender))) + (synopsis "Set the transparency of X11 windows") + (description "The @command{transset-df} command allows you to set the +opacity of X11 windows. This patched version of X.Org's @command{transset} +adds functionality, including: selecting window by clicking (as transset), +selecting windows by pointing select actual focused X11 window, selecting by +window name or id, forcing toggle, increase or decrease opacity.") + (home-page "http://forchheimer.se/transset-df/") + (license license:x11))) -- cgit v1.2.3 From 5108c18e7e163c3b45568f1f4c3416581a2cea19 Mon Sep 17 00:00:00 2001 From: Raphaël Mélotte Date: Mon, 3 Sep 2018 10:20:06 +0200 Subject: gnu: perl: Add support for cross-compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl): use cross-libc when cross-compiling Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4d70e019b9..b10be9567d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -48,6 +48,7 @@ (define-module (gnu packages perl) #:use-module (guix utils) ;substitute-keyword-arguments for perl-5.26.2 #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #:use-module (gnu packages freedesktop) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) @@ -79,7 +80,7 @@ (define-public perl "perl-reproducible-build-date.patch")))) (build-system gnu-build-system) (arguments - '(#:tests? #f + `(#:tests? #f #:configure-flags (let ((out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc"))) @@ -128,7 +129,10 @@ (define-public perl (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) + (libc (assoc-ref inputs + (if ,(%current-target-system) + "cross-libc" + "libc"))) (config1 (car (find-files (string-append out "/lib/perl5") "^Config_heavy\\.pl$"))) (config2 (find-files (string-append out "/lib/perl5") -- cgit v1.2.3 From fd95f37f361ad9444fb13faebda29662d3bf7be6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 3 Sep 2018 23:49:06 +0200 Subject: Revert "gnu: perl: Add support for cross-compilation" This reverts commit 5108c18e7e163c3b45568f1f4c3416581a2cea19, which was accidentally committed. --- gnu/packages/perl.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b10be9567d..4d70e019b9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -48,7 +48,6 @@ (define-module (gnu packages perl) #:use-module (guix utils) ;substitute-keyword-arguments for perl-5.26.2 #:use-module (gnu packages base) #:use-module (gnu packages compression) - #:use-module (gnu packages cross-base) #:use-module (gnu packages freedesktop) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) @@ -80,7 +79,7 @@ (define-public perl "perl-reproducible-build-date.patch")))) (build-system gnu-build-system) (arguments - `(#:tests? #f + '(#:tests? #f #:configure-flags (let ((out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc"))) @@ -129,10 +128,7 @@ (define-public perl (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs - (if ,(%current-target-system) - "cross-libc" - "libc"))) + (libc (assoc-ref inputs "libc")) (config1 (car (find-files (string-append out "/lib/perl5") "^Config_heavy\\.pl$"))) (config2 (find-files (string-append out "/lib/perl5") -- cgit v1.2.3 From 9c4b522f1572db2c5dab81976982b95d5da51e6e Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 24 Aug 2018 00:36:15 +0530 Subject: gnu: Add ghc-wcwidth. * gnu/packages/haskell.scm (ghc-wcwidth): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a07bb049a2..6e19cd67ee 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -10152,4 +10152,29 @@ (define-public ghc-chart backends provided by the @code{Cairo} and @code{Diagrams} libraries.") (license license:bsd-3))) +(define-public ghc-wcwidth + (package + (name "ghc-wcwidth") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-" + version ".tar.gz")) + (sha256 + (base32 + "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz")))) + (build-system haskell-build-system) + (inputs + `(("ghc-setlocale" ,ghc-setlocale) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-attoparsec" ,ghc-attoparsec))) + (home-page "https://github.com/solidsnack/wcwidth/") + (synopsis "Haskell bindings to wcwidth") + (description "This package provides Haskell bindings to your system's +native wcwidth and a command line tool to examine the widths assigned by it. +The command line tool can compile a width table to Haskell code that assigns +widths to the Char type.") + (license license:bsd-3))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 3ad6b8909025a8f4d3e1f1f5ea16bcd0cace557c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 24 Aug 2018 12:14:17 +0530 Subject: gnu: ghc-tasty: Update to 1.1.0.3. * gnu/packages/haskell-check.scm (ghc-tasty): Update to 1.1.0.3. [inputs]: Add ghc-wcwidth. (ghc-attoparsec-bootstrap, ghc-integer-logarithms-bootstrap, ghc-scientific-bootstrap): New variables. (ghc-wcwidth)[inputs]: Replace ghc-attoparsec with ghc-attoparsec-bootstrap. (ghc-scientific)[inputs]: Replace ghc-integer-logarithms with ghc-integer-logarithms-bootstrap. (ghc-attoparsec)[inputs]: Replace ghc-scientific with ghc-scientific-bootstrap. --- gnu/packages/haskell-check.scm | 7 ++++--- gnu/packages/haskell.scm | 27 ++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index c3ef85f3f0..1064872fec 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -183,7 +183,7 @@ (define ghc-clock-bootstrap (define-public ghc-tasty (package (name "ghc-tasty") - (version "0.11.0.4") + (version "1.1.0.3") (source (origin (method url-fetch) @@ -193,7 +193,7 @@ (define-public ghc-tasty ".tar.gz")) (sha256 (base32 - "05pxjzgbgjdn7477xry0ssjrnmnsydqiq6nm6ck8n2da1baliqp0")))) + "14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22")))) (build-system haskell-build-system) (inputs `(("ghc-stm" ,ghc-stm) @@ -205,7 +205,8 @@ (define-public ghc-tasty ("ghc-unbounded-delays" ,ghc-unbounded-delays) ("ghc-async" ,ghc-async) ("ghc-ansi-terminal" ,ghc-ansi-terminal) - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap))) + ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-wcwidth" ,ghc-wcwidth))) (home-page "http://documentup.com/feuerbach/tasty") (synopsis "Modern and extensible testing framework") (description "Tasty is a modern testing framework for Haskell. It lets diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6e19cd67ee..70929ddae6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2866,7 +2866,7 @@ (define-public ghc-attoparsec ;; re-enable them. (arguments `(#:tests? #f)) (inputs - `(("ghc-scientific" ,ghc-scientific) + `(("ghc-scientific-bootstrap" ,ghc-scientific-bootstrap) ("ghc-text" ,ghc-text))) (native-inputs `(("ghc-tasty" ,ghc-tasty) @@ -2881,6 +2881,13 @@ (define-public ghc-attoparsec complicated text/binary file formats.") (license license:bsd-3))) +(define ghc-attoparsec-bootstrap + (package + (inherit ghc-attoparsec) + (name "ghc-attoparsec-bootstrap") + (arguments '(#:tests? #f)) + (native-inputs '()))) + (define-public ghc-zip-archive (package (name "ghc-zip-archive") @@ -5208,6 +5215,13 @@ (define-public ghc-integer-logarithms in migrated modules.") (license license:expat))) +(define ghc-integer-logarithms-bootstrap + (package + (inherit ghc-integer-logarithms) + (name "ghc-integer-logarithms-bootstrap") + (arguments `(#:tests? #f)) + (native-inputs '()))) + (define-public ghc-scientific (package (name "ghc-scientific") @@ -5224,7 +5238,7 @@ (define-public ghc-scientific "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397")))) (build-system haskell-build-system) (inputs - `(("ghc-integer-logarithms" ,ghc-integer-logarithms) + `(("ghc-integer-logarithms-bootstrap" ,ghc-integer-logarithms-bootstrap) ("ghc-text" ,ghc-text) ("ghc-hashable" ,ghc-hashable) ("ghc-primitive" ,ghc-primitive))) @@ -5245,6 +5259,13 @@ (define-public ghc-scientific notation}.") (license license:bsd-3))) +(define ghc-scientific-bootstrap + (package + (inherit ghc-scientific) + (name "ghc-scientific-bootstrap") + (arguments `(#:tests? #f)) + (native-inputs '()))) + (define-public ghc-boxes (package (name "ghc-boxes") @@ -10168,7 +10189,7 @@ (define-public ghc-wcwidth (inputs `(("ghc-setlocale" ,ghc-setlocale) ("ghc-utf8-string" ,ghc-utf8-string) - ("ghc-attoparsec" ,ghc-attoparsec))) + ("ghc-attoparsec-bootstrap" ,ghc-attoparsec-bootstrap))) (home-page "https://github.com/solidsnack/wcwidth/") (synopsis "Haskell bindings to wcwidth") (description "This package provides Haskell bindings to your system's -- cgit v1.2.3 From 8374cc4b051e31905581250fbc0697b1513db60a Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 4 Sep 2018 15:21:56 +0530 Subject: gnu: ghc-tasty-ant-xml: Update to 1.1.4. * gnu/packages/haskell-check.scm (ghc-tasty-ant-xml): Update to 1.1.4. --- gnu/packages/haskell-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 1064872fec..65333f8269 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -39,7 +39,7 @@ (define-module (gnu packages haskell-check) (define-public ghc-tasty-ant-xml (package (name "ghc-tasty-ant-xml") - (version "1.0.2") + (version "1.1.4") (source (origin (method url-fetch) @@ -49,7 +49,7 @@ (define-public ghc-tasty-ant-xml ".tar.gz")) (sha256 (base32 - "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv")))) + "0v0gsb90kh6hwlgxbclzawsskywc6yf7n8xhiifia97l4y0yx2m8")))) (build-system haskell-build-system) (inputs `(("ghc-generic-deriving" ,ghc-generic-deriving) -- cgit v1.2.3 From 6300ba5b6669e6e1a3864144390a358b8c260296 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 4 Sep 2018 15:24:32 +0530 Subject: gnu: ghc-integer-logarithms: Allow building with newer tasty. * gnu/packages/haskell.scm (ghc-integer-logarithms)[arguments]: Allow building with newer tasty. --- gnu/packages/haskell.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 70929ddae6..e7072633de 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -5197,6 +5197,8 @@ (define-public ghc-integer-logarithms (base32 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=tasty"))) (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck) ("ghc-smallcheck" ,ghc-smallcheck) -- cgit v1.2.3 From 906a396bff28ba46b37014a0efc5d4fbf417dc82 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 4 Sep 2018 17:26:14 +0530 Subject: gnu: ghc-zlib: Enable tests. * gnu/packages/haskell.scm (ghc-zlib)[arguments]: Enable tests. Allow building with newer tasty. [native-inputs]: Add ghc-quickcheck, ghc-tasty, ghc-tasty-hunit and ghc-tasty-quickcheck. --- gnu/packages/haskell.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e7072633de..b8ae26346e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2078,9 +2078,13 @@ (define-public ghc-zlib (base32 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d")))) (build-system haskell-build-system) - ;; Tests require older versions of testy. - (arguments `(#:tests? #f)) + (arguments `(#:configure-flags (list "--allow-newer=tasty"))) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) (home-page "https://hackage.haskell.org/package/zlib") (synopsis "Compression and decompression in the gzip and zlib formats") -- cgit v1.2.3 From b50658fe8ac898544a5c481f232a454c485524b9 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Thu, 16 Aug 2018 13:33:48 +0200 Subject: gnu: kicad: Update to 5.0.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (kicad): Update to 5.0.0. [source]: Change from git to url-fetch. [arguments]: Remove now unneeded build version parameter. [inputs]: Add opencascade-oce. Signed-off-by: Ludovic Courtès --- gnu/packages/engineering.scm | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index d53b25cff9..ee524ec78e 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Clément Lassieur +;;; Copyright © 2018 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. ;;; @@ -680,24 +681,19 @@ (define-public libfive (define-public ao (deprecated-package "ao-cad" libfive)) -;; We use kicad from a git commit, because support for boost 1.61.0 has been -;; recently added. (define-public kicad - (let ((commit "5f4599fb56da4dd748845ab10abec02961d477f3") - (revision "2")) (package (name "kicad") - (version (string-append "4.0-" revision "." - (string-take commit 7))) + (version "5.0.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.launchpad.net/kicad") - (commit commit))) + (method url-fetch) + (file-name (string-append name "-" version ".tar.xz")) + (uri (string-append + "https://launchpad.net/kicad/5.0/" version "/+download/" name + "-" version ".tar.xz")) (sha256 - (base32 "1833pln2975gmc5s18xf7s8m9vg834lmxxdjk0wlk3lq7bvjjnff")) - (file-name (string-append name "-" version "-checkout")))) + (base32 "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p")))) (build-system cmake-build-system) (arguments `(#:out-of-source? #t @@ -706,8 +702,6 @@ (define-public kicad #:configure-flags (list "-DKICAD_STABLE_VERSION=ON" "-DKICAD_REPO_NAME=stable" - ,(string-append "-DKICAD_BUILD_VERSION=4.0-" - (string-take commit 7)) "-DKICAD_SKIP_BOOST=ON"; Use our system's boost library. "-DKICAD_SCRIPTING=ON" "-DKICAD_SCRIPTING_MODULES=ON" @@ -754,6 +748,7 @@ (define-public kicad ("libngspice" ,libngspice) ("libsm" ,libsm) ("mesa" ,mesa) + ("opencascade-oce" ,opencascade-oce) ("openssl" ,openssl) ("python" ,python-2) ("wxwidgets" ,wxwidgets-gtk2) @@ -764,7 +759,7 @@ (define-public kicad boards and electrical circuits. The software has a number of programs that perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing electrical diagrams), gerbview (viewing Gerber files) and others.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public kicad-library (let ((version "4.0.7")) -- cgit v1.2.3 From 71ca16b58d20aa26157acc4c345c0af80ec8df5d Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Mon, 3 Sep 2018 11:57:38 +0100 Subject: gnu: petsc-openmpi: Configure with support for hdf5 data format. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (petsc-openmpi)[inputs]: Add hdf5-parallel-openmpi. [arguments]: Add '--with-hdf5-include' and '--with-hdf5-lib' flags. Add 'set-test-environment' phase. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 50c0a320e0..42136f65ea 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Thomas Danckaert -;;; Copyright © 2017 Paul Garlick +;;; Copyright © 2017, 2018 Paul Garlick ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Theodoros Foradis @@ -1685,6 +1685,7 @@ (define-public petsc-openmpi (name "petsc-openmpi") (inputs `(("openmpi" ,openmpi) + ("hdf5" ,hdf5-parallel-openmpi) ,@(package-inputs petsc))) (arguments (substitute-keyword-arguments (package-arguments petsc) @@ -1692,7 +1693,21 @@ (define-public petsc-openmpi ``("--with-mpiexec=mpirun" ,(string-append "--with-mpi-dir=" (assoc-ref %build-inputs "openmpi")) - ,@(delete "--with-mpi=0" ,cf))))) + ,(string-append "--with-hdf5-include=" + (assoc-ref %build-inputs "hdf5") "/include") + ,(string-append "--with-hdf5-lib=" + (assoc-ref %build-inputs "hdf5") "/lib/libhdf5.a") + ,@(delete "--with-mpi=0" ,cf))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (synopsis "Library to solve PDEs (with MPI support)"))) (define-public petsc-complex-openmpi -- cgit v1.2.3 From 1bf758767d1553594b6d7534ca8c38a2171b5afe Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Mon, 3 Sep 2018 02:25:31 +0800 Subject: gnu: Add emacs-picpocket. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-picpocket): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8f0c564f88..957b72f4e7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou -;;; Copyright © 2016, 2017 Alex Vong +;;; Copyright © 2016, 2017, 2018 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017, 2018 Mathieu Othacehe @@ -11315,6 +11315,43 @@ (define-public emacs-package-lint file.") (license license:gpl3+)))) +(define-public emacs-picpocket + (let ((version "20180610.1059") ; taken from melpa + (commit "ce4b6ed088384f2414af82e8e4eae5b92c2874bf")) + (package + (name "emacs-picpocket") + (version version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/johanclaesson/picpocket") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15vpbcv83mc4j1pvrk7xic0klh2bl9gzg2xxs7c2lmnix52hy8mv")))) + (build-system emacs-build-system) + (arguments ; needed for running tests + `(#:tests? #t + #:emacs ,emacs + #:test-command '("emacs" "--batch" + "-l" "picpocket-test.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/johanclaesson/picpocket") + (synopsis "Image viewer for Emacs") + (description + "Picpocket is an image viewer for GNU Emacs. It has commands for: + +@itemize +@item File operations on the picture files (delete, move, copy, hardlink). +@item Scale and rotate the picture. +@item Associate pictures with tags which are saved to disk. +@item Filter pictures according to tags. +@item Customizing keystrokes for quick tagging and file operations. +@item Undo and browse history of undoable commands. +@end itemize") + (license license:gpl3+)))) + (define-public emacs-wgrep-helm ;; `emacs-wgrep-helm' was mistakenly added. (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) -- cgit v1.2.3 From 7e1d229019c1924a2748e5daec2a619e7efbd7d7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 4 Sep 2018 17:22:55 +0200 Subject: inferior: Add home-page and location package accessors. * guix/inferior.scm (inferior-package-home-page) (inferior-package-location): New procedures. * tests/inferior.scm ("inferior-packages"): Test them. --- guix/inferior.scm | 20 +++++++++++++++++++- tests/inferior.scm | 26 ++++++++++++++++---------- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index 05c8d65deb..af37233a03 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -19,6 +19,7 @@ (define-module (guix inferior) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) + #:use-module ((guix utils) #:select (source-properties->location)) #:use-module (ice-9 match) #:use-module (ice-9 popen) #:export (inferior? @@ -33,7 +34,9 @@ (define-module (guix inferior) inferior-packages inferior-package-synopsis - inferior-package-description)) + inferior-package-description + inferior-package-home-page + inferior-package-location)) ;;; Commentary: ;;; @@ -198,3 +201,18 @@ (define* (inferior-package-description package #:key (translate? #t)) (if translate? '(compose (@ (guix ui) P_) package-description) 'package-description))) + +(define (inferior-package-home-page package) + "Return the home page of PACKAGE." + (inferior-package-field package 'package-home-page)) + +(define (inferior-package-location package) + "Return the source code location of PACKAGE, either #f or a +record." + (source-properties->location + (inferior-package-field package + '(compose (lambda (loc) + (and loc + (location->source-properties + loc))) + package-location)))) diff --git a/tests/inferior.scm b/tests/inferior.scm index 5e0f8ae66e..ff5cad4210 100644 --- a/tests/inferior.scm +++ b/tests/inferior.scm @@ -45,9 +45,11 @@ (define %top-builddir (test-equal "inferior-packages" (take (sort (fold-packages (lambda (package lst) - (alist-cons (package-name package) + (cons (list (package-name package) (package-version package) - lst)) + (package-home-page package) + (package-location package)) + lst)) '()) (lambda (x y) (string Date: Fri, 31 Aug 2018 17:07:07 +0200 Subject: Switch to Guile-Gcrypt. This removes (guix hash) and (guix pk-crypto), which now live as part of Guile-Gcrypt (version 0.1.0.) * guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm, tests/hash.scm, tests/pk-crypto.scm: Remove. * configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and LIBGCRYPT_LIBDIR assignments. * m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove. * README: Add Guile-Gcrypt to the dependencies; move libgcrypt as "required unless --disable-daemon". * doc/guix.texi (Requirements): Likewise. * gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm, guix/git.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm, guix/import/gnu.scm, guix/import/hackage.scm, guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm, guix/pki.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/scripts/pack.scm, guix/scripts/publish.scm, guix/scripts/refresh.scm, guix/scripts/substitute.scm, guix/store.scm, guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm, tests/builders.scm, tests/challenge.scm, tests/cpan.scm, tests/crate.scm, tests/derivations.scm, tests/gem.scm, tests/nar.scm, tests/opam.scm, tests/pki.scm, tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm, tests/store.scm, tests/substitute.scm: Adjust imports. * gnu/system/vm.scm: Likewise. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (expression->derivation-in-linux-vm)[config]: Remove. (iso9660-image)[config]: Remove. (qemu-image)[config]: Remove. (system-docker-image)[config]: Remove. * guix/scripts/pack.scm: Adjust imports. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (self-contained-tarball)[build]: Call 'make-config.scm' without #:libgcrypt argument. (squashfs-image)[libgcrypt]: Remove. [build]: Call 'make-config.scm' without #:libgcrypt. (docker-image)[config, json]: Remove. [build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from the imported modules. * guix/self.scm (specification->package): Remove "libgcrypt", add "guile-gcrypt". (compiled-guix): Remove #:libgcrypt. [guile-gcrypt]: New variable. [dependencies]: Add it. [*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call. Add #:extensions. [*config*]: Remove #:libgcrypt from 'make-config.scm' call. (%dependency-variables): Remove %libgcrypt. (make-config.scm): Remove #:libgcrypt. * build-aux/build-self.scm (guile-gcrypt): New variable. (make-config.scm): Remove #:libgcrypt. (build-program)[fake-gcrypt-hash]: New variable. Add (gcrypt hash) to the imported modules. Adjust load path assignments. * gnu/packages/package-management.scm (guix)[propagated-inputs]: Add GUILE-GCRYPT. [arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search path. --- Makefile.am | 5 - README | 3 +- build-aux/build-self.scm | 83 ++++++-- configure.ac | 13 +- doc/guix.texi | 4 +- gnu/packages/bash.scm | 2 +- gnu/packages/package-management.scm | 5 +- gnu/system/vm.scm | 48 ++--- guix/derivations.scm | 2 +- guix/docker.scm | 2 +- guix/gcrypt.scm | 49 ----- guix/git.scm | 2 +- guix/hash.scm | 184 ---------------- guix/http-client.scm | 2 +- guix/import/cpan.scm | 2 +- guix/import/cran.scm | 2 +- guix/import/crate.scm | 2 +- guix/import/elpa.scm | 2 +- guix/import/gnu.scm | 2 +- guix/import/hackage.scm | 2 +- guix/import/texlive.scm | 2 +- guix/import/utils.scm | 2 +- guix/nar.scm | 4 +- guix/pk-crypto.scm | 407 ------------------------------------ guix/pki.scm | 2 +- guix/scripts/archive.scm | 2 +- guix/scripts/authenticate.scm | 2 +- guix/scripts/download.scm | 2 +- guix/scripts/hash.scm | 6 +- guix/scripts/pack.scm | 60 ++---- guix/scripts/publish.scm | 4 +- guix/scripts/refresh.scm | 2 +- guix/scripts/substitute.scm | 4 +- guix/self.scm | 26 +-- guix/store.scm | 2 +- guix/store/deduplication.scm | 2 +- guix/tests.scm | 2 +- m4/guix.m4 | 18 -- tests/base32.scm | 2 +- tests/builders.scm | 2 +- tests/challenge.scm | 2 +- tests/cpan.scm | 2 +- tests/crate.scm | 2 +- tests/derivations.scm | 2 +- tests/gem.scm | 2 +- tests/hash.scm | 128 ------------ tests/nar.scm | 2 +- tests/opam.scm | 2 +- tests/packages.scm | 2 +- tests/pk-crypto.scm | 290 ------------------------- tests/pki.scm | 4 +- tests/publish.scm | 4 +- tests/pypi.scm | 2 +- tests/store-deduplication.scm | 2 +- tests/store.scm | 2 +- tests/substitute.scm | 4 +- 56 files changed, 180 insertions(+), 1241 deletions(-) delete mode 100644 guix/gcrypt.scm delete mode 100644 guix/hash.scm delete mode 100644 guix/pk-crypto.scm delete mode 100644 tests/hash.scm delete mode 100644 tests/pk-crypto.scm diff --git a/Makefile.am b/Makefile.am index af6870cf67..a3498460e0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -63,9 +63,6 @@ MODULES = \ guix/base64.scm \ guix/cpio.scm \ guix/records.scm \ - guix/gcrypt.scm \ - guix/hash.scm \ - guix/pk-crypto.scm \ guix/pki.scm \ guix/progress.scm \ guix/combinators.scm \ @@ -331,8 +328,6 @@ SCM_TESTS = \ tests/base32.scm \ tests/base64.scm \ tests/cpio.scm \ - tests/hash.scm \ - tests/pk-crypto.scm \ tests/pki.scm \ tests/print.scm \ tests/sets.scm \ diff --git a/README b/README index 348a7ada5f..4c76c4bc43 100644 --- a/README +++ b/README @@ -21,7 +21,7 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager. GNU Guix currently depends on the following packages: - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later - - [[https://gnupg.org/][GNU libgcrypt]] + - [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later - [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled - [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later @@ -31,6 +31,7 @@ GNU Guix currently depends on the following packages: Unless `--disable-daemon' was passed, the following packages are needed: + - [[https://gnupg.org/][GNU libgcrypt]] - [[https://sqlite.org/][SQLite 3]] - [[https://gcc.gnu.org][GCC's g++]] - optionally [[http://www.bzip.org][libbz2]] diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 3ecdc931a5..f472724f18 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -22,6 +22,7 @@ (define-module (build-self) #:use-module (guix ui) #:use-module (guix config) #:use-module (guix modules) + #:use-module (guix build-system gnu) #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) #:use-module (rnrs io ports) @@ -72,7 +73,7 @@ (define %config-variables (variables rest ...)))))) (variables %localstatedir %storedir %sysconfdir %system))) -(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 +(define* (make-config.scm #:key zlib gzip xz bzip2 (package-name "GNU Guix") (package-version "0") (bug-report-address "bug-guix@gnu.org") @@ -92,7 +93,6 @@ (define defmod 'define-module) %state-directory %store-database-directory %config-directory - %libgcrypt %libz %gzip %bzip2 @@ -137,9 +137,6 @@ (define %bzip2 (define %xz #+(and xz (file-append xz "/bin/xz"))) - (define %libgcrypt - #+(and libgcrypt - (file-append libgcrypt "/lib/libgcrypt"))) (define %libz #+(and zlib (file-append zlib "/lib/libz"))))))) @@ -200,6 +197,44 @@ (define (date-version-string) ;; XXX: Replace with a Git commit id. (date->string (current-date 0) "~Y~m~d.~H")) +(define guile-gcrypt + ;; The host Guix may or may not have 'guile-gcrypt', which was introduced in + ;; August 2018. If it has it, it's at least version 0.1.0, which is good + ;; enough. If it doesn't, specify our own package because the target Guix + ;; requires it. + (match (find-best-packages-by-name "guile-gcrypt" #f) + (() + (package + (name "guile-gcrypt") + (version "0.1.0") + (home-page "https://notabug.org/cwebber/guile-gcrypt") + (source (origin + (method url-fetch) + (uri (string-append home-page "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "1gir7ifknbmbvjlql5j6wzk7bkb5lnmq80q59ngz43hhpclrk5k3")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,(specification->package "pkg-config")) + ("autoconf" ,(specification->package "autoconf")) + ("automake" ,(specification->package "automake")) + ("texinfo" ,(specification->package "texinfo")))) + (inputs + `(("guile" ,(specification->package "guile")) + ("libgcrypt" ,(specification->package "libgcrypt")))) + (synopsis "Cryptography library for Guile using Libgcrypt") + (description + "Guile-Gcrypt provides a Guile 2.x interface to a subset of the +GNU Libgcrypt crytographic library. It provides modules for cryptographic +hash functions, message authentication codes (MAC), public-key cryptography, +strong randomness, and more. It is implemented using the foreign function +interface (FFI) of Guile.") + (license #f))) ;license:gpl3+ + ((package . _) + package))) + (define* (build-program source version #:optional (guile-version (effective-version)) #:key (pull-version 0)) @@ -212,10 +247,21 @@ (define select? (('gnu _ ...) #t) (_ #f))) + (define fake-gcrypt-hash + ;; Fake (gcrypt hash) module; see below. + (scheme-file "hash.scm" + #~(define-module (gcrypt hash) + #:export (sha1 sha256)))) + (with-imported-modules `(((guix config) - => ,(make-config.scm - #:libgcrypt - (specification->package "libgcrypt"))) + => ,(make-config.scm)) + + ;; To avoid relying on 'with-extensions', which was + ;; introduced in 0.15.0, provide a fake (gcrypt + ;; hash) just so that we can build modules, and + ;; adjust %LOAD-PATH later on. + ((gcrypt hash) => ,fake-gcrypt-hash) + ,@(source-module-closure `((guix store) (guix self) (guix derivations) @@ -237,13 +283,24 @@ (define select? (match %load-path ((front _ ...) (unless (string=? front source) ;already done? - (set! %load-path (list source front))))))) - - ;; Only load our own modules or those of Guile. + (set! %load-path + (list source + (string-append #$guile-gcrypt + "/share/guile/site/" + (effective-version)) + front))))))) + + ;; Only load Guile-Gcrypt, our own modules, or those + ;; of Guile. (match %load-compiled-path ((front _ ... sys1 sys2) - (set! %load-compiled-path - (list front sys1 sys2))))) + (unless (string-prefix? #$guile-gcrypt front) + (set! %load-compiled-path + (list (string-append #$guile-gcrypt + "/lib/guile/" + (effective-version) + "/site-ccache") + front sys1 sys2)))))) (use-modules (guix store) (guix self) diff --git a/configure.ac b/configure.ac index b34f15a77b..c83d4d8a28 100644 --- a/configure.ac +++ b/configure.ac @@ -130,6 +130,11 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.]) fi +GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)]) +if test "x$have_guile_gcrypt" != "xyes"; then + AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.]) +fi + dnl Make sure we have a full-fledged Guile. GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) @@ -213,16 +218,10 @@ AC_ARG_WITH([libgcrypt-libdir], esac]) dnl If none of the --with-libgcrypt-* options was used, try to determine the -dnl absolute file name of libgcrypt.so. +dnl the library directory. case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in xnono) GUIX_LIBGCRYPT_LIBDIR([LIBGCRYPT_LIBDIR]) - if test "x$LIBGCRYPT_LIBDIR" != x; then - LIBGCRYPT="$LIBGCRYPT_LIBDIR/libgcrypt" - else - dnl 'config-daemon.ac' expects "no" in this case. - LIBGCRYPT_LIBDIR="no" - fi ;; esac diff --git a/doc/guix.texi b/doc/guix.texi index 307f915dbb..9375aac30c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -620,7 +620,8 @@ GNU Guix depends on the following packages: @itemize @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or later, including 2.2.x; -@item @url{http://gnupg.org/, GNU libgcrypt}; +@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version +0.1.0 or later; @item @uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings (@pxref{Guile Preparations, how to install the GnuTLS bindings for @@ -662,6 +663,7 @@ Unless @code{--disable-daemon} was passed to @command{configure}, the following packages are also needed: @itemize +@item @url{http://gnupg.org/, GNU libgcrypt}; @item @url{http://sqlite.org, SQLite 3}; @item @url{http://gcc.gnu.org, GCC's g++}, with support for the C++11 standard. diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 64f7782f58..121a459fa6 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -36,7 +36,7 @@ (define-module (gnu packages bash) #:use-module (guix store) #:use-module (guix build-system gnu) #:autoload (guix gnupg) (gnupg-verify*) - #:autoload (guix hash) (port-sha256) + #:autoload (gcrypt hash) (port-sha256) #:autoload (guix base32) (bytevector->nix-base32-string) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 78db0abfa8..e40a94a844 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -213,6 +213,7 @@ (define (intern tarball) ;; Guile-JSON, and Guile-Git automatically. (let* ((out (assoc-ref outputs "out")) (guile (assoc-ref inputs "guile")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) (json (assoc-ref inputs "guile-json")) (sqlite (assoc-ref inputs "guile-sqlite3")) (git (assoc-ref inputs "guile-git")) @@ -220,7 +221,8 @@ (define (intern tarball) "guile-bytestructures")) (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) - (deps (list json sqlite gnutls git bs ssh)) + (deps (list gcrypt json sqlite gnutls + git bs ssh)) (effective (read-line (open-pipe* OPEN_READ @@ -279,6 +281,7 @@ (define (intern tarball) '()))) (propagated-inputs `(("gnutls" ,gnutls) + ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b505b0cf6b..3898872a46 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -32,7 +32,7 @@ (define-module (gnu system vm) #:use-module (guix modules) #:use-module (guix scripts pack) #:use-module (guix utils) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module ((guix self) #:select (make-config.scm)) @@ -43,7 +43,7 @@ (define-module (gnu system vm) #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages guile) - #:autoload (gnu packages gnupg) (libgcrypt) + #:autoload (gnu packages gnupg) (guile-gcrypt) #:use-module (gnu packages gawk) #:use-module (gnu packages bash) #:use-module (gnu packages less) @@ -124,10 +124,12 @@ (define not-config? (('gnu rest ...) #t) (rest #f))) -(define guile-sqlite3&co - ;; Guile-SQLite3 and its propagated inputs. - (cons guile-sqlite3 - (package-transitive-propagated-inputs guile-sqlite3))) +(define gcrypt-sqlite3&co + ;; Guile-Gcrypt, Guile-SQLite3, and their propagated inputs. + (append-map (lambda (package) + (cons package + (package-transitive-propagated-inputs package))) + (list guile-gcrypt guile-sqlite3))) (define* (expression->derivation-in-linux-vm name exp #:key @@ -164,10 +166,6 @@ (define* (expression->derivation-in-linux-vm name exp When REFERENCES-GRAPHS is true, it must be a list of file name/store path pairs, as for `derivation'. The files containing the reference graphs are made available under the /xchg CIFS share." - (define config - ;; (guix config) module for consumption by (guix gcrypt). - (make-config.scm #:libgcrypt libgcrypt)) - (define user-builder (program-file "builder-in-linux-vm" exp)) @@ -195,12 +193,14 @@ (define loader (define builder ;; Code that launches the VM that evaluates EXP. - (with-extensions guile-sqlite3&co + (with-extensions gcrypt-sqlite3&co (with-imported-modules `(,@(source-module-closure '((guix build utils) (gnu build vm)) #:select? not-config?) - ((guix config) => ,config)) + + ;; For consumption by (gnu store database). + ((guix config) => ,(make-config.scm))) #~(begin (use-modules (guix build utils) (gnu build vm)) @@ -255,9 +255,6 @@ (define* (iso9660-image #:key "Return a bootable, stand-alone iso9660 image. INPUTS is a list of inputs (as for packages)." - (define config - (make-config.scm #:libgcrypt libgcrypt)) - (define schema (and register-closures? (local-file (search-path %load-path @@ -265,12 +262,12 @@ (define schema (expression->derivation-in-linux-vm name - (with-extensions guile-sqlite3&co + (with-extensions gcrypt-sqlite3&co (with-imported-modules `(,@(source-module-closure '((gnu build vm) (guix store database) (guix build utils)) #:select? not-config?) - ((guix config) => ,config)) + ((guix config) => ,(make-config.scm))) #~(begin (use-modules (gnu build vm) (guix store database) @@ -347,9 +344,6 @@ (define* (qemu-image #:key all of INPUTS into the image being built. When REGISTER-CLOSURES? is true, register INPUTS in the store database of the image so that Guix can be used in the image." - (define config - (make-config.scm #:libgcrypt libgcrypt)) - (define schema (and register-closures? (local-file (search-path %load-path @@ -357,13 +351,13 @@ (define schema (expression->derivation-in-linux-vm name - (with-extensions guile-sqlite3&co + (with-extensions gcrypt-sqlite3&co (with-imported-modules `(,@(source-module-closure '((gnu build vm) (gnu build bootloader) (guix store database) (guix build utils)) #:select? not-config?) - ((guix config) => ,config)) + ((guix config) => ,(make-config.scm))) #~(begin (use-modules (gnu build bootloader) (gnu build vm) @@ -462,10 +456,6 @@ (define* (system-docker-image os 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 config - ;; (guix config) module for consumption by (guix gcrypt). - (make-config.scm #:libgcrypt libgcrypt)) - (define schema (and register-closures? (local-file (search-path %load-path @@ -475,8 +465,8 @@ (define schema (name -> (string-append name ".tar.gz")) (graph -> "system-graph")) (define build - (with-extensions (cons guile-json ;for (guix docker) - guile-sqlite3&co) ;for (guix store database) + (with-extensions (cons guile-json ;for (guix docker) + gcrypt-sqlite3&co) ;for (guix store database) (with-imported-modules `(,@(source-module-closure '((guix docker) (guix store database) @@ -484,7 +474,7 @@ (define build (guix build store-copy) (gnu build vm)) #:select? not-config?) - ((guix config) => ,config)) + ((guix config) => ,(make-config.scm))) #~(begin (use-modules (guix docker) (guix build utils) diff --git a/guix/derivations.scm b/guix/derivations.scm index da686e89e2..7afecb10cc 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -35,7 +35,7 @@ (define-module (guix derivations) #:use-module (guix memoization) #:use-module (guix combinators) #:use-module (guix monads) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix records) #:use-module (guix sets) diff --git a/guix/docker.scm b/guix/docker.scm index b869901599..0757d3356f 100644 --- a/guix/docker.scm +++ b/guix/docker.scm @@ -19,7 +19,7 @@ ;;; along with GNU Guix. If not, see . (define-module (guix docker) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base16) #:use-module ((guix build utils) #:select (mkdir-p diff --git a/guix/gcrypt.scm b/guix/gcrypt.scm deleted file mode 100644 index 1517501751..0000000000 --- a/guix/gcrypt.scm +++ /dev/null @@ -1,49 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 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 gcrypt) - #:use-module (guix config) - #:use-module (system foreign) - #:export (gcrypt-version - libgcrypt-func)) - -;;; Commentary: -;;; -;;; Common code for the GNU Libgcrypt bindings. Loading this module -;;; initializes Libgcrypt as a side effect. -;;; -;;; Code: - -(define libgcrypt-func - (let ((lib (dynamic-link %libgcrypt))) - (lambda (func) - "Return a pointer to symbol FUNC in libgcrypt." - (dynamic-func func lib)))) - -(define gcrypt-version - ;; According to the manual, this function must be called before any other, - ;; and it's not clear whether it can be called more than once. So call it - ;; right here from the top level. - (let* ((ptr (libgcrypt-func "gcry_check_version")) - (proc (pointer->procedure '* ptr '(*))) - (version (pointer->string (proc %null-pointer)))) - (lambda () - "Return the version number of libgcrypt as a string." - version))) - -;;; gcrypt.scm ends here diff --git a/guix/git.scm b/guix/git.scm index 193e2df111..c577eba5ee 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -21,7 +21,7 @@ (define-module (guix git) #:use-module (git) #:use-module (git object) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module ((guix build utils) #:select (mkdir-p)) #:use-module (guix store) #:use-module (guix utils) diff --git a/guix/hash.scm b/guix/hash.scm deleted file mode 100644 index 8d7ba21425..0000000000 --- a/guix/hash.scm +++ /dev/null @@ -1,184 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 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 hash) - #:use-module (guix gcrypt) - #:use-module (rnrs bytevectors) - #:use-module (ice-9 binary-ports) - #:use-module (system foreign) - #:use-module ((guix build utils) #:select (dump-port)) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) - #:export (sha1 - sha256 - open-sha256-port - port-sha256 - file-sha256 - open-sha256-input-port)) - -;;; Commentary: -;;; -;;; Cryptographic hashes. -;;; -;;; Code: - - -;;; -;;; Hash. -;;; - -(define-syntax GCRY_MD_SHA256 - ;; Value as of Libgcrypt 1.5.2. - (identifier-syntax 8)) - -(define-syntax GCRY_MD_SHA1 - (identifier-syntax 2)) - -(define bytevector-hash - (let ((hash (pointer->procedure void - (libgcrypt-func "gcry_md_hash_buffer") - `(,int * * ,size_t)))) - (lambda (bv type size) - "Return the hash TYPE, of SIZE bytes, of BV as a bytevector." - (let ((digest (make-bytevector size))) - (hash type (bytevector->pointer digest) - (bytevector->pointer bv) (bytevector-length bv)) - digest)))) - -(define sha1 - (cut bytevector-hash <> GCRY_MD_SHA1 20)) - -(define sha256 - (cut bytevector-hash <> GCRY_MD_SHA256 (/ 256 8))) - -(define open-sha256-md - (let ((open (pointer->procedure int - (libgcrypt-func "gcry_md_open") - `(* ,int ,unsigned-int)))) - (lambda () - (let* ((md (bytevector->pointer (make-bytevector (sizeof '*)))) - (err (open md GCRY_MD_SHA256 0))) - (if (zero? err) - (dereference-pointer md) - (throw 'gcrypt-error err)))))) - -(define md-write - (pointer->procedure void - (libgcrypt-func "gcry_md_write") - `(* * ,size_t))) - -(define md-read - (pointer->procedure '* - (libgcrypt-func "gcry_md_read") - `(* ,int))) - -(define md-close - (pointer->procedure void - (libgcrypt-func "gcry_md_close") - '(*))) - - -(define (open-sha256-port) - "Return two values: an output port, and a thunk. When the thunk is called, -it returns the SHA256 hash (a bytevector) of all the data written to the -output port." - (define sha256-md - (open-sha256-md)) - - (define digest #f) - (define position 0) - - (define (finalize!) - (let ((ptr (md-read sha256-md 0))) - (set! digest (bytevector-copy (pointer->bytevector ptr 32))) - (md-close sha256-md))) - - (define (write! bv offset len) - (if (zero? len) - (begin - (finalize!) - 0) - (let ((ptr (bytevector->pointer bv offset))) - (md-write sha256-md ptr len) - (set! position (+ position len)) - len))) - - (define (get-position) - position) - - (define (close) - (unless digest - (finalize!))) - - (values (make-custom-binary-output-port "sha256" - write! get-position #f - close) - (lambda () - (unless digest - (finalize!)) - digest))) - -(define (port-sha256 port) - "Return the SHA256 hash (a bytevector) of all the data drained from PORT." - (let-values (((out get) - (open-sha256-port))) - (dump-port port out) - (close-port out) - (get))) - -(define (file-sha256 file) - "Return the SHA256 hash (a bytevector) of FILE." - (call-with-input-file file port-sha256)) - -(define (open-sha256-input-port port) - "Return an input port that wraps PORT and a thunk to get the hash of all the -data read from PORT. The thunk always returns the same value." - (define md - (open-sha256-md)) - - (define (read! bv start count) - (let ((n (get-bytevector-n! port bv start count))) - (if (eof-object? n) - 0 - (begin - (unless digest - (let ((ptr (bytevector->pointer bv start))) - (md-write md ptr n))) - n)))) - - (define digest #f) - - (define (finalize!) - (let ((ptr (md-read md 0))) - (set! digest (bytevector-copy (pointer->bytevector ptr 32))) - (md-close md))) - - (define (get-hash) - (unless digest - (finalize!)) - digest) - - (define (unbuffered port) - ;; Guile <= 2.0.9 does not support 'setvbuf' on custom binary input ports. - (setvbuf port _IONBF) - port) - - (values (unbuffered (make-custom-binary-input-port "sha256" read! #f #f #f)) - get-hash)) - -;;; hash.scm ends here diff --git a/guix/http-client.scm b/guix/http-client.scm index 3b34d4ffba..07360e6108 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -34,7 +34,7 @@ (define-module (guix http-client) #:use-module (guix ui) #:use-module (guix utils) #:use-module (guix base64) - #:autoload (guix hash) (sha256) + #:autoload (gcrypt hash) (sha256) #:use-module ((guix build utils) #:select (mkdir-p dump-port)) #:use-module ((guix build download) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index d0ff64ed05..d4bea84353 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -27,7 +27,7 @@ (define-module (guix import cpan) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (json) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix base32) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index a5203fe78d..89c84f7037 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -29,7 +29,7 @@ (define-module (guix import cran) #:use-module (web uri) #:use-module (guix memoization) #:use-module (guix http-client) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix store) #:use-module (guix base32) #:use-module ((guix download) #:select (download-to-store)) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 3724a457a4..e0b400d054 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -20,7 +20,7 @@ (define-module (guix import crate) #:use-module (guix base32) #:use-module (guix build-system cargo) #:use-module ((guix download) #:prefix download:) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix http-client) #:use-module (guix import json) #:use-module (guix import utils) diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index c37afaf8e6..83354d3f04 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -32,7 +32,7 @@ (define-module (guix import elpa) #:use-module (guix http-client) #:use-module (guix store) #:use-module (guix ui) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix upstream) #:use-module (guix packages) diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm index bbb17047f0..29324d7554 100644 --- a/guix/import/gnu.scm +++ b/guix/import/gnu.scm @@ -21,7 +21,7 @@ (define-module (guix import gnu) #:use-module (guix import utils) #:use-module (guix utils) #:use-module (guix store) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix upstream) #:use-module (srfi srfi-1) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 54301de2e8..766a0b53f1 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -33,7 +33,7 @@ (define-module (guix import hackage) #:use-module ((guix import utils) #:select (factorize-uri recursive-import)) #:use-module (guix import cabal) #:use-module (guix store) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix memoization) #:use-module (guix upstream) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index d4c3714364..791b514485 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -26,7 +26,7 @@ (define-module (guix import texlive) #:use-module (srfi srfi-34) #:use-module (web uri) #:use-module (guix http-client) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix memoization) #:use-module (guix store) #:use-module (guix base32) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 0dc8fd5857..516c0cfaa2 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -23,7 +23,7 @@ (define-module (guix import utils) #:use-module (guix base32) #:use-module ((guix build download) #:prefix build:) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix http-client) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) diff --git a/guix/nar.scm b/guix/nar.scm index 3556de1379..0495b4a40c 100644 --- a/guix/nar.scm +++ b/guix/nar.scm @@ -25,9 +25,9 @@ (define-module (guix nar) #:use-module (guix store) #:use-module (guix store database) #:use-module (guix ui) ; for '_' - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix pki) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) diff --git a/guix/pk-crypto.scm b/guix/pk-crypto.scm deleted file mode 100644 index 55ba7b1bb8..0000000000 --- a/guix/pk-crypto.scm +++ /dev/null @@ -1,407 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017 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 pk-crypto) - #:use-module (guix base16) - #:use-module (guix gcrypt) - - #:use-module (system foreign) - #:use-module (rnrs bytevectors) - #:use-module (ice-9 match) - #:use-module (ice-9 rdelim) - #:export (canonical-sexp? - error-source - error-string - string->canonical-sexp - canonical-sexp->string - read-file-sexp - number->canonical-sexp - canonical-sexp-car - canonical-sexp-cdr - canonical-sexp-nth - canonical-sexp-nth-data - canonical-sexp-length - canonical-sexp-null? - canonical-sexp-list? - bytevector->hash-data - hash-data->bytevector - key-type - sign - verify - generate-key - find-sexp-token - canonical-sexp->sexp - sexp->canonical-sexp) - #:re-export (gcrypt-version)) - - -;;; Commentary: -;;; -;;; Public key cryptographic routines from GNU Libgcrypt. -;;;; -;;; Libgcrypt uses "canonical s-expressions" to represent key material, -;;; parameters, and data. We keep it as an opaque object to map them to -;;; Scheme s-expressions because (1) Libgcrypt sexps may be stored in secure -;;; memory, and (2) the read syntax is different. -;;; -;;; A 'canonical-sexp->sexp' procedure is provided nevertheless, for use in -;;; cases where it is safe to move data out of Libgcrypt---e.g., when -;;; processing ACL entries, public keys, etc. -;;; -;;; Canonical sexps were defined by Rivest et al. in the IETF draft at -;;; for the purposes of SPKI -;;; (see .) -;;; -;;; Code: - -;; Libgcrypt "s-expressions". -(define-wrapped-pointer-type - canonical-sexp? - naked-pointer->canonical-sexp - canonical-sexp->pointer - (lambda (obj port) - ;; Don't print OBJ's external representation: we don't want key material - ;; to leak in backtraces and such. - (format port "#" - (number->string (object-address obj) 16) - (number->string (pointer-address (canonical-sexp->pointer obj)) - 16)))) - -(define finalize-canonical-sexp! - (libgcrypt-func "gcry_sexp_release")) - -(define-inlinable (pointer->canonical-sexp ptr) - "Return a that wraps PTR." - (let* ((sexp (naked-pointer->canonical-sexp ptr)) - (ptr* (canonical-sexp->pointer sexp))) - ;; Did we already have a object for PTR? - (when (equal? ptr ptr*) - ;; No, so we can safely add a finalizer (in Guile 2.0.9 - ;; 'set-pointer-finalizer!' *adds* a finalizer rather than replacing the - ;; existing one.) - (set-pointer-finalizer! ptr finalize-canonical-sexp!)) - sexp)) - -(define error-source - (let* ((ptr (libgcrypt-func "gcry_strsource")) - (proc (pointer->procedure '* ptr (list int)))) - (lambda (err) - "Return the error source (a string) for ERR, an error code as thrown -along with 'gcry-error'." - (pointer->string (proc err))))) - -(define error-string - (let* ((ptr (libgcrypt-func "gcry_strerror")) - (proc (pointer->procedure '* ptr (list int)))) - (lambda (err) - "Return the error description (a string) for ERR, an error code as -thrown along with 'gcry-error'." - (pointer->string (proc err))))) - -(define string->canonical-sexp - (let* ((ptr (libgcrypt-func "gcry_sexp_new")) - (proc (pointer->procedure int ptr `(* * ,size_t ,int)))) - (lambda (str) - "Parse STR and return the corresponding gcrypt s-expression." - - ;; When STR comes from 'canonical-sexp->string', it may contain - ;; characters that are really meant to be interpreted as bytes as in a C - ;; 'char *'. Thus, convert STR to ISO-8859-1 so the byte values of the - ;; characters are preserved. - (let* ((sexp (bytevector->pointer (make-bytevector (sizeof '*)))) - (err (proc sexp (string->pointer str "ISO-8859-1") 0 1))) - (if (= 0 err) - (pointer->canonical-sexp (dereference-pointer sexp)) - (throw 'gcry-error 'string->canonical-sexp err)))))) - -(define-syntax GCRYSEXP_FMT_ADVANCED - (identifier-syntax 3)) - -(define canonical-sexp->string - (let* ((ptr (libgcrypt-func "gcry_sexp_sprint")) - (proc (pointer->procedure size_t ptr `(* ,int * ,size_t)))) - (lambda (sexp) - "Return a textual representation of SEXP." - (let loop ((len 1024)) - (let* ((buf (bytevector->pointer (make-bytevector len))) - (size (proc (canonical-sexp->pointer sexp) - GCRYSEXP_FMT_ADVANCED buf len))) - (if (zero? size) - (loop (* len 2)) - (pointer->string buf size "ISO-8859-1"))))))) - -(define (read-file-sexp file) - "Return the canonical sexp read from FILE." - (call-with-input-file file - (compose string->canonical-sexp - read-string))) - -(define canonical-sexp-car - (let* ((ptr (libgcrypt-func "gcry_sexp_car")) - (proc (pointer->procedure '* ptr '(*)))) - (lambda (lst) - "Return the first element of LST, an sexp, if that element is a list; -return #f if LST or its first element is not a list (this is different from -the usual Lisp 'car'.)" - (let ((result (proc (canonical-sexp->pointer lst)))) - (if (null-pointer? result) - #f - (pointer->canonical-sexp result)))))) - -(define canonical-sexp-cdr - (let* ((ptr (libgcrypt-func "gcry_sexp_cdr")) - (proc (pointer->procedure '* ptr '(*)))) - (lambda (lst) - "Return the tail of LST, an sexp, or #f if LST is not a list." - (let ((result (proc (canonical-sexp->pointer lst)))) - (if (null-pointer? result) - #f - (pointer->canonical-sexp result)))))) - -(define canonical-sexp-nth - (let* ((ptr (libgcrypt-func "gcry_sexp_nth")) - (proc (pointer->procedure '* ptr `(* ,int)))) - (lambda (lst index) - "Return the INDEXth nested element of LST, an s-expression. Return #f -if that element does not exist, or if it's an atom. (Note: this is obviously -different from Scheme's 'list-ref'.)" - (let ((result (proc (canonical-sexp->pointer lst) index))) - (if (null-pointer? result) - #f - (pointer->canonical-sexp result)))))) - -(define (dereference-size_t p) - "Return the size_t value pointed to by P." - (bytevector-uint-ref (pointer->bytevector p (sizeof size_t)) - 0 (native-endianness) - (sizeof size_t))) - -(define canonical-sexp-length - (let* ((ptr (libgcrypt-func "gcry_sexp_length")) - (proc (pointer->procedure int ptr '(*)))) - (lambda (sexp) - "Return the length of SEXP if it's a list (including the empty list); -return zero if SEXP is an atom." - (proc (canonical-sexp->pointer sexp))))) - -(define token-string? - (let ((token-cs (char-set-union char-set:digit - char-set:letter - (char-set #\- #\. #\/ #\_ - #\: #\* #\+ #\=)))) - (lambda (str) - "Return #t if STR is a token as per Section 4.3 of -." - (and (not (string-null? str)) - (string-every token-cs str) - (not (char-set-contains? char-set:digit (string-ref str 0))))))) - -(define canonical-sexp-nth-data - (let* ((ptr (libgcrypt-func "gcry_sexp_nth_data")) - (proc (pointer->procedure '* ptr `(* ,int *)))) - (lambda (lst index) - "Return as a symbol (for \"sexp tokens\") or a bytevector (for any other -\"octet string\") the INDEXth data element (atom) of LST, an s-expression. -Return #f if that element does not exist, or if it's a list." - (let* ((size* (bytevector->pointer (make-bytevector (sizeof '*)))) - (result (proc (canonical-sexp->pointer lst) index size*))) - (if (null-pointer? result) - #f - (let* ((len (dereference-size_t size*)) - (str (pointer->string result len "ISO-8859-1"))) - ;; The sexp spec speaks of "tokens" and "octet strings". - ;; Sometimes these octet strings are actual strings (text), - ;; sometimes they're bytevectors, and sometimes they're - ;; multi-precision integers (MPIs). Only the application knows. - ;; However, for convenience, we return a symbol when a token is - ;; encountered since tokens are frequent (at least in the 'car' - ;; of each sexp.) - (if (token-string? str) - (string->symbol str) ; an sexp "token" - (bytevector-copy ; application data, textual or binary - (pointer->bytevector result len))))))))) - -(define (number->canonical-sexp number) - "Return an s-expression representing NUMBER." - (string->canonical-sexp (string-append "#" (number->string number 16) "#"))) - -(define* (bytevector->hash-data bv - #:optional - (hash-algo "sha256") - #:key (key-type 'ecc)) - "Given BV, a bytevector containing a hash of type HASH-ALGO, return an -s-expression suitable for use as the 'data' argument for 'sign'. KEY-TYPE -must be a symbol: 'dsa, 'ecc, or 'rsa." - (string->canonical-sexp - (format #f "(data (flags ~a) (hash \"~a\" #~a#))" - (case key-type - ((ecc dsa) "rfc6979") - ((rsa) "pkcs1") - (else (error "unknown key type" key-type))) - hash-algo - (bytevector->base16-string bv)))) - -(define (key-type sexp) - "Return a symbol denoting the type of public or private key represented by -SEXP--e.g., 'rsa', 'ecc'--or #f if SEXP does not denote a valid key." - (case (canonical-sexp-nth-data sexp 0) - ((public-key private-key) - (canonical-sexp-nth-data (canonical-sexp-nth sexp 1) 0)) - (else #f))) - -(define* (hash-data->bytevector data) - "Return two values: the hash value (a bytevector), and the hash algorithm (a -string) extracted from DATA, an sexp as returned by 'bytevector->hash-data'. -Return #f if DATA does not conform." - (let ((hash (find-sexp-token data 'hash))) - (if hash - (let ((algo (canonical-sexp-nth-data hash 1)) - (value (canonical-sexp-nth-data hash 2))) - (values value (symbol->string algo))) - (values #f #f)))) - -(define sign - (let* ((ptr (libgcrypt-func "gcry_pk_sign")) - (proc (pointer->procedure int ptr '(* * *)))) - (lambda (data secret-key) - "Sign DATA, a canonical s-expression representing a suitable hash, with -SECRET-KEY (a canonical s-expression whose car is 'private-key'.) Note that -DATA must be a 'data' s-expression, as returned by -'bytevector->hash-data' (info \"(gcrypt) Cryptographic Functions\")." - (let* ((sig (bytevector->pointer (make-bytevector (sizeof '*)))) - (err (proc sig (canonical-sexp->pointer data) - (canonical-sexp->pointer secret-key)))) - (if (= 0 err) - (pointer->canonical-sexp (dereference-pointer sig)) - (throw 'gcry-error 'sign err)))))) - -(define verify - (let* ((ptr (libgcrypt-func "gcry_pk_verify")) - (proc (pointer->procedure int ptr '(* * *)))) - (lambda (signature data public-key) - "Verify that SIGNATURE is a signature of DATA with PUBLIC-KEY, all of -which are gcrypt s-expressions." - (zero? (proc (canonical-sexp->pointer signature) - (canonical-sexp->pointer data) - (canonical-sexp->pointer public-key)))))) - -(define generate-key - (let* ((ptr (libgcrypt-func "gcry_pk_genkey")) - (proc (pointer->procedure int ptr '(* *)))) - (lambda (params) - "Return as an s-expression a new key pair for PARAMS. PARAMS must be an -s-expression like: (genkey (rsa (nbits 4:2048)))." - (let* ((key (bytevector->pointer (make-bytevector (sizeof '*)))) - (err (proc key (canonical-sexp->pointer params)))) - (if (zero? err) - (pointer->canonical-sexp (dereference-pointer key)) - (throw 'gcry-error 'generate-key err)))))) - -(define find-sexp-token - (let* ((ptr (libgcrypt-func "gcry_sexp_find_token")) - (proc (pointer->procedure '* ptr `(* * ,size_t)))) - (lambda (sexp token) - "Find in SEXP the first element whose 'car' is TOKEN and return it; -return #f if not found." - (let* ((token (string->pointer (symbol->string token))) - (res (proc (canonical-sexp->pointer sexp) token 0))) - (if (null-pointer? res) - #f - (pointer->canonical-sexp res)))))) - -(define-inlinable (canonical-sexp-null? sexp) - "Return #t if SEXP is the empty-list sexp." - (null-pointer? (canonical-sexp->pointer sexp))) - -(define (canonical-sexp-list? sexp) - "Return #t if SEXP is a list." - (or (canonical-sexp-null? sexp) - (> (canonical-sexp-length sexp) 0))) - -(define (canonical-sexp-fold proc seed sexp) - "Fold PROC (as per SRFI-1) over SEXP, a canonical sexp." - (if (canonical-sexp-list? sexp) - (let ((len (canonical-sexp-length sexp))) - (let loop ((index 0) - (result seed)) - (if (= index len) - result - (loop (+ 1 index) - ;; XXX: Call 'nth-data' *before* 'nth' to work around - ;; , which - ;; affects 1.6.0 and earlier versions. - (proc (or (canonical-sexp-nth-data sexp index) - (canonical-sexp-nth sexp index)) - result))))) - (error "sexp is not a list" sexp))) - -(define (canonical-sexp->sexp sexp) - "Return a Scheme sexp corresponding to SEXP. This is particularly useful to -compare sexps (since Libgcrypt does not provide an 'equal?' procedure), or to -use pattern matching." - (if (canonical-sexp-list? sexp) - (reverse - (canonical-sexp-fold (lambda (item result) - (cons (if (canonical-sexp? item) - (canonical-sexp->sexp item) - item) - result)) - '() - sexp)) - - ;; As of Libgcrypt 1.6.0, there's no function to extract the buffer of a - ;; non-list sexp (!), so we first enlist SEXP, then get at its buffer. - (let ((sexp (string->canonical-sexp - (string-append "(" (canonical-sexp->string sexp) - ")")))) - (or (canonical-sexp-nth-data sexp 0) - (canonical-sexp-nth sexp 0))))) - -(define (sexp->canonical-sexp sexp) - "Return a canonical sexp equivalent to SEXP, a Scheme sexp as returned by -'canonical-sexp->sexp'." - ;; XXX: This is inefficient, but the Libgcrypt API doesn't allow us to do - ;; much better. - (string->canonical-sexp - (call-with-output-string - (lambda (port) - (define (write item) - (cond ((list? item) - (display "(" port) - (for-each write item) - (display ")" port)) - ((symbol? item) - (format port " ~a" item)) - ((bytevector? item) - (format port " #~a#" - (bytevector->base16-string item))) - (else - (error "unsupported sexp item type" item)))) - - (write sexp))))) - -(define (gcrypt-error-printer port key args default-printer) - "Print the gcrypt error specified by ARGS." - (match args - ((proc err) - (format port "In procedure ~a: ~a: ~a" - proc (error-source err) (error-string err))))) - -(set-exception-printer! 'gcry-error gcrypt-error-printer) - -;;; pk-crypto.scm ends here diff --git a/guix/pki.scm b/guix/pki.scm index 1551425c33..6326e065e9 100644 --- a/guix/pki.scm +++ b/guix/pki.scm @@ -18,7 +18,7 @@ (define-module (guix pki) #:use-module (guix config) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module ((guix utils) #:select (with-atomic-file-output)) #:use-module ((guix build utils) #:select (mkdir-p)) #:use-module (ice-9 match) diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index a359f405fe..fb2f61ce30 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -29,7 +29,7 @@ (define-module (guix scripts archive) #:use-module (guix monads) #:use-module (guix ui) #:use-module (guix pki) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (guix scripts) #:use-module (guix scripts build) #:use-module (gnu packages) diff --git a/guix/scripts/authenticate.scm b/guix/scripts/authenticate.scm index 8b19dc871b..f1fd8ee895 100644 --- a/guix/scripts/authenticate.scm +++ b/guix/scripts/authenticate.scm @@ -19,7 +19,7 @@ (define-module (guix scripts authenticate) #:use-module (guix config) #:use-module (guix base16) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (guix pki) #:use-module (guix ui) #:use-module (ice-9 binary-ports) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 1b99bc62cf..b9162d3449 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -20,7 +20,7 @@ (define-module (guix scripts download) #:use-module (guix ui) #:use-module (guix scripts) #:use-module (guix store) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base16) #:use-module (guix base32) #:use-module ((guix download) #:hide (url-fetch)) diff --git a/guix/scripts/hash.scm b/guix/scripts/hash.scm index cae5d6bcdf..2bd2ac4a06 100644 --- a/guix/scripts/hash.scm +++ b/guix/scripts/hash.scm @@ -20,7 +20,7 @@ (define-module (guix scripts hash) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix serialization) #:use-module (guix ui) #:use-module (guix scripts) @@ -44,7 +44,7 @@ (define %default-options `((format . ,bytevector->nix-base32-string))) (define (show-help) - (display (G_ "Usage: guix hash [OPTION] FILE + (display (G_ "Usage: gcrypt hash [OPTION] FILE Return the cryptographic hash of FILE. Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex' @@ -93,7 +93,7 @@ (define fmt-proc (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix hash"))))) + (show-version-and-exit "gcrypt hash"))))) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index fb0677de28..1916f3b9d7 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -41,7 +41,7 @@ (define-module (guix scripts pack) #:use-module (gnu packages guile) #:use-module (gnu packages base) #:autoload (gnu packages package-management) (guix) - #:autoload (gnu packages gnupg) (libgcrypt) + #:autoload (gnu packages gnupg) (guile-gcrypt) #:autoload (gnu packages guile) (guile2.0-json guile-json) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -95,10 +95,12 @@ (define not-config? (('gnu _ ...) #t) (_ #f))) -(define guile-sqlite3&co - ;; Guile-SQLite3 and its propagated inputs. - (cons guile-sqlite3 - (package-transitive-propagated-inputs guile-sqlite3))) +(define gcrypt-sqlite3&co + ;; Guile-Gcrypt, Guile-SQLite3, and their propagated inputs. + (append-map (lambda (package) + (cons package + (package-transitive-propagated-inputs package))) + (list guile-gcrypt guile-sqlite3))) (define* (self-contained-tarball name profile #:key target @@ -124,16 +126,14 @@ (define schema "guix/store/schema.sql")))) (define build - (with-imported-modules `(((guix config) - => ,(make-config.scm - #:libgcrypt libgcrypt)) + (with-imported-modules `(((guix config) => ,(make-config.scm)) ,@(source-module-closure `((guix build utils) (guix build union) (guix build store-copy) (gnu build install)) #:select? not-config?)) - (with-extensions guile-sqlite3&co + (with-extensions gcrypt-sqlite3&co #~(begin (use-modules (guix build utils) ((guix build union) #:select (relative-file-name)) @@ -251,22 +251,14 @@ (define* (squashfs-image name profile SYMLINKS must be a list of (SOURCE -> TARGET) tuples denoting symlinks to be added to the pack." - (define libgcrypt - ;; XXX: Not strictly needed, but pulled by (guix store database). - (module-ref (resolve-interface '(gnu packages gnupg)) - 'libgcrypt)) - - (define build - (with-imported-modules `(((guix config) - => ,(make-config.scm - #:libgcrypt libgcrypt)) + (with-imported-modules `(((guix config) => ,(make-config.scm)) ,@(source-module-closure '((guix build utils) (guix build store-copy) (gnu build install)) #:select? not-config?)) - (with-extensions guile-sqlite3&co + (with-extensions gcrypt-sqlite3&co #~(begin (use-modules (guix build utils) (gnu build install) @@ -349,32 +341,12 @@ (define* (docker-image name profile the image." (define defmod 'define-module) ;trick Geiser - (define config - ;; (guix config) module for consumption by (guix gcrypt). - (scheme-file "gcrypt-config.scm" - #~(begin - (#$defmod (guix config) - #:export (%libgcrypt)) - - ;; XXX: Work around . - (eval-when (expand load eval) - (define %libgcrypt - #+(file-append libgcrypt "/lib/libgcrypt")))))) - - (define json - ;; Pick the guile-json package that corresponds to the Guile used to build - ;; derivations. - (if (string-prefix? "2.0" (package-version (default-guile))) - guile2.0-json - guile-json)) - (define build - ;; Guile-JSON is required by (guix docker). - (with-extensions (list json) - (with-imported-modules `(,@(source-module-closure '((guix docker) - (guix build store-copy)) - #:select? not-config?) - ((guix config) => ,config)) + ;; Guile-JSON and Guile-Gcrypt are required by (guix docker). + (with-extensions (list guile-json guile-gcrypt) + (with-imported-modules (source-module-closure '((guix docker) + (guix build store-copy)) + #:select? not-config?) #~(begin (use-modules (guix docker) (srfi srfi-19) (guix build store-copy)) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index b5dfdab32f..c5326b33da 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -44,9 +44,9 @@ (define-module (guix scripts publish) #:use-module (guix base64) #:use-module (guix config) #:use-module (guix derivations) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix pki) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (guix workers) #:use-module (guix store) #:use-module ((guix serialization) #:select (write-file)) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index a8fe993e33..bcc23bd39c 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -23,7 +23,7 @@ (define-module (guix scripts refresh) #:use-module (guix ui) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix scripts) #:use-module (guix store) #:use-module (guix utils) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 7634bb37f6..cd300195d8 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -26,11 +26,11 @@ (define-module (guix scripts substitute) #:use-module (guix config) #:use-module (guix records) #:use-module ((guix serialization) #:select (restore-file)) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix base64) #:use-module (guix cache) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (guix pki) #:use-module ((guix build utils) #:select (mkdir-p dump-port)) #:use-module ((guix build download) diff --git a/guix/self.scm b/guix/self.scm index 81f9b0cfd5..126116e08a 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -83,8 +83,8 @@ (define specification->package ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) ("guile-git" (ref '(gnu packages guile) 'guile-git)) ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) + ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt)) ("gnutls" (ref '(gnu packages tls) 'gnutls)) - ("libgcrypt" (ref '(gnu packages gnupg) 'libgcrypt)) ("zlib" (ref '(gnu packages compression) 'zlib)) ("gzip" (ref '(gnu packages compression) 'gzip)) ("bzip2" (ref '(gnu packages compression) 'bzip2)) @@ -454,7 +454,6 @@ (define* (compiled-guix source #:key (version %guix-version) (name (string-append "guix-" version)) (guile-version (effective-version)) (guile-for-build (guile-for-build guile-version)) - (libgcrypt (specification->package "libgcrypt")) (zlib (specification->package "zlib")) (gzip (specification->package "gzip")) (bzip2 (specification->package "bzip2")) @@ -481,6 +480,10 @@ (define guile-sqlite3 "guile-sqlite3" "guile2.0-sqlite3")) + (define guile-gcrypt + (package-for-guile guile-version + "guile-gcrypt")) + (define gnutls (package-for-guile guile-version "gnutls" "guile2.0-gnutls")) @@ -489,7 +492,7 @@ (define dependencies (match (append-map (lambda (package) (cons (list "x" package) (package-transitive-propagated-inputs package))) - (list gnutls guile-git guile-json + (list guile-gcrypt gnutls guile-git guile-json guile-ssh guile-sqlite3)) (((labels packages _ ...) ...) packages))) @@ -513,10 +516,7 @@ (define *core-modules* ;; rebuilt when the version changes, which in turn means we ;; can have substitutes for it. #:extra-modules - `(((guix config) - => ,(make-config.scm #:libgcrypt - (specification->package - "libgcrypt")))) + `(((guix config) => ,(make-config.scm))) ;; (guix man-db) is needed at build-time by (guix profiles) ;; but we don't need to compile it; not compiling it allows @@ -526,6 +526,7 @@ (define *core-modules* ("guix/store/schema.sql" ,(local-file "../guix/store/schema.sql"))) + #:extensions (list guile-gcrypt) #:guile-for-build guile-for-build)) (define *extra-modules* @@ -600,8 +601,7 @@ (define *config* '() #:extra-modules `(((guix config) - => ,(make-config.scm #:libgcrypt libgcrypt - #:zlib zlib + => ,(make-config.scm #:zlib zlib #:gzip gzip #:bzip2 bzip2 #:xz xz @@ -684,7 +684,7 @@ (define (built-modules node-subset) (define %dependency-variables ;; (guix config) variables corresponding to dependencies. - '(%libgcrypt %libz %xz %gzip %bzip2)) + '(%libz %xz %gzip %bzip2)) (define %persona-variables ;; (guix config) variables that define Guix's persona. @@ -703,7 +703,7 @@ (define %config-variables (variables rest ...)))))) (variables %localstatedir %storedir %sysconfdir %system))) -(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 +(define* (make-config.scm #:key zlib gzip xz bzip2 (package-name "GNU Guix") (package-version "0") (bug-report-address "bug-guix@gnu.org") @@ -723,7 +723,6 @@ (define defmod 'define-module) %state-directory %store-database-directory %config-directory - %libgcrypt %libz %gzip %bzip2 @@ -766,9 +765,6 @@ (define %bzip2 (define %xz #+(and xz (file-append xz "/bin/xz"))) - (define %libgcrypt - #+(and libgcrypt - (file-append libgcrypt "/lib/libgcrypt"))) (define %libz #+(and zlib (file-append zlib "/lib/libz")))) diff --git a/guix/store.scm b/guix/store.scm index f41a1e2690..af7f6980cf 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -25,7 +25,7 @@ (define-module (guix store) #:use-module (guix monads) #:use-module (guix base16) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix profiling) #:autoload (guix build syscalls) (terminal-columns) #:use-module (rnrs bytevectors) diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index 8c19d7309e..53810c680f 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -21,7 +21,7 @@ ;;; timestamps, deduplicating, etc. (define-module (guix store deduplication) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix build utils) #:use-module (guix base16) #:use-module (srfi srfi-11) diff --git a/guix/tests.scm b/guix/tests.scm index 34e3e0fc2a..06e9f8da0b 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -22,7 +22,7 @@ (define-module (guix tests) #:use-module (guix packages) #:use-module (guix base32) #:use-module (guix serialization) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix build-system gnu) #:use-module (gnu packages bootstrap) #:use-module (srfi srfi-34) diff --git a/m4/guix.m4 b/m4/guix.m4 index a6897be961..da3c65f8f7 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -18,24 +18,6 @@ dnl dnl You should have received a copy of the GNU General Public License dnl along with GNU Guix. If not, see . -dnl GUIX_ASSERT_LIBGCRYPT_USABLE -dnl -dnl Assert that GNU libgcrypt is usable from Guile. -AC_DEFUN([GUIX_ASSERT_LIBGCRYPT_USABLE], - [AC_CACHE_CHECK([whether $LIBGCRYPT can be dynamically loaded], - [guix_cv_libgcrypt_usable_p], - [GUILE_CHECK([retval], - [(dynamic-func \"gcry_md_hash_buffer\" (dynamic-link \"$LIBGCRYPT\"))]) - if test "$retval" = 0; then - guix_cv_libgcrypt_usable_p="yes" - else - guix_cv_libgcrypt_usable_p="no" - fi]) - - if test "x$guix_cv_libgcrypt_usable_p" != "xyes"; then - AC_MSG_ERROR([GNU libgcrypt does not appear to be usable; see `--with-libgcrypt-prefix' and `README'.]) - fi]) - dnl GUIX_SYSTEM_TYPE dnl dnl Determine the Guix host system type, and store it in the diff --git a/tests/base32.scm b/tests/base32.scm index 194f8da96b..134e578633 100644 --- a/tests/base32.scm +++ b/tests/base32.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (test-base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix utils) #:use-module (srfi srfi-1) diff --git a/tests/builders.scm b/tests/builders.scm index bb9e0fa85b..8b8ef013e7 100644 --- a/tests/builders.scm +++ b/tests/builders.scm @@ -25,7 +25,7 @@ (define-module (test-builders) #:use-module (guix utils) #:use-module (guix base32) #:use-module (guix derivations) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module ((guix packages) #:select (package-derivation package-native-search-paths)) diff --git a/tests/challenge.scm b/tests/challenge.scm index 387d205a64..4b13ec278e 100644 --- a/tests/challenge.scm +++ b/tests/challenge.scm @@ -18,7 +18,7 @@ (define-module (test-challenge) #:use-module (guix tests) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix store) #:use-module (guix monads) #:use-module (guix derivations) diff --git a/tests/cpan.scm b/tests/cpan.scm index 396744e529..189dd027e6 100644 --- a/tests/cpan.scm +++ b/tests/cpan.scm @@ -20,7 +20,7 @@ (define-module (test-cpan) #:use-module (guix import cpan) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module (guix grafts) #:use-module (srfi srfi-64) diff --git a/tests/crate.scm b/tests/crate.scm index eb93822bbb..a1dcfd5e52 100644 --- a/tests/crate.scm +++ b/tests/crate.scm @@ -21,7 +21,7 @@ (define-module (test-crate) #:use-module (guix import crate) #:use-module (guix base32) #:use-module (guix build-system cargo) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module (ice-9 iconv) #:use-module (ice-9 match) diff --git a/tests/derivations.scm b/tests/derivations.scm index 5d83529183..159a6971b3 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -23,7 +23,7 @@ (define-module (test-derivations) #:use-module (guix grafts) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix tests) #:use-module (guix tests http) diff --git a/tests/gem.scm b/tests/gem.scm index 4220170ff0..a12edb294c 100644 --- a/tests/gem.scm +++ b/tests/gem.scm @@ -21,7 +21,7 @@ (define-module (test-gem) #:use-module (guix import gem) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module ((guix build utils) #:select (delete-file-recursively)) #:use-module (srfi srfi-41) diff --git a/tests/hash.scm b/tests/hash.scm deleted file mode 100644 index 47dff3915b..0000000000 --- a/tests/hash.scm +++ /dev/null @@ -1,128 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2017, 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 (test-hash) - #:use-module (guix hash) - #:use-module (guix base16) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-64) - #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports)) - -;; Test the (guix hash) module. - -(define %empty-sha256 - ;; SHA256 hash of the empty string. - (base16-string->bytevector - "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) - -(define %hello-sha256 - ;; SHA256 hash of "hello world" - (base16-string->bytevector - "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9")) - - -(test-begin "hash") - -(test-equal "sha1, empty" - (base16-string->bytevector "da39a3ee5e6b4b0d3255bfef95601890afd80709") - (sha1 #vu8())) - -(test-equal "sha1, hello" - (base16-string->bytevector "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed") - (sha1 (string->utf8 "hello world"))) - -(test-equal "sha256, empty" - %empty-sha256 - (sha256 #vu8())) - -(test-equal "sha256, hello" - %hello-sha256 - (sha256 (string->utf8 "hello world"))) - -(test-equal "open-sha256-port, empty" - %empty-sha256 - (let-values (((port get) - (open-sha256-port))) - (close-port port) - (get))) - -(test-equal "open-sha256-port, hello" - (list %hello-sha256 (string-length "hello world")) - (let-values (((port get) - (open-sha256-port))) - (put-bytevector port (string->utf8 "hello world")) - (force-output port) - (list (get) (port-position port)))) - -(test-assert "port-sha256" - (let* ((file (search-path %load-path "ice-9/psyntax.scm")) - (size (stat:size (stat file))) - (contents (call-with-input-file file get-bytevector-all))) - (equal? (sha256 contents) - (call-with-input-file file port-sha256)))) - -(test-equal "open-sha256-input-port, empty" - `("" ,%empty-sha256) - (let-values (((port get) - (open-sha256-input-port (open-string-input-port "")))) - (let ((str (get-string-all port))) - (list str (get))))) - -(test-equal "open-sha256-input-port, hello" - `("hello world" ,%hello-sha256) - (let-values (((port get) - (open-sha256-input-port - (open-bytevector-input-port - (string->utf8 "hello world"))))) - (let ((str (get-string-all port))) - (list str (get))))) - -(test-equal "open-sha256-input-port, hello, one two" - (list (string->utf8 "hel") (string->utf8 "lo") - (base16-string->bytevector ; echo -n hello | sha256sum - "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824") - " world") - (let-values (((port get) - (open-sha256-input-port - (open-bytevector-input-port (string->utf8 "hello world"))))) - (let* ((one (get-bytevector-n port 3)) - (two (get-bytevector-n port 2)) - (hash (get)) - (three (get-string-all port))) - (list one two hash three)))) - -(test-equal "open-sha256-input-port, hello, read from wrapped port" - (list (string->utf8 "hello") - (base16-string->bytevector ; echo -n hello | sha256sum - "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824") - " world") - (let*-values (((wrapped) - (open-bytevector-input-port (string->utf8 "hello world"))) - ((port get) - (open-sha256-input-port wrapped))) - (let* ((hello (get-bytevector-n port 5)) - (hash (get)) - - ;; Now read from WRAPPED to make sure its current position is - ;; correct. - (world (get-string-all wrapped))) - (list hello hash world)))) - -(test-end) diff --git a/tests/nar.scm b/tests/nar.scm index 9b5fb984b4..d610ea53f7 100644 --- a/tests/nar.scm +++ b/tests/nar.scm @@ -21,7 +21,7 @@ (define-module (test-nar) #:use-module (guix nar) #:use-module (guix serialization) #:use-module (guix store) - #:use-module ((guix hash) + #:use-module ((gcrypt hash) #:select (open-sha256-port open-sha256-input-port)) #:use-module ((guix packages) #:select (base32)) diff --git a/tests/opam.scm b/tests/opam.scm index 26832174a8..a1320abfdc 100644 --- a/tests/opam.scm +++ b/tests/opam.scm @@ -19,7 +19,7 @@ (define-module (test-opam) #:use-module (guix import opam) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module ((guix build utils) #:select (delete-file-recursively mkdir-p which)) #:use-module (srfi srfi-64) diff --git a/tests/packages.scm b/tests/packages.scm index 65ccb14889..237feb7aba 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -28,7 +28,7 @@ (define-module (test-packages) #:renamer (lambda (name) (cond ((eq? name 'location) 'make-location) (else name)))) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix derivations) #:use-module (guix packages) #:use-module (guix grafts) diff --git a/tests/pk-crypto.scm b/tests/pk-crypto.scm deleted file mode 100644 index fe33a6f7b5..0000000000 --- a/tests/pk-crypto.scm +++ /dev/null @@ -1,290 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2017 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 (test-pk-crypto) - #:use-module (guix pk-crypto) - #:use-module (guix utils) - #:use-module (guix base16) - #:use-module (guix hash) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) - #:use-module (srfi srfi-64) - #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) - #:use-module (ice-9 match)) - -;; Test the (guix pk-crypto) module. - -(define %key-pair - ;; RSA key pair that was generated with: - ;; (generate-key (string->canonical-sexp "(genkey (rsa (nbits 4:1024)))")) - ;; which takes a bit of time. - "(key-data - (public-key - (rsa - (n #00C1F764069F54FFE93A126B02328903E984E4AE3AF6DF402B5B6B3907911B88C385F1BA76A002EC9DEA109A5228EF0E62EE31A06D1A5861CAB474F6C857AC66EB65A1905F25BBA1869579E73A3B7FED13AF5A1667326F88CDFC2FF24B03C14FD1384AA7E73CA89572880B606E3A974E15347963FC7B6378574936A47580DBCB45#) - (e #010001#))) - (private-key - (rsa - (n #00C1F764069F54FFE93A126B02328903E984E4AE3AF6DF402B5B6B3907911B88C385F1BA76A002EC9DEA109A5228EF0E62EE31A06D1A5861CAB474F6C857AC66EB65A1905F25BBA1869579E73A3B7FED13AF5A1667326F88CDFC2FF24B03C14FD1384AA7E73CA89572880B606E3A974E15347963FC7B6378574936A47580DBCB45#) - (e #010001#) - (d #58CAD84653D0046A8EC3F9AA82D9C829B145422109FC3F12DA01A694B92FA296E70D366FB166454D30E632CEE3A033B4C41781BA10325F69FCDC0250CA19C8EEB352FA085992494098DB133E682ED38A931701F0DED1A1E508F4341A4FB446A04F019427C7CB3C44F251EEA9D386100DA80F125E0FD5CE1B0DFEC6D21516EACD#) - (p #00D47F185147EC39393CCDA4E7323FFC20FC8B8073E2A54DD63BA392A66975E4204CA48572496A9DFD7522436B852C07472A5AB25B7706F7C14E6F33FBC420FF3B#) - (q #00E9AD22F158060BC9AE3601DA623AFC60FFF3058795802CA92371C00097335CF9A23D7782DE353C9DBA93D7BB99E6A24A411107605E722481C5C191F80D7EB77F#) - (u #59B45B95AE01A7A7370FAFDB08FE73A4793CE37F228961B09B1B1E7DDAD9F8D3E28F5C5E8B4B067E6B8E0BBF3F690B42991A79E46108DDCDA2514323A66964DE#))))") - -(define %ecc-key-pair - ;; Ed25519 key pair generated with: - ;; (generate-key (string->canonical-sexp "(genkey (ecdsa (curve Ed25519) (flags rfc6979 transient)))")) - "(key-data - (public-key - (ecc - (curve Ed25519) - (q #94869C1B9E69DB8DD910B7F7F4D6E56A63A964A59AE8F90F6703ACDDF6F50C81#))) - (private-key - (ecc - (curve Ed25519) - (q #94869C1B9E69DB8DD910B7F7F4D6E56A63A964A59AE8F90F6703ACDDF6F50C81#) - (d #6EFB32D0B4EC6B3237B523539F1979379B82726AAA605EB2FBA6775B2B777B78#))))") - -(test-begin "pk-crypto") - -(test-assert "version" - (gcrypt-version)) - -(let ((sexps '("(foo bar)" - - ;; In Libgcrypt 1.5.3 the following integer is rendered as - ;; binary, whereas in 1.6.0 it's rendered as is (hexadecimal.) - ;;"#C0FFEE#" - - "(genkey \n (rsa \n (nbits \"1024\")\n )\n )"))) - (test-equal "string->canonical-sexp->string" - sexps - (let ((sexps (map string->canonical-sexp sexps))) - (and (every canonical-sexp? sexps) - (map (compose string-trim-both canonical-sexp->string) sexps))))) - -(gc) ; stress test! - -(let ((sexps `(("(foo bar)" foo -> "(foo bar)") - ("(foo (bar (baz 3:123)))" baz -> "(baz \"123\")") - ("(foo (bar 3:123))" baz -> #f)))) - (test-equal "find-sexp-token" - (map (match-lambda - ((_ _ '-> expected) - expected)) - sexps) - (map (match-lambda - ((input token '-> _) - (let ((sexp (find-sexp-token (string->canonical-sexp input) token))) - (and sexp - (string-trim-both (canonical-sexp->string sexp)))))) - sexps))) - -(gc) - -(test-equal "canonical-sexp-length" - '(0 1 2 4 0 0) - (map (compose canonical-sexp-length string->canonical-sexp) - '("()" "(a)" "(a b)" "(a #616263# b #C001#)" "a" "#123456#"))) - -(test-equal "canonical-sexp-list?" - '(#t #f #t #f) - (map (compose canonical-sexp-list? string->canonical-sexp) - '("()" "\"abc\"" "(a b c)" "#123456#"))) - -(gc) - -(test-equal "canonical-sexp-car + cdr" - '("(b \n (c xyz)\n )") - (let ((lst (string->canonical-sexp "(a (b (c xyz)))"))) - (map (lambda (sexp) - (and sexp (string-trim-both (canonical-sexp->string sexp)))) - ;; Note: 'car' returns #f when the first element is an atom. - (list (canonical-sexp-car (canonical-sexp-cdr lst)))))) - -(gc) - -(test-equal "canonical-sexp-nth" - '("(b pqr)" "(c \"456\")" "(d xyz)" #f #f) - - (let ((lst (string->canonical-sexp "(a (b 3:pqr) (c 3:456) (d 3:xyz))"))) - ;; XXX: In Libgcrypt 1.5.3, (canonical-sexp-nth lst 0) returns LST, whereas in - ;; 1.6.0 it returns #f. - (map (lambda (sexp) - (and sexp (string-trim-both (canonical-sexp->string sexp)))) - (unfold (cut > <> 5) - (cut canonical-sexp-nth lst <>) - 1+ - 1)))) - -(gc) - -(test-equal "canonical-sexp-nth-data" - `(Name Otto Meier #f ,(base16-string->bytevector "123456") #f) - (let ((lst (string->canonical-sexp - "(Name Otto Meier (address Burgplatz) #123456#)"))) - (unfold (cut > <> 5) - (cut canonical-sexp-nth-data lst <>) - 1+ - 0))) - -(let ((bv (base16-string->bytevector - "5eff0b55c9c5f5e87b4e34cd60a2d5654ca1eb78c7b3c67c3179fed1cff07b4c"))) - (test-equal "hash corrupt due to restrictive locale encoding" - bv - - ;; In Guix up to 0.6 included this test would fail because at some point - ;; the hash value would be cropped to ASCII. In practice 'guix - ;; authenticate' would produce invalid signatures that would fail - ;; signature verification. See . - (let ((locale (setlocale LC_ALL))) - (dynamic-wind - (lambda () - (setlocale LC_ALL "C")) - (lambda () - (hash-data->bytevector - (string->canonical-sexp - (canonical-sexp->string - (bytevector->hash-data bv "sha256"))))) - (lambda () - (setlocale LC_ALL locale)))))) - -(gc) - -;; XXX: The test below is typically too long as it needs to gather enough entropy. - -;; (test-assert "generate-key" -;; (let ((key (generate-key (string->canonical-sexp -;; "(genkey (rsa (nbits 3:128)))")))) -;; (and (canonical-sexp? key) -;; (find-sexp-token key 'key-data) -;; (find-sexp-token key 'public-key) -;; (find-sexp-token key 'private-key)))) - -(test-assert "bytevector->hash-data->bytevector" - (let* ((bv (sha256 (string->utf8 "Hello, world."))) - (data (bytevector->hash-data bv "sha256"))) - (and (canonical-sexp? data) - (let-values (((value algo) (hash-data->bytevector data))) - (and (string=? algo "sha256") - (bytevector=? value bv)))))) - -(test-equal "key-type" - '(rsa ecc) - (map (compose key-type - (cut find-sexp-token <> 'public-key) - string->canonical-sexp) - (list %key-pair %ecc-key-pair))) - -(test-assert "sign + verify" - (let* ((pair (string->canonical-sexp %key-pair)) - (secret (find-sexp-token pair 'private-key)) - (public (find-sexp-token pair 'public-key)) - (data (bytevector->hash-data - (sha256 (string->utf8 "Hello, world.")) - #:key-type (key-type public))) - (sig (sign data secret))) - (and (verify sig data public) - (not (verify sig - (bytevector->hash-data - (sha256 (string->utf8 "Hi!")) - #:key-type (key-type public)) - public))))) - -;; Ed25519 appeared in libgcrypt 1.6.0. -(test-skip (if (version>? (gcrypt-version) "1.6.0") 0 1)) -(test-assert "sign + verify, Ed25519" - (let* ((pair (string->canonical-sexp %ecc-key-pair)) - (secret (find-sexp-token pair 'private-key)) - (public (find-sexp-token pair 'public-key)) - (data (bytevector->hash-data - (sha256 (string->utf8 "Hello, world.")))) - (sig (sign data secret))) - (and (verify sig data public) - (not (verify sig - (bytevector->hash-data - (sha256 (string->utf8 "Hi!"))) - public))))) - -(gc) - -(test-equal "canonical-sexp->sexp" - `((data - (flags pkcs1) - (hash sha256 - ,(base16-string->bytevector - "2749f0ea9f26c6c7be746a9cff8fa4c2f2a02b000070dba78429e9a11f87c6eb"))) - - (public-key - (rsa - (n ,(base16-string->bytevector - (string-downcase - "00C1F764069F54FFE93A126B02328903E984E4AE3AF6DF402B5B6B3907911B88C385F1BA76A002EC9DEA109A5228EF0E62EE31A06D1A5861CAB474F6C857AC66EB65A1905F25BBA1869579E73A3B7FED13AF5A1667326F88CDFC2FF24B03C14FD1384AA7E73CA89572880B606E3A974E15347963FC7B6378574936A47580DBCB45"))) - (e ,(base16-string->bytevector - "010001"))))) - - (list (canonical-sexp->sexp - (string->canonical-sexp - "(data - (flags pkcs1) - (hash \"sha256\" - #2749f0ea9f26c6c7be746a9cff8fa4c2f2a02b000070dba78429e9a11f87c6eb#))")) - - (canonical-sexp->sexp - (find-sexp-token (string->canonical-sexp %key-pair) - 'public-key)))) - - -(let ((lst - `((data - (flags pkcs1) - (hash sha256 - ,(base16-string->bytevector - "2749f0ea9f26c6c7be746a9cff8fa4c2f2a02b000070dba78429e9a11f87c6eb"))) - - (public-key - (rsa - (n ,(base16-string->bytevector - (string-downcase - "00C1F764069F54FFE93A126B02328903E984E4AE3AF6DF402B5B6B3907911B88C385F1BA76A002EC9DEA109A5228EF0E62EE31A06D1A5861CAB474F6C857AC66EB65A1905F25BBA1869579E73A3B7FED13AF5A1667326F88CDFC2FF24B03C14FD1384AA7E73CA89572880B606E3A974E15347963FC7B6378574936A47580DBCB45"))) - (e ,(base16-string->bytevector - "010001")))) - - ,(base16-string->bytevector - "2749f0ea9f26c6c7be746a9cff8fa4c2f2a02b000070dba78429e9a11f87c6eb")))) - (test-equal "sexp->canonical-sexp->sexp" - lst - (map (compose canonical-sexp->sexp sexp->canonical-sexp) - lst))) - -(let ((sexp `(signature - (public-key - (rsa - (n ,(make-bytevector 1024 1)) - (e ,(base16-string->bytevector "010001"))))))) - (test-equal "https://bugs.g10code.com/gnupg/issue1594" - ;; The gcrypt bug above was primarily affecting our uses in - ;; 'canonical-sexp->sexp', typically when applied to a signature sexp (in - ;; 'guix authenticate -verify') with a "big" RSA key, such as 4096 bits. - sexp - (canonical-sexp->sexp (sexp->canonical-sexp sexp)))) - -(test-end) diff --git a/tests/pki.scm b/tests/pki.scm index 876ad98d73..d6a6b476c7 100644 --- a/tests/pki.scm +++ b/tests/pki.scm @@ -18,8 +18,8 @@ (define-module (test-pki) #:use-module (guix pki) - #:use-module (guix pk-crypto) - #:use-module (guix hash) + #:use-module (gcrypt pk-crypto) + #:use-module (gcrypt hash) #:use-module (rnrs io ports) #:use-module (srfi srfi-64)) diff --git a/tests/publish.scm b/tests/publish.scm index 1ed8308076..0e793c1ee5 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -25,7 +25,7 @@ (define-module (test-publish) #:use-module (guix tests) #:use-module (guix config) #:use-module (guix utils) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix gexp) @@ -33,7 +33,7 @@ (define-module (test-publish) #:use-module (guix base64) #:use-module ((guix records) #:select (recutils->alist)) #:use-module ((guix serialization) #:select (restore-file)) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module ((guix pki) #:select (%public-key-file %private-key-file)) #:use-module (guix zlib) #:use-module (web uri) diff --git a/tests/pypi.scm b/tests/pypi.scm index 310c6c8f29..616ec191f5 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -20,7 +20,7 @@ (define-module (test-pypi) #:use-module (guix import pypi) #:use-module (guix base32) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix tests) #:use-module (guix build-system python) #:use-module ((guix build utils) #:select (delete-file-recursively which)) diff --git a/tests/store-deduplication.scm b/tests/store-deduplication.scm index 4ca2ec0f61..e438aa84c6 100644 --- a/tests/store-deduplication.scm +++ b/tests/store-deduplication.scm @@ -19,7 +19,7 @@ (define-module (test-store-deduplication) #:use-module (guix tests) #:use-module (guix store deduplication) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (guix build utils) #:use-module (rnrs bytevectors) diff --git a/tests/store.scm b/tests/store.scm index 47fab0df18..71ac57580e 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -21,7 +21,7 @@ (define-module (test-store) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix monads) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix packages) #:use-module (guix derivations) diff --git a/tests/substitute.scm b/tests/substitute.scm index 0ad6247954..964a57f30b 100644 --- a/tests/substitute.scm +++ b/tests/substitute.scm @@ -20,9 +20,9 @@ (define-module (test-substitute) #:use-module (guix scripts substitute) #:use-module (guix base64) - #:use-module (guix hash) + #:use-module (gcrypt hash) #:use-module (guix serialization) - #:use-module (guix pk-crypto) + #:use-module (gcrypt pk-crypto) #:use-module (guix pki) #:use-module (guix config) #:use-module (guix base32) -- cgit v1.2.3 From 95681e55862991a5303449a4eb3961441b337033 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 4 Sep 2018 15:08:13 -0400 Subject: gnu: Zsh: Update to 5.6 [fixes CVE-2018-{0502,13259}]. * gnu/packages/shells.scm (zsh): Update to 5.6. [arguments]: Skip some tests. --- gnu/packages/shells.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 6dbe1c4db7..c3647221aa 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -292,7 +292,7 @@ (define-public tcsh (define-public zsh (package (name "zsh") - (version "5.5.1") + (version "5.6") (source (origin (method url-fetch) (uri (list (string-append @@ -303,7 +303,7 @@ (define-public zsh ".tar.xz"))) (sha256 (base32 - "105aqkdfsdxc4531anrj2zis2ywz6icagjam9lsc235yzh48ihz1")))) + "1mp6h2452z2029n12mxipjv4b0cc8i8sb72g8p8jklg8275iysvl")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre") #:phases @@ -336,6 +336,11 @@ (define-public zsh (("command -pv") "command -v") (("command -p") "command ") (("'command' -p") "'command' ")) + ;; Several of these tests fail spuriously in the Guix + ;; build environment due to assumptions about PATH and + ;; the location of the test files. It was easier to just + ;; skip them than try to make them work. + (delete-file "Test/A05execution.ztst") #t))))) (native-inputs `(("autoconf" ,autoconf))) (inputs `(("ncurses" ,ncurses) -- cgit v1.2.3 From fcf4841c0ee16631e8330d797cf3788dac0eca05 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 4 Sep 2018 18:33:06 -0400 Subject: gnu: Zsh: Patch some tests that began failing in 5.6. * gnu/packages/shells.scm (zsh)[arguments]: Patch the tests rather than deleting them. --- gnu/packages/shells.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index c3647221aa..900c8ec686 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -336,11 +336,19 @@ (define-public zsh (("command -pv") "command -v") (("command -p") "command ") (("'command' -p") "'command' ")) - ;; Several of these tests fail spuriously in the Guix - ;; build environment due to assumptions about PATH and - ;; the location of the test files. It was easier to just - ;; skip them than try to make them work. - (delete-file "Test/A05execution.ztst") + ;; This file is ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* "Test/A05execution.ztst" + ;; Help it find `sh` + (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp/ tstcmd-slashless") + (string-append "PATH=/bin:" + (assoc-ref %build-inputs "bash") "/bin:" + "${ZTST_testdir}/command.tmp/ tstcmd-slashless")) + ;; Help it find `echo` + (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp tstcmd-arg") + (string-append "PATH=/bin:" + (assoc-ref %build-inputs "coreutils") "/bin:" + "PATH=/bin:${ZTST_testdir}/command.tmp tstcmd-arg")))) #t))))) (native-inputs `(("autoconf" ,autoconf))) (inputs `(("ncurses" ,ncurses) -- cgit v1.2.3 From fefe17b0888b467383ea91fed73a9586295c49f0 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Wed, 5 Sep 2018 10:19:25 +0200 Subject: gnu: dolphin-emu: Update to commit 5f0d825. * gnu/packages/emulators.scm (dolphin-emu): Update to commit 5f0d825. --- gnu/packages/emulators.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 8e68c676ef..e02339af62 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -117,8 +117,8 @@ (define-public desmume ;; Building from recent Git because the official 5.0 release no longer builds. (define-public dolphin-emu - (let ((commit "806c1ee8f0ed824008185212bfab2658d400b576") - (revision "2")) + (let ((commit "5f0d825f40b8aabe13eaef32d44ab667ff8e8c28") + (revision "3")) (package (name "dolphin-emu") (version (git-version "5.0" revision commit)) @@ -144,7 +144,7 @@ (define-public dolphin-emu #t)) (sha256 (base32 - "1sdc7rh6z7gjx4kxg18jrv7srfpx1vgf936zg5y43radnlscrh1j")))) + "0dh7mih16aif9ynbgcsn7n10f89g8d232i86xqfp2rijsdggcmzl")))) (build-system cmake-build-system) (arguments '(#:tests? #f -- cgit v1.2.3 From ca1dc4c76a81d289360c0601fed16a7852833d9b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 11:44:15 +0200 Subject: gnu: nss-pam-ldapd: Update to 0.9.10. * gnu/packages/openldap.scm (nss-pam-ldapd): Update to 0.9.10. --- gnu/packages/openldap.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 12964e302a..4b615b5d32 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -108,14 +108,14 @@ (define-public openldap (define-public nss-pam-ldapd (package (name "nss-pam-ldapd") - (version "0.9.9") + (version "0.9.10") (source (origin (method url-fetch) (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/" "nss-pam-ldapd-" version ".tar.gz")) (sha256 (base32 - "1lj7qkjlg3bshwdc5x5r1ny37rly4wgm1c8b6w6b5f4wa11nmji0")))) + "1cqamcr6qpgwxijlr6kg7jspjamjra8w0haan0qssn0yxn95d7c0")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 0d7974c376c4b84dd26096ba0c53ed2535afcbc9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 11:07:26 +0200 Subject: gnu: libbigwig: Update to 0.4.2. * gnu/packages/bioinformatics.scm (libbigwig): Update to 0.4.2. [source]: Fetch from git. [arguments]: Disable tests; remove build phases "disable-curl-test" and "create-target-dirs". [native-inputs]: Add python-2. --- gnu/packages/bioinformatics.scm | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f60fc4c84c..7f865ae878 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1887,42 +1887,33 @@ (define-public cutadapt (define-public libbigwig (package (name "libbigwig") - (version "0.1.4") + (version "0.4.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dpryan79/libBigWig/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/dpryan79/libBigWig.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "098rjh35pi4a9q83n8wiwvyzykjqj6l8q189p1xgfw4ghywdlvw1")))) + "0h2smg24v5srdcqzrmz2g23cmlp4va465mgx8r2z571sfz8pv454")))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:tests? #f ; tests require access to the web #:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (delete 'configure) - (add-before 'check 'disable-curl-test - (lambda _ - (substitute* "Makefile" - (("./test/testRemote.*") "")) - #t)) - ;; This has been fixed with the upstream commit 4ff6959cd8a0, but - ;; there has not yet been a release containing this change. - (add-before 'install 'create-target-dirs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/lib")) - (mkdir-p (string-append out "/include")) - #t)))))) + (delete 'configure)))) (inputs `(("zlib" ,zlib) ("curl" ,curl))) (native-inputs - `(("doxygen" ,doxygen))) + `(("doxygen" ,doxygen) + ;; Need for tests + ("python" ,python-2))) (home-page "https://github.com/dpryan79/libBigWig") (synopsis "C library for handling bigWig files") (description -- cgit v1.2.3 From 8afdeb87518f09383d93cf0dc9b86bde237ba561 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 11:08:25 +0200 Subject: gnu: python-pybigwig: Update to 0.3.12. * gnu/packages/bioinformatics.scm (python-pybigwig): Update to 0.3.12. [propagated-inputs]: Add python-numpy. --- gnu/packages/bioinformatics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 7f865ae878..05d516165e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1924,13 +1924,13 @@ (define-public libbigwig (define-public python-pybigwig (package (name "python-pybigwig") - (version "0.2.5") + (version "0.3.12") (source (origin (method url-fetch) (uri (pypi-uri "pyBigWig" version)) (sha256 (base32 - "0yrpdxg3y0sny25x4w22lv1k47jzccqjmg7j4bp0hywklvp0hg7d")) + "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0")) (modules '((guix build utils))) (snippet '(begin @@ -1946,6 +1946,8 @@ (define-public python-pybigwig (substitute* "setup.py" (("libs=\\[") "libs=[\"BigWig\", ")) #t))))) + (propagated-inputs + `(("python-numpy" ,python-numpy))) (inputs `(("libbigwig" ,libbigwig) ("zlib" ,zlib) -- cgit v1.2.3 From 4fd2622df8615ce3e4d081124bee824315f00f85 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 11:09:01 +0200 Subject: gnu: python-tables: Update to 3.4.4. * gnu/packages/python.scm (python-tables): Update to 3.4.4. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8cf5550f81..8c7c9d3c33 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6297,14 +6297,14 @@ (define-public python2-prettytable (define-public python-tables (package (name "python-tables") - (version "3.2.2") + (version "3.4.4") (source (origin (method url-fetch) (uri (pypi-uri "tables" version)) (sha256 (base32 - "117s6w7s3yxafpmf3zz3svana7xfrsviw01va1xp7h8ylx8v6r1m")) + "0affz7k8babh8wdmsgrz5jxrd569by2w8ffimcxs9wiaf5rw1idx")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 030f1367f055720034cb178e50fd5d4c6ff371b1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 10:35:43 +0200 Subject: channels: Add 'latest-channel-derivation' convenience procedure. * guix/channels.scm (latest-channel-derivations): Remove. (latest-channel-instances*, latest-channel-derivation): New procedures. --- guix/channels.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/guix/channels.scm b/guix/channels.scm index ec3e05eaf5..794383fe22 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -48,7 +48,7 @@ (define-module (guix channels) latest-channel-instances channel-instance-derivations - latest-channel-derivations + latest-channel-derivation channel-instances->manifest)) ;;; Commentary: @@ -216,14 +216,6 @@ (define core-instance (list core)))) instances))) -(define latest-channel-derivations - (let ((latest-channel-instances (store-lift latest-channel-instances))) - (lambda (channels) - "Return, as a monadic value, the list of derivations for the latest -instances of CHANNELS." - (mlet %store-monad ((instances (latest-channel-instances channels))) - (channel-instance-derivations instances))))) - (define (whole-package-for-legacy name modules) "Return a full-blown Guix package for MODULES, a derivation that builds Guix modules in the old ~/.config/guix/latest style." @@ -290,3 +282,14 @@ (define instance->entry (entries (mapm %store-monad instance->entry (zip instances derivations)))) (return (manifest entries)))) + +(define latest-channel-instances* + (store-lift latest-channel-instances)) + +(define* (latest-channel-derivation #:optional (channels %default-channels)) + "Return as a monadic value the derivation that builds the profile for the +latest instances of CHANNELS." + (mlet* %store-monad ((instances ((store-lift latest-channel-instances) + channels)) + (manifest (channel-instances->manifest instances))) + (profile-derivation manifest))) -- cgit v1.2.3 From 185948b8a83f583135de050698cff983e46c8145 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 13:57:43 +0200 Subject: gnu: xorg: Fix typo. * gnu/packages/xorg.scm: Fix typo in Benjamin's email address. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c89661272b..30e46fac7c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2018 Oleg Pykhalov -;;; Copyright © 2018 Benjamin Slade +;;; Copyright © 2018 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3 From 3d43017026f9995ad128915db8ca5eafe061bf75 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 13:58:07 +0200 Subject: tests: Adjust 'add-file-tree-to-store' test for lack of /bin/sh. * tests/store.scm (%shell): New variable. ("add-file-tree-to-store"): Use it instead of "/bin/sh". This fixes builds in the chroot build environment. --- tests/store.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/store.scm b/tests/store.scm index 71ac57580e..2858369706 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -45,6 +45,9 @@ (define-module (test-store) (define %store (open-connection-for-tests)) +(define %shell + (or (getenv "SHELL") (getenv "CONFIG_SHELL"))) + (test-begin "store") @@ -220,7 +223,8 @@ (define %store ("./foo/c" directory #t) ("./foo/c/p" regular "file p") ("./foo/c/q" directory #t) - ("./foo/c/q/x" regular "#!/bin/sh\nexit 42") + ("./foo/c/q/x" regular + ,(string-append "#!" %shell "\nexit 42")) ("./foo/c/q/y" symlink "..") ("./foo/c/q/z" directory #t)) (let* ((tree `("file-tree" directory @@ -231,7 +235,7 @@ (define %store ("p" regular (data ,(string->utf8 "file p"))) ("q" directory ("x" executable - (data "#!/bin/sh\nexit 42")) + (data ,(string-append "#!" %shell "\nexit 42"))) ("y" symlink "..") ("z" directory)))) ("bar" directory))) -- cgit v1.2.3 From 53166aec987957efba917c83f093817d6cf6e943 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 14:31:48 +0200 Subject: gnu: guix: Update to 3d43017. * gnu/packages/package-management.scm (guix): Update to 3d43017. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index e40a94a844..b0941b50de 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -101,8 +101,8 @@ (define-public guix ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.15.0") - (commit "8bbb79cf95a07a40950448a8a09d888254404ed4") - (revision 2)) + (commit "3d43017026f9995ad128915db8ca5eafe061bf75") + (revision 3)) (package (name "guix") @@ -118,7 +118,7 @@ (define-public guix (commit commit))) (sha256 (base32 - "0h83l91v2cg9bb78c7vqx9wj71ckz22jbjmm2fy4vqs9216jnvc0")) + "167rzz2h33xmmchkplwzfq94s5jwdn5nabsq2lb84s54ps0sm89m")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 998100e6e8be64d4cc14e6509f744d3f5c37cf27 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Wed, 5 Sep 2018 02:10:48 +0800 Subject: gnu: eyed3: Update home page. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mp3.scm (eyed3)[home-page]: Update to redirected HTTPS URL. Signed-off-by: 宋文武 --- gnu/packages/mp3.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 579127d06e..fb919c6e6c 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -491,7 +491,7 @@ (define-public eyed3 command-line tool (eyeD3) and a Python library (import eyed3) that can be used to write your own applications or plugins that are callable from the command-line tool.") - (home-page "http://eyed3.nicfit.net/") + (home-page "https://eyed3.readthedocs.io/en/latest/") (license license:gpl2+))) (define-public chromaprint -- cgit v1.2.3 From 296f091b4879679cf970e1526d919c671c80a473 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Wed, 5 Sep 2018 02:16:53 +0800 Subject: gnu: packages: mp3: Use HTTPS where possible. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mp3.scm (libmad)[home-page]: Use HTTPS. (libid3tag)[home-page]: Likewise. (mp3info)[source, home-page]: Likewise. (mpg123)[source]: Likewise. (libmpcdec)[source, home-page]: Likewise. Signed-off-by: 宋文武 --- gnu/packages/mp3.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index fb919c6e6c..c9effbafa3 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -84,7 +84,7 @@ (define-public libmad This package contains the library.") (license license:gpl2+) - (home-page "http://www.underbit.com/products/mad/"))) + (home-page "https://www.underbit.com/products/mad/"))) (define-public libid3tag (package @@ -105,7 +105,7 @@ (define-public libid3tag "Libid3tag is a library for reading ID3 tags, both ID3v1 and the various versions of ID3v2.") (license license:gpl2+) - (home-page "http://www.underbit.com/products/mad/"))) + (home-page "https://www.underbit.com/products/mad/"))) (define-public id3lib (package @@ -184,7 +184,7 @@ (define-public mp3info (source (origin (method url-fetch) (uri (string-append - "http://ibiblio.org" + "https://ibiblio.org" "/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-" version ".tgz")) (sha256 @@ -231,7 +231,7 @@ (define-public mp3info (inputs `(("gtk+" ,gtk+-2) ("ncurses" ,ncurses))) - (home-page "http://www.ibiblio.org/mp3info/") + (home-page "https://www.ibiblio.org/mp3info/") (synopsis "MP3 technical info viewer and ID3 1.x tag editor") (description "MP3Info is a little utility used to read and modify the ID3 tags of MP3 @@ -309,7 +309,7 @@ (define-public mpg123 (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/" version "/mpg123-" version ".tar.bz2") (string-append - "http://www.mpg123.org/download/mpg123-" + "https://www.mpg123.org/download/mpg123-" version ".tar.bz2"))) (sha256 (base32 @@ -413,7 +413,7 @@ (define-public libmpcdec (source (origin (method url-fetch) (uri (string-append - "http://files.musepack.net/source/libmpcdec-" + "https://files.musepack.net/source/libmpcdec-" version ".tar.bz2")) (sha256 (base32 @@ -424,7 +424,7 @@ (define-public libmpcdec "This library supports decoding of the Musepack (MPC) audio compression format.") (license license:bsd-3) - (home-page "http://musepack.net"))) + (home-page "https://musepack.net"))) (define-public mpc123 (package -- cgit v1.2.3 From b26e4f26ff0bfede3dc17db48dce2936ecd0c129 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 31 Jul 2018 11:04:19 -0500 Subject: gnu: Add SUNDIALS. * gnu/packages/maths.scm (sundials, sundials-openmpi): New variables. --- gnu/packages/maths.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 42136f65ea..c6bcec844b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4042,3 +4042,80 @@ (define-public tcalc be fed to @command{tcalc} through the command line.") (home-page "https://sites.google.com/site/mohammedisam2000/tcalc") (license license:gpl3+))) + +(define-public sundials + (package + (name "sundials") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://computation.llnl.gov/projects/sundials/download/" + "sundials-" version ".tar.gz")) + (sha256 + (base32 + "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python-2))) ;for tests; syntax incompatible with python 3 + (inputs + `(("fortran" ,gfortran) ;for fcmix + ("blas" ,openblas) + ("suitesparse" ,suitesparse))) ;TODO: Add hypre + (arguments + `(#:configure-flags `("-DEXAMPLES_ENABLE_C:BOOL=ON" + "-DEXAMPLES_ENABLE_CXX:BOOL=ON" + "-DEXAMPLES_ENABLE_F77:BOOL=ON" + "-DEXAMPLES_ENABLE_F90:BOOL=ON" + "-DEXAMPLES_INSTALL:BOOL=OFF" + + "-DFCMIX_ENABLE:BOOL=ON" + + "-DKLU_ENABLE:BOOL=ON" + ,(string-append "-DKLU_INCLUDE_DIR=" + (assoc-ref %build-inputs "suitesparse") + "/include") + ,(string-append "-DKLU_LIBRARY_DIR=" + (assoc-ref %build-inputs "suitesparse") + "/lib")))) + (home-page "https://computation.llnl.gov/projects/sundials") + (synopsis "Suite of nonlinear and differential/algebraic equation solvers") + (description "SUNDIALS is a family of software packages implemented with +the goal of providing robust time integrators and nonlinear solvers that can +easily be incorporated into existing simulation codes.") + (license license:bsd-3))) + +(define-public sundials-openmpi + (package (inherit sundials) + (name "sundials-openmpi") + (inputs + `(("mpi" ,openmpi) + ("petsc" ,petsc-openmpi) ;support in SUNDIALS requires MPI + ,@(package-inputs sundials))) + (arguments + (substitute-keyword-arguments (package-arguments sundials) + ((#:configure-flags flags '()) + `(cons* "-DMPI_ENABLE:BOOL=ON" + "-DPETSC_ENABLE:BOOL=ON" + (string-append "-DPETSC_INCLUDE_DIR=" + (assoc-ref %build-inputs "petsc") + "/include") + (string-append "-DPETSC_LIBRARY_DIR=" + (assoc-ref %build-inputs "petsc") + "/lib") + ,flags)) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + ;; Allow oversubscription in case there are less + ;; physical cores available in the build environment + ;; than SUNDIALS wants while testing. + (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes") + #t)))))) + (synopsis "SUNDIALS with OpenMPI support"))) -- cgit v1.2.3 From a3a99e27bb727b0407da13955ef47566a1919629 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 31 Jul 2018 11:31:59 -0500 Subject: petsc: Move example code to "examples" output. * gnu/packages/maths.scm (petsc)[arguments]: New 'move-examples' phase. --- gnu/packages/maths.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c6bcec844b..ba39531bdb 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1589,6 +1589,8 @@ (define-public petsc "petsc-lite-" version ".tar.gz")) (sha256 (base32 "1lajbk3c29hnh83v6cbmm3a8wv6bdykh0p70kwrr4vrnizalk88s")))) + (outputs '("out" ;libraries and headers + "examples")) ;~24MiB of examples (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) @@ -1662,6 +1664,15 @@ (define-public petsc "PETScBuildInternal.cmake" ;; Once installed, should uninstall with Guix "uninstall.py")) + #t))) + (add-after 'install 'move-examples + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (examples (assoc-ref outputs "examples")) + (exdir (string-append out "/share/petsc/examples")) + (exdir' (string-append examples "/share/petsc/examples"))) + (copy-recursively exdir exdir') + (delete-file-recursively exdir) #t)))))) (home-page "http://www.mcs.anl.gov/petsc") (synopsis "Library to solve PDEs") -- cgit v1.2.3 From c15be1280e103c781f8c57bb621e92124e8e2cc5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 31 Jul 2018 11:32:57 -0500 Subject: petsc: Upgrade to 3.9.3. * gnu/packages/maths.scm (petsc): Upgrade to 3.9.3. [arguments]: Remove unnecessary configure flags. --- gnu/packages/maths.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ba39531bdb..ef20f239e5 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1580,7 +1580,7 @@ (define-public maxflow (define-public petsc (package (name "petsc") - (version "3.8.0") + (version "3.9.3") (source (origin (method url-fetch) @@ -1588,9 +1588,9 @@ (define-public petsc (uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/" "petsc-lite-" version ".tar.gz")) (sha256 - (base32 "1lajbk3c29hnh83v6cbmm3a8wv6bdykh0p70kwrr4vrnizalk88s")))) + (base32 "1fwkbwv4g7zf2lc8fw865xd0bl9anb6jaczfis5dff7h449gwa48")))) (outputs '("out" ;libraries and headers - "examples")) ;~24MiB of examples + "examples")) ;~30MiB of examples (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) @@ -1607,11 +1607,7 @@ (define-public petsc #:configure-flags `("--with-mpi=0" "--with-openmp=1" - "--with-superlu=1" - ,(string-append "--with-superlu-include=" - (assoc-ref %build-inputs "superlu") "/include") - ,(string-append "--with-superlu-lib=" - (assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a")) + "--with-superlu=1") #:make-flags ;; Honor (parallel-job-count) for build. Do not use --with-make-np, ;; whose value is dumped to $out/lib/petsc/conf/petscvariables. -- cgit v1.2.3 From 3f5e6ccf9be46381b21f63638f89853ee81bfb64 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 31 Jul 2018 12:14:54 -0500 Subject: slepc: Upgrade to 3.9.2. * gnu/packages/maths.scm (slepc): Upgrade to 3.9.2. --- 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 ef20f239e5..d2b9df01a7 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1760,7 +1760,7 @@ (define-public python2-kiwisolver (define-public slepc (package (name "slepc") - (version "3.8.2") + (version "3.9.2") (source (origin (method url-fetch) @@ -1768,7 +1768,7 @@ (define-public slepc version ".tar.gz")) (sha256 (base32 - "04zd48p43rnvg68p6cp28zll0px5whglc5v0sc3s6vdj1v920z8y")))) + "0gmhdqac8zm3jx43h935z7bflazjnpvqxjv4jh5za2y1z2rqax94")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) -- cgit v1.2.3 From 5e3082df1c8eb07f7c7cd02f118cd9975eb32bb8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 15:33:25 +0200 Subject: gnu: guile-fibers: Install .go files to "…/site-ccache". MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile.scm (guile-fibers)[arguments]: New field. --- gnu/packages/guile.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a585dd6dc8..f594cd13ed 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1817,6 +1817,20 @@ (define-public guile-fibers (base32 "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'install 'mode-guile-objects + (lambda* (#:key outputs #:allow-other-keys) + ;; .go files are installed to "lib/guile/X.Y/cache". + ;; This phase moves them to "…/site-ccache". + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/guile")) + (old (car (find-files lib "^ccache$" + #:directories? #t))) + (new (string-append (dirname old) + "/site-ccache"))) + (rename-file old new) + #t)))))) (native-inputs `(("texinfo" ,texinfo) ("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 7903f00a74871ac4ecd41878ac9846fdae91e276 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 14:46:28 +0200 Subject: gnu: cuirass: Add dependency on Guile-Gcrypt. This is a followup to 53166aec987957efba917c83f093817d6cf6e943, which added a hard dependency of Guix on Guile-Gcrypt. * gnu/packages/ci.scm (cuirass)[inputs]: Add GUILE-GCRYPT. [arguments]: In 'wrap-program' phase, use 'string-join' to compute 'mods'. Define 'objs' for use in GUILE_LOAD_COMPILED_PATH, and take objects from lib/guile/X.Y/site-ccache. --- gnu/packages/ci.scm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index e26983da3b..067a288004 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -32,6 +32,7 @@ (define-module (gnu packages ci) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages guile) + #:use-module (gnu packages gnupg) #:use-module (gnu packages mail) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) @@ -223,39 +224,42 @@ (define-public cuirass (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. (let* ((out (assoc-ref outputs "out")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) (json (assoc-ref inputs "guile-json")) (sqlite (assoc-ref inputs "guile-sqlite3")) (git (assoc-ref inputs "guile-git")) (bytes (assoc-ref inputs "guile-bytestructures")) (fibers (assoc-ref inputs "guile-fibers")) (guix (assoc-ref inputs "guix")) + (deps (list gcrypt json sqlite git bytes fibers guix)) (guile (assoc-ref %build-inputs "guile")) (effective (read-line (open-pipe* OPEN_READ (string-append guile "/bin/guile") "-c" "(display (effective-version))"))) - (mods (string-append json "/share/guile/site/" - effective ":" - git "/share/guile/site/" - effective ":" - bytes "/share/guile/site/" - effective ":" - sqlite "/share/guile/site/" - effective ":" - fibers "/share/guile/site/" - effective ":" - guix "/share/guile/site/" - effective))) + (mods (string-drop-right ;drop trailing colon + (string-join deps + (string-append "/share/guile/site/" + effective ":") + 'suffix) + 1)) + (objs (string-drop-right + (string-join deps + (string-append "/lib/guile/" effective + "/site-ccache:") + 'suffix) + 1))) ;; Make sure 'cuirass' can find the 'evaluate' command, as ;; well as the relevant Guile modules. (wrap-program (string-append out "/bin/cuirass") `("PATH" ":" prefix (,(string-append out "/bin"))) `("GUILE_LOAD_PATH" ":" prefix (,mods)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))) #t)))))) (inputs `(("guile" ,guile-2.2) ("guile-fibers" ,guile-fibers) + ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json) ("guile-sqlite3" ,guile-sqlite3) ("guile-git" ,guile-git) -- cgit v1.2.3 From 3b0153bd828f68804f7226ca655d26aaa1a0c065 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 15:48:04 +0200 Subject: gnu: guix-daemon: Add dependency on Guile-Gcrypt. This is a followup to 53166aec987957efba917c83f093817d6cf6e943, which made Guile-Gcrypt a hard dependency. * gnu/packages/package-management.scm (guix-daemon)[inputs]: Add GUILE-GCRYPT. --- gnu/packages/package-management.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b0941b50de..529d2943c4 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -317,6 +317,7 @@ (define-public guix-daemon (inputs `(("gnutls" ,gnutls) ("guile-git" ,guile-git) + ("guile-gcrypt" ,guile-gcrypt) ,@(fold alist-delete (package-inputs guix) '("boot-guile" "boot-guile/i686" "util-linux")))) -- cgit v1.2.3 From 356230da4a77eef1345e4b2079db7020df98cdc6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 12:26:56 +0200 Subject: gnu: Add r-fansi. * gnu/packages/cran.scm (r-fansi): New variable. --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 016d1b1e41..be64aa3a98 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4424,6 +4424,27 @@ (define-public r-factoextra steps and provides ggplot2-based elegant data visualization.") (license license:gpl2))) +(define-public r-fansi + (package + (name "r-fansi") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "fansi" version)) + (sha256 + (base32 + "135qj7bcc3mwn0vg55hiiadf66lx6zaxvkicfmfw9x0zr7ah2r6x")))) + (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) ; for vignettes + (home-page "https://github.com/brodieG/fansi") + (synopsis "ANSI control sequence aware string functions") + (description + "This package provides counterparts to R string manipulation functions +that account for the effects of ANSI text formatting control sequences.") + (license license:gpl2+))) + (define-public r-nbclust (package (name "r-nbclust") -- cgit v1.2.3 From 53718658d20388f47fcf3747264f454c944c451e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 12:56:40 +0200 Subject: gnu: Add r-polynom. * gnu/packages/cran.scm (r-polynom): 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 be64aa3a98..a142e9f1c7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4516,6 +4516,25 @@ (define-public r-itertools patterned after functions in the snow package.") (license license:gpl2))) +(define-public r-polynom + (package + (name "r-polynom") + (version "1.3-9") + (source + (origin + (method url-fetch) + (uri (cran-uri "polynom" version)) + (sha256 + (base32 + "1s4xxv5rvpigawknvq27v9vzvs83phfsj5h8mim2lmf5bj950nnk")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/polynom/") + (synopsis "Functions for univariate polynomial manipulations") + (description + "This package provides a collection of functions to implement a class for +univariate polynomial manipulations.") + (license license:gpl2))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From dd954dd7436b47494c8708cefd0856bf6719ac68 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:38:39 +0200 Subject: gnu: Add r-gbrd. * gnu/packages/cran.scm (r-gbrd): New variable. --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a142e9f1c7..64dba2c9de 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4535,6 +4535,27 @@ (define-public r-polynom univariate polynomial manipulations.") (license license:gpl2))) +(define-public r-gbrd + (package + (name "r-gbrd") + (version "0.4-11") + (source + (origin + (method url-fetch) + (uri (cran-uri "gbRd" version)) + (sha256 + (base32 + "06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82")))) + (properties `((upstream-name . "gbRd"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/gbRd/") + (synopsis "Utilities for processing Rd objects and files") + (description + "This package provides utilities for processing Rd objects and files. +Extract argument descriptions and other parts of the help pages of +functions.") + (license license:gpl2+))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From 6a8469755cd63a2fd9deb617962bff22f8542485 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:38:51 +0200 Subject: gnu: Add r-rdpack. * gnu/packages/cran.scm (r-rdpack): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 64dba2c9de..f09bdbd06f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4556,6 +4556,33 @@ (define-public r-gbrd functions.") (license license:gpl2+))) +(define-public r-rdpack + (package + (name "r-rdpack") + (version "0.9-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "Rdpack" version)) + (sha256 + (base32 + "067w0w6kza0hkzcnx58danl83yfvl9yjacr47mnid2bg856gdd1b")))) + (properties `((upstream-name . "Rdpack"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bibtex" ,r-bibtex) + ("r-gbrd" ,r-gbrd))) + (home-page "https://github.com/GeoBosh/Rdpack") + (synopsis "Update and manipulate Rd documentation objects") + (description + "This package provides functions for manipulation of R documentation +objects, including functions @code{reprompt()} and @code{ereprompt()} for +updating Rd documentation for functions, methods and classes; it also includes +Rd macros for citations and import of references from bibtex files for use in +Rd files and roxygen2 comments, as well as many functions for manipulation of +references and Rd files.") + (license license:gpl2+))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From 88e4ed55d68ffeaf67e5dad128f0e762e5814d26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:41:11 +0200 Subject: gnu: Add r-clipr. * gnu/packages/cran.scm (r-clipr): 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 f09bdbd06f..2082378aae 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -43,6 +43,25 @@ (define-module (gnu packages cran) #:use-module (gnu packages tls) #:use-module (gnu packages web)) +(define-public r-clipr + (package + (name "r-clipr") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "clipr" version)) + (sha256 + (base32 + "061x84ildc7g1p91yw5iyj8lpqdf4hqv36as85lw8c6qv9ywbsqv")))) + (build-system r-build-system) + (home-page "https://github.com/mdlincoln/clipr") + (synopsis "Read and write from the system clipboard") + (description + "This package provides simple utility functions to read from and write to +the system clipboards.") + (license license:gpl3))) + (define-public r-tidyverse (package (name "r-tidyverse") -- cgit v1.2.3 From 65050163e01d40d197f57748dc82072026676445 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:42:00 +0200 Subject: gnu: r-chippeakanno: Update to 3.14.1. * gnu/packages/bioconductor.scm (r-chippeakanno): Update to 3.14.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 7e993189d6..1ff86779e8 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -363,14 +363,14 @@ (define-public r-multtest (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.14.0") + (version "3.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "1kcnc3cnmrhdk1x7q3y6zsz09pgd3xn9xy1hfbxz48cajlb18ad0")))) + "1cn1hfc3nvsf2n3563lkmvwjxfbiygx7f84zk683p89gy7zi1gyj")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From ce0e762bf926bcd6f126466c3556a820833621ba Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:44:42 +0200 Subject: gnu: r-annotationforge: Update to 1.22.2. * gnu/packages/bioinformatics.scm (r-annotationforge): Update to 1.22.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 05d516165e..6028311b3c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6371,14 +6371,14 @@ (define-public r-dexseq (define-public r-annotationforge (package (name "r-annotationforge") - (version "1.22.0") + (version "1.22.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationForge" version)) (sha256 (base32 - "12ffj7h95adiya5mzyjxazqn1qgr434ajpabfcyhrj5v83s4vk65")))) + "17kmy7nvpyyj6w5jyrjciw87rydmmmc8q6cnwqjv1j7li9bp09gr")))) (properties `((upstream-name . "AnnotationForge"))) (build-system r-build-system) -- cgit v1.2.3 From 3c0437561401986d90de358a8d5fae50d6593261 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:46:03 +0200 Subject: gnu: r-biocviews: Update to 1.48.3. * gnu/packages/bioinformatics.scm (r-biocviews): Update to 1.48.3. --- 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 6028311b3c..e900bd6194 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6957,13 +6957,13 @@ (define-public r-biocinstaller (define-public r-biocviews (package (name "r-biocviews") - (version "1.48.2") + (version "1.48.3") (source (origin (method url-fetch) (uri (bioconductor-uri "biocViews" version)) (sha256 (base32 - "01yiafayl1m5704xdd2cn3zjc78rs10dqyz66lr3qkf6d8w66938")))) + "1rxvwikqivsgxjjcazlszy8xgz346lfh5rw4llxw6fz38fjgb0k5")))) (properties `((upstream-name . "biocViews"))) (build-system r-build-system) -- cgit v1.2.3 From 5728d9c6c081b7a0eeb6d29ec221d4638f6dd083 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:46:20 +0200 Subject: gnu: r-iranges: Update to 2.14.11. * gnu/packages/bioinformatics.scm (r-iranges): Update to 2.14.11. --- 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 e900bd6194..5aec3cc6ae 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7176,13 +7176,13 @@ (define-public r-seqinr (define-public r-iranges (package (name "r-iranges") - (version "2.14.10") + (version "2.14.11") (source (origin (method url-fetch) (uri (bioconductor-uri "IRanges" version)) (sha256 (base32 - "10ccw930vfmkskkrzbps14xglqlkxf588623dr7f1a9ckx7yr2p6")))) + "0wz63hysspyjihqadg91dbvllc5a61zzjrsz0b9498lihqc6m1la")))) (properties `((upstream-name . "IRanges"))) (build-system r-build-system) -- cgit v1.2.3 From 1adf4596a6d268c3d2a249d235569631f8df306f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:48:36 +0200 Subject: gnu: r-edger: Update to 3.22.3. * gnu/packages/bioinformatics.scm (r-edger): Update to 3.22.3. --- 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 5aec3cc6ae..b6b6e7267c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7256,13 +7256,13 @@ (define-public r-genomeinfodb (define-public r-edger (package (name "r-edger") - (version "3.22.2") + (version "3.22.3") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "07py2g6vg9jbflwhc1hnzr2silbinrjwxq3mkq30nzjgf0n0hrf3")))) + "0w3jv29n0kkaiig8dbbdqy2dkng8xfaihch82mj9ci5hphrx3nng")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 33a103a54393f4e8994b2cb46f6be7d8942cc42e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:51:48 +0200 Subject: gnu: r-variantannotation: Update to 1.26.1. * gnu/packages/bioinformatics.scm (r-variantannotation): Update to 1.26.1. --- 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 b6b6e7267c..6efb6f1c1b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7284,13 +7284,13 @@ (define-public r-edger (define-public r-variantannotation (package (name "r-variantannotation") - (version "1.26.0") + (version "1.26.1") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantAnnotation" version)) (sha256 (base32 - "06bccdf57vja7m63chmgc4539lwng3q3b8zxn285fj8524l6mcn7")))) + "1r55ki951dj81qvy73knfcy69ik5vzkd56wnk3f6vvf9vngqb8jr")))) (properties `((upstream-name . "VariantAnnotation"))) (inputs -- cgit v1.2.3 From 688cb0852706d1e2d0cc03c707a04098ab59b98b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:52:03 +0200 Subject: gnu: r-limma: Update to 3.36.3. * gnu/packages/bioinformatics.scm (r-limma): Update to 3.36.3. --- 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 6efb6f1c1b..29558768c0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7322,13 +7322,13 @@ (define-public r-variantannotation (define-public r-limma (package (name "r-limma") - (version "3.36.1") + (version "3.36.3") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "1982g5v35ilfgxm2vkq1p3j1bbir795pjvfzx4nzam2rlqqymbqm")))) + "0iiifszr6hcqih6kszdsbkx3gacfg3d7v8hdx0lbjqnjqgqz7pwk")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") -- cgit v1.2.3 From 1d56c79f86cd0c776e76a1bece26622f56c28f12 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:52:53 +0200 Subject: gnu: r-genomicranges: Update to 1.32.6. * gnu/packages/bioinformatics.scm (r-genomicranges): Update to 1.32.6. --- 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 29558768c0..2b467145d0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7377,13 +7377,13 @@ (define-public r-xvector (define-public r-genomicranges (package (name "r-genomicranges") - (version "1.32.3") + (version "1.32.6") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicRanges" version)) (sha256 (base32 - "03gmka6rlz18vd4229796l5l3l6446v5cb90sn2nb5knjbp84hni")))) + "0p58yk2i5gqvjlkx548mnrr49wvs0xfcl06l9rqj2hi6hkkbvnp3")))) (properties `((upstream-name . "GenomicRanges"))) (build-system r-build-system) -- cgit v1.2.3 From a02340058c15a22cf8c942c96d0053b8e0881452 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:58:33 +0200 Subject: gnu: r-biocparallel: Update to 1.14.2. * gnu/packages/bioinformatics.scm (r-biocparallel): Update to 1.14.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 2b467145d0..9d55198f4f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7488,13 +7488,13 @@ (define-public r-biomart (define-public r-biocparallel (package (name "r-biocparallel") - (version "1.14.1") + (version "1.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocParallel" version)) (sha256 (base32 - "00qg1kg2l9qqpyjaw5q910cmf84vwfiw1fhsx3ig784gwinwgj6n")))) + "1llb5a62hn4yxpdgqdh2l7i5zd06mjkk8hagsna69cq65wv6iifm")))) (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) -- cgit v1.2.3 From 3e61c2a8b1dfbc03f9506aaf10df57651728a7d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:58:44 +0200 Subject: gnu: r-rsamtools: Update to 1.32.3. * gnu/packages/bioinformatics.scm (r-rsamtools): Update to 1.32.3. --- 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 9d55198f4f..c682399ace 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7539,13 +7539,13 @@ (define-public r-biostrings (define-public r-rsamtools (package (name "r-rsamtools") - (version "1.32.0") + (version "1.32.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsamtools" version)) (sha256 (base32 - "1s65y5wn4d0x8zsljg2kmhcl6r9884h95kr041j7hp49bmxg3an6")))) + "1hpjr22h33pf4fgv0sj83rqzv6l5l7s6fpmmqvchh45ikks1mnhq")))) (properties `((upstream-name . "Rsamtools"))) (build-system r-build-system) -- cgit v1.2.3 From aea1b6fb8a9b48b35139e146faffaf27463091b8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:59:06 +0200 Subject: gnu: r-delayedarray: Update to 0.6.5. * gnu/packages/bioinformatics.scm (r-delayedarray): Update to 0.6.5. --- 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 c682399ace..d9d70ea97b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7583,13 +7583,13 @@ (define-public r-rsamtools (define-public r-delayedarray (package (name "r-delayedarray") - (version "0.6.1") + (version "0.6.5") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedArray" version)) (sha256 (base32 - "0sjwszxdi0vkj2i2di5i46gh9chc660yr3gs5nk9qnqp77713zds")))) + "10b03zrnvz5isfh4z55hasya2m71lrfx10l5lm2sdmqs0gwkanrd")))) (properties `((upstream-name . "DelayedArray"))) (build-system r-build-system) -- cgit v1.2.3 From f2e79823c697843afd880e79e7f810ad69411722 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:59:25 +0200 Subject: gnu: r-rtracklayer: Update to 1.40.6. * gnu/packages/bioinformatics.scm (r-rtracklayer): Update to 1.40.6. --- 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 d9d70ea97b..3610f823dc 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7678,13 +7678,13 @@ (define-public r-genomicalignments (define-public r-rtracklayer (package (name "r-rtracklayer") - (version "1.40.3") + (version "1.40.6") (source (origin (method url-fetch) (uri (bioconductor-uri "rtracklayer" version)) (sha256 (base32 - "0kvsjdaypn1jnxbnsxpycildwdyxwnjkigfq8qm8mlyfc4ahdgy3")))) + "1wxxxlyps19dw3i0pw4mlm3kinnswsc35rgvlnbwvpnpjbca6w4l")))) (build-system r-build-system) (arguments `(#:phases -- cgit v1.2.3 From ad2ed8d01fa3a5486072f0f484beb74129928796 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 13:59:44 +0200 Subject: gnu: r-genomicfeatures: Update to 1.32.2. * gnu/packages/bioinformatics.scm (r-genomicfeatures): Update to 1.32.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 3610f823dc..0631d59651 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7725,13 +7725,13 @@ (define-public r-rtracklayer (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.32.0") + (version "1.32.2") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "1cqcl72q0k5wylw1brn4g4h7xzys1v06piry19cvp0gjcvm5sp7a")))) + "0kfyyg1ib8fkq2hxraal10z4bx3rg8figdskw4yhn1mbh6l42q5f")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) -- cgit v1.2.3 From 48b21f8b6b7fcd6d0857fc1ac75dddb52bbabdf4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:00:00 +0200 Subject: gnu: r-seqminer: Update to 6.1. * gnu/packages/bioinformatics.scm (r-seqminer): Update to 6.1. --- 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 0631d59651..878f5723da 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9321,14 +9321,14 @@ (define-public r-sva (define-public r-seqminer (package (name "r-seqminer") - (version "6.0") + (version "6.1") (source (origin (method url-fetch) (uri (cran-uri "seqminer" version)) (sha256 (base32 - "057j1l6dip35l1aivilapl2zv9db677b3di2pb3sfgq2sxg0ps3l")))) + "15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) -- cgit v1.2.3 From 4ee8c37cca305dd7c581a7bf0fcf82fa351104a8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:00:56 +0200 Subject: gnu: r-maldiquant: Update to 1.18. * gnu/packages/bioinformatics.scm (r-maldiquant): Update to 1.18. --- 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 878f5723da..5b8a1a23b0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9375,14 +9375,14 @@ (define-public r-raremetals2 (define-public r-maldiquant (package (name "r-maldiquant") - (version "1.17") + (version "1.18") (source (origin (method url-fetch) (uri (cran-uri "MALDIquant" version)) (sha256 (base32 - "047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z")))) + "18nl214xjsxkcpbg79jkmw0yznwm5szyh2qb84n7ip46mm779ha6")))) (properties `((upstream-name . "MALDIquant"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/MALDIquant") -- cgit v1.2.3 From 07bd90ce90784eb6803c581a18d8b335ce49e1bd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:01:19 +0200 Subject: gnu: r-msnbase: Update to 2.6.3. * gnu/packages/bioinformatics.scm (r-msnbase): Update to 2.6.3. --- 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 5b8a1a23b0..01603d2937 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9619,14 +9619,14 @@ (define-public r-pcamethods (define-public r-msnbase (package (name "r-msnbase") - (version "2.6.1") + (version "2.6.3") (source (origin (method url-fetch) (uri (bioconductor-uri "MSnbase" version)) (sha256 (base32 - "0zrpx9r93q5ca2zdak5rs2m9sjm0wjdra1xfj3d3sx6p5gzfyg6n")))) + "15jhqg02ypmznc0wxksw56yij02csy678vqy531fdv86fsmypwa0")))) (properties `((upstream-name . "MSnbase"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 6f6aef80e3def1ffa7c8e4b0f75b22bd2ececc74 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:20:56 +0200 Subject: gnu: r-seurat: Update to 2.3.4. * gnu/packages/bioinformatics.scm (r-seurat): Update to 2.3.4. [source]: Remove snippet. [arguments]: Remove. [native-inputs]: Remove. [propagated-inputs]: Remove r-caret, r-diffusionmap, r-fnn, r-gdata, r-ranger, r-stringr, r-tclust, and rvgam; add r-httr. --- gnu/packages/bioinformatics.scm | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 01603d2937..c29122b0cf 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9701,58 +9701,31 @@ (define-public r-msnid (define-public r-seurat (package (name "r-seurat") - (version "2.3.2") + (version "2.3.4") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "1sjpy5rrpvlpm6hs7qy7qpglgbp7zrgfybcsalpmjb51rhxhgcg1")) - ;; Delete pre-built jar. - (snippet - '(begin (delete-file "inst/java/ModularityOptimizer.jar") - #t)))) + "0l8bv4i9nzz26mirnva10mq6pimibj24vk7vpvfypgn7xk4942hd")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'build-jar - (lambda* (#:key inputs #:allow-other-keys) - (let ((classesdir "tmp-classes")) - (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) - (mkdir classesdir) - (with-output-to-file "manifest" - (lambda _ - (display "Manifest-Version: 1.0 -Main-Class: ModularityOptimizer\n"))) - (and (zero? (apply system* `("javac" "-d" ,classesdir - ,@(find-files "java" "\\.java$")))) - (zero? (system* "jar" - "-cmf" "manifest" - "inst/java/ModularityOptimizer.jar" - "-C" classesdir "."))))))))) - (native-inputs - `(("jdk" ,icedtea "jdk"))) (propagated-inputs `(("r-ape" ,r-ape) - ("r-caret" ,r-caret) ("r-cluster" ,r-cluster) ("r-cowplot" ,r-cowplot) - ("r-diffusionmap" ,r-diffusionmap) ("r-dosnow" ,r-dosnow) ("r-dplyr" ,r-dplyr) ("r-dtw" ,r-dtw) ("r-fitdistrplus" ,r-fitdistrplus) - ("r-fnn" ,r-fnn) ("r-foreach" ,r-foreach) ("r-fpc" ,r-fpc) - ("r-gdata" ,r-gdata) ("r-ggplot2" ,r-ggplot2) ("r-ggridges" ,r-ggridges) ("r-gplots" ,r-gplots) ("r-hdf5r" ,r-hdf5r) ("r-hmisc" ,r-hmisc) + ("r-httr" ,r-httr) ("r-ica" ,r-ica) ("r-igraph" ,r-igraph) ("r-irlba" ,r-irlba) @@ -9765,7 +9738,6 @@ (define-public r-seurat ("r-pbapply" ,r-pbapply) ("r-plotly" ,r-plotly) ("r-png" ,r-png) - ("r-ranger" ,r-ranger) ("r-rann" ,r-rann) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcpp" ,r-rcpp) @@ -9776,11 +9748,8 @@ (define-public r-seurat ("r-rocr" ,r-rocr) ("r-rtsne" ,r-rtsne) ("r-sdmtools" ,r-sdmtools) - ("r-stringr" ,r-stringr) - ("r-tclust" ,r-tclust) ("r-tidyr" ,r-tidyr) - ("r-tsne" ,r-tsne) - ("r-vgam" ,r-vgam))) + ("r-tsne" ,r-tsne))) (home-page "http://www.satijalab.org/seurat") (synopsis "Seurat is an R toolkit for single cell genomics") (description -- cgit v1.2.3 From c273bcdfce1f1cac53990e6c26455fb6a749763f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:22:33 +0200 Subject: gnu: r-diffusionmap: Update to 1.1-0.1. * gnu/packages/graph.scm (r-diffusionmap): Update to 1.1-0.1. --- gnu/packages/graph.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index b393919e66..998e4ead46 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -130,14 +130,14 @@ (define-public r-igraph (define-public r-diffusionmap (package (name "r-diffusionmap") - (version "1.1-0") + (version "1.1-0.1") (source (origin (method url-fetch) (uri (cran-uri "diffusionMap" version)) (sha256 (base32 - "1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3")))) + "11l4kbciawvli5nlsi4qaf8afmgk5xgqiqpdyhvaqri5mx0zhk5j")))) (properties `((upstream-name . "diffusionMap"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From eb251fe524127e5490b26e86a4c826bb6c79003c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:22:44 +0200 Subject: gnu: r-igraph: Update to 1.2.2. * gnu/packages/graph.scm (r-igraph): Update to 1.2.2. --- gnu/packages/graph.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 998e4ead46..3b222d6ee8 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -98,14 +98,14 @@ (define-public python-igraph (define-public r-igraph (package (name "r-igraph") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "igraph" version)) (sha256 (base32 - "1hcr6b1lz030lgay1bz8y8sxaf2j93ds8n8gsqr6qhssz141hd2m")))) + "1bggm7b8v3bh7q2589w26qvd7sgs69m4qiij7d0rbm0ykkgxm8lx")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) -- cgit v1.2.3 From 3c553046888943842d953012759aacde255c4e0c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:27:26 +0200 Subject: gnu: r-edaseq: Update to 2.14.1. * gnu/packages/bioinformatics.scm (r-edaseq): Update to 2.14.1. --- 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 c29122b0cf..0860d85bab 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9822,14 +9822,14 @@ (define-public r-deseq (define-public r-edaseq (package (name "r-edaseq") - (version "2.14.0") + (version "2.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "EDASeq" version)) (sha256 (base32 - "1832pb3jkim4vrqzb8lajwx9r482bhww5n9nz3s6crvyamlp2dj0")))) + "0970w9d5ddqw1qxqqafdidkxh6hmcv9j5djwgnpz3fgl05kmysg8")))) (properties `((upstream-name . "EDASeq"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From ff7c7d62f464d0a8d5e91ef058579ad03247d817 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:29:51 +0200 Subject: gnu: r-keggrest: Update to 1.20.1. * gnu/packages/bioinformatics.scm (r-keggrest): Update to 1.20.1. --- 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 0860d85bab..eb7d2b840a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9949,14 +9949,14 @@ (define-public r-fastseg (define-public r-keggrest (package (name "r-keggrest") - (version "1.20.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "KEGGREST" version)) (sha256 (base32 - "1349vidgl9m10l1rbrp3pkwwgi2xcbsw9h9z2xqbvg97lmqc4r8j")))) + "1ss0xd5570x570v01r6lp64rr1apjrzp0j62520pvm3g8knjhfvs")))) (properties `((upstream-name . "KEGGREST"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 70daf9362b328079886ed7854e6afe4d96181323 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:30:16 +0200 Subject: gnu: r-biovizbase: Update to 1.28.2. * gnu/packages/bioinformatics.scm (r-biovizbase): Update to 1.28.2. [propagated-inputs]: Add r-rlang. --- gnu/packages/bioinformatics.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index eb7d2b840a..f65dad5f96 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10169,14 +10169,14 @@ (define-public r-organismdbi (define-public r-biovizbase (package (name "r-biovizbase") - (version "1.28.0") + (version "1.28.2") (source (origin (method url-fetch) (uri (bioconductor-uri "biovizBase" version)) (sha256 (base32 - "0lkiqdr3ics6hgv47lwkykcy761823bbkhffbn4ykyfzyqwl4p67")))) + "0wc45j3hfn01i44bkkxjj3n8b8xzbkkcdv35mrkzb1f9yprkf8gq")))) (properties `((upstream-name . "biovizBase"))) (build-system r-build-system) (propagated-inputs @@ -10193,6 +10193,7 @@ (define-public r-biovizbase ("r-hmisc" ,r-hmisc) ("r-iranges" ,r-iranges) ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rlang" ,r-rlang) ("r-rsamtools" ,r-rsamtools) ("r-s4vectors" ,r-s4vectors) ("r-scales" ,r-scales) -- cgit v1.2.3 From 16527f1cbc8af73b1034ddce2edf9e2bce094564 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:31:06 +0200 Subject: gnu: r-ggbio: Update to 1.28.5. * gnu/packages/bioinformatics.scm (r-ggbio): Update to 1.28.5. [propagated-inputs]: Add r-rlang. --- gnu/packages/bioinformatics.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f65dad5f96..9882356a08 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10211,14 +10211,14 @@ (define-public r-biovizbase (define-public r-ggbio (package (name "r-ggbio") - (version "1.28.0") + (version "1.28.5") (source (origin (method url-fetch) (uri (bioconductor-uri "ggbio" version)) (sha256 (base32 - "0wszh3w8yia5zw758h837i1q35k99sn444y2hahcxqbdmmlbf7in")))) + "19s2v40fycwf44fl3lm791y635xzw67b30sq2g0qq4a6phjik42d")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10241,6 +10241,7 @@ (define-public r-ggbio ("r-iranges" ,r-iranges) ("r-organismdbi" ,r-organismdbi) ("r-reshape2" ,r-reshape2) + ("r-rlang" ,r-rlang) ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) -- cgit v1.2.3 From e69c07e61a870861f5c9d9f114e2783cba213934 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:32:25 +0200 Subject: gnu: r-hdf5array: Update to 1.8.1. * gnu/packages/bioinformatics.scm (r-hdf5array): Update to 1.8.1. --- 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 9882356a08..53bf86180f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10696,14 +10696,14 @@ (define-public r-qvalue (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "1l0276qxkhgdxsfck3jmi8jvnsr20g10gjki53g0mqa45wnhm3ck")))) + "1s44zgm9jg82bk4b8k3dh7xw7mxychlfm3grs8516mxnw91zpvy5")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 8e44ff0c0de2ee752ccaf9189d882735d3185c65 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:37:02 +0200 Subject: gnu: r-scater: Update to 1.8.4. * gnu/packages/bioinformatics.scm (r-scater): Update to 1.8.4. --- 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 53bf86180f..687cb131d2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10842,13 +10842,13 @@ (define-public r-singlecellexperiment (define-public r-scater (package (name "r-scater") - (version "1.8.0") + (version "1.8.4") (source (origin (method url-fetch) (uri (bioconductor-uri "scater" version)) (sha256 (base32 - "0bhpikgz3b9f510dawsay4zry9rlp8vjx5n6zvwbcpwrd94p3903")))) + "173lfpas2fqsp4xxsw01wkxd4496c5p8himw9b4r9z4npxkfyv16")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) -- cgit v1.2.3 From f0771741781ff75af42ea59027a592ac159bcf98 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:41:37 +0200 Subject: gnu: r-scran: Update to 1.8.4. * gnu/packages/bioinformatics.scm (r-scran): Update to 1.8.4. --- 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 687cb131d2..760b716408 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10886,14 +10886,14 @@ (define-public r-scater (define-public r-scran (package (name "r-scran") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (bioconductor-uri "scran" version)) (sha256 (base32 - "0nbn5x75gf9d0p18w7vpkbv30cpdqvp5bz8xvila0h7jla7xdyih")))) + "17vq9vb9ak7n4mcqpwnm9x3z91vmr7xnsgj8f45b8dbj7m0v126j")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) -- cgit v1.2.3 From 1ec1989f8007d0b90cc3b5ac379bb2f7133e299f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:42:01 +0200 Subject: gnu: r-httpuv: Update to 1.4.5. * gnu/packages/web.scm (r-httpuv): Update to 1.4.5. [native-inputs]: Add pkg-config. --- gnu/packages/web.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0d27fa0054..918548513d 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3823,15 +3823,17 @@ (define-public python2-feedparser (define-public r-httpuv (package (name "r-httpuv") - (version "1.4.4.1") + (version "1.4.5") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "12kwq10xa8glrip7rai9xb4hnpysng00g2l0rw7swfzq5lk4z966")))) + "1ddpcarzf694h0gy5pdz7l5glqfv4hr9dmxb4vw7yqd0bga174gi")))) (build-system r-build-system) - (native-inputs `(("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-rcpp" ,r-rcpp) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("r-bh" ,r-bh) ("r-later" ,r-later) -- cgit v1.2.3 From 4f8247b54b4bb95fc58b3c4f0c30d635909496e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:46:33 +0200 Subject: gnu: Add r-pkgbuild. * gnu/packages/cran.scm (r-pkgbuild): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2082378aae..ae51844dab 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -499,6 +499,33 @@ (define-public r-ps processes. Most of its code is based on the @code{psutil} Python package.") (license license:bsd-3))) +(define-public r-pkgbuild + (package + (name "r-pkgbuild") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "pkgbuild" version)) + (sha256 + (base32 + "10iz8057mixl9j73pq2cbp4ib6dadfsgi3fcsjjm7l3wwb9issd9")))) + (build-system r-build-system) + (propagated-inputs + `(("r-callr" ,r-callr) + ("r-crayon" ,r-crayon) + ("r-desc" ,r-desc) + ("r-r6" ,r-r6) + ("r-rprojroot" ,r-rprojroot) + ("r-withr" ,r-withr))) + (home-page "https://github.com/r-pkgs/pkgbuild") + (synopsis "Find tools needed to build R packages") + (description + "This package provides functions used to build R packages. It locates +compilers needed to build R packages on various platforms and ensures the PATH +is configured appropriately so R can use them.") + (license license:gpl3))) + (define-public r-rcpp (package (name "r-rcpp") -- cgit v1.2.3 From e362be8e899707fa85e7ae3102cbb5013d51bb69 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:46:49 +0200 Subject: gnu: Add r-pkgload. * gnu/packages/cran.scm (r-pkgload): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ae51844dab..9d736d4d6e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -526,6 +526,33 @@ (define-public r-pkgbuild is configured appropriately so R can use them.") (license license:gpl3))) +(define-public r-pkgload + (package + (name "r-pkgload") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "pkgload" version)) + (sha256 + (base32 + "1rjj229nq9fsl4ki4m75ybsavjgpqqhsr1zjzapwicsrxv6212px")))) + (build-system r-build-system) + (propagated-inputs + `(("r-desc" ,r-desc) + ("r-pkgbuild" ,r-pkgbuild) + ("r-rlang" ,r-rlang) + ("r-rprojroot" ,r-rprojroot) + ("r-rstudioapi" ,r-rstudioapi) + ("r-withr" ,r-withr))) + (home-page "https://github.com/r-lib/pkgload") + (synopsis "Simulate package installation and attach") + (description + "This package simulates the process of installing a package and then +attaching it. This is a key part of the @code{devtools} package as it allows +you to rapidly iterate while developing a package.") + (license license:gpl3))) + (define-public r-rcpp (package (name "r-rcpp") -- cgit v1.2.3 From 97c81cc174b31fe898263cf4e802e00e95f76ef3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:52:33 +0200 Subject: gnu: r-stringi: Update to 1.2.4. * gnu/packages/statistics.scm (r-stringi): Update to 1.2.4. --- 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 97246dc31d..1f03649fa5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -960,14 +960,14 @@ (define-public r-sendmailr (define-public r-stringi (package (name "r-stringi") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "1sgg4krw03qkz1n4dwiya0djggk7giwd0w21qlp0pfjqi0rxq6qx")))) + "1y46xab7g1lsjmilp4hbl7pjad6pcxp66hdj8wnfdg9518h0lmq1")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 3bf390279d9fce490fcfbab21330a0009a4d178c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:52:53 +0200 Subject: gnu: r-scales: Update to 1.0.0. * gnu/packages/statistics.scm (r-scales): Update to 1.0.0. [propagated-inputs]: Remove r-dichromat and r-plyr. --- gnu/packages/statistics.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 1f03649fa5..35f89f2dc5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1033,19 +1033,17 @@ (define-public r-reshape2 (define-public r-scales (package (name "r-scales") - (version "0.5.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "scales" version)) (sha256 - (base32 "0zg9wfzmsdjxpbld0nzv7hcpq5r0wazqxmn7grvvif2agj0w1z6v")))) + (base32 "0353dkh3d7x78463c6ds80hcml59lrqwr8rlv82a8dnkxla4l7qc")))) (build-system r-build-system) (propagated-inputs - `(("r-dichromat" ,r-dichromat) - ("r-labeling" ,r-labeling) + `(("r-labeling" ,r-labeling) ("r-munsell" ,r-munsell) - ("r-plyr" ,r-plyr) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcpp" ,r-rcpp) ("r-r6" ,r-r6) -- cgit v1.2.3 From 2a96a093ec9a812bf7ccb6e095b3377df81d75aa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:53:36 +0200 Subject: gnu: r-evaluate: Update to 0.11. * gnu/packages/statistics.scm (r-evaluate): Update to 0.11. --- 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 35f89f2dc5..09470fa0a0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1249,13 +1249,13 @@ (define-public r-bh (define-public r-evaluate (package (name "r-evaluate") - (version "0.10.1") + (version "0.11") (source (origin (method url-fetch) (uri (cran-uri "evaluate" version)) (sha256 (base32 - "070vvmnbdlp7sz2zhza7fhd2a6mlwiln8fn4hyzhsiizbn4n79y9")))) + "1k8vcd4vsgg0hf7kdz8rlqp1dx4ygvg35aj4n3ay50kdnpzhaj5h")))) (build-system r-build-system) (propagated-inputs `(("r-stringr" ,r-stringr))) -- cgit v1.2.3 From 3299bc1c5e43a146ba1ea380fc905b2c096f9174 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:53:49 +0200 Subject: gnu: r-yaml: Update to 2.2.0. * gnu/packages/statistics.scm (r-yaml): Update to 2.2.0. --- 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 09470fa0a0..b7118b672a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1354,13 +1354,13 @@ (define-public r-markdown (define-public r-yaml (package (name "r-yaml") - (version "2.1.19") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "yaml" version)) (sha256 (base32 - "04bzrnfgbpk0rhkvzwp3k3ip7jpq26bjxz71bx5mwxmcjdb07nz5")))) + "0in562nd0i23cg91a8kdbqgim656fgscykwi0icsnq53xj3srg2m")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/yaml/") (synopsis "Methods to convert R data to YAML and back") -- cgit v1.2.3 From 6b02569f1db9a3943305afcdea3f5970f80ecf74 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:54:02 +0200 Subject: gnu: r-dbplyr: Update to 1.2.2. * gnu/packages/statistics.scm (r-dbplyr): Update to 1.2.2. --- 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 b7118b672a..ac0d5d613c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1654,14 +1654,14 @@ (define-public r-dplyr (define-public r-dbplyr (package (name "r-dbplyr") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k")))) + "0j5w6a1qim972kv4vmvinp3j50yr4idmm9cd3w7y3zsz0nq0nhcx")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) -- cgit v1.2.3 From 7f38b31ecbeab97f3efdc633504c4caa1a3a0621 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:54:19 +0200 Subject: gnu: r-xtable: Update to 1.8-3. * gnu/packages/statistics.scm (r-xtable): Update to 1.8-3. --- gnu/packages/statistics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ac0d5d613c..88b9ee6037 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1787,17 +1787,17 @@ (define-public r-data-table (define-public r-xtable (package (name "r-xtable") - (version "1.8-2") + (version "1.8-3") (source (origin (method url-fetch) (uri (cran-uri "xtable" version)) (sha256 (base32 - "0398qkpvlw3dv0myz4mjcyqwpwc2m31l127r8vdzwc71wb6s28qn")))) + "09f311gq9g7dzf8jdvcx72j11xb7p00jlg066jjbpa6pz3zv1cjk")))) (build-system r-build-system) (native-inputs - `(("r-knitr" ,r-knitr))) + `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "http://xtable.r-forge.r-project.org/") (synopsis "Export R tables to LaTeX or HTML") (description -- cgit v1.2.3 From 9b7e8df85bc8f06a662f0a9631231bd56939cfb2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:54:35 +0200 Subject: gnu: r-ade4: Update to 1.7-13. * gnu/packages/statistics.scm (r-ade4): Update to 1.7-13. --- 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 88b9ee6037..c74e198449 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1934,14 +1934,14 @@ (define-public r-coda (define-public r-ade4 (package (name "r-ade4") - (version "1.7-11") + (version "1.7-13") (source (origin (method url-fetch) (uri (cran-uri "ade4" version)) (sha256 (base32 - "0wm54wcpn87rdh6vyw04cr8vgba899y6jsl61f22bmlvx6d7kkac")))) + "16z9jk4qj35ghsk4lwmq241dgc770y8a70dlmp9q4gz6d8ssgl7m")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) -- cgit v1.2.3 From 2848c52c5ec537e9d4ee23bedd6658c610ff02fd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:54:52 +0200 Subject: gnu: r-roxygen2: Update to 6.1.0. * gnu/packages/statistics.scm (r-roxygen2): Update to 6.1.0. [propagated-inputs]: Add r-pkgload and r-purrr. [native-inputs]: Add r-knitr. --- gnu/packages/statistics.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c74e198449..43d0197395 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2235,24 +2235,28 @@ (define-public r-commonmark (define-public r-roxygen2 (package (name "r-roxygen2") - (version "6.0.1") + (version "6.1.0") (source (origin (method url-fetch) (uri (cran-uri "roxygen2" version)) (sha256 (base32 - "0xpzziminf225kjwhyl51kgkzhplyzhk5farhf5s822krl2xqbfj")))) + "0ji9k4s1bvfbl8wimfqj1lqr33h1claaz30vb5pgksxyg77j5xaa")))) (build-system r-build-system) (propagated-inputs `(("r-brew" ,r-brew) ("r-commonmark" ,r-commonmark) ("r-desc" ,r-desc) ("r-digest" ,r-digest) + ("r-pkgload" ,r-pkgload) + ("r-purrr" ,r-purrr) ("r-r6" ,r-r6) ("r-rcpp" ,r-rcpp) ("r-stringi" ,r-stringi) ("r-stringr" ,r-stringr) ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "https://github.com/klutometis/roxygen") (synopsis "In-source documentation system for R") (description -- cgit v1.2.3 From 19cb93be55e4cffab4b48542835d9b18ef74d949 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:58:00 +0200 Subject: gnu: r-git2r: Update to 0.23.0. * gnu/packages/statistics.scm (r-git2r): Update to 0.23.0. [native-inputs]: Add pkg-config. --- gnu/packages/statistics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 43d0197395..164e0b5851 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2322,13 +2322,13 @@ (define-public r-httr (define-public r-git2r (package (name "r-git2r") - (version "0.21.0") + (version "0.23.0") (source (origin (method url-fetch) (uri (cran-uri "git2r" version)) (sha256 (base32 - "11xgddmxzh9cy85k8fb90il43qswpvryz0h9r0j1gbclfg2f9004")))) + "01250jz255fnyy2ap90nskvzhd8nhlmbhwgpvb43mk1fax077lrz")))) (build-system r-build-system) ;; This R package contains modified sources of libgit2. This modified ;; version of libgit2 is built as the package is built. Hence libgit2 is @@ -2337,6 +2337,8 @@ (define-public r-git2r `(("libssh2" ,libssh2) ("openssl" ,openssl) ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/ropensci/git2r") (synopsis "Access Git repositories with R") (description -- cgit v1.2.3 From 41f6685388da9e2258ababbdb5e16be56993e949 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:58:39 +0200 Subject: gnu: r-rcpparmadillo: Update to 0.9.100.5.0. * gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.9.100.5.0. --- 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 164e0b5851..2e8bfb33fa 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2518,13 +2518,13 @@ (define-public r-latticeextra (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.8.500.0") + (version "0.9.100.5.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "1sh36dx6inmb56m40nigy94gxlgjva816qnlmjwg7y2bdvqj8vsi")))) + "1iyjqhfjip1nxrkllzh7r1m01jjnx7cahqkf3s557w34p987f2l1")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (native-inputs -- cgit v1.2.3 From 2aafa73a94daa2ea0399ba0873b87fdfb9d03ff0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:59:01 +0200 Subject: gnu: r-xml: Update to 3.98-1.16. * gnu/packages/statistics.scm (r-xml): Update to 3.98-1.16. --- 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 2e8bfb33fa..f02c40b43a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2803,13 +2803,13 @@ (define-public r-rcurl (define-public r-xml (package (name "r-xml") - (version "3.98-1.11") + (version "3.98-1.16") (source (origin (method url-fetch) (uri (cran-uri "XML" version)) (sha256 (base32 - "18izvlg2x9mzr6yb3yf02ghwbyn00frki3av4lpc44r22m4djnsh")))) + "0nl1kk354r8snhj6p9mc74m7awvqc6akmd4y3a46y78yv3g15njp")))) (properties `((upstream-name . "XML"))) (build-system r-build-system) -- cgit v1.2.3 From e926159eb3fd006c6c688729e03043741a456bf9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:59:24 +0200 Subject: gnu: r-e1071: Update to 1.7-0. * gnu/packages/statistics.scm (r-e1071): Update to 1.7-0. --- 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 f02c40b43a..0bdf0783d0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3285,14 +3285,14 @@ (define-public r-rtsne (define-public r-e1071 (package (name "r-e1071") - (version "1.6-8") + (version "1.7-0") (source (origin (method url-fetch) (uri (cran-uri "e1071" version)) (sha256 (base32 - "08n6i26nfckjpxjkzi8phhanc3ahsrirkv5rz38y2jcv7ds031pn")))) + "0fk4pw67cw1663d0n9rf1qfdqzz8k5nqkjgp3hi5jr422qp9lsck")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class))) -- cgit v1.2.3 From eefa7c7f3dc48a144e39d9167d3befa74f4f8645 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 14:59:45 +0200 Subject: gnu: r-r-utils: Update to 2.7.0. * gnu/packages/statistics.scm (r-r-utils): Update to 2.7.0. --- 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 0bdf0783d0..9d03d5df1f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3463,13 +3463,13 @@ (define-public r-r-oo (define-public r-r-utils (package (name "r-r-utils") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) (uri (cran-uri "R.utils" version)) (sha256 (base32 - "03j7hrs03kyj9qrjxyp5kqv4lpqqpk6xwbkzx6j15d8928yrjr2x")))) + "0cxhn14a57x4gcyrwpfz1d6dw4xh0jcpqkb33hx8imnr340blh7n")))) (properties `((upstream-name . "R.utils"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From e2a2c3378ecba09fc94ad2114c3e21df3460050e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:00:00 +0200 Subject: gnu: r-r-rsp: Update to 0.43.0. * gnu/packages/statistics.scm (r-r-rsp): Update to 0.43.0. --- 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 9d03d5df1f..4b1001a0cd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3511,13 +3511,13 @@ (define-public r-r-cache (define-public r-r-rsp (package (name "r-r-rsp") - (version "0.42.0") + (version "0.43.0") (source (origin (method url-fetch) (uri (cran-uri "R.rsp" version)) (sha256 (base32 - "1zcq0hzi0j7fvj2rs796a1i120wbr0387vck17rrd644awwbsbm0")))) + "0ax6781kfylx0acz0i3sqnpkxmrq73x29wwfic59ng7vj0ws0gyd")))) (properties `((upstream-name . "R.rsp"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 195eec737c13a871c39f9ebfeb3641a5e7b9d583 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:00:16 +0200 Subject: gnu: r-matrixstats: Update to 0.54.0. * gnu/packages/statistics.scm (r-matrixstats): Update to 0.54.0. --- 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 4b1001a0cd..a5c44b485f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3562,13 +3562,13 @@ (define-public r-mvtnorm (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.53.1") + (version "0.54.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "0bkiz5fm09d3512mfr2ymj9qsb1b8aic5l5m6fkaf5j7nsgvqw6z")))) + "0vx00ldsg2zvdrjn49jxczk2c9iaabgvzgpdka5j02ihh7hv83cg")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (native-inputs -- cgit v1.2.3 From 88cb7aa9e7d18db3c7266424f6efc356a575c0f1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:00:41 +0200 Subject: gnu: r-plotly: Update to 4.8.0. * gnu/packages/statistics.scm (r-plotly): Update to 4.8.0. [propagated-inputs]: Add r-promises and r-rlang. --- gnu/packages/statistics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a5c44b485f..68255ccf3a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3743,13 +3743,13 @@ (define-public r-purrr (define-public r-plotly (package (name "r-plotly") - (version "4.7.1") + (version "4.8.0") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "0wj9lw7w28z8w9ip9vadv6sydjhqyg65kfiai9m3bndzz50b1m3w")))) + "19p8pa03q9mw5vaan7r56xgd13d90ssiz0flbrkvpfrir2105ybq")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -3765,8 +3765,10 @@ (define-public r-plotly ("r-jsonlite" ,r-jsonlite) ("r-lazyeval" ,r-lazyeval) ("r-magrittr" ,r-magrittr) + ("r-promises" ,r-promises) ("r-purrr" ,r-purrr) ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rlang" ,r-rlang) ("r-scales" ,r-scales) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) -- cgit v1.2.3 From 5dbe7aa92026ef7143d36036570e7e027ab85b64 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:01:09 +0200 Subject: gnu: r-googlesheets: Update to 0.3.0. * gnu/packages/statistics.scm (r-googlesheets): Update to 0.3.0. [propagated-inputs]: Add r-tibble. --- gnu/packages/statistics.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 68255ccf3a..dd7494db49 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3850,14 +3850,14 @@ (define-public r-cellranger (define-public r-googlesheets (package (name "r-googlesheets") - (version "0.2.2") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "googlesheets" version)) (sha256 (base32 - "18q0xmxn09b52rmky7gr5flp0awndcnsgb7zcvkzvkrkvmwad52b")))) + "11q07nxys72wkxx9mawmjyf20gvwvrb7h3gpa73h6lgh2vgrwnv8")))) (build-system r-build-system) (propagated-inputs `(("r-cellranger" ,r-cellranger) @@ -3867,6 +3867,7 @@ (define-public r-googlesheets ("r-purrr" ,r-purrr) ("r-readr" ,r-readr) ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-xml2" ,r-xml2))) (home-page "https://github.com/jennybc/googlesheets") -- cgit v1.2.3 From c183fa26881d363c2c078dad534c9098e05456cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:12:31 +0200 Subject: gnu: Add r-officer. * gnu/packages/cran.scm (r-officer): New variable. --- gnu/packages/cran.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9d736d4d6e..a7a42573ae 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4656,6 +4656,41 @@ (define-public r-rdpack references and Rd files.") (license license:gpl2+))) +(define-public r-officer + (package + (name "r-officer") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "officer" version)) + (sha256 + (base32 + "14b6ii9h3fi5g8ja929mfhxps9r7x78flqjdy437y9aygkhmiz2i")))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-digest" ,r-digest) + ("r-htmltools" ,r-htmltools) + ("r-magrittr" ,r-magrittr) + ("r-r6" ,r-r6) + ("r-rcpp" ,r-rcpp) + ("r-uuid" ,r-uuid) + ("r-xml2" ,r-xml2) + ("r-zip" ,r-zip))) + (home-page "https://davidgohel.github.io/officer") + (synopsis "Manipulation of Word and PowerPoint documents") + (description + "This package provides tools to access and manipulate Word and PowerPoint +documents from R. The package focuses on tabular and graphical reporting from +R; it also provides two functions that let users get document content into +data objects. A set of functions lets add and remove images, tables and +paragraphs of text in new or existing documents. When working with PowerPoint +presentations, slides can be added or removed; shapes inside slides can also +be added or removed. When working with Word documents, a cursor can be used +to help insert or delete content at a specific location in the document.") + (license license:gpl3))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From bfee9ce88f3c6bd49a1dfc003128d1cb3b7aa421 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:12:47 +0200 Subject: gnu: Add r-snakecase. * gnu/packages/cran.scm (r-snakecase): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a7a42573ae..e26deabd6e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4691,6 +4691,28 @@ (define-public r-officer to help insert or delete content at a specific location in the document.") (license license:gpl3))) +(define-public r-snakecase + (package + (name "r-snakecase") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "snakecase" version)) + (sha256 + (base32 + "1g6xai53dl24ws0mwhqrkcv583ziaq505cv3z8v5dhjgy98kilyj")))) + (build-system r-build-system) + (propagated-inputs + `(("r-stringi" ,r-stringi) + ("r-stringr" ,r-stringr))) + (home-page "https://github.com/Tazinho/snakecase") + (synopsis "Convert strings into any case") + (description + "This package provides a consistent, flexible and easy to use tool to +parse and convert strings into cases like snake or camel among others.") + (license license:gpl3))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From de059e4bd3dce2937a4ac7853731f7f65e950475 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:12:57 +0200 Subject: gnu: Add r-prediction. * gnu/packages/cran.scm (r-prediction): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e26deabd6e..64156f5aa6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4713,6 +4713,30 @@ (define-public r-snakecase parse and convert strings into cases like snake or camel among others.") (license license:gpl3))) +(define-public r-prediction + (package + (name "r-prediction") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "prediction" version)) + (sha256 + (base32 + "19d7312f5lkqfglfvlgssnvyw7gl161s0xradcry44r1i6qp05j1")))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table))) + (home-page "https://github.com/leeper/prediction") + (synopsis "Tidy, type-safe prediction methods") + (description + "This package provides the @code{prediction()} function, a type-safe +alternative to @code{predict()} that always returns a data frame. The package +currently supports common model types (e.g., @code{\"lm\"}, @code{\"glm\"}) +from the @code{stats} package, as well as numerous other model classes from +other add-on packages.") + (license license:expat))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From cfc06314334933f0045e1851449722a612e28f5b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:14:17 +0200 Subject: gnu: Add r-sjlabelled. * gnu/packages/cran.scm (r-sjlabelled): New variable. --- gnu/packages/cran.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 64156f5aa6..bf942f03f6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4737,6 +4737,39 @@ (define-public r-prediction other add-on packages.") (license license:expat))) +(define-public r-sjlabelled + (package + (name "r-sjlabelled") + (version "1.0.13") + (source + (origin + (method url-fetch) + (uri (cran-uri "sjlabelled" version)) + (sha256 + (base32 + "0xizj7mrhnbn8kwjgm076si9w68a7lgrx4vj1sbqmv9jx055h8wv")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-haven" ,r-haven) + ("r-magrittr" ,r-magrittr) + ("r-prediction" ,r-prediction) + ("r-purrr" ,r-purrr) + ("r-rlang" ,r-rlang) + ("r-snakecase" ,r-snakecase) + ("r-tibble" ,r-tibble) + ("r-tidyselect" ,r-tidyselect))) + (home-page "https://github.com/strengejacke/sjlabelled") + (synopsis "Labelled data utility functions") + (description + "This package provides a collection of functions dealing with labelled +data, like reading and writing data between R and other statistical software +packages. This includes easy ways to get, set or change value and variable +label attributes, to convert labelled vectors into factors or numeric (and +vice versa), or to deal with multiple declared missing values.") + (license license:gpl3))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From 1f560b9cdb820569e796caa9949557d9a18f8549 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:14:33 +0200 Subject: gnu: Add r-sjmisc. * gnu/packages/cran.scm (r-sjmisc): New variable. --- gnu/packages/cran.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bf942f03f6..65474d8f8b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4770,6 +4770,43 @@ (define-public r-sjlabelled vice versa), or to deal with multiple declared missing values.") (license license:gpl3))) +(define-public r-sjmisc + (package + (name "r-sjmisc") + (version "2.7.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "sjmisc" version)) + (sha256 + (base32 + "11cy09k1d2y5wwqvafqxr01hzk4x68ji2pqlwj7fnpw27i3ap4q4")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-crayon" ,r-crayon) + ("r-dplyr" ,r-dplyr) + ("r-haven" ,r-haven) + ("r-magrittr" ,r-magrittr) + ("r-pillar" ,r-pillar) + ("r-purrr" ,r-purrr) + ("r-rlang" ,r-rlang) + ("r-sjlabelled" ,r-sjlabelled) + ("r-stringdist" ,r-stringdist) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) + ("r-tidyselect" ,r-tidyselect))) + (home-page "https://github.com/strengejacke/sjmisc") + (synopsis "Data and variable transformation functions") + (description + "This package is a collection of miscellaneous utility functions, +supporting data transformation tasks like recoding, dichotomizing or grouping +variables, setting and replacing missing values. The data transformation +functions also support labelled data, and all integrate seamlessly into a +tidyverse workflow.") + (license license:gpl3))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From aaed237d1bcae69bd3c65f06633a8a4c88f2e382 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:14:45 +0200 Subject: gnu: Add r-nortest. * gnu/packages/cran.scm (r-nortest): 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 65474d8f8b..4d6bd269b1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4807,6 +4807,25 @@ (define-public r-sjmisc tidyverse workflow.") (license license:gpl3))) +(define-public r-nortest + (package + (name "r-nortest") + (version "1.0-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "nortest" version)) + (sha256 + (base32 + "17r0wpz72z9312c70nwi1i1kp1v9fm1h6jg7q5cx1mc1h420m1d3")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/nortest/") + (synopsis "Tests for normality") + (description + "This package provides five omnibus tests for testing the composite +hypothesis of normality.") + (license license:gpl2+))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From 0fd7d59dc387eea437482f7584d03c5a20399faa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:14:56 +0200 Subject: gnu: Add r-moonbook. * gnu/packages/cran.scm (r-moonbook): New variable. --- gnu/packages/cran.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4d6bd269b1..1025ff093a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4826,6 +4826,35 @@ (define-public r-nortest hypothesis of normality.") (license license:gpl2+))) +(define-public r-moonbook + (package + (name "r-moonbook") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "moonBook" version)) + (sha256 + (base32 + "0hys56mwbm776ff7dibi8wzyf69qiais9rs1jazv79lk6h56s9s6")))) + (properties `((upstream-name . "moonBook"))) + (build-system r-build-system) + (propagated-inputs + `(("r-magrittr" ,r-magrittr) + ("r-nortest" ,r-nortest) + ("r-purrr" ,r-purrr) + ("r-sjmisc" ,r-sjmisc) + ("r-stringr" ,r-stringr) + ("r-survival" ,r-survival))) + (home-page "https://github.com/cardiomoon/moonBook") + (synopsis "Functions and datasets for the book by Keon-Woong Moon") + (description + "This package provides several analysis-related functions for the book +entitled \"R statistics and graph for medical articles\" (written in Korean), +version 1, by Keon-Woong Moon with Korean demographic data with several plot +functions.") + (license license:gpl2))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From 90708323a13c94bf36a56735da9c21a2203e9fde Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 18:39:43 +0200 Subject: Revert "gnu: ghc-base-compat: Update to 0.10.4." This reverts commit 0fa2c552fcd5176b0484b77b7f7c94d82d46415e. We may not upgrade base-compat at this point because we haven't upgraded the default GHC yet. --- 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 b8ae26346e..31a0d6d7ee 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4231,7 +4231,7 @@ (define-public ghc-byteorder (define-public ghc-base-compat (package (name "ghc-base-compat") - (version "0.10.4") + (version "0.9.3") (source (origin (method url-fetch) @@ -4241,7 +4241,7 @@ (define-public ghc-base-compat ".tar.gz")) (sha256 (base32 - "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d")))) + "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x")))) (build-system haskell-build-system) (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck) -- cgit v1.2.3 From f9f4578ba0c4b5b22cdac86e8183dc542d66cc85 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 18:43:11 +0200 Subject: Revert "gnu: ghc-tasty: Update to 1.1.0.3." This reverts commit 3ad6b8909025a8f4d3e1f1f5ea16bcd0cace557c. --- gnu/packages/haskell-check.scm | 7 +++---- gnu/packages/haskell.scm | 27 +++------------------------ 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 65333f8269..31407ca259 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -183,7 +183,7 @@ (define ghc-clock-bootstrap (define-public ghc-tasty (package (name "ghc-tasty") - (version "1.1.0.3") + (version "0.11.0.4") (source (origin (method url-fetch) @@ -193,7 +193,7 @@ (define-public ghc-tasty ".tar.gz")) (sha256 (base32 - "14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22")))) + "05pxjzgbgjdn7477xry0ssjrnmnsydqiq6nm6ck8n2da1baliqp0")))) (build-system haskell-build-system) (inputs `(("ghc-stm" ,ghc-stm) @@ -205,8 +205,7 @@ (define-public ghc-tasty ("ghc-unbounded-delays" ,ghc-unbounded-delays) ("ghc-async" ,ghc-async) ("ghc-ansi-terminal" ,ghc-ansi-terminal) - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) - ("ghc-wcwidth" ,ghc-wcwidth))) + ("ghc-clock-bootstrap" ,ghc-clock-bootstrap))) (home-page "http://documentup.com/feuerbach/tasty") (synopsis "Modern and extensible testing framework") (description "Tasty is a modern testing framework for Haskell. It lets diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 31a0d6d7ee..eb629cf138 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2870,7 +2870,7 @@ (define-public ghc-attoparsec ;; re-enable them. (arguments `(#:tests? #f)) (inputs - `(("ghc-scientific-bootstrap" ,ghc-scientific-bootstrap) + `(("ghc-scientific" ,ghc-scientific) ("ghc-text" ,ghc-text))) (native-inputs `(("ghc-tasty" ,ghc-tasty) @@ -2885,13 +2885,6 @@ (define-public ghc-attoparsec complicated text/binary file formats.") (license license:bsd-3))) -(define ghc-attoparsec-bootstrap - (package - (inherit ghc-attoparsec) - (name "ghc-attoparsec-bootstrap") - (arguments '(#:tests? #f)) - (native-inputs '()))) - (define-public ghc-zip-archive (package (name "ghc-zip-archive") @@ -5221,13 +5214,6 @@ (define-public ghc-integer-logarithms in migrated modules.") (license license:expat))) -(define ghc-integer-logarithms-bootstrap - (package - (inherit ghc-integer-logarithms) - (name "ghc-integer-logarithms-bootstrap") - (arguments `(#:tests? #f)) - (native-inputs '()))) - (define-public ghc-scientific (package (name "ghc-scientific") @@ -5244,7 +5230,7 @@ (define-public ghc-scientific "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397")))) (build-system haskell-build-system) (inputs - `(("ghc-integer-logarithms-bootstrap" ,ghc-integer-logarithms-bootstrap) + `(("ghc-integer-logarithms" ,ghc-integer-logarithms) ("ghc-text" ,ghc-text) ("ghc-hashable" ,ghc-hashable) ("ghc-primitive" ,ghc-primitive))) @@ -5265,13 +5251,6 @@ (define-public ghc-scientific notation}.") (license license:bsd-3))) -(define ghc-scientific-bootstrap - (package - (inherit ghc-scientific) - (name "ghc-scientific-bootstrap") - (arguments `(#:tests? #f)) - (native-inputs '()))) - (define-public ghc-boxes (package (name "ghc-boxes") @@ -10195,7 +10174,7 @@ (define-public ghc-wcwidth (inputs `(("ghc-setlocale" ,ghc-setlocale) ("ghc-utf8-string" ,ghc-utf8-string) - ("ghc-attoparsec-bootstrap" ,ghc-attoparsec-bootstrap))) + ("ghc-attoparsec" ,ghc-attoparsec))) (home-page "https://github.com/solidsnack/wcwidth/") (synopsis "Haskell bindings to wcwidth") (description "This package provides Haskell bindings to your system's -- cgit v1.2.3 From 78f2c08c0b780dd2fe72548b901df7eb887da7f1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:22:20 +0200 Subject: gnu: r-rmarkdown: Use latest version of Pandoc. * gnu/packages/statistics.scm (r-rmarkdown)[propagated-inputs]: Replace "ghc-pandoc-1" with "ghc-pandoc". --- gnu/packages/statistics.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index dd7494db49..69c72541a7 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2633,11 +2633,7 @@ (define-public r-rmarkdown ("r-stringr" ,r-stringr) ("r-tinytex" ,r-tinytex) ("r-yaml" ,r-yaml) - ;; rmarkdown works with the 2.x release of Pandoc, but with degraded - ;; functionality. For example, tabbed plots do not currently work with - ;; Pandoc 2. The authors of rmarkdown recommend the use of Pandoc 1 - ;; for the time being. - ("ghc-pandoc" ,ghc-pandoc-1))) + ("ghc-pandoc" ,ghc-pandoc))) (home-page "http://rmarkdown.rstudio.com") (synopsis "Convert R Markdown documents into a variety of formats") (description -- cgit v1.2.3 From 589bd1c4260a429536d3a69a4b7c0a7bcd2e4357 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:23:51 +0200 Subject: gnu: Add r-flextable. * gnu/packages/cran.scm (r-flextable): New variable. --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1025ff093a..ea3f1c4981 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4855,6 +4855,37 @@ (define-public r-moonbook functions.") (license license:gpl2))) +(define-public r-flextable + (package + (name "r-flextable") + (version "0.4.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "flextable" version)) + (sha256 + (base32 + "09j2y0z7rkc0w1cl9pp1cpk6fnzzfr6245mxa3ca42z9k2cy2jfl")))) + (build-system r-build-system) + (propagated-inputs + `(("r-gdtools" ,r-gdtools) + ("r-htmltools" ,r-htmltools) + ("r-knitr" ,r-knitr) + ("r-officer" ,r-officer) + ("r-r6" ,r-r6) + ("r-rmarkdown" ,r-rmarkdown) + ("r-stringr" ,r-stringr) + ("r-xml2" ,r-xml2))) + (home-page "https://davidgohel.github.io/flextable") + (synopsis "Functions for tabular reporting") + (description + "This package provides tools to create pretty tables for HTML documents +and other formats. Functions are provided to let users create tables, modify +and format their content. It extends the @code{officer} package and can be +used within R markdown documents when rendering to HTML and to Word +documents.") + (license license:gpl3))) + (define-public r-writexl (package (name "r-writexl") -- cgit v1.2.3 From cb96d81be47ac5e553dc7b14ce64823a9b6f99a5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:24:12 +0200 Subject: gnu: r-doby: Update to 4.6-2. * gnu/packages/cran.scm (r-doby): Update to 4.6-2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ea3f1c4981..56b6462fae 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5079,14 +5079,14 @@ (define-public r-orddom (define-public r-doby (package (name "r-doby") - (version "4.6-1") + (version "4.6-2") (source (origin (method url-fetch) (uri (cran-uri "doBy" version)) (sha256 (base32 - "1y02awzid23bxz8hx6j8pxd6i7jaq8pdw3k60rag8y6m69incrw5")))) + "02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb")))) (properties `((upstream-name . "doBy"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 2cdd9d4f832bf11d9b419e15fdfcdcf49ec99520 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:24:41 +0200 Subject: gnu: r-reticulate: Update to 1.10. * gnu/packages/cran.scm (r-reticulate): Update to 1.10. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 56b6462fae..9033fac0a6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4236,14 +4236,14 @@ (define-public r-analytics (define-public r-reticulate (package (name "r-reticulate") - (version "1.8") + (version "1.10") (source (origin (method url-fetch) (uri (cran-uri "reticulate" version)) (sha256 (base32 - "0zwb4ikf021nw7axdn7qlr6bq4xkph3anfy314idkspy1iil4nmr")))) + "0bz3lxbisjwn6cv23090zivpy0bxcncr82g5qja13l37i8xnvqsq")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs -- cgit v1.2.3 From e3c1e93e35f25fc746476226e3c7b8c633eb2b8e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:25:04 +0200 Subject: gnu: r-reprex: Update to 0.2.0. * gnu/packages/cran.scm (r-reprex): Update to 0.2.0. [propagated-inputs]: Add r-clipr, r-rlang, and r-withr. --- gnu/packages/cran.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9033fac0a6..2c6de3ddd2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -162,20 +162,23 @@ (define-public r-selectr (define-public r-reprex (package (name "r-reprex") - (version "0.1.2") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "reprex" version)) (sha256 (base32 - "105d9vsmqfilgpw8psfb2wyiz1hvcycvh4cqhb3ab37lm3rcavvs")))) + "1l44pxjiz3g0jkk3v6rg5jps3llihfiah0qyv40s0bxvxa6gm8v9")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) + ("r-clipr" ,r-clipr) ("r-knitr" ,r-knitr) + ("r-rlang" ,r-rlang) ("r-rmarkdown" ,r-rmarkdown) - ("r-whisker" ,r-whisker))) + ("r-whisker" ,r-whisker) + ("r-withr" ,r-withr))) (home-page "https://github.com/tidyverse/reprex") (synopsis "Prepare reproducible R code examples for sharing") (description -- cgit v1.2.3 From b72de5b3f674e3b360f1d7c5032d9fb47e0992d7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:25:42 +0200 Subject: gnu: r-callr: Update to 3.0.0. * gnu/packages/cran.scm (r-callr): Update to 3.0.0. [propagated-inputs]: Add r-base64enc. --- gnu/packages/cran.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2c6de3ddd2..5c3c7ed821 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -193,17 +193,18 @@ (define-public r-reprex (define-public r-callr (package (name "r-callr") - (version "2.0.4") + (version "3.0.0") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "1053qqq632z94pqq2v5dynjpgyv1b1c8zvidmcllw7zn8zha8gqf")))) + "1rxbxy6kn7dj90z9hpppr9cnpvnxzknba2dwrdp0lrk5dh462qz3")))) (build-system r-build-system) (propagated-inputs - `(("r-r6" ,r-r6) + `(("r-base64enc" ,r-base64enc) + ("r-r6" ,r-r6) ("r-processx" ,r-processx))) (home-page "https://github.com/r-lib/callr#readme") (synopsis "Call R from R") -- cgit v1.2.3 From b00e8ae77105d8fe398f5b9d47812844aa21b5dd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:26:04 +0200 Subject: gnu: r-glue: Update to 1.3.0. * gnu/packages/cran.scm (r-glue): Update to 1.3.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5c3c7ed821..6ef31e09dd 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -392,14 +392,14 @@ (define-public r-colorspace (define-public r-glue (package (name "r-glue") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "glue" version)) (sha256 (base32 - "0vi9y8ix95g6hjqdz9c9y4119apbdjcypdv0ag8cl6vaxqs5n9qr")))) + "1vhw5497lpfr4m8lcx9bs0fgdp4ax0sycrk6n8yksp33qd25m7kq")))) (build-system r-build-system) (home-page "https://github.com/tidyverse/glue") (synopsis "Interpreted string literals") -- cgit v1.2.3 From c73752cac5e74691d9f28c3c8c29a2fbb8291f4c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:26:18 +0200 Subject: gnu: r-pls: Update to 2.7-0. * gnu/packages/cran.scm (r-pls): Update to 2.7-0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6ef31e09dd..c6f4f73f53 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -453,14 +453,14 @@ (define-public r-plogr (define-public r-pls (package (name "r-pls") - (version "2.6-0") + (version "2.7-0") (source (origin (method url-fetch) (uri (cran-uri "pls" version)) (sha256 (base32 - "15j59p5x0rkdrk7iqzkipsy50rsyjl31w8zxc4w3v1j5gzxhi1rx")))) + "0xaqqgmdvfh7g7v1m4bcwjqzph68b9cq3bn4kjisfsadl54i5p2x")))) (build-system r-build-system) (home-page "http://mevik.net/work/software/pls.html") (synopsis "Partial Least Squares and Principal Component Regression") -- cgit v1.2.3 From 2d2b95d15141f55f747b785ca0094aeaf3001268 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:26:33 +0200 Subject: gnu: r-ipred: Update to 0.9-7. * gnu/packages/cran.scm (r-ipred): Update to 0.9-7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c6f4f73f53..b2768cc403 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1755,14 +1755,14 @@ (define-public r-rcpproll (define-public r-ipred (package (name "r-ipred") - (version "0.9-6") + (version "0.9-7") (source (origin (method url-fetch) (uri (cran-uri "ipred" version)) (sha256 (base32 - "1vrw1pqcpnc04x1r2h9grdfm6bivs358sww5gg90jwlvxcw69lxq")))) + "0q53cqs46501wsd4cmfsmr78l8nv1hkbamk9m0ns5qy02df5r254")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) -- cgit v1.2.3 From 45c156bf812e227b07e94b0420d41ed57ae10220 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:26:58 +0200 Subject: gnu: r-broom: Update to 0.5.0. * gnu/packages/cran.scm (r-broom): Update to 0.5.0. [propagated-inputs]: Add r-backports, r-dplyr, r-purrr, and r-tibble; remove r-plyr and r-psych. --- gnu/packages/cran.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b2768cc403..4cf7d6295e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1816,22 +1816,23 @@ (define-public r-psych (define-public r-broom (package (name "r-broom") - (version "0.4.5") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "1mrrqqw1bmjf2v88ziqwb5y86g29h0a3rsx2jpw0hrzrzb8i5kcb")))) + "1r3831vq0fd5sh5841xr844sghg88z7ws91hg4jgnzbbkxfjp4ag")))) (build-system r-build-system) (propagated-inputs - `(("r-dplyr" ,r-dplyr) + `(("r-backports" ,r-backports) + ("r-dplyr" ,r-dplyr) ("r-nlme" ,r-nlme) - ("r-plyr" ,r-plyr) - ("r-psych" ,r-psych) + ("r-purrr" ,r-purrr) ("r-reshape2" ,r-reshape2) ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) (home-page "https://github.com/tidyverse/broom") (synopsis "Convert statistical analysis objects into tidy data frames") -- cgit v1.2.3 From dc66835226858236c12c498cc9de0e98c8c86e18 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:32:40 +0200 Subject: gnu: Add r-ucminf. * gnu/packages/cran.scm (r-ucminf): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4cf7d6295e..f64b48da5f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1981,6 +1981,30 @@ (define-public r-stringdist or between integer vectors representing generic sequences.") (license license:gpl3+))) +(define-public r-ucminf + (package + (name "r-ucminf") + (version "1.1-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "ucminf" version)) + (sha256 + (base32 + "01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2")))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/ucminf/") + (synopsis "General-purpose unconstrained non-linear optimization") + (description + "This package provides an implementation of an algorithm for +general-purpose unconstrained non-linear optimization. The algorithm is of +quasi-Newton type with BFGS updating of the inverse Hessian and soft line +search with a trust region type monitoring of the input to the line search +algorithm. The interface of @code{ucminf} is designed for easy interchange +with the package @code{optim}.") + (license license:gpl2+))) + (define-public r-jomo (package (name "r-jomo") -- cgit v1.2.3 From b8f6e2f82a733759017269170e7b8813f04a9425 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:32:50 +0200 Subject: gnu: Add r-ordinal. * gnu/packages/cran.scm (r-ordinal): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f64b48da5f..590d2c90d3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2005,6 +2005,33 @@ (define-public r-ucminf with the package @code{optim}.") (license license:gpl2+))) +(define-public r-ordinal + (package + (name "r-ordinal") + (version "2018.8-25") + (source + (origin + (method url-fetch) + (uri (cran-uri "ordinal" version)) + (sha256 + (base32 + "03cv9hcrw8j3lhamzhz8sk2p3ns4cw9z41x49h301k2b3pajv43h")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-numderiv" ,r-numderiv) + ("r-ucminf" ,r-ucminf))) + (home-page "https://github.com/runehaubo/ordinal") + (synopsis "Regression models for ordinal data") + (description + "This package provides an implementation of cumulative link (mixed) +models also known as ordered regression models, proportional odds models, +proportional hazards models for grouped survival times and ordered models. +Estimation is via maximum likelihood and mixed models are fitted with the +Laplace approximation and adaptive Gauss-Hermite quadrature.") + (license license:gpl2+))) + (define-public r-jomo (package (name "r-jomo") -- cgit v1.2.3 From e7630cc93182f38b486c1c6825bf7a9ca5c3a6b0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:27:42 +0200 Subject: gnu: r-jomo: Update to 2.6-4. * gnu/packages/cran.scm (r-jomo): Update to 2.6-4. [propagated-inputs]: Add r-ordinal. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 590d2c90d3..8f9a463a0f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2035,17 +2035,18 @@ (define-public r-ordinal (define-public r-jomo (package (name "r-jomo") - (version "2.6-3") + (version "2.6-4") (source (origin (method url-fetch) (uri (cran-uri "jomo" version)) (sha256 (base32 - "14s8q0j5zgl1g1pfxg3a4y1jzvs0wl61ir4992wsj7safskj7zvi")))) + "05g2rj9g7rgyb22b0gybw042nydyqsqsb31v05hifzavri8ij01x")))) (build-system r-build-system) (propagated-inputs `(("r-lme4" ,r-lme4) + ("r-ordinal" ,r-ordinal) ("r-survival" ,r-survival))) (home-page "https://cran.r-project.org/web/packages/jomo/") (synopsis "Multilevel Joint Modelling Multiple Imputation") -- cgit v1.2.3 From a7265593d3385423adc2dbeaeb4827db586b2e34 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:33:37 +0200 Subject: gnu: r-pan: Update to 1.6. * gnu/packages/cran.scm (r-pan): Update to 1.6. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8f9a463a0f..46cb3e16a5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2062,14 +2062,14 @@ (define-public r-jomo (define-public r-pan (package (name "r-pan") - (version "1.4") + (version "1.6") (source (origin (method url-fetch) (uri (cran-uri "pan" version)) (sha256 (base32 - "1p3nigmhrnlch86g89hn7l0wvkifx3k9n59g0psi95yck43kza76")))) + "1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/pan/") -- cgit v1.2.3 From 1b3b2a72eeaa5a134e0db8928f43e42340df36f6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:33:48 +0200 Subject: gnu: r-mice: Update to 3.3.0. * gnu/packages/cran.scm (r-mice): Update to 3.3.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 46cb3e16a5..3865ffa150 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2107,14 +2107,14 @@ (define-public r-mitml (define-public r-mice (package (name "r-mice") - (version "3.1.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (cran-uri "mice" version)) (sha256 (base32 - "0xpn215yfzib4hw09cwilnyg9zbvq460njavfvm84mvgwbm25byi")))) + "1p0ipbqk5aqdi7iikw3qrjyvdi9sdhpnw1h5mwakwvv0yl0pzbyx")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) -- cgit v1.2.3 From 69bf449bf10fe3c6ea5fc643ee49ed6ee8e50b84 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:34:29 +0200 Subject: gnu: r-xts: Update to 0.11-0. * gnu/packages/cran.scm (r-xts): Update to 0.11-0. [native-inputs]: Remove. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3865ffa150..afba068dd6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2312,17 +2312,16 @@ (define-public r-rsofia (define-public r-xts (package (name "r-xts") - (version "0.10-2") + (version "0.11-0") (source (origin (method url-fetch) (uri (cran-uri "xts" version)) (sha256 (base32 - "1i11fczks4lh8rpi6xbm9bm7f3jpcp6xw03kv178g3n3361qhmc1")))) + "1v50yn4bsjzdyk7r90isn6dxmpkapillrhpx3gqsshd180vwzqk9")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) - (native-inputs `(("gfortran" ,gfortran))) (home-page "https://github.com/joshuaulrich/xts") (synopsis "Extensible time series") (description -- cgit v1.2.3 From 6f5b157e3dab1ee7db0e62552ba6350b91c66d1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:34:57 +0200 Subject: gnu: r-pillar: Update to 1.3.0. * gnu/packages/cran.scm (r-pillar): Update to 1.3.0. [propagated-inputs]: Add r-fansi. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index afba068dd6..7d2f93a394 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2798,18 +2798,19 @@ (define-public r-utf8 (define-public r-pillar (package (name "r-pillar") - (version "1.2.3") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "1rzhssprqgam1nq3s0f5rzxhxsq02azcghvxf6k8kmsmddf1n7f8")))) + "1q6arybmfqxhp5zqj1fri5pb8v7ywcv7bmgf81rrmgl892p4bn5f")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) ("r-crayon" ,r-crayon) + ("r-fansi" ,r-fansi) ("r-rlang" ,r-rlang) ("r-utf8" ,r-utf8))) (home-page "https://github.com/r-lib/pillar") -- cgit v1.2.3 From d97d98e142e40820807b050c656df40a33e8d020 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:35:24 +0200 Subject: gnu: r-tinytex: Update to 0.8. * gnu/packages/cran.scm (r-tinytex): Update to 0.8. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7d2f93a394..b7827931c1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2843,14 +2843,14 @@ (define-public r-uuid (define-public r-tinytex (package (name "r-tinytex") - (version "0.6") + (version "0.8") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "16y9dldaff2kx1fkm92p7zlph0dcrdmlmavpdgf5y9jbhmc8g83f")))) + "1bgpr5i5399jf9n6pg2mm4aamisbhppg082ad0wv1j4g0rlxf1gy")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) -- cgit v1.2.3 From e32368c130893da22b35b4318f06606baacd5056 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:35:46 +0200 Subject: gnu: r-metap: Update to 1.0. * gnu/packages/cran.scm (r-metap): Update to 1.0. [propagated-inputs]: Add r-rdpack. --- gnu/packages/cran.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b7827931c1..784f476145 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2867,17 +2867,18 @@ (define-public r-tinytex (define-public r-metap (package (name "r-metap") - (version "0.9") + (version "1.0") (source (origin (method url-fetch) (uri (cran-uri "metap" version)) (sha256 (base32 - "03vg0mb6q7j2z0pkxykbak0hcp6dcak7zxs1lw9hswz9kqrq5jhz")))) + "18rzvqfzyk8fn54gjvy2qd21nk9w69j7ihww477ma3f3ab6i982h")))) (build-system r-build-system) (propagated-inputs - `(("r-lattice" ,r-lattice))) + `(("r-lattice" ,r-lattice) + ("r-rdpack" ,r-rdpack))) (home-page "http://www.dewey.myzen.co.uk/meta/meta.html") (synopsis "Meta-analysis of significance values") (description -- cgit v1.2.3 From be5642eb69d3b0dba1685742291b5d635f004c66 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:36:12 +0200 Subject: gnu: r-statnet-common: Update to 4.1.4. * gnu/packages/cran.scm (r-statnet-common): Update to 4.1.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 784f476145..fb398f56b8 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2912,14 +2912,14 @@ (define-public r-network (define-public r-statnet-common (package (name "r-statnet-common") - (version "4.1.2") + (version "4.1.4") (source (origin (method url-fetch) (uri (cran-uri "statnet.common" version)) (sha256 (base32 - "0h3g687214rlycca0fjrpy1lqbqsrginxqhmhl2mb2jinqqxcfgd")))) + "14dydm4c4dzc4v6ldxpn04q551nczzfablwibrd8lzgja8x9ksic")))) (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) -- cgit v1.2.3 From 1fe9919a575b5d2d97dc7dee65251a2689709ed4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:36:31 +0200 Subject: gnu: r-tsa: Update to 1.2. * gnu/packages/cran.scm (r-tsa): Update to 1.2. [propagated-inputs]: Remove r-tseries. --- gnu/packages/cran.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fb398f56b8..478df95eaf 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3141,21 +3141,20 @@ (define-public r-wmtsa (define-public r-tsa (package (name "r-tsa") - (version "1.01") + (version "1.2") (source (origin (method url-fetch) (uri (cran-uri "TSA" version)) (sha256 (base32 - "0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx")))) + "0gjfqibwdznz0nka95k4fjm935svxjpnqfywwz403crn2lh30h6q")))) (properties `((upstream-name . "TSA"))) (build-system r-build-system) (propagated-inputs `(("r-leaps" ,r-leaps) ("r-locfit" ,r-locfit) - ("r-mgcv" ,r-mgcv) - ("r-tseries" ,r-tseries))) + ("r-mgcv" ,r-mgcv))) (home-page "http://www.stat.uiowa.edu/~kchan/TSA.htm") (synopsis "Time series analysis") (description -- cgit v1.2.3 From 19950821d74e5ae008919f28511bb8caa8c516ce Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:37:05 +0200 Subject: gnu: r-heatmaply: Update to 0.15.2. * gnu/packages/cran.scm (r-heatmaply): Update to 0.15.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 478df95eaf..706f612344 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3407,14 +3407,14 @@ (define-public r-powerplus (define-public r-heatmaply (package (name "r-heatmaply") - (version "0.14.1") + (version "0.15.2") (source (origin (method url-fetch) (uri (cran-uri "heatmaply" version)) (sha256 (base32 - "03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc")))) + "0h8s5djzj4mrmaswlcaap6jbwxrkbzc43bbqik3qf8vrqz335w04")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) -- cgit v1.2.3 From 7a96c4e0a00e0c527862df289aa48cab231380dc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:39:09 +0200 Subject: gnu: r-fnn: Update to 1.1.2.1. * gnu/packages/cran.scm (r-fnn): Update to 1.1.2.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 706f612344..9e7cb04f91 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3763,14 +3763,14 @@ (define-public r-vim (define-public r-fnn (package (name "r-fnn") - (version "1.1") + (version "1.1.2.1") (source (origin (method url-fetch) (uri (cran-uri "FNN" version)) (sha256 (base32 - "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj")))) + "1n61jrcmakqif8f827x4qnlhm2jqpj5fgjj65c4p0kdd8lzw8pqp")))) (properties `((upstream-name . "FNN"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/FNN") -- cgit v1.2.3 From 12132229b0c9c57b1f99db158e02a81922a1aabf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:39:23 +0200 Subject: gnu: r-maptools: Update to 0.9-3. * gnu/packages/cran.scm (r-maptools): Update to 0.9-3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9e7cb04f91..116fdf42cb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4055,14 +4055,14 @@ (define-public r-rio (define-public r-maptools (package (name "r-maptools") - (version "0.9-2") + (version "0.9-3") (source (origin (method url-fetch) (uri (cran-uri "maptools" version)) (sha256 (base32 - "075lmb3b62171cw2dg8fv1vwmvfzg39r1ji7jwb8s5k9dz88ry1v")))) + "0hxbv01im9zk1qrwgigpc510w6x0kzdzip4gx2jzfqmmwr8m17r8")))) (build-system r-build-system) (propagated-inputs `(("r-foreign" ,r-foreign) -- cgit v1.2.3 From 2e6909baf0512cb5f4de9553e6dad3329db7e47c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:39:46 +0200 Subject: gnu: r-later: Update to 0.7.4. * gnu/packages/cran.scm (r-later): Update to 0.7.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 116fdf42cb..82111ff96e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4083,14 +4083,14 @@ (define-public r-maptools (define-public r-later (package (name "r-later") - (version "0.7.3") + (version "0.7.4") (source (origin (method url-fetch) (uri (cran-uri "later" version)) (sha256 (base32 - "04j2phymxgkk4hv9pfa5w3s98w5d7fvm11blrdhxmray4n618msw")))) + "125zc499gj702x2bch95lsfzk2qb4dzv3604x9afym2i3ylrmm64")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) -- cgit v1.2.3 From a9b02ddd73adf938d5ef68658c2873dac64b7f04 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:39:58 +0200 Subject: gnu: r-codedepends: Update to 0.6.5. * gnu/packages/cran.scm (r-codedepends): Update to 0.6.5. [propagated-inputs]: Add r-graph. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 82111ff96e..8eac103109 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4180,18 +4180,19 @@ (define-public r-snowfall (define-public r-codedepends (package (name "r-codedepends") - (version "0.5-3") + (version "0.6.5") (source (origin (method url-fetch) (uri (cran-uri "CodeDepends" version)) (sha256 (base32 - "03p82s0abca2jimzqvxdzykfzca7c7fhm5xsjxybcksr4gggr5sc")))) + "0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq")))) (properties `((upstream-name . "CodeDepends"))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) + ("r-graph" ,r-graph) ("r-xml" ,r-xml))) (home-page "http://cran.r-project.org/web/packages/CodeDepends") (synopsis "Analysis of R code for reproducible research and code comprehension") -- cgit v1.2.3 From caaec8865117a15392a5220fe29f0acacef1a318 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:40:20 +0200 Subject: gnu: r-ggpubr: Update to 0.1.8. * gnu/packages/cran.scm (r-ggpubr): Update to 0.1.8. [propagated-inputs]: Add r-glue and r-polynom. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8eac103109..9f3d1bfd09 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4411,14 +4411,14 @@ (define-public r-ggsignif (define-public r-ggpubr (package (name "r-ggpubr") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) (uri (cran-uri "ggpubr" version)) (sha256 (base32 - "110ny8p41kmbz0a5rl0mv9cqpjkx6yr3ybflp1r0fmcvhwv7cr3i")))) + "0psl2zndm4wk6nnj1nv305islpxfvfgd87gjh2ph8yqn4mxpnfi1")))) (build-system r-build-system) (propagated-inputs `(("r-cowplot" ,r-cowplot) @@ -4427,8 +4427,10 @@ (define-public r-ggpubr ("r-ggrepel" ,r-ggrepel) ("r-ggsci" ,r-ggsci) ("r-ggsignif" ,r-ggsignif) + ("r-glue" ,r-glue) ("r-gridextra" ,r-gridextra) ("r-magrittr" ,r-magrittr) + ("r-polynom" ,r-polynom) ("r-purrr" ,r-purrr) ("r-scales" ,r-scales) ("r-tidyr" ,r-tidyr))) -- cgit v1.2.3 From 5dfe491290b14a1ee7efd70f9cd083969c24e1c2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:46:12 +0200 Subject: gnu: r-graph: Move from bioinformatics to bioconductor. * gnu/packages/bioinformatics.scm (r-graph): Move from here... * gnu/packages/bioconductor.scm (r-graph): ...to here. --- gnu/packages/bioconductor.scm | 19 +++++++++++++++++++ gnu/packages/bioinformatics.scm | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 1ff86779e8..fc01c2283b 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -360,6 +360,25 @@ (define-public r-multtest expressed genes in DNA microarray experiments.") (license license:lgpl3))) +(define-public r-graph + (package + (name "r-graph") + (version "1.58.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "graph" version)) + (sha256 + (base32 + "1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics))) + (home-page "https://bioconductor.org/packages/graph") + (synopsis "Handle graph data structures in R") + (description + "This package implements some simple graph handling capabilities for R.") + (license license:artistic2.0))) + (define-public r-chippeakanno (package (name "r-chippeakanno") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 760b716408..a03d37c5b0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7787,25 +7787,6 @@ (define-public r-go-db information about the latest version of the Gene Ontologies.") (license license:artistic2.0))) -(define-public r-graph - (package - (name "r-graph") - (version "1.58.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "graph" version)) - (sha256 - (base32 - "1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759")))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "https://bioconductor.org/packages/graph") - (synopsis "Handle graph data structures in R") - (description - "This package implements some simple graph handling capabilities for R.") - (license license:artistic2.0))) - (define-public r-topgo (package (name "r-topgo") -- cgit v1.2.3 From a207bca2adf5371aabe41f28203c0e3e7bfbacad Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:47:19 +0200 Subject: gnu: r-codedepends: Move from cran to bioconductor. * gnu/packages/cran.scm (r-codedepends): Move from here... * gnu/packages/bioconductor.scm (r-codedepends): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/cran.scm | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index fc01c2283b..a47a5aad05 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -379,6 +379,34 @@ (define-public r-graph "This package implements some simple graph handling capabilities for R.") (license license:artistic2.0))) +(define-public r-codedepends + (package + (name "r-codedepends") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "CodeDepends" version)) + (sha256 + (base32 + "0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq")))) + (properties `((upstream-name . "CodeDepends"))) + (build-system r-build-system) + (propagated-inputs + `(("r-codetools" ,r-codetools) + ("r-graph" ,r-graph) + ("r-xml" ,r-xml))) + (home-page "http://cran.r-project.org/web/packages/CodeDepends") + (synopsis "Analysis of R code for reproducible research and code comprehension") + (description + "This package provides tools for analyzing R expressions or blocks of +code and determining the dependencies between them. It focuses on R scripts, +but can be used on the bodies of functions. There are many facilities +including the ability to summarize or get a high-level view of code, +determining dependencies between variables, code improvement suggestions.") + ;; Any version of the GPL + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-chippeakanno (package (name "r-chippeakanno") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9f3d1bfd09..447be5657a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4177,34 +4177,6 @@ (define-public r-snowfall it.") (license license:gpl2+))) -(define-public r-codedepends - (package - (name "r-codedepends") - (version "0.6.5") - (source - (origin - (method url-fetch) - (uri (cran-uri "CodeDepends" version)) - (sha256 - (base32 - "0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq")))) - (properties `((upstream-name . "CodeDepends"))) - (build-system r-build-system) - (propagated-inputs - `(("r-codetools" ,r-codetools) - ("r-graph" ,r-graph) - ("r-xml" ,r-xml))) - (home-page "http://cran.r-project.org/web/packages/CodeDepends") - (synopsis "Analysis of R code for reproducible research and code comprehension") - (description - "This package provides tools for analyzing R expressions or blocks of -code and determining the dependencies between them. It focuses on R scripts, -but can be used on the bodies of functions. There are many facilities -including the ability to summarize or get a high-level view of code, -determining dependencies between variables, code improvement suggestions.") - ;; Any version of the GPL - (license (list license:gpl2+ license:gpl3+)))) - (define-public r-rappdirs (package (name "r-rappdirs") -- cgit v1.2.3 From c0608f815c4706ede4e7533409f3e7da127b767f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:49:33 +0200 Subject: gnu: r-adaptivesparsity: Update to 1.6. * gnu/packages/machine-learning.scm (r-adaptivesparsity): Update to 1.6. [propagated-inputs]: Add r-mass and r-matrix. --- gnu/packages/machine-learning.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index a86bdcb5ed..ec917e4442 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -560,13 +560,13 @@ (define-public rxcpp (define-public r-adaptivesparsity (package (name "r-adaptivesparsity") - (version "1.4") + (version "1.6") (source (origin (method url-fetch) (uri (cran-uri "AdaptiveSparsity" version)) (sha256 (base32 - "1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z")))) + "0imr5m8mll9j6n4icsv6z9rl5kbnwsp9wvzrg7n90nnmcxq2cz91")))) (properties `((upstream-name . "AdaptiveSparsity"))) (build-system r-build-system) @@ -579,7 +579,9 @@ (define-public r-adaptivesparsity (("PKG_LIBS=" prefix) (string-append prefix "-larmadillo")))))))) (propagated-inputs - `(("r-rcpp" ,r-rcpp) + `(("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) ("r-rcpparmadillo" ,r-rcpparmadillo))) (inputs `(("armadillo" ,armadillo))) -- cgit v1.2.3 From c28d8d8db06e165faa168a8e197651d941bbb9ee Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:50:14 +0200 Subject: gnu: r-kernlab: Update to 0.9-27. * gnu/packages/machine-learning.scm (r-kernlab): Update to 0.9-27. --- gnu/packages/machine-learning.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index ec917e4442..7790e78779 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -596,14 +596,14 @@ (define-public r-adaptivesparsity (define-public r-kernlab (package (name "r-kernlab") - (version "0.9-26") + (version "0.9-27") (source (origin (method url-fetch) (uri (cran-uri "kernlab" version)) (sha256 (base32 - "0xv0slf3ggw3sswsi34416lb1g3h1pqkrr2h7r1n1kvgii3l0jcm")))) + "1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/kernlab") (synopsis "Kernel-based machine learning tools") -- cgit v1.2.3 From 8da236a377f4c0c6679334bcc76704d858ae088f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:50:43 +0200 Subject: gnu: r-gtools: Update to 3.8.1. * gnu/packages/statistics.scm (r-gtools): Update to 3.8.1. --- 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 69c72541a7..4fefdcd7f2 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4091,14 +4091,14 @@ (define-public r-sfsmisc (define-public r-gtools (package (name "r-gtools") - (version "3.5.0") + (version "3.8.1") (source (origin (method url-fetch) (uri (cran-uri "gtools" version)) (sha256 (base32 - "1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6")))) + "0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505")))) (build-system r-build-system) (arguments `(#:phases -- cgit v1.2.3 From f0519c8faec872b599debde5f2f91d6dbf57a5b4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:50:59 +0200 Subject: gnu: r-zoo: Update to 1.8-3. * gnu/packages/statistics.scm (r-zoo): Update to 1.8-3. --- 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 4fefdcd7f2..eb4063c984 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4231,13 +4231,13 @@ (define-public r-rocr (define-public r-zoo (package (name "r-zoo") - (version "1.8-2") + (version "1.8-3") (source (origin (method url-fetch) (uri (cran-uri "zoo" version)) (sha256 (base32 - "1lpwigxmi5sc23xrha4gcsccsm4yfsg0sa97y6vac3pg1lliblvx")))) + "15jmkgwvq2mm9f09vijgx7sff8pszh90fndcwhk2vw9i0p183di0")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) -- cgit v1.2.3 From e5db6890adb1b842d4ad5dc3313a65f6628ec3bf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:51:15 +0200 Subject: gnu: r-ztable: Update to 0.2.0. * gnu/packages/statistics.scm (r-ztable): Update to 0.2.0. [propagated-inputs]: Add r-flextable, r-magrittr, r-moonbook, r-officer, r-rcolorbrewer, r-scales, and r-stringr. --- gnu/packages/statistics.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index eb4063c984..ccff5fc293 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4251,14 +4251,22 @@ (define-public r-zoo (define-public r-ztable (package (name "r-ztable") - (version "0.1.8") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "ztable" version)) (sha256 (base32 - "1hk5k9614n52dpfrhdws06w4gvwhnz8q47x4cwxx88qmrzm8z2m3")))) + "0g7khk5ifsdh9p31wlwh2l5mn1hzxzpv6qcn1wh34vsfjdmijjwy")))) (build-system r-build-system) + (propagated-inputs + `(("r-flextable" ,r-flextable) + ("r-magrittr" ,r-magrittr) + ("r-moonbook" ,r-moonbook) + ("r-officer" ,r-officer) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr))) (home-page "https://cran.r-project.org/web/packages/ztable") (synopsis "Zebra-striped tables in LaTeX and HTML formats for R") (description -- cgit v1.2.3 From 314e8e763f9a2b3a3d5f98e8e435691f9dc01501 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:52:05 +0200 Subject: gnu: r-ggthemes: Update to 4.0.1. * gnu/packages/statistics.scm (r-ggthemes): Update to 4.0.1. [propagated-inputs]: Remove r-assertthat and r-colorspace; add r-purrr, r-stringr, and r-tibble. --- gnu/packages/statistics.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ccff5fc293..51a3c1fada 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4361,19 +4361,20 @@ (define-public r-ggbeeswarm (define-public r-ggthemes (package (name "r-ggthemes") - (version "3.5.0") + (version "4.0.1") (source (origin (method url-fetch) (uri (cran-uri "ggthemes" version)) (sha256 (base32 - "0drbzzb4i5jq1579fx1wmgh87ybnswjn7srak2l8g771ip49xwb8")))) + "0y6570wv135sf7pv57l7bqilzw47rziaqx4vsk45pf1w4lmj0w8b")))) (build-system r-build-system) (propagated-inputs - `(("r-assertthat" ,r-assertthat) - ("r-colorspace" ,r-colorspace) - ("r-ggplot2" ,r-ggplot2) - ("r-scales" ,r-scales))) + `(("r-ggplot2" ,r-ggplot2) + ("r-purrr" ,r-purrr) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble))) (home-page "https://cran.rstudio.com/web/packages/ggthemes") (synopsis "Extra themes, scales and geoms for @code{ggplot2}") (description "This package provides extra themes and scales for -- cgit v1.2.3 From 8e499d756a4a7c5f875e023da2500536bdc10258 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:53:17 +0200 Subject: gnu: r-rann: Update to 2.6. * gnu/packages/statistics.scm (r-rann): Update to 2.6. --- 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 51a3c1fada..d832003791 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4413,13 +4413,13 @@ (define-public r-statmod (define-public r-rann (package (name "r-rann") - (version "2.5.1") + (version "2.6") (source (origin (method url-fetch) (uri (cran-uri "RANN" version)) (sha256 (base32 - "0il5i99vbcagnxvb15af5n37g04a4q1x96bz73zh3jhki9fpw9vm")))) + "1r6rivh9ba4gwnzryip0aiwsbm46zma7nvd9z5y456p2dgzp9lii")))) (properties `((upstream-name . "RANN"))) (build-system r-build-system) -- cgit v1.2.3 From 0d279d607aeccc2365a4502db4c58ec247724bb4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:53:34 +0200 Subject: gnu: r-robustbase: Update to 0.93-2. * gnu/packages/statistics.scm (r-robustbase): Update to 0.93-2. --- 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 d832003791..07e180cf53 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4735,14 +4735,14 @@ (define-public r-deoptimr (define-public r-robustbase (package (name "r-robustbase") - (version "0.93-0") + (version "0.93-2") (source (origin (method url-fetch) (uri (cran-uri "robustbase" version)) (sha256 (base32 - "130pzibn5cb8mycv8byc6npzcpddghz8m7jqwk15qmx4g3cj8zgy")))) + "1632p73iv9iqqm0v3k9rfv9way0him3fl35si1nly9wi5kpq5ci7")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) -- cgit v1.2.3 From f33a4748b7343a0f2ae3e560047b6eeca0f95235 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:53:52 +0200 Subject: gnu: r-modelmetrics: Update to 1.2.0. * gnu/packages/statistics.scm (r-modelmetrics): Update to 1.2.0. [propagated-inputs]: Add r-data-table. --- 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 07e180cf53..ce7335619b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5011,18 +5011,19 @@ (define-public r-rcppeigen (define-public r-modelmetrics (package (name "r-modelmetrics") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "ModelMetrics" version)) (sha256 (base32 - "119xxmzb5biq7k1yxqsf0jmmarmfn6lds9x9hfgv593xlpym6za8")))) + "1sgdyrf6fbsn18gk8slir4a1yhv133kfhyg2crfs759nff4aw89h")))) (properties `((upstream-name . "ModelMetrics"))) (build-system r-build-system) (propagated-inputs - `(("r-rcpp" ,r-rcpp))) + `(("r-rcpp" ,r-rcpp) + ("r-data-table" ,r-data-table))) (home-page "https://cran.r-project.org/web/packages/ModelMetrics") (synopsis "Rapid calculation of model metrics") (description -- cgit v1.2.3 From dff5640a59da533fc91fa285b6d7d7fec2f7e60a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:55:00 +0200 Subject: gnu: r-rcas: Use standard version of ghc-pandoc-citeproc. * gnu/packages/bioinformatics.scm (r-rcas)[native-inputs]: Replace "ghc-pandoc-citeproc-with-pandoc-1" with "ghc-pandoc-citeproc". --- gnu/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a03d37c5b0..028643aeb4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8518,7 +8518,7 @@ (define-public r-rcas `(("r-testthat" ,r-testthat) ;; During vignette building knitr checks that "pandoc-citeproc" ;; is in the PATH. - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1))) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc))) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) ("r-biomart" ,r-biomart) -- cgit v1.2.3 From ca248f1db90c2e7b01d734aaa51d330a29fe0937 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:55:56 +0200 Subject: gnu: pigx-rnaseq: Use latest version of Pandoc. * gnu/packages/bioinformatics.scm (pigx-rnaseq)[inputs]: Replace "ghc-pandoc-citeproc-with-pandoc-1" with "ghc-pandoc-citeproc", and "ghc-pandoc-1" with "ghc-pandoc". --- 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 028643aeb4..99313824e9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12830,8 +12830,8 @@ (define-public pigx-rnaseq ("r-rtracklayer" ,r-rtracklayer) ("r-rjson" ,r-rjson) ("salmon" ,salmon) - ("ghc-pandoc" ,ghc-pandoc-1) - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) ("python-wrapper" ,python-wrapper) ("python-pyyaml" ,python-pyyaml))) (home-page "http://bioinformatics.mdc-berlin.de/pigx/") -- cgit v1.2.3 From 7cd40c8c5dee1b323117ec85787566505be2d9ad Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:56:38 +0200 Subject: gnu: pigx-chipseq: Use latest version of Pandoc. * gnu/packages/bioinformatics.scm (pigx-chipseq)[inputs]: Replace "ghc-pandoc-citeproc-with-pandoc-1" with "ghc-pandoc-citeproc", and "ghc-pandoc-1" with "ghc-pandoc". --- 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 99313824e9..e1d953561b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12892,8 +12892,8 @@ (define-public pigx-chipseq ("macs" ,macs) ("multiqc" ,multiqc) ("perl" ,perl) - ("ghc-pandoc" ,ghc-pandoc-1) - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) ("fastqc" ,fastqc) ("bowtie" ,bowtie) ("idr" ,idr) -- cgit v1.2.3 From c2b4f81e51bab9a3ca6f2d1ba81ab1ff3b573ab4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:56:53 +0200 Subject: gnu: pigx-bsseq: Use latest version of Pandoc. * gnu/packages/bioinformatics.scm (pigx-bsseq)[inputs]: Replace "ghc-pandoc-citeproc-with-pandoc-1" with "ghc-pandoc-citeproc", and "ghc-pandoc-1" with "ghc-pandoc". --- 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 e1d953561b..7c25a71c6b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12954,8 +12954,8 @@ (define-public pigx-bsseq ("r-bookdown" ,r-bookdown) ("r-ggplot2" ,r-ggplot2) ("r-ggbio" ,r-ggbio) - ("ghc-pandoc" ,ghc-pandoc-1) - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) ("python-wrapper" ,python-wrapper) ("python-pyyaml" ,python-pyyaml) ("snakemake" ,snakemake-4) -- cgit v1.2.3 From 00a43cb81cecb30d40f9940407c9f1ba08d3d38e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 19:57:09 +0200 Subject: gnu: pigx-scrnaseq: Use latest version of Pandoc. * gnu/packages/bioinformatics.scm (pigx-scrnaseq)[inputs]: Replace "ghc-pandoc-citeproc-with-pandoc-1" with "ghc-pandoc-citeproc", and "ghc-pandoc-1" with "ghc-pandoc". --- 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 7c25a71c6b..92b6e7d50c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13005,8 +13005,8 @@ (define-public pigx-scrnaseq ("python-magic" ,python-magic) ("python-numpy" ,python-numpy) ("python-loompy" ,python-loompy) - ("ghc-pandoc" ,ghc-pandoc-1) - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) ("samtools" ,samtools) ("snakemake" ,snakemake-4) ("star" ,star) -- cgit v1.2.3 From cb341c121919877ae6267a6460c0c17536d06eff Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 22:42:16 +0200 Subject: channels: Fix external channel builds. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a regression introduced in ca719424455465fca4b872c371daf2a46de88b33 whereby external channels would fail to build due to the lack of (gcrypt …) modules. * guix/channels.scm (channel-instance-derivations): Add 'guile-gcrypt'. Pass it along CORE to 'build-channel-instance'. --- guix/channels.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/channels.scm b/guix/channels.scm index 794383fe22..ebae7489f4 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -207,13 +207,18 @@ (define core-instance (guix-channel? (channel-instance-channel instance))) instances)) + ;; Guile-Gcrypt is a dependency of CORE-INSTANCE. + (define guile-gcrypt + (module-ref (resolve-interface '(gnu packages gnupg)) + 'guile-gcrypt)) + (mlet %store-monad ((core (build-channel-instance core-instance))) (mapm %store-monad (lambda (instance) (if (eq? instance core-instance) (return core) (build-channel-instance instance - (list core)))) + (list core guile-gcrypt)))) instances))) (define (whole-package-for-legacy name modules) -- cgit v1.2.3 From 37a6cdbf1b3503d3e60840a176318284b1f7ca25 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 23:31:51 +0200 Subject: git: Don't require users to specifiy "origin/" for branches. Fixes . Reported by Eric Brown . * guix/git.scm (update-cached-checkout): Remove "origin/" from default REF. Define CANONICAL-REF and use it instead of REF. (latest-repository-commit): Remove "origin/" from default REF. * guix/channels.scm (%default-channels): Remove "origin/" from 'branch'. --- guix/channels.scm | 2 +- guix/git.scm | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/guix/channels.scm b/guix/channels.scm index ebae7489f4..cf833db8b9 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -78,7 +78,7 @@ (define %default-channels ;; Default list of channels. (list (channel (name 'guix) - (branch "origin/master") + (branch "master") (url "https://git.savannah.gnu.org/git/guix.git")))) (define (guix-channel? channel) diff --git a/guix/git.scm b/guix/git.scm index c577eba5ee..3d0eb93d9b 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -112,7 +112,7 @@ (define obj (define* (update-cached-checkout url #:key - (ref '(branch . "origin/master")) + (ref '(branch . "master")) (cache-directory (url-cache-directory url (%repository-cache-directory)))) @@ -122,6 +122,17 @@ (define* (update-cached-checkout url REF is pair whose key is [branch | commit | tag] and value the associated data, respectively [ | | ]." + (define canonical-ref + ;; We used to require callers to specify "origin/" for each branch, which + ;; made little sense since the cache should be transparent to them. So + ;; here we append "origin/" if it's missing and otherwise keep it. + (match ref + (('branch . branch) + `(branch . ,(if (string-prefix? "origin/" branch) + branch + (string-append "origin/" branch)))) + (_ ref))) + (with-libgit2 (let* ((cache-exists? (openable-repository? cache-directory)) (repository (if cache-exists? @@ -130,7 +141,7 @@ (define* (update-cached-checkout url ;; Only fetch remote if it has not been cloned just before. (when cache-exists? (remote-fetch (remote-lookup repository "origin"))) - (let ((oid (switch-to-ref repository ref))) + (let ((oid (switch-to-ref repository canonical-ref))) ;; Reclaim file descriptors and memory mappings associated with ;; REPOSITORY as soon as possible. @@ -144,7 +155,7 @@ (define* (latest-repository-commit store url #:key (cache-directory (%repository-cache-directory)) - (ref '(branch . "origin/master"))) + (ref '(branch . "master"))) "Return two values: the content of the git repository at URL copied into a store directory and the sha1 of the top level commit in this directory. The reference to be checkout, once the repository is fetched, is specified by REF. -- cgit v1.2.3 From a5c70c2e0e91ede6061ba130c27e5fdedbcbf2d8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 6 Sep 2018 02:29:48 +0200 Subject: gnu: libmpdclient: Update to 2.15. * gnu/packages/mpd.scm (libmpdclient): Update to 2.15. --- 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 2554ec9efd..5c82bf9ba1 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -56,7 +56,7 @@ (define-module (gnu packages mpd) (define-public libmpdclient (package (name "libmpdclient") - (version "2.14") + (version "2.15") (source (origin (method url-fetch) (uri @@ -65,7 +65,7 @@ (define-public libmpdclient "/libmpdclient-" version ".tar.xz")) (sha256 (base32 - "0whk0qw0lsd3kaimdznz0c45bfym0p4885zf4b7pfc7y3dwy510a")))) + "1la60ar6i4ghpscrlgm45kci9b74bvkpsfybhg0ygs4rzpwzdnxl")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From d83477adf92f18bd3a19b1ab2d22a0312bbaf294 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 6 Sep 2018 02:23:49 +0200 Subject: gnu: font-fira-code: Update to 1.205. * gnu/packages/fonts.scm (font-fira-code): Update to 1.205. --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4d02b4bc62..ce07d3ad4c 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -887,7 +887,7 @@ (define-public font-fira-sans (define-public font-fira-code (package (name "font-fira-code") - (version "1.204") + (version "1.205") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://github.com/tonsky/FiraCode/releases/" @@ -895,7 +895,7 @@ (define-public font-fira-code "/FiraCode_" version ".zip")) (sha256 (base32 - "17wky221b3igrqhmxgmqiyv1xdfn0nw471vzhpkrvv1w2w1w1k18")))) + "13bxgf59g6fw5191xclcjzn22hj8jk9k5jjwf7vz07mpjbgadcl5")))) (build-system font-build-system) (home-page "https://mozilla.github.io/Fira/") (synopsis "Monospaced font with programming ligatures") -- cgit v1.2.3 From 79b283e433be171c7917fd5d9f10fa2185862a36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 6 Sep 2018 02:21:26 +0200 Subject: gnu: ccache: Update to 3.4.3. * gnu/packages/ccache.scm (ccache): Update to 3.4.3. [arguments]: Remove obsolete 'munge-failing-test' phase. --- gnu/packages/ccache.scm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index af06b741a7..af29cee565 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -30,7 +30,7 @@ (define-module (gnu packages ccache) (define-public ccache (package (name "ccache") - (version "3.4.2") + (version "3.4.3") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ (define-public ccache version ".tar.xz")) (sha256 (base32 - "1qpy6k9f06kpr6bxy26ncdxcszqv1skcncvczcvksgfncx1v3a0q")))) + "0jjzq5340qw3jm5gkajjkkb5wd0yqqy1dyjw3mf3jy15cakmazi9")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ; for test.sh ("which" ,(@ (gnu packages base) which)))) @@ -49,13 +49,6 @@ (define-public ccache (lambda _ (substitute* '("unittest/test_hashutil.c" "test/suites/base.bash") (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) - (add-before 'check 'munge-failing-test - (lambda _ - ;; XXX The new ‘Multiple -fdebug-prefix-map’ test added in - ;; 3.3.5 fails (why?). Force it to report success instead. - (substitute* "test/suites/debug_prefix_map.bash" - (("grep \"name\"") "true")) #t))))) (home-page "https://ccache.samba.org/") (synopsis "Compiler cache") -- cgit v1.2.3 From d53aeeafccb91fd03c6c540153720717eceb92a4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 6 Sep 2018 04:53:32 +0200 Subject: Add missing use-modules clause. This is a follow-up to commit 5dfe491290b14a1ee7efd70f9cd083969c24e1c2. Sorry! * gnu/packages/bioinformatics.scm, gnu/packages/graph.scm: Use (gnu packages bioconductor). --- gnu/packages/bioinformatics.scm | 1 + gnu/packages/graph.scm | 1 + 2 files changed, 2 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 92b6e7d50c..2d5ec6d170 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -51,6 +51,7 @@ (define-module (gnu packages bioinformatics) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages bioconductor) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 3b222d6ee8..245ee8f956 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -28,6 +28,7 @@ (define-module (gnu packages graph) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages gcc) + #:use-module (gnu packages bioconductor) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages compression) #:use-module (gnu packages cran) -- cgit v1.2.3 From 96d6c41dfa5d69d4f25c8b53cb74e2ee621165d6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 10:43:01 +0200 Subject: gnu: guile-commonmark: Install .go files to libdir. * gnu/packages/guile.scm (guile-commonmark)[source](snippet): Change the "modir = " and "godir = " line separately, allowing .go files to be installed to $(libdir). --- gnu/packages/guile.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f594cd13ed..335bd6219f 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1612,8 +1612,10 @@ (define-public guile-commonmark (("ac_subst_vars='") "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n")) (substitute* "Makefile.in" - (("/site/2.0") - "/site/@GUILE_EFFECTIVE_VERSION@")) + (("moddir =.*") + "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n") + (("godir =.*") + "godir = $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) #t)))) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From b3ca2d8883f7aa5c8505e04427f2d892148f61e1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 10:46:07 +0200 Subject: gnu: hpcguix-web: Update to 9ff40fc. * gnu/packages/web.scm (hpcguix-web): Update to 9ff40fc. [arguments]: In 'wrap-program' phase, add guile-gcrypt, guile-git, and guile-bytestructures to DEPS. --- gnu/packages/web.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 918548513d..9567254424 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6708,10 +6708,11 @@ (define-public nghttp2 (license l:expat))) (define-public hpcguix-web - (let ((commit "87cb51611c0f1fd3863b830614ab1364599cf1ca")) + (let ((commit "9ff40fcc77f248901d861756dbbddc80270c380c") + (revision "2")) (package (name "hpcguix-web") - (version (git-version "0.0.1" "1" commit)) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -6720,7 +6721,7 @@ (define-public hpcguix-web (file-name (git-file-name name version)) (sha256 (base32 - "0p66fl8r3v73v13fqg9rbqbzbdzvyznchxbq2s1jwq6qfsn2w3gr")))) + "0lxcj9s3wxrv1l7lrxxx374jwzx7h60gxwkbgr46lzcbgvb3k26s")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -6741,10 +6742,13 @@ (define-public hpcguix-web (let* ((out (assoc-ref outputs "out")) (guix (assoc-ref inputs "guix")) (guile (assoc-ref inputs "guile")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) + (git (assoc-ref inputs "guile-git")) + (bs (assoc-ref inputs "guile-bytestructures")) (json (assoc-ref inputs "guile-json")) (guile-cm (assoc-ref inputs "guile-commonmark")) - (deps (list guile guile-cm guix json)) + (deps (list guile gcrypt git bs guile-cm guix json)) (effective (read-line (open-pipe* OPEN_READ -- cgit v1.2.3 From 89874fd15610bc35c586b38a0d575522140ff5b8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 10:48:44 +0200 Subject: gnu: guile-charting: Install .go files to libdir. * gnu/packages/plotutils.scm (guile-charting)[source](modules, snippet): Remove. --- gnu/packages/plotutils.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 0e65cb319f..2a330695c6 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.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 Eric Bavier ;;; Copyright © 2016, 2017 Nicolas Goaziou ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -93,15 +93,7 @@ (define-public guile-charting "guile-charting-" version ".tar.gz")) (sha256 (base32 - "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Use the standard location for modules. - (substitute* "Makefile.in" - (("godir = .*$") - "godir = $(moddir)\n")) - #t)))) + "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) -- cgit v1.2.3 From b290a631a0f9ee9a52095be66c843780dc0366f9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 10:49:42 +0200 Subject: gnu: guile-present: Install .go files to libdir. * gnu/packages/plotutils.scm (guile-present)[source](modules, snippet): Remove. --- gnu/packages/gtk.scm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 6c43a3ab56..4daaad0ebc 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -903,14 +903,7 @@ (define-public guile-present (sha256 (base32 "1qam447m05sxxv6x8dlzg7qnyfc4dh8apjw1idpfhpns671gfr6m")) - (patches (search-patches "guile-present-coding.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "Makefile.in" - (("godir = .*$") - "godir = $(moddir)\n")) - #t)))) + (patches (search-patches "guile-present-coding.patch")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 888b64038db00c73467a05320c7c7f03070e5621 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 10:59:32 +0200 Subject: build: Remove -L flag when $LIBGCRYPT_LIBDIR is empty. Reported by Alex Vong . * config-daemon.ac: Do not add "-L$LIBGCRYPT_LIBDIR" to LIBGCRYPT_LIBS when "$LIBGCRYPT_LIBDIR" is empty. --- config-daemon.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-daemon.ac b/config-daemon.ac index 6cf65bef1d..04f0fde3b2 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -48,7 +48,7 @@ if test "x$guix_build_daemon" = "xyes"; then esac case "$LIBGCRYPT_LIBDIR" in - no) + no | "") LIBGCRYPT_LIBS="-lgcrypt" ;; *) -- cgit v1.2.3 From f66be84d08b90a9ecf08f79c8156d072ad359c36 Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Sun, 2 Sep 2018 09:27:56 -0500 Subject: gnu: gfortran, gcc-objc, gcc-objc++: Add version 8. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gcc.scm (gfortran-8, gcc-objc-8, gcc-objc++-8): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/gcc.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index bdff2ddada..0dd5d64464 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -663,6 +663,10 @@ (define-public gfortran-7 (custom-gcc gcc-7 "gfortran" '("fortran") %generic-search-paths)) +(define-public gfortran-8 + (custom-gcc gcc-8 "gfortran" '("fortran") + %generic-search-paths)) + (define-public gfortran ;; Note: Update this when GCC changes! We cannot use ;; (custom-gcc gcc "fortran" …) because that would lead to a package object @@ -723,6 +727,15 @@ (define-public gcc-objc-7 (variable "LIBRARY_PATH") (files '("lib" "lib64")))))) +(define-public gcc-objc-8 + (custom-gcc gcc-8 "gcc-objc" '("objc") + (list (search-path-specification + (variable "OBJC_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib" "lib64")))))) + (define-public gcc-objc gcc-objc-5) (define-public gcc-objc++-4.8 @@ -770,6 +783,15 @@ (define-public gcc-objc++-7 (variable "LIBRARY_PATH") (files '("lib" "lib64")))))) +(define-public gcc-objc++-8 + (custom-gcc gcc-8 "gcc-objc++" '("obj-c++") + (list (search-path-specification + (variable "OBJCPLUS_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib" "lib64")))))) + (define-public gcc-objc++ gcc-objc++-5) (define (make-libstdc++-doc gcc) -- cgit v1.2.3 From 3ffcad7df3ab8947010814f61b32ce14ea80e780 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 11:55:36 +0200 Subject: build-self: Accomodate upgrades from May 2016 and earlier. Reported by Paul Garlick . Fixes a bug whereby "old" Guix instances (before mid-May 2018) would fail to pull to current master. Specifically, Paul reported being unable to upgrade from 6f84dc4314cd84550d9fc7e7afa11c495edc45a5 (a commit that predates that addition of the 'bootstrap' phase on gnu-build-system on 'master' and that also predates the new 'guix pull'.) * build-aux/build-self.scm (guile-gcrypt)[arguments]: New field. --- build-aux/build-self.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index f472724f18..f91b43987a 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -216,6 +216,16 @@ (define guile-gcrypt "1gir7ifknbmbvjlql5j6wzk7bkb5lnmq80q59ngz43hhpclrk5k3")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) + (arguments + ;; The 'bootstrap' phase appeared in 'core-updates', which was merged + ;; into 'master' ca. June 2018. + '(#:phases (modify-phases %standard-phases + (delete 'bootstrap) + (add-before 'configure 'bootstrap + (lambda _ + (unless (zero? (system* "autoreconf" "-vfi")) + (error "autoreconf failed")) + #t))))) (native-inputs `(("pkg-config" ,(specification->package "pkg-config")) ("autoconf" ,(specification->package "autoconf")) -- cgit v1.2.3 From 7df945656cd448b13969f90a7a95d8a4e9d442f7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 13:49:06 +0200 Subject: services: hpcguix-web: Set SSL_CERT_DIR. Previously Git pulls over HTTPS would fail with: guix/git.scm:132:7: In procedure update-cached-checkout: Throw to key `git-error' with args `(#< code: -17 message: "the SSL certificate is invalid" class: 16>)'. * gnu/services/web.scm (hpcguix-web-shepherd-service): Pass "SSL_CERT_DIR=/etc/ssl/certs". * doc/guix.texi (Web Services): Mention certificates. --- doc/guix.texi | 11 +++++++++++ gnu/services/web.scm | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9375aac30c..c328af40cd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -16848,6 +16848,17 @@ A typical hpcguix-web service declaration looks like this: (menu '(("/about" "ABOUT")))))))) @end example +@quotation Note +The hpcguix-web service periodically updates the package list it publishes by +pulling channels from Git. To that end, it needs to access X.509 certificates +so that it can authenticate Git servers when communicating over HTTPS, and it +assumes that @file{/etc/ssl/certs} contains those certificates. + +Thus, make sure to add @code{nss-certs} or another certificate package to the +@code{packages} field of your configuration. @ref{X.509 Certificates}, for +more information on X.509 certificates. +@end quotation + @node Certificate Services @subsubsection Certificate Services diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 467656444e..3778efd048 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -967,7 +967,8 @@ (define (hpcguix-web-shepherd-service config) #:user "hpcguix-web" #:group "hpcguix-web" #:environment-variables - (list "XDG_CACHE_HOME=/var/cache"))) + (list "XDG_CACHE_HOME=/var/cache" + "SSL_CERT_DIR=/etc/ssl/certs"))) (stop #~(make-kill-destructor)))))) (define hpcguix-web-service-type -- cgit v1.2.3 From fd3a64335da5a591dbe9276395d0ad6bb09f00bb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Sep 2018 13:53:04 +0200 Subject: doc: Update hpcguix-web configuration documentation. * doc/guix.texi (Web Services): Document 'channels' and 'package-list-expiration'. --- doc/guix.texi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c328af40cd..2c5b01e4a8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -16825,6 +16825,13 @@ Extension package for @code{hpcguix-web}. @item @code{menu} (default: @code{'()}) Additional entry in page @code{menu}. + +@item @code{channels} (default: @code{%default-channels}) +List of channels from which the package list is built (@pxref{Channels}). + +@item @code{package-list-expiration} (default: @code{(* 12 3600)}) +The expiration time, in seconds, after which the package list is rebuilt from +the latest instances of the given channels. @end table See the hpcguix-web repository for a -- cgit v1.2.3 From 21f5f351fb4a21a8051cdb2b747fef57aa2fa8d4 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 6 Sep 2018 10:55:21 -0400 Subject: gnu: libgme: Update to 0.6.2. * gnu/packages/music.scm (libgme): Update to 0.6.2. [native-inputs]: Add gcc-4.9. --- gnu/packages/music.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ba21e5da2b..e39478e794 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -786,18 +786,23 @@ (define-public gtklick (define-public libgme (package (name "libgme") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mpyne/game-music-emu/" "downloads/game-music-emu-" version - ".tar.bz2")) + ".tar.xz")) (sha256 (base32 - "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw")))) + "0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check target + (native-inputs + `(;; Use gcc-4.9 to work around an internal compiler error that happens + ;; when using gcc-5.5.0. FIXME: Try removing this when the default + ;; compiler is no longer gcc-5.5.0. + ("gcc" ,gcc-4.9))) (home-page "https://bitbucket.org/mpyne/game-music-emu") (synopsis "Video game music file playback library") (description -- cgit v1.2.3 From 1e066f070611b64d24af4544efe8075bb1999d30 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 6 Sep 2018 16:43:10 -0400 Subject: gnu: curl: Update replacement to 7.61.1 [fixes CVE-2018-14618]. * gnu/packages/curl.scm (curl)[replacement]: Update to 7.61.1. (curl-7.61.0): Replace variable with ... (curl-7.61.1): ... new variable. --- gnu/packages/curl.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 1907d2dc3d..6d45dc0cc5 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -51,7 +51,7 @@ (define-public curl (package (name "curl") (version "7.59.0") - (replacement curl-7.61.0) + (replacement curl-7.61.1) (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" @@ -141,10 +141,10 @@ (define-public curl "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define-public curl-7.61.0 +(define-public curl-7.61.1 (package (inherit curl) - (version "7.61.0") + (version "7.61.1") (source (origin (method url-fetch) @@ -152,7 +152,7 @@ (define-public curl-7.61.0 version ".tar.xz")) (sha256 (base32 - "080p9r2kln8cbfj0rqfn6wqp5kdn9k5wp720nirkcw845lcmavpg")))))) + "148qv1f32290r9pwg07mccawihz4srznkzsdwdl2xllvlgb16n9x")))))) (define-public kurly (package -- cgit v1.2.3 From 91cc2a38ded0f9a637c37d83d72fa514a13fe6bd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 6 Sep 2018 16:46:08 -0400 Subject: gnu: Wireshark: Update to 2.6.3 [fixes CVE-2018-{14994,16056,16057,16058}]. * gnu/packages/networking.scm (wireshark): Update to 2.6.3. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 61c0ad7fba..acf523d366 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -580,7 +580,7 @@ (define-public whois (define-public wireshark (package (name "wireshark") - (version "2.6.2") + (version "2.6.3") (source (origin (method url-fetch) @@ -588,7 +588,7 @@ (define-public wireshark version ".tar.xz")) (sha256 (base32 - "153h6prxamv5a62f3pfadkry0y57696xrgxfy2gfy5xswdg8kcj9")))) + "1v538h02y8avwy3cr11xz6wkyf9xd8qva4ng4sl9f2fw4skahn6i")))) (build-system gnu-build-system) (inputs `(("c-ares" ,c-ares) ("glib" ,glib) -- cgit v1.2.3 From 0012e0dd5642fbbb8ee40a68f65afc184952fc98 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 7 Sep 2018 02:57:28 +0200 Subject: gnu: knot: Update to 2.7.2. * gnu/packages/dns.scm (knot): Update to 2.7.2. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 7a80e1bd9b..29c3d9b923 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -498,14 +498,14 @@ (define-public yadifa (define-public knot (package (name "knot") - (version "2.7.1") + (version "2.7.2") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" name "-" version ".tar.xz")) (sha256 (base32 - "108k6x3hjsnyf06pv5rlxqhynjbbz13pzwax1mqff3hgv85f4skx")) + "0cc4wgb02ch09x99a1fnr7vsdik8k920q7jafzcamjvy3kpb4w6b")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 1540075c790dfaeff52c93392f2fc63b9e23b77e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 09:50:26 +0200 Subject: vm: Make UUID computation really deterministic. Fixes . * gnu/system/vm.scm (operating-system-uuid)[service-name, file-system-digest]: New procedures. Map these over services and file systems and hash the result. * tests/guix-system.sh: Add test. --- gnu/system/vm.scm | 33 +++++++++++++++++++++++++++++---- tests/guix-system.sh | 8 ++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3898872a46..91e117b9f3 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -529,17 +529,42 @@ (define build (define* (operating-system-uuid os #:optional (type 'dce)) "Compute UUID object with a deterministic \"UUID\" for OS, of the given TYPE (one of 'iso9660 or 'dce). Return a UUID object." + ;; Note: For this to be deterministic, we must not hash things that contains + ;; (directly or indirectly) procedures, for example. That rules out + ;; anything that contains gexps, thunk or delayed record fields, etc. + + (define service-name + (compose service-type-name service-kind)) + + (define (file-system-digest fs) + ;; Return a hashable digest that does not contain 'dependencies' since + ;; this field can contain procedures. + (let ((device (file-system-device fs))) + (list (file-system-mount-point fs) + (file-system-type fs) + (cond ((file-system-label? device) + (file-system-label->string device)) + ((uuid? device) + (uuid->string device)) + ((string? device) + device) + (else #f)) + (file-system-options fs)))) + (if (eq? type 'iso9660) (let ((pad (compose (cut string-pad <> 2 #\0) number->string)) - (h (hash (operating-system-services os) 3600))) + (h (hash (map service-name (operating-system-services os)) + 3600))) (bytevector->uuid (string->iso9660-uuid (string-append "1970-01-01-" (pad (hash (operating-system-host-name os) 24)) "-" (pad (quotient h 60)) "-" (pad (modulo h 60)) "-" - (pad (hash (operating-system-file-systems os) 100)))) + (pad (hash (map file-system-digest + (operating-system-file-systems os)) + 100)))) 'iso9660)) (bytevector->uuid (uint-list->bytevector @@ -547,9 +572,9 @@ (define* (operating-system-uuid os #:optional (type 'dce)) (- (expt 2 32) 1)) (hash (operating-system-host-name os) (- (expt 2 32) 1)) - (hash (operating-system-services os) + (hash (map service-name (operating-system-services os)) (- (expt 2 32) 1)) - (hash (operating-system-file-systems os) + (hash (map file-system-digest (operating-system-file-systems os)) (- (expt 2 32) 1))) (endianness little) 4) diff --git a/tests/guix-system.sh b/tests/guix-system.sh index 36ba5fbd5f..a129efdfcb 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -232,6 +232,14 @@ guix system build "$tmpfile" -d | grep '\.drv$' guix system vm "$tmpfile" -d # succeeds guix system vm "$tmpfile" -d | grep '\.drv$' +# Make sure the behavior is deterministic (). +drv1="`guix system vm "$tmpfile" -d`" +drv2="`guix system vm "$tmpfile" -d`" +test "$drv1" = "$drv2" +drv1="`guix system disk-image --file-system-type=iso9660 "$tmpfile" -d`" +drv2="`guix system disk-image --file-system-type=iso9660 "$tmpfile" -d`" +test "$drv1" = "$drv2" + make_user_config "group-that-does-not-exist" "users" if guix system build "$tmpfile" -n 2> "$errorfile" then false -- cgit v1.2.3 From 12498b59e76c0285f0d9babb0107e8e82855aa60 Mon Sep 17 00:00:00 2001 From: Alex Branham Date: Thu, 6 Sep 2018 18:35:36 +0200 Subject: gnu: emacs-ess: Update to 17.11. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-ess): Update to 17.11 [url]: Use github for https [snippet]: update julia-mode substitution, only build info doc, bypass failing test [propagated-inputs]: Add emacs-julia-mode [description]: Mention that ESS supports Julia and JAGS (which replaces OpenBUGS) [arguments]: Remove 'set-home' phase. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 957b72f4e7..1f64a5e84a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2018 Jack Hill ;;; Copyright © 2018 Pierre-Antoine Rouby +;;; Copyright © 2018 Alex Branham ;;; ;;; This file is part of GNU Guix. ;;; @@ -4123,22 +4124,34 @@ (define-public emacs-julia-mode (define-public emacs-ess (package (name "emacs-ess") - (version "16.10") + (version "17.11") (source (origin (method url-fetch) - (uri (string-append "http://ess.r-project.org/downloads/ess/ess-" - version ".tgz")) + (uri (string-append "https://github.com/emacs-ess/ESS/archive/v" + version ".tar.gz")) (sha256 (base32 - "04m8lwp3ylh2vl7k2bjjs7mxbm64j4sdckqpvnm9k0qhaqf02pjk")) + "0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c")) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (snippet '(begin ;; Stop ESS from trying to bundle an external julia-mode.el. (substitute* "lisp/Makefile" (("^\tjulia-mode.elc\\\\\n") "") - (("^all: \\$\\(ELC\\) ess-custom.el julia-mode.el") - "all: $(ELC) ess-custom.el")) + (("^dist: all julia-mode.el") + "dist: all")) + ;; No need to build docs in so many formats. Also, skipping + ;; pdf lets us not pull in texlive. + (substitute* "doc/Makefile" + (("all : info text html pdf") + "all : info") + (("install: install-info install-other-docs") + "install: install-info")) + ;; Test fails upstream + (substitute* "test/ess-r-tests.el" + (("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()") + "ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed")) #t)))) (build-system gnu-build-system) (arguments @@ -4157,10 +4170,6 @@ (define-public emacs-ess (("SHELL = /bin/sh") (string-append "SHELL = " (which "sh")))) #t)) - ;; FIXME: the texlive-union insists on regenerating fonts. It stores - ;; them in HOME, so it needs to be writeable. - (add-before 'build 'set-HOME - (lambda _ (setenv "HOME" "/tmp") #t)) (replace 'check (lambda _ (invoke "make" "test"))))))) @@ -4169,16 +4178,14 @@ (define-public emacs-ess ("r-minimal" ,r-minimal))) (native-inputs `(("perl" ,perl) - ("texinfo" ,texinfo) - ("texlive" ,(texlive-union (list texlive-latex-natbib - texlive-latex-seminar - texlive-latex-hyperref - texlive-tex-texinfo))))) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("emacs-julia-mode" ,emacs-julia-mode))) (home-page "https://ess.r-project.org/") (synopsis "Emacs mode for statistical analysis programs") (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU Emacs. It is designed to support editing of scripts and interaction with -various statistical analysis programs such as R and OpenBUGS.") +various statistical analysis programs such as R, Julia, and JAGS.") (license license:gpl2+))) (define-public emacs-smex -- cgit v1.2.3 From 40c10917bc3b8df853001c193da882d643db1bd1 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 09:24:34 +0200 Subject: gnu: Add r-abcp2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-abcp2): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 447be5657a..c713a9904b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5411,3 +5411,24 @@ (define-public r-abcoptim colony optimization algorithm @url{http://mf.erciyes.edu.tr/abc/pub/tr06_2005.pdf}. This version is a work-in-progress and is written in R code.") (license license:expat))) + +(define-public r-abcp2 + (package + (name "r-abcp2") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "ABCp2" version)) + (sha256 + (base32 "1s2skkxpzss7c29i8600psgrp0hl46jcrxqrmy2b4db8hc0kcnbx")))) + (properties `((upstream-name . "ABCp2"))) + (build-system r-build-system) + (propagated-inputs `(("r-mass" ,r-mass))) + (home-page "https://cran.r-project.org/web/packages/ABCp2/") + (synopsis "Approximate Bayesian Computational Model for Estimating P2") + (description + "This package tests the goodness of fit of a distribution of offspring to the Normal, +Poisson, and Gamma distribution and estimates the proportional paternity of the +second male (P2) based on the best fit distribution.") + (license license:gpl2))) -- cgit v1.2.3 From cadc10a513af2624c9233fb2cffb4c4ff5471197 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 09:32:45 +0200 Subject: gnu: Add r-abcrf. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-abcrf): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c713a9904b..93c111bccc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5432,3 +5432,31 @@ (define-public r-abcp2 Poisson, and Gamma distribution and estimates the proportional paternity of the second male (P2) based on the best fit distribution.") (license license:gpl2))) + +(define-public r-abcrf + (package + (name "r-abcrf") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abcrf" version)) + (sha256 + (base32 "06vy3inikrr9hv36q4djhrgzi9zizdfnhz17wpra8kadmr7qj441")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-matrixstats" ,r-matrixstats) + ("r-ranger" ,r-ranger) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-readr" ,r-readr) + ("r-stringr" ,r-stringr))) + (home-page "https://cran.r-project.org/web/packages/abcrf/") + (synopsis "Approximate bayesian computation via random forests") + (description + "This package performs approximate bayesian computation (ABC) model choice and +parameter inference via random forests. This machine learning tool named random +forests (RF) can conduct selection among the highly complex models covered by +ABC algorithms.") + (license license:gpl2+))) -- cgit v1.2.3 From 12da2a5e58c6f518892376df5e1af4a511f12e6b Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 09:39:17 +0200 Subject: gnu: Add r-abctools. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-abctools): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 93c111bccc..aa58efce7c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5460,3 +5460,28 @@ (define-public r-abcrf forests (RF) can conduct selection among the highly complex models covered by ABC algorithms.") (license license:gpl2+))) + +(define-public r-abctools + (package + (name "r-abctools") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "abctools" version)) + (sha256 + (base32 "07s9dg10i8lsxl73b4n2hynca2fjgb0ykb0dz8c3zv6cgw3cyx97")))) + (build-system r-build-system) + (propagated-inputs + `(("r-abc" ,r-abc) + ("r-abind" ,r-abind) + ("r-hmisc" ,r-hmisc) + ("r-plyr" ,r-plyr))) + (home-page "https://github.com/dennisprangle/abctools/") + (synopsis "Tools for ABC analyses") + (description + "This @code{r-abctools} package provides tools for approximate Bayesian computation +including summary statistic selection and assessing coverage. This includes +recent dimension reduction algorithms to tune the choice of summary statistics, +and coverage methods to tune the choice of threshold.") + (license license:gpl2+))) -- cgit v1.2.3 From 77b33e0ede4bd015d863f0b1f63f492c62fb1943 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:09:12 +0200 Subject: gnu: Add r-ggstance. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gnu/packages/cran.scm (r-ggstance): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index aa58efce7c..8026f99736 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5485,3 +5485,29 @@ (define-public r-abctools recent dimension reduction algorithms to tune the choice of summary statistics, and coverage methods to tune the choice of threshold.") (license license:gpl2+))) + +(define-public r-ggstance + (package + (name "r-ggstance") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggstance" version)) + (sha256 + (base32 "0v7f3xdaaridw6d4jvnsfwxmpjrasvx5vl555wsrn50aah17fkvh")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-plyr" ,r-plyr) + ("r-rlang" ,r-rlang) + ("r-withr" ,r-withr))) + (home-page "https://cran.r-project.org/web/packages/ggstance/") + (synopsis "Horizontal and vertical versions of @code{r-ggplot2}") + (description + "This package is a @code{r-ggplot2} extension that provides flipped components: +@enumerate +@item horizontal versions of @code{r-ggplot2} stats and @code{r-ggplot2} geoms; +@item vertical versions of @code{r-ggplot2} positions. +@end enumerate") + (license license:gpl3))) -- cgit v1.2.3 From c61f7bc543d98781d9c24989edbfde39af7e7320 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:16:11 +0200 Subject: gnu: Add r-mosaiccore. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-mosaiccore): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8026f99736..3be7fd7d62 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5511,3 +5511,27 @@ (define-public r-ggstance @item vertical versions of @code{r-ggplot2} positions. @end enumerate") (license license:gpl3))) + +(define-public r-mosaiccore + (package + (name "r-mosaiccore") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "mosaicCore" version)) + (sha256 + (base32 "1klw97h6lchw1cpcl8s637ikcl428cckmjq0czi7mibh9q9mw72z")))) + (properties `((upstream-name . "mosaicCore"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-lazyeval" ,r-lazyeval) + ("r-mass" ,r-mass) + ("r-rlang" ,r-rlang) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/ProjectMOSAIC/mosaicCore/") + (synopsis "Common utilities for mosaic family packages") + (description + "Common utilities used in other Mosaic family packages are collected here.") + (license license:gpl2+))) -- cgit v1.2.3 From 214452ffd339491f63560d19d2aeab4e668029a4 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:19:55 +0200 Subject: gnu: Add r-ggformula. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-ggformula): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3be7fd7d62..8144391729 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5535,3 +5535,32 @@ (define-public r-mosaiccore (description "Common utilities used in other Mosaic family packages are collected here.") (license license:gpl2+))) + +(define-public r-ggformula + (package + (name "r-ggformula") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggformula" version)) + (sha256 + (base32 "1pmpdfjfbrc6kcpq70cr1kbj2qy711hw940g2aiis6l443z706kh")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-ggstance" ,r-ggstance) + ("r-magrittr" ,r-magrittr) + ("r-mosaiccore" ,r-mosaiccore) + ("r-rlang" ,r-rlang) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/ProjectMOSAIC/ggformula/") + (synopsis "Formula interface for the @code{r-ggplot2}") + (description + "The @code{r-ggformula} introduces a family of graphics functions, gf_point(), +gf_density(), and so on, bring the formula interface to ggplot(). This captures +and extends the excellent simplicity of the lattice-graphics formula interface, +while providing the intuitive capabilities of @code{r-ggplot2}.") + (license license:expat))) -- cgit v1.2.3 From ee94cfeb99a7e3879c92ca21318960077ce4100e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 3 Sep 2018 12:46:40 +0200 Subject: pull: Add '--profile'. * guix/scripts/pull.scm (show-help, %options): Add '--profile'. (build-and-install): Change 'config-dir' argument to 'profile'. (guix-pull): Honor '--profile'. * doc/guix.texi (Invoking guix pull): Document it. --- doc/guix.texi | 4 ++++ guix/scripts/pull.scm | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2c5b01e4a8..30f1be2ab8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2851,6 +2851,10 @@ is provided, the subset of generations that match @var{pattern}. The syntax of @var{pattern} is the same as with @code{guix package --list-generations} (@pxref{Invoking guix package}). +@item --profile=@var{profile} +@itemx -p @var{profile} +Use @var{profile} instead of @file{~/.config/guix/current}. + @item --bootstrap Use the bootstrap Guile to build the latest Guix. This option is only useful to Guix developers. diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 18c04f05dd..ebc5dc9b13 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -79,6 +79,8 @@ (define (show-help) (display (G_ " -l, --list-generations[=PATTERN] list generations matching PATTERN")) + (display (G_ " + -p, --profile=PROFILE use PROFILE instead of ~/.config/guix/current")) (display (G_ " --bootstrap use the bootstrap Guile to build the new Guix")) (newline) @@ -113,6 +115,10 @@ (define %options (lambda (opt name arg result) (alist-cons 'ref `(branch . ,(string-append "origin/" arg)) result))) + (option '(#\p "profile") #t #f + (lambda (opt name arg result) + (alist-cons 'profile (canonicalize-profile arg) + result))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) @@ -152,15 +158,12 @@ (define (display-profile-news profile) #:heading (G_ "New in this revision:\n")))) (_ #t))) -(define* (build-and-install instances config-dir +(define* (build-and-install instances profile #:key verbose?) - "Build the tool from SOURCE, and install it in CONFIG-DIR." + "Build the tool from SOURCE, and install it in PROFILE." (define update-profile (store-lift build-and-use-profile)) - (define profile - (string-append config-dir "/current")) - (mlet %store-monad ((manifest (channel-instances->manifest instances))) (mbegin %store-monad (update-profile profile manifest) @@ -414,7 +417,9 @@ (define (guix-pull . args) (let* ((opts (parse-command-line args %options (list %default-options))) (cache (string-append (cache-directory) "/pull")) - (channels (channel-list opts))) + (channels (channel-list opts)) + (profile (or (assoc-ref opts 'profile) + (string-append (config-directory) "/current")))) (cond ((assoc-ref opts 'query) (process-query opts)) @@ -456,7 +461,7 @@ (define (guix-pull . args) %bootstrap-guile (canonical-package guile-2.2))))) (run-with-store store - (build-and-install instances (config-directory) + (build-and-install instances profile #:verbose? (assoc-ref opts 'verbose?))))))))))))) -- cgit v1.2.3 From bd7470185bae15e686c2b2a83d3f61807e6fa527 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 3 Sep 2018 15:03:33 +0200 Subject: Add 'guix describe'. * guix/scripts/describe.scm: New file. * Makefile.am (MODULES): Add it. (SH_TESTS): Add tests/guix-describe.sh. * po/guix/POTFILES.in: Add it. * guix/scripts/pull.scm (display-profile-content): Export. * guix/describe.scm (current-profile, current-profile-entries): Export. * tests/guix-describe.sh: New file. * doc/guix.texi (Features): Mention 'guix pull' and provenance tracking. (Invoking guix pull): Link to 'guix describe'. (Channels): Likewise. (Invoking guix describe): New node. --- Makefile.am | 2 + doc/guix.texi | 94 ++++++++++++++++++++++++++- guix/describe.scm | 4 +- guix/scripts/describe.scm | 160 ++++++++++++++++++++++++++++++++++++++++++++++ guix/scripts/pull.scm | 3 +- po/guix/POTFILES.in | 1 + tests/guix-describe.sh | 47 ++++++++++++++ 7 files changed, 308 insertions(+), 3 deletions(-) create mode 100644 guix/scripts/describe.scm create mode 100644 tests/guix-describe.sh diff --git a/Makefile.am b/Makefile.am index a3498460e0..5c8639d665 100644 --- a/Makefile.am +++ b/Makefile.am @@ -204,6 +204,7 @@ MODULES = \ guix/scripts/authenticate.scm \ guix/scripts/refresh.scm \ guix/scripts/repl.scm \ + guix/scripts/describe.scm \ guix/scripts/system.scm \ guix/scripts/system/search.scm \ guix/scripts/lint.scm \ @@ -409,6 +410,7 @@ SH_TESTS = \ tests/guix-environment.sh \ tests/guix-environment-container.sh \ tests/guix-graph.sh \ + tests/guix-describe.sh \ tests/guix-lint.sh TESTS = $(SCM_TESTS) $(SH_TESTS) diff --git a/doc/guix.texi b/doc/guix.texi index 30f1be2ab8..19a497c746 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -147,6 +147,7 @@ Package Management * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. * Channels:: Customizing the package collection. +* Invoking guix describe:: Display information about your Guix revision. * Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. @@ -1698,6 +1699,7 @@ guix package -i emacs-guix * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. * Channels:: Customizing the package collection. +* Invoking guix describe:: Display information about your Guix revision. * Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. @end menu @@ -1751,7 +1753,7 @@ collected. @cindex reproducibility @cindex reproducible builds -Finally, Guix takes a @dfn{purely functional} approach to package +Guix takes a @dfn{purely functional} approach to package management, as described in the introduction (@pxref{Introduction}). Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build that package---compiler, libraries, build @@ -1779,6 +1781,15 @@ a package to quickly set up the right development environment for their package, without having to manually install the dependencies of the package into their profile (@pxref{Invoking guix environment}). +@cindex replication, of software environments +@cindex provenance tracking, of software artifacts +All of Guix and its package definitions is version-controlled, and +@command{guix pull} allows you to ``travel in time'' on the history of Guix +itself (@pxref{Invoking guix pull}). This makes it possible to replicate a +Guix instance on a different machine or at a later point in time, which in +turn allows you to @emph{replicate complete software environments}, while +retaining precise @dfn{provenance tracking} of the software. + @node Invoking guix package @section Invoking @command{guix package} @@ -2806,6 +2817,9 @@ Generation 3 Jun 13 2018 23:31:07 (current) 69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{} @end example +@ref{Invoking guix describe, @command{guix describe}}, for other ways to +describe the current status of Guix. + This @code{~/.config/guix/current} profile works like any other profile created by @command{guix package} (@pxref{Invoking guix package}). That is, you can list generations, roll back to the previous @@ -2851,6 +2865,9 @@ is provided, the subset of generations that match @var{pattern}. The syntax of @var{pattern} is the same as with @code{guix package --list-generations} (@pxref{Invoking guix package}). +@ref{Invoking guix describe}, for a way to display information about the +current generation only. + @item --profile=@var{profile} @itemx -p @var{profile} Use @var{profile} instead of @file{~/.config/guix/current}. @@ -3023,6 +3040,9 @@ say, on another machine, by providing a channel specification in (branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb"))) @end lisp +The @command{guix describe --format=channels} command can even generate this +list of channels directly (@pxref{Invoking guix describe}). + At this point the two machines run the @emph{exact same Guix}, with access to the @emph{exact same packages}. The output of @command{guix build gimp} on one machine will be exactly the same, bit for bit, as the output of the same @@ -3034,6 +3054,78 @@ This gives you super powers, allowing you to track the provenance of binary artifacts with very fine grain, and to reproduce software environments at will---some sort of ``meta reproducibility'' capabilities, if you will. +@node Invoking guix describe +@section Invoking @command{guix describe} + +@cindex reproducibility +@cindex replicating Guix +Often you may want to answer questions like: ``Which revision of Guix am I +using?'' or ``Which channels am I using?'' This is useful information in many +situations: if you want to @emph{replicate} an environment on a different +machine or user account, if you want to report a bug or to determine what +change in the channels you are using caused it, or if you want to record your +system state for reproducibility purposes. The @command{guix describe} +command answers these questions. + +When run from a @command{guix pull}ed @command{guix}, @command{guix describe} +displays the channel(s) that it was built from, including their repository URL +and commit IDs (@pxref{Channels}): + +@example +$ guix describe +Generation 10 Sep 03 2018 17:32:44 (current) + guix e0fa68c + repository URL: https://git.savannah.gnu.org/git/guix.git + branch: master + commit: e0fa68c7718fffd33d81af415279d6ddb518f727 +@end example + +If you're familiar with the Git version control system, this is similar in +spirit to @command{git describe}; the output is also similar to that of +@command{guix pull --list-generations}, but limited to the current generation +(@pxref{Invoking guix pull, the @option{--list-generations} option}). Because +the Git commit ID shown above unambiguously refers to a snapshot of Guix, this +information is all it takes to describe the revision of Guix you're using, and +also to replicate it. + +To make it easier to replicate Guix, @command{guix describe} can also be asked +to return a list of channels instead of the human-readable description above: + +@example +$ guix describe -f channels +(list (channel + (name 'guix) + (url "https://git.savannah.gnu.org/git/guix.git") + (commit + "e0fa68c7718fffd33d81af415279d6ddb518f727"))) +@end example + +@noindent +You can save this to a file and feed it to @command{guix pull -C} on some +other machine or at a later point in time, which will instantiate @emph{this +exact Guix revision} (@pxref{Invoking guix pull, the @option{-C} option}). +From there on, since you're able to deploy the same revision of Guix, you can +just as well @emph{replicate a complete software environment}. We humbly +think that this is @emph{awesome}, and we hope you'll like it too! + +The details of the options supported by @command{guix describe} are as +follows: + +@table @code +@item --format=@var{format} +@itemx -f @var{format} +Produce output in the specified @var{format}, one of: + +@table @code +@item human +produce human-readable output; +@item channels +produce a list of channel specifications that can be passed to @command{guix +pull -C} or installed as @file{~/.config/guix/channels.scm} (@pxref{Invoking +guix pull}). +@end table +@end table + @node Invoking guix pack @section Invoking @command{guix pack} diff --git a/guix/describe.scm b/guix/describe.scm index 3122a762fe..670db63ce7 100644 --- a/guix/describe.scm +++ b/guix/describe.scm @@ -21,7 +21,9 @@ (define-module (guix describe) #:use-module (guix profiles) #:use-module (srfi srfi-1) #:use-module (ice-9 match) - #:export (package-path-entries)) + #:export (current-profile + current-profile-entries + package-path-entries)) ;;; Commentary: ;;; diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm new file mode 100644 index 0000000000..46feea2940 --- /dev/null +++ b/guix/scripts/describe.scm @@ -0,0 +1,160 @@ +;;; 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 scripts describe) + #:use-module ((guix ui) #:hide (display-profile-content)) + #:use-module (guix scripts) + #:use-module (guix describe) + #:use-module (guix profiles) + #:use-module ((guix scripts pull) #:select (display-profile-content)) + #:use-module (git) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-37) + #:use-module (ice-9 match) + #:autoload (ice-9 pretty-print) (pretty-print) + #:export (guix-describe)) + + +;;; +;;; Command-line options. +;;; + +(define %options + ;; Specifications of the command-line options. + (list (option '(#\f "format") #t #f + (lambda (opt name arg result) + (unless (member arg '("human" "channels")) + (leave (G_ "~a: unsupported output format~%") arg)) + (alist-cons 'format 'channels result))) + (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix describe"))))) + +(define %default-options + ;; Alist of default option values. + '((format . human))) + +(define (show-help) + (display (G_ "Usage: guix describe [OPTION]... +Display information about the channels currently in use.\n")) + (display (G_ " + -f, --format=FORMAT display information in the given FORMAT")) + (newline) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + +(define (display-package-search-path fmt) + "Display GUIX_PACKAGE_PATH, if it is set, according to FMT." + (match (getenv "GUIX_PACKAGE_PATH") + (#f #t) + (string + (match fmt + ('human + (format #t "~%GUIX_PACKAGE_PATH=\"~a\"~%" string)) + ('channels + (format #t (G_ "~%;; warning: GUIX_PACKAGE_PATH=\"~a\"~%") + string)))))) + +(define (display-checkout-info fmt) + "Display information about the current checkout according to FMT, a symbol +denoting the requested format. Exit if the current directory does not lie +within a Git checkout." + (let* ((program (car (command-line))) + (directory (catch 'git-error + (lambda () + (repository-discover (dirname program))) + (lambda (key err) + (leave (G_ "failed to determine origin~%"))))) + (repository (repository-open directory)) + (head (repository-head repository)) + (commit (oid->string (reference-target head)))) + (match fmt + ('human + (format #t (G_ "Git checkout:~%")) + (format #t (G_ " repository: ~a~%") (dirname directory)) + (format #t (G_ " branch: ~a~%") (reference-shorthand head)) + (format #t (G_ " commit: ~a~%") commit)) + ('channels + (pretty-print `(list (channel + (name 'guix) + (url ,(dirname directory)) + (commit ,commit)))))) + (display-package-search-path fmt))) + +(define (display-profile-info profile fmt) + "Display information about PROFILE, a profile as created by (guix channels), +in the format specified by FMT." + (define number + (match (profile-generations profile) + ((_ ... last) last))) + + (match fmt + ('human + (display-profile-content profile number)) + ('channels + (pretty-print + `(list ,@(map (lambda (entry) + (match (assq 'source (manifest-entry-properties entry)) + (('source ('repository ('version 0) + ('url url) + ('branch branch) + ('commit commit) + _ ...)) + `(channel (name ',(string->symbol + (manifest-entry-name entry))) + (url ,url) + (commit ,commit))) + + ;; Pre-0.15.0 Guix does not provide that information, + ;; so there's not much we can do in that case. + (_ '???))) + + ;; Show most recently installed packages last. + (reverse + (manifest-entries + (profile-manifest (generation-file-name profile + number))))))))) + (display-package-search-path fmt)) + + +;;; +;;; Entry point. +;;; + +(define (guix-describe . args) + (let* ((opts (args-fold* args %options + (lambda (opt name arg result) + (leave (G_ "~A: unrecognized option~%") + name)) + cons + %default-options)) + (format (assq-ref opts 'format))) + (with-error-handling + (match (current-profile) + (#f + (display-checkout-info format)) + (profile + (display-profile-info profile format)))))) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index ebc5dc9b13..976e054a84 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -48,7 +48,8 @@ (define-module (guix scripts pull) #:use-module (srfi srfi-37) #:use-module (ice-9 match) #:use-module (ice-9 vlist) - #:export (guix-pull)) + #:export (display-profile-content + guix-pull)) ;;; diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 7f881355e7..2762ea078a 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -31,6 +31,7 @@ guix/scripts/challenge.scm guix/scripts/copy.scm guix/scripts/pack.scm guix/scripts/weather.scm +guix/scripts/describe.scm guix/gnu-maintenance.scm guix/scripts/container.scm guix/scripts/container/exec.scm diff --git a/tests/guix-describe.sh b/tests/guix-describe.sh new file mode 100644 index 0000000000..af523f0a0b --- /dev/null +++ b/tests/guix-describe.sh @@ -0,0 +1,47 @@ +# 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 . + +# +# Test 'guix describe'. +# + +guix describe --version + +tmpfile="t-guix-describe-$$" +trap "rm -f $tmpfile" EXIT +rm -f "$tmpfile" + +if [ -d "$abs_top_srcdir/.git" ] +then + # Since we're in a Git checkout, we can at least check that these things + # work. + guix describe | grep -i "checkout" + if git --version > /dev/null 2>&1 + then + result="`guix describe | grep commit: | cut -d : -f 2-`" + commit="`git log | head -1 | cut -c 7-`" + test "x$result" = "x$commit" + fi + guix describe -f channels + case "`guix describe -f channels | grep url`" in + *"(url \"$abs_top_srcdir\")") true;; + *) false;; + esac +else + exit 77 +fi -- cgit v1.2.3 From 2b73d82830a29e60914ca23cc64440adb3ae4d18 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 4 Sep 2018 10:56:14 +0200 Subject: guix package: Record package provenance in manifest entries. * guix/profiles.scm (package->manifest-entry): Add #:properties and honor it. * guix/scripts/package.scm (package-provenance) (package->manifest-entry*): New procedures. (transaction-upgrade-entry, options->installable): Use 'package->manifest-entry*' instead of 'package->manifest-entry'. --- guix/profiles.scm | 6 +++-- guix/scripts/package.scm | 57 +++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index f34f4fcff6..8acfcff8c1 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -286,7 +286,8 @@ (define lookup (manifest-transitive-entries manifest)))) (define* (package->manifest-entry package #:optional (output "out") - #:key (parent (delay #f))) + #:key (parent (delay #f)) + (properties '())) "Return a manifest entry for the OUTPUT of package PACKAGE." ;; For each dependency, keep a promise pointing to its "parent" entry. (letrec* ((deps (map (match-lambda @@ -305,7 +306,8 @@ (define* (package->manifest-entry package #:optional (output "out") (dependencies (delete-duplicates deps)) (search-paths (package-transitive-native-search-paths package)) - (parent parent)))) + (parent parent) + (properties properties)))) entry)) (define (packages->manifest packages) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index b38a55d01c..97bcc699d9 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -35,6 +35,7 @@ (define-module (guix scripts package) #:use-module (guix config) #:use-module (guix scripts) #:use-module (guix scripts build) + #:autoload (guix describe) (current-profile-entries) #:use-module ((guix build utils) #:select (directory-exists? mkdir-p)) #:use-module (ice-9 format) @@ -238,7 +239,7 @@ (define (supersede old new) (info (G_ "package '~a' has been superseded by '~a'~%") (manifest-entry-name old) (package-name new)) (manifest-transaction-install-entry - (package->manifest-entry new (manifest-entry-output old)) + (package->manifest-entry* new (manifest-entry-output old)) (manifest-transaction-remove-pattern (manifest-pattern (name (manifest-entry-name old)) @@ -261,7 +262,7 @@ (define (supersede old new) (case (version-compare candidate-version version) ((>) (manifest-transaction-install-entry - (package->manifest-entry pkg output) + (package->manifest-entry* pkg output) transaction)) ((<) transaction) @@ -274,7 +275,7 @@ (define (supersede old new) (null? (package-propagated-inputs pkg))) transaction (manifest-transaction-install-entry - (package->manifest-entry pkg output) + (package->manifest-entry* pkg output) transaction)))))))) (#f (warning (G_ "package '~a' no longer exists~%") name) @@ -570,6 +571,52 @@ (define (store-item->manifest-entry item) (output "out") ;XXX: wild guess (item item)))) +(define (package-provenance package) + "Return the provenance of PACKAGE as an sexp for use as the 'provenance' +property of manifest entries, or #f if it could not be determined." + (define (entry-source entry) + (match (assq 'source + (manifest-entry-properties entry)) + (('source value) value) + (_ #f))) + + (match (and=> (package-location package) location-file) + (#f #f) + (file + (let ((file (if (string-prefix? "/" file) + file + (search-path %load-path file)))) + (and file + (string-prefix? (%store-prefix) file) + + ;; Always store information about the 'guix' channel and + ;; optionally about the specific channel FILE comes from. + (or (let ((main (and=> (find (lambda (entry) + (string=? "guix" + (manifest-entry-name entry))) + (current-profile-entries)) + entry-source)) + (extra (any (lambda (entry) + (let ((item (manifest-entry-item entry))) + (and (string-prefix? item file) + (entry-source entry)))) + (current-profile-entries)))) + (and main + `(,main + ,@(if extra (list extra) '())))))))))) + +(define (package->manifest-entry* package output) + "Like 'package->manifest-entry', but attach PACKAGE provenance meta-data to +the resulting manifest entry." + (define (provenance-properties package) + (match (package-provenance package) + (#f '()) + (sexp `((provenance ,@sexp))))) + + (package->manifest-entry package output + #:properties (provenance-properties package))) + + (define (options->installable opts manifest transaction) "Given MANIFEST, the current manifest, and OPTS, the result of 'args-fold', return an variant of TRANSACTION that accounts for the specified installations @@ -590,13 +637,13 @@ (define to-install (('install . (? package? p)) ;; When given a package via `-e', install the first of its ;; outputs (XXX). - (package->manifest-entry p "out")) + (package->manifest-entry* p "out")) (('install . (? string? spec)) (if (store-path? spec) (store-item->manifest-entry spec) (let-values (((package output) (specification->package+output spec))) - (package->manifest-entry package output)))) + (package->manifest-entry* package output)))) (_ #f)) opts)) -- cgit v1.2.3 From da34a19f3af425b5596c09fb388f0a2ee04d4bba Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 14:19:42 +0200 Subject: guix describe: Display information about the current generation. * guix/scripts/describe.scm (display-profile-info)[number]: Use the current generation number instead of the last generation number. --- guix/scripts/describe.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index 46feea2940..fdff07d0e3 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -108,8 +108,7 @@ (define (display-profile-info profile fmt) "Display information about PROFILE, a profile as created by (guix channels), in the format specified by FMT." (define number - (match (profile-generations profile) - ((_ ... last) last))) + (generation-number profile)) (match fmt ('human -- cgit v1.2.3 From 15214828a52b66f95890ee29f7fb25dec3c5b065 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 17:03:49 +0200 Subject: gnu: guile-json: Update to 1.2.0. * gnu/packages/guile.scm (guile-json): Update to 1.2.0. [license]: Change to GPL3+. --- gnu/packages/guile.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 335bd6219f..05d9315214 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -897,7 +897,7 @@ (define-public guile2.2-lib (define-public guile-json (package (name "guile-json") - (version "1.1.1") + (version "1.2.0") (home-page "https://github.com/aconchillo/guile-json") (source (origin (method url-fetch) @@ -906,7 +906,7 @@ (define-public guile-json (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12jqkn9qgwdlxbasy2n25a2a7apf30dww1nnxqfam5735k3jdngv")))) + "02kqv0q98fmchn7i4y7ycmrjlh4b2c93ij0z7k036qwpp204w4gh")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -924,7 +924,9 @@ (define-public guile-json @item Unicode support for strings. @item Allows JSON pretty printing. @end itemize\n") - (license license:lgpl3+))) + + ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). + (license license:gpl3+))) (define-public guile2.2-json (deprecated-package "guile2.2-json" guile-json)) -- cgit v1.2.3 From 6b4f99102c4e3f57cc657c14ff196b211654f88b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 17:38:08 +0200 Subject: gnu: gdb: Update to 8.2. * gnu/packages/gdb.scm (gdb): Update to 8.2. --- gnu/packages/gdb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index f0c4c8b804..74eb0f8994 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -37,14 +37,14 @@ (define-module (gnu packages gdb) (define-public gdb (package (name "gdb") - (version "8.1.1") + (version "8.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) (sha256 (base32 - "0g6hv9xk12aa58w77fydaldqr9a6b0a6bnwsq87jfc6lkcbc7p4p")))) + "0fbw6j4z7kmvywwgavn7w3knp860i5i9qnjffc5p52bwkji43963")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; FIXME "make check" fails on single-processor systems. -- cgit v1.2.3 From afdd1555c4639dbd378fddffdee702933d14a1b4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 17:57:04 +0200 Subject: gnu: indent: Add version 2.2.12. * gnu/packages/code.scm (indent-2.2.12): New variable. --- gnu/packages/code.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index be178a5f99..85ee6c2877 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -651,6 +651,19 @@ (define-public indent (license license:gpl3+) (home-page "https://www.gnu.org/software/indent/"))) +(define-public indent-2.2.12 + (package + (inherit indent) + (version "2.2.12") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/indent/indent-" version + ".tar.gz")) + (sha256 + (base32 + "12xvcd16cwilzglv9h7sgh4h1qqjd1h8s48ji2dla58m4706hzg7")))) + (native-inputs `(("texinfo" ,texinfo))))) + (define-public amalgamate (let* ((commit "c91f07eea1133aa184f652b8f1398eaf03586208") (revision "0") -- cgit v1.2.3 From 9f1f200c0462d5fa798e4d7b8c3c09294f8bfb95 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 17:59:16 +0200 Subject: gnu: diffoscope: Update to 100. * gnu/packages/package-management.scm (diffoscope): Update to 100. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 529d2943c4..5edfb5dffb 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -568,13 +568,13 @@ (define-public rpm (define-public diffoscope (package (name "diffoscope") - (version "96") + (version "100") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "1x66f2x8miy3giff14higpcs70c0zb5d3gj6yn8ac6p183sngl72")))) + "0sh7g26i5ndpa8l7xq6rnijbi3jz5izjn0b98zcnm6wpgghszw48")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 9b6c4355645534d1ae799bfef6761b75ed8b3a41 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Sep 2018 23:00:39 +0200 Subject: services: 'instantiate-missing-services' reaches fixed point. Fixes a bug whereby services indirectly depended on would not be automatically instantiated. * gnu/services.scm (instantiate-missing-services): Loop back when the length of ADJUSTED is greater than that of INSTANCES. * tests/services.scm ("instantiate-missing-services, indirect"): New test. --- gnu/services.scm | 24 +++++++++++++++++------- tests/services.scm | 25 +++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 49cf01a4f8..f151bbaa9d 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -732,13 +732,23 @@ (define target-type instances (service-type-extensions (service-kind svc)))) - (let ((instances (fold (lambda (service result) - (vhash-consq (service-kind service) service - result)) - vlist-null services))) - (fold2 adjust-service-list - services instances - services))) + (let loop ((services services)) + (define instances + (fold (lambda (service result) + (vhash-consq (service-kind service) service + result)) + vlist-null services)) + + (define adjusted + (fold2 adjust-service-list + services instances + services)) + + ;; If we instantiated services, they might in turn depend on missing + ;; services. Loop until we've reached fixed point. + (if (= (length adjusted) (vlist-length instances)) + adjusted + (loop adjusted)))) (define* (fold-services services #:key (target-type system-service-type)) diff --git a/tests/services.scm b/tests/services.scm index b146a0dec2..1ad577e601 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -138,6 +138,31 @@ (define live-service (equal? (list s1 s2) (instantiate-missing-services (list s1 s2)))))) +(test-assert "instantiate-missing-services, indirect" + (let* ((t1 (service-type (name 't1) (extensions '()) + (default-value 'dflt) + (compose concatenate) + (extend cons))) + (t2 (service-type (name 't2) (extensions '()) + (default-value 'dflt2) + (compose concatenate) + (extend cons) + (extensions + (list (service-extension t1 list))))) + (t3 (service-type (name 't3) + (extensions + (list (service-extension t2 list))))) + (s1 (service t1)) + (s2 (service t2)) + (s3 (service t3 42)) + (== (cut lset= equal? <...>))) + (and (== (list s1 s2 s3) + (instantiate-missing-services (list s3))) + (== (list s1 s2 s3) + (instantiate-missing-services (list s1 s3))) + (== (list s1 s2 s3) + (instantiate-missing-services (list s2 s3)))))) + (test-assert "instantiate-missing-services, no default value" (let* ((t1 (service-type (name 't1) (extensions '()))) (t2 (service-type (name 't2) -- cgit v1.2.3 From 48d17ba1d333109876bc53fe6ede6f8b3f519609 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 7 Sep 2018 21:01:48 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.154. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.154. --- 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 02d723316d..1670cf7a3c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -452,8 +452,8 @@ (define-public linux-libre-4.9 #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.153" - "195vzkkmjiicqfzd38hgf381rlz665rl06abzf8cww0gbnzvrf72" + (make-linux-libre "4.4.154" + "08i9fvrmswkydj538wg6c7ggxmhll0ff0bjkw8rnyslqwilfwr1i" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From ddb419ce046f6ef7732b71af9f145c46d4aa42de Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 7 Sep 2018 21:02:30 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.125. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.125. --- 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 1670cf7a3c..cabc34b0df 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -446,8 +446,8 @@ (define-public linux-libre-4.14 #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.124" - "0p78gx5jiqvaf2cadf5jp40lzgarrg0m0ybf9w2499v28vjsp30q" + (make-linux-libre "4.9.125" + "1saihk61l1kk42jf8yfsfkm77zalq31f0bdlam3c1g7yw702wj9g" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 4be8fdd3ccb5d41438812d6781379457800345bd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 7 Sep 2018 21:03:03 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.68. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.68. (%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 cabc34b0df..2b02870a73 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -436,8 +436,8 @@ (define-public linux-libre #:patches %linux-libre-4.18-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.67") -(define %linux-libre-4.14-hash "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg") +(define %linux-libre-4.14-version "4.14.68") +(define %linux-libre-4.14-hash "05l5y0vbbl60jxdbqglqr9c99a8g8lfsp4mcqfpcx1pkh5br7i3l") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version -- cgit v1.2.3 From 090e3768e8a3157d440f6fdf513b4bf058328b0f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 7 Sep 2018 21:05:14 -0400 Subject: gnu: linux-libre: Update to 4.18.6. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.18.6. (%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 2b02870a73..7d5b3aed86 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -405,8 +405,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.18.5") -(define %linux-libre-hash "1y52ns34vh9p4pfj08xsycv8p0xywm6dbpdi0wwpkll1xgpqikvf") +(define %linux-libre-version "4.18.6") +(define %linux-libre-hash "1l5caid77vbfb54zrfxkk7qj7lrf9ck9kpn96kr45spkwl51wm8m") (define %linux-libre-4.18-patches (list %boot-logo-patch -- cgit v1.2.3 From 39b5d8fd9d0383124c93b85fd22c6d35545f694f Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Fri, 7 Sep 2018 21:08:15 -0600 Subject: gnu: Add frotz, frotz-dumb-terminal, and frotz-sdl. * gnu/packages/games.scm (frotz, frotz-dumb-terminal, frotz-sdl): New variables. Signed-off-by: Kei Kebreau --- gnu/packages/games.scm | 157 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 728f763806..2015e3ce47 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2018 okapi ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2018 Madalin Ionel-Patrascu +;;; Copyright © 2018 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; @@ -5553,3 +5554,159 @@ (define (install src dst) (license (list license:gpl2+ license:bsd-3 ; /source/d0_blind_id folder and others (license:x11-style "" "See file rcon.pl."))))) + +(define-public frotz + (package + (name "frotz") + (version "2.44") + (source (origin + (method url-fetch) + (uri (list (string-append + "http://www.ifarchive.org/if-archive/infocom/interpreters/" + name "/" name "-" version ".tar.gz") + (string-append + "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/" + name "/" name "-" version ".tar.gz"))) + (sha256 + (base32 + "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'curses + (lambda _ + (substitute* "Makefile" + (("lcurses") "lncurses")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man6"))) + (install-file "frotz" bin) + (mkdir-p man) + (install-file "doc/frotz.6" man) + #t)))))) + (inputs `(("libmodplug" ,libmodplug) + ("libsamplerate" ,libsamplerate) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("ncurses" ,ncurses))) + (synopsis "Portable Z-machine interpreter (ncurses version) for text adventure games") + (description "Frotz is an interpreter for Infocom games and other Z-machine +games in the text adventure/interactive fiction genre. This version of Frotz +complies with standard 1.0 of Graham Nelson's specification. It plays all +Z-code games V1-V8, including V6, with sound support through libao, and uses +ncurses for text display.") + (home-page "http://frotz.sourceforge.net") + (license license:gpl2+))) + +(define-public frotz-dumb-terminal + (package + (name "frotz-dumb-terminal") + (version "2.44") + (source (origin + (method url-fetch) + (uri (list (string-append + "http://www.ifarchive.org/if-archive/infocom/interpreters/" + "frotz" "/" "frotz" "-" version ".tar.gz") + (string-append + "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/" + "frotz" "/" "frotz" "-" version ".tar.gz"))) + (sha256 + (base32 + "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "make" "dumb"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man6"))) + (install-file "dfrotz" bin) + (mkdir-p man) + (install-file "doc/dfrotz.6" man) + #t)))))) + (synopsis "Portable Z-machine dumb interpreter for text adventure games") + (description "Frotz is an interpreter for Infocom games and +other Z-machine games in the text adventure/interactive fiction genre. +dfrotz is the dumb interface version. You get no screen control; everything +is just printed to the terminal line by line. The terminal handles all the +scrolling. Maybe you'd like to experience what it's like to play Adventure on +a teletype. A much cooler use for compiling Frotz with the dumb interface is +that it can be wrapped in CGI scripting, PHP, and the like to allow people +to play games on webpages. It can also be made into a chat bot.") + (home-page "http://frotz.sourceforge.net") + (license license:gpl2+))) + +(define-public frotz-sdl + (let* ((commit "4de8c34f2116fff554af6216c30ec9d41bf50b24")) + (package + (name "frotz-sdl") + (version "2.45pre") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/DavidGriffith/frotz") + (commit commit))) + (sha256 + (base32 + "18ms21pcrl7ipcnyqnf8janamkryzx78frsgd9kfk67jvbj0z2k8")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("lcurses") "lncurses") + (("^BUILD_DATE_TIME =.*$") + "BUILD_DATE_TIME = \"2.45pre-20180907.00000\"\n")) + #t)) + (replace 'build + (lambda _ + (invoke "make" "sdl"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man6"))) + (install-file "sfrotz" bin) + (mkdir-p man) + (install-file "doc/sfrotz.6" man) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which) + ("perl" ,perl))) + (inputs `(("sdl2" ,sdl2) + ("sdl2-mixer" ,sdl2-mixer) + ("libmodplug" ,libmodplug) + ("libsamplerate" ,libsamplerate) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("ncurses" ,ncurses) + ("freetype" ,freetype) + ("libjpeg-turbo" ,libjpeg-turbo))) + (synopsis "Portable Z-machine interpreter (SDL port) for text adventure games") + (description "Frotz is an interpreter for Infocom games and other Z-machine +games in the text adventure/interactive fiction genre. This version of Frotz +using SDL fully supports all these versions of the Z-Machine including the +graphical version 6. Graphics and sound are created through the use of the SDL +libraries. AIFF sound effects and music in MOD and OGG formats are supported +when packaged in Blorb container files or optionally from individual files.") + (home-page "http://frotz.sourceforge.net") + (license license:gpl2+)))) -- cgit v1.2.3 From 445ecce92307aa7ab70cf02b70078e860de17dc0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 8 Sep 2018 16:55:32 +0200 Subject: gnu: nyacc: Update to 0.86.0. * gnu/packages/patches/nyacc-binary-literals.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/mes.scm (nyacc): Update to 0.86.0, add patch. --- gnu/local.mk | 1 + gnu/packages/mes.scm | 6 ++--- gnu/packages/patches/nyacc-binary-literals.patch | 29 ++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/nyacc-binary-literals.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1924ae9467..847e45e8cc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -988,6 +988,7 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-db4.patch \ + %D%/packages/patches/nyacc-binary-literals.patch \ %D%/packages/patches/nyx-show-header-stats-with-python3.patch \ %D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch \ %D%/packages/patches/ocaml-bitstring-fix-configure.patch \ diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 81d4145439..7bdad5e32f 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -39,15 +39,15 @@ (define-module (gnu packages mes) (define-public nyacc (package (name "nyacc") - (version "0.83.3") + (version "0.86.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/nyacc/" name "-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "nyacc-binary-literals.patch")) (sha256 (base32 - "0120n0mdb6r58c4jc024dhwqy5s8a20waknijfhqjc59a884lrd6")))) + "0lkd9lyspvhxlfs0496gsllwinh62jk9wij6gpadvx9gwz6yavd9")))) (build-system gnu-build-system) (native-inputs `(("guile" ,guile-2.2))) diff --git a/gnu/packages/patches/nyacc-binary-literals.patch b/gnu/packages/patches/nyacc-binary-literals.patch new file mode 100644 index 0000000000..8159d74032 --- /dev/null +++ b/gnu/packages/patches/nyacc-binary-literals.patch @@ -0,0 +1,29 @@ +From 6a08014b77bf435f025ecdac08396580b85f159a Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 8 Sep 2018 20:22:45 +0200 +Subject: [PATCH] fix binary literals. + +--- + module/nyacc/lex.scm | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/module/nyacc/lex.scm b/module/nyacc/lex.scm +index 2ec9895..b205212 100644 +--- a/module/nyacc/lex.scm ++++ b/module/nyacc/lex.scm +@@ -345,10 +345,11 @@ + ((char-numeric? ch) (iter chl '$fixed ba 1 ch)) + ((char=? #\. ch) (iter (cons ch chl) #f ba 15 (read-char))) + (else #f))) +- ((10) ;; allow x after 0 ++ ((10) ;; allow x, b after 0 + (cond + ((eof-object? ch) (iter chl ty ba 5 ch)) + ((char=? #\x ch) (iter (cons ch chl) ty 16 1 (read-char))) ++ ((char=? #\b ch) (iter (cons ch chl) ty 2 1 (read-char))) + (else (iter chl ty ba 1 ch)))) + ((15) ;; got `.' only + (cond +-- +2.18.0 + -- cgit v1.2.3 From c665774a1ca9431746b1d559b06e24c1b05625d8 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 8 Sep 2018 16:58:37 +0200 Subject: gnu: mes: Update to 0.17.1. * gnu/packages/patches/mes-nyacc-0.86.0.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/mes.scm (mes): Update to 0.17.1, depend on latest Nyacc 0.86.0. (nyacc-for-mes): Remove. --- gnu/local.mk | 1 + gnu/packages/mes.scm | 20 +-- gnu/packages/patches/mes-nyacc-0.86.0.patch | 197 ++++++++++++++++++++++++++++ 3 files changed, 202 insertions(+), 16 deletions(-) create mode 100644 gnu/packages/patches/mes-nyacc-0.86.0.patch diff --git a/gnu/local.mk b/gnu/local.mk index 847e45e8cc..278afbb257 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -953,6 +953,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ + %D%/packages/patches/mes-nyacc-0.86.0.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 7bdad5e32f..63a8db449a 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -59,36 +59,24 @@ (define-public nyacc (home-page "https://savannah.nongnu.org/projects/nyacc") (license (list gpl3+ lgpl3+)))) -(define-public nyacc-for-mes - (package - (inherit nyacc) - (version "0.80.42") - (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/janneke/nyacc" - "/-/archive/v" version - "/nyacc-" version ".tar.gz")) - (sha256 - (base32 - "0c8c8kxir0h2d4nxr131xbkfs7c80haipmkp2g6677sh14wn0b3y")))))) - (define-public mes (let ((triplet "i686-unknown-linux-gnu")) (package (name "mes") - (version "0.17") + (version "0.17.1") (source (origin (method url-fetch) (uri (string-append "http://alpha.gnu.org/gnu/mes/" "mes-" version ".tar.gz")) + (patches (search-patches "mes-nyacc-0.86.0.patch")) (sha256 (base32 - "1j32x4zqy2cqjlg9m35f2411mwac2b0p5ch4hm99gddmfbxzgyhg")))) + "02g8zig53ffd0ai8kqhv2zj7bj2366a8hr6ydkwakmi2d1amyrna")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (propagated-inputs `(("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc-for-mes))) + ("nyacc" ,nyacc))) (native-inputs `(("guile" ,guile-2.2) ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system) diff --git a/gnu/packages/patches/mes-nyacc-0.86.0.patch b/gnu/packages/patches/mes-nyacc-0.86.0.patch new file mode 100644 index 0000000000..58dfc5a46b --- /dev/null +++ b/gnu/packages/patches/mes-nyacc-0.86.0.patch @@ -0,0 +1,197 @@ +From 9e610736bf779f3295c1192e748cd19cbbe3be28 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Wed, 5 Sep 2018 20:28:06 +0200 +Subject: [PATCH 1/2] mes: Support Nyacc 0.85.3: Add char-set-copy. + +* mes/module/srfi/srfi-14.mes (char-set-copy): New function> +--- + mes/module/srfi/srfi-14.mes | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/mes/module/srfi/srfi-14.mes b/mes/module/srfi/srfi-14.mes +index 0be39b1e..a16d16ce 100644 +--- a/mes/module/srfi/srfi-14.mes ++++ b/mes/module/srfi/srfi-14.mes +@@ -52,3 +52,6 @@ + + (define (char-whitespace? c) + (char-set-contains? char-set:whitespace c)) ++ ++(define (char-set-copy cs) ++ (map identity cs)) +-- +2.18.0 + +From b952bdf44f11edbfc277600dc35236aae1769b54 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Wed, 5 Sep 2018 22:14:34 +0200 +Subject: [PATCH 2/2] mes: Support Nyacc 0.85.3: Integrate progress. + +* mes/module/nyacc/lang/sx-util.mes: New file. +* mes/module/nyacc/version.mes: New file. +* mes/module/nyacc/lang/c99/cpp.mes (nyacc): Include them. +* mes/module/nyacc/lang/c99/parser.mes (nyacc): Include them. +* module/mescc/preprocess.scm (need-progress): New function. +(progress): New function. +(insert-progress-monitors): Use them to Integrate progress. +--- + mes/module/mescc/preprocess.mes | 1 + + mes/module/nyacc/lang/c99/cpp.mes | 1 + + mes/module/nyacc/lang/c99/parser.mes | 1 + + mes/module/nyacc/lang/sx-util.mes | 27 +++++++++++++++++++++ + mes/module/nyacc/version.mes | 26 +++++++++++++++++++++ + module/mescc/preprocess.scm | 35 ++++++++++++++++++++++++++++ + 6 files changed, 91 insertions(+) + create mode 100644 mes/module/nyacc/lang/sx-util.mes + create mode 100644 mes/module/nyacc/version.mes + +diff --git a/mes/module/mescc/preprocess.mes b/mes/module/mescc/preprocess.mes +index c7c5fcaa..022a372c 100644 +--- a/mes/module/mescc/preprocess.mes ++++ b/mes/module/mescc/preprocess.mes +@@ -24,4 +24,5 @@ + (mes-use-module (srfi srfi-13)) + (mes-use-module (srfi srfi-26)) + (mes-use-module (nyacc lang c99 parser)) ++(mes-use-module (nyacc version)) + (include-from-path "mescc/preprocess.scm") +diff --git a/mes/module/nyacc/lang/c99/cpp.mes b/mes/module/nyacc/lang/c99/cpp.mes +index fad1dc55..b25c4a93 100644 +--- a/mes/module/nyacc/lang/c99/cpp.mes ++++ b/mes/module/nyacc/lang/c99/cpp.mes +@@ -28,5 +28,6 @@ + + (mes-use-module (nyacc parse)) + (mes-use-module (nyacc lex)) ++(mes-use-module (nyacc lang sx-util)) + (mes-use-module (nyacc lang util)) + (include-from-path "nyacc/lang/c99/cpp.scm") +diff --git a/mes/module/nyacc/lang/c99/parser.mes b/mes/module/nyacc/lang/c99/parser.mes +index c51552d6..1a9aaf73 100644 +--- a/mes/module/nyacc/lang/c99/parser.mes ++++ b/mes/module/nyacc/lang/c99/parser.mes +@@ -32,6 +32,7 @@ + + (mes-use-module (nyacc lex)) + (mes-use-module (nyacc parse)) ++(mes-use-module (nyacc lang sx-util)) + (mes-use-module (nyacc lang util)) + (mes-use-module (nyacc lang c99 cpp)) + +diff --git a/mes/module/nyacc/lang/sx-util.mes b/mes/module/nyacc/lang/sx-util.mes +new file mode 100644 +index 00000000..41ac5b4a +--- /dev/null ++++ b/mes/module/nyacc/lang/sx-util.mes +@@ -0,0 +1,27 @@ ++;;; -*-scheme-*- ++ ++;;; GNU Mes --- Maxwell Equations of Software ++;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen ++;;; ++;;; This file is part of GNU Mes. ++;;; ++;;; GNU Mes 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 Mes 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 Mes. If not, see . ++ ++;;; Commentary: ++ ++;;; Code: ++ ++(mes-use-module (srfi srfi-1)) ++(mes-use-module (srfi srfi-16)) ++(include-from-path "nyacc/lang/sx-util.scm") +diff --git a/mes/module/nyacc/version.mes b/mes/module/nyacc/version.mes +new file mode 100644 +index 00000000..b9db628e +--- /dev/null ++++ b/mes/module/nyacc/version.mes +@@ -0,0 +1,26 @@ ++;;; -*-scheme-*- ++ ++;;; GNU Mes --- Maxwell Equations of Software ++;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen ++;;; ++;;; This file is part of GNU Mes. ++;;; ++;;; GNU Mes 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 Mes 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 Mes. If not, see . ++ ++;;; Commentary: ++ ++;;; Code: ++ ++(include-from-path "nyacc/version.scm") ++(display "nyacc version\n") +diff --git a/module/mescc/preprocess.scm b/module/mescc/preprocess.scm +index 9e341cba..c2efb32c 100644 +--- a/module/mescc/preprocess.scm ++++ b/module/mescc/preprocess.scm +@@ -26,9 +26,44 @@ + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (nyacc lang c99 parser) ++ #:use-module (nyacc lang c99 parser) ++ #:use-module (nyacc version) + #:use-module (mes guile) + #:export (c99-input->ast)) + ++(format (current-error-port) "*nyacc-version*=~a\n" *nyacc-version*) ++;; list of which rules you want progress reported ++(define need-progress ++ (assoc-ref ++ '(("0.85.3" (1 2 3)) ++ ("0.86.0" (1 2 3))) ++ *nyacc-version*)) ++ ++(define (progress o) ++ (when (and o (getenv "NYACC_DEBUG")) ++ (display " :" (current-error-port)) ++ (display o (current-error-port)) ++ (display "\n" (current-error-port)))) ++ ++(define (insert-progress-monitors act-v len-v) ++ (let ((n (vector-length act-v))) ++ (let loop ((ix 0)) ++ (when (< ix n) ++ (if (memq ix need-progress) ++ (vector-set ++ act-v ix ++ (lambda args ++ (progress (list-ref args (1- (vector-ref len-v ix)))) ++ (apply (vector-ref act-v ix) args)))) ++ (loop (1+ ix)))))) ++ ++(cond-expand ++ (guile ++ (insert-progress-monitors (@@ (nyacc lang c99 parser) c99-act-v) ++ (@@ (nyacc lang c99 parser) c99-len-v))) ++ (mes ++ (insert-progress-monitors c99-act-v c99-len-v))) ++ + (define (logf port string . rest) + (apply format (cons* port string rest)) + (force-output port) +-- +2.18.0 + -- cgit v1.2.3 From 985975ae80fe5a8e58319b3a5aaf14da940c4419 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 8 Sep 2018 18:48:48 +0200 Subject: services: nginx: Don't read PID file when passed a custom config file. Fixes . * gnu/services/web.scm (nginx-shepherd-service): Check whether FILE is true and don't read the PID file if it is; use 'read-pid-file' instead of a potentially endless loop. --- gnu/services/web.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 3778efd048..1c993b29fe 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -610,14 +610,12 @@ (define (nginx-shepherd-service config) (match '#$args (("-s" . _) #t) (_ - (let loop ((duration 0)) - ;; https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864/comments/7 - (sleep duration) - (if (file-exists? #$pid-file) - (let ((pid (call-with-input-file #$pid-file read))) - ;; it could be # - (if (integer? pid) pid (loop 1))) - (loop 1))))))))) + ;; When FILE is true, we cannot be sure that PID-FILE will + ;; be created, so assume it won't show up. When FILE is + ;; false, read PID-FILE. + #$(if file + #~#t + #~(read-pid-file #$pid-file)))))))) ;; TODO: Add 'reload' action. (list (shepherd-service -- cgit v1.2.3 From e80c725db7d11618dec7c3f92845f71b0a9715b0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 8 Sep 2018 18:50:55 +0200 Subject: services: nginx: 'stop' returns #f. Previously we'd return #t, which the Shepherd would consider a failure to stop the service. * gnu/services/web.scm (nginx-shepherd-service): In 'nginx-action', return #f when stopping the service. --- gnu/services/web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 1c993b29fe..df82a6de61 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -608,7 +608,7 @@ (define (nginx-shepherd-service config) (default-nginx-config config)) #$@args) (match '#$args - (("-s" . _) #t) + (("-s" . _) #f) (_ ;; When FILE is true, we cannot be sure that PID-FILE will ;; be created, so assume it won't show up. When FILE is -- cgit v1.2.3 From 5dec93bb8ba89605bce2f9a5ee9c4dbadeee3b58 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 8 Sep 2018 22:56:40 +0200 Subject: gexp: 'file-union' accepts directory names. * guix/gexp.scm (file-union): Import (guix build utils). Make the parent directories of TARGET. * tests/gexp.scm ("file-union"): New test. --- guix/gexp.scm | 39 ++++++++++++++++++++++----------------- tests/gexp.scm | 18 ++++++++++++++++++ 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index ffc976d61b..f7a23db872 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1479,26 +1479,31 @@ (define (file-union name files) `((\"hosts\" ,(plain-file \"hosts\" \"127.0.0.1 localhost\")) (\"bashrc\" ,(plain-file \"bashrc\" - \"alias ls='ls --color'\")))) + \"alias ls='ls --color'\")) + (\"libvirt/qemu.conf\" ,(plain-file \"qemu.conf\" \"\")))) This yields an 'etc' directory containing these two files." (computed-file name - (gexp - (begin - (mkdir (ungexp output)) - (chdir (ungexp output)) - (ungexp-splicing - (map (match-lambda - ((target source) - (gexp - (begin - ;; Stat the source to abort early if it does - ;; not exist. - (stat (ungexp source)) - - (symlink (ungexp source) - (ungexp target)))))) - files)))))) + (with-imported-modules '((guix build utils)) + (gexp + (begin + (use-modules (guix build utils)) + + (mkdir (ungexp output)) + (chdir (ungexp output)) + (ungexp-splicing + (map (match-lambda + ((target source) + (gexp + (begin + ;; Stat the source to abort early if it does + ;; not exist. + (stat (ungexp source)) + + (mkdir-p (dirname (ungexp target))) + (symlink (ungexp source) + (ungexp target)))))) + files))))))) (define* (directory-union name things #:key (copy? #f) (quiet? #f) diff --git a/tests/gexp.scm b/tests/gexp.scm index b22e635805..5d049cd5fc 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -1093,6 +1093,24 @@ (define-public %stupid-thing ,text)) (call-with-input-file out get-string-all)) (equal? refs (list guile)))))))) +(test-assertm "file-union" + (mlet* %store-monad ((union -> (file-union "union" + `(("a" ,(plain-file "a" "1")) + ("b/c/d" ,(plain-file "d" "2")) + ("e" ,(plain-file "e" "3"))))) + (drv (lower-object union)) + (out -> (derivation->output-path drv))) + (define (contents=? file str) + (string=? (call-with-input-file (string-append out "/" file) + get-string-all) + str)) + + (mbegin %store-monad + (built-derivations (list drv)) + (return (and (contents=? "a" "1") + (contents=? "b/c/d" "2") + (contents=? "e" "3")))))) + (test-assert "gexp->derivation vs. %current-target-system" (let ((mval (gexp->derivation "foo" #~(begin -- cgit v1.2.3 From 4ab6a2f23d43f6c7e4a5a7420db613c5ba5b03b6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 8 Sep 2018 22:59:04 +0200 Subject: tests: base: Add Guile-Gcrypt & co. to the search path. Fixes a regression introduced in ca719424455465fca4b872c371daf2a46de88b33, whereby (gcrypt hash) would not be found in the system under test, leading to a failure of the "/run/current-system is a GC root" test. * gnu/tests/base.scm (run-basic-test)[guix&co]: New variable. [test]: Add all of GUIX&CO to %LOAD-PATH. --- gnu/tests/base.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index f27064af85..f97581de33 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -42,6 +42,7 @@ (define-module (gnu tests base) #:use-module (guix monads) #:use-module (guix packages) #:use-module (srfi srfi-1) + #:use-module (ice-9 match) #:export (run-basic-test %test-basic-os %test-halt @@ -68,6 +69,11 @@ (define special-files (fold-services (operating-system-services os) #:target-type special-files-service-type))) + (define guix&co + (match (package-transitive-propagated-inputs guix) + (((labels packages) ...) + (cons guix packages)))) + (define test (with-imported-modules '((gnu build marionette) (guix build syscalls)) @@ -345,8 +351,14 @@ (define (entry->list entry) 'success! (marionette-eval '(begin ;; Make sure the (guix …) modules are found. - (add-to-load-path - #+(file-append guix "/share/guile/site/2.2")) + (eval-when (expand load eval) + (set! %load-path + (append (map (lambda (package) + (string-append package + "/share/guile/site/" + (effective-version))) + '#$guix&co) + %load-path))) (use-modules (srfi srfi-34) (guix store)) -- cgit v1.2.3 From d7f99b3b767e50e73afbe041a2887aa1c878d990 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 9 Sep 2018 18:56:18 +0800 Subject: gnu: perl: Improve description. Fixes . * gnu/packages/perl.scm (perl)[description]: Use description from 'perlintro'. --- gnu/packages/perl.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4d70e019b9..1bf4cb15fe 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -156,8 +156,10 @@ (define-public perl (files '("lib/perl5/site_perl"))))) (synopsis "Implementation of the Perl programming language") (description - "Perl 5 is a highly capable, feature-rich programming language with over -24 years of development.") + "Perl is a general-purpose programming language originally developed for +text manipulation and now used for a wide range of tasks including system +administration, web development, network programming, GUI development, and +more.") (home-page "http://www.perl.org/") (license gpl1+))) ; or "Artistic" -- cgit v1.2.3 From 6930ea33c979b3d4713c9a1c59bd24ca0f642980 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 17 Aug 2018 16:09:33 +0200 Subject: gnu: aircrack-ng: Use HTTPS. * gnu/packages/networking.scm (aircrack-ng)[source, home-page]: Use HTTPS. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index acf523d366..5a85a9d40d 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -766,7 +766,7 @@ (define-public aircrack-ng (source (origin (method url-fetch) - (uri (string-append "http://download.aircrack-ng.org/aircrack-ng-" + (uri (string-append "https://download.aircrack-ng.org/aircrack-ng-" version ".tar.gz")) (sha256 (base32 @@ -807,7 +807,7 @@ (define-public aircrack-ng (("\\$\\(ethtool") (string-append "$(" ethtool))) #t)))))) - (home-page "http://www.aircrack-ng.org") + (home-page "https://www.aircrack-ng.org") (synopsis "Assess WiFi network security") (description "Aircrack-ng is a complete suite of tools to assess WiFi network -- cgit v1.2.3 From b9114ccbad64db553b88d2b17206a34585b60e37 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 17 Aug 2018 16:13:51 +0200 Subject: gnu: aircrack-ng: Update to 1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (aircrack-ng): Update to 1.3. [native-inputs]: Add autoconf, automake, libtool, and which. [inputs]: Add libpcap. [arguments]: Use conventional --options in #:configure-flags. Restore ‘configure’ phase. Add ‘patch-evalrev’ and customise ‘bootstrap’ phases. Simplify ‘absolutize-tools’ phase. --- gnu/packages/networking.scm | 48 +++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 5a85a9d40d..abc616de3c 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -762,7 +762,7 @@ (define-public bwm-ng (define-public aircrack-ng (package (name "aircrack-ng") - (version "1.2-rc4") + (version "1.3") (source (origin (method url-fetch) @@ -770,42 +770,48 @@ (define-public aircrack-ng version ".tar.gz")) (sha256 (base32 - "0dpzx9kddxpgzmgvdpl3rxn0jdaqhm5wxxndp1xd7d75mmmc2fnr")))) + "1jl30d0kibc82447fr3lgw75arik0l9729k94z76l7vl51y8mq4a")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("which" ,which))) (inputs `(("libgcrypt" ,libgcrypt) ("libnl" ,libnl) + ("libpcap" ,libpcap) ("ethtool" ,ethtool) ("pcre" ,pcre) ("sqlite" ,sqlite) ("zlib" ,zlib))) (arguments - `(#:make-flags `("sqlite=true" - "gcrypt=true" - "libnl=true" - "pcre=true" - "experimental=true" ;build wesside-ng, etc. - "AVX2FLAG=N" "AVX1FLAG=N" - ,,@(match (%current-system) - ((or "x86_64-linux" "i686-linux") - `("SSEFLAG=Y")) - (_ - `("NEWSSE=false"))) - ,(string-append "prefix=" %output)) + `(#:configure-flags + (list "--with-experimental=yes" ; build wesside-ng, etc. + "--with-gcrypt") ; openssl's the default #:phases (modify-phases %standard-phases - (delete 'configure) ;no configure phase + (add-before 'bootstrap 'patch-evalrev + (lambda _ + ;; Called by ./autogen.sh below, before the default + ;; ‘patch-shebangs’ phase has had a chance to run. + (substitute* "evalrev" + (("/bin/sh") + (which "sh"))) + #t)) + (replace 'bootstrap + (lambda _ + ;; Patch shebangs in generated files before running + ;; ./configure. + (setenv "NOCONFIGURE" "please") + (invoke "bash" "./autogen.sh"))) (add-after 'build 'absolutize-tools (lambda* (#:key inputs #:allow-other-keys) (let ((ethtool (string-append (assoc-ref inputs "ethtool") "/sbin/ethtool"))) (substitute* "scripts/airmon-ng" - (("\\[ ! -x \"\\$\\(command -v ethtool 2>&1)\" \\]") - (string-append "! " ethtool " --version " - ">/dev/null 2>&1")) - (("\\$\\(ethtool") - (string-append "$(" ethtool))) + (("ethtool ") + (string-append ethtool " "))) #t)))))) (home-page "https://www.aircrack-ng.org") (synopsis "Assess WiFi network security") -- cgit v1.2.3 From a0fad0374e583d44a73d6f76ead3bfeefc6d6b08 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:59:49 +0200 Subject: gnu: links: Update to 2.17. * gnu/packages/web-browsers.scm (links): Update to 2.17. --- gnu/packages/web-browsers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 45252c933d..2c2767dbbc 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -86,14 +86,14 @@ (define-public dillo (define-public links (package (name "links") - (version "2.16") + (version "2.17") (source (origin (method url-fetch) (uri (string-append "http://links.twibright.com/download/" name "-" version ".tar.bz2")) (sha256 (base32 - "0gsa2gpb1grhssl5jzpc5pa0zi21mxi8g25rh5bacl70slw31w42")))) + "0dh2gbzcw8kxy81z4ggsynibnqs56b83vy8qgz7illsag1irff6q")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 2d32a6572ddcd23aa1ae598a5d9b6e36f7f87b09 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:38:44 +0200 Subject: gnu: perl-params-validate: Update to 1.29. * gnu/packages/perl.scm (perl-params-validate): Update to 1.29. --- 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 1bf4cb15fe..8dea2051a6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6744,7 +6744,7 @@ (define-public perl-params-util (define-public perl-params-validate (package (name "perl-params-validate") - (version "1.26") + (version "1.29") (source (origin (method url-fetch) @@ -6752,7 +6752,7 @@ (define-public perl-params-validate "Params-Validate-" version ".tar.gz")) (sha256 (base32 - "1vbj78qd46ip09i06dsbb62jfwpzp4bg7yi617v98nvim77w66l2")))) + "0cwpf8yxwyxbnwhf6rx4wnaq1q38j38i34a78a005shb8gxqv9j9")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) -- cgit v1.2.3 From 49e63e38846977342c6b6cb44349db0b070f2a84 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:38:35 +0200 Subject: gnu: perl-datetime: Update to 1.50. * gnu/packages/perl.scm (perl-datetime): Update to 1.50. --- 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 8dea2051a6..a3f899fdb3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2180,7 +2180,7 @@ (define-public perl-date-simple (define-public perl-datetime (package (name "perl-datetime") - (version "1.49") + (version "1.50") (source (origin (method url-fetch) @@ -2188,7 +2188,7 @@ (define-public perl-datetime "DateTime-" version ".tar.gz")) (sha256 (base32 - "0hbw4zq1562slnz7g7hyhfhyq98dzkk3i5g21x3xra5cvfix93kh")))) + "165iqk1xvhs5j0kzsipa7aqycx3h37wqsl2r4jl104yqvmqhqszd")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) -- cgit v1.2.3 From 04fc0b9489e97e55914d0e1f9b1439a5b7964854 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:13:51 +0200 Subject: gnu: perl-namespace-clean: Update to 0.27. * gnu/packages/perl.scm (perl-namespace-clean): Update to 0.27. --- 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 a3f899fdb3..c81829165e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6364,7 +6364,7 @@ (define-public perl-namespace-autoclean (define-public perl-namespace-clean (package (name "perl-namespace-clean") - (version "0.25") + (version "0.27") (source (origin (method url-fetch) @@ -6372,7 +6372,7 @@ (define-public perl-namespace-clean "namespace-clean-" version ".tar.gz")) (sha256 (base32 - "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll")))) + "17dg64pd4bwi2ad3p8ykwys1zha7kg8a8ykvks7wfg8q7qyah44a")))) (build-system perl-build-system) (propagated-inputs `(("perl-package-stash" ,perl-package-stash) -- cgit v1.2.3 From 748e6e1271750319cfa1096f28f9c8588356bcf5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:13:43 +0200 Subject: gnu: perl-getopt-long-descriptive: Update to 0.103. * gnu/packages/perl.scm (perl-getopt-long-descriptive): Update to 0.103. --- 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 c81829165e..1c6b251198 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3812,7 +3812,7 @@ (define-public perl-getopt-long (define-public perl-getopt-long-descriptive (package (name "perl-getopt-long-descriptive") - (version "0.102") + (version "0.103") (source (origin (method url-fetch) @@ -3820,7 +3820,7 @@ (define-public perl-getopt-long-descriptive "Getopt-Long-Descriptive-" version ".tar.gz")) (sha256 (base32 - "0ii8xafvlph5vzcqp3dpc83lg7nkg3l1l2hmqdf5382a567vkm4s")))) + "1cpl240qxmh7jf85ai9sfkp3nzm99syya4jxidizp7aa83kvmqbh")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) -- cgit v1.2.3 From 4e77b75e114d8ab50ead5e28ae04556abc6c6883 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:13:32 +0200 Subject: gnu: perl-extutils-helpers: Update to 0.026. * gnu/packages/perl.scm (perl-extutils-helpers): Update to 0.026. --- 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 1c6b251198..0de597ca59 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3232,7 +3232,7 @@ (define-public perl-extutils-depends (define-public perl-extutils-helpers (package (name "perl-extutils-helpers") - (version "0.022") + (version "0.026") (source (origin (method url-fetch) @@ -3240,7 +3240,7 @@ (define-public perl-extutils-helpers "ExtUtils-Helpers-" version ".tar.gz")) (sha256 (base32 - "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k")))) + "05ilqcj1rg5izr09dsqmy5di4fvq6ph4k0chxks7qmd4j1kip46y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/ExtUtils-Helpers") (synopsis "Various portability utilities for module builders") -- cgit v1.2.3 From 15dbc911f6deb7c30e7fde2e9bb17e3b671183e5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:13:22 +0200 Subject: gnu: perl-extutils-installpaths: Update to 0.012. * gnu/packages/perl.scm (perl-extutils-installpaths): Update to 0.012. --- 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 0de597ca59..54dd29deec 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3168,7 +3168,7 @@ (define-public perl-exporter-tiny (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") - (version "0.011") + (version "0.012") (source (origin (method url-fetch) @@ -3176,7 +3176,7 @@ (define-public perl-extutils-installpaths "ExtUtils-InstallPaths-" version ".tar.gz")) (sha256 (base32 - "0z06y0fhx9hy9x01abb7s2xdbqrh9x4ps7avmlf4bwfwih2gl2bn")))) + "1v9lshfhm9ck4p0v77arj5f7haj1mmkqal62lgzzvcds6wq5www4")))) (build-system perl-build-system) (propagated-inputs `(("perl-extutils-config" ,perl-extutils-config))) -- cgit v1.2.3 From 9ad80992d0111afeedfb47cd3594397e844517ba Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 14:13:12 +0200 Subject: gnu: perl-config-autoconf: Update to 0.317. * gnu/packages/perl.scm (perl-config-autoconf): Update to 0.317. --- 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 54dd29deec..fc0553798b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1409,7 +1409,7 @@ (define-public perl-config-any (define-public perl-config-autoconf (package (name "perl-config-autoconf") - (version "0.315") + (version "0.317") (source (origin (method url-fetch) @@ -1417,7 +1417,7 @@ (define-public perl-config-autoconf "Config-AutoConf-" version ".tar.gz")) (sha256 (base32 - "0h39x9rzrhhilpg8yxlzpka269qrzsjg0iy0c1b9xflqlvhx2g2b")))) + "1qcwib4yaml5z2283qy5khjcydyibklsnk8zrk9wzdzc5wnv5r01")))) (build-system perl-build-system) (propagated-inputs `(("perl-capture-tiny" ,perl-capture-tiny))) -- cgit v1.2.3 From bb5e06a35e55d687cbc5c64299d039e5de7d9c8c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 13:23:03 +0200 Subject: gnu: perl-pegex: Update to 0.67. * gnu/packages/perl.scm (perl-pegex): Update to 0.67. --- 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 fc0553798b..c4c3b665db 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6937,7 +6937,7 @@ (define-public perl-perlio-utf8_strict (define-public perl-pegex (package (name "perl-pegex") - (version "0.64") + (version "0.67") (source (origin (method url-fetch) @@ -6946,7 +6946,7 @@ (define-public perl-pegex version ".tar.gz")) (sha256 (base32 - "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17")))) + "149015ra2figalxrnj72fz02qc5cm96xg6x8d6kmyanfmrrxzf9w")))) (build-system perl-build-system) (native-inputs `(("perl-file-sharedir-install" ,perl-file-sharedir-install) -- cgit v1.2.3 From bb105673b88cea5c290ea9a16094ce29fcf0f475 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 13:17:08 +0200 Subject: gnu: musl: Update to 1.1.20. * gnu/packages/musl.scm (musl): Update to 1.1.20. --- gnu/packages/musl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index ff789b8c6f..357372becd 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -28,17 +28,17 @@ (define-module (gnu packages musl) (define-public musl (package (name "musl") - (version "1.1.19") + (version "1.1.20") (source (origin (method url-fetch) (uri (string-append "http://www.musl-libc.org/releases/" name "-" version ".tar.gz")) (sha256 (base32 - "1nf1wh44bhm8gdcfr75ayib29b99vpq62zmjymrq7f96h9bshnfv")))) + "0q8dsjxl41dccscv9a0r78bs7jap57mn4mni5pwbbip6s1qqggj4")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; Musl has no tests + `(#:tests? #f ; Musl has no tests #:configure-flags (list "--disable-gcc-wrapper"))) (synopsis "Small C standard library") -- cgit v1.2.3 From c2311644a5432eb118d5e789288a0ddf43990684 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 8 Sep 2018 14:56:54 +0200 Subject: gnu: signify: Update to 24. * gnu/packages/crypto.scm (signify): Update to 24. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e070ef61ac..d9111135e8 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -126,7 +126,7 @@ (define-public libmd (define-public signify (package (name "signify") - (version "23") + (version "24") (source (origin (method url-fetch) (uri (string-append "https://github.com/aperezdc/signify/" @@ -134,7 +134,7 @@ (define-public signify (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c70mzawgahsvmsv4xdrass4pgyynd67ipd9lij0fgi8wkq0ns8w")))) + "0594vyvkq176xxzaz9xbq8qs0xdnr8s9gkd1prblwpdvnzmw0xvc")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). -- cgit v1.2.3 From b64e67ad40f7cf6d4867cd38eee0e4ec16cd6e9a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 8 Sep 2018 14:55:12 +0200 Subject: gnu: cloc: Update to 1.78. * gnu/packages/code.scm (cloc): Update to 1.78. [source]: Update URI. --- gnu/packages/code.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 85ee6c2877..b3fbea0b38 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -211,16 +211,16 @@ (define ref (define-public cloc (package (name "cloc") - (version "1.76") + (version "1.78") (source (origin (method url-fetch) (uri (string-append - "https://github.com/AlDanial/cloc/releases/download/v" version + "https://github.com/AlDanial/cloc/releases/download/" version "/cloc-" version ".tar.gz")) (sha256 (base32 - "05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl")))) + "176xklr2qsgxh9zdb565gib6pp4gsm585rz5fvyphgjy4i679wkv")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) -- cgit v1.2.3 From 81bf0fd0d4a7e78febb394576ea849285fc2d329 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 4 Sep 2018 18:53:13 +0200 Subject: gnu: julia: Update objconv input. * gnu/packages/julia.scm (julia)[inputs]: Update the hash of "objconv", which does not have a stable URL. Add a file name and use HTTPS while at it. --- gnu/packages/julia.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 39e2322739..fb9b0eeedf 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -355,10 +355,12 @@ (define-public julia ("objconv" ,(origin (method url-fetch) - (uri "http://www.agner.org/optimize/objconv.zip") + ;; No versioned URL, see for updates. + (uri "https://www.agner.org/optimize/objconv.zip") + (file-name "objconv-2018-08-15.zip") (sha256 (base32 - "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs")))) + "09y4pwxfs6fl47cyingbf95i2rxx74wmycl9fd4ldcgvpx9bzdrx")))) ("dsfmt" ,(origin (method url-fetch) -- cgit v1.2.3 From 617cf5de922e54042e93696d341350149942c6c4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 6 Sep 2018 19:14:39 +0200 Subject: gnu: mpfr: Update home page. * gnu/packages/multiprecision.scm (mpfr)[home-page]: Use HTTPS. --- gnu/packages/multiprecision.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index e185a98359..4f5eac16b9 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -108,7 +108,7 @@ (define-public mpfr library for performing multiple-precision, floating-point computations with correct rounding.") (license lgpl3+) - (home-page "http://www.mpfr.org/"))) + (home-page "https://www.mpfr.org/"))) (define-public mpc (package -- cgit v1.2.3 From 249846bfdee20e28cc38425aa454ce2f932441f9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 13:28:20 +0200 Subject: gnu: libsoup: Update to 2.64.0. * gnu/packages/gnome.scm (libsoup): Update to 2.64.0. [inputs]: Add LIBPSL. --- gnu/packages/gnome.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 13eb41e055..1a0cc9cc11 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2455,7 +2455,7 @@ (define-public rest (define-public libsoup (package (name "libsoup") - (version "2.62.3") + (version "2.64.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2463,7 +2463,7 @@ (define-public libsoup name "-" version ".tar.xz")) (sha256 (base32 - "0whi8p03kpbp68kg6fg3vb7rhykjp7wn3nlbzy9j0p298zjss4nk")))) + "09z7g3spww3f84y8jmicdd6lqp360mbggpg5h1fq1v4p5ihcjnyr")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -2567,6 +2567,7 @@ (define-public libsoup ("libxml2" ,libxml2))) (inputs `(("glib-networking" ,glib-networking) + ("libpsl" ,libpsl) ("sqlite" ,sqlite))) (home-page "https://live.gnome.org/LibSoup/") (synopsis "GLib-based HTTP Library") -- cgit v1.2.3 From 37f9cfae43d8614904335434c91ea1c0d9d69508 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 13:34:31 +0200 Subject: gnu: msmtp: Update to 1.8.0. * gnu/packages/mail.scm (msmtp): Update to 1.8.0. --- 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 4944dd7622..91a8822cfd 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1071,7 +1071,7 @@ (define-public claws-mail (define-public msmtp (package (name "msmtp") - (version "1.6.8") + (version "1.8.0") (source (origin (method url-fetch) @@ -1079,7 +1079,7 @@ (define-public msmtp "/msmtp-" version ".tar.xz")) (sha256 (base32 - "1ysrnshvwhzwmvb2walw5i9jdzlvmckj7inr0xnvb26q0jirbzsm")))) + "1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx")))) (build-system gnu-build-system) (inputs `(("libidn" ,libidn) -- cgit v1.2.3 From 91b3a6d4db848ae5de65ca511dc2deb27c7cb7dc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 13:39:31 +0200 Subject: gnu: msmtp: Remove unneeded input. * gnu/packages/mail.scm (msmtp)[inputs]: Remove LIBIDN, which is only required when using OpenSSL (or GnuTLS sans IDN support). --- gnu/packages/mail.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 91a8822cfd..024e75aaa1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1082,8 +1082,7 @@ (define-public msmtp "1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx")))) (build-system gnu-build-system) (inputs - `(("libidn" ,libidn) - ("libsecret" ,libsecret) + `(("libsecret" ,libsecret) ("gnutls" ,gnutls) ("zlib" ,zlib) ("gsasl" ,gsasl))) -- cgit v1.2.3 From e9c1492f66b0ca5c86d6f23655b713978a4d7644 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 13:58:31 +0200 Subject: gnu: glm: Update to 0.9.9.1. * gnu/packages/maths.scm (glm): Update to 0.9.9.1. --- 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 d2b9df01a7..ebbe2b0294 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3253,7 +3253,7 @@ (define-public atlas (define-public glm (package (name "glm") - (version "0.9.9.0") + (version "0.9.9.1") (source (origin (method url-fetch) @@ -3261,7 +3261,7 @@ (define-public glm version "/glm-" version ".zip")) (sha256 (base32 - "0ihjadp2sb8w312a276skfjsljm3y41bjscbxf79wn23gi00giz1")))) + "042a23hmxfs429czkmlg5ixf28aikzfbw18780prj2gcd4flgw8h")))) (build-system cmake-build-system) (native-inputs `(("unzip" ,unzip))) -- cgit v1.2.3 From 1448fa254732a76fc138059043a6b5f12c71367b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 19:29:00 +0200 Subject: gnu: openal: Update to 1.19.0. * gnu/packages/audio.scm (openal): Update to 1.19.0. --- 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 e731569ae1..3b898c024a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1908,7 +1908,7 @@ (define-public lvtk (define-public openal (package (name "openal") - (version "1.18.2") + (version "1.19.0") (source (origin (method url-fetch) (uri (string-append @@ -1916,7 +1916,7 @@ (define-public openal version ".tar.bz2")) (sha256 (base32 - "10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz")))) + "1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no check target -- cgit v1.2.3 From a617fd55df0fbdae951ec82b81ad512436e972ed Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Sep 2018 20:01:57 +0200 Subject: gnu: OpenBLAS: Update source URI. * gnu/packages/maths.scm (openblas)[source](uri): Use the more stable SourceForge mirror. --- 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 ebbe2b0294..01bd03c600 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2846,8 +2846,8 @@ (define-public openblas (source (origin (method url-fetch) - (uri (string-append "https://github.com/xianyi/OpenBLAS/tarball/v" - version)) + (uri (string-append "mirror://sourceforge/openblas/v" version "/OpenBLAS%20" + version "%20version.tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 -- cgit v1.2.3 From 910a20e2b8ac6d1c331ff79535831cce6222b3a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 8 Sep 2018 07:59:06 +0200 Subject: gnu: jbig2dec: Replace with 0.15 [security fixes]. * gnu/packages/image.scm (jbig2dec-0.15): New public variable. (jbig2dec)[replacement]: New field. --- gnu/packages/image.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 81d22ed42d..78fb30c279 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -495,6 +496,7 @@ (define-public jbig2dec (package (name "jbig2dec") (version "0.14") + (replacement jbig2dec-0.15) (source (origin (method url-fetch) @@ -519,6 +521,21 @@ (define-public jbig2dec (home-page "https://jbig2dec.com") (license license:gpl2+))) +;; This is a bugfix release from an ongoing Ghostscript security audit. +;; It was released alongside Ghostscript 9.24. +(define-public jbig2dec-0.15 + (package + (inherit jbig2dec) + (version "0.15") + (source (origin + (inherit (package-source jbig2dec)) + (uri (string-append "https://github.com/ArtifexSoftware" + "/ghostpdl-downloads/releases/download/gs924/" + "jbig2dec-" version ".tar.gz")) + (sha256 + (base32 + "0m1qwpbjbirgw2fqznbajdhdhh35d6xa2csr64lpjz735pvimykb")))))) + (define-public openjpeg (package (name "openjpeg") -- cgit v1.2.3 From 0084744b3af0a6f8e125120143f57567902339a8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 8 Sep 2018 12:46:22 +0200 Subject: gnu: ghostscript: Update replacement to 9.24 [security fixes]. The following CVEs are fixed with this release: CVE-2018-15908, CVE-2018-15909, CVE-2018-15910, CVE-2018-15911, CVE-2018-16509, CVE-2018-16510, CVE-2018-16511, CVE-2018-16513, CVE-2018-16539, CVE-2018-16540, CVE-2018-16541, CVE-2018-16542, CVE-2018-16543. * gnu/packages/patches/ghostscript-CVE-2018-10194.patch: Delete file. * gnu/packages/patches/ghostscript-CVE-2018-16509.patch, gnu/packages/patches/ghostscript-bug-699708.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ghostscript.scm (ghostscript/fixed): Update to 9.24. [source](patches): Remove 'ghostscript-CVE-2018-10194.patch' and 'ghostscript-runpath.patch'. Add 'ghostscript-CVE-2018-16509.patch' and 'ghostscript-bug-699708.patch'. [arguments]: Add LDFLAGS to #:configure-flags, and a phase to create output directory. --- gnu/local.mk | 3 +- gnu/packages/ghostscript.scm | 37 +++- .../patches/ghostscript-CVE-2018-10194.patch | 52 ------ .../patches/ghostscript-CVE-2018-16509.patch | 193 +++++++++++++++++++++ gnu/packages/patches/ghostscript-bug-699708.patch | 160 +++++++++++++++++ 5 files changed, 389 insertions(+), 56 deletions(-) delete mode 100644 gnu/packages/patches/ghostscript-CVE-2018-10194.patch create mode 100644 gnu/packages/patches/ghostscript-CVE-2018-16509.patch create mode 100644 gnu/packages/patches/ghostscript-bug-699708.patch diff --git a/gnu/local.mk b/gnu/local.mk index 278afbb257..0407fdc597 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -726,7 +726,8 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ - %D%/packages/patches/ghostscript-CVE-2018-10194.patch \ + %D%/packages/patches/ghostscript-CVE-2018-16509.patch \ + %D%/packages/patches/ghostscript-bug-699708.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 1240b1dc16..518e18397b 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,8 +39,10 @@ (define-module (gnu packages ghostscript) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1)) (define-public lcms (package @@ -255,11 +258,39 @@ (define-public ghostscript/fixed (hidden-package (package (inherit ghostscript) + (version "9.24") (source (origin (inherit (package-source ghostscript)) - (patches (append (origin-patches (package-source ghostscript)) - (search-patches "ghostscript-CVE-2018-10194.patch")))))))) + (uri (string-append "https://github.com/ArtifexSoftware/" + "ghostpdl-downloads/releases/download/gs" + (string-delete #\. version) + "/ghostscript-" version ".tar.xz")) + (sha256 + (base32 + "1mk922rnml93w2g42yxiyn8xqanc50cm65irrgh0b6lp4kgifjfl")) + (patches (search-patches "ghostscript-CVE-2018-16509.patch" + "ghostscript-bug-699708.patch" + "ghostscript-no-header-creationdate.patch" + "ghostscript-no-header-id.patch" + "ghostscript-no-header-uuid.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments ghostscript) + ((#:configure-flags flags) + ;; Notice that we removed the 'ghostscript-runpath' patch above. + ;; The reason is that it conflicts with an upstream change that + ;; takes LDFLAGS into account. + `(cons (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'create-output-directory + (lambda* (#:key outputs #:allow-other-keys) + ;; Unfortunately the configure script refuses to function if + ;; the directory specified as -rpath does not already exist. + (mkdir-p (string-append (assoc-ref outputs "out") "/lib")) + #t))))))))) (define-public ghostscript/x (package/inherit ghostscript diff --git a/gnu/packages/patches/ghostscript-CVE-2018-10194.patch b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch deleted file mode 100644 index 242e57c27c..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2018-10194.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix CVE-2018-10194: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10194 -https://bugs.ghostscript.com/show_bug.cgi?id=699255 - -Patch copied from upstream source repository: - -https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=39b1e54b2968620723bf32e96764c88797714879 - -From 39b1e54b2968620723bf32e96764c88797714879 Mon Sep 17 00:00:00 2001 -From: Ken Sharp -Date: Wed, 18 Apr 2018 15:46:32 +0100 -Subject: [PATCH] pdfwrite - Guard against trying to output an infinite number - -Bug #699255 " Buffer overflow on pprintg1 due to mishandle postscript file data to pdf" - -The file uses an enormous parameter to xyxhow, causing an overflow in -the calculation of text positioning (value > 1e39). - -Since this is basically a nonsense value, and PostScript only supports -real values up to 1e38, this patch follows the same approach as for -a degenerate CTM, and treats it as 0. - -Adobe Acrobat Distiller throws a limitcheck error, so we could do that -instead if this approach proves to be a problem. ---- - devices/vector/gdevpdts.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c -index 848ad781f..172fe6bc3 100644 ---- a/devices/vector/gdevpdts.c -+++ b/devices/vector/gdevpdts.c -@@ -103,9 +103,14 @@ append_text_move(pdf_text_state_t *pts, double dw) - static int - set_text_distance(gs_point *pdist, double dx, double dy, const gs_matrix *pmat) - { -- int code = gs_distance_transform_inverse(dx, dy, pmat, pdist); -+ int code; - double rounded; - -+ if (dx > 1e38 || dy > 1e38) -+ code = gs_error_undefinedresult; -+ else -+ code = gs_distance_transform_inverse(dx, dy, pmat, pdist); -+ - if (code == gs_error_undefinedresult) { - /* The CTM is degenerate. - Can't know the distance in user space. --- -2.18.0 - diff --git a/gnu/packages/patches/ghostscript-CVE-2018-16509.patch b/gnu/packages/patches/ghostscript-CVE-2018-16509.patch new file mode 100644 index 0000000000..50ffa3cb98 --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2018-16509.patch @@ -0,0 +1,193 @@ +Ghostscript 9.24 was released with an incomplete fix for CVE-2018-16509: +https://nvd.nist.gov/vuln/detail/CVE-2018-16509 +https://bugs.chromium.org/p/project-zero/issues/detail?id=1640#c19 +https://bugs.ghostscript.com/show_bug.cgi?id=699718 + +The reproducers no longer work after applying these commits: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5812b1b78fc4d36fdc293b7859de69241140d590 +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e914f1da46e33decc534486598dc3eadf69e6efb +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e5d316b72e3965b7968bb1d96baa137cd063ac6 +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=643b24dbd002fb9c131313253c307cf3951b3d47 + +This patch is a "squashed" version of those. + +diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps +index bba3c8c0e..8fa7c51df 100644 +--- a/Resource/Init/gs_setpd.ps ++++ b/Resource/Init/gs_setpd.ps +@@ -95,27 +95,41 @@ level2dict begin + { % Since setpagedevice doesn't create new device objects, + % we must (carefully) reinstall the old parameters in + % the same device. +- .currentpagedevice pop //null currentdevice //null .trysetparams ++ .currentpagedevice pop //null currentdevice //null ++ { .trysetparams } .internalstopped ++ { ++ //null ++ } if + dup type /booleantype eq + { pop pop } +- { % This should never happen! ++ { + SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if +- cleartomark pop pop pop ++ {cleartomark pop pop pop} .internalstopped pop ++ % if resetting the entire device state failed, at least put back the ++ % security related key ++ currentdevice //null //false mark /.LockSafetyParams ++ currentpagedevice /.LockSafetyParams .knownget not ++ {systemdict /SAFER .knownget not {//false} } if ++ .putdeviceparamsonly + /.installpagedevice cvx /rangecheck signalerror + } + ifelse pop pop + % A careful reading of the Red Book reveals that an erasepage + % should occur, but *not* an initgraphics. + erasepage .beginpage +- } bind def ++ } bind executeonly def + + /.uninstallpagedevice +- { 2 .endpage { .currentnumcopies //false .outputpage } if ++ { ++ {2 .endpage { .currentnumcopies //false .outputpage } if} .internalstopped pop + nulldevice + } bind def + + (%grestorepagedevice) cvn +- { .uninstallpagedevice grestore .installpagedevice ++ { ++ .uninstallpagedevice ++ grestore ++ .installpagedevice + } bind def + + (%grestoreallpagedevice) cvn +diff --git a/psi/zdevice2.c b/psi/zdevice2.c +index 0c7080d57..159a0c0d9 100644 +--- a/psi/zdevice2.c ++++ b/psi/zdevice2.c +@@ -251,8 +251,8 @@ z2currentgstate(i_ctx_t *i_ctx_p) + /* ------ Wrappers for operators that reset the graphics state. ------ */ + + /* Check whether we need to call out to restore the page device. */ +-static bool +-restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new) ++static int ++restore_page_device(i_ctx_t *i_ctx_p, const gs_gstate * pgs_old, const gs_gstate * pgs_new) + { + gx_device *dev_old = gs_currentdevice(pgs_old); + gx_device *dev_new; +@@ -260,9 +260,10 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new) + gx_device *dev_t2; + bool samepagedevice = obj_eq(dev_old->memory, &gs_int_gstate(pgs_old)->pagedevice, + &gs_int_gstate(pgs_new)->pagedevice); ++ bool LockSafetyParams = dev_old->LockSafetyParams; + + if ((dev_t1 = (*dev_proc(dev_old, get_page_device)) (dev_old)) == 0) +- return false; ++ return 0; + /* If we are going to putdeviceparams in a callout, we need to */ + /* unlock temporarily. The device will be re-locked as needed */ + /* by putdeviceparams from the pgs_old->pagedevice dict state. */ +@@ -271,23 +272,51 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new) + dev_new = gs_currentdevice(pgs_new); + if (dev_old != dev_new) { + if ((dev_t2 = (*dev_proc(dev_new, get_page_device)) (dev_new)) == 0) +- return false; +- if (dev_t1 != dev_t2) +- return true; ++ samepagedevice = true; ++ else if (dev_t1 != dev_t2) ++ samepagedevice = false; ++ } ++ ++ if (LockSafetyParams && !samepagedevice) { ++ const int required_ops = 512; ++ const int required_es = 32; ++ ++ /* The %grestorepagedevice must complete: the biggest danger ++ is operand stack overflow. As we use get/putdeviceparams ++ that means pushing all the device params onto the stack, ++ pdfwrite having by far the largest number of parameters ++ at (currently) 212 key/value pairs - thus needing (currently) ++ 424 entries on the op stack. Allowing for working stack ++ space, and safety margin..... ++ */ ++ if (required_ops + ref_stack_count(&o_stack) >= ref_stack_max_count(&o_stack)) { ++ gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams; ++ return_error(gs_error_stackoverflow); ++ } ++ /* We also want enough exec stack space - 32 is an overestimate of ++ what we need to complete the Postscript call out. ++ */ ++ if (required_es + ref_stack_count(&e_stack) >= ref_stack_max_count(&e_stack)) { ++ gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams; ++ return_error(gs_error_execstackoverflow); ++ } + } + /* + * The current implementation of setpagedevice just sets new + * parameters in the same device object, so we have to check + * whether the page device dictionaries are the same. + */ +- return !samepagedevice; ++ return samepagedevice ? 0 : 1; + } + + /* - grestore - */ + static int + z2grestore(i_ctx_t *i_ctx_p) + { +- if (!restore_page_device(igs, gs_gstate_saved(igs))) ++ int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs)); ++ if (code < 0) return code; ++ ++ if (code == 0) + return gs_grestore(igs); + return push_callout(i_ctx_p, "%grestorepagedevice"); + } +@@ -297,7 +326,9 @@ static int + z2grestoreall(i_ctx_t *i_ctx_p) + { + for (;;) { +- if (!restore_page_device(igs, gs_gstate_saved(igs))) { ++ int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs)); ++ if (code < 0) return code; ++ if (code == 0) { + bool done = !gs_gstate_saved(gs_gstate_saved(igs)); + + gs_grestore(igs); +@@ -328,11 +359,15 @@ z2restore(i_ctx_t *i_ctx_p) + if (code < 0) return code; + + while (gs_gstate_saved(gs_gstate_saved(igs))) { +- if (restore_page_device(igs, gs_gstate_saved(igs))) ++ code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs)); ++ if (code < 0) return code; ++ if (code > 0) + return push_callout(i_ctx_p, "%restore1pagedevice"); + gs_grestore(igs); + } +- if (restore_page_device(igs, gs_gstate_saved(igs))) ++ code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs)); ++ if (code < 0) return code; ++ if (code > 0) + return push_callout(i_ctx_p, "%restorepagedevice"); + + code = dorestore(i_ctx_p, asave); +@@ -355,9 +390,12 @@ static int + z2setgstate(i_ctx_t *i_ctx_p) + { + os_ptr op = osp; ++ int code; + + check_stype(*op, st_igstate_obj); +- if (!restore_page_device(igs, igstate_ptr(op))) ++ code = restore_page_device(i_ctx_p, igs, igstate_ptr(op)); ++ if (code < 0) return code; ++ if (code == 0) + return zsetgstate(i_ctx_p); + return push_callout(i_ctx_p, "%setgstatepagedevice"); + } diff --git a/gnu/packages/patches/ghostscript-bug-699708.patch b/gnu/packages/patches/ghostscript-bug-699708.patch new file mode 100644 index 0000000000..1567be1c6f --- /dev/null +++ b/gnu/packages/patches/ghostscript-bug-699708.patch @@ -0,0 +1,160 @@ +Additional security fix that missed 9.24. + +Taken from upstream: +http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb713b3818b52d8a6cf62c951eba2e1795ff9624 + +From fb713b3818b52d8a6cf62c951eba2e1795ff9624 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 6 Sep 2018 09:16:22 +0100 +Subject: [PATCH] Bug 699708 (part 1): 'Hide' non-replaceable error handlers + for SAFER + +We already had a 'private' dictionary for non-standard errors: gserrordict. + +This now includes all the default error handlers, the dictionary is made +noaccess and all the prodedures are bound and executeonly. + +When running with -dSAFER, in the event of a Postscript error, instead of +pulling the handler from errordict, we'll pull it from gserrordict - thus +malicious input cannot trigger problems by the use of custom error handlers. + +errordict remains open and writeable, so files such as the Quality Logic tests +that install their own handlers will still 'work', with the exception that the +custom error handlers will not be called. + +This is a 'first pass', 'sledgehammer' approach: a nice addition would to allow +an integrator to specify a list of errors that are not to be replaced (for +example, embedded applications would probably want to ensure that VMerror is +always handled as they intend). +--- + Resource/Init/gs_init.ps | 29 ++++++++++++++++++----------- + psi/interp.c | 30 +++++++++++++++++++++--------- + 2 files changed, 39 insertions(+), 20 deletions(-) + +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index 071c39205..bc8b7951c 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -881,7 +881,7 @@ userdict /.currentresourcefile //null put + { not exch pop exit } { pop } ifelse + } + for exch pop .quit +- } bind def ++ } bind executeonly def + /.errorhandler % .errorhandler - + { % Detect an internal 'stopped'. + 1 .instopped { //null eq { pop pop stop } if } if +@@ -926,7 +926,7 @@ userdict /.currentresourcefile //null put + $error /globalmode get $error /.nosetlocal get and .setglobal + $error /.inerror //false put + stop +- } bind def ++ } bind executeonly def + % Define the standard handleerror. We break out the printing procedure + % (.printerror) so that it can be extended for binary output + % if the Level 2 facilities are present. +@@ -976,7 +976,7 @@ userdict /.currentresourcefile //null put + ifelse % newerror + end + flush +- } bind def ++ } bind executeonly def + /.printerror_long % long error printout, + % $error is on the dict stack + { % Push the (anonymous) stack printing procedure. +@@ -1053,14 +1053,14 @@ userdict /.currentresourcefile //null put + { (Current file position is ) print position = } + if + +- } bind def ++ } bind executeonly def + % Define a procedure for clearing the error indication. + /.clearerror + { $error /newerror //false put + $error /errorname //null put + $error /errorinfo //null put + 0 .setoserrno +- } bind def ++ } bind executeonly def + + % Define $error. This must be in local VM. + .currentglobal //false .setglobal +@@ -1086,11 +1086,15 @@ end + /errordict ErrorNames length 3 add dict + .forcedef % errordict is local, systemdict is global + .setglobal % back to global VM +-% For greater Adobe compatibility, we put all non-standard errors in a +-% separate dictionary, gserrordict. It does not need to be in local VM, +-% because PostScript programs do not access it. ++% gserrordict contains all the default error handling methods, but unlike ++% errordict it is noaccess after creation (also it is in global VM). ++% When running 'SAFER', we'll ignore the contents of errordict, which ++% may have been tampered with by the running job, and always use gserrordict ++% gserrordict also contains any non-standard errors, for better compatibility ++% with Adobe. ++% + % NOTE: the name gserrordict is known to the interpreter. +-/gserrordict 5 dict def ++/gserrordict ErrorNames length 3 add dict def + % Register an error in errordict. We make this a procedure because we only + % register the Level 1 errors here: the rest are registered by "feature" + % files. However, ErrorNames contains all of the error names regardless of +@@ -1119,8 +1123,11 @@ errordict begin + } bind def + end % errordict + +-% Put non-standard errors in gserrordict. +-gserrordict /unknownerror errordict /unknownerror get put ++% Put all the default handlers in gserrordict ++gserrordict ++errordict {2 index 3 1 roll put} forall ++noaccess pop ++% remove the non-standard errors from errordict + errordict /unknownerror .undef + % Define a stable private copy of handleerror that we will always use under + % JOBSERVER mode. +diff --git a/psi/interp.c b/psi/interp.c +index c27b70dca..d41a9d3f5 100644 +--- a/psi/interp.c ++++ b/psi/interp.c +@@ -661,16 +661,28 @@ again: + return code; + if (gs_errorname(i_ctx_p, code, &error_name) < 0) + return code; /* out-of-range error code! */ +- /* +- * For greater Adobe compatibility, only the standard PostScript errors +- * are defined in errordict; the rest are in gserrordict. ++ ++ /* If LockFilePermissions is true, we only refer to gserrordict, which ++ * is not accessible to Postcript jobs + */ +- if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 || +- (dict_find(perrordict, &error_name, &epref) <= 0 && +- (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 || +- dict_find(perrordict, &error_name, &epref) <= 0)) +- ) +- return code; /* error name not in errordict??? */ ++ if (i_ctx_p->LockFilePermissions) { ++ if (((dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 || ++ dict_find(perrordict, &error_name, &epref) <= 0)) ++ ) ++ return code; /* error name not in errordict??? */ ++ } ++ else { ++ /* ++ * For greater Adobe compatibility, only the standard PostScript errors ++ * are defined in errordict; the rest are in gserrordict. ++ */ ++ if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 || ++ (dict_find(perrordict, &error_name, &epref) <= 0 && ++ (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 || ++ dict_find(perrordict, &error_name, &epref) <= 0)) ++ ) ++ return code; /* error name not in errordict??? */ ++ } + doref = *epref; + epref = &doref; + /* Push the error object on the operand stack if appropriate. */ +-- +2.18.0 + -- cgit v1.2.3