From 2d5598c1d7b963a00828c3533cd97eaee62ff312 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 12:25:26 +0100 Subject: [PATCH 001/149] gnu: guile-wisp: Update to 0.9.9. * gnu/packages/guile.scm (guile-wisp): Update to 0.9.9. --- gnu/packages/guile.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b1447a1d2e..6004840acb 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen -;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016 Eraim Flashner ;;; Copyright © 2016, 2017 Alex Kost @@ -1288,7 +1288,7 @@ key-value cache and store.") (define-public guile-wisp (package (name "guile-wisp") - (version "0.9.8") + (version "0.9.9") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/ArneBab/" @@ -1296,7 +1296,7 @@ key-value cache and store.") version ".tar.gz")) (sha256 (base32 - "1f2bbicq1rxnwmiplrm4r75wj06w385mjkyvi7g4k740bgwcrzxr")))) + "1xa0f0fvcrimqap50azv5872bfx8jbhc6baxa1prpbwcksbh8gdz")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From ef841dca911b9bbc959080a7bb5609db7a1a31f2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 12:26:14 +0100 Subject: [PATCH 002/149] gnu: guile-wisp: Update home page. * gnu/packages/guile.scm (guile-wisp)[home-page]: Use HTTPS. --- gnu/packages/guile.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6004840acb..e38d00696f 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1346,7 +1346,7 @@ key-value cache and store.") file "-o" go))) (find-files module-dir "\\.scm$")) #t)))))) - (home-page "http://draketo.de/english/wisp") + (home-page "https://draketo.de/english/wisp") (inputs `(("guile" ,guile-2.2))) (native-inputs From a38fa63b4b13ea6f4f3986a78060cf0b5d852170 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 12:26:48 +0100 Subject: [PATCH 003/149] gnu: guile-wisp: Simplify arguments and fix indentation. * gnu/packages/guile.scm (guile-wisp)[arguments]: Slightly simplify and fix indentation. --- gnu/packages/guile.scm | 67 ++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 38 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index e38d00696f..98221a83eb 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1303,49 +1303,40 @@ key-value cache and store.") (guix build utils) (ice-9 rdelim) (ice-9 popen)) - #:phases (modify-phases %standard-phases - (add-before 'configure 'substitute-before-config - - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - ;; Puts together some test files with /bin/bash hardcoded - (substitute* "Makefile.in" - (("/usr/bin/env bash") - (string-append bash "/bin/bash")) - (("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site") - "site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order - #t))) - + (add-before 'configure 'patch-/usr/bin/env + (lambda _ + (substitute* "Makefile.in" + (("/usr/bin/env bash") (which "bash")) + (("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site") + "site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order + #t)) ;; auto compilation breaks, but if we set HOME to /tmp, ;; that works ok - (add-before - 'check 'auto-compile-hacky-workaround - (lambda _ - (setenv "HOME" "/tmp") - #t)) + (add-before 'check 'auto-compile-hacky-workaround + (lambda _ (setenv "HOME" "/tmp") #t)) (add-after 'install 'install-go-files - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (effective (read-line - (open-pipe* OPEN_READ - "guile" "-c" - "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (object-dir (string-append out "/lib/guile/" effective - "/site-ccache")) - (prefix (string-length module-dir))) - ;; compile to the destination - (for-each (lambda (file) - (let* ((base (string-drop (string-drop-right file 4) - prefix)) - (go (string-append object-dir base ".go"))) - (invoke "guild" "compile" "-L" module-dir - file "-o" go))) - (find-files module-dir "\\.scm$")) - #t)))))) + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (effective (read-line + (open-pipe* OPEN_READ + "guile" "-c" + "(display (effective-version))"))) + (module-dir (string-append out "/share/guile/site/" + effective)) + (object-dir (string-append out "/lib/guile/" effective + "/site-ccache")) + (prefix (string-length module-dir))) + ;; compile to the destination + (for-each (lambda (file) + (let* ((base (string-drop (string-drop-right file 4) + prefix)) + (go (string-append object-dir base ".go"))) + (invoke "guild" "compile" "-L" module-dir + file "-o" go))) + (find-files module-dir "\\.scm$")) + #t)))))) (home-page "https://draketo.de/english/wisp") (inputs `(("guile" ,guile-2.2))) From 672489622b0a2f906063ae9104eb188cb27088b9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 12:27:18 +0100 Subject: [PATCH 004/149] gnu: Add emacs-simple-mpc. * gnu/packages/emacs-xyz.scm (emacs-simple-mpc): New variable. --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 02e227d42d..bbea4c08a2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12920,3 +12920,28 @@ to open SQLite databases.") Nix expressions. It supports syntax highlighting, indenting and refilling of comments.") (license license:lgpl2.1+))) + +(define-public emacs-simple-mpc + ;; There have been no releases. + (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2") + (revision "1")) + (package + (name "emacs-simple-mpc") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jorenvo/simple-mpc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-s" ,emacs-s))) + (home-page "https://github.com/jorenvo/simple-mpc") + (synopsis "Simple Emacs frontend to mpc") + (description "This package provides an Emacs major mode which acts as a +front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).") + (license license:gpl3+)))) From 20626f62c41c7787ab50d21e961de857f6616d81 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 3 Jan 2019 17:18:23 -0500 Subject: [PATCH 005/149] gnu: gnucash: Fix indentation. * gnu/packages/gnucash.scm (gnucash): Fix indentation. --- gnu/packages/gnucash.scm | 96 ++++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 49 deletions(-) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index b546233873..e85a538c46 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -54,15 +54,15 @@ (version "3.3") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" - version "/gnucash-" version ".tar.bz2")) - (sha256 - (base32 - "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3")) - (patches (search-patches "gnucash-price-quotes-perl.patch" - "gnucash-disable-failing-tests.patch" - "gnucash-fix-test-transaction-failure.patch")))) + (method url-fetch) + (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" + version "/gnucash-" version ".tar.bz2")) + (sha256 + (base32 + "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3")) + (patches (search-patches "gnucash-price-quotes-perl.patch" + "gnucash-disable-failing-tests.patch" + "gnucash-fix-test-transaction-failure.patch")))) (build-system cmake-build-system) (inputs `(("guile" ,guile-2.2) @@ -79,7 +79,7 @@ ("perl-finance-quote" ,perl-finance-quote) ("tzdata" ,tzdata-for-tests))) (native-inputs - `(("glib" ,glib "bin") ; glib-compile-schemas, etc. + `(("glib" ,glib "bin") ; glib-compile-schemas, etc. ("intltool" ,intltool) ("googlemock" ,(package-source googletest)) ("googletest" ,googletest) @@ -89,8 +89,8 @@ (arguments `(#:test-target "check" #:configure-flags - (list "-DWITH_OFX=OFF" ; libofx is not available yet - "-DWITH_SQL=OFF") ; without dbi.h + (list "-DWITH_OFX=OFF" ; libofx is not available yet + "-DWITH_SQL=OFF") ; without dbi.h #:make-flags '("GUILE_AUTO_COMPILE=0") #:modules ((guix build cmake-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) @@ -120,43 +120,41 @@ (string-append "set(SHELL " (which "bash") ")"))) #t))) ;; There are about 100 megabytes of documentation. - (add-after - 'install 'install-docs - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((docs (assoc-ref inputs "gnucash-docs")) - (doc-output (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc-output "/share")) - (symlink (string-append docs "/share/gnome") - (string-append doc-output "/share/gnome")) - #t))) - (add-after - 'install-docs 'wrap-programs - (lambda* (#:key inputs outputs #:allow-other-keys) - (for-each (lambda (prog) - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/" prog) - `("PERL5LIB" ":" prefix - ,(map (lambda (o) - (string-append o "/lib/perl5/site_perl/" - ,(package-version perl))) - (if (string=? prog "gnc-fq-helper") - (list - ,@(transitive-input-references - 'inputs - (map (lambda (l) - (assoc l (inputs))) - '("perl-finance-quote" - "perl-date-manip")))) - (list - ,@(transitive-input-references - 'inputs - (map (lambda (l) - (assoc l (inputs))) - '("perl-finance-quote"))))))))) - '("gnucash" - "gnc-fq-check" - "gnc-fq-helper" - "gnc-fq-dump")))) + (add-after 'install 'install-docs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((docs (assoc-ref inputs "gnucash-docs")) + (doc-output (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc-output "/share")) + (symlink (string-append docs "/share/gnome") + (string-append doc-output "/share/gnome")) + #t))) + (add-after 'install-docs 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each (lambda (prog) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/" prog) + `("PERL5LIB" ":" prefix + ,(map (lambda (o) + (string-append o "/lib/perl5/site_perl/" + ,(package-version perl))) + (if (string=? prog "gnc-fq-helper") + (list + ,@(transitive-input-references + 'inputs + (map (lambda (l) + (assoc l (inputs))) + '("perl-finance-quote" + "perl-date-manip")))) + (list + ,@(transitive-input-references + 'inputs + (map (lambda (l) + (assoc l (inputs))) + '("perl-finance-quote"))))))))) + '("gnucash" + "gnc-fq-check" + "gnc-fq-helper" + "gnc-fq-dump")))) (add-after 'install 'glib-or-gtk-compile-schemas (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) (add-after 'install 'glib-or-gtk-wrap From 7c8ea31ac94f5b55f2f4bbc16264b987cb9556e3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 3 Jan 2019 18:07:16 -0500 Subject: [PATCH 006/149] gnu: gnucash: Convert price-quotes-perl patch to a phase. * gnu/packages/patches/gnucash-price-quotes-perl.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Unregister it. * gnu/packages/gnucash.scm (gnucash)[patches]: Remove it. [phases]{fix-finance-quote-check}: Implement it using SUBSTITUTES*. --- gnu/local.mk | 1 - gnu/packages/gnucash.scm | 10 ++++++-- .../patches/gnucash-price-quotes-perl.patch | 24 ------------------- 3 files changed, 8 insertions(+), 27 deletions(-) delete mode 100644 gnu/packages/patches/gnucash-price-quotes-perl.patch diff --git a/gnu/local.mk b/gnu/local.mk index 750e67d2fe..cd4fc7fb5a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -831,7 +831,6 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-todo-libical-compat.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ - %D%/packages/patches/gnucash-price-quotes-perl.patch \ %D%/packages/patches/gnucash-disable-failing-tests.patch \ %D%/packages/patches/gnucash-fix-test-transaction-failure.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index e85a538c46..015e2b0459 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -60,8 +60,7 @@ (sha256 (base32 "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3")) - (patches (search-patches "gnucash-price-quotes-perl.patch" - "gnucash-disable-failing-tests.patch" + (patches (search-patches "gnucash-disable-failing-tests.patch" "gnucash-fix-test-transaction-failure.patch")))) (build-system cmake-build-system) (inputs @@ -119,6 +118,13 @@ (("set\\(SHELL /bin/bash\\)") (string-append "set(SHELL " (which "bash") ")"))) #t))) + ;; After wrapping gnc-fq-check and gnc-fq-helper we can no longer + ;; execute them with perl, so execute them directly instead. + (add-after 'unpack 'fix-finance-quote-check + (lambda _ + (substitute* "libgnucash/scm/price-quotes.scm" + (("\"perl\" \"-w\" ") "")) + #t)) ;; There are about 100 megabytes of documentation. (add-after 'install 'install-docs (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/patches/gnucash-price-quotes-perl.patch b/gnu/packages/patches/gnucash-price-quotes-perl.patch deleted file mode 100644 index 3101ddb007..0000000000 --- a/gnu/packages/patches/gnucash-price-quotes-perl.patch +++ /dev/null @@ -1,24 +0,0 @@ -After wrapping gnc-fq-check and gnc-fq-helper we can no longer execute them -with perl, so execute them directly instead. - -diff -ur gnucash-3.2.old/libgnucash/scm/price-quotes.scm gnucash-3.2/libgnucash/scm/price-quotes.scm ---- gnucash-3.2.old/libgnucash/scm/price-quotes.scm 2018-09-15 00:48:33.718389646 -0400 -+++ gnucash-3.2/libgnucash/scm/price-quotes.scm 2018-09-15 13:51:49.249862724 -0400 -@@ -74,7 +74,7 @@ - (define (start-program) - (if (not (string-null? gnc:*finance-quote-check*)) - (set! program (gnc-spawn-process-async -- (list "perl" "-w" gnc:*finance-quote-check*) #t)))) -+ (list gnc:*finance-quote-check*) #t)))) - - (define (get-sources) - (if (not (null? program)) -@@ -158,7 +158,7 @@ - (define (start-quoter) - (if (not (string-null? gnc:*finance-quote-helper*)) - (set! quoter (gnc-spawn-process-async -- (list "perl" "-w" gnc:*finance-quote-helper*) #t)))) -+ (list gnc:*finance-quote-helper*) #t)))) - - (define (get-quotes) - (if (not (null? quoter)) From a2e7e95663d11a1059fa900b4640e8ab75df627f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 3 Jan 2019 18:28:56 -0500 Subject: [PATCH 007/149] gnu: gnucash: Disable the stress-options-test using a phase. The qof test is also reinstated; it was failing because the needed locales were not installed. * gnu/packages/patches/gnucash-disable-failing-tests.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Unregister it. * gnu/packages/gnucash.scm (gnucash)[patches]: Remove it. [phases]{disable-stress-options-test}: Implement it using SUBSTITUTES*. {install-locales}: New phase. --- gnu/local.mk | 1 - gnu/packages/gnucash.scm | 18 ++++++++- .../gnucash-disable-failing-tests.patch | 39 ------------------- 3 files changed, 16 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/gnucash-disable-failing-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index cd4fc7fb5a..4795e8534c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -831,7 +831,6 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-todo-libical-compat.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ - %D%/packages/patches/gnucash-disable-failing-tests.patch \ %D%/packages/patches/gnucash-fix-test-transaction-failure.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gnutls-skip-pkgconfig-test.patch \ diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 015e2b0459..58b46243a2 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -60,8 +60,7 @@ (sha256 (base32 "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3")) - (patches (search-patches "gnucash-disable-failing-tests.patch" - "gnucash-fix-test-transaction-failure.patch")))) + (patches (search-patches "gnucash-fix-test-transaction-failure.patch")))) (build-system cmake-build-system) (inputs `(("guile" ,guile-2.2) @@ -125,6 +124,21 @@ (substitute* "libgnucash/scm/price-quotes.scm" (("\"perl\" \"-w\" ") "")) #t)) + ;; The test-stress-options unit test is known to fail, so we disable + ;; it (see: https://bugs.gnucash.org/show_bug.cgi?id=796877). + (add-after 'unpack 'disable-stress-options-test + (lambda _ + (substitute* "gnucash/report/standard-reports/test/CMakeLists.txt" + (("test-stress-options.scm") "")) + #t)) + ;; The qof test requires the en_US, en_GB, and fr_FR locales. + (add-before 'check 'install-locales + (lambda _ + (setenv "LOCPATH" (getcwd)) + (invoke "localedef" "-i" "en_US" "-f" "UTF-8" "./en_US.UTF-8") + (invoke "localedef" "-i" "en_GB" "-f" "UTF-8" "./en_GB.UTF-8") + (invoke "localedef" "-i" "fr_FR" "-f" "UTF-8" "./fr_FR.UTF-8") + #t)) ;; There are about 100 megabytes of documentation. (add-after 'install 'install-docs (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/patches/gnucash-disable-failing-tests.patch b/gnu/packages/patches/gnucash-disable-failing-tests.patch deleted file mode 100644 index e0fdd86b5d..0000000000 --- a/gnu/packages/patches/gnucash-disable-failing-tests.patch +++ /dev/null @@ -1,39 +0,0 @@ -test-stress-options.scm does not exist, and test-qof passes when run in the -build directory after the gnucash build. - -diff -ur gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt ---- gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:29:00.916641417 -0400 -+++ gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:30:52.962504860 -0400 -@@ -13,10 +13,6 @@ - test-income-gst.scm - ) - --set(scm_test_with_textual_ports_SOURCES -- test-stress-options.scm --) -- - set(GUILE_DEPENDS - scm-gnc-module - scm-app-utils -@@ -31,9 +27,6 @@ - - if (HAVE_SRFI64) - gnc_add_scheme_tests("${scm_test_with_srfi64_SOURCES}") -- if (HAVE_TEXT_PORTS) -- gnc_add_scheme_tests("${scm_test_with_textual_ports_SOURCES}") -- endif (HAVE_TEXT_PORTS) - endif (HAVE_SRFI64) - - gnc_add_scheme_tests("${scm_test_standard_reports_SOURCES}") -diff -ur gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt gnucash-3.3/libgnucash/engine/test/CMakeLists.txt ---- gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt 2018-10-04 09:29:00.876640751 -0400 -+++ gnucash-3.3/libgnucash/engine/test/CMakeLists.txt 2018-10-05 10:46:22.542962546 -0400 -@@ -54,8 +54,6 @@ - # This test does not run on Win32 - if (NOT WIN32) - set(SOURCES ${test_qof_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c) -- add_engine_test(test-qof "${SOURCES}") -- target_compile_definitions(test-qof PRIVATE TESTPROG=test_qof) - - set(SOURCES ${test_engine_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c) - add_engine_test(test-engine "${SOURCES}") From 2a67ea73c30b50456e5f7bcd5359d63f162297d9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 3 Jan 2019 18:26:43 -0500 Subject: [PATCH 008/149] gnu: gnucash: Update to 3.4. * gnu/packages/gnucash.scm (gnucash): Update to 3.4. [outputs]: Add debug. (gnucash-docs): Update to 3.4-1. [native-inputs]: Update docbook-xml to version 4.5 and drop older versions. --- gnu/packages/gnucash.scm | 69 +++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 58b46243a2..057ca709d7 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -49,9 +49,11 @@ #:use-module (gnu packages xml)) (define-public gnucash + ;; TODO: Unbundle libraries such as guile-json found under the "borrowed/" + ;; directory. (package (name "gnucash") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) @@ -59,7 +61,7 @@ version "/gnucash-" version ".tar.bz2")) (sha256 (base32 - "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3")) + "1ms2wg4sh5gq3rpjmmnp85rh5nc9ahca1imxkvhz4d3yiwy8hm52")) (patches (search-patches "gnucash-fix-test-transaction-failure.patch")))) (build-system cmake-build-system) (inputs @@ -83,7 +85,7 @@ ("googletest" ,googletest) ("gnucash-docs" ,gnucash-docs) ("pkg-config" ,pkg-config))) - (outputs '("out" "doc")) + (outputs '("out" "doc" "debug")) (arguments `(#:test-target "check" #:configure-flags @@ -192,38 +194,41 @@ financial calculations or scheduled transactions.") ;; This package is not public, since we use it to build the "doc" output of ;; the gnucash package (see above). It would be confusing if it were public. (define gnucash-docs - (package - (name "gnucash-docs") - (version (package-version gnucash)) - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" - version "/gnucash-docs-" version ".tar.gz")) - (sha256 - (base32 - "10v4hw4lh888r8yv473pqrvzfjg8dwamk62sghs93rn88ndwm16c")))) - (build-system gnu-build-system) - ;; These are native-inputs because they are only required for building the - ;; documentation. - (native-inputs - `(("libxml2" ,libxml2) - ;; The "check" target needs the docbook xml packages for validating the - ;; DocBook XML during the tests. - ("docbook-xml-4.4" ,docbook-xml-4.4) - ("docbook-xml-4.2" ,docbook-xml-4.2) - ("docbook-xml-4.1.2" ,docbook-xml-4.1.2) - ("libxslt" ,libxslt) - ("docbook-xsl" ,docbook-xsl) - ("scrollkeeper" ,scrollkeeper))) - (home-page "https://www.gnucash.org/") - (synopsis "Documentation for GnuCash") - (description - "User guide and other documentation for GnuCash in various languages. + (let ((revision "1")) ;set to the empty string when no revision + (package + (name "gnucash-docs") + (version (package-version gnucash)) + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" + version "/gnucash-docs-" version + (if (string-null? revision) + "" + (string-append "-" revision)) + ".tar.gz")) + (sha256 + (base32 + "0bgjxpxgk7hy8ihn1kvd8p6vv191q5md2hz6jb9mqc4aykpvdlq7")))) + (build-system gnu-build-system) + ;; These are native-inputs because they are only required for building the + ;; documentation. + (native-inputs + `(("libxml2" ,libxml2) + ;; The "check" target needs the docbook xml package for validating the + ;; DocBook XML during the tests. + ("docbook-xml" ,docbook-xml) + ("libxslt" ,libxslt) + ("docbook-xsl" ,docbook-xsl) + ("scrollkeeper" ,scrollkeeper))) + (home-page "https://www.gnucash.org/") + (synopsis "Documentation for GnuCash") + (description + "User guide and other documentation for GnuCash in various languages. This package exists because the GnuCash project maintains its documentation in an entirely separate package from the actual GnuCash program. It is intended to be read using the GNOME Yelp program.") - (license (list license:fdl1.1+ license:gpl3+)))) + (license (list license:fdl1.1+ license:gpl3+))))) (define-public gwenhywfar (package From 60bfefb6153def319115f84ba841b6663f7533c2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 4 Jan 2019 23:11:15 -0500 Subject: [PATCH 009/149] gnu: gnucash: Add information about how to use the documentation. It was not obvious that another application, Yelp, needed to be installed to so that opening the help of GnuCash from within the application would work. Fixes issue #33960 (see: https://issues.guix.info/issue/33960). * gnu/packages/gnucash.scm (gnucash)[description]: Explain how to enable the documentation. --- gnu/packages/gnucash.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 057ca709d7..b22045eb8b 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -188,7 +188,10 @@ It can be used to track bank accounts, stocks, income and expenses, based on the double-entry accounting practice. It includes support for QIF/OFX/HBCI import and transaction matching. It also automates several tasks, such as -financial calculations or scheduled transactions.") +financial calculations or scheduled transactions. + +To make the GnuCash documentation available, its doc output must be +installed as well as Yelp, the Gnome help browser.") (license license:gpl3+))) ;; This package is not public, since we use it to build the "doc" output of From f0caf7607d42b7d3daa3da2bd8e662fdf6e54b18 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 18 Jan 2019 22:23:59 -0500 Subject: [PATCH 010/149] gnu: Add emacs-magit-gerrit. * gnu/packages/emacs-xyz.scm (emacs-magit-gerrit): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bbea4c08a2..da646bf0dc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10160,6 +10160,32 @@ time is being spent during Emacs startup in order to optimize startup time.") ;; A new mpv backend is included in Emms from 5.0. (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms)) +(define-public emacs-magit-gerrit + (let ((version "0.3") + (revision "1") + (commit "ece6f369694aca17f3ac166ed2801b432acfe20d")) + (package + (name "emacs-magit-gerrit") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/terranpro/magit-gerrit.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-magit" ,emacs-magit))) + (home-page "https://github.com/terranpro/magit-gerrit") + (synopsis "Magit extension for Gerrit") + (description "This Magit extension provides integration with Gerrit, +which makes it possible to conduct Gerrit code reviews directly from within +Emacs.") + (license license:gpl3+)))) + (define-public emacs-magit-org-todos-el (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a")) (package From 286749bd4413bd9994fe2bc06a5596ebb02ea402 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Jan 2019 19:27:51 +0100 Subject: [PATCH 011/149] doc: Correct EFI-specific system configuration details. * doc/guix.texi (Preparing for Installation): /boot/efi is arbitrary. Mention /boot/efi consistently. (Proceeding with the Installation): Make it explicit that the EFI mount point must both be mounted and be specified in the system configuration. --- doc/guix.texi | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 782c681cf1..b8071d17de 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2106,8 +2106,8 @@ manual}). @cindex UEFI, installation @cindex ESP, EFI system partition If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System Partition} -(ESP) is required. This partition should be mounted at @file{/boot/efi} and -must have the @code{esp} flag set. E.g., for @command{parted}: +(ESP) is required. This partition can be mounted at @file{/boot/efi} for +instance and must have the @code{esp} flag set. E.g., for @command{parted}: @example parted /dev/sda set 1 esp on @@ -2169,9 +2169,9 @@ mount LABEL=my-root /mnt @end example Also mount any other file systems you would like to use on the target -system relative to this path. If you have @file{/boot} on a separate -partition for example, mount it at @file{/mnt/boot} now so it is found -by @code{guix system init} afterwards. +system relative to this path. If you have opted for @file{/boot/efi} as an +EFI mount point for example, mount it at @file{/mnt/boot/efi} now so it is +found by @code{guix system init} afterwards. Finally, if you plan to use one or more swap partitions (@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference Manual}), make @@ -2253,8 +2253,9 @@ you want to install GRUB on. It should mention @code{grub-bootloader} if you are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for newer UEFI systems. For legacy systems, the @code{target} field names a device, like @code{/dev/sda}; for UEFI systems it names a path -to a mounted EFI partition, like @code{/boot/efi}, and do make sure the -path is actually mounted. +to a mounted EFI partition, like @code{/boot/efi}; do make sure the path is +currently mounted and a @code{file-sytem} entry is specified in your +configuration. @item Be sure that your file system labels match the value of their respective From ece2fd121866e4f46c5a4be92c6f09b6c1042ea1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Jan 2019 19:35:47 +0100 Subject: [PATCH 012/149] gnu: Fix missing EFI entry in "desktop" example. * gnu/system/examples/desktop.tmpl (file-systems): Add EFI file-system. --- gnu/system/examples/desktop.tmpl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 1b8d46afaf..e20b472363 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -25,12 +25,17 @@ (target "my-root") (type luks-device-mapping)))) - (file-systems (cons (file-system - (device (file-system-label "my-root")) - (mount-point "/") - (type "ext4") - (dependencies mapped-devices)) - %base-file-systems)) + (file-systems (append + (list (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4") + (dependencies mapped-devices)) + (file-system + (device (uuid "1234-ABCD" 'fat)) + (mount-point "/boot/efi") + (type "vfat"))) + %base-file-systems)) (users (cons (user-account (name "bob") From 907dd32720cf7ae94876c1da2df775f524f5f795 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Jan 2019 19:37:59 +0100 Subject: [PATCH 013/149] gnu: Replace all cons* with beginner-friendly (append (list ...)). * gnu/system/examples/bare-bones.tmpl (services): Do it. * gnu/system/examples/beaglebone.tmpl (packages): Do it. (services): Do it. * gnu/system/examples/desktop.tmpl (packages): Do it. (services): Do it. * gnu/system/examples/lightweight-desktop.tmpl (file-systems): Do it. (packages): Do it. * gnu/system/examples/vm-image.tmpl (packages): Do it. --- gnu/system/examples/bare-bones.tmpl | 10 ++++----- gnu/system/examples/beaglebone-black.tmpl | 22 ++++++++++---------- gnu/system/examples/desktop.tmpl | 15 +++++++------ gnu/system/examples/lightweight-desktop.tmpl | 16 ++++++++------ gnu/system/examples/vm-image.tmpl | 12 ++++++----- 5 files changed, 42 insertions(+), 33 deletions(-) diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl index 902dacbe57..a88bab034f 100644 --- a/gnu/system/examples/bare-bones.tmpl +++ b/gnu/system/examples/bare-bones.tmpl @@ -44,8 +44,8 @@ ;; Add services to the baseline: a DHCP client and ;; an SSH server. - (services (cons* (service dhcp-client-service-type) - (service openssh-service-type - (openssh-configuration - (port-number 2222))) - %base-services))) + (services (append (list (service dhcp-client-service-type) + (service openssh-service-type + (openssh-configuration + (port-number 2222)))) + %base-services))) diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl index efef682e3a..11678063b2 100644 --- a/gnu/system/examples/beaglebone-black.tmpl +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -43,15 +43,15 @@ %base-user-accounts)) ;; Globally-installed packages. - (packages (cons* screen openssh %base-packages)) + (packages (append (list screen openssh) %base-packages)) - (services (cons* (service dhcp-client-service-type) - ;; mingetty does not work on serial lines. - ;; Use agetty with board-specific serial parameters. - (agetty-service - (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty "ttyO0"))) - %base-services))) + (services (append (list (service dhcp-client-service-type) + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0")))) + %base-services))) diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index e20b472363..c59bf92681 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -47,17 +47,20 @@ %base-user-accounts)) ;; This is where we specify system-wide packages. - (packages (cons* nss-certs ;for HTTPS access - gvfs ;for user mounts - %base-packages)) + (packages (append (list + ;; for HTTPS access + nss-certs + ;; for user mounts + gvfs) + %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. - (services (cons* (gnome-desktop-service) - (xfce-desktop-service) - %desktop-services)) + (services (append (list (gnome-desktop-service) + (xfce-desktop-service)) + %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index 360ee62ffe..a234badd2b 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -19,15 +19,16 @@ ;; Assume the target root file system is labelled "my-root", ;; and the EFI System Partition has UUID 1234-ABCD. - (file-systems (cons* (file-system + (file-systems (append + (list (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4")) (file-system (device (uuid "1234-ABCD" 'fat)) (mount-point "/boot/efi") - (type "vfat")) - %base-file-systems)) + (type "vfat"))) + %base-file-systems)) (users (cons (user-account (name "alice") @@ -40,9 +41,12 @@ ;; Add a bunch of window managers; we can choose one at ;; the log-in screen with F1. - (packages (cons* ratpoison i3-wm i3status dmenu ;window managers - nss-certs ;for HTTPS access - %base-packages)) + (packages (append (list + ;; window managers + ratpoison i3-wm i3status dmenu + ;; for HTTPS access + nss-certs) + %base-packages)) ;; Use the "desktop" services, which include the X11 ;; log-in service, networking with NetworkManager, and more. diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl index f149f67113..4d292c1bc6 100644 --- a/gnu/system/examples/vm-image.tmpl +++ b/gnu/system/examples/vm-image.tmpl @@ -24,7 +24,7 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n")) (timezone "Etc/UTC") (locale "en_US.utf8") -(firmware '()) + (firmware '()) ;; Assuming /dev/sdX is the target hard disk, and "my-root" is ;; the label of the target root file system. @@ -44,10 +44,12 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n")) (users %base-user-accounts) ;; Globally-installed packages. - (packages (cons* nvi fdisk - grub ; mostly so xrefs to its manual work - parted ; partprobe - %base-packages)) + (packages (append (list nvi fdisk + ;; mostly so xrefs to its manual work + grub + ;; partprobe + parted) + %base-packages)) (services (modify-services %base-services (login-service-type config => From b1c4dafbf1428b5e004c2c1c173eaa8b7a73ed39 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Jan 2019 20:24:44 +0100 Subject: [PATCH 014/149] doc: Replace some cons* with beginner-friendly (append (list ...)). * doc/guix.texi (Base Services): Do it. --- doc/guix.texi | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b8071d17de..afc0ef8615 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10888,9 +10888,9 @@ system, you will want to append services to @var{%base-services}, like this: @example -(cons* (service avahi-service-type) - (service openssh-service-type) - %base-services) +(append (list (service avahi-service-type) + (service openssh-service-type)) + %base-services) @end example @end defvr @@ -11520,11 +11520,12 @@ well as in the @var{groups} field of the @var{operating-system} record. ;; @dots{} (services - (modify-services %desktop-services - (udev-service-type config => - (udev-configuration (inherit config) - (rules (cons* android-udev-rules - (udev-configuration-rules config)))))))) + (modify-services %desktop-services + (udev-service-type + config => + (udev-configuration (inherit config) + (rules (cons android-udev-rules + (udev-configuration-rules config)))))))) @end example @defvr {Scheme Variable} urandom-seed-service-type From 1b66989bedc4999151fdc5184bb7fa5ed8ce0bc7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 16:56:08 +0100 Subject: [PATCH 015/149] gnu: python2-pysnptools: Use better home page. * gnu/packages/python-xyz.scm (python2-pysnptools)[home-page]: Use better home page. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 35ac4e69f5..3c5298ac82 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3393,7 +3393,7 @@ toolkits.") ("python2-pandas" ,python2-pandas))) (native-inputs `(("unzip" ,unzip))) - (home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/") + (home-page "http://microsoftgenomics.github.io/PySnpTools/") (synopsis "Library for reading and manipulating genetic data") (description "PySnpTools is a library for reading and manipulating genetic data. It From 5d1ade85c424c7bac7aff36becf53f30fbe97e15 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 16:56:37 +0100 Subject: [PATCH 016/149] gnu: python2-pysnptools: Update to 0.3.13. * gnu/packages/python-xyz.scm (python2-pysnptools): Update to 0.3.13. [native-inputs]: Remove unzip; add python2-cython. [arguments]: Disable tests. --- gnu/packages/python-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3c5298ac82..cdeb63c9e4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3376,23 +3376,24 @@ toolkits.") (define-public python2-pysnptools (package (name "python2-pysnptools") - (version "0.3.9") + (version "0.3.13") (source (origin (method url-fetch) - (uri (pypi-uri "pysnptools" version ".zip")) + (uri (pypi-uri "pysnptools" version)) (sha256 (base32 - "1wybggjzz8zw7aav4pjsg2h22xp17a1lghrprza1pxwlm7wf96y2")))) + "0lnis5xsl7bi0hz4f7gbicahzi5zlxkc21nk3g374xv8fb5hb3qm")))) (build-system python-build-system) (arguments - `(#:python ,python-2)) ; only Python 2.7 is supported + `(#:python ,python-2 ; only Python 2.7 is supported + #:tests? #f)) ; test files (e.g. examples/toydata.bim) not included (propagated-inputs `(("python2-numpy" ,python2-numpy) ("python2-scipy" ,python2-scipy) ("python2-pandas" ,python2-pandas))) (native-inputs - `(("unzip" ,unzip))) + `(("python2-cython" ,python2-cython))) (home-page "http://microsoftgenomics.github.io/PySnpTools/") (synopsis "Library for reading and manipulating genetic data") (description From d1c4f329d102ada27586a3430257d5c1e8d93b6b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 16:59:15 +0100 Subject: [PATCH 017/149] gnu: python-orderedmultidict: Return #T from build phase. * gnu/packages/python-xyz.scm (python-orderedmultidict)[arguments]: Unconditionally return #T from phase "fix-tests". --- gnu/packages/python-xyz.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cdeb63c9e4..ae12cfba0c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3604,7 +3604,8 @@ where key might be occurred more than once in the container.") ;; The package uses nosetest for running the tests. ;; Adding this initfile allows to run the test suite ;; without requiring nosetest. - (zero? (system* "touch" "tests/__init__.py"))))))) + (with-output-to-file "tests/__init__.py" newline) + #t))))) (propagated-inputs `(("python-six" ,python-six))) (native-inputs From acb75c0328eccf30a3683a76d2bfed7ee5cfa9ed Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:02:41 +0100 Subject: [PATCH 018/149] gnu: python-pycparser: Use INVOKE. * gnu/packages/python-xyz.scm (python-pycparser)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ae12cfba0c..9c74e2b5f8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3805,7 +3805,8 @@ a general image processing tool.") (replace 'check (lambda _ (with-directory-excursion "tests" - (zero? (system* "python" "all_tests.py"))))) + (invoke "python" "all_tests.py")) + #t)) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) From 95b707fb467efccbf5939b0ed41d22c5be4414dd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:03:54 +0100 Subject: [PATCH 019/149] gnu: python-honcho: Use INVOKE. * gnu/packages/python-xyz.scm (python-honcho)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9c74e2b5f8..51fd320d66 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4148,7 +4148,7 @@ cluster without needing to write any wrapper code yourself.") ;; It's easier to run tests after install. ;; Make installed package available for running the tests (add-installed-pythonpath inputs outputs) - (zero? (system* "py.test" "-v"))))))) + (invoke "py.test" "-v")))))) (home-page "https://github.com/nickstenning/honcho") (synopsis "Manage Procfile-based applications") (description From dff0197e604d00ea8c1d96f109de58fa2ed778bf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:05:15 +0100 Subject: [PATCH 020/149] gnu: python-beautifulsoup4: Use INVOKE. * gnu/packages/python-xyz.scm (python-beautifulsoup4)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 51fd320d66..cb85565d44 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4857,7 +4857,7 @@ libxml2 and libxslt.") ;; For more information, see the file 'convert-py3k' in the source ;; distribution. (replace 'check - (lambda _ (zero? (system* "./convert-py3k"))))))) + (lambda _ (invoke "./convert-py3k")))))) (home-page "https://www.crummy.com/software/BeautifulSoup/bs4/") (synopsis From 5d7a6f1ceaa882376b739d5149475565b07e0b94 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:07:47 +0100 Subject: [PATCH 021/149] gnu: python-mpmath: Use INVOKE. * gnu/packages/python-xyz.scm (python-mpmath)[arguments]: Unconditionally return #T in "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cb85565d44..d63f300fde 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5104,8 +5104,7 @@ and statistical routines from scipy and statsmodels.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? - (system* "python" "mpmath/tests/runtests.py" "-local"))))))) + (invoke "python" "mpmath/tests/runtests.py" "-local")))))) (home-page "http://mpmath.org") (synopsis "Arbitrary-precision floating-point arithmetic in python") (description From 4a4a7d9ad6846355eb87025e3e74ae87b0c36017 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:08:26 +0100 Subject: [PATCH 022/149] gnu: python2-backports-shutil-get-terminal-size: Use INVOKE. * gnu/packages/python-xyz.scm (python2-backports-shutil-get-terminal-size) [arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d63f300fde..7033c95e79 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5326,7 +5326,7 @@ Python 2 and Python 3.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "py.test" "-v"))))))) + (invoke "py.test" "-v")))))) (native-inputs `(("python2-pytest" ,python2-pytest))) (home-page "https://github.com/chrippa/backports.shutil_get_terminal_size") From 4f0a0894794c18f5f20cdbe43d853394be832328 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:13:37 +0100 Subject: [PATCH 023/149] gnu: python-flake8-polyfill: Use INVOKE. * gnu/packages/python-xyz.scm (python-flake8-polyfill)[arguments]: Unconditionally return #T form "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7033c95e79..094fff4d20 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5670,7 +5670,7 @@ PEP8_PLUGIN('break_before_binary_operator'),")) (setenv "PYTHONPATH" (string-append (getcwd) "/build/lib:" (getenv "PYTHONPATH"))) - (zero? (system* "py.test" "-v"))))))) + (invoke "py.test" "-v")))))) (native-inputs `(("python-flake8" ,python-flake8) ("python-mock" ,python-mock) From 7904d6fa2c5b78958a5f9b39dad4d2446df26fd9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:14:15 +0100 Subject: [PATCH 024/149] gnu: python-ptyprocess: Use INVOKE. * gnu/packages/python-xyz.scm (python-ptyprocess)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 094fff4d20..2a3b5b56f7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5756,8 +5756,7 @@ markdown_py is also provided to convert Markdown files to HTML.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (zero? (system* "nosetests"))))))) + (lambda _ (invoke "nosetests")))))) (home-page "https://github.com/pexpect/ptyprocess") (synopsis "Run a subprocess in a pseudo terminal") (description From 2d7db192260f59b996d16e239bb9211375ec31c3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:15:07 +0100 Subject: [PATCH 025/149] gnu: python-cram: Use INVOKE. * gnu/packages/python-xyz.scm (python-cram)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2a3b5b56f7..bf987b716b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5810,7 +5810,7 @@ pseudo terminal (pty), and interact with both the process and its pty.") (add-installed-pythonpath inputs outputs) (setenv "PATH" (string-append (getenv "PATH") ":" (assoc-ref outputs "out") "/bin")) - (zero? (system* "make" "test"))))))) + (invoke "make" "test")))))) (build-system python-build-system) (native-inputs `(("python-coverage" ,python-coverage) From 45fd0081ec8a6b47e87fea60abcefea736acbda4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:16:22 +0100 Subject: [PATCH 026/149] gnu: python-xlrd: Use INVOKE. * gnu/packages/python-xyz.scm (python-xlrd)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bf987b716b..43b0e26f8b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6091,7 +6091,7 @@ and MAC network addresses.") (modify-phases %standard-phases ;; Current test in setup.py does not work as of 1.0.0, so use nose to ;; run tests instead for now. - (replace 'check (lambda _ (zero? (system* "nosetests"))))))) + (replace 'check (lambda _ (invoke "nosetests")))))) (native-inputs `(("python-nose" ,python-nose))) (home-page "http://www.python-excel.org/") (synopsis "Library for extracting data from Excel files") From 35d79d6103765cf0f509dc4c905a402c4c21e980 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:19:20 +0100 Subject: [PATCH 027/149] gnu: python-tables: Use INVOKE. * gnu/packages/python-xyz.scm (python-tables)[arguments]: Unconditionally return #T from "check" and "build" phases. --- gnu/packages/python-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 43b0e26f8b..f020e1a62a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6167,14 +6167,14 @@ printing of sub-tables by specifying a row range.") #t)) (replace 'build (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "python" "setup.py" "build" - (string-append "--hdf5=" - (assoc-ref inputs "hdf5")))))) + (invoke "python" "setup.py" "build" + (string-append "--hdf5=" + (assoc-ref inputs "hdf5"))))) (replace 'check (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "python" "setup.py" "check" - (string-append "--hdf5=" - (assoc-ref inputs "hdf5"))))))))) + (invoke "python" "setup.py" "check" + (string-append "--hdf5=" + (assoc-ref inputs "hdf5")))))))) (propagated-inputs `(("python-numexpr" ,python-numexpr) ("python-numpy" ,python-numpy))) From 40b8c4e34d2b311c8d8726bbc365baee6f29adb3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:20:12 +0100 Subject: [PATCH 028/149] gnu: python2-ipaddr: Use INVOKE. * gnu/packages/python-xyz.scm (python2-ipaddr)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f020e1a62a..eaf1955f22 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6279,8 +6279,7 @@ implementations of ASN.1-based codecs and protocols.") #:phases (modify-phases %standard-phases (replace 'check - (lambda* _ - (zero? (system* "python" "ipaddr_test.py"))))))) + (lambda _ (invoke "python" "ipaddr_test.py")))))) (home-page "https://github.com/google/ipaddr-py") (synopsis "IP address manipulation library") (description From e59dd3415d1293ca46a1877bccfb7671b9ade169 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:20:41 +0100 Subject: [PATCH 029/149] gnu: python-rarfile: Use INVOKE. * gnu/packages/python-xyz.scm (python-rarfile)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index eaf1955f22..c5f75679bc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8489,7 +8489,7 @@ module, adding support for Unicode strings.") (modify-phases %standard-phases (replace 'check ;; Many tests fail, but the installation proceeds. - (lambda _ (zero? (system* "make" "-C" "test" "test"))))))) + (lambda _ (invoke "make" "-C" "test" "test")))))) (native-inputs `(("which" ,which))) ; required for tests (propagated-inputs From 49ff882740871866e0db74ae1223ca87e0ec9f17 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:22:15 +0100 Subject: [PATCH 030/149] gnu: python-faker: Use INVOKE. * gnu/packages/python-xyz.scm (python-faker)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c5f75679bc..789eb8ab7d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9497,8 +9497,7 @@ parsing UK postcodes.") '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (zero? (system* "python" "-m" "unittest" "-v" "tests"))))))) + (lambda _ (invoke "python" "-m" "unittest" "-v" "tests")))))) (native-inputs `(;; For testing ("python-email-validator" ,python-email-validator) From 21ccc01d4c7fdddf8b956d6433ad980a78132b89 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 17:22:29 +0100 Subject: [PATCH 031/149] gnu: python-odfpy: Use INVOKE. * gnu/packages/python-xyz.scm (python-odfpy)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 789eb8ab7d..42b5a097ae 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9990,9 +9990,9 @@ discovery, monitoring and configuration.") ;; The test runner invokes python2 and python3 for test*.py. ;; To avoid having both in inputs, we replicate it here. (lambda _ - (every (lambda (test-file) - (zero? (system* "python" test-file))) - (find-files "tests" "^test.*\\.py$"))))))) + (for-each (lambda (test-file) (invoke "python" test-file)) + (find-files "tests" "^test.*\\.py$")) + #t))))) (build-system python-build-system) (home-page "https://github.com/eea/odfpy") (synopsis "Python API and tools to manipulate OpenDocument files") From 8b89dedc376d4a3526568da43b9dc4c91d9809ab Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:01:16 +0100 Subject: [PATCH 032/149] gnu: Add python-sh. * gnu/packages/python-xyz.scm (python-sh): New variable. --- gnu/packages/python-xyz.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 42b5a097ae..c01afdd191 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -434,6 +434,24 @@ concepts.") (define-public python2-h5py (package-with-python2 python-h5py)) +(define-public python-sh + (package + (name "python-sh") + (version "1.12.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sh" version)) + (sha256 + (base32 + "1z2hx357xp3v4cv44xmqp7lli3frndqpyfmpbxf7n76h7s1zaaxm")))) + (build-system python-build-system) + (home-page "https://github.com/amoffat/sh") + (synopsis "Python subprocess replacement") + (description "This package provides a replacement for Python's +@code{subprocess} feature.") + (license license:expat))) + (define-public python-netcdf4 (package (name "python-netcdf4") From e253b94dc63d73ed7d26395048bf8f723d55b764 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:02:54 +0100 Subject: [PATCH 033/149] gnu: Add python-coveralls. * gnu/packages/python-check.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/python-check.scm | 58 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 gnu/packages/python-check.scm diff --git a/gnu/local.mk b/gnu/local.mk index 4795e8534c..7500571be8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -371,6 +371,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/pure.scm \ %D%/packages/pv.scm \ %D%/packages/python.scm \ + %D%/packages/python-check.scm \ %D%/packages/python-compression.scm \ %D%/packages/python-crypto.scm \ %D%/packages/python-web.scm \ diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm new file mode 100644 index 0000000000..2a5dbaeb30 --- /dev/null +++ b/gnu/packages/python-check.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages python-check) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python)) + +(define-public python-coveralls + (package + (name "python-coveralls") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "coveralls" version)) + (sha256 + (base32 + "0vfdny96gcq05qk5wxdbfxfaaprdk7c9q2pqvg7ac5l9sf48wqxb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-coverage" ,python-coverage) + ("python-docopt" ,python-docopt) + ("python-pyyaml" ,python-pyyaml) + ("python-requests" ,python-requests) + ("python-sh" ,python-sh) + ("python-urllib3" ,python-urllib3))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/coveralls-clients/coveralls-python") + (synopsis "Show coverage stats online via coveralls.io") + (description + "Coveralls.io is a service for publishing code coverage statistics online. +This package provides seamless integration with coverage.py (and thus pytest, +nosetests, etc...) in Python projects.") + (license license:expat))) From d362b11d2a5f9b5a03914b3249568bdec19f7951 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:04:12 +0100 Subject: [PATCH 034/149] gnu: Add python-cftime. * gnu/packages/python-xyz.scm (python-cftime): New variable. --- gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c01afdd191..7e3d96c84a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -113,6 +113,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) @@ -452,6 +453,33 @@ concepts.") @code{subprocess} feature.") (license license:expat))) +(define-public python-cftime + (package + (name "python-cftime") + (version "1.0.3.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cftime" version)) + (sha256 + (base32 + "0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x")))) + (build-system python-build-system) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (native-inputs + `(("python-coveralls" ,python-coveralls) + ("python-cython" ,python-cython) + ("python-pytest-cov" ,python-pytest-cov))) + (home-page "https://github.com/Unidata/cftime") + (synopsis "Library for time handling") + (description + "This package provides time-handling functionality that used to be part +of the netcdf4 package before.") + ;; This package claims to include code under the GPLv3 but is released + ;; under ISC. + (license (list license:isc license:gpl3+)))) + (define-public python-netcdf4 (package (name "python-netcdf4") From 93e7b2099b36234056d50438fef053df5d0ca60e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:12:11 +0100 Subject: [PATCH 035/149] gnu: python-netcdf4: Update to 1.4.2. * gnu/packages/python-xyz.scm (python-netcdf4): Update to 1.4.2. [arguments]: Remove custom "check" phase; add "configure-locations" phase. [propagated-inputs]: Add python-cftime. --- gnu/packages/python-xyz.scm | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7e3d96c84a..a8637d4af3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -483,39 +483,32 @@ of the netcdf4 package before.") (define-public python-netcdf4 (package (name "python-netcdf4") - (version "1.2.9") + (version "1.4.2") (source (origin (method url-fetch) (uri (pypi-uri "netCDF4" version)) (sha256 (base32 - "1h6jq338amlbk0ilzvjyl7cck80i0bah9a5spn9in71vy2qxm7i5")))) + "0c0sklgrmv15ygliin8qq0hp7vanmbi74m6zpi0r1ksr0hssyd5r")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure-locations + (lambda* (#:key inputs #:allow-other-keys) + (setenv "HDF5_DIR" (assoc-ref inputs "hdf5")) + #t))))) (native-inputs `(("python-cython" ,python-cython))) (propagated-inputs - `(("python-numpy" ,python-numpy))) + `(("python-numpy" ,python-numpy) + ("python-cftime" ,python-cftime))) (inputs `(("netcdf" ,netcdf) ("hdf4" ,hdf4) ("hdf5" ,hdf5))) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (setenv "NO_NET" "1") ; disable opendap tests - (with-directory-excursion "test" - (setenv "PYTHONPATH" ; find and add the library we just built - (string-append - (car (find-files "../build" "lib.*" - #:directories? #:t - #:fail-on-error? #:t)) - ":" (getenv "PYTHONPATH"))) - (zero? (system* "python" "run_all.py")))))))) - (home-page - "https://github.com/Unidata/netcdf4-python") + (home-page "https://github.com/Unidata/netcdf4-python") (synopsis "Python/numpy interface to the netCDF library") (description "Netcdf4-python is a Python interface to the netCDF C library. netCDF version 4 has many features not found in earlier From 8d466799519719263486c1405606dcefdc5451c7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:14:22 +0100 Subject: [PATCH 036/149] gnu: python-jsonschema: Use INVOKE. * gnu/packages/python-xyz.scm (python-jsonschema)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a8637d4af3..eaa7a93a8d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1749,7 +1749,7 @@ version numbers.") (arguments '(#:phases (modify-phases %standard-phases - (replace 'check (lambda _ (zero? (system* "nosetests"))))))) + (replace 'check (lambda _ (invoke "nosetests")))))) (native-inputs `(("python-nose" ,python-nose) ("python-vcversioner" ,python-vcversioner))) From dfafc29bcf5a30f9162266e1ee11d4af01e03a9a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:16:49 +0100 Subject: [PATCH 037/149] gnu: python2-pystache: Use INVOKE. * gnu/packages/python-xyz.scm (python2-pystache)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index eaa7a93a8d..96a9229345 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2145,7 +2145,7 @@ logic-free templating system Mustache.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "python" "test_pystache.py"))))))))) + (invoke "python" "test_pystache.py")))))))) (define-public python-joblib (package From 40bd0aa37b4a3ad9637b34c4bc1595e41c25e15b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 23 Jan 2019 10:41:33 -0500 Subject: [PATCH 038/149] gnu: python-jedi: Update to 0.13.2. * gnu/packages/python-xyz.scm (python-jedi): Update to 0.13.2. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 96a9229345..156778b62e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9672,17 +9672,17 @@ characters, mouse support, and auto suggestions.") (define-public python-jedi (package (name "python-jedi") - (version "0.13.1") + (version "0.13.2") (source (origin (method url-fetch) (uri (pypi-uri "jedi" version)) (sha256 (base32 - "0j11q42g5vjkyhhjpyy8nb0gdxs78m3rpjai7p1hvgpyl9rkyjdp")))) + "1za944msp0f8x36qa8l309jhv0kzlsdh7r9nj3z12y8npnsh45sp")))) (build-system python-build-system) (arguments - `( ;; Many tests are failing with Python 3.7.x as of version 0.13.1 (see: + `( ;; Many tests are failing with Python 3.7.x as of version 0.13.2 (see: ;; https://github.com/davidhalter/jedi/issues/1263) #:tests? #f #:phases From d79e0b3a030f391ad3857d1828fa3808f8c1c3e4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 23 Jan 2019 10:41:52 -0500 Subject: [PATCH 039/149] gnu: emacs-elpy: Update to 1.28.0. * gnu/packages/emacs-xyz.scm (emacs-elpy): Update to 1.28.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index da646bf0dc..c98798c8d4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4648,7 +4648,7 @@ indentation (space indentation only). (define-public emacs-elpy (package (name "emacs-elpy") - (version "1.27.0") + (version "1.28.0") (source (origin (method git-fetch) (uri (git-reference @@ -4657,7 +4657,7 @@ indentation (space indentation only). (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv")))) + "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis")))) (build-system emacs-build-system) (arguments `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) From 38ec0f6adc3d84988a10b88df33a03d409bd8fc5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:25:42 +0100 Subject: [PATCH 040/149] gnu: python-spectra: Use INVOKE. * gnu/packages/python-xyz.scm (python-spectra)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 156778b62e..ae1b2e4062 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2894,8 +2894,7 @@ objects.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (zero? (system* "nosetests" "-v"))))))) + (lambda _ (invoke "nosetests" "-v")))))) (propagated-inputs `(("python-colormath" ,python-colormath))) (native-inputs From 4fc898dad9cc22c3f5059c42c5fbdd7919205354 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:32:27 +0100 Subject: [PATCH 041/149] gnu: python-numpy-documentation: Use INVOKE. * gnu/packages/python-xyz.scm (python-numpy-documentation)[arguments]: Use INVOKE instead of SYSTEM*. --- gnu/packages/python-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ae1b2e4062..89988822f8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3001,12 +3001,12 @@ color scales, and color space conversion easy. It has support for: (with-directory-excursion "doc" (copy-recursively sphinx-theme-checkout scipy-sphinx-theme) (mkdir-p html) - (system* "make" "html" pyver) - (system* "make" "latex" "PAPER=a4" pyver) - (system* "make" "-C" "build/latex" + (invoke "make" "html" pyver) + (invoke "make" "latex" "PAPER=a4" pyver) + (invoke "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver) ;; FIXME: Generation of the info file fails. - ;; (system* "make" "info" pyver) + ;; (invoke "make" "info" pyver) ;; (mkdir-p info) ;; (copy-file "build/texinfo/numpy.info" ;; (string-append info "/numpy.info")) From c988afda6f2cedb195ea205d8e59c31b5262777e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:37:19 +0100 Subject: [PATCH 042/149] gnu: python-colorspacious: Use INVOKE. * gnu/packages/python-xyz.scm (python-colorspacious)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 89988822f8..85818c2a2e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3231,7 +3231,7 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "nosetests" "--all-modules" "-v" "colorspacious"))))))) + (invoke "nosetests" "--all-modules" "-v" "colorspacious")))))) (home-page "https://github.com/njsmith/colorspacious") (synopsis "Python library for colorspace conversions") (description "@code{colorspacious} is a Python library that lets you From 6568bd5df24cc43a8b4dffdaccac93c2e893b98a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:37:42 +0100 Subject: [PATCH 043/149] gnu: python-validictory: Use INVOKE. * gnu/packages/python-xyz.scm (python-validictory)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 85818c2a2e..47fdd169db 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10429,7 +10429,7 @@ is used by PostgreSQL and the OpenSSH Server for example.") (setenv "PYTHONPATH" (string-append (getcwd) "/build/lib:" (getenv "PYTHONPATH"))) - (zero? (system* "py.test" "-vv" ))))))) + (invoke "py.test" "-vv" )))))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page From 831080a69b6e6ee3be0ed81492f47ff4bc05de0a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:37:59 +0100 Subject: [PATCH 044/149] gnu: python-termstyle: Use INVOKE. * gnu/packages/python-xyz.scm (python-termstyle)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 47fdd169db..51a084bff4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10549,7 +10549,7 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "python" "test3.py"))))))) + (invoke "python" "test3.py")))))) (home-page "https://github.com/gfxmonk/termstyle") (synopsis "Console text coloring for Python") (description "This package provides console text coloring for Python.") From ee2bb94432d5f880ba55d439143bf048b0788260 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:38:13 +0100 Subject: [PATCH 045/149] gnu: python-pbkdf2: Use INVOKE. * gnu/packages/python-xyz.scm (python-pbkdf2)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 51a084bff4..68a05aeeaf 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10757,7 +10757,7 @@ protocols written in pure Python.") (setenv "PYTHONPATH" (string-append (getcwd) "/build/lib:" (getenv "PYTHONPATH"))) - (zero? (system* "python" "test/test_pbkdf2.py"))))))) + (invoke "python" "test/test_pbkdf2.py")))))) (propagated-inputs `(("python-pycrypto" ,python-pycrypto))) ; optional (home-page "https://www.dlitz.net/software/python-pbkdf2/") From f987ac307b05056a43a32c8b607c19baccbecbb9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:38:29 +0100 Subject: [PATCH 046/149] gnu: python2-ruamel.ordereddict: Use INVOKE. * gnu/packages/python-xyz.scm (python2-ruamel.ordereddict)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 68a05aeeaf..37a26b8211 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10965,7 +10965,7 @@ Problem} (SAT) solver.") (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (zero? (system* "python" "test/testordereddict.py"))))))) + (invoke "python" "test/testordereddict.py")))))) (home-page "https://bitbucket.org/ruamel/ordereddict") (synopsis "Version of dict that keeps keys in insertion order") (description From 6c826d3278d04c02150b3b9c3ec0515c595b641a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:38:44 +0100 Subject: [PATCH 047/149] gnu: python2-cliapp: Use INVOKE. * gnu/packages/python-xyz.scm (python2-cliapp)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 37a26b8211..0f02163cab 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11222,7 +11222,7 @@ protocols.") ;; Disable python3 tests (substitute* "check" (("python3") "# python3")) - (zero? (system* "./check"))))))) + (invoke "./check")))))) (native-inputs `(("python2-coverage-test-runner" ,python2-coverage-test-runner) ("python2-pep8" ,python2-pep8))) From cbeee88181b6e7d0c102c361bfaf5d1c152e8463 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:39:07 +0100 Subject: [PATCH 048/149] gnu: python2-ttystatus: Use INVOKE. * gnu/packages/python-xyz.scm (python2-ttystatus)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0f02163cab..1b138f31b9 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11262,8 +11262,7 @@ iterating over input files.") ;; and fails. (delete 'check) (add-before 'build 'check - (lambda _ - (zero? (system* "make" "check"))))))) + (lambda _ (invoke "make" "check")))))) (home-page "https://liw.fi/ttystatus/") (synopsis "Python library for showing progress reporting and status updates on terminals") From 204ad455ecb97f27e2e9ed6bd550b1a98e4a1839 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:39:22 +0100 Subject: [PATCH 049/149] gnu: python2-larch: Use INVOKE. * gnu/packages/python-xyz.scm (python2-larch)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1b138f31b9..6148696c6a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11324,8 +11324,7 @@ happens using the @code{logging} library.") ;; and fails. (delete 'check) (add-before 'build 'check - (lambda _ - (zero? (system* "make" "check"))))))) + (lambda _ (invoke "make" "check")))))) (native-inputs `(("cmdtest" ,cmdtest) ("python2-coverage-test-runner" ,python2-coverage-test-runner))) From ac599a0999653ccdae4f070e27ea4a11dafa5e98 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:39:42 +0100 Subject: [PATCH 050/149] gnu: python-flasgger: Use INVOKE. * gnu/packages/python-xyz.scm (python-flasgger)[arguments]: Unconditionally return #T from "check" phase. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6148696c6a..3d3901f8ae 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12338,7 +12338,7 @@ Swagger 2.0).") (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH"))) - (zero? (system* "py.test"))))))) + (invoke "py.test")))))) (propagated-inputs `(("python-flask" ,python-flask) ("python-pyyaml" ,python-pyyaml) From 77e61e25c21de9c262b617e4978c7dd8c0179145 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 18:39:56 +0100 Subject: [PATCH 051/149] gnu: python2-scientific: Use INVOKE. * gnu/packages/python-xyz.scm (python2-scientific)[arguments]: Unconditionally return #T from "build" phase. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3d3901f8ae..2294b59f33 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13184,9 +13184,9 @@ is the new Pyro version that is actively developed.") (modify-phases %standard-phases (replace 'build (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "python" "setup.py" "build" - (string-append "--netcdf_prefix=" - (assoc-ref inputs "netcdf"))))))))) + (invoke "python" "setup.py" "build" + (string-append "--netcdf_prefix=" + (assoc-ref inputs "netcdf")))))))) (home-page "https://bitbucket.org/khinsen/scientificpython") (synopsis "Python modules for scientific computing") (description "ScientificPython is a collection of Python modules that are From f67cb8eb8c574f32384b641a0fd1bde73c23d207 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 21:34:16 +0100 Subject: [PATCH 052/149] gnu: cdrtools: Remove custom build and install phases. * gnu/packages/cdrom.scm (cdrtools)[arguments]: Add make-flags; remove custom "build" and "install" phases. --- gnu/packages/cdrom.scm | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index cf095a17b7..b44cc3bce9 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2018 Oleg Pykhalov -;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Eric Bavier ;;; ;;; This file is part of GNU Guix. @@ -246,7 +246,12 @@ reconstruction capability.") (inputs `(("linux-headers" ,linux-libre-headers))) (arguments - `(#:phases + `(#:make-flags + (list "RM=rm" "LN=ln" "SYMLINK=ln -s" + "CONFIG_SHELL=sh" "CCOM=gcc" + (string-append "INS_BASE=" (assoc-ref %outputs "out")) + (string-append "INS_RBASE=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases (delete 'configure) (add-before 'build 'set-linux-headers @@ -261,19 +266,7 @@ reconstruction capability.") (find-files "DEFAULTS_ENG" "^Defaults\\.") (find-files "TEMPLATES" "^Defaults\\.")) (("/opt/schily") (assoc-ref %outputs "out"))) - #t)) - (replace 'build - (lambda _ - (zero? - (system* "make" "CONFIG_SHELL=sh" "CCOM=gcc" "RM=rm")))) - (replace 'install - (lambda _ - (zero? - (system* "make" - "RM=rm" "LN=ln" "SYMLINK=ln -s" - (string-append "INS_BASE=" (assoc-ref %outputs "out")) - (string-append "INS_RBASE=" (assoc-ref %outputs "out")) - "install" ))))) + #t))) #:tests? #f)) ; no tests (synopsis "Command line utilities to manipulate and burn CD/DVD/BD images") (description "cdrtools is a collection of command line utilities to create From 027f97b13f0de9a539a1d3c9edc0c3b4c0673f0f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 21:40:42 +0100 Subject: [PATCH 053/149] gnu: geeqie: Remove custom bootstrap phase. * gnu/packages/image-viewers.scm (geeqie)[arguments]: Remove invocation of autogen.sh script; rename "autogen" phase to "pre-bootstrap". --- gnu/packages/image-viewers.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index ce9e2b381c..ca7eb7a9fd 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 nee ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -126,21 +126,18 @@ actions.") #:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen + (add-before 'bootstrap 'pre-bootstrap (lambda _ (define (write-dummy-changelog port) (display "See Git history for a change log.\n" port)) - - (setenv "NOCONFIGURE" "true") - ;; Create ChangeLog{,.html} to placate the makefile, which would ;; otherwise require access to the Git repo. (call-with-output-file "ChangeLog" write-dummy-changelog) (call-with-output-file "ChangeLog.html" write-dummy-changelog) - - (zero? (system* "sh" "autogen.sh"))))))) + (setenv "NOCONFIGURE" "true") + #t))))) (inputs `(("clutter" ,clutter) ("libchamplain" ,libchamplain) From 5d3f16e43869bc9224f231360142a889cfaa6679 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 21:42:48 +0100 Subject: [PATCH 054/149] gnu: geeqie: Use GTK+ 3. * gnu/packages/image-viewers.scm (geeqie)[inputs]: Replace gtk+-2 with gtk+. --- gnu/packages/image-viewers.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index ca7eb7a9fd..4188ff2f15 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -144,7 +144,7 @@ actions.") ("lcms" ,lcms) ("exiv2" ,exiv2) ("libpng" ,libpng) - ("gtk+" ,gtk+-2))) + ("gtk+" ,gtk+))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From f0dece30b409d4144234b2e60a9422f9b9757eba Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Tue, 22 Jan 2019 17:11:54 +0100 Subject: [PATCH 055/149] gnu: ocaml-uchar: Update to 0.0.2. * gnu/packages/ocaml.scm (ocaml-uchar): Update to 0.0.2. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index deba67c4d7..3993424eb2 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2269,14 +2269,14 @@ representation of the data.") (define-public ocaml-uchar (package (name "ocaml-uchar") - (version "0.0.1") + (version "0.0.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/ocaml/uchar/releases/download/v" version "/uchar-" version ".tbz")) (sha256 (base32 - "0ficw1x7ymbd6m8hqw3w1aycwm1hbwd6bad3c5pspwnzh3qlikhi")))) + "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7")))) (build-system ocaml-build-system) (arguments `(#:tests? #f From cdcbccd17c41d91b0173349aa8c90afece840d57 Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Tue, 22 Jan 2019 17:17:48 +0100 Subject: [PATCH 056/149] gnu: ocaml-fmt: Update to 0.8.5. * gnu/packages/ocaml.scm (ocaml-fmt): Update to 0.8.5. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3993424eb2..2ecbd50a5b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Peter Kreye -;;; Copyright © 2018 Gabriel Hondet +;;; Copyright © 2018, 2019 Gabriel Hondet ;;; Copyright © 2018 Kei Kebreau ;;; ;;; This file is part of GNU Guix. @@ -1802,14 +1802,14 @@ most of the POSIX and GNU conventions.") (define-public ocaml-fmt (package (name "ocaml-fmt") - (version "0.8.0") + (version "0.8.5") (source (origin (method url-fetch) (uri (string-append "http://erratique.ch/software/fmt/releases/fmt-" version ".tbz")) (sha256 (base32 - "16y7ibndnairb53j8a6qgipyqwjxncn4pl9jiw5bxjfjm59108px")))) + "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060")))) (build-system ocaml-build-system) (native-inputs `(("ocamlbuild" ,ocamlbuild) @@ -1817,6 +1817,7 @@ most of the POSIX and GNU conventions.") ("topkg" ,ocaml-topkg))) (propagated-inputs `(("result" ,ocaml-result) + ("ocaml-uchar" ,ocaml-uchar) ("cmdliner" ,ocaml-cmdliner))) (arguments `(#:tests? #f #:build-flags (list "build" "--with-base-unix" "true" From ca53346dd57d57ba96d15a82dd9b2543723a4ad9 Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Tue, 22 Jan 2019 17:25:26 +0100 Subject: [PATCH 057/149] gnu: ocaml-cmdliner: Update to 1.0.2. * gnu/packages/ocaml.scm (ocaml-cmdliner): Update to 1.0.2. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2ecbd50a5b..c62d1ee8ee 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1768,15 +1768,17 @@ spans without being subject to operating system calendar time adjustments.") (define-public ocaml-cmdliner (package (name "ocaml-cmdliner") - (version "0.9.8") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "http://erratique.ch/software/cmdliner/releases/" "cmdliner-" version ".tbz")) (sha256 (base32 - "0hdxlkgiwjml9dpaa80282a8350if7mc1m6yz2mrd7gci3fszykx")))) + "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1")))) (build-system ocaml-build-system) + (inputs + `(("ocaml-result" ,ocaml-result))) (native-inputs `(("ocamlbuild" ,ocamlbuild) ("opam" ,opam))) @@ -1785,6 +1787,12 @@ spans without being subject to operating system calendar time adjustments.") #:build-flags '("native=true" "native-dynlink=true") #:phases (modify-phases %standard-phases + (replace 'install + ;; The makefile says 'adjust on cli invocation' + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install" (string-append "PREFIX=" out)) + #t))) (delete 'configure)))) (home-page "http://erratique.ch/software/cmdliner") (synopsis "Declarative definition of command line interfaces for OCaml") From 1d209d06edef7b2dfd744862add66aa3fe61f952 Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Tue, 22 Jan 2019 17:40:01 +0100 Subject: [PATCH 058/149] gnu: Add ocaml-craml. * gnu/packages/ocaml.scm (ocaml-craml): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c62d1ee8ee..c9df31ae6a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4758,6 +4758,35 @@ speedup, polymorphic variants and optional syntax for tuples and variants. yojson package. The program @code{atdgen} can be used to derive OCaml-JSON serializers and deserializers from type definitions.") (license license:bsd-3))) + +(define-public ocaml-craml + (package + (name "ocaml-craml") + (version "1.0.0") + (home-page "https://github.com/realworldocaml/craml") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "197xjp4vmzdymf2ndinw271ihpf45h04mx8gqj8ypspxdr5fj1a5")))) + (build-system dune-build-system) + (inputs + `(("ocaml-fmt" ,ocaml-fmt) + ("ocaml-astring" ,ocaml-astring) + ("ocaml-logs" ,ocaml-logs) + ("ocaml-cmdliner" ,ocaml-cmdliner))) + (synopsis + "CRAM-testing framework for testing command line applications") + (description "CRAM is a is functional testing framework for command line +applications. @code{craml} is freely inspired by the +Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test +format}. @code{craml} is released as a single binary (called @code{craml}).") + (license license:isc))) (define-public ocaml-merlin (package From ba5e89be8cfa3428d7b41954df8af792986eb5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 Jan 2019 22:27:29 +0100 Subject: [PATCH 059/149] deduplication: Ignore EMLINK. Until now 'guix offload' would fail (transient failure) upon EMLINK. * guix/store/deduplication.scm (replace-with-link) (deduplicate): Ignore EMLINK. --- guix/store/deduplication.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index a777940f86..8ca16a4cd8 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Caleb Ristvedt -;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -109,8 +109,9 @@ Note: TARGET, TO-REPLACE, and SWAP-DIRECTORY must be on the same file system." (get-temp-link target swap-directory)) (lambda args ;; We get ENOSPC when we can't fit an additional entry in - ;; SWAP-DIRECTORY. - (if (= ENOSPC (system-error-errno args)) + ;; SWAP-DIRECTORY. If it's EMLINK, then TARGET has reached its + ;; maximum number of links. + (if (memv (system-error-errno args) `(,ENOSPC ,EMLINK)) #f (apply throw args))))) @@ -169,4 +170,8 @@ under STORE." ;; more entries in .links, but that's fine: we can ;; just stop. #f) + ((= errno EMLINK) + ;; PATH has reached the maximum number of links, but + ;; that's OK: we just can't deduplicate it more. + #f) (else (apply throw args)))))))))) From e6b065b299e1819cd35643043a63e2f1ff27418c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 Jan 2019 22:30:05 +0100 Subject: [PATCH 060/149] ui: Don't report "build failed:" for daemon error messages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now we'd get things like: guix build: error: build failed: build of `/gnu/store/….drv' failed or: $ guix gc -d /sdf guix gc: error: build failed: path `/sdf' is not in the store which is kinda ridiculous. * guix/ui.scm (call-with-error-handling): Remove "build failed:" prefix for 'store-protocol-error?'. --- guix/ui.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/ui.scm b/guix/ui.scm index 9ff56ea85c..9eab4ba3f7 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -690,7 +690,7 @@ or remove one of them from the profile.") (strerror (store-connection-error-code c)))) ((store-protocol-error? c) ;; FIXME: Server-provided error messages aren't i18n'd. - (leave (G_ "build failed: ~a~%") + (leave (G_ "~a~%") (store-protocol-error-message c))) ((derivation-missing-output-error? c) (leave (G_ "reference to invalid output '~a' of derivation '~a'~%") From 5bbb04f9d1634e67e572e7e9d170342e63a78573 Mon Sep 17 00:00:00 2001 From: Arne Babenhauserheide Date: Fri, 18 Jan 2019 23:29:14 +0100 Subject: [PATCH 061/149] gnu: Add emacs-xwidgets. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-xwidgets): new variable Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a488289f11..7e8dcadf96 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -59,6 +59,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) + #:use-module (gnu packages webkit) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix utils) @@ -210,6 +211,22 @@ languages.") (native-inputs `(("pkg-config" ,pkg-config))))) +(define-public emacs-xwidgets + (package + (inherit emacs) + (name "emacs-xwidgets") + (synopsis "The extensible, customizable, self-documenting text +editor (with xwidgets support)") + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--with-xwidgets") + ,@(package-arguments emacs))) + (inputs + `(("webkitgtk" ,webkitgtk) + ("libxcomposite" ,libxcomposite) + ,@(package-inputs emacs))))) + (define-public emacs-no-x (package (inherit emacs) (name "emacs-no-x") From ea7fa78a74909feb34e460d2530772b6dd1b44cf Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Sun, 20 Jan 2019 16:03:03 +0100 Subject: [PATCH 062/149] gnu: Add ghc-c2hs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-c2hs): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9433ae0570..b8ea36852b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11403,4 +11403,62 @@ from a shell. The @code{tldr} pages are a community effort to simplify the man pages with practical examples.") (license license:bsd-3))) +(define-public ghc-c2hs + (package + (name "ghc-c2hs") + (version "0.28.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/c2hs/c2hs-" + version + ".tar.gz")) + (sha256 + (base32 + "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci")))) + (build-system haskell-build-system) + (inputs + `(("ghc-language-c" ,ghc-language-c) + ("ghc-dlist" ,ghc-dlist))) + (native-inputs + `(("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-hunit" ,ghc-hunit) + ("ghc-shelly" ,ghc-shelly) + ("ghc-text" ,ghc-text) + ("gcc" ,gcc))) + (arguments + `(;; XXX: Test failures are induced by a parse error in + ;; of glibc 2.28. + #:tests? #f + + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-cc + ;; add a cc executable in the path, needed for some tests to pass + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc")) + (tmpbin (tmpnam)) + (curpath (getenv "PATH"))) + (mkdir-p tmpbin) + (symlink (which "gcc") (string-append tmpbin "/cc")) + (setenv "PATH" (string-append tmpbin ":" curpath))) + #t)) + (add-after 'check 'remove-cc + ;; clean the tmp dir made in 'set-cc + (lambda _ + (let* ((cc-path (which "cc")) + (cc-dir (dirname cc-path))) + (delete-file-recursively cc-dir) + #t)))))) + (home-page "https://github.com/haskell/c2hs") + (synopsis "Create Haskell bindings to C libraries") + (description "C->Haskell assists in the development of Haskell bindings to +C libraries. It extracts interface information from C header files and +generates Haskell code with foreign imports and marshaling. Unlike writing +foreign imports by hand (or using hsc2hs), this ensures that C functions are +imported with the correct Haskell types.") + (license license:gpl2))) + ;;; haskell.scm ends here From ff0b73028c0bbbcbf352989ed3863947357c3bce Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 23 Jan 2019 01:20:30 -0500 Subject: [PATCH 063/149] gnu: linux-libre: Make CRYPTO_CRC32C a built-in on arm64. Fixes Reported by Vagrant Cascadian Note that CRYPTO_CRC32C was already a built-in in our default configurations for other systems. * gnu/packages/aux-files/linux-libre/4.20-arm64.conf, gnu/packages/aux-files/linux-libre/4.19-arm64.conf (CONFIG_CRYPTO_CRC32C): Change from 'm' to 'y'. --- gnu/packages/aux-files/linux-libre/4.19-arm64.conf | 2 +- gnu/packages/aux-files/linux-libre/4.20-arm64.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/aux-files/linux-libre/4.19-arm64.conf b/gnu/packages/aux-files/linux-libre/4.19-arm64.conf index ba6fa177b7..73cd300c18 100644 --- a/gnu/packages/aux-files/linux-libre/4.19-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/4.19-arm64.conf @@ -7860,7 +7860,7 @@ CONFIG_CRYPTO_VMAC=m # # Digest # -CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_GHASH=m diff --git a/gnu/packages/aux-files/linux-libre/4.20-arm64.conf b/gnu/packages/aux-files/linux-libre/4.20-arm64.conf index 9e71cadf0c..3833e3e363 100644 --- a/gnu/packages/aux-files/linux-libre/4.20-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/4.20-arm64.conf @@ -7932,7 +7932,7 @@ CONFIG_CRYPTO_VMAC=m # # Digest # -CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_GHASH=m From 02493dfa13c72b716ab5fe3a93ea205124013a1c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 23 Jan 2019 21:50:35 -0500 Subject: [PATCH 064/149] gnu: linux-libre@4.9: Update to 4.9.152. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.152. --- 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 69b6c921e8..6502d5af58 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -451,8 +451,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.151" - "0pjcqmn03zb0n83rlfkrq10k7fl7dbh3ll2d8k9sqi3m81c3843h" + (make-linux-libre "4.9.152" + "0qssksykzbcy58aqvmxk9h1xpaqvfwp31xvxfmwxdh7z4n3yn60y" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) From 5ccf3dd0a1dc50ddc5edd69f12d08eebde344117 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 23 Jan 2019 21:51:21 -0500 Subject: [PATCH 065/149] gnu: linux-libre@4.14: Update to 4.14.95. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.95. (%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 6502d5af58..135c47f6b1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -441,8 +441,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.94") -(define %linux-libre-4.14-hash "06yf4ggdf9dn7zh17pv1kx84sn39mbxpfhsx1mdckzwpis7lcjzs") +(define %linux-libre-4.14-version "4.14.95") +(define %linux-libre-4.14-hash "07bxbwb5fan96aws6g91vxkrvl80a53wjbl8xkh4q3c6iah8wkvf") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From ae283c184a8286895cdf95b0b07e7554056f7322 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 23 Jan 2019 23:01:56 -0500 Subject: [PATCH 066/149] gnu: gnucash-docs: Fix source URI. The source URI was renamed from "gnucash-docs-3.4-1.tar.gz" to "gnucash-docs-3.4a.tar.gz". The content is identical since the hash hasn't changed. * gnu/packages/gnucash.scm (gnucash-docs)[source]: Update URI to match upstream change. --- gnu/packages/gnucash.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index b22045eb8b..8f1bc20bc2 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2019 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -197,7 +198,7 @@ installed as well as Yelp, the Gnome help browser.") ;; This package is not public, since we use it to build the "doc" output of ;; the gnucash package (see above). It would be confusing if it were public. (define gnucash-docs - (let ((revision "1")) ;set to the empty string when no revision + (let ((revision "a")) ;set to the empty string when no revision (package (name "gnucash-docs") (version (package-version gnucash)) @@ -205,11 +206,7 @@ installed as well as Yelp, the Gnome help browser.") (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" - version "/gnucash-docs-" version - (if (string-null? revision) - "" - (string-append "-" revision)) - ".tar.gz")) + version "/gnucash-docs-" version revision ".tar.gz")) (sha256 (base32 "0bgjxpxgk7hy8ihn1kvd8p6vv191q5md2hz6jb9mqc4aykpvdlq7")))) From af83d59ed5ff6c40c798840aec422c7f578a5d3b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 24 Jan 2019 01:44:54 -0500 Subject: [PATCH 067/149] gnu: certbot, python-acme: Update to 0.30.0. * gnu/packages/tls.scm (certbot, python-acme): Update to 0.30.0. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index c4cf8e0f6d..864f55b2f8 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -523,13 +523,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.29.1") + (version "0.30.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0z5l966b1asbcdzl77bmywf22c1q0xill00jj7qyml9wx2nh7qm2")))) + "0icly11gaiv5cl57225rdwjbs56ah077csk32skcygf7pq06sjwq")))) (build-system python-build-system) (arguments `(#:phases @@ -580,7 +580,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "14i6yrcb9s7ygy99gccfc8jscymi24xb72s5lgg9b2y40z909ikg")))) + "1s29rlnmgxq42wd4bpc7bma1hx9wnpw4y6dfznrfj33hfmngwcfn")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) From a5466f38c131ea23e09ebc2e9679865c065231e9 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 24 Jan 2019 09:13:11 +0100 Subject: [PATCH 068/149] gnu: Add wine-minimal. * gnu/packages/wine.scm (wine-minimal): New variable. --- gnu/packages/wine.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 42bec5cca5..b5d52170b1 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -66,7 +66,8 @@ #:use-module (gnu packages vulkan) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) (define-public wine (package @@ -224,6 +225,23 @@ integrate Windows applications into your desktop.") (synopsis "Implementation of the Windows API (WoW64 version)") (supported-systems '("x86_64-linux" "aarch64-linux")))) +;; This minimal build of Wine is needed to prevent a circular dependency with +;; vkd3d. +(define-public wine-minimal + (package + (inherit wine) + (name "wine-minimal") + (native-inputs (fold alist-delete (package-native-inputs wine) + '("gettext" "perl" "pkg-config"))) + (inputs `()) + (arguments + `(#:validate-runpath? #f + #:configure-flags + (list "--without-freetype" + "--without-x") + ,@(strip-keyword-arguments '(#:configure-flags) + (package-arguments wine)))))) + (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") From dcf6df43abb9bfcc731baacaeee6812a8655b229 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 24 Jan 2019 09:13:55 +0100 Subject: [PATCH 069/149] gnu: vkd3d: Use wine-minimal. * gnu/packages/vulkan.scm (vkd3d): Use wine-minimal instead of wine. --- gnu/packages/vulkan.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index ff1088d2e1..91a7baed9d 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -376,7 +376,7 @@ shader compilation.") ("spirv-tools" ,spirv-tools) ("vulkan-headers" ,vulkan-headers) ("vulkan-loader" ,vulkan-loader) - ("wine" ,wine) ; Needed for 'widl'. + ("wine-minimal" ,wine-minimal) ; Needed for 'widl'. ("xcb-util" ,xcb-util) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-wm" ,xcb-util-wm))) From e3b1d4ea6e530f13c5d7e9919ed8e076f7244b59 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 24 Jan 2019 09:14:41 +0100 Subject: [PATCH 070/149] gnu: wine: Add vkd3d support. * gnu/packages/wine.scm (wine)[inputs]: Add vkd3d. * gnu/packages/wine.scm (wine-staging)[inputs]: Remove vkd3d, inherit from wine instead. --- gnu/packages/wine.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index b5d52170b1..e4d2df57ca 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -126,6 +126,7 @@ ("sdl2" ,sdl2) ("unixodbc" ,unixodbc) ("v4l-utils" ,v4l-utils) + ("vkd3d" ,vkd3d) ("vulkan-loader" ,vulkan-loader) ("zlib" ,zlib))) (arguments @@ -309,7 +310,6 @@ integrate Windows applications into your desktop.") ("mesa" ,mesa) ("python" ,python) ("util-linux" ,util-linux) ; for hexdump - ("vkd3d" ,vkd3d) ("wine-staging-patchset-data" ,wine-staging-patchset-data) ,@(package-inputs wine))) (arguments From d39a54ff725867a76afb4e66b7cb4f279e0077c4 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 24 Jan 2019 10:56:32 +0100 Subject: [PATCH 071/149] gnu: wine: Hard-code vulkan loader. * gnu/packages/wine.scm (wine)[arguments]: Add 'wrap-executable phase. * gnu/packages/wine.scm (wine64)[arguments]: Add 'wrap-executable phase. Copy the real wine-preloader instead of the wrapped version. * gnu/packages/wine.scm (wine-minimal)[arguments]: Don't inherit phases. Add 'patch-dlopen-paths phase. --- gnu/packages/wine.scm | 68 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index e4d2df57ca..83625914db 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -151,6 +151,27 @@ #:phases (modify-phases %standard-phases + ;; Explicitely set the 32-bit version of vulkan-loader when installing + ;; to i686-linux or x86_64-linux. + ;; TODO: Add more JSON files as they become available in Mesa. + ,@(match (%current-system) + ((or "i686-linux" "x86_64-linux") + `((add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (icd (string-append out "/share/vulkan/icd.d"))) + (mkdir-p icd) + (copy-file (string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.i686.json") + (string-append icd "/radeon_icd.i686.json")) + (wrap-program (string-append out "/bin/wine-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append icd + "/radeon_icd.i686.json")))) + #t))))) + (_ + `()) + ) (add-after 'configure 'patch-dlopen-paths ;; Hardcode dlopened sonames to absolute paths. (lambda _ @@ -188,6 +209,34 @@ integrate Windows applications into your desktop.") (string-append "libdir=" %output "/lib/wine64")) #:phases (modify-phases %standard-phases + ;; Explicitely set both the 64-bit and 32-bit versions of vulkan-loader + ;; when installing to x86_64-linux so both are available. + ;; TODO: Add more JSON files as they become available in Mesa. + ,@(match (%current-system) + ((or "x86_64-linux") + `((add-after 'copy-wine32-binaries 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/wine-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.x86_64.json" ":" + (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/intel_icd.x86_64.json" ":" + (assoc-ref inputs "wine") + "/share/vulkan/icd.d/radeon_icd.i686.json")))) + (wrap-program (string-append out "/bin/wine64-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.x86_64.json" + ":" (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/intel_icd.x86_64.json" + ":" (assoc-ref inputs "wine") + "/share/vulkan/icd.d/radeon_icd.i686.json")))) + #t))))) + (_ + `()) + ) (add-after 'install 'copy-wine32-binaries (lambda* (#:key outputs #:allow-other-keys) (let* ((wine32 (assoc-ref %build-inputs "wine")) @@ -195,7 +244,9 @@ integrate Windows applications into your desktop.") ;; Copy the 32-bit binaries needed for WoW64. (copy-file (string-append wine32 "/bin/wine") (string-append out "/bin/wine")) - (copy-file (string-append wine32 "/bin/wine-preloader") + ;; Copy the real 32-bit wine-preloader instead of the wrapped + ;; version. + (copy-file (string-append wine32 "/bin/.wine-preloader-real") (string-append out "/bin/wine-preloader")) #t))) (add-after 'compress-documentation 'copy-wine32-manpage @@ -237,10 +288,23 @@ integrate Windows applications into your desktop.") (inputs `()) (arguments `(#:validate-runpath? #f + #:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-dlopen-paths + ;; Hardcode dlopened sonames to absolute paths. + (lambda _ + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-so (lambda (soname) + (search-path library-path soname)))) + (substitute* "include/config.h" + (("(#define SONAME_.* )\"(.*)\"" _ defso soname) + (format #f "~a\"~a\"" defso (find-so soname)))) + #t)))) #:configure-flags (list "--without-freetype" "--without-x") - ,@(strip-keyword-arguments '(#:configure-flags) + ,@(strip-keyword-arguments '(#:configure-flags #:phases) (package-arguments wine)))))) (define-public wine-staging-patchset-data From e2f47efee62010f6382fa5a4c43c6eb1b3c3d365 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Jan 2019 22:06:02 +0100 Subject: [PATCH 072/149] gnu: catimg: Simplify. * gnu/packages/image-viewers.scm (catimg)[arguments]: Rename custom "configure" phase to "patch-convert"; remove custom "build" phase; move "install-script" phase after "install"; simplify phases. --- gnu/packages/image-viewers.scm | 39 ++++++++++++---------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 4188ff2f15..895802cc94 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -301,37 +301,24 @@ your images. Among its features are: `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let* ((magic (assoc-ref %build-inputs "imagemagick")) - (convert (string-append magic "/bin/convert"))) - (substitute* "catimg" - ;; By replacing "convert", we also replace the "convert" - ;; in the message 'The version of convert is too old, don't - ;; expect good results :('. This should not happen, but in - ;; practice this error message should not affect us. - (("convert") convert)) - #t))) - (replace 'build + (add-after 'unpack 'patch-convert (lambda _ - (let* ((out (assoc-ref %outputs "out")) - (man (string-append out "/share/man/man1"))) - (zero? (system* "cmake" - (string-append "-DCMAKE_INSTALL_PREFIX=" out) - (string-append "-DMAN_OUTPUT_PATH=" man) - ".")) - (zero? (system* "make"))))) - (add-before 'install 'install-script + (substitute* "catimg" + ;; By replacing "convert", we also replace the "convert" + ;; in the message 'The version of convert is too old, don't + ;; expect good results :('. This should not happen, but in + ;; practice this error message should not affect us. + (("convert") (which "convert"))) + #t)) + (add-after 'install 'install-script (lambda* (#:key outputs #:allow-other-keys) ;; The bash script lacks an file extension. We have to rename ;; it so that the C program and the bash script can be happy ;; side by side. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "catimg" bin) - (rename-file (string-append bin "/catimg") - (string-append bin "/catimg.sh")) - #t)))))) + (copy-file "../source/catimg" + (string-append (assoc-ref outputs "out") + "/bin/catimg.sh")) + #t))))) (inputs `(("imagemagick" ,imagemagick))) ; for the bash script version (home-page "https://github.com/posva/catimg") From 6858ade2e56b9c4573bc8ba191cd63af997abd5d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 07:52:12 +0100 Subject: [PATCH 073/149] gnu: texlive-latex-base: Put fewer paths on TEXINPUTS. * gnu/packages/tex.scm (texlive-latex-base)[arguments]: Use double slash for recursive directory search instead of FIND-FILES. --- gnu/packages/tex.scm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 139400cbd9..2ece9b8c54 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1165,15 +1165,8 @@ book).") (getcwd) ":" (getcwd) "/build:" (string-join - (append-map (match-lambda - ((_ . dir) - (find-files dir - (lambda (_ stat) - (eq? 'directory (stat:type stat))) - #:directories? #t - #:stat stat))) - inputs) - ":"))) + (map (match-lambda ((_ . dir) dir)) inputs) + "//:"))) ;; Create an empty texsys.cfg, because latex.ltx wants to include ;; it. This file must exist and it's fine if it's empty. From 26a0506104fe96a2a7ee5066a0108eaa975339ec Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 08:24:08 +0100 Subject: [PATCH 074/149] gnu: texlive-fonts-cm: Build bitmap fonts at 600dpi. * gnu/packages/tex.scm (texlive-fonts-cm)[arguments]: Build pk files and install them. --- gnu/packages/tex.scm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 2ece9b8c54..7efd52d37d 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -612,31 +612,37 @@ documents.") (string-append (getcwd) ":" mf "/share/texmf-dist/metafont/base"))) (mkdir "build") + (mkdir-p "pk/ljfour/public/cm/dpi600") (for-each (lambda (font) (format #t "building font ~a\n" font) (invoke "mf" "-progname=mf" "-output-directory=build" (string-append "\\" "mode:=ljfour; " - "mag:=1; " + "mag:=1+0/600; " "batchmode; " "input " - (basename font ".mf")))) + (basename font ".mf"))) + (invoke "gftopk" + (string-append "build/" + (basename font ".mf") ".600gf") + (string-append "pk/ljfour/public/cm/dpi600/" + (basename font ".mf") ".pk"))) (find-files "." "cm(.*[0-9]+.*|inch)\\.mf$")) #t)) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (tfm (string-append - out "/share/texmf-dist/fonts/tfm/public/cm")) - (mf (string-append - out "/share/texmf-dist/fonts/source/public/cm")) - (type1 (string-append - out "/share/texmf-dist/fonts/type1/public/amsfonts/cm"))) + (let* ((out (assoc-ref outputs "out")) + (fonts (string-append out "/share/texmf-dist/fonts/")) + (pk (string-append fonts "pk")) + (tfm (string-append fonts "tfm/public/cm")) + (mf (string-append fonts "source/public/cm")) + (type1 (string-append fonts "type1/public/amsfonts/cm"))) (for-each (cut install-file <> tfm) (find-files "build" "\\.*")) (for-each (cut install-file <> mf) (find-files "." "\\.mf")) + (copy-recursively "pk" pk) (mkdir-p type1) (copy-recursively (assoc-ref inputs "cm-type1") type1) #t)))))) From bae65dc45f3b7418be21520a3cd9d50fbe3a1030 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 08:26:50 +0100 Subject: [PATCH 075/149] gnu: texlive-latex-fancyvrb: Build fvrb-ex. * gnu/packages/tex.scm (texlive-latex-fancyvrb)[arguments]: Supply tex-format. --- gnu/packages/tex.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 7efd52d37d..a1caac0522 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1402,9 +1402,7 @@ users, via its Plain TeX version.)") (build-system texlive-build-system) (arguments '(#:tex-directory "latex/fancyvrb" - ;; We exclude "fvrb-ex" to avoid a dependency on texlive-luaotfload and - ;; thus texlive-luatex-lualibs. - #:build-targets '("fancyvrb.ins"))) + #:tex-format "latex")) (home-page "https://www.ctan.org/pkg/fancyvrb") (synopsis "Sophisticated verbatim text") (description From da94575858971b4f95e241c4f677e0547ae971fe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 13:21:21 +0100 Subject: [PATCH 076/149] licenses: Add lppl1.1+. * guix/licenses.scm (lppl1.1+): New variable. --- guix/licenses.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guix/licenses.scm b/guix/licenses.scm index 4ef18fb326..4ef3ed188c 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2019 Ricardo Wurmus ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Fabian Harfert @@ -65,7 +65,7 @@ ipa knuth lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ - lppl lppl1.0+ lppl1.2 lppl1.2+ + lppl lppl1.0+ lppl1.1+ lppl1.2 lppl1.2+ lppl1.3 lppl1.3+ lppl1.3a lppl1.3a+ lppl1.3b lppl1.3b+ @@ -421,6 +421,11 @@ at URI, which may be a file:// URI pointing the package's tree." "https://www.latex-project.org/lppl/lppl-1-0/" "LaTeX Project Public License 1.0")) +(define lppl1.1+ + (license "LPPL 1.1+" + "https://www.latex-project.org/lppl/lppl-1-1/" + "LaTeX Project Public License 1.1")) + (define lppl1.2 (license "LPPL 1.2" "http://directory.fsf.org/wiki/License:LPPLv1.2" From 513fff4c04cdc157cc8bb165b49a5291f98c8b02 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 13:24:49 +0100 Subject: [PATCH 077/149] gnu: Add texlive-tex-fontinst-base. * gnu/packages/tex.scm (texlive-tex-fontinst-base): New variable. --- gnu/packages/tex.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a1caac0522..10fbfab2d3 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -543,6 +543,42 @@ converters, will completely supplant the older patterns.") build fonts using the Metafont system.") (license license:knuth))) +(define-public texlive-tex-fontinst-base + (package + (name "texlive-tex-fontinst-base") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/fontinst/base")) + (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "12gnb8hc45p47pqn31msvi4mpr3wxbbbf2k4xhmshjqykwzlx508")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/fontinst/base"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "https://www.ctan.org/pkg/fontinst") + (synopsis "Tools for converting and installing fonts for TeX and LaTeX") + (description "This package provides TeX macros for converting Adobe Font +Metric files to TeX metric and virtual font format. Fontinst helps mainly +with the number crunching and shovelling parts of font installation. This +means in practice that it creates a number of files which give the TeX +metrics (and related information) for a font family that TeX needs to do any +typesetting in these fonts.") + (license license:lppl1.1+))) + (define-public texlive-fontname (package (name "texlive-fontname") From fe2bfabe8b83e86320481f71fd5ea0de2bbad66c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 13:26:28 +0100 Subject: [PATCH 078/149] gnu: texlive-fonts-amsfonts: Build more fonts. * gnu/packages/tex.scm (texlive-fonts-amsfonts)[arguments]: Convert afm files to tfm; also build missing tfm files via fontinst. [native-inputs]: Replace texlive-fonts-cm, texlive-metafont-base, and texlive-bin with a texlive-union of texlive-tex-fontinst-base, texlive-fonts-cm, and texlive-metafont-base; add amsfonts-plain, amsfonts-map, and amsfonts-afm. --- gnu/packages/tex.scm | 133 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 117 insertions(+), 16 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 10fbfab2d3..32b3e982d9 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1012,6 +1012,7 @@ symbol fonts.") (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) + (ice-9 match) (srfi srfi-1) (srfi srfi-26)) #:tests? #f ; no tests @@ -1020,7 +1021,7 @@ symbol fonts.") (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) - (let ((mf (assoc-ref inputs "texlive-metafont-base")) + (let ((mf (assoc-ref inputs "texlive-union")) (cwd (getcwd))) ;; Make METAFONT reproducible (setenv "SOURCE_DATE_EPOCH" "1") @@ -1050,24 +1051,112 @@ symbol fonts.") (getcwd) "/" (basename font ".mf"))))) (find-files "." "[0-9]+\\.mf$")) + + ;; There are no metafont sources for the Euler fonts, so we + ;; convert the afm files instead. + (mkdir "build/euler") + (for-each (lambda (font) + (format #t "converting afm font ~a\n" (basename font ".afm")) + (invoke "afm2tfm" font + (string-append "build/euler/" + (basename font ".tfm")))) + (find-files (assoc-ref inputs "amsfonts-afm") + "\\.afm$")) + + ;; Frustratingly, not all fonts can be created this way. To + ;; generate eufm8.tfm, for example, we first scale down + ;; eufm10.afm to eufm8.pl, and then generate the tfm file from + ;; the pl file. + (with-directory-excursion "build/euler" + (setenv "TEXINPUTS" + (string-append (getcwd) "//:" + (assoc-ref inputs "amsfonts-afm") "//:" + (assoc-ref inputs "texlive-union") "//")) + (for-each (match-lambda + (((target-base target-size) + (source-base source-size)) + (let ((factor (number->string + (truncate/ (* 1000 target-size) + source-size)))) + (invoke "tex" + "-interaction=scrollmode" + (string-append "\\input fontinst.sty " + "\\transformfont{" target-base "}" + "{\\scalefont{" factor "}" + "{\\fromafm{" source-base "}}} " + "\\bye"))) + (invoke "pltotf" + (string-append target-base ".pl") + (string-append target-base ".tfm")) + (delete-file (string-append target-base ".pl")))) + + '((("eufm8" 8) ("eufm10" 10)) + + (("eufb6" 6) ("eufb7" 7)) + (("eufb8" 8) ("eufb10" 10)) + (("eufb9" 9) ("eufb10" 10)) + + (("eufm6" 6) ("eufb7" 7)) + (("eufm9" 9) ("eufb10" 10)) + + (("eurb6" 6) ("eurb7" 7)) + (("eurb8" 8) ("eurb10" 10)) + (("eurb9" 9) ("eurb10" 10)) + + (("eurm6" 6) ("eurm7" 7)) + (("eurm8" 8) ("eurm10" 10)) + (("eurm9" 9) ("eurm10" 10))))) #t)) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fonts (string-append out "/share/texmf-dist/fonts")) - (tfm (string-append fonts "/tfm/public/amsfonts")) - (mf (string-append fonts "/source/public/amsfonts")) - (type1 (string-append fonts "/type1/public/amsfonts"))) - (for-each (cut install-file <> tfm) - (find-files "build" "\\.*")) - (for-each (cut install-file <> mf) - (find-files "." "\\.mf")) - (copy-recursively (assoc-ref inputs "amsfonts-type1") type1) - #t)))))) + (let* ((out (assoc-ref outputs "out")) + (root (string-append out "/share/texmf-dist/fonts/")) + (pkgs '(("amsfonts-afm" . "afm/public/amsfonts") + ("amsfonts-type1" . "type1/public/amsfonts") + ("amsfonts-map" . "map/dvips/amsfonts")))) + (for-each (match-lambda + ((pkg . dir) + (let ((target (string-append root dir))) + (mkdir-p target) + (copy-recursively (assoc-ref inputs pkg) + target)))) + pkgs) + (copy-recursively (assoc-ref inputs "amsfonts-plain") + (string-append out "/share/texmf-dist/tex/plain/amsfonts")) + (let* ((tfm (string-append root "tfm/public/amsfonts")) + (mf (string-append root "source/public/amsfonts"))) + (copy-recursively "build" tfm) + (for-each (cut install-file <> mf) + (find-files "." "\\.mf")) + #t))))))) (native-inputs - `(("texlive-fonts-cm" ,texlive-fonts-cm) - ("texlive-metafont-base" ,texlive-metafont-base) - ("texlive-bin" ,texlive-bin) + `(("texlive-union" ,(texlive-union (list texlive-tex-fontinst-base + texlive-fonts-cm + texlive-metafont-base))) + ("amsfonts-plain" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/plain/amsfonts")) + (revision %texlive-revision))) + (file-name (string-append name "-plain-" version "-checkout")) + (sha256 + (base32 + "1hi8c9rkfb6395sxf7fhkr91xygfg8am1hqij9g3h2c7qx3714qp")))) + ("amsfonts-map" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/fonts/map/dvips/amsfonts")) + (revision %texlive-revision))) + (file-name (string-append name "-map-" version "-checkout")) + (sha256 + (base32 + "1lrj3bd9ybj4aawzlygc6qvakbrwc5s0mc5n9rpic331frv3axfs")))) ("amsfonts-type1" ,(origin (method svn-fetch) @@ -1079,7 +1168,19 @@ symbol fonts.") (file-name (string-append name "-type1-" version "-checkout")) (sha256 (base32 - "1zfz33vn6gm19njy74n8wmn7sljrimfhwns5z8qqhxqfh1g4qip2")))))) + "1zfz33vn6gm19njy74n8wmn7sljrimfhwns5z8qqhxqfh1g4qip2")))) + ("amsfonts-afm" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/fonts/afm/public/amsfonts")) + (revision %texlive-revision))) + (file-name (string-append name "-afm-" version "-checkout")) + (sha256 + (base32 + "1fifzkaihmjgchnk7dmw0c23k0cz999dxnc78ivmqvgi1dhx0iv8")))))) (home-page "https://www.ctan.org/pkg/amsfonts") (synopsis "TeX fonts from the American Mathematical Society") (description From 67f39dd514c0efdaf50a474d59c433518e7d2134 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 13:36:56 +0100 Subject: [PATCH 079/149] gnu: pari-gp: Address TeX errors. * gnu/packages/algebra.scm (pari-gp)[native-inputs]: Replace texlive-tiny with texlive-union of texlive-fonts-amsfonts and texlive-latex-amsfonts. [arguments]: Use INVOKE in configure phase. --- gnu/packages/algebra.scm | 65 +++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 46ad548e38..b19b7e692f 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou ;;; Copyright © 2014, 2018 Mark H Weaver -;;; Copyright © 2016, 2018 Ricardo Wurmus +;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke @@ -138,43 +138,46 @@ solve the shortest vector problem.") (define-public pari-gp (package - (name "pari-gp") - (version "2.11.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://pari.math.u-bordeaux.fr/pub/pari/unix/pari-" - version ".tar.gz")) - (sha256 - (base32 + (name "pari-gp") + (version "2.11.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://pari.math.u-bordeaux.fr/pub/pari/unix/pari-" + version ".tar.gz")) + (sha256 + (base32 "1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94")))) - (build-system gnu-build-system) - (native-inputs `(("texlive" ,texlive-tiny))) - (inputs `(("gmp" ,gmp) - ("libx11" ,libx11) - ("perl" ,perl) - ("readline" ,readline))) - (arguments - '(#:make-flags '("all") - #:test-target "dobench" - #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (zero? - (system* "./Configure" - (string-append "--prefix=" out))))))))) - (synopsis "PARI/GP, a computer algebra system for number theory") - (description - "PARI/GP is a widely used computer algebra system designed for fast + (build-system gnu-build-system) + (native-inputs + `(("texlive" ,(texlive-union + (list texlive-fonts-amsfonts + texlive-latex-amsfonts))))) + (inputs `(("gmp" ,gmp) + ("libx11" ,libx11) + ("perl" ,perl) + ("readline" ,readline))) + (arguments + '(#:make-flags '("all") + #:test-target "dobench" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./Configure" + (string-append "--prefix=" + (assoc-ref outputs "out")))))))) + (synopsis "PARI/GP, a computer algebra system for number theory") + (description + "PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorisations, algebraic number theory, elliptic curves...), but it also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.") - (license license:gpl2+) - (home-page "https://pari.math.u-bordeaux.fr/"))) + (license license:gpl2+) + (home-page "https://pari.math.u-bordeaux.fr/"))) (define-public gp2c (package From acfb7357877913cf609285a5cb4d912969551f21 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 13 Jan 2019 07:06:58 -0500 Subject: [PATCH 080/149] gnu: cdogs-sdl: Update to 0.6.9. * gnu/packages/games.scm (cdogs-sdl): Update to 0.6.9. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 317962bf68..1b7d42f0c4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4017,7 +4017,7 @@ emerges from a sewer hole and pulls her below ground.") (define-public cdogs-sdl (package (name "cdogs-sdl") - (version "0.6.8") + (version "0.6.9") (source (origin (method git-fetch) (uri (git-reference @@ -4026,7 +4026,7 @@ emerges from a sewer hole and pulls her below ground.") (file-name (git-file-name name version)) (sha256 (base32 - "1v0adxm4xsix6r6j9hs7vmss7pxrb37azwfazr54p1dmfz4s6rp8")))) + "13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr")))) (build-system cmake-build-system) (arguments `(#:configure-flags From f1618a0f2f353fb2f9dd96bdb455a9d81280fed6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 20 Jan 2019 13:44:53 -0500 Subject: [PATCH 081/149] gnu: milkytracker: Add RtMidi and zziplib support. * gnu/packages/music.scm (milkytracker)[inputs]: Add rtmidi and zziplib. --- gnu/packages/music.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5522d94c33..f4f96079b9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2771,8 +2771,10 @@ of tools for manipulating and accessing your music.") (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) + ("rtmidi" ,rtmidi) ("sdl" ,sdl2) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("zziplib" ,zziplib))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "Music tracker for working with .MOD/.XM module files") From 2c5ee9bba4067fb0a9e68fb2af3a6e7fe36960cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 24 Jan 2019 19:18:10 +0100 Subject: [PATCH 082/149] tests: Remove duplicate field initializers. Fixes a regression introduced in c2dcff41c2e47f5f978f467864d5ed7829939884, whereby many tests in 'tests/packages.scm' would trigger a syntax error due to duplicate field intializers in forms like: (dummy-package "foo" (version "0")) * guix/tests.scm (dummy-package, dummy-origin): Rewrite to inherit from a base record. This restores the semantics from before c2dcff41c2e47f5f978f467864d5ed7829939884. * tests/services.scm ("instantiate-missing-services, indirect"): Remove duplicate 'extensions' field. --- guix/tests.scm | 19 ++++++++++--------- tests/services.scm | 4 ++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/guix/tests.scm b/guix/tests.scm index 16a426c4f9..749a4edd7a 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -334,18 +334,19 @@ CONTENTS." (define-syntax-rule (dummy-package name* extra-fields ...) "Return a \"dummy\" package called NAME*, with all its compulsory fields initialized with default values, and with EXTRA-FIELDS set as specified." - (package extra-fields ... - (name name*) (version "0") (source #f) - (build-system gnu-build-system) - (synopsis #f) (description #f) - (home-page #f) (license #f))) + (let ((p (package + (name name*) (version "0") (source #f) + (build-system gnu-build-system) + (synopsis #f) (description #f) + (home-page #f) (license #f)))) + (package (inherit p) extra-fields ...))) (define-syntax-rule (dummy-origin extra-fields ...) "Return a \"dummy\" origin, with all its compulsory fields initialized with default values, and with EXTRA-FIELDS set as specified." - (origin extra-fields ... - (method #f) (uri "http://www.example.com") - (sha256 (base32 (make-string 52 #\x))))) + (let ((o (origin (method #f) (uri "http://www.example.com") + (sha256 (base32 (make-string 52 #\x)))))) + (origin (inherit o) extra-fields ...))) ;; Local Variables: ;; eval: (put 'call-with-derivation-narinfo 'scheme-indent-function 1) diff --git a/tests/services.scm b/tests/services.scm index 5827dee80d..44ad0022c6 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -143,7 +143,7 @@ (default-value 'dflt) (compose concatenate) (extend cons))) - (t2 (service-type (name 't2) (extensions '()) + (t2 (service-type (name 't2) (default-value 'dflt2) (compose concatenate) (extend cons) From bbb2bd50dcb160d8e60fc657b96f1b6739cd8d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 24 Jan 2019 20:48:14 +0100 Subject: [PATCH 083/149] records: Make 'report-duplicate-field-specifier' available at expansion-time. Fixes a regression in 'guix pack -R' introduced with commit c2dcff41c2e47f5f978f467864d5ed7829939884. The imported modules of 'c-compiler' would be compiled in this order: first (guix records), then (guix search-paths). Consequently, 'report-duplicate-field-specifier' would be reported as unbound while compiling (guix search-paths), leading to a build failure. * guix/records.scm (report-invalid-field-specifier) (report-duplicate-field-specifier): Move within 'eval-expand'. --- guix/records.scm | 54 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index 6b3c25cefa..0649c90ea3 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -44,31 +44,6 @@ (format #f fmt args ...) form)))) -(define (report-invalid-field-specifier name bindings) - "Report the first invalid binding among BINDINGS." - (let loop ((bindings bindings)) - (syntax-case bindings () - (((field value) rest ...) ;good - (loop #'(rest ...))) - ((weird _ ...) ;weird! - (syntax-violation name "invalid field specifier" #'weird))))) - -(define (report-duplicate-field-specifier name ctor) - "Report the first duplicate identifier among the bindings in CTOR." - (syntax-case ctor () - ((_ bindings ...) - (let loop ((bindings #'(bindings ...)) - (seen '())) - (syntax-case bindings () - (((field value) rest ...) - (not (memq (syntax->datum #'field) seen)) - (loop #'(rest ...) (cons (syntax->datum #'field) seen))) - ((duplicate rest ...) - (syntax-violation name "duplicate field initializer" - #'duplicate)) - (() - #t)))))) - (eval-when (expand load eval) ;; The procedures below are needed both at run time and at expansion time. @@ -91,7 +66,32 @@ interface\" (ABI) for TYPE is equal to COOKIE." ;; recompiled. (throw 'record-abi-mismatch-error 'abi-check "~a: record ABI mismatch; recompilation needed" - (list #,type) '()))))) + (list #,type) '())))) + + (define (report-invalid-field-specifier name bindings) + "Report the first invalid binding among BINDINGS." + (let loop ((bindings bindings)) + (syntax-case bindings () + (((field value) rest ...) ;good + (loop #'(rest ...))) + ((weird _ ...) ;weird! + (syntax-violation name "invalid field specifier" #'weird))))) + + (define (report-duplicate-field-specifier name ctor) + "Report the first duplicate identifier among the bindings in CTOR." + (syntax-case ctor () + ((_ bindings ...) + (let loop ((bindings #'(bindings ...)) + (seen '())) + (syntax-case bindings () + (((field value) rest ...) + (not (memq (syntax->datum #'field) seen)) + (loop #'(rest ...) (cons (syntax->datum #'field) seen))) + ((duplicate rest ...) + (syntax-violation name "duplicate field initializer" + #'duplicate)) + (() + #t))))))) (define-syntax make-syntactic-constructor (syntax-rules () From 50233d95707389eb526587c04f58b4281ebcaa6c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 20:40:29 +0100 Subject: [PATCH 084/149] gnu: flint: Unconditionally return #T from build phases. * gnu/packages/algebra.scm (flint)[arguments]: Use INVOKE in "configure" phases. --- gnu/packages/algebra.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b19b7e692f..757b1111d6 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -357,11 +357,11 @@ or text interfaces) or as a C++ library.") (mpfr (assoc-ref inputs "mpfr"))) ;; do not pass "--enable-fast-install", which makes the ;; homebrew configure process fail - (zero? (system* - "./configure" + (invoke "./configure" (string-append "--prefix=" out) (string-append "--with-gmp=" gmp) - (string-append "--with-mpfr=" mpfr))))))))) + (string-append "--with-mpfr=" mpfr)) + #t)))))) (synopsis "Fast library for number theory") (description "FLINT is a C library for number theory. It supports arithmetic From 562a0776839128eb1103a0cecc6563c443262945 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 20:45:00 +0100 Subject: [PATCH 085/149] gnu: git-repo: Unconditionally return #T from "check" phase. * gnu/packages/android.scm (git-repo)[arguments]: Use INVOKE. --- gnu/packages/android.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index d5a60cb5bb..17bf428fe6 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -759,7 +759,7 @@ def _FindRepo(): (delete 'build) ; nothing to build (replace 'check (lambda _ - (zero? (system* "python" "-m" "nose")))) + (invoke "python" "-m" "nose"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From bdd914af004951be927efbd1f944f7f4b21e2963 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 21:06:59 +0100 Subject: [PATCH 086/149] gnu: anthy: Unconditionally return #T from check phase. * gnu/packages/anthy.scm (anthy)[arguments]: Use INVOKE. --- gnu/packages/anthy.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/anthy.scm b/gnu/packages/anthy.scm index 7cd35b622d..170e439465 100644 --- a/gnu/packages/anthy.scm +++ b/gnu/packages/anthy.scm @@ -47,7 +47,7 @@ (replace 'check (lambda _ (with-directory-excursion "test" - (zero? (system* "./anthy" "--all")))))))) + (invoke "./anthy" "--all"))))))) (home-page "http://anthy.osdn.jp/") (synopsis "Japanese input method") (description "Anthy is a Japanese input method for converting From 6e59d91af19370fa75a681ebc34556fa677a8cbf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 21:16:29 +0100 Subject: [PATCH 087/149] gnu: clamav: Unconditionally return #T from build phase. * gnu/packages/antivirus.scm (clamav)[arguments]: Use INVOKE. --- gnu/packages/antivirus.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 95749761bd..c3f11865e2 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -112,8 +112,10 @@ ;; install sample .conf files to %output/etc rather than /etc/clamav #:make-flags (list (string-append "sysconfdir=" %output "/etc")) #:phases (modify-phases %standard-phases + ;; Regenerate configure script. Without this we don't get + ;; the correct value for LLVM linker variables. (add-after 'unpack 'reconf - (lambda _ (zero? (system* "autoreconf" "-vfi")))) + (lambda _ (invoke "autoreconf" "-vfi"))) (add-before 'configure 'patch-llvm-config (lambda _ (substitute* '("libclamav/c++/detect.cpp" From 1ae04a2acc814a45510e235e1968b8836c4ffb9b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 23:06:33 +0100 Subject: [PATCH 088/149] gnu: axoloti-runtime: Use INVOKE. * gnu/packages/axoloti.scm (axoloti-runtime)[arguments]: Use INVOKE and return #T from build phases unconditionally. --- gnu/packages/axoloti.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index 4963bb33cf..b2f6757168 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,10 +94,10 @@ (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) ;; prepare ChibiOS - (and (zero? (system* "unzip" "-o" (assoc-ref inputs "chibios"))) - (zero? (system* "mv" "ChibiOS_2.6.9" "chibios")) - (with-directory-excursion "chibios/ext" - (zero? (system* "unzip" "-o" "fatfs-0.9-patched.zip")))) + (invoke "unzip" "-o" (assoc-ref inputs "chibios")) + (invoke "mv" "ChibiOS_2.6.9" "chibios") + (with-directory-excursion "chibios/ext" + (invoke "unzip" "-o" "fatfs-0.9-patched.zip")) ;; Remove source of non-determinism in ChibiOS (substitute* "chibios/os/various/shell.c" @@ -149,7 +149,7 @@ (string-append toolchain "/arm-none-eabi/lib"))) (with-directory-excursion "platform_linux" - (zero? (system* "sh" "compile_firmware.sh"))))) + (invoke "sh" "compile_firmware.sh")))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From c28bf42f2adce1a37bfbc4e18387910e476c166d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 23:07:10 +0100 Subject: [PATCH 089/149] gnu: axoloti-patcher: Use INVOKE. * gnu/packages/axoloti.scm (axoloti-patcher)[arguments]: Use INVOKE and unconditionally return #T from build phase. --- gnu/packages/axoloti.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index b2f6757168..6a76ad6be7 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -284,14 +284,14 @@ runtime.") port))) ;; Build it! - (zero? (system* "ant" - (string-append "-Djavac.classpath=" classpath) - "-Dbuild.runtime=true" - "-Dbuild.time=01/01/1970 00:00:00" - "-Djavac.source=1.7" - "-Djavac.target=1.7" - (string-append "-Dtag.short.version=" - ,version)))))) + (invoke "ant" + (string-append "-Djavac.classpath=" classpath) + "-Dbuild.runtime=true" + "-Dbuild.time=01/01/1970 00:00:00" + "-Djavac.source=1.7" + "-Djavac.target=1.7" + (string-append "-Dtag.short.version=" + ,version))))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From e99b47729a7d2a2f2af348e1c760366e86eba179 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 23:08:09 +0100 Subject: [PATCH 090/149] gnu: sloccount: Use INVOKE. * gnu/packages/code.scm (sloccount)[arguments]: Use INVOKE and unconditionally return #T from build phases. --- gnu/packages/code.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 3a575ad380..cfe014e81e 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -186,14 +186,15 @@ around in a large, deeply nested project.") (mkdir-p (string-append out "/share/man/man1")) (mkdir-p (string-append out - "/share/doc"))))) + "/share/doc")) + #t))) (replace 'check (lambda _ (setenv "HOME" (getcwd)) (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) - (zero? (system* "make" "test"))))) + (invoke "make" "test")))) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) From 5c1c1716f5df47fddd49456ed4dfbc2a57d7ca71 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 23:10:25 +0100 Subject: [PATCH 091/149] gnu: cmst: Use INVOKE. * gnu/packages/connman.scm (cmst)[arguments]: Unconditionally return #T from build phases. --- gnu/packages/connman.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 1dbbe7c1c2..1290dd010d 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -160,10 +160,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.") (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) - (zero? - (system* "qmake" - (string-append "PREFIX=" - (assoc-ref outputs "out")))))) + (invoke "qmake" + (string-append "PREFIX=" + (assoc-ref outputs "out"))))) (add-before 'install 'fix-Makefiles (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) From ea32c946983b917386ee6a59f30da505810ef7f9 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 24 Jan 2019 23:57:32 -0500 Subject: [PATCH 092/149] gnu: emacspeak: Update to 49.0. * gnu/packages/emacs.scm (emacspeak): Update to 49.0. [arguments]: In the 'install' phase, fix the launch script substitution. --- gnu/packages/emacs-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c98798c8d4..bd084bd2d8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6037,7 +6037,7 @@ highlights quasi-quoted expressions.") (define-public emacspeak (package (name "emacspeak") - (version "48.0") + (version "49.0") (source (origin (method url-fetch) @@ -6046,7 +6046,7 @@ highlights quasi-quoted expressions.") version "/emacspeak-" version ".tar.bz2")) (sha256 (base32 - "07imi3hji06b3r7v7v59978q76s8a7ynmxwfc9j03pgnv965lpjy")))) + "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "prefix=" @@ -6081,9 +6081,8 @@ highlights quasi-quoted expressions.") "stumpwm" "xsl")) ;; Make sure emacspeak is loaded from the correct directory. (substitute* "etc/emacspeak.sh" - (("exec FLAVOR.*") - (string-append "exec " emacs " -l " lisp - "/lisp/emacspeak-setup.el $CL_ALL"))) + (("/lisp/emacspeak-setup.el") + (string-append lisp "/lisp/emacspeak-setup.el"))) ;; Install the convenient startup script. (mkdir-p bin) (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak"))) From e60b3e14a1b4a35ab7d8afb3da85ad59b44ee367 Mon Sep 17 00:00:00 2001 From: Brett Gilio Date: Thu, 24 Jan 2019 15:22:01 -0600 Subject: [PATCH 093/149] gnu: ansible: Update to 2.7.6. * gnu/packages/admin.scm (ansible): Update to 2.7.6. Signed-off-by: Arun Isaac --- gnu/packages/admin.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 815ce19718..0c0ec3d4bc 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2019 Brett Gilio ;;; ;;; This file is part of GNU Guix. ;;; @@ -1602,14 +1603,14 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.7.5") + (version "2.7.6") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 (base32 - "1fsif2jmkrrgiawsd8r6sxrqvh01fvrmdhas0p540a6i9fby3yda")))) + "0f7b2ghm34ql8yv90wr0ngd6w7wyvnlcxpc3snkj86kcjsnmx1bd")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) From 8543ccf87b9a8664fd02d595e8015c62d0f6841d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 24 Jan 2019 23:12:38 +0100 Subject: [PATCH 094/149] gnu: eschalot: Use INVOKE. * gnu/packages/crypto.scm (eschalot)[arguments]: Unconditionally return #T from check phase. --- gnu/packages/crypto.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 2c63e53191..bef8235a97 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson -;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018 Leo Famulari ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice @@ -303,13 +303,12 @@ secure operations. ") (delete 'configure) (replace 'check (lambda _ - (and - (zero? (system* "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt" - "3-6" "top150adjectives.txt" "3-6")) - (zero? (system* "./eschalot" "-r" "^guix|^guixsd")) - (zero? (system* "./eschalot" "-r" "^gnu|^free")) - (zero? (system* "./eschalot" "-r" "^cyber|^hack")) - (zero? (system* "./eschalot" "-r" "^troll"))))) + (invoke "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt" + "3-6" "top150adjectives.txt" "3-6") + (invoke "./eschalot" "-r" "^guix|^guixsd") + (invoke "./eschalot" "-r" "^gnu|^free") + (invoke "./eschalot" "-r" "^cyber|^hack") + (invoke "./eschalot" "-r" "^troll"))) ;; Make install can not create the bin dir, create it. (add-before 'install 'create-bin-dir (lambda* (#:key outputs #:allow-other-keys) From a48d6acc23f426ca70e190e717a20cdb21df297f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 09:24:41 +0100 Subject: [PATCH 095/149] gnu: proof-general: Use INVOKE. * gnu/packages/coq.scm (proof-general)[arguments]: Use INVOKE in build phases. --- gnu/packages/coq.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 3a898814c3..97ed33d1ba 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -155,17 +155,16 @@ It is developed using Objective Caml and Camlp5.") "EMACS=" emacs "/bin/emacs"))) #t))) (add-after 'unpack 'clean - (lambda _ - ;; Delete the pre-compiled elc files for Emacs 23. - (zero? (system* "make" "clean")))) + (lambda _ + ;; Delete the pre-compiled elc files for Emacs 23. + (invoke "make" "clean"))) (add-after 'install 'install-doc - (lambda* (#:key make-flags #:allow-other-keys) - ;; XXX FIXME avoid building/installing pdf files, - ;; due to unresolved errors building them. - (substitute* "Makefile" - ((" [^ ]*\\.pdf") "")) - (zero? (apply system* "make" "install-doc" - make-flags))))))) + (lambda* (#:key make-flags #:allow-other-keys) + ;; XXX FIXME avoid building/installing pdf files, + ;; due to unresolved errors building them. + (substitute* "Makefile" + ((" [^ ]*\\.pdf") "")) + (apply invoke "make" "install-doc" make-flags)))))) (home-page "http://proofgeneral.inf.ed.ac.uk/") (synopsis "Generic front-end for proof assistants based on Emacs") (description From ace73a93cdb70e2d470387516f22465d170c2d14 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 09:26:29 +0100 Subject: [PATCH 096/149] gnu: coq-gappa: Use INVOKE. * gnu/packages/coq.scm (coq-gappa)[arguments]: Unconditionally return #T from build phases by using INVOKE. --- gnu/packages/coq.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 97ed33d1ba..2d603f91d5 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -254,16 +254,14 @@ inside Coq.") (add-before 'configure 'fix-remake (lambda _ (substitute* "remake.cpp" - (("/bin/sh") (which "sh"))))) + (("/bin/sh") (which "sh"))) + #t)) (replace 'build - (lambda _ - (zero? (system* "./remake")))) + (lambda _ (invoke "./remake"))) (replace 'check - (lambda _ - (zero? (system* "./remake" "check")))) + (lambda _ (invoke "./remake" "check"))) (replace 'install - (lambda _ - (zero? (system* "./remake" "install"))))))) + (lambda _ (invoke "./remake" "install")))))) (home-page "http://gappa.gforge.inria.fr/") (synopsis "Verify and formally prove properties on numerical programs") (description "Gappa is a tool intended to help verifying and formally proving From 492ee4f83bbb803e0135cc42d8a0d80d5e1787ad Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 09:28:53 +0100 Subject: [PATCH 097/149] gnu: coq-mathcomp: Use INVOKE. * gnu/packages/coq.scm (coq-mathcomp)[arguments]: Unconditionally return #T from build phases. --- gnu/packages/coq.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 2d603f91d5..076aa7f7b9 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -295,15 +295,14 @@ assistant.") (modify-phases %standard-phases (delete 'configure) (add-before 'build 'chdir - (lambda _ - (chdir "mathcomp"))) + (lambda _ (chdir "mathcomp") #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/")) - (zero? (system* "make" "-f" "Makefile.coq" - (string-append "COQLIB=" (assoc-ref outputs "out") - "/lib/coq/") - "install"))))))) + (invoke "make" "-f" "Makefile.coq" + (string-append "COQLIB=" (assoc-ref outputs "out") + "/lib/coq/") + "install")))))) (home-page "https://math-comp.github.io/math-comp/") (synopsis "Mathematical Components for Coq") (description "Mathematical Components for Coq has its origins in the formal From 35faa006864efb2475524d121053893e73015ef1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:41:40 +0100 Subject: [PATCH 098/149] gnu: libnl: Unconditionally return #T from build phases. * gnu/packages/linux.scm (libnl)[arguments]: Use INVOKE and unconditionally return #T from all build phases. --- gnu/packages/linux.scm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 135c47f6b1..acbc117ec9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Raymond Nicholson ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2016, 2018 Nicolas Goaziou -;;; Copyright © 2016, 2018 Ricardo Wurmus +;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016, 2017, 2018 Marius Bakke @@ -1511,25 +1511,23 @@ transparently through a bridge.") (add-after 'install 'install-python (lambda* (#:key outputs #:allow-other-keys) (define (python-inst python) - (let ((ldflags (format #f "LDFLAGS=-Wl,-rpath=~a/lib" - (assoc-ref %outputs "out"))) - (pyout (assoc-ref %outputs python))) - (and - (zero? (system (format #f "~a ~a setup.py build" - ldflags python pyout))) - (zero? - (system (format #f "~a ~a setup.py install --prefix=~a" - ldflags python pyout))) - (zero? (system* python "setup.py" "clean"))))) + (invoke python "setup.py" "build") + (invoke python "setup.py" "install" + (string-append "--prefix=" + (assoc-ref %outputs python))) + (invoke python "setup.py" "clean")) + (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib" + (assoc-ref %outputs "out"))) (with-directory-excursion "./python" - (every python-inst '("python2" "python3"))))) + (for-each python-inst '("python2" "python3"))) + #t)) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((dest (string-append (assoc-ref outputs "doc") "/share/doc/libnl"))) (mkdir-p dest) - (zero? (system* "tar" "xf" (assoc-ref inputs "libnl3-doc") - "--strip-components=1" "-C" dest)))))))) + (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc") + "--strip-components=1" "-C" dest))))))) (home-page "https://www.infradead.org/~tgr/libnl/") (synopsis "NetLink protocol library suite") (description From 215ccb997ad0dc2dced12cb17598472a7d12d83e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:42:59 +0100 Subject: [PATCH 099/149] gnu: xfconf: Use INVOKE. * gnu/packages/xfce.scm (xfconf)[arguments]: Unconditionally return #T from check phase. --- gnu/packages/xfce.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 79eb64d13a..b47fe5d301 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016 Florian Paul Schmidt ;;; Copyright © 2016 Kei Kebreau -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2017 Petter ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -126,7 +126,7 @@ Xfce Desktop Environment.") (string-append %output "/share")) ;; For the missing '/etc/machine-id'. (setenv "DBUS_FATAL_WARNINGS" "0"); - (zero? (system* "dbus-launch" "make" "check")))) + (invoke "dbus-launch" "make" "check"))) (delete 'check)))) (native-inputs `(("pkg-config" ,pkg-config) From b5e70d921b19ccae826f81e7a016ff43f70a4cae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:43:37 +0100 Subject: [PATCH 100/149] gnu: awesome: Use INVOKE. * gnu/packages/wm.scm (awesome)[arguments]: Return #T from check phase. --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index a761bce235..7bf634759a 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -800,7 +800,7 @@ experience.") (lambda _ ;; There aren't any tests, so just make sure the binary ;; gets built and can be run successfully. - (zero? (system* "../build/awesome" "-v")))) + (invoke "../build/awesome" "-v"))) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((awesome (assoc-ref outputs "out")) From aa0c73e7aa9c894c6e1fb4c037ca2c5eca49cd2f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:46:56 +0100 Subject: [PATCH 101/149] gnu: wicd: Use INVOKE. * gnu/packages/wicd.scm (wicd)[arguments]: Use INVOKE. --- gnu/packages/wicd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index 01113bcb94..fec39ad530 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -168,7 +168,7 @@ (format #t "running ~s with command ~s and parameters ~s~%" "python setup.py" "configure" params) - (zero? (apply system* "python" "setup.py" "configure" params)))))) + (apply invoke "python" "setup.py" "configure" params))))) (add-after 'install 'post-install (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) From 90621eff7cca47a3cbd69d96d197b23a60668326 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:48:28 +0100 Subject: [PATCH 102/149] gnu: uucp: Use INVOKE. * gnu/packages/uucp.scm (uucp)[arguments]: Use INVOKE. --- gnu/packages/uucp.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/uucp.scm b/gnu/packages/uucp.scm index f5d9c70052..1bb4fdb975 100644 --- a/gnu/packages/uucp.scm +++ b/gnu/packages/uucp.scm @@ -43,10 +43,10 @@ ;; that we pass by default. (setenv "CONFIG_SHELL" (which "sh")) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - (string-append "--infodir=" out - "/share/info"))))))))) + (invoke "./configure" + (string-append "--prefix=" out) + (string-append "--infodir=" out + "/share/info")))))))) (home-page "https://www.gnu.org/software/uucp/uucp.html") (synopsis "UUCP protocol implementation") (description From 0ad0eceed4ffdf1c5da8737edc15f429ac077775 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 10:49:27 +0100 Subject: [PATCH 103/149] gnu: antiword: Use INVOKE. * gnu/packages/textutils.scm (antiword)[arguments]: Use INVOKE in install phase. --- gnu/packages/textutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 9cd5a203c4..d2f84420c6 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016 Ben Woodcroft ;;; Copyright © 2015 Roel Janssen ;;; Copyright © 2016 Jelle Licht @@ -405,7 +405,7 @@ regular expression object can be specified.") #t)) (replace 'install (lambda* (#:key make-flags #:allow-other-keys) - (zero? (apply system* "make" `("global_install" ,@make-flags)))))))) + (apply invoke "make" `("global_install" ,@make-flags))))))) (home-page "http://www.winfield.demon.nl/") (synopsis "Microsoft Word document reader") (description "Antiword is an application for displaying Microsoft Word From 843ce5b41939f213e588921d5a8e11e4051b4e40 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 11:20:51 +0100 Subject: [PATCH 104/149] gnu: synergy: Update to 1.10.1. * gnu/packages/synergy.scm (synergy): Update to 1.10.1. [source]: Fetch from git. [arguments]: Remove "unpack-aux-src", custom "check" phase, custom "install" phase. [inputs]: Add avahi and qtbase. --- gnu/packages/synergy.scm | 95 +++++++++++++++------------------------- 1 file changed, 35 insertions(+), 60 deletions(-) diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm index ec1872cc00..da8787285f 100644 --- a/gnu/packages/synergy.scm +++ b/gnu/packages/synergy.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Vasile Dumitrascu +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,12 +22,14 @@ (define-module (gnu packages synergy) #:use-module (guix packages) #:use-module ((guix licenses) #:select (gpl2)) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (gnu packages) + #:use-module (gnu packages avahi) #:use-module (gnu packages curl) #:use-module (gnu packages compression) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages xorg) #:use-module (srfi srfi-26)) @@ -34,80 +37,52 @@ (define-public synergy (package (name "synergy") - (version "1.8.8") + (version "1.10.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/symless/synergy-core/archive/" - "v" version "-stable.tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/symless/synergy-core.git") + (commit (string-append "v" version "-stable")))) + (file-name (git-file-name name version)) (sha256 (base32 - "052z1yiwck9hlshf8in2dgz6p7jxmq9yfj32mfzjaygpz6mmmr4y")) + "112w2xrp04cysd14xk1ax7cllqpcki0pyica4ivrdngr5qw0r9hp")) (modules '((guix build utils))) (snippet - ;; Remove ~14MB of unnecessary bundled source and binaries + ;; Remove unnecessary bundled source and binaries '(begin - (for-each delete-file-recursively - `("ext/bonjour" - "ext/LICENSE (OpenSSL)" - ,@(find-files "ext" "openssl-.*\\.tar\\.gz") - "ext/openssl-osx" - "ext/openssl-win32" - "ext/openssl-win64")) + (delete-file-recursively "ext/openssl") #t)))) (build-system cmake-build-system) - (native-inputs `(("unzip" ,unzip))) + (arguments + `(#:tests? #f ; there is no test target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-headers + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPLUS_INCLUDE_PATH" + (string-append (assoc-ref inputs "avahi") + "/include/avahi-compat-libdns_sd/:" + (getenv "CPLUS_INCLUDE_PATH"))) + ;; See https://github.com/symless/synergy-core/pull/6359/ + (substitute* "src/gui/src/ScreenSetupView.cpp" + (("#include " m) + (string-append m "\n#include "))) + (substitute* "src/gui/src/ActionDialog.cpp" + (("#include " m) + (string-append m "\n#include "))) + #t))))) (inputs - `(("python" ,python-wrapper) + `(("avahi" ,avahi) + ("python" ,python-wrapper) ("openssl" ,openssl) ("curl" ,curl) ("libxi" ,libxi) ("libx11" ,libx11) ("libxtst" ,libxtst) - ("xinput" ,xinput))) - (arguments - `(#:phases - (let ((srcdir (string-append "../synergy-core-" ,version "-stable"))) - (modify-phases %standard-phases - (add-before 'configure 'unpack-aux-src - ;; TODO: package and use from system - (lambda* (#:key inputs #:allow-other-keys) - (let ((unzip (string-append - (assoc-ref inputs "unzip") - "/bin/unzip"))) - (with-directory-excursion "ext" - (for-each - (lambda (f) - (system* unzip "-d" f (string-append f ".zip"))) - '("gmock-1.6.0" "gtest-1.6.0")))) - #t)) - (replace 'check - ;; Don't run "integtests" as it requires network and an X display. - (lambda _ - (zero? (system* (string-append srcdir "/bin/unittests"))))) - (replace 'install - ;; There currently is no installation process, see: - ;; http://synergy-project.org/spit/issues/details/3317/ - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (ex (string-append out "/share/doc/synergy-" - ,version "/examples"))) - (begin - (for-each - (lambda (f) - (install-file (string-append srcdir "/bin/" f) bin)) - '("synergyc" "synergys" "synergyd" - "usynergy" "syntool")) - ;; Install example configuration files - (for-each - (lambda (e) - (install-file (string-append srcdir "/doc/" e) ex)) - '("synergy.conf.example" - "synergy.conf.example-advanced" - "synergy.conf.example-basic")))) - #t)))))) + ("xinput" ,xinput) + ("qtbase" ,qtbase))) (home-page "https://symless.com/synergy") (synopsis "Mouse and keyboard sharing utility") (description From 1530b17aa14df91399f2dab0f5ee7951e27c6071 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 11:37:54 +0100 Subject: [PATCH 105/149] gnu: imb: Use INVOKE. * gnu/packages/benchmark.scm (imb)[arguments]: Use INVOKE. --- gnu/packages/benchmark.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index e97e827cea..c670a9af1c 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -135,10 +135,9 @@ is to write a job file matching the I/O load one wants to simulate.") (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((mpi-home (assoc-ref inputs "mpi"))) - (zero? - ;; Not safe for parallel build - (system* "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh" - (string-append "MPI_HOME=" mpi-home)))))) + ;; Not safe for parallel build + (invoke "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh" + (string-append "MPI_HOME=" mpi-home))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From e09e83880f0ad1901011ae516db59495fe582caa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 11:39:57 +0100 Subject: [PATCH 106/149] gnu: coq-coquelicot: Use INVOKE. * gnu/packages/coq.scm (coq-coquelicot)[arguments]: Use INVOKE. --- gnu/packages/coq.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 076aa7f7b9..f4d7cc2b79 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -347,16 +347,14 @@ part of the distribution.") (add-before 'configure 'fix-remake (lambda _ (substitute* "remake.cpp" - (("/bin/sh") (which "sh"))))) + (("/bin/sh") (which "sh"))) + #t)) (replace 'build - (lambda _ - (zero? (system* "./remake")))) + (lambda _ (invoke "./remake"))) (replace 'check - (lambda _ - (zero? (system* "./remake" "check")))) + (lambda _ (invoke "./remake" "check"))) (replace 'install - (lambda _ - (zero? (system* "./remake" "install"))))))) + (lambda _ (invoke "./remake" "install")))))) (home-page "http://coquelicot.saclay.inria.fr/index.html") (synopsis "Coq library for Reals") (description "Coquelicot is an easier way of writing formulas and theorem From 7492af9be7ba33d94f5784b9eaf3ebeea487e64a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 11:43:42 +0100 Subject: [PATCH 107/149] gnu: coq-interval: Use INVOKE. * gnu/packages/coq.scm (coq-interval)[arguments]: Use INVOKE. --- gnu/packages/coq.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index f4d7cc2b79..51dd5dedcf 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -430,16 +430,14 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (add-before 'configure 'fix-remake (lambda _ (substitute* "remake.cpp" - (("/bin/sh") (which "sh"))))) + (("/bin/sh") (which "sh"))) + #t)) (replace 'build - (lambda _ - (zero? (system* "./remake")))) + (lambda _ (invoke "./remake"))) (replace 'check - (lambda _ - (zero? (system* "./remake" "check")))) + (lambda _ (invoke "./remake" "check"))) (replace 'install - (lambda _ - (zero? (system* "./remake" "install"))))))) + (lambda _ (invoke "./remake" "install")))))) (home-page "http://coq-interval.gforge.inria.fr/") (synopsis "Coq tactics to simplify inequality proofs") (description "Interval provides vernacular files containing tactics for From fbc70c97c60dfe3bbdbf525607e1fbcbb17adb24 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:09:57 +0100 Subject: [PATCH 108/149] gnu: entr: Update to 4.1. * gnu/packages/entr.scm (entr): Update to 4.1. [arguments]: Use INVOKE. --- gnu/packages/entr.scm | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm index 11d28e60f7..19667ce23f 100644 --- a/gnu/packages/entr.scm +++ b/gnu/packages/entr.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,33 +27,35 @@ (define-public entr (package (name "entr") - (version "3.6") + (version "4.1") (source (origin (method url-fetch) (uri (string-append "http://entrproject.org/code/entr-" version ".tar.gz")) (sha256 (base32 - "1sy81np6kgmq04kfn2ckf4fp7jcf5d1963shgmapx3al3kc4c9x4")))) + "0y7gvyf0iykpf3gfw09m21hy51m6qn4cpkbrm4nnn7pwrwycj0y5")))) (build-system gnu-build-system) (arguments `(#:test-target "test" - #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (setenv "CC" (which "gcc")) - (setenv "DESTDIR" (string-append out "/")) - (setenv "PREFIX" "") - (setenv "MANPREFIX" "man") - (zero? (system* "./configure"))))) - (add-before 'build 'remove-fhs-file-names - (lambda _ - ;; Use the tools available in $PATH. - (substitute* "entr.c" - (("/bin/cat") "cat") - (("/usr/bin/clear") "clear"))))))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "CC" (which "gcc")) + (setenv "DESTDIR" (string-append out "/")) + (setenv "PREFIX" "") + (setenv "MANPREFIX" "man") + (invoke "./configure")))) + (add-before 'build 'remove-fhs-file-names + (lambda _ + ;; Use the tools available in $PATH. + (substitute* "entr.c" + (("/bin/cat") "cat") + (("/usr/bin/clear") "clear")) + #t))))) (home-page "http://entrproject.org/") (synopsis "Run arbitrary commands when files change") (description From 15dc8ed5f403368099292bf51c18a0a10e0a39dc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:12:34 +0100 Subject: [PATCH 109/149] gnu: libxdg-basedir: Don't run autogen.sh manually. * gnu/packages/freedesktop.scm (libxdg-basedir)[arguments]: Rename "autogen" phase to "patch-autogen"; remove invocation of "autogen.sh" script as it will be executed in the "bootstrap" phase. --- gnu/packages/freedesktop.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 86222017cf..d85e8fc701 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015, 2017 Andy Wingo ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès -;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015 David Hashe ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Kei Kebreau @@ -209,12 +209,12 @@ other applications that need to directly deal with input devices.") (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen + (add-after 'unpack 'patch-autogen (lambda _ ;; Run 'configure' in its own phase, not now. (substitute* "autogen.sh" (("^.*\\./configure.*") "")) - (zero? (system* "sh" "autogen.sh"))))))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From ec7245f0dbe3f6f9429086d6f09ad5ddfa1ab394 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:15:04 +0100 Subject: [PATCH 110/149] gnu: ncftp: Use INVOKE. * gnu/packages/ftp.scm (ncftp)[arguments]: Use INVOKE. --- gnu/packages/ftp.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 8ad782ad85..bc44d7537a 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -126,9 +126,9 @@ reliability in mind.") (let ((out (assoc-ref outputs "out"))) (setenv "CONFIG_SHELL" (which "sh")) (setenv "SHELL" (which "sh")) - (zero? (system* "./configure" - (string-append "--prefix=" out))))))) - #:tests? #f)) ;there are no tests + (invoke "./configure" + (string-append "--prefix=" out)))))) + #:tests? #f)) ;there are no tests (inputs `(("ncurses" ,ncurses))) (home-page "http://www.ncftp.com/ncftp/") (synopsis "Command-line File Transfer Protocol (FTP) client") From cba8ba8b0d3aa78a3ebb3a3297c8638077c95435 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:18:12 +0100 Subject: [PATCH 111/149] gnu: brdf-explorer: Unconditionally return #T from build phases. * gnu/packages/graphics.scm (brdf-explorer)[arguments]: Use INVOKE and return #T. --- gnu/packages/graphics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index a25816778a..bf4cc89b08 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -651,8 +651,8 @@ output.") (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "qmake" - (string-append "prefix=" out)))))) + (invoke "qmake" + (string-append "prefix=" out))))) (add-after 'install 'wrap-program (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -668,7 +668,8 @@ output.") cd \"~a\" exec -a \"$0\" ~a/.brdf-real~%" data bin))) - (chmod "brdf" #o555)))))))) + (chmod "brdf" #o555))) + #t))))) (native-inputs `(("qttools" ,qttools))) ;for 'qmake' (inputs From 9a425d68d44fecc91ebb3fc2bed3bdda1f134482 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:19:31 +0100 Subject: [PATCH 112/149] gnu: python-pygpgme: Use INVOKE. * gnu/packages/gnupg.scm (python-pygpgme)[arguments]: Use INVOKE. --- gnu/packages/gnupg.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 145130f042..bea6b396b8 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -523,11 +523,9 @@ distributed separately.") `(#:phases (modify-phases %standard-phases (add-before 'build 'make-build - (lambda _ - (zero? (system* "make" "build")))) + (lambda _ (invoke "make" "build"))) (replace 'check - (lambda _ - (zero? (system* "make" "check"))))))) + (lambda _ (invoke "make" "check")))))) (build-system python-build-system) (native-inputs `(("gnupg" ,gnupg-1))) From 4c523c45353095d389f1093725069a6475c4f1b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:23:59 +0100 Subject: [PATCH 113/149] gnu: python-lirc: Update to 1.2.1-2.c28708b. * gnu/packages/lirc.scm (python-lirc, python2-lirc): Update to 1.2.1-2.c28708b. [arguments]: Use INVOKE. --- gnu/packages/lirc.scm | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index b04cc887fb..627c79f979 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Alex Kost ;;; Copyright © 2016 Danny Milosavljevic +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,33 +105,32 @@ on just one button press.") (license license:gpl2+))) (define-public python-lirc - (let ((commit "4091fe918f3eed2513dad008828565cace408d2f") - (revision "1")) + (let ((commit "c28708bbeb6e02d85f13dd7e0b24e8e86abc215b") + (revision "2")) (package (name "python-lirc") - (version (string-append "1.2.1-" revision "." (string-take commit 7))) + (version (git-version "1.2.1" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tompreston/python-lirc.git") - (commit commit))) - (sha256 - (base32 - "0cm47s5pvijfs3v2k7hmpxv3mvp4n5la0ihnsczk5ym3iq166jil")) - (file-name (string-append name "-" version)))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tompreston/python-lirc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13s9zqyfh871ls1aha47rhmk13b4mcyfckcn2sw70bvc26832gk6")))) (build-system python-build-system) (inputs `(("lirc" ,lirc))) (native-inputs `(("python-cython" ,python-cython))) (arguments - `(#:tests? #f ; the only tests that exist are human-interactive + `(#:tests? #f ; the only tests that exist are interactive #:phases (modify-phases %standard-phases (add-before 'build 'build-from-cython-files - (lambda _ - (zero? (system* "make" "py3"))))))) + (lambda _ (invoke "make" "py3")))))) (home-page "https://github.com/tompreston/python-lirc") (synopsis "Python bindings for LIRC") (description "@code{lirc} is a Python module which provides LIRC bindings.") @@ -146,7 +146,6 @@ on just one button press.") #:phases (modify-phases %standard-phases (add-before 'build 'build-from-cython-files - (lambda _ - (zero? (system* "make" "py2"))))))) + (lambda _ (invoke "make" "py2")))))) (native-inputs `(("python2-cython" ,python2-cython)))))) From 7d416066cd4c0a6fb947ab9b77e87e2dbf2f5d23 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:26:51 +0100 Subject: [PATCH 114/149] gnu: ccl: Unconditionally return #T from build phases. * gnu/packages/lisp.scm (ccl)[arguments]: Use INVOKE and return #T from build phases. --- gnu/packages/lisp.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 05f325e60d..465454aad6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -505,8 +505,9 @@ statistical profiler, a code coverage tool, and many other extensions.") (modify-phases %standard-phases (replace 'unpack (lambda* (#:key inputs #:allow-other-keys) - (and (zero? (system* "tar" "xzvf" (assoc-ref inputs "ccl"))) - (begin (chdir "ccl") #t)))) + (invoke "tar" "xzvf" (assoc-ref inputs "ccl")) + (chdir "ccl") + #t)) (delete 'configure) (add-before 'build 'pre-build ;; Enter the source directory for the current platform's lisp @@ -527,7 +528,7 @@ statistical profiler, a code coverage tool, and many other extensions.") (substitute* '("Makefile") (("/bin/rm") "rm")) (setenv "CC" "gcc") - (zero? (system* "make" "clean")))) + (invoke "make" "clean"))) ;; XXX Do we need to recompile the heap image as well for Guix? ;; For now just use the one we already got in the tarball. (replace 'install From bea06837a3d33384f6317199a309dc0d19feb5d2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:32:29 +0100 Subject: [PATCH 115/149] gnu: bitlbee: Use INVOKE. * gnu/packages/messaging.scm (bitlbee)[arguments]: Use INVOKE. --- gnu/packages/messaging.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index be39d14b53..80afd11d3d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -186,18 +186,18 @@ end-to-end encryption.") (modify-phases %standard-phases (add-after 'install 'install-etc (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "install-etc" make-flags)))) + (apply invoke "make" "install-etc" make-flags))) (add-after 'install-etc 'install-lib (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "install-dev" make-flags)))) + (apply invoke "make" "install-dev" make-flags))) (replace 'configure ;; bitlbee's configure script does not tolerate many of the ;; variable settings that Guix would pass to it. (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "./configure" - (string-append "--prefix=" - (assoc-ref outputs "out")) - "--otr=1"))))))) + (invoke "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")) + "--otr=1")))))) (synopsis "IRC to instant messaging gateway") (description "BitlBee brings IM (instant messaging) to IRC clients, for people who have an IRC client running all the time and don't want to run an From e6a24cd08bb1ef3376f709aee9e3a22a51482868 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 12:34:43 +0100 Subject: [PATCH 116/149] gnu: bitlbee-discord: Do not run autogen.sh in custom autogen phase. * gnu/packages/messaging.scm (bitlbee-discord)[arguments]: Rename "autogen" phase to "patch-autogen"; don't invoke "autogen.sh" script as it is invoked in the "bootstrap" phase; return #T from "patch-autogen" phase. --- gnu/packages/messaging.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 80afd11d3d..7736945fa9 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -225,12 +225,12 @@ identi.ca and status.net).") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen + (add-after 'unpack 'patch-autogen (lambda _ (let ((sh (which "sh"))) (substitute* "autogen.sh" (("/bin/sh") sh)) - (setenv "CONFIG_SHELL" sh) - (zero? (system* "./autogen.sh"))))) + (setenv "CONFIG_SHELL" sh)) + #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (invoke "./configure" From b11af07a29a4a642ff8defc335f11c954da4ca26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:00:57 +0100 Subject: [PATCH 117/149] gnu: dino: Update to 0.0-4.8e14ac6. * gnu/packages/messaging.scm (dino): Update to 0.0-4.8e14ac6. [arguments]: Use INVOKE in build phases. [inputs]: Add qrencode; replace sqlite with sqlite-with-column-metadata. --- gnu/packages/messaging.scm | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7736945fa9..2a8813cfcf 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2017 Julien Lepiller ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2018 Efraim Flashner ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016 Andy Patterson @@ -718,20 +718,20 @@ on Axolotl and PEP.") (define-public dino ;; The only release tarball is for version 0.0, but it is very old and fails ;; to build. - (let ((commit "f25fadde2d6c9492b9cafe2cddbcc7b966942e47") - (revision "3")) + (let ((commit "8e14ac6d714b7f88e16de31a6c795e811dc27417") + (revision "4")) (package (name "dino") - (version (string-append "0.0-" revision "." (string-take commit 9))) + (version (git-version "0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dino/dino.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "1nhzrw3pbpybn9qclckk6z427vbgnqd0y1l63zd1rfw4zw099mzs")))) + "0xfmwnc2f8lsvmp7m8ggikzqjaw5z6wmxrv6j5ljha5ckffrdd9m")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests @@ -750,14 +750,10 @@ on Axolotl and PEP.") ;; libsignal-protocol-c, so we need to put the sources there. (add-after 'unpack 'unpack-sources (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (zero? (system* "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1")))))) - (unpack "libsignal-protocol-c-source" - "plugins/signal-protocol/libsignal-protocol-c") - #t))) + (with-directory-excursion "plugins/signal-protocol/libsignal-protocol-c" + (invoke "tar" "xvf" + (assoc-ref inputs "libsignal-protocol-c-source") + "--strip-components=1")))) (add-after 'install 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (inputs @@ -765,7 +761,8 @@ on Axolotl and PEP.") ("libsignal-protocol-c" ,libsignal-protocol-c) ("libgcrypt" ,libgcrypt) ("libsoup" ,libsoup) - ("sqlite" ,sqlite) + ("qrencode" ,qrencode) + ("sqlite" ,sqlite-with-column-metadata) ("gpgme" ,gpgme) ("gtk+" ,gtk+) ("glib-networking" ,glib-networking) From 3fa013af78cd228ec9a7ed230fa357239d638284 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:15:58 +0100 Subject: [PATCH 118/149] gnu: perl-net-psyc: Update to 1.3. * gnu/packages/messaging.scm (perl-net-psyc): Update to 1.3. [native-inputs]: Add unzip. [arguments]: Use INVOKE in build phase. --- gnu/packages/messaging.scm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 2a8813cfcf..20bd92394e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1266,7 +1266,7 @@ into existing applications.") (define-public perl-net-psyc (package (name "perl-net-psyc") - (version "1.1") + (version "1.3") (source (origin (method url-fetch) @@ -1275,13 +1275,10 @@ into existing applications.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42")) - ;; psycmp3 currently depends on MP3::List and rxaudio (shareware), - ;; we can add it back when this is no longer the case. - (snippet '(begin - (delete-file "contrib/psycmp3") - #t)))) + "0vsjclglkwgbyd9m5ad642fyysxw2x725nhq4r2m9pvqaq6s5yf2")))) (build-system perl-build-system) + (native-inputs + `(("unzip" ,unzip))) (inputs `(("perl-curses" ,perl-curses) ("perl-io-socket-ssl" ,perl-io-socket-ssl))) @@ -1293,8 +1290,7 @@ into existing applications.") ;; (leaves out psycion) and says ;; "# Just to give you a rough idea". XXX: Fix it upstream. (replace 'build - (lambda _ - (zero? (system* "make" "manuals")))) + (lambda _ (invoke "make" "manuals"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From 6542b2db5db8c6d3411c7b94cf2f07367a058e66 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:19:02 +0100 Subject: [PATCH 119/149] gnu: freetalk: Remove custom bootstrap phase. * gnu/packages/messaging.scm (freetalk)[arguments]: Remove "autogen" phase. --- gnu/packages/messaging.scm | 3 --- 1 file changed, 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 20bd92394e..3356cb3992 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1531,9 +1531,6 @@ support, and more.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - (zero? (system* "sh" "autogen.sh")))) ;; For 'system' commands in Scheme code. (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) From 20fe9728c4d68f23e4cb34703810dd575cfef767 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:20:00 +0100 Subject: [PATCH 120/149] gnu: tomsfastmath: Use INVOKE. * gnu/packages/multiprecision.scm (tomsfastmath)[arguments]: Use INVOKE in "check" phase. --- gnu/packages/multiprecision.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 71e1efcd8c..c17321a9b3 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -255,11 +255,11 @@ and numerical quadrature programs are included.") (delete 'configure) ;no configuration (replace 'check (lambda* (#:key make-flags #:allow-other-keys) - (and (zero? (apply system* "make" - "stest" "test_standalone" - make-flags)) - (zero? (system* "./stest")) - (zero? (system* "./test"))))) + (apply invoke "make" + "stest" "test_standalone" + make-flags) + (invoke "./stest") + (invoke "./test"))) (add-before 'install 'install-nogroup (lambda _ ;; Let permissions inherit from the current process From bb29e855da30ab9e9b4cbcc7249ee38f26186d0a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:22:34 +0100 Subject: [PATCH 121/149] gnu: ocaml-4.02: Use INVOKE. * gnu/packages/ocaml.scm (ocaml-4.02)[arguments]: Use INVOKE in build phases. --- gnu/packages/ocaml.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c9df31ae6a..3731b2aa49 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -191,19 +191,18 @@ patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%" (mandir (string-append out "/share/man"))) ;; Custom configure script doesn't recognize ;; --prefix= syntax (with equals sign). - (zero? (system* "./configure" - "--prefix" out - "--mandir" mandir))))) + (invoke "./configure" + "--prefix" out + "--mandir" mandir)))) (replace 'build (lambda _ - (zero? (system* "make" "-j" (number->string - (parallel-job-count)) - "world.opt")))) + (invoke "make" "-j" (number->string (parallel-job-count)) + "world.opt"))) (delete 'check) (add-after 'install 'check (lambda _ (with-directory-excursion "testsuite" - (zero? (system* "make" "all"))))) + (invoke "make" "all")))) (add-before 'check 'prepare-socket-test (lambda _ (format (current-error-port) From fa5d6e4c6f0f56d8a909d401f7015f156c20c178 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:23:27 +0100 Subject: [PATCH 122/149] gnu: ocaml-4.01: Use INVOKE. * gnu/packages/ocaml.scm (ocaml-4.01)[arguments]: Use INVOKE in build phases. --- gnu/packages/ocaml.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3731b2aa49..cf6580e961 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Peter Kreye ;;; Copyright © 2018, 2019 Gabriel Hondet ;;; Copyright © 2018 Kei Kebreau +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -253,7 +254,7 @@ functional, imperative and object-oriented styles of programming.") (replace 'build (lambda _ ;; Specifying '-j' at all causes the build to fail. - (zero? (system* "make" "world.opt")))) + (invoke "make" "world.opt"))) ,@(if (string=? "aarch64-linux" (%current-system)) ;; Custom configure script doesn't recongnize aarch64. '((replace 'configure @@ -268,11 +269,9 @@ functional, imperative and object-oriented styles of programming.") (replace 'check (lambda _ (with-directory-excursion "testsuite" - (zero? (system* - "make" - "all" + (invoke "make" "all" (string-append - "TOPDIR=" (getcwd) "/..")))))))))))) + "TOPDIR=" (getcwd) "/.."))))))))))) (define-public ocaml-4.07 (package From 2c0234e78ea86059fb75a1260228a61a524597b4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:26:24 +0100 Subject: [PATCH 123/149] gnu: camlp4-4.02: Use INVOKE. * gnu/packages/ocaml.scm (camlp4-4.02)[arguments]: Use INVOKE in build phases. --- gnu/packages/ocaml.scm | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index cf6580e961..eb298c8d7a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -447,26 +447,26 @@ Git-friendly development workflow.") ;; which fails on the second attempt. #:parallel-build? #f #:make-flags '("all") - #:phases (modify-phases %standard-phases - (replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This is a home-made 'configure' script. - (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--libdir=" out - "/lib/ocaml/site-lib") - (string-append "--bindir=" out "/bin") - (string-append "--pkgdir=" out - "/lib/ocaml/site-lib")))))) - (add-after 'install 'install-meta - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "camlp4/META.in" - (("directory = .*") - (string-append "directory = \"" out - "/lib/ocaml/site-lib/camlp4\"\n"))) - (zero? (system* "make" "install-META")))))))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; This is a home-made 'configure' script. + (let ((out (assoc-ref outputs "out"))) + (invoke "./configure" + (string-append "--libdir=" out + "/lib/ocaml/site-lib") + (string-append "--bindir=" out "/bin") + (string-append "--pkgdir=" out + "/lib/ocaml/site-lib"))))) + (add-after 'install 'install-meta + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "camlp4/META.in" + (("directory = .*") + (string-append "directory = \"" out + "/lib/ocaml/site-lib/camlp4\"\n"))) + (invoke "make" "install-META"))))))) (home-page "https://github.com/ocaml/camlp4") (synopsis "Write parsers in OCaml") (description From 04daa1ed72be39805b787554f7959b1df6558460 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:31:29 +0100 Subject: [PATCH 124/149] gnu: ocaml-zarith: Use INVOKE. * gnu/packages/ocaml.scm (ocaml-zarith)[arguments]: Use INVOKE. --- gnu/packages/ocaml.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index eb298c8d7a..4d9487afa2 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1149,8 +1149,7 @@ files in these formats.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key #:allow-other-keys) - (zero? (system* "./configure"))))))) + (lambda _ (invoke "./configure")))))) (home-page "https://forge.ocamlcore.org/projects/zarith/") (synopsis "Implements arbitrary-precision integers") (description "Implements arithmetic and logical operations over From c6aaa7bed63ad39a61d7a56fd56f722f0e279ae8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:32:04 +0100 Subject: [PATCH 125/149] gnu: ocaml-zed: Use INVOKE. * gnu/packages/ocaml.scm (ocaml-zed)[arguments]: Use INVOKE in build phases. --- gnu/packages/ocaml.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 4d9487afa2..930697f12f 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4348,13 +4348,12 @@ is provide a description of your project and Jbuilder will do the rest.") (modify-phases %standard-phases (delete 'configure) (replace 'build - (lambda* (#:key #:allow-other-keys) - (zero? (system* "jbuilder" "build")))) + (lambda _ (invoke "jbuilder" "build"))) (delete 'check) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "jbuilder" "install" "--prefix" out)))))))) + (invoke "jbuilder" "install" "--prefix" out))))))) (native-inputs `(("jbuilder" ,ocaml-jbuilder))) (propagated-inputs From 48b11025b734af39023e780ee7f15522dca1c7ea Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:32:41 +0100 Subject: [PATCH 126/149] gnu: ocaml-utop: Use INVOKE. * gnu/packages/ocaml.scm (ocaml-utop)[arguments]: Use INVOKE. --- gnu/packages/ocaml.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 930697f12f..a32cee44dc 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4425,9 +4425,9 @@ instead of bindings to a C library.") (let* ((out (assoc-ref outputs "out")) (libdir (string-append out "/lib/ocaml/site-lib"))) (mkdir-p libdir) - (zero? (system* "jbuilder" "install" - "--prefix" out - "--libdir" libdir)))))))) + (invoke "jbuilder" "install" + "--prefix" out + "--libdir" libdir))))))) (native-inputs `(("ocaml" ,ocaml) ("cppo" ,ocaml-cppo) From 4255818d1c3993988b3351d57db6e057a867f549 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:36:14 +0100 Subject: [PATCH 127/149] gnu: python-rdflib: Use PYPI-URI. * gnu/packages/rdf.scm (python-rdflib)[source]: Use PYPI-URI. [arguments]: Use INVOKE in commented build phase. --- gnu/packages/rdf.scm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 7fd893c374..4a3efd8d3f 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -304,13 +304,10 @@ ideal (e.g. in LV2 implementations or embedded applications).") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/r/rdflib/rdflib-" - version - ".tar.gz")) + (uri (pypi-uri "rdflib" version)) (sha256 - (base32 - "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs")))) + (base32 + "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs")))) (build-system python-build-system) (arguments '(;; FIXME: Three test failures. Should be fixed next release. @@ -321,7 +318,7 @@ ideal (e.g. in LV2 implementations or embedded applications).") ;; (lambda _ ;; ;; Run tests from the build directory so python3 only ;; ;; sees the installed 2to3 version. - ;; (zero? (system* "nosetests" "--where=./build/src"))))))) + ;; (invoke "nosetests" "--where=./build/src")))))) (native-inputs `(("python-nose" ,python-nose))) (propagated-inputs @@ -329,13 +326,12 @@ ideal (e.g. in LV2 implementations or embedded applications).") ("python-isodate" ,python-isodate) ("python-pyparsing" ,python-pyparsing))) (home-page "https://github.com/RDFLib/rdflib") - (synopsis - "Python RDF library") + (synopsis "Python RDF library") (description "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.") (license (non-copyleft "file://LICENSE" - "See LICENSE in the distribution.")))) + "See LICENSE in the distribution.")))) (define-public python2-rdflib (package-with-python2 python-rdflib)) From ed5900890ef8ed5635e8bc6aa9f8571926e7169d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:37:36 +0100 Subject: [PATCH 128/149] gnu: tre: Use INVOKE. * gnu/packages/regex.scm (tre)[arguments]: Use INVOKE. --- gnu/packages/regex.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index f526d1c237..bfd30278e9 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -91,9 +91,9 @@ Python. It is a C++ library.") ;; The tests require the availability of the ;; 'en_US.ISO-8859-1' locale. (setenv "LOCPATH" (getcwd)) - (zero? (system* "localedef" "--no-archive" - "--prefix" (getcwd) "-i" "en_US" - "-f" "ISO-8859-1" "./en_US.ISO-8859-1"))))))) + (invoke "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "ISO-8859-1" "./en_US.ISO-8859-1")))))) (synopsis "Approximate regex matching library and agrep utility") (description "Superset of the POSIX regex API, enabling approximate matching. Also ships a version of the agrep utility which behaves similar to From d83c52c6bb0401ae75245598328d480dd77c5a5e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:39:12 +0100 Subject: [PATCH 129/149] gnu: talloc/static: Use INVOKE. * gnu/packages/samba.scm (talloc/static)[arguments]: Use INVOKE in the build phase. --- gnu/packages/samba.scm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 213e416a4d..d3c0539c33 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -287,15 +287,9 @@ destructors. It is the core memory allocator used in Samba.") `(modify-phases ,phases (replace 'build (lambda _ - (letrec-syntax ((shell (syntax-rules () - ((_ (command ...) rest ...) - (and (zero? (system* command ...)) - (shell rest ...))) - ((_) - #t)))) - (shell ("gcc" "-c" "-Ibin/default" "-I" "lib/replace" - "-I." "-Wall" "-g" "talloc.c") - ("ar" "rc" "libtalloc.a" "talloc.o"))))) + (invoke "gcc" "-c" "-Ibin/default" "-I" "lib/replace" + "-I." "-Wall" "-g" "talloc.c") + (invoke "ar" "rc" "libtalloc.a" "talloc.o"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From ed0d6ed9a6ffd45466a3a68191544b994125fd64 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:42:58 +0100 Subject: [PATCH 130/149] gnu: tevent: Use INVOKE. * gnu/packages/samba.scm (tevent)[arguments]: Use INVOKE. --- gnu/packages/samba.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index d3c0539c33..19a126cc97 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -320,9 +320,9 @@ destructors. It is the core memory allocator used in Samba.") ;; tevent uses a custom configuration script that runs waf. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - "--bundled-libraries=NONE")))))))) + (invoke "./configure" + (string-append "--prefix=" out) + "--bundled-libraries=NONE"))))))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2))) From 5b8484635fa0ba77a32a88bae571dc2a6703d47f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:44:13 +0100 Subject: [PATCH 131/149] gnu: ldb: Use INVOKE. * gnu/packages/samba.scm (ldb)[arguments]: Use INVOKE. --- gnu/packages/samba.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 19a126cc97..5ddc8748f3 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -368,11 +368,11 @@ many event types, including timers, signals, and the classic file descriptor eve ;; ldb use a custom configuration script that runs waf. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - (string-append "--with-modulesdir=" out - "/lib/ldb/modules") - "--bundled-libraries=NONE")))))))) + (invoke "./configure" + (string-append "--prefix=" out) + (string-append "--with-modulesdir=" out + "/lib/ldb/modules") + "--bundled-libraries=NONE"))))))) (native-inputs `(("cmocka" ,cmocka) ("pkg-config" ,pkg-config) From 41173df9f8997fbab1c26c7c0ebf3573576b80e0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:53:04 +0100 Subject: [PATCH 132/149] gnu: qwt: Use INVOKE. * gnu/packages/qt.scm (qwt)[arguments]: Use INVOKE. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index de5d31e4d7..b6499f35dc 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2103,7 +2103,7 @@ securely. It will not store any data unencrypted unless explicitly requested.") (substitute* '("doc/doc.pro") ;; We'll install them in the 'install-man-pages' phase. (("^unix:doc\\.files.*") "")) - (zero? (system* "qmake"))))) + (invoke "qmake")))) (add-after 'install 'install-man-pages (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From 39df4d19922f39716de4468b61251702f4eb663c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 13:59:53 +0100 Subject: [PATCH 133/149] gnu: python2-pyqt-4: Use INVOKE. * gnu/packages/qt.scm (python2-pyqt-4)[arguments]: Use INVOKE. --- gnu/packages/qt.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index b6499f35dc..ef6995ac33 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1909,11 +1909,11 @@ contain over 620 classes.") (lib (string-append out "/lib/python" python-major+minor "/site-packages"))) - (zero? (system* "python" "configure.py" - "--confirm-license" - "--bindir" bin - "--destdir" lib - "--sipdir" sip)))))))) + (invoke "python" "configure.py" + "--confirm-license" + "--bindir" bin + "--destdir" lib + "--sipdir" sip))))))) (license (list license:gpl2 license:gpl3)))) ; choice of either license (define-public qscintilla From c6e33df90f2c10046bee1f0bb2e4eb7dc1688d20 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:02:04 +0100 Subject: [PATCH 134/149] gnu: python-pyopenssl: Update to 19.0.0. * gnu/packages/python-crypto.scm (python-pyopenssl): Update to 19.0.0. [arguments]: Use INVOKE. --- gnu/packages/python-crypto.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 9a20b5a772..377ec53d26 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2017 Carlo Zancanaro @@ -434,14 +434,14 @@ message digests and key derivation functions.") (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "18.0.0") + (version "19.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "1055rb456nvrjcij3sqj6c6l3kmh5cqqay0nsmx3pxq07d1g3234")))) + "007j40y7x3k8xj54dy2qnij9lldfp71k9mkflhd9vqbdiwrndjmf")))) (build-system python-build-system) (arguments '(#:phases @@ -450,15 +450,15 @@ message digests and key derivation functions.") (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (zero? (system* "py.test" "-v" "-k" - (string-append - ;; This test tries to look up certificates from - ;; the compiled-in default path in OpenSSL, which - ;; does not exist in the build environment. - "not test_fallback_default_verify_paths " - ;; This test attempts to make a connection to - ;; an external web service. - "and not test_set_default_verify_paths")))))))) + (invoke "py.test" "-v" "-k" + (string-append + ;; This test tries to look up certificates from + ;; the compiled-in default path in OpenSSL, which + ;; does not exist in the build environment. + "not test_fallback_default_verify_paths " + ;; This test attempts to make a connection to + ;; an external web service. + "and not test_set_default_verify_paths"))))))) (propagated-inputs `(("python-cryptography" ,python-cryptography) ("python-six" ,python-six))) From 3e223a22a70138b8c57e742ad8ec737131249820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 25 Jan 2019 10:05:31 +0100 Subject: [PATCH 135/149] packages: Add 'package-closure'. * guix/packages.scm (package-closure): New procedure. * tests/packages.scm ("package-closure"): New test. --- guix/packages.scm | 25 ++++++++++++++++++++++++- tests/packages.scm | 23 +++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index e4c2ac3be5..f191327718 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Alex Kost @@ -133,6 +133,7 @@ bag-transitive-host-inputs bag-transitive-build-inputs bag-transitive-target-inputs + package-closure default-guile default-guile-derivation @@ -798,6 +799,28 @@ dependencies are known to build on SYSTEM." "Return the \"target inputs\" of BAG, recursively." (transitive-inputs (bag-target-inputs bag))) +(define* (package-closure packages #:key (system (%current-system))) + "Return the closure of PACKAGES on SYSTEM--i.e., PACKAGES and the list of +packages they depend on, recursively." + (let loop ((packages packages) + (visited vlist-null) + (closure (list->setq packages))) + (match packages + (() + (set->list closure)) + ((package . rest) + (if (vhash-assq package visited) + (loop rest visited closure) + (let* ((bag (package->bag package system)) + (dependencies (filter-map (match-lambda + ((label (? package? package) . _) + package) + (_ #f)) + (bag-direct-inputs bag)))) + (loop (append dependencies rest) + (vhash-consq package #t visited) + (fold set-insert closure dependencies)))))))) + (define* (package-mapping proc #:optional (cut? (const #f))) "Return a procedure that, given a package, applies PROC to all the packages depended on and returns the resulting package. The procedure stops recursion diff --git a/tests/packages.scm b/tests/packages.scm index 29e5e4103c..e5704ae4b9 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -249,6 +249,28 @@ (package-transitive-supported-systems d) (package-transitive-supported-systems e)))) +(test-assert "package-closure" + (let-syntax ((dummy-package/no-implicit + (syntax-rules () + ((_ name rest ...) + (package + (inherit (dummy-package name rest ...)) + (build-system trivial-build-system)))))) + (let* ((a (dummy-package/no-implicit "a")) + (b (dummy-package/no-implicit "b" + (propagated-inputs `(("a" ,a))))) + (c (dummy-package/no-implicit "c" + (inputs `(("a" ,a))))) + (d (dummy-package/no-implicit "d" + (native-inputs `(("b" ,b))))) + (e (dummy-package/no-implicit "e" + (inputs `(("c" ,c) ("d" ,d)))))) + (lset= eq? + (list a b c d e) + (package-closure (list e)) + (package-closure (list e d)) + (package-closure (list e c b)))))) + (test-equal "origin-actual-file-name" "foo-1.tar.gz" (let ((o (dummy-origin (uri "http://www.example.com/foo-1.tar.gz")))) @@ -1180,4 +1202,5 @@ ;;; Local Variables: ;;; eval: (put 'dummy-package 'scheme-indent-function 1) +;;; eval: (put 'dummy-package/no-implicit 'scheme-indent-function 1) ;;; End: From 731c1a20bc7edf7612d34754a7760e8219220010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 25 Jan 2019 10:06:32 +0100 Subject: [PATCH 136/149] weather: Ignore deprecated packages but not hidden packages. * guix/scripts/weather.scm (all-packages): Pass #:select? to 'fold-packages'. --- guix/scripts/weather.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 98b7338fb9..bb326a651a 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018 Kyle Meyer ;;; @@ -51,7 +51,10 @@ (cons* replacement package result)) (#f (cons package result)))) - '())) + '() + + ;; Dismiss deprecated packages but keep hidden packages. + #:select? (negate package-superseded))) (define (call-with-progress-reporter reporter proc) "This is a variant of 'call-with-progress-reporter' that works with monadic From 4d6ce0f12cf3724b89876f4e911fc84f344c4215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 25 Jan 2019 11:09:31 +0100 Subject: [PATCH 137/149] refresh: Fix format string that would lead '-l' to print incorrect numbers. The skip "~*" argument was misplaced, leading the number of dependents to be skipped (instead of the number of covering packages.) Thus, we'd get: $ guix refresh -l ocaml4.02-ppx-deriving@4.1 Building the following package would ensure 1 dependent packages are rebuilt: bap@1.3.0 instead of: Building the following package would ensure 26 dependent packages are rebuilt: bap@1.3.0 * guix/scripts/refresh.scm (list-dependents): Move "~*" in the right place, to skip (length covering) rather than (length dependents). --- guix/scripts/refresh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index a0de9f6c10..7292eabc47 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -419,8 +419,8 @@ the latest known version of ~a (~a)~%") (full-name x))) (lst (format (current-output-port) - (N_ "Building the following package would ensure ~d \ -dependent packages are rebuilt: ~*~{~a~^ ~}~%" + (N_ "Building the following ~*package would ensure ~d \ +dependent packages are rebuilt: ~{~a~^ ~}~%" "Building the following ~d packages would ensure ~d \ dependent packages are rebuilt: ~{~a~^ ~}~%" (length covering)) From af77219e8a59c9d04cda349b26b7f30ea5cf3ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 25 Jan 2019 12:09:33 +0100 Subject: [PATCH 138/149] refresh: Better account for private and generated packages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now, private and generated packages (e.g., those created by 'texlive-union') we missing from the list passed to 'node-back-edges', which would lead to inaccurate dependent counts. Previously we'd get: $ guix refresh -l texlive-fonts-cm Building the following 80 packages would ensure 116 dependent packages are rebuilt: … Now we have: $ Building the following 240 packages would ensure 597 dependent packages are rebuilt: … * guix/scripts/refresh.scm (list-dependents): Call 'package-closure'. --- guix/scripts/refresh.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 7292eabc47..5b0f345cde 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -400,7 +400,7 @@ the latest known version of ~a (~a)~%") (package-version package))) (mlet %store-monad ((edges (node-back-edges %bag-node-type - (all-packages)))) + (package-closure (all-packages))))) (let* ((dependents (node-transitive-edges packages edges)) (covering (filter (lambda (node) (null? (edges node))) From bd414e273c2010132895a645b623035c218eb437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 25 Jan 2019 13:57:38 +0100 Subject: [PATCH 139/149] weather: Add '--coverage'. * guix/scripts/weather.scm (show-help, %options): Add '--coverage'. (package-partition-boundary, package->output-mapping) (substitute-oracle, report-package-coverage-per-system) (report-package-coverage): New procedures. (guix-weather): Honor '--coverage'. * doc/guix.texi (Invoking guix weather): Document it. --- doc/guix.texi | 35 +++++++- guix/scripts/weather.scm | 167 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 200 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index afc0ef8615..a182e1edee 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9709,7 +9709,9 @@ key is authorized. It also reports the size of the compressed archives (``nars'') provided by the server, the size the corresponding store items occupy in the store (assuming deduplication is turned off), and the server's throughput. The second part gives continuous integration -(CI) statistics, if the server supports it. +(CI) statistics, if the server supports it. In addition, using the +@option{--coverage} option, @command{guix weather} can list ``important'' +package substitutes missing on the server (see below). To achieve that, @command{guix weather} queries over HTTP(S) meta-data (@dfn{narinfos}) for all the relevant store items. Like @command{guix @@ -9737,6 +9739,37 @@ Instead of querying substitutes for all the packages, only ask for those specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with the @code{-m} option of @command{guix package} (@pxref{Invoking guix package}). + +@item --coverage[=@var{count}] +@itemx -c [@var{count}] +Report on substitute coverage for packages: list packages with at least +@var{count} dependents (zero by default) for which substitutes are +unavailable. Dependent packages themselves are not listed: if @var{b} depends +on @var{a} and @var{a} has no substitutes, only @var{a} is listed, even though +@var{b} usually lacks substitutes as well. The result looks like this: + +@example +$ guix weather --substitute-urls=https://ci.guix.info -c 10 +computing 8,983 package derivations for x86_64-linux... +looking for 9,343 store items on https://ci.guix.info... +updating substitutes from 'https://ci.guix.info'... 100.0% +https://ci.guix.info + 64.7% substitutes available (6,047 out of 9,343) +@dots{} +2502 packages are missing from 'https://ci.guix.info' for 'x86_64-linux', among which: + 58 kcoreaddons@@5.49.0 /gnu/store/@dots{}-kcoreaddons-5.49.0 + 46 qgpgme@@1.11.1 /gnu/store/@dots{}-qgpgme-1.11.1 + 37 perl-http-cookiejar@@0.008 /gnu/store/@dots{}-perl-http-cookiejar-0.008 + @dots{} +@end example + +What this example shows is that @code{kcoreaddons} and presumably the 58 +packages that depend on it have no substitutes at @code{ci.guix.info}; +likewise for @code{qgpgme} and the 46 packages that depend on it. + +If you are a Guix developer, or if you are taking care of this build farm, +you'll probably want to have a closer look at these packages: they may simply +fail to build. @end table @node Invoking guix processes diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index bb326a651a..4b12f9550e 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -32,6 +32,9 @@ #:use-module (guix scripts substitute) #:use-module (guix http-client) #:use-module (guix ci) + #:use-module (guix sets) + #:use-module (guix graph) + #:autoload (guix scripts graph) (%bag-node-type) #:use-module (gnu packages) #:use-module (web uri) #:use-module (srfi srfi-1) @@ -41,6 +44,7 @@ #:use-module (srfi srfi-37) #:use-module (ice-9 match) #:use-module (ice-9 format) + #:use-module (ice-9 vlist) #:export (guix-weather)) (define (all-packages) @@ -257,6 +261,10 @@ Report the availability of substitutes.\n")) -m, --manifest=MANIFEST look up substitutes for packages specified in MANIFEST")) (display (G_ " + -c, --coverage[=COUNT] + show substitute coverage for packages with at least + COUNT dependents")) + (display (G_ " -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"")) (newline) (display (G_ " @@ -289,6 +297,11 @@ Report the availability of substitutes.\n")) (option '(#\m "manifest") #t #f (lambda (opt name arg result) (alist-cons 'manifest arg result))) + (option '(#\c "coverage") #f #t + (lambda (opt name arg result) + (alist-cons 'coverage + (if arg (string->number* arg) 0) + result))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg result))))) @@ -303,6 +316,153 @@ Report the availability of substitutes.\n")) (map manifest-entry-item (manifest-transitive-entries manifest)))) + +;;; +;;; Missing package substitutes. +;;; + +(define* (package-partition-boundary pred packages + #:key (system (%current-system))) + "Return the subset of PACKAGES that are at the \"boundary\" between those +that match PRED and those that don't. The returned packages themselves do not +match PRED but they have at least one direct dependency that does. + +Note: The assumption is that, if P matches PRED, then all the dependencies of +P match PRED as well." + ;; XXX: Graph theoreticians surely have something to teach us about this... + (let loop ((packages packages) + (result (setq)) + (visited vlist-null)) + (define (visited? package) + (vhash-assq package visited)) + + (match packages + ((package . rest) + (cond ((visited? package) + (loop rest result visited)) + ((pred package) + (loop rest result (vhash-consq package #t visited))) + (else + (let* ((bag (package->bag package system)) + (deps (filter-map (match-lambda + ((label (? package? package) . _) + (and (not (pred package)) + package)) + (_ #f)) + (bag-direct-inputs bag)))) + (loop (append deps rest) + (if (null? deps) + (set-insert package result) + result) + (vhash-consq package #t visited)))))) + (() + (set->list result))))) + +(define (package->output-mapping packages system) + "Return a vhash that maps each item of PACKAGES to its corresponding output +store file names for SYSTEM." + (foldm %store-monad + (lambda (package mapping) + (mlet %store-monad ((drv (package->derivation package system + #:graft? #f))) + (return (vhash-consq package + (match (derivation->output-paths drv) + (((names . outputs) ...) + outputs)) + mapping)))) + vlist-null + packages)) + +(define (substitute-oracle server items) + "Return a procedure that, when passed a store item (one of those listed in +ITEMS), returns true if SERVER has a substitute for it, false otherwise." + (define available + (fold (lambda (narinfo set) + (set-insert (narinfo-path narinfo) set)) + (set) + (lookup-narinfos server items))) + + (cut set-contains? available <>)) + +(define* (report-package-coverage-per-system server packages system + #:key (threshold 0)) + "Report on the subset of PACKAGES that lacks SYSTEM substitutes on SERVER, +sorted by decreasing number of dependents. Do not display those with less +than THRESHOLD dependents." + (mlet* %store-monad ((packages -> (package-closure packages #:system system)) + (mapping (package->output-mapping packages system)) + (back-edges (node-back-edges %bag-node-type packages))) + (define items + (vhash-fold (lambda (package items result) + (append items result)) + '() + mapping)) + + (define substitutable? + (substitute-oracle server items)) + + (define substitutable-package? + (lambda (package) + (match (vhash-assq package mapping) + ((_ . items) + (find substitutable? items)) + (#f + #f)))) + + (define missing + (package-partition-boundary substitutable-package? packages + #:system system)) + + (define missing-count + (length missing)) + + (if (zero? threshold) + (format #t (N_ "The following ~a package is missing from '~a' for \ +'~a':~%" + "The following ~a packages are missing from '~a' for \ +'~a':~%" + missing-count) + missing-count server system) + (format #t (N_ "~a package is missing from '~a' for '~a':~%" + "~a packages are missing from '~a' for '~a', among \ +which:~%" + missing-count) + missing-count server system)) + + (for-each (match-lambda + ((package count) + (match (vhash-assq package mapping) + ((_ . items) + (when (>= count threshold) + (format #t " ~4d\t~a@~a\t~{~a ~}~%" + count + (package-name package) (package-version package) + items))) + (#f ;PACKAGE must be an internal thing + #f)))) + (sort (zip missing + (map (lambda (package) + (node-reachable-count (list package) + back-edges)) + missing)) + (match-lambda* + (((_ count1) (_ count2)) + (< count2 count1))))) + (return #t))) + +(define* (report-package-coverage server packages systems + #:key (threshold 0)) + "Report on the substitute coverage for PACKAGES, for each of SYSTEMS, on +SERVER. Display information for packages with at least THRESHOLD dependents." + (with-store store + (run-with-store store + (foldm %store-monad + (lambda (system _) + (report-package-coverage-per-system server packages system + #:threshold threshold)) + #f + systems)))) + ;;; ;;; Entry point. @@ -334,7 +494,12 @@ Report the availability of substitutes.\n")) (package-outputs packages system)) systems))))))) (for-each (lambda (server) - (report-server-coverage server items)) + (report-server-coverage server items) + (match (assoc-ref opts 'coverage) + (#f #f) + (threshold + (report-package-coverage server packages systems + #:threshold threshold)))) urls))))) ;;; Local Variables: From 4ad7d037ad373a46e341354b19f0b17c737beebb Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Thu, 24 Jan 2019 20:16:11 +0100 Subject: [PATCH 140/149] gnu: Add ghc-libmpd. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-libmpd): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8ea36852b..255e902e66 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11461,4 +11461,36 @@ foreign imports by hand (or using hsc2hs), this ensures that C functions are imported with the correct Haskell types.") (license license:gpl2))) +(define-public ghc-libmpd + (package + (name "ghc-libmpd") + (version "0.9.0.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/libmpd/libmpd-" + version + ".tar.gz")) + (sha256 + (base32 + "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-text" ,ghc-text) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-network" ,ghc-network) + ("ghc-utf8-string" ,ghc-utf8-string))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover))) + (home-page "https://github.com/vimus/libmpd-haskell") + (synopsis "Haskell client library for the Music Player Daemon") + (description "This package provides a pure Haskell client library for the +Music Player Daemon.") + (license license:expat))) + ;;; haskell.scm ends here From c8780a103835b1bae690a918249c0e2d75f30f17 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:08:56 +0100 Subject: [PATCH 141/149] gnu: python-reno: Use INVOKE. * gnu/packages/openstack.scm (python-reno)[arguments]: Use INVOKE. [native-inputs]: Replace "git" with "git-minimal". --- gnu/packages/openstack.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index c30b15e137..fa99ffb2b0 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -582,7 +582,7 @@ in transmittable and storable formats, such as JSON and MessagePack.") (add-before 'check 'init-git (lambda _ ;; reno expects a git repo - (zero? (system* "git" "init"))))))) + (invoke "git" "init")))))) (propagated-inputs `(("python-dulwich" ,python-dulwich) ("python-pbr" ,python-pbr) @@ -596,7 +596,7 @@ in transmittable and storable formats, such as JSON and MessagePack.") ("python-docutils" ,python-docutils) ("python-sphinx" ,python-sphinx) ("gnupg" ,gnupg) - ("git" ,git))) + ("git" ,git-minimal))) (home-page "http://docs.openstack.org/developer/reno/") (synopsis "Release notes manager") (description "Reno is a tool for storing release notes in a git repository From c9a65d5c37a4d2843b44cb9e77a9fc320e2609db Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:09:36 +0100 Subject: [PATCH 142/149] gnu: python-oslosphinx: Use INVOKE. * gnu/packages/openstack.scm (python-oslosphinx)[arguments]: Use INVOKE. --- gnu/packages/openstack.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index fa99ffb2b0..2906a574cf 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -626,7 +626,7 @@ and building documentation from them.") ;; Note: Upstream tests would have also built the release notes. ;; That only would work if we were in a git checkout. ;; Therefore, we don't do it here. - (zero? (system* "python" "setup.py" "build_sphinx"))))))) + (invoke "python" "setup.py" "build_sphinx")))))) (propagated-inputs `(("python-requests" ,python-requests))) (native-inputs From 3692cffed4411e35ccdedcda8f10433966964e46 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:10:25 +0100 Subject: [PATCH 143/149] gnu: assword: Use INVOKE. * gnu/packages/password-utils.scm (assword)[arguments]: Use INVOKE. --- gnu/packages/password-utils.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 5b60ad9cc8..9fd5a6ff0d 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -381,15 +381,14 @@ random passwords that pass the checks.") #t))) (add-after 'install 'manpage (lambda* (#:key outputs #:allow-other-keys) - (and - ;; Without this substitution, it fails with - ;; ImportError: No module named 'gpg' - (substitute* "Makefile" - (("PYTHONPATH=.") "")) - (zero? (system* "make" "assword.1")) - (install-file - "assword.1" - (string-append (assoc-ref outputs "out") "/share/man/man1")))))))) + ;; Without this substitution, it fails with + ;; ImportError: No module named 'gpg' + (substitute* "Makefile" + (("PYTHONPATH=.") "")) + (invoke "make" "assword.1") + (install-file + "assword.1" + (string-append (assoc-ref outputs "out") "/share/man/man1"))))))) (build-system python-build-system) (native-inputs `(("txt2man" ,txt2man))) From 3af27088813cfb09ac2d7d9b216a4e0ac2f1cee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:11:00 +0100 Subject: [PATCH 144/149] gnu: greenisland: Use INVOKE. * gnu/packages/display-managers.scm (greenisland)[arguments]: Use INVOKE in check phase. --- gnu/packages/display-managers.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 5baaa6c102..502cdde7da 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -107,7 +107,7 @@ (replace 'check (lambda _ (setenv "DBUS_FATAL_WARNINGS" "0") - (zero? (system* "dbus-launch" "ctest" ".")))) + (invoke "dbus-launch" "ctest" "."))) (add-before 'check 'check-setup (lambda _ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output From 78854b3849a32b4d4ce44c5a9ba0b607db06a829 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:24:55 +0100 Subject: [PATCH 145/149] gnu: jimtcl: Use INVOKE. * gnu/packages/embedded.scm (jimtcl)[arguments]: Use INVOKE. --- gnu/packages/embedded.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index f20d1e17c7..004d082470 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -348,8 +348,8 @@ SEGGER J-Link and compatible devices.") (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out))))))))) + (invoke "./configure" + (string-append "--prefix=" out)))))))) (home-page "http://jim.tcl.tk") (synopsis "Small footprint Tcl implementation") (description "Jim is a small footprint implementation of the Tcl programming From 5cb9754cf44598e6715ce6e984a97e6a589cf5f2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:25:48 +0100 Subject: [PATCH 146/149] gnu: proplib: Use INVOKE. * gnu/packages/embedded.scm (proplib)[arguments]: Use INVOKE. --- gnu/packages/embedded.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 004d082470..1e7fd098cb 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -575,7 +575,7 @@ with a layered architecture of JTAG interface and TAP support.") ;; have to create the target directories at build time. (add-before 'build 'create-target-directories (lambda* (#:key make-flags #:allow-other-keys) - (zero? (apply system* "make" "install-dirs" make-flags)))) + (apply invoke "make" "install-dirs" make-flags))) (add-before 'build 'set-cross-environment-variables (lambda* (#:key outputs #:allow-other-keys) (setenv "CROSS_LIBRARY_PATH" @@ -589,7 +589,7 @@ with a layered architecture of JTAG interface and TAP support.") #t)) (add-before 'install 'install-includes (lambda* (#:key make-flags #:allow-other-keys) - (zero? (apply system* "make" "install-includes" make-flags))))))) + (apply invoke "make" "install-includes" make-flags)))))) (native-inputs `(("propeller-gcc" ,propeller-gcc) ("propeller-binutils" ,propeller-binutils) From a8416e6951692d608574a4986bcbaf6def92e45c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 14:29:03 +0100 Subject: [PATCH 147/149] gnu: pcb-rnd: Use INVOKE. * gnu/packages/engineering.scm (pcb-rnd)[arguments]: Use INVOKE. --- gnu/packages/engineering.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 85e08289b5..9501e772fd 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016, 2018 Efraim Flashner ;;; Copyright © 2016 David Thompson @@ -390,9 +390,9 @@ optimizer; and it can produce photorealistic and design review images.") (replace 'configure ;; The configure script doesn't tolerate most of our configure flags. (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "sh" "configure" - (string-append "--prefix=" - (assoc-ref outputs "out"))))))))) + (invoke "sh" "configure" + (string-append "--prefix=" + (assoc-ref outputs "out")))))))) (home-page "http://repo.hu/projects/pcb-rnd/") (description "PCB RND is a fork of the GNU PCB circuit board editing tool featuring various improvements and bug fixes."))) From 1d7b8a2452c11747663821e541b62d60f0b327d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 15:16:36 +0100 Subject: [PATCH 148/149] gnu: gpgme: Add patch to fix qgpgme tests. * gnu/packages/gnupg.scm (gpgme)[source]: Add upstream patch. --- gnu/packages/gnupg.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index bea6b396b8..43b74ce769 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016 Christopher Baines @@ -377,7 +377,16 @@ libskba (working with X.509 certificates and CMS data).") ".tar.bz2")) (sha256 (base32 - "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd")))) + "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd")) + ;; One test fails because the conflict keys have expired. See + ;; https://dev.gnupg.org/T3815 + (patches (list (origin + (method url-fetch) + (uri "https://dev.gnupg.org/rM66376f3e206a1aa791d712fb8577bb3490268f60?diff=1") + (file-name "gpgme-fix-conflict-test-keys.patch") + (sha256 + (base32 + "0j718iy5a9fhkrfs4gzrnm4ggi163prqf1i8lfmqczswvz88zfly"))))))) (build-system gnu-build-system) (native-inputs `(("gnupg" ,gnupg))) From 776248419fe521afe9c6dd4b2fac6fc4b8b18e9b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 25 Jan 2019 15:17:26 +0100 Subject: [PATCH 149/149] gnu: gpgme: Update to 1.12.0. * gnu/packages/gnupg.scm (gpgme): Update to 1.12.0. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 43b74ce769..2b3ee89d35 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -369,7 +369,7 @@ libskba (working with X.509 certificates and CMS data).") (define-public gpgme (package (name "gpgme") - (version "1.11.1") + (version "1.12.0") (source (origin (method url-fetch) @@ -377,7 +377,7 @@ libskba (working with X.509 certificates and CMS data).") ".tar.bz2")) (sha256 (base32 - "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd")) + "1n4c1q2ls7sqx1vpr3p5n8vbjkw6kqp8jxqa28p0x9j36wf9bp5l")) ;; One test fails because the conflict keys have expired. See ;; https://dev.gnupg.org/T3815 (patches (list (origin