From 4bb5bdd9638c21226061c5e09a05b6c0e8e76902 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 29 Mar 2018 17:36:39 +0200 Subject: [PATCH 001/245] gnu: rss-bridge: Update to 2018-03-11. * gnu/packages/web.scm (rss-bridge): Update to 2018-03-11. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9d9df002c1..cefa65dc21 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5526,7 +5526,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (define-public rss-bridge (package (name "rss-bridge") - (version "2017-08-03") + (version "2018-03-11") (source (origin (method url-fetch) @@ -5535,7 +5535,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl")))) + "1ix15ck45yb659k63mhwxwia6qnm9nn8jw0bga85abrvk1rchjdn")))) (build-system trivial-build-system) (native-inputs `(("gzip" ,gzip) From f36685b0586b9cd98c63a8ad7aee7821bbd54a56 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 29 Mar 2018 17:36:50 +0200 Subject: [PATCH 002/245] gnu: bspwm: Update to 0.9.4. * gnu/packages/wm.scm (bspwm): Update to 0.9.4. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index bb575926d5..910b226fd3 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -102,7 +102,7 @@ nested include statements).") (define-public bspwm (package (name "bspwm") - (version "0.9.3") + (version "0.9.4") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -112,7 +112,7 @@ nested include statements).") version ".tar.gz")) (sha256 (base32 - "17dwj7w16cdj7g4s2y2f96lgj5msq1s4543dnfa3rijlazzy6mmk")))) + "0yjr0vzbj3ar8qfr6gvpvjd82ay8iy1sg2fkw2swghlqiy6ix4kw")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb) From dc8450c178214830488703351840638a27844f03 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 29 Mar 2018 17:36:57 +0200 Subject: [PATCH 003/245] gnu: r-curl: Update to 3.2. * gnu/packages/web.scm (r-curl): Update to 3.2. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index cefa65dc21..33707bafd3 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3949,13 +3949,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "3.1") + (version "3.2") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "15fbjya2xrf2k9hhvg3frisrram4yk5wlfz67zj1z8ahpsb2a3r7")))) + "15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn")))) (build-system r-build-system) (arguments `(#:phases From 95fb6b0413f9c03f54e912ca3826ccefec7a78a4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 29 Mar 2018 17:45:45 +0200 Subject: [PATCH 004/245] gnu: r-lme4: Update to 1.1-16. * gnu/packages/statistics.scm (r-lme4): Update to 1.1-16. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index fc56193b3c..364723f5ae 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5059,14 +5059,14 @@ algorithms.") (define-public r-lme4 (package (name "r-lme4") - (version "1.1-15") + (version "1.1-16") (source (origin (method url-fetch) (uri (cran-uri "lme4" version)) (sha256 (base32 - "0sc6rvhiizxxpkdc3wps200wg3pqc0d89crn29lzm75fk8qdd7vx")))) + "0p5x9ki4dq8058mc7k9wdnlh60z1xa3wk2nmf71wl7w59m4szh92")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp) From af1e3dfe2792255e62083c87eadf15325793313e Mon Sep 17 00:00:00 2001 From: Tonton Date: Thu, 29 Mar 2018 11:38:11 +0200 Subject: [PATCH 005/245] gnu: Add screen-message. * gnu/packages/xdisorg.scm (screen-message): New variable. Signed-off-by: Tonton Signed-off-by: Marius Bakke --- gnu/packages/xdisorg.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 6663a0e746..94192966e0 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marek Benc ;;; Copyright © 2017 Mike Gerwitz +;;; Copyright © 2018 Thomas Sigurdsen ;;; ;;; This file is part of GNU Guix. ;;; @@ -1408,3 +1409,32 @@ or playing a PCM encoded WAVE file.") System, and launches a program of your choice if there is no activity after a user-configurable period of time.") (license license:gpl2))) + +(define-public screen-message + (package + (name "screen-message") + (version "0.25") + (source (origin + (method url-fetch) + (uri (string-append + "https://www.joachim-breitner.de/archive/screen-message" + "/screen-message-" version ".tar.gz")) + (sha256 + (base32 + "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0")))) + (build-system gnu-build-system) + (inputs `(("gtk3" ,gtk+) + ("gdk" ,gdk-pixbuf) + ("pango" ,pango))) + (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + ;; The default configure puts the 'sm' binary in games/ instead of bin/ - + ;; this fixes it: + `(#:make-flags (list (string-append "execgamesdir=" %output "/bin")))) + (synopsis "Print messages on your screen") + (description "@code{screen-message} is a tool for displaying text on +your screen. It will make the text as large as possible and display it +with black color on a white background (colors are configurable on the +commandline).") + (home-page "https://www.joachim-breitner.de/projects#screen-message") + (license license:gpl2+))) From d4e0ebd016091695adbad8ecdb7de03c0fbd7bf5 Mon Sep 17 00:00:00 2001 From: Tonton Date: Thu, 29 Mar 2018 12:11:31 +0200 Subject: [PATCH 006/245] gnu: Add fpm2. * gnu/packages/password-utils.scm (fpm2): New variable. Signed-off-by: Tonton Signed-off-by: Marius Bakke --- gnu/packages/password-utils.scm | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8810392530..f4518cfeb0 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2018 Konrad Hinsen +;;; Copyright © 2018 Thomas Sigurdsen ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) + #:use-module (gnu packages xml) #:use-module (guix build-system python)) (define-public pwgen @@ -641,3 +643,50 @@ is the community-enhanced, \"jumbo\" version of John the Ripper.") to encrypted files on a directory hierarchy. The information is protected by GnuPG's symmetrical encryption.") (license license:expat))) + +(define-public fpm2 + (package + (name "fpm2") + (version "0.79") + (source (origin + (method url-fetch) + (uri (string-append "https://als.regnet.cz/fpm2/download/fpm2-" + version ".tar.bz2")) + (sha256 + (base32 + "19sdy1lygfhkg5nxi2w9a4d9kwvw24nxp0ix0p0lz91qpvk9qpnm")))) + (build-system gnu-build-system) + (inputs `(("gtk2" ,gtk+-2) + ("gnupg" ,gnupg) + ("libxml2" ,libxml2))) + (native-inputs `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + ;; The file po/POTFILES.in ends up missing for some reason in + ;; both nix and guix builds. Adding the file with contents + ;; found during troubleshooting. + (lambda _ + (call-with-output-file "po/POTFILES.in" + (lambda (port) + (format port "data/fpm2.desktop.in +data/fpm2.desktop.in.in +fpm2.glade +src/callbacks.c +src/fpm.c +src/fpm_file.c +src/interface.c +src/support.c +fpm2.glade +"))) + #t))))) + (synopsis "Manage, generate and store passwords encrypted") + (description "FPM2 is GTK2 port from Figaro's Password Manager +originally developed by John Conneely, with some new enhancements. + +Upstream development seems to have stopped. It is therefore recommended +to use a different password manager.") + (home-page "https://als.regnet.cz/fpm2/") + (license license:gpl2+))) From b6beda1d6b9093a8493b5c3cde33ed522242c451 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 28 Mar 2018 16:02:51 -0400 Subject: [PATCH 007/245] gnu: Add botan. * gnu/packages/crypto.scm (botan): New variable. --- gnu/packages/crypto.scm | 59 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index fd7a48c2f9..da081fbefa 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2017 Ricardo Wurmus -;;; Copyright © 2016, 2017 Leo Famulari +;;; Copyright © 2016, 2017, 2018 Leo Famulari ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Nils Gillmann @@ -34,10 +34,10 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages databases) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages image) - #:use-module (gnu packages pkg-config) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) @@ -45,6 +45,8 @@ #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages search) #:use-module (gnu packages serialization) @@ -711,3 +713,56 @@ of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1, SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R 34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.") (license (license:non-copyleft "file://COPYING")))) + +(define-public botan + (package + (name "botan") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://botan.randombit.net/releases/" + "Botan-" version ".tgz")) + (sha256 + (base32 + "1988crh5lipmfcd1icldf6hchi9vcy08yymxv79lrvnglpi6957d")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-rst2man-invocation + (lambda _ + ;; XXX Reported upstream: + ;; + (substitute* "src/scripts/build_docs.py" + (("'rst2man'")"'rst2man.py'")) + #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (lib (string-append out "/lib"))) + (invoke "python" "./configure.py" + (string-append "--prefix=" out) + ;; Otherwise, the `botan` executable cannot find + ;; libbotan. + (string-append "--ldflags=-Wl,-rpath=" lib) + "--with-rst2man" + ;; Recommended by upstream + "--with-zlib" "--with-bzip2" "--with-sqlite3")))) + (replace 'check + (lambda _ (invoke "./botan-test")))))) + (native-inputs + `(("python" ,python-minimal-wrapper) + ("python-docutils" ,python-docutils))) + (inputs + `(("sqlite" ,sqlite) + ("bzip2" ,bzip2) + ("zlib" ,zlib))) + (synopsis "Cryptographic library in C++11") + (description "Botan is a cryptography library, written in C++11, offering +the tools necessary to implement a range of practical systems, such as TLS/DTLS, +PKIX certificate handling, PKCS#11 and TPM hardware support, password hashing, +and post-quantum crypto schemes. In addition to the C++, botan has a C89 API +specifically designed to be easy to call from other languages. A Python binding +using ctypes is included, and several other language bindings are available.") + (home-page "https://botan.randombit.net") + (license license:bsd-2))) From d2fd5c65321fe20b705298b8e8310518f808a0ab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 29 Mar 2018 20:59:04 +0200 Subject: [PATCH 008/245] gnu: mbedtls-apache: Update to 2.7.2. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.7.2. [source](snippet): Remove. --- gnu/packages/tls.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 79bf884259..50b5aa24b9 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -809,7 +809,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.7.0") + (version "2.7.2") (source (origin (method url-fetch) @@ -819,15 +819,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf")) - ;; An RFC 5114 constant was accidentally renamed in version 2.7.0. - ;; See https://github.com/ARMmbed/mbedtls/pull/1362. - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "include/mbedtls/dhm.h" - (("#define MBEDTLS_DHM_RFC5114_MODP_P") - "#define MBEDTLS_DHM_RFC5114_MODP_2048_P")))))) + "1mvkqlxxvl6yp1g5g9dk4l7h3wl6149p3pfwgwzgs7xybyxw4f7x")))) (build-system cmake-build-system) (arguments `(#:configure-flags From 40fb6b84f9b4f800dac846ec1fdc7b2c9e2b02db Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 29 Mar 2018 21:13:00 +0200 Subject: [PATCH 009/245] gnu: xcb-util-xrm: Update to 1.3. * gnu/packages/xdisorg.scm (xcb-util-xrm): Update to 1.3. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 94192966e0..c674d1309e 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1247,7 +1247,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag (define-public xcb-util-xrm (package (name "xcb-util-xrm") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (string-append @@ -1255,7 +1255,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag "/download/v" version "/xcb-util-xrm-" version ".tar.bz2")) (sha256 (base32 - "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp")) + "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h")) (modules '((guix build utils))) (snippet ;; Drop bundled m4. From cee6d90f7390d62e83ff0b68e7b19491450d0db3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 29 Mar 2018 21:14:31 +0200 Subject: [PATCH 010/245] gnu: awesome: Remove obsolete snippet. * gnu/packages/wm.scm (awesome)[source](snippet): Remove. --- gnu/packages/wm.scm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 910b226fd3..7f6d54c124 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -675,18 +675,6 @@ experience.") (sha256 (base32 "0kwpbls9h1alxcmvxh5g9qb995fds5b2ngcr44w0ibazkyls2pdc")) - (modules '((guix build utils) - (srfi srfi-19))) - (snippet - ;; Remove non-reproducible timestamp and use the date of the - ;; source file instead. - '(substitute* "common/version.c" - (("__DATE__ \" \" __TIME__") - (date->string - (time-utc->date - (make-time time-utc 0 - (stat:mtime (stat "awesome.c")))) - "\"~c\"")))) (patches (search-patches "awesome-reproducible-png.patch")))) (build-system cmake-build-system) (native-inputs `(("asciidoc" ,asciidoc) From 15c5541bc8910f1736c4feb71633bd9ccb62b8fb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:17:21 +0200 Subject: [PATCH 011/245] gnu: qtractor: Update to 0.9.0. * gnu/packages/music.scm (qtractor): Update to 0.9.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 016b92367b..198e31c062 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2154,14 +2154,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "0qf75bccsyplx6fcaz48k6027yp06zhl8ixhhjdbr30xgpslnjm3")))) + "03892177k3jn2bsi366dhq28rcdsc1p9v5qqc0k6hg3cnrkh23na")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target (inputs From 7c60a23cb1287d7c99ef1e587af41683c0b85364 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:21:02 +0200 Subject: [PATCH 012/245] gnu: synthv1: Update to 0.9.0. * gnu/packages/music.scm (synthv1): Update to 0.9.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 198e31c062..d0c3a26147 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1254,7 +1254,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1262,7 +1262,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92")))) + "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 4503b18701449f7ea79fd414f9ab7e05259ec695 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:21:15 +0200 Subject: [PATCH 013/245] gnu: padthv1: Update to 0.9.0. * gnu/packages/music.scm (padthv1): Update to 0.9.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d0c3a26147..eb27da4e14 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1358,7 +1358,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1366,7 +1366,7 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq")))) + "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 2a5d08daf4e299ea6d898a599fc41514013dddfc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:21:56 +0200 Subject: [PATCH 014/245] gnu: samplv1: Update to 0.9.0. * gnu/packages/music.scm (samplv1): Update to 0.9.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index eb27da4e14..3ce5a7565b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1323,7 +1323,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1331,7 +1331,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij")))) + "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 9602ac76b464041cd91cc14e127b7bfbbbeb326c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:22:22 +0200 Subject: [PATCH 015/245] gnu: drumkv1: Update to 0.9.0. * gnu/packages/music.scm (drumkv1): Update to 0.9.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 3ce5a7565b..3229dd2c6f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1288,7 +1288,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1296,7 +1296,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq")))) + "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 9f1ac4fa4918cd976ba40bdcfbb85e54b7119018 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:26:59 +0200 Subject: [PATCH 016/245] gnu: mod-host: Update to 0.10.6-3.1726ad06b. * gnu/packages/music.scm (mod-host): Update to 0.10.6-3.1726ad06b. --- gnu/packages/music.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 3229dd2c6f..f7e9ad132b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2270,10 +2270,10 @@ analogue-like user interface.") (license license:gpl2+))) (define-public mod-host - ;; The last release was in 2014 but since then more than 140 commits have + ;; The last release was in 2014 but since then hundreds of commits have ;; been made. - (let ((commit "299a3977476e8eb0285837fbd7522cec506a11de") - (revision "2")) + (let ((commit "1726ad06b11323da7e1aaed690ff8aef91f702b5") + (revision "3")) (package (name "mod-host") (version (string-append "0.10.6-" revision "." (string-take commit 9))) @@ -2284,7 +2284,7 @@ analogue-like user interface.") (commit commit))) (sha256 (base32 - "128q7p5mph086v954rqnafalfbkyvhgwclaq6ks6swrhj45wnag6")) + "1nrd37c35w6z6ldczgrwmmd9hx1n3zyvcjcgb3mi4cygqdanvspv")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments From 80808d678a8fb8ec99b048c916a10f2cde080cb8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:40:30 +0200 Subject: [PATCH 017/245] gnu: hydrogen: Update to 1.0.0-beta1. * gnu/packages/music.scm (hydrogen): Update to 1.0.0-beta1. [source]: Fetch from git. [arguments]: Add phase to fix installation directory for pixmaps. [inputs]: Remove qt-4; add qtbase and qtxmlpatterns. --- gnu/packages/music.scm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f7e9ad132b..9949e8e38f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -435,19 +435,28 @@ background while you work.") (define-public hydrogen (package (name "hydrogen") - (version "0.9.7") + (version "1.0.0-beta1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/hydrogen-music/hydrogen/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hydrogen-music/hydrogen.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy")))) + "0nv83l70j5bjz2wd6n3a8cq3bmgrvdvg6g2hjhc1g5h6xnbqsh9x")))) (build-system cmake-build-system) (arguments - `(#:test-target "tests")) + `(#:test-target "tests" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-data-directory + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("/usr/share/pixmaps") + (string-append (assoc-ref outputs "out") + "/share/pixmaps"))) + #t))))) (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) @@ -460,7 +469,8 @@ background while you work.") ("libsndfile" ,libsndfile) ("libtar" ,libtar) ("lrdf" ,lrdf) - ("qt" ,qt-4) + ("qtbase" ,qtbase) + ("qtxmlpatterns" ,qtxmlpatterns) ("zlib" ,zlib))) (home-page "http://www.hydrogen-music.org") (synopsis "Drum machine") From 315ed91efb4d6f5619ca586bb732068471f69895 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Mar 2018 22:43:37 +0200 Subject: [PATCH 018/245] gnu: pybitmessage: Update to 0.6.3.2 [security fixes]. * gnu/packages/messaging.scm (pybitmessage): Update to 0.6.3.2. [source]: Fetch from git. --- gnu/packages/messaging.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b3eff1ec1f..fc40ae256c 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 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015 Efraim Flashner ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016 Andy Patterson @@ -913,16 +913,17 @@ connect with friends and family without anyone else listening in.") (define-public pybitmessage (package (name "pybitmessage") - (version "0.6.2") + (version "0.6.3.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Bitmessage/" - "PyBitmessage/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bitmessage/PyBitmessage.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1in2mhaxkp2sx8pgvifq9dk1z8b2x3imf1anr0z926vwxwjrf85w")))) + "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35")))) (propagated-inputs ;; TODO: ;; Package "pyopencl", required in addition to numpy for OpenCL support. From 9a40b8d9b2876867faf1eb593cc347ebf02df89a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 17 Mar 2018 12:19:24 +1000 Subject: [PATCH 019/245] gnu: diamond: Update to 0.9.19. * gnu/packages/bioinformatics.scm (diamond): Update to 0.9.19. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5a1da25805..909167ffb1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2033,7 +2033,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.9.18") + (version "0.9.19") (source (origin (method url-fetch) (uri (string-append @@ -2042,7 +2042,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vi2nddmy7knrv8gsprwqp6a40k63n3f2dfvx22ipjhrg9xir96f")))) + "0c4y8l90vdxmglb0w37y0413v11qzcwg8sdmy9k0c0gr3bsq7dzs")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From c7a8aa131dc02b0020309b0bcc0c92d3811f8c8b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 17 Mar 2018 12:17:09 +1000 Subject: [PATCH 020/245] gnu: mafft: Update to 7.394. * gnu/packages/bioinformatics.scm (mafft): Update to 7.394. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 909167ffb1..cf36b3642f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3689,7 +3689,7 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.313") + (version "7.394") (source (origin (method url-fetch) (uri (string-append @@ -3698,7 +3698,7 @@ sequencing tag position and orientation.") (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "0r83qmg2if8mi6jyx3xdf8ar2gcxl7r9nmj98jr7lxym97v61a2k")))) + "0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me From f38ac742e6f542110cf838646a35c325201def51 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sun, 4 Mar 2018 10:32:56 +1000 Subject: [PATCH 021/245] gnu: mash: Update to 2.0. * gnu/packages/bioinformatics.scm (mash): Update to 2.0. --- gnu/packages/bioinformatics.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cf36b3642f..af515c026e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3775,7 +3775,7 @@ sequences).") (define-public mash (package (name "mash") - (version "1.1.1") + (version "2.0") (source (origin (method url-fetch) (uri (string-append @@ -3784,7 +3784,7 @@ sequences).") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08znbvqq5xknfhmpp3wcj574zvi4p7i8zifi67c9qw9a6ikp42fj")) + "00fx14vpmgsijwxd1xql3if934l82v8ckqgjjyyhnr36qb9qrskv")) (modules '((guix build utils))) (snippet ;; Delete bundled kseq. @@ -3802,7 +3802,9 @@ sequences).") (modify-phases %standard-phases (add-after 'unpack 'fix-includes (lambda _ - (substitute* '("src/mash/Sketch.cpp" "src/mash/CommandFind.cpp") + (substitute* '("src/mash/Sketch.cpp" + "src/mash/CommandFind.cpp" + "src/mash/CommandScreen.cpp") (("^#include \"kseq\\.h\"") "#include \"htslib/kseq.h\"")) #t)) From 049edeb24cdc3727a9a581b3c83dc9237faac215 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 30 Mar 2018 12:24:59 +1000 Subject: [PATCH 022/245] gnu: ruby-2.3: Update to 2.3.7. * gnu/packages/ruby.scm (ruby-2.3): Update to 2.3.7. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 17fe7ae52c..e1e9031724 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -109,7 +109,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.3 (package (inherit ruby) - (version "2.3.6") + (version "2.3.7") (source (origin (method url-fetch) @@ -118,7 +118,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0")) + "1nwfaifq5624p1ml56qq5dy5w38z37x22r0qgrbgbzrzklmqy7y6")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi From 8456a4c5cb66bb5be317af0669af41d55c97cbf9 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 30 Mar 2018 12:27:57 +1000 Subject: [PATCH 023/245] gnu: ruby-2.2: Update to 2.2.10. * gnu/packages/ruby.scm (ruby-2.2): Update to 2.2.10. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e1e9031724..67dc6badfe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -127,7 +127,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.2 (package (inherit ruby) - (version "2.2.9") + (version "2.2.10") (source (origin (method url-fetch) @@ -136,7 +136,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri")))))) + "0l5nk9mc0q4769d2i9d9y1izk0pk0lms2bl8s3lclv36wsvvqxxz")))))) (define-public ruby-2.1 (package (inherit ruby) From f342bb58fef34d2b1364a9fac1d882ffcd329904 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Wed, 14 Mar 2018 00:06:53 +0500 Subject: [PATCH 024/245] gnu: rust: Update rust to 1.24.1. * gnu/packages/rust.scm (rust-bootstrap): Freeze bootstrap version to 1.22.1. Reorganize bootstrap binaries to match new "rust" package structure with two ouputs "out" with Rust compiler and "cargo" with Cargo package manager. Replace all "system*" by "invoke". (rust-1.23): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for parts that were fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. Replace all "system*" by "invoke". (rust): Create package for 1.24.1 rust release based on rust-1.23 release. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" of default output of "rust" package, use "cargo" as "cargo" output of "rust" package. --- gnu/packages/rust.scm | 1374 +++-------------------------------- guix/build-system/cargo.scm | 21 +- 2 files changed, 127 insertions(+), 1268 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 7d0eb70875..70140579b6 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Eric Le Bihan ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2017 Ben Woodcroft -;;; Copyright © 2017 Nikolai Merinov +;;; Copyright © 2017, 2018 Nikolai Merinov ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; @@ -46,71 +46,48 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) - #:use-module (guix base16) ;for generated "cargo" native-inputs #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module ((guix build utils) #:select (alist-replace)) + #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (srfi srfi-26)) -;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.21.0") - -(define %rust-bootstrap-binaries - (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rust-" %rust-bootstrap-binaries-version - "-" %host-type ".tar.gz")) - (sha256 - (base32 - (match %host-type - ("i686-unknown-linux-gnu" - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") - ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") - ("armv7-unknown-linux-gnueabihf" - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") - ("aarch64-unknown-linux-gnu" - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") - ("mips64el-unknown-linux-gnuabi64" - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") - (_ "")))))) ; Catch-all for other systems. - (define %cargo-reference-project-file "/dev/null") (define %cargo-reference-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") -(define (increment-rust-version rust-version major patch) - (match (string-split rust-version #\.) - (("1" minor _) - (string-append (number->string major) "." - (number->string (+ (string->number minor) 1)) "." - (number->string patch))))) - -(define* (cargo-version rustc-version #:optional (patch 0)) - ;; Computes the cargo version that matches the rustc version. - ;; This has so far continued to follow a predictable pattern: - ;; https://github.com/rust-lang/cargo/blob/50a46f47/README.md#releases - (increment-rust-version rustc-version 0 patch)) - -(define* (rustc-version bootstrap-version #:optional (patch 0)) - ;; Computes the rustc version that can be compiled from a given - ;; other rustc version. The patch argument is for selecting - ;; a stability or security fix. 1.11.0 -> 1.12.1 -> 1.13.0 - (increment-rust-version bootstrap-version 1 patch)) - -(define rustc-bootstrap +(define rust-bootstrap (package - (name "rustc-bootstrap") - (version %rust-bootstrap-binaries-version) - (source %rust-bootstrap-binaries) + (name "rust-bootstrap") + (version "1.22.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://static.rust-lang.org/dist/" + "rust-" version "-" %host-type ".tar.gz")) + (sha256 + (base32 + (match %host-type + ("i686-unknown-linux-gnu" + "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr") + ("x86_64-unknown-linux-gnu" + "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c") + ("armv7-unknown-linux-gnueabihf" + "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5") + ("aarch64-unknown-linux-gnu" + "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8") + ("mips64el-unknown-linux-gnuabi64" + "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2") + (_ "")))))) (build-system gnu-build-system) (native-inputs `(("patchelf" ,patchelf))) (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib") + `(("gcc" ,(canonical-package gcc)) + ("gcc:lib" ,(canonical-package gcc) "lib") ("zlib" ,zlib))) + (outputs '("out" "cargo")) (arguments `(#:tests? #f #:strip-binaries? #f @@ -121,115 +98,63 @@ (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (cargo-out (assoc-ref outputs "cargo")) (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) (zlib (assoc-ref inputs "zlib")) (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) + (cargo-rpath (string-append cargo-out "/lib:" libc "/lib:" + gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) - (rustdoc (string-append out "/bin/rustdoc"))) - (system* "bash" "install.sh" + (rustdoc (string-append out "/bin/rustdoc")) + (cargo (string-append cargo-out "/bin/cargo")) + (gcc (assoc-ref inputs "gcc"))) + ;; Install rustc/rustdoc + (invoke "bash" "install.sh" (string-append "--prefix=" out) (string-append "--components=rustc," "rust-std-" %host-type)) + ;; Instal cargo + (invoke "bash" "install.sh" + (string-append "--prefix=" cargo-out) + (string-append "--components=cargo")) (for-each (lambda (file) - (system* "patchelf" "--set-rpath" rpath file)) + (invoke "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) + (invoke "patchelf" "--set-rpath" cargo-rpath cargo) (for-each (lambda (file) - (system* "patchelf" "--set-interpreter" ld-so file)) - (list rustc rustdoc)))))))) + (invoke "patchelf" "--set-interpreter" ld-so file)) + (list rustc rustdoc cargo)) + ;; Rust requires a C toolchain for linking. The prebuilt + ;; binaries expect a compiler called cc. Thus symlink gcc + ;; to cc. + (symlink (string-append gcc "/bin/gcc") + (string-append out "/bin/cc")) + #t)))))) (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt rust compiler") - (description "This package provides a pre-built @command{rustc} compiler, -which can in turn be used to build the final Rust compiler.") + (synopsis "Prebuilt rust compiler and cargo package manager") + (description "This package provides a pre-built @command{rustc} compiler +and a pre-built @command{cargo} package manaer, which can +in turn be used to build the final Rust.") (license license:asl2.0))) -(define cargo-bootstrap - (package - (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version 1)) - (source %rust-bootstrap-binaries) - (build-system gnu-build-system) - (native-inputs - `(("patchelf" ,patchelf))) - (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib"))) - (arguments - `(#:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gcc:lib (assoc-ref inputs "gcc:lib")) - (libc (assoc-ref inputs "libc")) - (ld-so (string-append libc ,(glibc-dynamic-linker))) - (rpath (string-append out "/lib:" libc "/lib:" - gcc:lib "/lib")) - (cargo (string-append out "/bin/cargo"))) - (system* "bash" "install.sh" - (string-append "--prefix=" out) - "--components=cargo") - (system* "patchelf" - "--set-interpreter" ld-so - "--set-rpath" rpath - cargo))))))) - (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt cargo package manager") - (description "This package provides a pre-built @command{cargo} package -manager, which is required to build itself.") - (license license:asl2.0))) - -(define rust-bootstrap - (package - (name "rust-bootstrap") - (version %rust-bootstrap-binaries-version) - (source #f) - (build-system trivial-build-system) - (propagated-inputs - `(("rustc-bootstrap" ,rustc-bootstrap) - ("cargo-bootstrap" ,cargo-bootstrap) - ("gcc" ,(canonical-package gcc)))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (gcc (assoc-ref %build-inputs "gcc"))) - (mkdir-p (string-append out "/bin")) - ;; Rust requires a C toolchain for linking. The prebuilt - ;; binaries expect a compiler called cc. Thus symlink gcc - ;; to cc. - (symlink (string-append gcc "/bin/gcc") - (string-append out "/bin/cc")))))) - (home-page "https://www.rust-lang.org") - (synopsis "Rust bootstrapping meta package") - (description "Meta package for a rust environment. Provides pre-compiled -rustc-bootstrap and cargo-bootstrap packages.") - (license license:asl2.0))) -(define-public rustc +(define (rust-source version hash) + (origin + (method url-fetch) + (uri (string-append "https://static.rust-lang.org/dist/" + "rustc-" version "-src.tar.gz")) + (sha256 (base32 hash)) + (modules '((guix build utils))) + (snippet '(begin (delete-file-recursively "src/llvm") #t)))) + +(define-public rust-1.23 (package - (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version 1)) - (source (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rustc-" version "-src.tar.gz")) - (sha256 - (base32 - "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -239,11 +164,16 @@ rustc-bootstrap and cargo-bootstrap packages.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rust-bootstrap" ,rust-bootstrap) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (inputs `(("jemalloc" ,jemalloc-4.5.0) - ("llvm" ,llvm-3.9.1))) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + (outputs '("out" "doc" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:phases @@ -258,9 +188,6 @@ rustc-bootstrap and cargo-bootstrap packages.") (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/build_helper/lib.rs" - ;; In same folder as gcc there is only "gcc-ar" utility - (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar\");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would @@ -276,15 +203,18 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist then it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix build! - (("let threshold = mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) #t))) + (add-after 'patch-tests 'fix-mtime-bug + (lambda* _ + (substitute* "src/build_helper/lib.rs" + ;; Bug in Rust code. + ;; Current implementation assume that if dst not exist then it's mtime + ;; is 0, but in same time "src" have 0 mtime in guix build! + (("let threshold = mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) + #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) + (lambda* _ (substitute* "src/Cargo.lock" (("(\"checksum .* = )\".*\"" all name) (string-append name "\"" ,%cargo-reference-hash "\""))) @@ -302,6 +232,7 @@ rustc-bootstrap and cargo-bootstrap packages.") (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) (gcc (assoc-ref inputs "gcc")) (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) @@ -317,15 +248,18 @@ rustc-bootstrap and cargo-bootstrap packages.") [build] cargo = \"" cargo "/bin/cargo" "\" rustc = \"" rustc "/bin/rustc" "\" +docs = true python = \"" python "/bin/python2" "\" gdb = \"" gdb "/bin/gdb" "\" vendor = true submodules = false [install] prefix = \"" out "\" +docdir = \"" doc "/share/doc/rust" "\" +sysconfdir = \"etc\" +localstatedir = \"var/lib\" [rust] default-linker = \"" gcc "/bin/gcc" "\" -default-ar = \"" binutils "/bin/ar" "\" channel = \"stable\" rpath = true # There is 2 failed codegen tests: @@ -336,12 +270,13 @@ codegen-tests = false llvm-config = \"" llvm "/bin/llvm-config" "\" cc = \"" gcc "/bin/gcc" "\" cxx = \"" gcc "/bin/g++" "\" +ar = \"" binutils "/bin/ar" "\" jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) #t))) (add-before 'build 'reset-timestamps-after-changes - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* _ (define ref (stat "README.md")) (for-each (lambda (filename) @@ -349,14 +284,21 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (find-files "." #:directories? #t)) #t)) (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "build")))) + (lambda* _ + (invoke "./x.py" "build") + (invoke "./x.py" "build" "src/tools/cargo"))) (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "test")))) + (lambda* _ + (invoke "./x.py" "test"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "install")))) + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./x.py" "install") + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix = \"[^\"]*\"") + (string-append "prefix = \"" (assoc-ref outputs "cargo") "\""))) + (invoke "./x.py" "install" "cargo") + #t)) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -376,1095 +318,19 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -;; This tries very hard not to get into a cyclic dependency like this: -;; cargo <- cargo-build-system <- cargo. -(define-public cargo - (package - (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-version) 0)) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rust-lang/cargo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) - (build-system cargo-build-system) - (propagated-inputs - `(("cmake" ,cmake) - ("pkg-config" ,pkg-config))) - (inputs - `(("curl" ,curl) - ("libgit2" ,libgit2) - ("libssh2" ,libssh2) - ("openssl" ,openssl) - ("python-2" ,python-2) - ("zlib" ,zlib))) - (native-inputs - `(("git" ,git) ; required for tests - ;; Next dependencies generated with next command: - ;; cat Cargo.lock | awk ' - ;; /^"checksum/ - ;; { oname=name=$2; vers=$3; hash=$6; - ;; if (ns[name] != 1) { ns[name]=1; } else { name = name "-" vers; } - ;; print " (\"rust-" name "\""; - ;; print " ,(origin"; - ;; print " (method url-fetch)"; - ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))"; - ;; print " (file-name \"rust-" oname "\-\" vers "\") - ;; print " (sha256"; - ;; print " (base16-string->bytevector"; - ;; print " " hash "))))" - ;; }' - ("rust-advapi32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) - (file-name "rust-advapi32-sys-0.2.0") - (sha256 - (base16-string->bytevector - "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a")))) - ("rust-aho-corasick" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) - (file-name "rust-aho-corasick-0.5.3") - (sha256 - (base16-string->bytevector - "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66")))) - ("rust-aho-corasick-0.6.3" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.6.3")) - (file-name "rust-aho-corasick-0.6.3") - (sha256 - (base16-string->bytevector - "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699")))) - ("rust-atty" - ,(origin - (method url-fetch) - (uri (crate-uri "atty" "0.2.3")) - (file-name "rust-atty-0.2.3") - (sha256 - (base16-string->bytevector - "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860")))) - ("rust-backtrace" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace" "0.3.3")) - (file-name "rust-backtrace-0.3.3") - (sha256 - (base16-string->bytevector - "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983")))) - ("rust-backtrace-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace-sys" "0.1.14")) - (file-name "rust-backtrace-sys-0.1.14") - (sha256 - (base16-string->bytevector - "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189")))) - ("rust-bitflags" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.7.0")) - (file-name "rust-bitflags-0.7.0") - (sha256 - (base16-string->bytevector - "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d")))) - ("rust-bitflags-0.9.1" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.9.1")) - (file-name "rust-bitflags-0.9.1") - (sha256 - (base16-string->bytevector - "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5")))) - ("rust-bufstream" - ,(origin - (method url-fetch) - (uri (crate-uri "bufstream" "0.1.3")) - (file-name "rust-bufstream-0.1.3") - (sha256 - (base16-string->bytevector - "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32")))) - ("rust-cc" - ,(origin - (method url-fetch) - (uri (crate-uri "cc" "1.0.0")) - (file-name "rust-cc-1.0.0") - (sha256 - (base16-string->bytevector - "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1")))) - ("rust-cfg-if" - ,(origin - (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.2")) - (file-name "rust-cfg-if-0.1.2") - (sha256 - (base16-string->bytevector - "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de")))) - ("rust-cmake" - ,(origin - (method url-fetch) - (uri (crate-uri "cmake" "0.1.26")) - (file-name "rust-cmake-0.1.26") - (sha256 - (base16-string->bytevector - "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d")))) - ("rust-commoncrypto" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto" "0.2.0")) - (file-name "rust-commoncrypto-0.2.0") - (sha256 - (base16-string->bytevector - "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007")))) - ("rust-commoncrypto-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto-sys" "0.2.0")) - (file-name "rust-commoncrypto-sys-0.2.0") - (sha256 - (base16-string->bytevector - "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2")))) - ("rust-conv" - ,(origin - (method url-fetch) - (uri (crate-uri "conv" "0.3.3")) - (file-name "rust-conv-0.3.3") - (sha256 - (base16-string->bytevector - "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299")))) - ("rust-core-foundation" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation" "0.4.4")) - (file-name "rust-core-foundation-0.4.4") - (sha256 - (base16-string->bytevector - "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7")))) - ("rust-core-foundation-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" "0.4.4")) - (file-name "rust-core-foundation-sys-0.4.4") - (sha256 - (base16-string->bytevector - "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387")))) - ("rust-crossbeam" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) - (file-name "rust-crossbeam-0.2.10") - (sha256 - (base16-string->bytevector - "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97")))) - ("rust-crossbeam-0.3.0" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.3.0")) - (file-name "rust-crossbeam-0.3.0") - (sha256 - (base16-string->bytevector - "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a")))) - ("rust-crypto-hash" - ,(origin - (method url-fetch) - (uri (crate-uri "crypto-hash" "0.3.0")) - (file-name "rust-crypto-hash-0.3.0") - (sha256 - (base16-string->bytevector - "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602")))) - ("rust-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "curl" "0.4.8")) - (file-name "rust-curl-0.4.8") - (sha256 - (base16-string->bytevector - "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c")))) - ("rust-curl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.15")) - (file-name "rust-curl-sys-0.3.15") - (sha256 - (base16-string->bytevector - "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55")))) - ("rust-custom_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "custom_derive" "0.1.7")) - (file-name "rust-custom_derive-0.1.7") - (sha256 - (base16-string->bytevector - "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9")))) - ("rust-dbghelp-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "dbghelp-sys" "0.2.0")) - (file-name "rust-dbghelp-sys-0.2.0") - (sha256 - (base16-string->bytevector - "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850")))) - ("rust-docopt" - ,(origin - (method url-fetch) - (uri (crate-uri "docopt" "0.8.1")) - (file-name "rust-docopt-0.8.1") - (sha256 - (base16-string->bytevector - "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a")))) - ("rust-dtoa" - ,(origin - (method url-fetch) - (uri (crate-uri "dtoa" "0.4.2")) - (file-name "rust-dtoa-0.4.2") - (sha256 - (base16-string->bytevector - "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab")))) - ("rust-env_logger" - ,(origin - (method url-fetch) - (uri (crate-uri "env_logger" "0.4.3")) - (file-name "rust-env_logger-0.4.3") - (sha256 - (base16-string->bytevector - "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b")))) - ("rust-error-chain" - ,(origin - (method url-fetch) - (uri (crate-uri "error-chain" "0.11.0")) - (file-name "rust-error-chain-0.11.0") - (sha256 - (base16-string->bytevector - "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3")))) - ("rust-filetime" - ,(origin - (method url-fetch) - (uri (crate-uri "filetime" "0.1.12")) - (file-name "rust-filetime-0.1.12") - (sha256 - (base16-string->bytevector - "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e")))) - ("rust-flate2" - ,(origin - (method url-fetch) - (uri (crate-uri "flate2" "0.2.20")) - (file-name "rust-flate2-0.2.20") - (sha256 - (base16-string->bytevector - "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423")))) - ("rust-fnv" - ,(origin - (method url-fetch) - (uri (crate-uri "fnv" "1.0.5")) - (file-name "rust-fnv-1.0.5") - (sha256 - (base16-string->bytevector - "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344")))) - ("rust-foreign-types" - ,(origin - (method url-fetch) - (uri (crate-uri "foreign-types" "0.2.0")) - (file-name "rust-foreign-types-0.2.0") - (sha256 - (base16-string->bytevector - "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d")))) - ("rust-fs2" - ,(origin - (method url-fetch) - (uri (crate-uri "fs2" "0.4.2")) - (file-name "rust-fs2-0.4.2") - (sha256 - (base16-string->bytevector - "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866")))) - ("rust-git2" - ,(origin - (method url-fetch) - (uri (crate-uri "git2" "0.6.8")) - (file-name "rust-git2-0.6.8") - (sha256 - (base16-string->bytevector - "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa")))) - ("rust-git2-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) - (file-name "rust-git2-curl-0.7.0") - (sha256 - (base16-string->bytevector - "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e")))) - ("rust-glob" - ,(origin - (method url-fetch) - (uri (crate-uri "glob" "0.2.11")) - (file-name "rust-glob-0.2.11") - (sha256 - (base16-string->bytevector - "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb")))) - ("rust-globset" - ,(origin - (method url-fetch) - (uri (crate-uri "globset" "0.2.0")) - (file-name "rust-globset-0.2.0") - (sha256 - (base16-string->bytevector - "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3")))) - ("rust-hamcrest" - ,(origin - (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) - (file-name "rust-hamcrest-0.1.1") - (sha256 - (base16-string->bytevector - "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4")))) - ("rust-hex" - ,(origin - (method url-fetch) - (uri (crate-uri "hex" "0.2.0")) - (file-name "rust-hex-0.2.0") - (sha256 - (base16-string->bytevector - "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa")))) - ("rust-home" - ,(origin - (method url-fetch) - (uri (crate-uri "home" "0.3.0")) - (file-name "rust-home-0.3.0") - (sha256 - (base16-string->bytevector - "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db")))) - ("rust-idna" - ,(origin - (method url-fetch) - (uri (crate-uri "idna" "0.1.4")) - (file-name "rust-idna-0.1.4") - (sha256 - (base16-string->bytevector - "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d")))) - ("rust-ignore" - ,(origin - (method url-fetch) - (uri (crate-uri "ignore" "0.2.2")) - (file-name "rust-ignore-0.2.2") - (sha256 - (base16-string->bytevector - "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5")))) - ("rust-itoa" - ,(origin - (method url-fetch) - (uri (crate-uri "itoa" "0.3.4")) - (file-name "rust-itoa-0.3.4") - (sha256 - (base16-string->bytevector - "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c")))) - ("rust-jobserver" - ,(origin - (method url-fetch) - (uri (crate-uri "jobserver" "0.1.6")) - (file-name "rust-jobserver-0.1.6") - (sha256 - (base16-string->bytevector - "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133")))) - ("rust-kernel32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) - (file-name "rust-kernel32-sys-0.2.2") - (sha256 - (base16-string->bytevector - "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d")))) - ("rust-lazy_static" - ,(origin - (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.9")) - (file-name "rust-lazy_static-0.2.9") - (sha256 - (base16-string->bytevector - "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5")))) - ("rust-libc" - ,(origin - (method url-fetch) - (uri (crate-uri "libc" "0.2.31")) - (file-name "rust-libc-0.2.31") - (sha256 - (base16-string->bytevector - "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c")))) - ("rust-libgit2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.16")) - (file-name "rust-libgit2-sys-0.6.16") - (sha256 - (base16-string->bytevector - "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2")))) - ("rust-libssh2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.6")) - (file-name "rust-libssh2-sys-0.2.6") - (sha256 - (base16-string->bytevector - "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75")))) - ("rust-libz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.17")) - (file-name "rust-libz-sys-1.0.17") - (sha256 - (base16-string->bytevector - "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5")))) - ("rust-log" - ,(origin - (method url-fetch) - (uri (crate-uri "log" "0.3.8")) - (file-name "rust-log-0.3.8") - (sha256 - (base16-string->bytevector - "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b")))) - ("rust-magenta" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta" "0.1.1")) - (file-name "rust-magenta-0.1.1") - (sha256 - (base16-string->bytevector - "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527")))) - ("rust-magenta-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta-sys" "0.1.1")) - (file-name "rust-magenta-sys-0.1.1") - (sha256 - (base16-string->bytevector - "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699")))) - ("rust-matches" - ,(origin - (method url-fetch) - (uri (crate-uri "matches" "0.1.6")) - (file-name "rust-matches-0.1.6") - (sha256 - (base16-string->bytevector - "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376")))) - ("rust-memchr" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) - (file-name "rust-memchr-0.1.11") - (sha256 - (base16-string->bytevector - "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20")))) - ("rust-memchr-1.0.1" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "1.0.1")) - (file-name "rust-memchr-1.0.1") - (sha256 - (base16-string->bytevector - "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4")))) - ("rust-miniz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.10")) - (file-name "rust-miniz-sys-0.1.10") - (sha256 - (base16-string->bytevector - "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4")))) - ("rust-miow" - ,(origin - (method url-fetch) - (uri (crate-uri "miow" "0.2.1")) - (file-name "rust-miow-0.2.1") - (sha256 - (base16-string->bytevector - "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919")))) - ("rust-net2" - ,(origin - (method url-fetch) - (uri (crate-uri "net2" "0.2.31")) - (file-name "rust-net2-0.2.31") - (sha256 - (base16-string->bytevector - "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09")))) - ("rust-num" - ,(origin - (method url-fetch) - (uri (crate-uri "num" "0.1.40")) - (file-name "rust-num-0.1.40") - (sha256 - (base16-string->bytevector - "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525")))) - ("rust-num-bigint" - ,(origin - (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.40")) - (file-name "rust-num-bigint-0.1.40") - (sha256 - (base16-string->bytevector - "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd")))) - ("rust-num-complex" - ,(origin - (method url-fetch) - (uri (crate-uri "num-complex" "0.1.40")) - (file-name "rust-num-complex-0.1.40") - (sha256 - (base16-string->bytevector - "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6")))) - ("rust-num-integer" - ,(origin - (method url-fetch) - (uri (crate-uri "num-integer" "0.1.35")) - (file-name "rust-num-integer-0.1.35") - (sha256 - (base16-string->bytevector - "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba")))) - ("rust-num-iter" - ,(origin - (method url-fetch) - (uri (crate-uri "num-iter" "0.1.34")) - (file-name "rust-num-iter-0.1.34") - (sha256 - (base16-string->bytevector - "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01")))) - ("rust-num-rational" - ,(origin - (method url-fetch) - (uri (crate-uri "num-rational" "0.1.39")) - (file-name "rust-num-rational-0.1.39") - (sha256 - (base16-string->bytevector - "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790")))) - ("rust-num-traits" - ,(origin - (method url-fetch) - (uri (crate-uri "num-traits" "0.1.40")) - (file-name "rust-num-traits-0.1.40") - (sha256 - (base16-string->bytevector - "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0")))) - ("rust-num_cpus" - ,(origin - (method url-fetch) - (uri (crate-uri "num_cpus" "1.7.0")) - (file-name "rust-num_cpus-1.7.0") - (sha256 - (base16-string->bytevector - "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d")))) - ("rust-openssl" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl" "0.9.19")) - (file-name "rust-openssl-0.9.19") - (sha256 - (base16-string->bytevector - "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc")))) - ("rust-openssl-probe" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.1")) - (file-name "rust-openssl-probe-0.1.1") - (sha256 - (base16-string->bytevector - "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf")))) - ("rust-openssl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.19")) - (file-name "rust-openssl-sys-0.9.19") - (sha256 - (base16-string->bytevector - "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8")))) - ("rust-percent-encoding" - ,(origin - (method url-fetch) - (uri (crate-uri "percent-encoding" "1.0.0")) - (file-name "rust-precent-encoding-1.0.0") - (sha256 - (base16-string->bytevector - "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356")))) - ("rust-pkg-config" - ,(origin - (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.9")) - (file-name "rust-pkg-config-0.3.9") - (sha256 - (base16-string->bytevector - "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903")))) - ("rust-psapi-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "psapi-sys" "0.1.0")) - (file-name "rust-psapi-sys-0.1.0") - (sha256 - (base16-string->bytevector - "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478")))) - ("rust-quote" - ,(origin - (method url-fetch) - (uri (crate-uri "quote" "0.3.15")) - (file-name "rust-quote-0.3.15") - (sha256 - (base16-string->bytevector - "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a")))) - ("rust-rand" - ,(origin - (method url-fetch) - (uri (crate-uri "rand" "0.3.16")) - (file-name "rust-rand-0.3.16") - (sha256 - (base16-string->bytevector - "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf")))) - ("rust-redox_syscall" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_syscall" "0.1.31")) - (file-name "rust-redox_syscall-0.1.31") - (sha256 - (base16-string->bytevector - "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509")))) - ("rust-redox_termios" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_termios" "0.1.1")) - (file-name "rust-redox_termios-0.1.1") - (sha256 - (base16-string->bytevector - "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76")))) - ("rust-regex" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) - (file-name "rust-regex-0.1.80") - (sha256 - (base16-string->bytevector - "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f")))) - ("rust-regex-0.2.2" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.2.2")) - (file-name "rust-regex-0.2.2") - (sha256 - (base16-string->bytevector - "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b")))) - ("rust-regex-syntax" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.3.9")) - (file-name "rust-regex-syntax-0.3.9") - (sha256 - (base16-string->bytevector - "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957")))) - ("rust-regex-syntax-0.4.1" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.4.1")) - (file-name "rust-regex-syntax-0.4.1") - (sha256 - (base16-string->bytevector - "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db")))) - ("rust-rustc-demangle" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-demangle" "0.1.5")) - (file-name "rust-rustc-demangle-0.1.5") - (sha256 - (base16-string->bytevector - "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e")))) - ("rust-rustc-serialize" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.24")) - (file-name "rust-rustc-serialize-0.3.24") - (sha256 - (base16-string->bytevector - "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda")))) - ("rust-same-file" - ,(origin - (method url-fetch) - (uri (crate-uri "same-file" "0.1.3")) - (file-name "rust-same-file-0.1.3") - (sha256 - (base16-string->bytevector - "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7")))) - ("rust-scoped-tls" - ,(origin - (method url-fetch) - (uri (crate-uri "scoped-tls" "0.1.0")) - (file-name "rust-scoped-tls-0.1.0") - (sha256 - (base16-string->bytevector - "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d")))) - ("rust-scopeguard" - ,(origin - (method url-fetch) - (uri (crate-uri "scopeguard" "0.1.2")) - (file-name "rust-scopeguard-0.1.2") - (sha256 - (base16-string->bytevector - "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57")))) - ("rust-semver" - ,(origin - (method url-fetch) - (uri (crate-uri "semver" "0.8.0")) - (file-name "rust-semver-0.8.0") - (sha256 - (base16-string->bytevector - "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b")))) - ("rust-semver-parser" - ,(origin - (method url-fetch) - (uri (crate-uri "semver-parser" "0.7.0")) - (file-name "rust-semver-parser-0.7.0") - (sha256 - (base16-string->bytevector - "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3")))) - ("rust-serde" - ,(origin - (method url-fetch) - (uri (crate-uri "serde" "1.0.15")) - (file-name "rust-serde-1.0.15") - (sha256 - (base16-string->bytevector - "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799")))) - ("rust-serde_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive" "1.0.15")) - (file-name "rust-serde_derive-1.0.15") - (sha256 - (base16-string->bytevector - "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9")))) - ("rust-serde_derive_internals" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive_internals" "0.16.0")) - (file-name "rust-serde_derive_internals-0.16.0") - (sha256 - (base16-string->bytevector - "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58")))) - ("rust-serde_ignored" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_ignored" "0.0.4")) - (file-name "rust-serde_ignored-0.0.4") - (sha256 - (base16-string->bytevector - "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142")))) - ("rust-serde_json" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_json" "1.0.3")) - (file-name "rust-serde_json-1.0.3") - (sha256 - (base16-string->bytevector - "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac")))) - ("rust-shell-escape" - ,(origin - (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) - (file-name "rust-shell-escape-0.1.3") - (sha256 - (base16-string->bytevector - "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8")))) - ("rust-socket2" - ,(origin - (method url-fetch) - (uri (crate-uri "socket2" "0.2.3")) - (file-name "rust-socket2-0.2.3") - (sha256 - (base16-string->bytevector - "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791")))) - ("rust-strsim" - ,(origin - (method url-fetch) - (uri (crate-uri "strsim" "0.6.0")) - (file-name "rust-strsim-0.6.0") - (sha256 - (base16-string->bytevector - "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694")))) - ("rust-syn" - ,(origin - (method url-fetch) - (uri (crate-uri "syn" "0.11.11")) - (file-name "rust-syn-0.11.11") - (sha256 - (base16-string->bytevector - "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad")))) - ("rust-synom" - ,(origin - (method url-fetch) - (uri (crate-uri "synom" "0.11.3")) - (file-name "rust-synom-0.11.3") - (sha256 - (base16-string->bytevector - "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6")))) - ("rust-tar" - ,(origin - (method url-fetch) - (uri (crate-uri "tar" "0.4.13")) - (file-name "rust-tar-0.4.13") - (sha256 - (base16-string->bytevector - "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b")))) - ("rust-tempdir" - ,(origin - (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) - (file-name "rust-tempdir-0.3.5") - (sha256 - (base16-string->bytevector - "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6")))) - ("rust-termcolor" - ,(origin - (method url-fetch) - (uri (crate-uri "termcolor" "0.3.3")) - (file-name "rust-termcolor-0.3.3") - (sha256 - (base16-string->bytevector - "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75")))) - ("rust-termion" - ,(origin - (method url-fetch) - (uri (crate-uri "termion" "1.5.1")) - (file-name "rust-termion-1.5.1") - (sha256 - (base16-string->bytevector - "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096")))) - ("rust-thread-id" - ,(origin - (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) - (file-name "rust-thread-id-2.0.0") - (sha256 - (base16-string->bytevector - "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03")))) - ("rust-thread_local" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) - (file-name "rust-thread_local-0.2.7") - (sha256 - (base16-string->bytevector - "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5")))) - ("rust-thread_local-0.3.4" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.3.4")) - (file-name "rust-thread_local-0.3.4") - (sha256 - (base16-string->bytevector - "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14")))) - ("rust-toml" - ,(origin - (method url-fetch) - (uri (crate-uri "toml" "0.4.5")) - (file-name "rust-toml-0.4.5") - (sha256 - (base16-string->bytevector - "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e")))) - ("rust-unicode-bidi" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.3.4")) - (file-name "rust-unicode-bidi-0.3.4") - (sha256 - (base16-string->bytevector - "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5")))) - ("rust-unicode-normalization" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.5")) - (file-name "rust-unicode-normalization-0.1.5") - (sha256 - (base16-string->bytevector - "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f")))) - ("rust-unicode-xid" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-xid" "0.0.4")) - (file-name "rust-unicode-xid-0.0.4") - (sha256 - (base16-string->bytevector - "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc")))) - ("rust-unreachable" - ,(origin - (method url-fetch) - (uri (crate-uri "unreachable" "1.0.0")) - (file-name "rust-unreachable-1.0.0") - (sha256 - (base16-string->bytevector - "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56")))) - ("rust-url" - ,(origin - (method url-fetch) - (uri (crate-uri "url" "1.5.1")) - (file-name "rust-url-1.5.1") - (sha256 - (base16-string->bytevector - "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27")))) - ("rust-userenv-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "userenv-sys" "0.2.0")) - (file-name "rust-userenv-sys-0.2.0") - (sha256 - (base16-string->bytevector - "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3")))) - ("rust-utf8-ranges" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) - (file-name "rust-utf8-ranges-0.1.3") - (sha256 - (base16-string->bytevector - "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f")))) - ("rust-utf8-ranges-1.0.0" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "1.0.0")) - (file-name "rust-utf8-ranges-1.0.0") - (sha256 - (base16-string->bytevector - "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122")))) - ("rust-vcpkg" - ,(origin - (method url-fetch) - (uri (crate-uri "vcpkg" "0.2.2")) - (file-name "rust-vcpkg-0.2.2") - (sha256 - (base16-string->bytevector - "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b")))) - ("rust-void" - ,(origin - (method url-fetch) - (uri (crate-uri "void" "1.0.2")) - (file-name "rust-void-1.0.2") - (sha256 - (base16-string->bytevector - "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d")))) - ("rust-walkdir" - ,(origin - (method url-fetch) - (uri (crate-uri "walkdir" "1.0.7")) - (file-name "rust-walkdir-1.0.7") - (sha256 - (base16-string->bytevector - "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff")))) - ("rust-winapi" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) - (file-name "rust-winapi-0.2.8") - (sha256 - (base16-string->bytevector - "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a")))) - ("rust-winapi-build" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) - (file-name "rust-winapi-build-0.1.1") - (sha256 - (base16-string->bytevector - "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc")))) - ("rust-wincolor" - ,(origin - (method url-fetch) - (uri (crate-uri "wincolor" "0.1.4")) - (file-name "rust-wincolor-0.1.4") - (sha256 - (base16-string->bytevector - "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0")))) - ("rust-ws2_32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) - (file-name "rust-ws2_32-sys-0.2.1") - (sha256 - (base16-string->bytevector - "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e")))))) - (arguments - `(#:cargo ,cargo-bootstrap - #:rustc ,rustc ; Force to use rustc from current file - #:modules - ((ice-9 match) - (srfi srfi-1) ; 'every - (guix build utils) - (guix build cargo-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-dependencies - (lambda* (#:key inputs outputs #:allow-other-keys) - (define (unpack source target) - (mkdir-p target) - (with-directory-excursion target - (zero? (system* "tar" "xf" - source - "--strip-components=1")))) - (define (touch file-name) - (call-with-output-file file-name (const #t))) - (define (install-rust-library entry) - (match entry - ((name . src) - (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name rust-length)) - (rsrc (string-append "vendor/" rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) - (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Cargo.lock" - (("(\"checksum .* = )\".*\"" all name) - (string-append name "\"" ,%cargo-reference-hash "\""))) - (for-each - (lambda (filename) - (use-modules (guix build cargo-build-system)) - (delete-file filename) - (let* ((dir (dirname filename))) - (display (string-append - "patch-cargo-checksums: generate-checksums for " - dir "\n")) - (generate-checksums dir ,%cargo-reference-project-file))) - (find-files "vendor" ".cargo-checksum.json")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/build.rs" - (("/usr/bin/env") (which "env")) - ;; Guix llvm compiled without asmjs-unknown-emscripten at all - (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) - (substitute* "tests/death.rs" - ;; Stuck when built in container - (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (port) - (display " -[source.crates-io] -registry = 'https://github.com/rust-lang/crates.io-index' -replace-with = 'vendored-sources' - -[source.vendored-sources] -directory = 'vendor' -" port))) - ;; Disable test for cross compilation support - (setenv "CFG_DISABLE_CROSS_TESTS" "1") - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - #t))))) - (home-page "https://github.com/rust-lang/cargo") - (synopsis "Build tool and package manager for Rust") - (description "Cargo is a tool that allows Rust projects to declare their -dependencies and ensures a reproducible build.") - ;; Cargo is dual licensed Apache and MIT. Also contains - ;; code from openssl which is GPL2 with linking exception. - (license (list license:asl2.0 license:expat license:gpl2)))) +(define-public rust + (let ((base-rust rust-1.23)) + (package + (inherit base-rust) + (version "1.24.1") + (source + (rust-source version + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) `(modify-phases ,phases + (delete 'fix-mtime-bug)))))))) diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index c637fbb162..4a1eb0cfa0 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -43,17 +43,11 @@ to NAME and VERSION." (string-append crate-url name "/" version "/download")) -(define (default-cargo) - "Return the default Cargo package." +(define (default-rust) + "Return the default Rust package." ;; Lazily resolve the binding to avoid a circular dependency. (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'cargo))) - -(define (default-rustc) - "Return the default Rustc package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'rustc))) + (module-ref rust 'rust))) (define %cargo-build-system-modules ;; Build-side modules imported by default. @@ -115,14 +109,13 @@ to NAME and VERSION." (define* (lower name #:key source inputs native-inputs outputs system target - (cargo (default-cargo)) - (rustc (default-rustc)) + (rust (default-rust)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." (define private-keywords - '(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs)) + '(#:source #:target #:rust #:inputs #:native-inputs #:outputs)) (and (not target) ;; TODO: support cross-compilation (bag @@ -136,8 +129,8 @@ to NAME and VERSION." ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("cargo" ,cargo) - ("rustc" ,rustc) + (build-inputs `(("cargo" ,rust "cargo") + ("rustc" ,rust) ,@native-inputs)) (outputs outputs) (build cargo-build) From 183ce9884924794677eefca78cf445ada5551260 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 14:20:20 +0200 Subject: [PATCH 025/245] gnu: Add r-regioner. * gnu/packages/bioconductor.scm (r-regioner): New variable. Signed-off-by: Leo Famulari --- gnu/packages/bioconductor.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f557dce8e5..09581d9fde 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,9 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system r) - #:use-module (gnu packages)) + #:use-module (gnu packages) + #:use-module (gnu packages statistics) + #:use-module (gnu packages bioinformatics)) (define-public r-hpar (package @@ -40,3 +43,30 @@ (description "This package provides a simple interface to and data from the Human Protein Atlas project.") (license license:artistic2.0))) + +(define-public r-regioner + (package + (name "r-regioner") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "regioneR" version)) + (sha256 + (base32 + "1vprp3l929hwzmvgskbhawfgnrymwc9n2rxd16rgagnv1dxnjxfp")))) + (properties `((upstream-name . "regioneR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-memoise" ,r-memoise) + ("r-genomicranges" ,r-genomicranges) + ("r-bsgenome" ,r-bsgenome) + ("r-rtracklayer" ,r-rtracklayer) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-iranges" ,r-iranges))) + (home-page "https://bioconductor.org/packages/regioneR/") + (synopsis "Association analysis of genomic regions") + (description "This package offers a statistical framework based on +customizable permutation tests to assess the association between genomic +region sets and other genomic features.") + (license license:artistic2.0))) From fdc306879b388b08be63ead6209473c184daa1e0 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 29 Mar 2018 14:58:15 +0200 Subject: [PATCH 026/245] gnu: Add delly. * gnu/packages/bioinformatics.scm (delly): New variable. * gnu/packages/patches/delly-use-system-libraries.patch: New file. * gnu/local.mk: Include delly-use-system-libraries.patch. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 47 ++++++++++++++++ .../patches/delly-use-system-libraries.patch | 56 +++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 gnu/packages/patches/delly-use-system-libraries.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0575a2fe32..2705fb37a5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -621,6 +621,7 @@ dist_patch_DATA = \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ + %D%/packages/patches/delly-use-system-libraries.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/diffutils-getopt.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index af515c026e..66d5bd3707 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2030,6 +2030,53 @@ normalized and standardized files, multiple visualizations can be created to identify enrichments with functional annotations of the genome.") (license license:gpl3+))) +(define-public delly + (package + (name "delly") + (version "0.7.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/tobiasrausch/delly/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dkwy3pyxmi6dhh1lpsr3698ri5sslw9qz67hfys0bz8dgrqwabj")) + (patches (search-patches "delly-use-system-libraries.patch")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests to run. + #:make-flags '("PARALLEL=1") ; Allow parallel execution at run-time. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda _ + (let ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (templates (string-append (assoc-ref %outputs "out") + "/share/delly/templates"))) + (mkdir-p bin) + (mkdir-p templates) + (copy-recursively "excludeTemplates" templates) + (install-file "src/cov" bin) + (install-file "src/delly" bin) + (install-file "src/dpe" bin))))))) + (native-inputs + `(("python" ,python-2))) + (inputs + `(("boost" ,boost) + ("htslib" ,htslib) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (home-page "https://github.com/tobiasrausch/delly") + (synopsis "Integrated structural variant prediction method") + (description "Delly is an integrated structural variant prediction method +that can discover and genotype deletions, tandem duplications, inversions and +translocations at single-nucleotide resolution in short-read massively parallel +sequencing data. It uses paired-ends and split-reads to sensitively and +accurately delineate genomic rearrangements throughout the genome.") + (license license:gpl3+))) + (define-public diamond (package (name "diamond") diff --git a/gnu/packages/patches/delly-use-system-libraries.patch b/gnu/packages/patches/delly-use-system-libraries.patch new file mode 100644 index 0000000000..3315c2a176 --- /dev/null +++ b/gnu/packages/patches/delly-use-system-libraries.patch @@ -0,0 +1,56 @@ +--- a/Makefile 2017-04-09 12:48:15.000000000 +0200 ++++ b/Makefile 2017-06-21 14:26:02.749282787 +0200 +@@ -9,8 +9,8 @@ + + # Flags + CXX=g++ +-CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing +-LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time ++CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing ++LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time + + # Additional flags for release/debug + ifeq (${PARALLEL}, 1) +@@ -23,7 +23,7 @@ + ifeq (${STATIC}, 1) + LDFLAGS += -static -static-libgcc -pthread -lhts -lz + else +- LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib ++ LDFLAGS += -lhts -lz + endif + ifeq (${DEBUG}, 1) + CXXFLAGS += -g -O0 -fno-inline -DDEBUG +@@ -41,29 +41,17 @@ + DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp) + + # Targets +-TARGETS = .htslib .bcftools .boost src/delly src/cov src/dpe ++TARGETS = src/delly src/cov src/dpe + + all: $(TARGETS) + +-.htslib: $(HTSLIBSOURCES) +- cd src/htslib && make && make lib-static && cd ../../ && touch .htslib +- +-.bcftools: $(HTSLIBSOURCES) +- cd src/bcftools && make && cd ../../ && touch .bcftools +- +-.boost: $(BOOSTSOURCES) +- cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost +- +-src/delly: .htslib .bcftools .boost $(DELLYSOURCES) +- $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) +- +-src/cov: .htslib .bcftools .boost $(DELLYSOURCES) ++src/cov: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/dpe: .htslib .bcftools .boost $(DELLYSOURCES) ++src/dpe: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + + clean: + cd src/htslib && make clean + cd src/modular-boost && ./b2 --clean-all +- rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost .bcftools ++ rm -f $(TARGETS) $(TARGETS:=.o) From 5ecd2d28d0cd5fd1bb07ef1e196b2149caec2bd8 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 30 Mar 2018 19:56:30 +0200 Subject: [PATCH 027/245] gnu: emacs-org-contrib: Fix build. * gnu/packages/emacs.scm (emacs-org-contrib): Update SHA256. [version]: Add keyword. [arguments]: Use new keyword. --- gnu/packages/emacs.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6f13176609..7f4d978763 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4523,13 +4523,14 @@ reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") + (version "20180327") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-" - (package-version emacs-org) ".tar")) + version ".tar")) (sha256 (base32 - "1nqn7m1x9w5y356ylv5hia6v62pqfz9g3rzjbiffjxyyc34xvpfm")))) + "1y1nn0bxnh9y4a3zrqng8n639j5da5387q2314sr3a8ggy1nb93s")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -4550,8 +4551,7 @@ reproducible research.") string=? contrib-files org+contrib-files))) (with-directory-excursion (string-append - out "/share/emacs/site-lisp/guix.d/org-contrib-" - ,(package-version emacs-org)) + out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version) (for-each delete-file duplicates)) #t)))))) (propagated-inputs From 2d19a7e4f475d55a6706520b75de14b5f3d96209 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 30 Mar 2018 19:57:16 +0200 Subject: [PATCH 028/245] gnu: emacs-org: Change source and naming scheme. * gnu/packages/emacs.scm (emacs-org): Switch back to ELPA. Adopt its naming scheme. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7f4d978763..ab0f9edb55 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4502,14 +4502,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "20180327") + (version "9.1.9") (source (origin (method url-fetch) - (uri (string-append "https://orgmode.org/elpa/org-" + (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0xmlzlxf15996sd3gj3naiz383d17ngjd9963p4h9kssrkjlwljy")))) + "16yr0srfzsrzv2b1f2wjk8gb2pyhsgj2hxbscixirkxqz674c5cl")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") From 28f4d56dd311a3b4c7102394120de05be6937494 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Mar 2018 22:19:27 +0200 Subject: [PATCH 029/245] gnu: ao: Update to 0-2.9d857d1. * gnu/packages/engineering.scm (ao): Rename... (libfive): ...to this new variable; update to 0-2.9d857d1. [inputs]: Remove glfw, libepoxy, glm, guile-2.0; add qtbase, guile-2.2. [home-page]: Use new libfive home page. [description]: Adjust. (ao): Redefine using 'deprecated-package'. --- gnu/packages/engineering.scm | 92 ++++++++---------------------------- 1 file changed, 19 insertions(+), 73 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 4d45aab772..ae9374a59f 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -566,42 +566,24 @@ image, etc. Besides viewing Gerbers, you may also view Excellon drill files as well as pick-place files.") (license license:gpl2+))) -(define-public ao - (let ((commit "fb288c945aa7e30d9be10a564edad7e1b6a6c1ae") - (revision "1")) +(define-public libfive + (let ((commit "9d857d1923abecb0e5935b9287d22661f6efaac5") + (revision "2")) (package - (name "ao-cad") ;XXX: really "ao", but it collides with libao + (name "libfive") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mkeeter/ao") + (url "https://github.com/libfive/libfive") (commit commit))) (sha256 (base32 - "0syplfqiq7ng7md44yriq5cz41jp8q9z3pl2iwkkllds6p9ylyal")) - (file-name (git-file-name name version)) - (patches (search-patches "ao-cad-aarch64-support.patch")) - (modules '((guix build utils))) - (snippet - ;; Remove bundled libraries: Eigen, glm, and catch. TODO: - ;; Unbundle efsw . - '(begin - (delete-file-recursively "vendor") - - ;; Use #include . - (substitute* (find-files "." "\\.[ch]pp$") - (("catch/catch\\.hpp") - "catch.hpp")))))) + "1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(;; Have the RUNPATH of libao.so point to $libdir, where libefsw.so - ;; lives. - #:configure-flags (list (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" - "-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")) - + `(#:tests? #f ; no "test" target #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-native-compilation @@ -615,64 +597,28 @@ as well as pick-place files.") (setenv "CPLUS_INCLUDE_PATH" (string-append eigen "/include/eigen3:" (getenv "CPLUS_INCLUDE_PATH"))) - #t))) - (add-after 'install 'install-guile-bindings - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Install the Guile bindings (the build system only installs - ;; libao.so.) - (let* ((out (assoc-ref outputs "out")) - (moddir (string-append out "/share/guile/site/2.0"))) - (install-file "bind/libao.so" - (string-append out "/lib")) - - ;; Go to the source directory. - (with-directory-excursion ,(string-append "../" - name "-" version - "-checkout") - (substitute* "bind/guile/ao/sys/libao.scm" - (("\\(define libao \\(dynamic-link .*$") - (string-append "(define libao (dynamic-link \"" - out "/lib/libao\")) ;"))) - - (copy-recursively "bind/guile/ao" (string-append moddir "/ao")) - - (substitute* "bin/ao-guile" - (("\\(add-to-load-path .*") - (string-append "(add-to-load-path \"" moddir "\")"))) - - (install-file "bin/ao-guile" - (string-append out "/bin")) - - ;; Allow Ao to dlopen the relevant GL libraries. Otherwise - ;; it fails with: - ;; Couldn't find current GLX or EGL context. - (let ((mesa (assoc-ref inputs "mesa"))) - (wrap-program (string-append out "/bin/ao-guile") - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append mesa "/lib"))))) - #t))))))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) ("catch" ,catch-framework) ("libpng" ,libpng) - ("glfw" ,glfw) - ("libepoxy" ,libepoxy) - ("mesa" ,mesa) + ("qtbase" ,qtbase) ("eigen" ,eigen) - ("glm" ,glm) - ("guile" ,guile-2.0))) - (home-page "http://www.mattkeeter.com/projects/ao/") + ("guile" ,guile-2.2))) + (home-page "https://libfive.com") (synopsis "Tool for programmatic computer-aided design") (description - "Ao is a tool for programmatic computer-aided design (CAD). In Ao, -solid models are defined as Scheme scripts, and there are no opaque function -calls into the geometry kernel: everything is visible to the user. Even -fundamental, primitive shapes are represented as code in the user-level + "Libfive is a tool for programmatic computer-aided design (CAD). In +libfive, solid models are defined as Scheme scripts, and there are no opaque +function calls into the geometry kernel: everything is visible to the user. +Even fundamental, primitive shapes are represented as code in the user-level language.") (license (list license:lgpl2.1+ ;library - license:gpl2+))))) ;Guile bindings + license:gpl2+))))) ;Guile bindings and GUI + +(deprecated-package "ao-cad" libfive) ;; We use kicad from a git commit, because support for boost 1.61.0 has been ;; recently added. From 4bd8a9d8e288c96d69c92cd20d59d9729e73d988 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Mar 2018 22:54:51 +0200 Subject: [PATCH 030/245] gnu: Define ao. This is a follow-up to commit 28f4d56dd311a3b4c7102394120de05be6937494. * gnu/packages/engineering.scm (ao): Restore variable definition. --- gnu/packages/engineering.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ae9374a59f..1113cafec8 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -618,7 +618,8 @@ language.") (license (list license:lgpl2.1+ ;library license:gpl2+))))) ;Guile bindings and GUI -(deprecated-package "ao-cad" libfive) +(define-public ao + (deprecated-package "ao-cad" libfive)) ;; We use kicad from a git commit, because support for boost 1.61.0 has been ;; recently added. From a7baa201cb4ef934711132100140107563c26117 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 30 Mar 2018 23:21:56 +0200 Subject: [PATCH 031/245] gnu: Update php to 7.2.4. * gnu/packages/php.scm (php): Update to 7.2.4. --- gnu/packages/php.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index f3f279a533..ca0ea4a384 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "7.2.3") + (version "7.2.4") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk")) + "123s0lbyz4fxr3kk91r4v658mk899dym36lggxnx9pwd2jyv25kr")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" From 619d7bffa0b7a01cfcd2fe91db635f76a53e3af1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 30 Mar 2018 17:31:15 -0400 Subject: [PATCH 032/245] gnu: linux-libre@4.1: Update to 4.1.51. * gnu/packages/linux.scm (linux-libre-4.1): Update to 4.1.51. --- 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 fae2316746..d0db948133 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -414,8 +414,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.50" - "1hl1pk724v2waa55bhxfmxyz9nl6pkcj4dc3l80jfvqdfgr55mm2" + (make-linux-libre "4.1.51" + "0l8lpwjpckp44hjyx5qrxqdwwi97gyyc1n6pmk66cr3fpdhnk540" %intel-compatible-systems #:configuration-file kernel-config)) From e67512df40d223ed4b8a584ff94f60ca4be140ae Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 30 Mar 2018 17:32:02 -0400 Subject: [PATCH 033/245] gnu: linux-libre@4.4: Update to 4.4.125. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.125. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d0db948133..d1d523fff0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.124" - "1368x0wki8zhk0hwz36hrkp2lr2kbm9i0fwzws201h3y85mldgh4" + (make-linux-libre "4.4.125" + "0xjw1ahfvi2b4m29id6sd3qh60rghkcf34nsydvrvnl4r6blblkv" %intel-compatible-systems #:configuration-file kernel-config)) From ce484f1e090beb7aeed0b7e6f67ba33d20a7f4e9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 30 Mar 2018 17:32:35 -0400 Subject: [PATCH 034/245] gnu: linux-libre@4.9: Update to 4.9.91. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.91. --- 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 d1d523fff0..dfd13d3189 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.90" - "0mzy6wcxp9m9icb8mvsbywp1lrbvbv6n8rs3xszqm43dxy9zj1jd" + (make-linux-libre "4.9.91" + "12ap0wh70ms5ja98zbkscdc1sm4khdlaakric9jpl054fgl2cwv6" %intel-compatible-systems #:configuration-file kernel-config)) From cd3a0bcd1d2c31cc1baa87193da842ad24b71562 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 30 Mar 2018 17:33:09 -0400 Subject: [PATCH 035/245] gnu: linux-libre@4.14: Update to 4.14.31. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.31. (%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 dfd13d3189..f6941b7760 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.30") -(define %linux-libre-4.14-hash "1j1vnr4397y4js7i24jdpfq85mc50b7kjz7gz1bbbrmda6cflwig") +(define %linux-libre-4.14-version "4.14.31") +(define %linux-libre-4.14-hash "0w2hddfjz0i8fcnz016rn7d4pjvmmy20aavfq42jf1z2j8yifgx1") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From dffd077c59e0faf8200422572b7d3aab611f0348 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 30 Mar 2018 17:33:55 -0400 Subject: [PATCH 036/245] gnu: linux-libre: Update to 4.15.14. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.14. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f6941b7760..6ec29fa8eb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.13") -(define %linux-libre-hash "1z9f3m44n5w9ayad08h6nvx4nihc28h2jplk4jvyaj0460v8d11f") +(define %linux-libre-version "4.15.14") +(define %linux-libre-hash "1936bzfz08r55ajkd7nf439a4jcvvs98bfd67c0p7phwfjx45q22") (define-public linux-libre (make-linux-libre %linux-libre-version From c7589cce8d3f9fcb7769e424f341dba8fb3545d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 29 Mar 2018 16:56:00 +0200 Subject: [PATCH 037/245] daemon: Remove dead code. * nix/libstore/globals.cc (Settings::loadConfFile, Settings::unpack): Remove. * nix/libstore/globals.hh: Adjust accordingly. * nix/libstore/misc.cc (queryMissing): Remove. * nix/libstore/misc.hh: Adjust accordingly. * nix/libstore/store-api.cc (followLinksToStore) (followLinksToStorePath, computeStorePathForHash): Remove. * nix/libstore/store-api.hh: Adjust accordingly. --- nix/libstore/globals.cc | 44 --------------- nix/libstore/globals.hh | 4 -- nix/libstore/misc.cc | 114 -------------------------------------- nix/libstore/misc.hh | 7 --- nix/libstore/store-api.cc | 31 ----------- nix/libstore/store-api.hh | 17 ------ 6 files changed, 217 deletions(-) diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 4ab6c3a0f9..fcafac2df6 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -78,39 +78,6 @@ void Settings::processEnvironment() } -void Settings::loadConfFile() -{ - Path settingsFile = (format("%1%/%2%") % nixConfDir % "nix.conf").str(); - if (!pathExists(settingsFile)) return; - string contents = readFile(settingsFile); - - unsigned int pos = 0; - - while (pos < contents.size()) { - string line; - while (pos < contents.size() && contents[pos] != '\n') - line += contents[pos++]; - pos++; - - string::size_type hash = line.find('#'); - if (hash != string::npos) - line = string(line, 0, hash); - - vector tokens = tokenizeString >(line); - if (tokens.empty()) continue; - - if (tokens.size() < 2 || tokens[1] != "=") - throw Error(format("illegal configuration line `%1%' in `%2%'") % line % settingsFile); - - string name = tokens[0]; - - vector::iterator i = tokens.begin(); - advance(i, 2); - settings[name] = concatStringsSep(" ", Strings(i, tokens.end())); // FIXME: slow - }; -} - - void Settings::set(const string & name, const string & value) { settings[name] = value; @@ -256,17 +223,6 @@ string Settings::pack() } -void Settings::unpack(const string & pack) { - Strings lines = tokenizeString(pack, "\n"); - foreach (Strings::iterator, i, lines) { - string::size_type eq = i->find('='); - if (eq == string::npos) - throw Error("illegal option name/value"); - set(i->substr(0, eq), i->substr(eq + 1)); - } -} - - Settings::SettingsMap Settings::getOverrides() { return overrides; diff --git a/nix/libstore/globals.hh b/nix/libstore/globals.hh index 2439936959..1293625e1f 100644 --- a/nix/libstore/globals.hh +++ b/nix/libstore/globals.hh @@ -26,8 +26,6 @@ struct Settings { void processEnvironment(); - void loadConfFile(); - void set(const string & name, const string & value); string get(const string & name, const string & def); @@ -42,8 +40,6 @@ struct Settings { string pack(); - void unpack(const string & pack); - SettingsMap getOverrides(); /* The directory where we store sources and derived files. */ diff --git a/nix/libstore/misc.cc b/nix/libstore/misc.cc index 22363af126..97618089bd 100644 --- a/nix/libstore/misc.cc +++ b/nix/libstore/misc.cc @@ -67,120 +67,6 @@ Path findOutput(const Derivation & drv, string id) } -void queryMissing(StoreAPI & store, const PathSet & targets, - PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown, - unsigned long long & downloadSize, unsigned long long & narSize) -{ - downloadSize = narSize = 0; - - PathSet todo(targets.begin(), targets.end()), done; - - /* Getting substitute info has high latency when using the binary - cache substituter. Thus it's essential to do substitute - queries in parallel as much as possible. To accomplish this - we do the following: - - - For all paths still to be processed (‘todo’), we add all - paths for which we need info to the set ‘query’. For an - unbuilt derivation this is the output paths; otherwise, it's - the path itself. - - - We get info about all paths in ‘query’ in parallel. - - - We process the results and add new items to ‘todo’ if - necessary. E.g. if a path is substitutable, then we need to - get info on its references. - - - Repeat until ‘todo’ is empty. - */ - - while (!todo.empty()) { - - PathSet query, todoDrv, todoNonDrv; - - foreach (PathSet::iterator, i, todo) { - if (done.find(*i) != done.end()) continue; - done.insert(*i); - - DrvPathWithOutputs i2 = parseDrvPathWithOutputs(*i); - - if (isDerivation(i2.first)) { - if (!store.isValidPath(i2.first)) { - // FIXME: we could try to substitute p. - unknown.insert(*i); - continue; - } - Derivation drv = derivationFromPath(store, i2.first); - - PathSet invalid; - foreach (DerivationOutputs::iterator, j, drv.outputs) - if (wantOutput(j->first, i2.second) - && !store.isValidPath(j->second.path)) - invalid.insert(j->second.path); - if (invalid.empty()) continue; - - todoDrv.insert(*i); - if (settings.useSubstitutes && substitutesAllowed(drv)) - query.insert(invalid.begin(), invalid.end()); - } - - else { - if (store.isValidPath(*i)) continue; - query.insert(*i); - todoNonDrv.insert(*i); - } - } - - todo.clear(); - - SubstitutablePathInfos infos; - store.querySubstitutablePathInfos(query, infos); - - foreach (PathSet::iterator, i, todoDrv) { - DrvPathWithOutputs i2 = parseDrvPathWithOutputs(*i); - - // FIXME: cache this - Derivation drv = derivationFromPath(store, i2.first); - - PathSet outputs; - bool mustBuild = false; - if (settings.useSubstitutes && substitutesAllowed(drv)) { - foreach (DerivationOutputs::iterator, j, drv.outputs) { - if (!wantOutput(j->first, i2.second)) continue; - if (!store.isValidPath(j->second.path)) { - if (infos.find(j->second.path) == infos.end()) - mustBuild = true; - else - outputs.insert(j->second.path); - } - } - } else - mustBuild = true; - - if (mustBuild) { - willBuild.insert(i2.first); - todo.insert(drv.inputSrcs.begin(), drv.inputSrcs.end()); - foreach (DerivationInputs::iterator, j, drv.inputDrvs) - todo.insert(makeDrvPathWithOutputs(j->first, j->second)); - } else - todoNonDrv.insert(outputs.begin(), outputs.end()); - } - - foreach (PathSet::iterator, i, todoNonDrv) { - done.insert(*i); - SubstitutablePathInfos::iterator info = infos.find(*i); - if (info != infos.end()) { - willSubstitute.insert(*i); - downloadSize += info->second.downloadSize; - narSize += info->second.narSize; - todo.insert(info->second.references.begin(), info->second.references.end()); - } else - unknown.insert(*i); - } - } -} - - static void dfsVisit(StoreAPI & store, const PathSet & paths, const Path & path, PathSet & visited, Paths & sorted, PathSet & parents) diff --git a/nix/libstore/misc.hh b/nix/libstore/misc.hh index d3e31d51f7..edbf24047e 100644 --- a/nix/libstore/misc.hh +++ b/nix/libstore/misc.hh @@ -25,13 +25,6 @@ void computeFSClosure(StoreAPI & store, const Path & path, given derivation. */ Path findOutput(const Derivation & drv, string id); -/* Given a set of paths that are to be built, return the set of - derivations that will be built, and the set of output paths that - will be substituted. */ -void queryMissing(StoreAPI & store, const PathSet & targets, - PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown, - unsigned long long & downloadSize, unsigned long long & narSize); - bool willBuildLocally(const Derivation & drv); bool substitutesAllowed(const Derivation & drv); diff --git a/nix/libstore/store-api.cc b/nix/libstore/store-api.cc index 30af5f5fed..6742d2ed49 100644 --- a/nix/libstore/store-api.cc +++ b/nix/libstore/store-api.cc @@ -48,26 +48,6 @@ Path toStorePath(const Path & path) } -Path followLinksToStore(const Path & _path) -{ - Path path = absPath(_path); - while (!isInStore(path)) { - if (!isLink(path)) break; - string target = readLink(path); - path = absPath(target, dirOf(path)); - } - if (!isInStore(path)) - throw Error(format("path `%1%' is not in the Nix store") % path); - return path; -} - - -Path followLinksToStorePath(const Path & path) -{ - return toStorePath(followLinksToStore(path)); -} - - string storePathToName(const Path & path) { assertStorePath(path); @@ -200,17 +180,6 @@ Path makeFixedOutputPath(bool recursive, } -std::pair computeStorePathForPath(const Path & srcPath, - bool recursive, HashType hashAlgo, PathFilter & filter) -{ - HashType ht(hashAlgo); - Hash h = recursive ? hashPath(ht, srcPath, filter).first : hashFile(ht, srcPath); - string name = baseNameOf(srcPath); - Path dstPath = makeFixedOutputPath(recursive, hashAlgo, h, name); - return std::pair(dstPath, h); -} - - Path computeStorePathForText(const string & name, const string & s, const PathSet & references) { diff --git a/nix/libstore/store-api.hh b/nix/libstore/store-api.hh index fa78d595f2..e957cedebc 100644 --- a/nix/libstore/store-api.hh +++ b/nix/libstore/store-api.hh @@ -311,15 +311,6 @@ void checkStoreName(const string & name); Path toStorePath(const Path & path); -/* Follow symlinks until we end up with a path in the Nix store. */ -Path followLinksToStore(const Path & path); - - -/* Same as followLinksToStore(), but apply toStorePath() to the - result. */ -Path followLinksToStorePath(const Path & path); - - /* Constructs a unique store path name. */ Path makeStorePath(const string & type, const Hash & hash, const string & name); @@ -331,14 +322,6 @@ Path makeFixedOutputPath(bool recursive, HashType hashAlgo, Hash hash, string name); -/* This is the preparatory part of addToStore() and addToStoreFixed(); - it computes the store path to which srcPath is to be copied. - Returns the store path and the cryptographic hash of the - contents of srcPath. */ -std::pair computeStorePathForPath(const Path & srcPath, - bool recursive = true, HashType hashAlgo = htSHA256, - PathFilter & filter = defaultPathFilter); - /* Preparatory part of addTextToStore(). !!! Computation of the path should take the references given to From 602a148650809da3c2356e4429f4b8160a72843b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 29 Mar 2018 17:05:45 +0200 Subject: [PATCH 038/245] daemon: Remove unused schema upgrade code. * nix/libstore/local-store.cc (LocalStore): Remove upgrade code. (LocalStore::queryValidPathsOld, LocalStore::queryPathInfoOld) (LocalStore::upgradeStore6, makeMutable) (LocalStore::upgardeStore7): Remove. * nix/libstore/local-store.hh: Adjust accordingly. --- nix/libstore/local-store.cc | 159 +----------------------------------- nix/libstore/local-store.hh | 7 +- 2 files changed, 5 insertions(+), 161 deletions(-) diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc index 882bce1f40..4c55c6ea0d 100644 --- a/nix/libstore/local-store.cc +++ b/nix/libstore/local-store.cc @@ -171,27 +171,10 @@ LocalStore::LocalStore(bool reserveSpace) } else if (curSchema < nixSchemaVersion) { - if (curSchema < 5) - throw Error( - "Your Nix store has a database in Berkeley DB format,\n" - "which is no longer supported. To convert to the new format,\n" - "please upgrade Nix to version 0.12 first."); - - if (!lockFile(globalLock, ltWrite, false)) { - printMsg(lvlError, "waiting for exclusive access to the Nix store..."); - lockFile(globalLock, ltWrite, true); - } - - /* Get the schema version again, because another process may - have performed the upgrade already. */ - curSchema = getSchema(); - - if (curSchema < 6) upgradeStore6(); - else if (curSchema < 7) { upgradeStore7(); openDB(true); } - - writeFile(schemaPath, (format("%1%") % nixSchemaVersion).str()); - - lockFile(globalLock, ltRead, true); + /* Guix always used version 7 of the schema. */ + throw Error( + format("Your store database uses an implausibly old schema, version %1%.") + % curSchema); } else openDB(false); @@ -1633,140 +1616,6 @@ void LocalStore::markContentsGood(const Path & path) } -/* Functions for upgrading from the pre-SQLite database. */ - -PathSet LocalStore::queryValidPathsOld() -{ - PathSet paths; - for (auto & i : readDirectory(settings.nixDBPath + "/info")) - if (i.name.at(0) != '.') paths.insert(settings.nixStore + "/" + i.name); - return paths; -} - - -ValidPathInfo LocalStore::queryPathInfoOld(const Path & path) -{ - ValidPathInfo res; - res.path = path; - - /* Read the info file. */ - string baseName = baseNameOf(path); - Path infoFile = (format("%1%/info/%2%") % settings.nixDBPath % baseName).str(); - if (!pathExists(infoFile)) - throw Error(format("path `%1%' is not valid") % path); - string info = readFile(infoFile); - - /* Parse it. */ - Strings lines = tokenizeString(info, "\n"); - - foreach (Strings::iterator, i, lines) { - string::size_type p = i->find(':'); - if (p == string::npos) - throw Error(format("corrupt line in `%1%': %2%") % infoFile % *i); - string name(*i, 0, p); - string value(*i, p + 2); - if (name == "References") { - Strings refs = tokenizeString(value, " "); - res.references = PathSet(refs.begin(), refs.end()); - } else if (name == "Deriver") { - res.deriver = value; - } else if (name == "Hash") { - res.hash = parseHashField(path, value); - } else if (name == "Registered-At") { - int n = 0; - string2Int(value, n); - res.registrationTime = n; - } - } - - return res; -} - - -/* Upgrade from schema 5 (Nix 0.12) to schema 6 (Nix >= 0.15). */ -void LocalStore::upgradeStore6() -{ - printMsg(lvlError, "upgrading Nix store to new schema (this may take a while)..."); - - openDB(true); - - PathSet validPaths = queryValidPathsOld(); - - SQLiteTxn txn(db); - - foreach (PathSet::iterator, i, validPaths) { - addValidPath(queryPathInfoOld(*i), false); - std::cerr << "."; - } - - std::cerr << "|"; - - foreach (PathSet::iterator, i, validPaths) { - ValidPathInfo info = queryPathInfoOld(*i); - unsigned long long referrer = queryValidPathId(*i); - foreach (PathSet::iterator, j, info.references) - addReference(referrer, queryValidPathId(*j)); - std::cerr << "."; - } - - std::cerr << "\n"; - - txn.commit(); -} - - -#if defined(FS_IOC_SETFLAGS) && defined(FS_IOC_GETFLAGS) && defined(FS_IMMUTABLE_FL) - -static void makeMutable(const Path & path) -{ - checkInterrupt(); - - struct stat st = lstat(path); - - if (!S_ISDIR(st.st_mode) && !S_ISREG(st.st_mode)) return; - - if (S_ISDIR(st.st_mode)) { - for (auto & i : readDirectory(path)) - makeMutable(path + "/" + i.name); - } - - /* The O_NOFOLLOW is important to prevent us from changing the - mutable bit on the target of a symlink (which would be a - security hole). */ - AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_NOFOLLOW); - if (fd == -1) { - if (errno == ELOOP) return; // it's a symlink - throw SysError(format("opening file `%1%'") % path); - } - - unsigned int flags = 0, old; - - /* Silently ignore errors getting/setting the immutable flag so - that we work correctly on filesystems that don't support it. */ - if (ioctl(fd, FS_IOC_GETFLAGS, &flags)) return; - old = flags; - flags &= ~FS_IMMUTABLE_FL; - if (old == flags) return; - if (ioctl(fd, FS_IOC_SETFLAGS, &flags)) return; -} - -/* Upgrade from schema 6 (Nix 0.15) to schema 7 (Nix >= 1.3). */ -void LocalStore::upgradeStore7() -{ - if (getuid() != 0) return; - printMsg(lvlError, "removing immutable bits from the Nix store (this may take a while)..."); - makeMutable(settings.nixStore); -} - -#else - -void LocalStore::upgradeStore7() -{ -} - -#endif - - void LocalStore::vacuumDB() { if (sqlite3_exec(db, "vacuum;", 0, 0, 0) != SQLITE_OK) diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh index 6110468498..4e6b4cfc1d 100644 --- a/nix/libstore/local-store.hh +++ b/nix/libstore/local-store.hh @@ -15,7 +15,7 @@ namespace nix { /* Nix store and database schema version. Version 1 (or 0) was Nix <= 0.7. Version 2 was Nix 0.8 and 0.9. Version 3 is Nix 0.10. Version 4 is Nix 0.11. Version 5 is Nix 0.12-0.16. Version 6 is - Nix 1.0. Version 7 is Nix 1.3. */ + Nix 1.0. Version 7 is Nix 1.3. Guix has always used version 7. */ const int nixSchemaVersion = 7; @@ -244,11 +244,6 @@ private: void updatePathInfo(const ValidPathInfo & info); - void upgradeStore6(); - void upgradeStore7(); - PathSet queryValidPathsOld(); - ValidPathInfo queryPathInfoOld(const Path & path); - struct GCState; void deleteGarbage(GCState & state, const Path & path); From abc4a3325ecd666f9fa9f7ddccc1793e9fa30d6d Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 30 Mar 2018 13:18:25 +0530 Subject: [PATCH 039/245] gnu: Add pinentry-emacs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnupg.scm (pinentry-emacs): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/gnupg.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c561c14ca7..a938c46167 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages crypto) + #:use-module (gnu packages emacs) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -738,6 +739,16 @@ including tools for signing keys, keyring analysis, and party preparation. (ftp-directory . "/gcrypt/pinentry") (upstream-name . "pinentry"))))) +(define-public pinentry-emacs + (package + (inherit pinentry-tty) + (name "pinentry-emacs") + (arguments + `(#:configure-flags '("--enable-pinentry-emacs"))) + (description + "Pinentry provides a console and an Emacs interface that allows users to +enter a passphrase when required by @code{gpg} or other software."))) + (define-public pinentry-gtk2 (package (inherit pinentry-tty) From f5fa1bdc1a90a6bcec82f81137d1a27cce07dd77 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Fri, 30 Mar 2018 20:42:47 +0000 Subject: [PATCH 040/245] gnu: python-pycanberra: Update to new upstream location. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libcanberra (python-pycanberra)[source]: Use new URL. [home-page]: Change to new URL. Signed-off-by: Nils Gillmann Signed-off-by: Ludovic Courtès --- gnu/packages/libcanberra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index e1812c578c..e7f4195ed4 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -139,7 +139,7 @@ sounds for various system events.") (source (origin (method url-fetch) - (uri (string-append "https://files.crash.cx/releases/" + (uri (string-append "http://ftp.n0.is/pub/releases/" "pycanberra-" version ".tar.xz")) (sha256 (base32 @@ -152,5 +152,5 @@ sounds for various system events.") (synopsis "Ctypes wrapper for the libcanberra API") (description "Pycanberra is a basic Python wrapper for libcanberra.") - (home-page "https://code.crash.cx/pycanberra/log.html") + (home-page "http://c.n0.is/ng0/pycanberra/") (license lgpl2.1+))) From 5125b3d5b0dc507942332d97d63fbaa4c6741323 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 31 Mar 2018 09:10:10 +0200 Subject: [PATCH 041/245] gnu: wine-staging-patchset-data: Update to 3.5. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 3.5. --- gnu/packages/wine.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 8496eb3365..b887bc2d6b 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -221,7 +221,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.4") + (version "3.5") (source (origin (method url-fetch) @@ -230,7 +230,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "00yzh9bqs2rjgvk78xv3gfkbv4f2bkch9vb1ii4xh883f7wvkz93")))) + "1d95gzzfx87vvj85mrzv2lgg6w0m917dccja02g6vids28kf9g30")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) From 2ac9f2a2b32faab6c101729b3bc8a7088ddd55e4 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 31 Mar 2018 09:10:45 +0200 Subject: [PATCH 042/245] gnu: wine-staging: Update to 3.5. * gnu/packages/wine.scm (wine-staging): Update to 3.5. --- 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 b887bc2d6b..c4a30e20ea 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -276,7 +276,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "14wf7536rkmhav9ibbvhqqkfqmbk1dckhd2679i5scizr5x290x4")))) + "0hr1syfhnpvcm84gmms1i26k68hakcgw4m6dvckmbbvw7ca0c8pl")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) From 62d1105c8844831334378b4c4e26135ee3e74a66 Mon Sep 17 00:00:00 2001 From: Sohom Bhattacharjee Date: Sat, 31 Mar 2018 20:20:49 +0530 Subject: [PATCH 043/245] gnu: Add emacs-anzu. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-anzu): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ab0f9edb55..ce9b1a66ac 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mike Gerwitz ;;; Copyright © 2017, 2018 Maxim Cournoyer +;;; Copyright © 2018 Sohom Bhattacharjee ;;; ;;; This file is part of GNU Guix. ;;; @@ -7414,3 +7415,24 @@ the same values you get in a terminal.") "Deft is an Emacs mode for quickly browsing, filtering, and editing directories of plain text notes, inspired by Notational Velocity.") (license license:bsd-3))) + +(define-public emacs-anzu + (package + (name "emacs-anzu") + (version "0.62") + (source + (origin + (method url-fetch) + (uri (string-append "http://stable.melpa.org/packages/anzu-" + version ".el")) + (sha256 + (base32 + "1h3p1x2h2830n83dzvkh8p2892n34a95x7aavhi10p7vfjk406fd")))) + (build-system emacs-build-system) + (home-page "https://github.com/syohex/emacs-anzu") + (synopsis "Show number of matches in mode-line while searching") + (description + "Anzu provides a minor mode which displays \"current match/total +matches\" in the mode line in various search modes. This is an Emacs port of +Anzu.zim.") + (license license:gpl3+))) From d6e559ab291b781a67376beabbb5fa666fcd309c Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:39 +0000 Subject: [PATCH 044/245] gnu: ghc-chunked-data: Update inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-chunked-data)[inputs]: Add ghc-text. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1ee92b218e..6891703c19 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8302,7 +8302,8 @@ and regression and autocorrelation analysis. "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1")))) (build-system haskell-build-system) (inputs `(("ghc-vector" ,ghc-vector) - ("ghc-semigroups" ,ghc-semigroups))) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-text" ,ghc-text))) (home-page "https://github.com/snoyberg/mono-traversable") (synopsis "Typeclasses for dealing with various chunked data representations for Haskell") From bb87be09a972c41bc4c0c8b5758b2abac2312750 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:40 +0000 Subject: [PATCH 045/245] gnu: Add ghc-stm-chans. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-stm-chans): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6891703c19..61ee78e42f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8864,4 +8864,26 @@ Foundation has the following goals: @end enumerate\n") (license license:bsd-3))) +(define-public ghc-stm-chans + (package + (name "ghc-stm-chans") + (version "3.0.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "stm-chans-" version "/" + "stm-chans-" version ".tar.gz")) + (sha256 + (base32 + "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13")))) + (build-system haskell-build-system) + (inputs `(("ghc-stm" ,ghc-stm))) + (home-page "https://hackage.haskell.org/package/stm-chans") + (synopsis "Additional types of channels for ghc-stm") + (description "This Haskell package offers a collection of channel types, +similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional +features.") + (license license:bsd-3))) + ;;; haskell.scm ends here From fddb41f22bdb5d72e6d914461204fb22b998c328 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:41 +0000 Subject: [PATCH 046/245] gnu: Add ghc-monad-loops. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-monad-loops): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 61ee78e42f..ac88acac0a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8886,4 +8886,26 @@ similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional features.") (license license:bsd-3))) +(define-public ghc-monad-loops + (package + (name "ghc-monad-loops") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "monad-loops-" version "/" + "monad-loops-" version ".tar.gz")) + (sha256 + (base32 + "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky")))) + (build-system haskell-build-system) + (native-inputs `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit))) + (home-page "https://github.com/mokus0/monad-loops") + (synopsis "Monadic loops for Haskell") + (description "This Haskell package provides some useful control +operators for looping.") + (license license:public-domain))) + ;;; haskell.scm ends here From fe9b5eff7be2afbafa1e8442a05b957fe4d90046 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:42 +0000 Subject: [PATCH 047/245] gnu: Add ghc-monad-logger. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-monad-logger): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index ac88acac0a..3f58466942 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8908,4 +8908,42 @@ features.") operators for looping.") (license license:public-domain))) +(define-public ghc-monad-logger + (package + (name "ghc-monad-logger") + (version "0.3.25.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "monad-logger-" version "/" + "monad-logger-" version ".tar.gz")) + (sha256 + (base32 + "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920")))) + (build-system haskell-build-system) + (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-text" ,ghc-text) + ("ghc-stm" ,ghc-stm) + ("ghc-stm-chans" ,ghc-stm-chans) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-conduit" ,ghc-conduit) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-monad-loops" ,ghc-monad-loops) + ("ghc-mtl" ,ghc-mtl) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-exceptions" ,ghc-exceptions))) + (home-page "https://github.com/kazu-yamamoto/logger") + (synopsis "Provides a class of monads which can log messages for Haskell") + (description "This Haskell package uses a monad transformer approach +for logging. + +This package provides Template Haskell functions for determining source +code locations of messages.") + (license license:expat))) + ;;; haskell.scm ends here From b2b4575dca7582e40ad7819465a91d7834c81e92 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:43 +0000 Subject: [PATCH 048/245] gnu: Add ghc-shakespeare. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-shakespeare): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3f58466942..523dc24c34 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8946,4 +8946,38 @@ This package provides Template Haskell functions for determining source code locations of messages.") (license license:expat))) +(define-public ghc-shakespeare + (package + (name "ghc-shakespeare") + (version "2.0.14") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "shakespeare-" version "/" + "shakespeare-" version ".tar.gz")) + (sha256 + (base32 + "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4")))) + (build-system haskell-build-system) + (inputs `(("ghc-parsec" ,ghc-parsec) + ("ghc-text" ,ghc-text) + ("ghc-aeson" ,ghc-aeson) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-vector" ,ghc-vector) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-scientific" ,ghc-scientific))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit) + ("hspec-discover" ,hspec-discover))) + (home-page "https://www.yesodweb.com/book/shakespearean-templates") + (synopsis "Family of type-safe template languages for Haskell") + (description "This Haskell package provides a family of type-safe +templates with simple variable interpolation. Shakespeare templates can +be used inline with a quasi-quoter or in an external file and it +interpolates variables according to the type being inserted.") + (license license:expat))) + ;;; haskell.scm ends here From 448d6226e35dbeaed58a4a0145cc7b539ed6e0b4 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:44 +0000 Subject: [PATCH 049/245] gnu: Add ghc-path-pieces. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-path-pieces): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 1190bc63a5..edfb43c085 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -901,3 +901,27 @@ of a JSON value into a @code{Data.Aeson.Value}.") (synopsis "Unicode aware uri-encoding") (description "Unicode aware uri-encoding for Haskell.") (license license:bsd-3))) + +(define-public ghc-path-pieces + (package + (name "ghc-path-pieces") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "path-pieces-" version "/" + "path-pieces-" version ".tar.gz")) + (sha256 + (base32 + "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8")))) + (build-system haskell-build-system) + (inputs `(("ghc-text" ,ghc-text))) + (native-inputs `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/yesodweb/path-pieces") + (synopsis "Used in Yesod to automatically marshall data in the request path") + (description "This Haskell package provides two typeclasses for converting +Haskell data types to and from route pieces.") + (license license:bsd-3))) From 122260b390c13e21128ef7312f9c64357f947da7 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:45 +0000 Subject: [PATCH 050/245] gnu: Add ghc-skein. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-skein): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index edfb43c085..04d4bd24cd 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -925,3 +925,31 @@ of a JSON value into a @code{Data.Aeson.Value}.") (description "This Haskell package provides two typeclasses for converting Haskell data types to and from route pieces.") (license license:bsd-3))) + +(define-public ghc-skein + (package + (name "ghc-skein") + (version "1.0.9.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "skein-" version "/" + "skein-" version ".tar.gz")) + (sha256 + (base32 + "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq")))) + (build-system haskell-build-system) + (inputs `(("ghc-cereal" ,ghc-cereal) + ("ghc-tagged" ,ghc-tagged) + ("ghc-crpto-api" ,ghc-crypto-api))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://github.com/yesodweb/path-pieces") + (synopsis "Skein family of cryptographic hash functions for Haskell") + (description "@uref{(http://www.skein-hash.info, Skein} is a family of +fast secure cryptographic hash functions designed by Niels Ferguson, Stefan +Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon +Callas and Jesse Walker. + +This Haskell package uses bindings to the optimized C implementation of Skein.") + (license license:bsd-3))) From 54f3536d55b265f604c77b81595998a91c6aa4e2 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:46 +0000 Subject: [PATCH 051/245] gnu: Add ghc-securemem. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-securemem): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 523dc24c34..511d7b9932 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8980,4 +8980,27 @@ be used inline with a quasi-quoter or in an external file and it interpolates variables according to the type being inserted.") (license license:expat))) +(define-public ghc-securemem + (package + (name "ghc-securemem") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "securemem-" version "/" + "securemem-" version ".tar.gz")) + (sha256 + (base32 + "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-memory" ,ghc-memory))) + (home-page "https://github.com/vincenthz/hs-securemem") + (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for +Haskell") + (description "SecureMem is similar to ByteString, except that it provides +a memory chunk that will be auto-scrubbed after it run out of scope.") + (license license:bsd-3))) + ;;; haskell.scm ends here From aab6df5b63eb2406c24fd445e44093a2b393324b Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:47 +0000 Subject: [PATCH 052/245] gnu: Add ghc-crypto-cipher-types. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-crypto.scm (ghc-crypto-cipher-types): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-crypto.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index e4d4e56388..b1309c1f24 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -530,3 +530,25 @@ list validation.") "This package provides a library to handle system accessors and storage for X.509 certificates.") (license license:bsd-3))) + +(define-public ghc-crypto-cipher-types + (package + (name "ghc-crypto-cipher-types") + (version "0.0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-cipher-types-" version "/" + "crypto-cipher-types-" version ".tar.gz")) + (sha256 + (base32 + "03qa1i1kj07pfrxsi7fiaqnnd0vi94jd4jfswbmnm4gp1nvzcwr0")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem))) + (home-page "https://github.com/vincenthz/hs-crypto-cipher") + (synopsis "Generic cryptography cipher types for Haskell") + (description "This Haskell package provides basic typeclasses and types +for symmetric ciphers.") + (license license:bsd-3))) From 47a6582b12fbf4f7e927809fd632b21a01bc2d85 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:48 +0000 Subject: [PATCH 053/245] gnu: Add ghc-crypto-cipher-tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-check.scm (ghc-crypto-cipher-tests): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-check.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 9593e4c109..6b1d769313 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -27,6 +27,7 @@ (define-module (gnu packages haskell-check) #:use-module (gnu packages) #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-crypto) #:use-module (guix build-system haskell) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) @@ -793,3 +794,33 @@ Haskell, inspired by the Ruby library RSpec.") "Nanospec is a lightweight implementation of a subset of Hspec's API with minimal dependencies.") (license license:expat))) + +(define-public ghc-crypto-cipher-tests + (package + (name "ghc-crypto-cipher-tests") + (version "0.0.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-cipher-tests-" version "/" + "crypto-cipher-tests-" version ".tar.gz")) + (sha256 + (base32 + "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz")))) + (build-system haskell-build-system) + (inputs `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-mtl" ,ghc-mtl) + ("ghc-hunit" ,ghc-hunit) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem) + ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types))) + (home-page "https://github.com/vincenthz/hs-crypto-cipher") + (synopsis "Generic cryptography cipher tests for Haskell") + (description " This Haskell package contains generic tests for +cryptographic ciphers, and is used by the test runners of various Haskell +implementations of cryptographic ciphers.") + (license license:bsd-3))) From d91acee78f323f7bf7fb2818822c504026446dd4 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:49 +0000 Subject: [PATCH 054/245] gnu: Add ghc-cipher-aes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-crypto.scm (ghc-cipher-aes): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-crypto.scm | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index b1309c1f24..6086525480 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -552,3 +552,43 @@ for X.509 certificates.") (description "This Haskell package provides basic typeclasses and types for symmetric ciphers.") (license license:bsd-3))) + +(define-public ghc-cipher-aes + (package + (name "ghc-cipher-aes") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "cipher-aes-" version "/" + "cipher-aes-" version ".tar.gz")) + (sha256 + (base32 + "05ahz6kjq0fl1w66gpiqy0vndli5yx1pbsbw9ni3viwqas4p3cfk")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem) + ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types))) + (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) + ("ghc-crypto-cipher-tests" ,ghc-crypto-cipher-tests))) + (home-page "https://github.com/vincenthz/hs-cipher-aes") + (synopsis "AES cipher implementation with advanced mode of operations for +Haskell") + (description "This Haskell package provides AES cipher implementation. + +The modes of operations available are ECB (Electronic code book), CBC (Cipher +block chaining), CTR (Counter), XTS (XEX with ciphertext stealing), +GCM (Galois Counter Mode). + +The AES implementation uses AES-NI when available (on x86 and x86-64 +architecture), but fallback gracefully to a software C implementation. + +The software implementation uses S-Boxes, which might suffer for cache timing +issues. However do notes that most other known software implementations, +including very popular one (openssl, gnutls) also uses similar +implementation. If it matters for your case, you should make sure you have +AES-NI available, or you'll need to use a different implementation.") + (license license:bsd-3))) From 13c281672d6c51cb425263d660cca913668e4761 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:50 +0000 Subject: [PATCH 055/245] gnu: Add ghc-crypto-random. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-crypto.scm (ghc-crypto-random): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-crypto.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index 6086525480..c501f3685f 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -592,3 +592,25 @@ including very popular one (openssl, gnutls) also uses similar implementation. If it matters for your case, you should make sure you have AES-NI available, or you'll need to use a different implementation.") (license license:bsd-3))) + +(define-public ghc-crypto-random + (package + (name "ghc-crypto-random") + (version "0.0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-random-" version "/" + "crypto-random-" version ".tar.gz")) + (sha256 + (base32 + "0139kbbb2h7vshf68y3fvjda29lhj7jjwl4vq78w4y8k8hc7l2hp")))) + (build-system haskell-build-system) + (inputs `(("ghc-securemem" ,ghc-securemem) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/vincenthz/hs-crypto-random") + (synopsis "Simple cryptographic random related types for Haskell") + (description "Simple cryptographic random related types: a safe +abstraction for CPRNGs.") + (license license:bsd-3))) From 7565a308935c1194a51124ee42716767b479948f Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:51 +0000 Subject: [PATCH 056/245] gnu: Add ghc-cprng-aes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-crypto.scm (ghc-cprng-aes): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-crypto.scm | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index c501f3685f..b0be30cb6b 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -614,3 +614,49 @@ AES-NI available, or you'll need to use a different implementation.") (description "Simple cryptographic random related types: a safe abstraction for CPRNGs.") (license license:bsd-3))) + +(define-public ghc-cprng-aes + (package + (name "ghc-cprng-aes") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "cprng-aes-" version "/" + "cprng-aes-" version ".tar.gz")) + (sha256 + (base32 + "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-crypto-random" ,ghc-crypto-random) + ("ghc-cipher-aes" ,ghc-cipher-aes))) + (home-page "https://github.com/vincenthz/hs-cprng-aes") + (synopsis "Crypto Pseudo Random Number Generator using AES in counter mode +in Haskell") + (description "Simple crypto pseudo-random-number-generator with really +good randomness property. + +Using ent, a randomness property maker on one 1Mb sample: + +@itemize +@item Entropy = 7.999837 bits per byte. +@item Optimum compression would reduce the size of this 1048576 byte file by 0 +percent. +@item Chi square distribution for 1048576 samples is 237.02. +@item Arithmbetic mean value of data bytes is 127.3422 (127.5 = random). +@item Monte Carlo value for Pi is 3.143589568 (error 0.06 percent). +@end itemize + +Compared to urandom with the same sampling: + +@itemize +@item Entropy = 7.999831 bits per byte. +@item Optimum compression would reduce the size of this 1048576 byte file by 0 +percent. +@item Chi square distribution for 1048576 samples is 246.63. +@item Arithmetic mean value of data bytes is 127.6347 (127.5 = random). +@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent). +@end itemize") + (license license:bsd-3))) From 15b9ce634ccc39e4c36809d229d0db76158b16b0 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:52 +0000 Subject: [PATCH 057/245] gnu: Add ghc-clientsession. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-clientsession): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 04d4bd24cd..8af115ff4b 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -953,3 +953,38 @@ Callas and Jesse Walker. This Haskell package uses bindings to the optimized C implementation of Skein.") (license license:bsd-3))) + +(define-public ghc-clientsession + (package + (name "ghc-clientsession") + (version "0.9.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "clientsession-" version "/" + "clientsession-" version ".tar.gz")) + (sha256 + (base32 + "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar")))) + (build-system haskell-build-system) + (inputs `(("ghc-cereal" ,ghc-cereal) + ("ghc-tagged" ,ghc-tagged) + ("ghc-crypto-api" ,ghc-crypto-api) + ("ghc-skein" ,ghc-skein) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-entropy" ,ghc-entropy) + ("ghc-cprng-aes" ,ghc-cprng-aes) + ("ghc-cipher-aes" ,ghc-cipher-aes) + ("ghc-crypto-random" ,ghc-crypto-random) + ("ghc-setenv" ,ghc-setenv))) + (native-inputs `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/yesodweb/clientsession/tree/master") + (synopsis "Haskell library for securely store session data in a +client-side cookie") + (description "This Haskell package achieves security through AES-CTR +encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to +avoid any issues with characters.") + (license license:expat))) From aebe9d2556b368b931a95f4dff93d18fc13ce752 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:53 +0000 Subject: [PATCH 058/245] gnu: Add ghc-yesod-core. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-yesod-core): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 8af115ff4b..c6c85d8ede 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -988,3 +988,73 @@ client-side cookie") encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to avoid any issues with characters.") (license license:expat))) + +(define-public ghc-yesod-core + (package + (name "ghc-yesod-core") + (version "1.4.37") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "yesod-core-" version "/" + "yesod-core-" version ".tar.gz")) + (sha256 + (base32 + "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j")))) + (build-system haskell-build-system) + (inputs `(("ghc-wai" ,ghc-wai) + ("ghc-extra" ,ghc-extra) + ("ghc-text" ,ghc-text) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-mtl" ,ghc-mtl) + ("ghc-clientsession" ,ghc-clientsession) + ("ghc-random" ,ghc-random) + ("ghc-cereal" ,ghc-cereal) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-cookie" ,ghc-cookie) + ("ghc-http-types" ,ghc-http-types) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-parsec" ,ghc-parsec) + ("ghc-vector" ,ghc-vector) + ("ghc-aeson" ,ghc-aeson) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-wai-logger" ,ghc-wai-logger) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-data-default" ,ghc-data-default) + ("ghc-safe" ,ghc-safe) + ("ghc-warp" ,ghc-warp) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-deepseq-generics" ,ghc-deepseq-generics) + ("ghc-mwc-random" ,ghc-mwc-random) + ("ghc-primitive" ,ghc-primitive) + ("ghc-word8" ,ghc-word8) + ("ghc-auto-update" ,ghc-auto-update) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-byteable" ,ghc-byteable))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-hunit" ,ghc-hunit) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-network" ,ghc-network) + ("ghc-async" ,ghc-async) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-wai-extra" ,ghc-wai-extra))) + (home-page "https://www.yesodweb.com") + (synopsis "Core package for the Yesod web framework") + (description "This Haskell package provides all core functionality, for +Yesod, on which other packages can be built. It provides dispatch, handler +functions, widgets, etc.") + (license license:expat))) From d96a1bfe2bb029ac5cac4bcc07dc06a58ee36699 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:54 +0000 Subject: [PATCH 059/245] gnu: Add ghc-resource-pool. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-resource-pool): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 511d7b9932..d5052788aa 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9003,4 +9003,30 @@ Haskell") a memory chunk that will be auto-scrubbed after it run out of scope.") (license license:bsd-3))) +(define-public ghc-resource-pool + (package + (name "ghc-resource-pool") + (version "0.2.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "resource-pool-" version "/" + "resource-pool-" version ".tar.gz")) + (sha256 + (base32 + "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6")))) + (build-system haskell-build-system) + (inputs `(("ghc-hashable" ,ghc-hashable) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-stm" ,ghc-stm) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/bos/pool") + (synopsis "Striped resource pooling implementation in Haskell") + (description "This Haskell package provides striped pooling abstraction +for managing flexibly-sized collections of resources such as database +connections.") + (license license:bsd-3))) + ;;; haskell.scm ends here From ac7cdb40abc50622f8e60cd9891bb8424d739503 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:55 +0000 Subject: [PATCH 060/245] gnu: Add ghc-attoparsec-iso8601. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-attoparsec-iso8601): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d5052788aa..7909b3e6af 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9029,4 +9029,27 @@ for managing flexibly-sized collections of resources such as database connections.") (license license:bsd-3))) +(define-public ghc-attoparsec-iso8601 + (package + (name "ghc-attoparsec-iso8601") + (version "1.0.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "attoparsec-iso8601-" version "/" + "attoparsec-iso8601-" version ".tar.gz")) + (sha256 + (base32 + "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a")))) + (build-system haskell-build-system) + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-base-compat" ,ghc-base-compat) + ("ghc-text" ,ghc-text))) + (home-page "https://github.com/bos/aeson") + (synopsis "Parse ISO 8601 dates") + (description "Haskell library for parsing of ISO 8601 dates, originally +from aeson.") + (license license:bsd-3))) + ;;; haskell.scm ends here From ff7dd11f0a4fd6ca947cfa40cec42628fde44667 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:56 +0000 Subject: [PATCH 061/245] gnu: Add ghc-th-lift-instances. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-th-lift-instances): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7909b3e6af..856d017686 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9052,4 +9052,29 @@ connections.") from aeson.") (license license:bsd-3))) +(define-public ghc-th-lift-instances + (package + (name "ghc-th-lift-instances") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "th-lift-instances-" version "/" + "th-lift-instances-" version ".tar.gz")) + (sha256 + (base32 + "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x")))) + (build-system haskell-build-system) + (inputs `(("ghc-th-lift" ,ghc-th-lift) + ("ghc-vector" ,ghc-vector) + ("ghc-text" ,ghc-text))) + (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/bennofs/th-lift-instances") + (synopsis "Lift instances for template-haskell for common data types") + (description "Most data types in the Haskell platform do not have Lift +instances. This package provides orphan instances for containers, text, +bytestring and vector.") + (license license:bsd-3))) + ;;; haskell.scm ends here From e99bd15cbbae2da35ce4314b846f6368db3fd3ec Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:57 +0000 Subject: [PATCH 062/245] gnu: Add ghc-generics-sop. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-generics-sop): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 856d017686..e3a453a3b4 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9077,4 +9077,27 @@ instances. This package provides orphan instances for containers, text, bytestring and vector.") (license license:bsd-3))) +(define-public ghc-generics-sop + (package + (name "ghc-generics-sop") + (version "0.3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "generics-sop-" version "/" + "generics-sop-" version ".tar.gz")) + (sha256 + (base32 + "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7")))) + (build-system haskell-build-system) + (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "https://github.com/well-typed/generics-sop") + (synopsis "Generic Programming using True Sums of Products for Haskell") + (description "This Haskell package supports the definition of generic +functions. Datatypes are viewed in a uniform, structured way: the choice +between constructors is represented using an n-ary sum, and the arguments of +each constructor are represented using an n-ary product.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 8ecefe72c104222868019a71adb0b9212984169d Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:58 +0000 Subject: [PATCH 063/245] gnu: Add ghc-uri-bytestring. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-uri-bytestring): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e3a453a3b4..2da2167964 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9100,4 +9100,38 @@ between constructors is represented using an n-ary sum, and the arguments of each constructor are represented using an n-ary product.") (license license:bsd-3))) +(define-public ghc-uri-bytestring + (package + (name "ghc-uri-bytestring") + (version "0.3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "uri-bytestring-" version "/" + "uri-bytestring-" version ".tar.gz")) + (sha256 + (base32 + "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9")))) + (build-system haskell-build-system) + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-fail" ,ghc-fail) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-th-lift-instances" ,ghc-th-lift-instances))) + (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-base-compat" ,ghc-base-compat) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-generics-sop" ,ghc-generics-sop))) + (home-page "https://github.com/Soostone/uri-bytestring") + (synopsis "Haskell URI parsing as ByteStrings") + (description "This Haskell package aims to be an RFC3986 compliant URI +parser that uses ByteStrings for parsing and representing the URI data.") + (license license:bsd-3))) + ;;; haskell.scm ends here From c56a30b3ba3e1e93ced3c6ba2cfb4c738b805074 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:44:59 +0000 Subject: [PATCH 064/245] gnu: Add ghc-time-locale-compat. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-time-locale-compat): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2da2167964..8d4d2b28d9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9134,4 +9134,24 @@ each constructor are represented using an n-ary product.") parser that uses ByteStrings for parsing and representing the URI data.") (license license:bsd-3))) +(define-public ghc-time-locale-compat + (package + (name "ghc-time-locale-compat") + (version "0.1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "time-locale-compat-" version "/" + "time-locale-compat-" version ".tar.gz")) + (sha256 + (base32 + "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i")))) + (build-system haskell-build-system) + (home-page "https://github.com/khibino/haskell-time-locale-compat") + (synopsis "Compatibility of TimeLocale between old-locale and time-1.5") + (description "This Haskell package contains wrapped name module for +TimeLocale.") + (license license:bsd-3))) + ;;; haskell.scm ends here From b6d8ea42a352326b0af2f4ec11d7f65618eb351f Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:00 +0000 Subject: [PATCH 065/245] gnu: Add ghc-http-api-data. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-http-api-data): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8d4d2b28d9..58868e4125 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9154,4 +9154,35 @@ parser that uses ByteStrings for parsing and representing the URI data.") TimeLocale.") (license license:bsd-3))) +(define-public ghc-http-api-data + (package + (name "ghc-http-api-data") + (version "0.3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "http-api-data-" version "/" + "http-api-data-" version ".tar.gz")) + (sha256 + (base32 + "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9 + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601) + ("ghc-hashable" ,ghc-hashable) + ("ghc-http-types" ,ghc-http-types) + ("ghc-text" ,ghc-text) + ("ghc-time-locale-compat" ,ghc-time-locale-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-uri-bytestring" ,ghc-uri-bytestring) + ("ghc-uuid-types" ,ghc-uuid-types))) + (home-page "https://github.com/fizruk/http-api-data") + (synopsis "Convert to/from HTTP API data like URL pieces, headers and +query parameters") + (description "This Haskell package defines typeclasses used for converting +Haskell data types to and from HTTP API data.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 104e179d56b58c5aba77c67491e1992b6c51bfb5 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:01 +0000 Subject: [PATCH 066/245] gnu: Add ghc-persistent. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-persistent): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 58868e4125..1aa30fbb47 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9185,4 +9185,51 @@ query parameters") Haskell data types to and from HTTP API data.") (license license:bsd-3))) +(define-public ghc-persistent + (package + (name "ghc-persistent") + (version "2.7.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-" version "/" + "persistent-" version ".tar.gz")) + (sha256 + (base32 + "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p")))) + (build-system haskell-build-system) + (inputs `(("ghc-old-locale" ,ghc-old-locale) + ("ghc-text" ,ghc-text) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-http-api-data" ,ghc-http-api-data) + ("ghc-aeson" ,ghc-aeson) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-haskell-src-meta" ,ghc-haskell-src-meta) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-silently" ,ghc-silently) + ("ghc-mtl" ,ghc-mtl) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-scientific" ,ghc-scientific) + ("ghc-tagged" ,ghc-tagged))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://www.yesodweb.com/book/persistent") + (synopsis "Type-safe, multi-backend data serialization for Haskell") + (description "This Haskell package allows Haskell programs to access data +storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe +way.") + (license license:expat))) + ;;; haskell.scm ends here From 0f163f653ee919a7695f76b0de021eeeefa894a4 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:02 +0000 Subject: [PATCH 067/245] gnu: Add ghc-aeson-compat. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-aeson-compat): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1aa30fbb47..00128d6a1b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9232,4 +9232,39 @@ storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe way.") (license license:expat))) +(define-public ghc-aeson-compat + (package + (name "ghc-aeson-compat") + (version "0.3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "aeson-compat-" version "/" + "aeson-compat-" version ".tar.gz")) + (sha256 + (base32 + "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10 + (inputs `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-aeson" ,ghc-aeson) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-attoparsec" ,ghc-attoparsec-iso8601) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-hashable" ,ghc-hashable) + ("ghc-scientific" ,ghc-scientific) + ("ghc-text" ,ghc-text) + ("ghc-time-locale-compat" ,ghc-time-locale-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-tagged" ,ghc-tagged) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-nats" ,ghc-nats))) + (home-page "https://github.com/phadej/aeson-compat") + (synopsis "Compatibility layer for ghc-aeson") + (description "This Haskell package provides compatibility layer for +ghc-aeson.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 8434594d6d76c27bccf61b6c6d91d11e9869c0b1 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:03 +0000 Subject: [PATCH 068/245] gnu: Add ghc-persistent-template. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-persistent-template): 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 00128d6a1b..a5c86b50ce 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9267,4 +9267,36 @@ way.") ghc-aeson.") (license license:bsd-3))) +(define-public ghc-persistent-template + (package + (name "ghc-persistent-template") + (version "2.5.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-template-" version "/" + "persistent-template-" version ".tar.gz")) + (sha256 + (base32 + "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd")))) + (build-system haskell-build-system) + (inputs `(("ghc-persistent" ,ghc-persistent) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-text" ,ghc-text) + ("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-compat" ,ghc-aeson-compat) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-tagged" ,ghc-tagged) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-http-api-data" ,ghc-http-api-data))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://www.yesodweb.com/book/persistent") + (synopsis "Type-safe, non-relational, multi-backend persistence") + (description "This Haskell package provides interfaces and helper +functions for the ghc-persistent package.") + (license license:expat))) + ;;; haskell.scm ends here From d5c34f9b18087ee462512eed21e6d4a332f2235a Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:04 +0000 Subject: [PATCH 069/245] gnu: Add ghc-unliftio-core. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-unliftio-core): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5c86b50ce..7723eaa5ce 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9299,4 +9299,26 @@ ghc-aeson.") functions for the ghc-persistent package.") (license license:expat))) +(define-public ghc-unliftio-core + (package + (name "ghc-unliftio-core") + (version "0.1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "unliftio-core-" version "/" + "unliftio-core-" version ".tar.gz")) + (sha256 + (base32 + "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m")))) + (build-system haskell-build-system) + (home-page + "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme") + (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO") + (description "This Haskell package provides the core @code{MonadUnliftIO} +typeclass, instances for base and transformers, and basic utility +functions.") + (license license:expat))) + ;;; haskell.scm ends here From 1c225fabd6c6b1a3876e30ed1443d8b0d1dce8d8 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:05 +0000 Subject: [PATCH 070/245] gnu: Add ghc-microlens. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-microlens): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7723eaa5ce..08e357a68e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9321,4 +9321,29 @@ typeclass, instances for base and transformers, and basic utility functions.") (license license:expat))) +(define-public ghc-microlens + (package + (name "ghc-microlens") + (version "0.4.8.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "microlens-" version "/" + "microlens-" version ".tar.gz")) + (sha256 + (base32 + "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k")))) + (build-system haskell-build-system) + (home-page + "https://github.com/aelve/microlens") + (synopsis "Provides a tiny lens Haskell library with no dependencies") + (description "This Haskell package provides a lens library, just like +@code{ghc-lens}, but smaller. It provides essential lenses and +traversals (like @code{_1} and @code{_Just}), as well as ones which are simply +nice to have (like @code{each}, @code{at}, and @code{ix}), and some +combinators (like @code{failing} and @code{singular}), but everything else is +stripped. As the result, this package has no dependencies.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 82e0b0e23f180494cfa61084e912b07cca60743f Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:06 +0000 Subject: [PATCH 071/245] gnu: Add ghc-microlens-th. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-microlens-th): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 08e357a68e..7cf152d1bf 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9346,4 +9346,29 @@ combinators (like @code{failing} and @code{singular}), but everything else is stripped. As the result, this package has no dependencies.") (license license:bsd-3))) +(define-public ghc-microlens-th + (package + (name "ghc-microlens-th") + (version "0.4.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "microlens-th-" version "/" + "microlens-th-" version ".tar.gz")) + (sha256 + (base32 + "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f")))) + (build-system haskell-build-system) + (inputs `(("ghc-microlens" ,ghc-microlens))) + (home-page + "https://github.com/aelve/microlens") + (synopsis "Automatic generation of record lenses for +@code{ghc-microlens}") + (description "This Haskell package lets you automatically generate lenses +for data types; code was extracted from the lens package, and therefore +generated lenses are fully compatible with ones generated by lens (and can be +used both from lens and microlens).") + (license license:bsd-3))) + ;;; haskell.scm ends here From e85c58edf9400b7f017608694a017ce2aeaae726 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:07 +0000 Subject: [PATCH 072/245] gnu: Add ghc-unliftio. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-unliftio): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7cf152d1bf..7c557bbf54 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9371,4 +9371,33 @@ generated lenses are fully compatible with ones generated by lens (and can be used both from lens and microlens).") (license license:bsd-3))) +(define-public ghc-unliftio + (package + (name "ghc-unliftio") + (version "0.2.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/unliftio/unliftio-" + version + ".tar.gz")) + (sha256 + (base32 + "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH + (inputs + `(("ghc-async" ,ghc-async) + ("ghc-stm" ,ghc-stm) + ("ghc-unliftio-core" ,ghc-unliftio-core))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://github.com/fpco/unliftio") + (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to +IO (batteries included)") + (description "This Haskell package provides the core @code{MonadUnliftIO} +typeclass, a number of common instances, and a collection of common functions +working with it.") + (license license:expat))) + ;;; haskell.scm ends here From e01a8fcca49700761a3b50d7ba20f7d0624fda92 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:08 +0000 Subject: [PATCH 073/245] gnu: Add ghc-persistent-sqlite. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-persistent-sqlite): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c557bbf54..600ed95086 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9400,4 +9400,40 @@ typeclass, a number of common instances, and a collection of common functions working with it.") (license license:expat))) +(define-public ghc-persistent-sqlite + (package + (name "ghc-persistent-sqlite") + (version "2.6.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-sqlite-" version "/" + "persistent-sqlite-" version ".tar.gz")) + (sha256 + (base32 + "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm")))) + (build-system haskell-build-system) + (inputs `(("ghc-persistent" ,ghc-persistent) + ("ghc-unliftio-core" ,ghc-unliftio-core) + ("ghc-aeson" ,ghc-aeson) + ("ghc-conduit" ,ghc-conduit) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-microlens-th" ,ghc-microlens-th) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-temporary" ,ghc-temporary) + ("ghc-text" ,ghc-text))) + (home-page + "https://www.yesodweb.com/book/persistent") + (synopsis "Backend for the persistent library using sqlite3") + (description "This Haskell package includes a thin sqlite3 wrapper based +on the direct-sqlite package, as well as the entire C library, so there are no +system dependencies.") + (license license:expat))) + ;;; haskell.scm ends here From fc3ef1e28ce3add5ea49d1b9cc3f8380e0c131fb Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:09 +0000 Subject: [PATCH 074/245] gnu: ghc-math-functions: Disable tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-math-functions)[arguments]: Set #:tests? to #f. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 600ed95086..ad499f0efd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7999,6 +7999,7 @@ Double.") (base32 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp")))) (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: 1 test fails. (inputs `(("ghc-vector" ,ghc-vector) ("ghc-vector-th-unbox" ,ghc-vector-th-unbox))) From fb812d6cff11a799db96cf28acb7b22b8d659a62 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:10 +0000 Subject: [PATCH 075/245] gnu: ghc-psqueues: Disable tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-psqueues)[arguments]: Set #:tests? to #f. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index ad499f0efd..1f6864801b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7833,6 +7833,7 @@ bytestrings and their hexademical representation.") (base32 "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd")))) (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; Tests require QuickCheck < 2.10 (inputs `(("ghc-hashable" ,ghc-hashable))) (native-inputs From d199274194f643daab6819c9ee0d4576462610dc Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:11 +0000 Subject: [PATCH 076/245] gnu: Add ghc-yesod-persistent. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-yesod-pesistent): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index c6c85d8ede..77351597f7 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -1058,3 +1058,36 @@ avoid any issues with characters.") Yesod, on which other packages can be built. It provides dispatch, handler functions, widgets, etc.") (license license:expat))) + +(define-public ghc-yesod-persistent + (package + (name "ghc-yesod-persistent") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "yesod-persistent-" version "/" + "yesod-persistent-" version ".tar.gz")) + (sha256 + (base32 + "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. + (inputs `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-persistent" ,ghc-persistent) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-resource-pool" ,ghc-resource-pool))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-wai-extra" ,ghc-wai-extra) + ("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) + ("ghc-text" ,ghc-text))) + (home-page "http://www.yesodweb.com/") + (synopsis "Helpers for using Persistent from Yesod") + (description "This Haskell package provides helpers for using Persistent +from Yesod.") + (license license:expat))) From b50e1c892534644b111b2230cf61662028380d7a Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:12 +0000 Subject: [PATCH 077/245] gnu: Add ghc-email-validate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-email-validate): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1f6864801b..eb6a36ddec 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9438,4 +9438,33 @@ on the direct-sqlite package, as well as the entire C library, so there are no system dependencies.") (license license:expat))) +(define-public ghc-email-validate + (package + (name "ghc-email-validate") + (version "2.3.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "email-validate/email-validate-" + version + ".tar.gz")) + (sha256 + (base32 + "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-doctest" ,ghc-doctest))) + (home-page + "https://github.com/Porges/email-validate-hs") + (synopsis "Email address validator for Haskell") + (description + "This Haskell package provides a validator that can validate an email +address string against RFC 5322.") + (license license:bsd-3))) + ;;; haskell.scm ends here From 6faa30c17c6d674256e9448d95efd9256b908881 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:13 +0000 Subject: [PATCH 078/245] gnu: Add ghc-yesod-form. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-yesod-form): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 77351597f7..df5bc0f21c 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -1091,3 +1091,46 @@ functions, widgets, etc.") (description "This Haskell package provides helpers for using Persistent from Yesod.") (license license:expat))) + +(define-public ghc-yesod-form + (package + (name "ghc-yesod-form") + (version "1.4.16") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/yesod-form/yesod-form-" + version + ".tar.gz")) + (sha256 + (base32 + "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j")))) + (build-system haskell-build-system) + (inputs + `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-yesod-persistent" ,ghc-yesod-persistent) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-persistent" ,ghc-persistent) + ("ghc-data-default" ,ghc-data-default) + ("ghc-xss-sanitize" ,ghc-xss-sanitize) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-email-validate" ,ghc-email-validate) + ("ghc-text" ,ghc-text) + ("ghc-wai" ,ghc-wai) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-byteable" ,ghc-byteable) + ("ghc-aeson" ,ghc-aeson) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-hspec" ,ghc-hspec))) + (home-page "https://www.yesodweb.com") + (synopsis "Form handling support for Yesod Web Framework") + (description "This Haskell package provies a set of basic form inputs such +as text, number, time, checkbox, select, textarea, etc through the +@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module +providing richtext field using Nic editor. ") + (license license:expat))) From 98889149f9edea7018868e0b6ba5844c2dc8924a Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:14 +0000 Subject: [PATCH 079/245] gnu: ghc-conduit-extra: Update to 1.1.14. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-conduit-extra): Update to 1.1.14. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index eb6a36ddec..dcb48f34de 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -6251,7 +6251,7 @@ better for some purposes.") (define-public ghc-conduit-extra (package (name "ghc-conduit-extra") - (version "1.1.13.3") + (version "1.1.14") (source (origin (method url-fetch) @@ -6260,7 +6260,7 @@ better for some purposes.") version ".tar.gz")) (sha256 (base32 - "0j3cqpkrn7lbpviv6w0gjh93fjjbh1an2sq0yz7svaawja8civy2")))) + "1ij3qcfk7q90fl6gklpy2k5ka9jgzrvs8frq0gy7gdcgyaabqfkg")))) (build-system haskell-build-system) (inputs `(("ghc-conduit" ,ghc-conduit) From 42469226c1e6cf9a492e759dd0178fe5ed6c195b Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Wed, 21 Mar 2018 03:45:15 +0000 Subject: [PATCH 080/245] gnu: Add ghc-yesod. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-web.scm (ghc-yesod): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell-web.scm | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index df5bc0f21c..1f19f82f3f 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -1134,3 +1134,48 @@ as text, number, time, checkbox, select, textarea, etc through the @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module providing richtext field using Nic editor. ") (license license:expat))) + +(define-public ghc-yesod + (package + (name "ghc-yesod") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/yesod/yesod-" + version ".tar.gz")) + (sha256 + (base32 + "1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16")))) + (build-system haskell-build-system) + (inputs + `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-yesod-persistent" ,ghc-yesod-persistent) + ("ghc-yesod-form" ,ghc-yesod-form) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-wai" ,ghc-wai) + ("ghc-wai-extra" ,ghc-wai-extra) + ("ghc-warp" ,ghc-warp) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-aeson" ,ghc-aeson) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-yaml" ,ghc-yaml) + ("ghc-text" ,ghc-text) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-conduit" ,ghc-conduit) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-wai-logger" ,ghc-wai-logger) + ("ghc-semigroups" ,ghc-semigroups))) + (home-page "https://www.yesodweb.com") + (synopsis "Framework for creating type-safe, RESTful web applications") + (description "The Haskell package package groups together the various +Yesod related packages into one cohesive whole. This is the version of Yesod, +whereas most of the core code lives in @code{ghc-yesod-core}.") + (license license:expat))) From ab5f3f21313799fe64ac8ebffde098bde7ceaa3e Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 26 Jan 2018 10:08:52 -0500 Subject: [PATCH 081/245] gnu: octave: Add audio and more sparse matrix support. * gnu/packages/maths.scm (octave)[inputs]: Add suitesparse, libsndfile, portaudio and alsa-lib. --- gnu/packages/maths.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index eca45d05f5..4699f2511c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015 Fabian Harfert ;;; Copyright © 2016 Roel Janssen -;;; Copyright © 2016 Kei Kebreau +;;; Copyright © 2016, 2018 Kei Kebreau ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Thomas Danckaert @@ -56,6 +56,7 @@ #:use-module (guix build-system r) #:use-module (guix build-system ruby) #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages boost) @@ -79,6 +80,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages less) #:use-module (gnu packages lisp) + #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) @@ -95,6 +97,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) @@ -1340,7 +1343,11 @@ can solve two kinds of problems: ("zlib" ,zlib) ("curl" ,curl) ("texinfo" ,texinfo) - ("graphicsmagick" ,graphicsmagick))) + ("graphicsmagick" ,graphicsmagick) + ("suitesparse" ,suitesparse) + ("libsndfile" ,libsndfile) + ("portaudio" ,portaudio) + ("alsa-lib" ,alsa-lib))) (native-inputs `(("lzip" ,lzip) ("gfortran" ,gfortran) From 36ce25f0924c093766e344b2102d3e7f9ca1b6f2 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 27 Jan 2018 16:06:13 -0500 Subject: [PATCH 082/245] gnu: Add qtoctave. * gnu/packages/maths.scm (qtoctave): New variable. --- gnu/packages/maths.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4699f2511c..8db4a5594b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1387,6 +1387,31 @@ Work may be performed both at the interactive command-line as well as via script files.") (license license:gpl3+))) +(define-public qtoctave + (package (inherit octave) + (name "qtoctave") + (inputs + `(("qscintilla" ,qscintilla) + ("qt" ,qtbase) + ,@(package-inputs octave))) + (native-inputs + `(("qttools" , qttools) ;for lrelease + ,@(package-native-inputs octave))) + (arguments + (substitute-keyword-arguments (package-arguments octave) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'patch-qscintilla-library-name + (lambda* (#:key inputs #:allow-other-keys) + ;; The QScintilla library that the Octave configure script tries + ;; to link with should be named libqscintilla-qt5.so, but the + ;; QScintilla input provides the shared library as + ;; libqscintilla2_qt5.so. + (substitute* "configure" + (("qscintilla2-qt5") + "qscintilla2_qt5")) + #t)))))))) + (define-public opencascade-oce (package (name "opencascade-oce") From fdc5d7ab52e9fe796fc10c74fafc3973dddc740b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 31 Mar 2018 15:47:29 -0400 Subject: [PATCH 083/245] gnu: mutt: Update to 1.9.4. * gnu/packages/mail.scm (mutt): Update to 1.9.4. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3dab1325e9..e649aec815 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -257,14 +257,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.9.3") + (version "1.9.4") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "1qbngck1pq1jkpnbpcwcb2q2zqrkgp0nd68wwp57bprxjgb8a6j3")) + "1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From e1bff5a75c9b9806509a90428b8a87c03cc67248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 Mar 2018 22:38:56 +0200 Subject: [PATCH 084/245] nls: Add Spanish translation. * po/guix/es.po: New file. * po/guix/LINGUAS: Add 'es'. --- po/guix/LINGUAS | 1 + po/guix/es.po | 2994 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2995 insertions(+) create mode 100644 po/guix/es.po diff --git a/po/guix/LINGUAS b/po/guix/LINGUAS index 5158332739..d26dd60980 100644 --- a/po/guix/LINGUAS +++ b/po/guix/LINGUAS @@ -6,6 +6,7 @@ de en@boldquot en@quot eo +es fr hu pl diff --git a/po/guix/es.po b/po/guix/es.po new file mode 100644 index 0000000000..e3362c0545 --- /dev/null +++ b/po/guix/es.po @@ -0,0 +1,2994 @@ +# Spanish messages for GNU Guix. +# Copyright (C) 2017 the authors of Guix (msgids) +# This file is distributed under the same license as the guix package. +# Jorge Maldonado Ventura , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: guix 0.14.0\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2017-11-28 08:56+0100\n" +"PO-Revision-Date: 2018-03-30 02:16+0200\n" +"Last-Translator: Jorge Maldonado Ventura \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.4\n" + +#: gnu.scm:82 +#, scheme-format +msgid "module ~a not found" +msgstr "módulo ~a no encontrado" + +#: gnu.scm:100 +msgid "" +"You may use @command{guix package --show=foo | grep location} to search\n" +"for the location of package @code{foo}.\n" +"If you get the line @code{location: gnu/packages/bar.scm:174:2},\n" +"add @code{bar} to the @code{use-package-modules} form." +msgstr "" +"Puede usar @command{guix package --show=foo | grep location} para buscar\n" +"la ubicación del paquete @code{foo}.\n" +"Si obtiene la línea @code{location: gnu/packages/bar.scm:174:2},\n" +"añada @code{bar} a la forma @code{use-package-modules}." + +#: gnu.scm:108 +#, scheme-format +msgid "Try adding @code{(use-package-modules ~a)}." +msgstr "Pruebe añadiendo @code{(use-package-modules ~a)}" + +#: gnu.scm:123 +#, scheme-format +msgid "" +"You may use @command{guix system search ~a} to search for a service\n" +"matching @code{~a}.\n" +"If you get the line @code{location: gnu/services/foo.scm:188:2},\n" +"add @code{foo} to the @code{use-service-modules} form." +msgstr "" + +#: gnu.scm:132 +#, scheme-format +msgid "Try adding @code{(use-service-modules ~a)}." +msgstr "" + +#: gnu/packages.scm:92 +#, scheme-format +msgid "~a: patch not found" +msgstr "~a: parche no encontrado" + +#: gnu/packages.scm:108 +#, scheme-format +msgid "could not find bootstrap binary '~a' for system '~a'" +msgstr "" + +#: gnu/packages.scm:240 +#, scheme-format +msgid "ambiguous package specification `~a'~%" +msgstr "especificación de paquete ambigua `~a'~%" + +#: gnu/packages.scm:241 +#, scheme-format +msgid "choosing ~a@~a from ~a~%" +msgstr "" + +#: gnu/packages.scm:246 guix/scripts/package.scm:271 +#, scheme-format +msgid "package '~a' has been superseded by '~a'~%" +msgstr "" + +#: gnu/packages.scm:253 +#, scheme-format +msgid "~A: package not found for version ~a~%" +msgstr "~A: paquete no encontrado para versión ~a~%" + +#: gnu/packages.scm:254 +#, scheme-format +msgid "~A: unknown package~%" +msgstr "~A: paquete desconocido~%" + +#: gnu/packages.scm:282 +#, scheme-format +msgid "package `~a' lacks output `~a'~%" +msgstr "" + +#: gnu/services.scm:235 +#, scheme-format +msgid "~a: no value specified for service of type '~a'" +msgstr "" + +#: gnu/services.scm:650 +#, scheme-format +msgid "no target of type '~a' for service '~a'" +msgstr "" + +#: gnu/services.scm:662 gnu/services.scm:723 +#, scheme-format +msgid "more than one target service of type '~a'" +msgstr "" + +#: gnu/services.scm:713 +#, scheme-format +msgid "service of type '~a' not found" +msgstr "" + +#: gnu/system.scm:305 +#, scheme-format +msgid "unrecognized boot parameters for '~a'~%" +msgstr "" + +#: gnu/system.scm:695 +#, scheme-format +msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%" +msgstr "" + +#: gnu/system.scm:711 +#, scheme-format +msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%" +msgstr "" + +#: gnu/system.scm:856 +#, scheme-format +msgid "~a: invalid locale name" +msgstr "~a: nombre de configuración regional inválido" + +#: gnu/services/shepherd.scm:166 +#, scheme-format +msgid "service '~a' provided more than once" +msgstr "" + +#: gnu/services/shepherd.scm:181 +#, scheme-format +msgid "service '~a' requires '~a', which is not provided by any service" +msgstr "" + +#: gnu/system/shadow.scm:231 +#, scheme-format +msgid "supplementary group '~a' of user '~a' is undeclared" +msgstr "" + +#: gnu/system/shadow.scm:241 +#, scheme-format +msgid "primary group '~a' of user '~a' is undeclared" +msgstr "" + +#: guix/scripts.scm:56 +#, scheme-format +msgid "invalid argument: ~a~%" +msgstr "" + +#: guix/scripts.scm:84 guix/scripts/download.scm:135 +#: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77 +#: guix/scripts/publish.scm:844 guix/scripts/edit.scm:81 +#, scheme-format +msgid "~A: unrecognized option~%" +msgstr "" + +#: guix/scripts.scm:179 +#, scheme-format +msgid "Your Guix installation is ~a day old.\n" +msgid_plural "Your Guix installation is ~a days old.\n" +msgstr[0] "" +msgstr[1] "" + +#: guix/scripts.scm:184 +#, scheme-format +msgid "" +"Consider running 'guix pull' followed by\n" +"'~a' to get up-to-date packages and security updates.\n" +msgstr "" +"Considere ejecutar 'guix pull' seguido de\n" +"'~a' para obtener paquetes actualizados y actualizaciones de seguridad.\n" + +#: guix/scripts/build.scm:124 +#, scheme-format +msgid "failed to create GC root `~a': ~a~%" +msgstr "" + +#: guix/scripts/build.scm:206 +#, scheme-format +msgid "invalid replacement specification: ~s~%" +msgstr "" + +#: guix/scripts/build.scm:263 +msgid "" +"\n" +" --with-source=SOURCE\n" +" use SOURCE when building the corresponding package" +msgstr "" + +#: guix/scripts/build.scm:266 +msgid "" +"\n" +" --with-input=PACKAGE=REPLACEMENT\n" +" replace dependency PACKAGE by REPLACEMENT" +msgstr "" + +#: guix/scripts/build.scm:269 +msgid "" +"\n" +" --with-graft=PACKAGE=REPLACEMENT\n" +" graft REPLACEMENT on packages that refer to PACKAGE" +msgstr "" + +#: guix/scripts/build.scm:294 +#, scheme-format +msgid "transformation '~a' had no effect on ~a~%" +msgstr "" + +#: guix/scripts/build.scm:312 +msgid "" +"\n" +" -L, --load-path=DIR prepend DIR to the package module search path" +msgstr "" + +#: guix/scripts/build.scm:314 +msgid "" +"\n" +" -K, --keep-failed keep build tree of failed builds" +msgstr "" + +#: guix/scripts/build.scm:316 +msgid "" +"\n" +" -k, --keep-going keep going when some of the derivations fail" +msgstr "" + +#: guix/scripts/build.scm:318 +msgid "" +"\n" +" -n, --dry-run do not build the derivations" +msgstr "" + +#: guix/scripts/build.scm:320 +msgid "" +"\n" +" --fallback fall back to building when the substituter fails" +msgstr "" + +#: guix/scripts/build.scm:322 +msgid "" +"\n" +" --no-substitutes build instead of resorting to pre-built substitutes" +msgstr "" + +#: guix/scripts/build.scm:324 guix/scripts/size.scm:232 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" fetch substitute from URLS if they are authorized" +msgstr "" + +#: guix/scripts/build.scm:327 +msgid "" +"\n" +" --no-grafts do not graft packages" +msgstr "" + +#: guix/scripts/build.scm:329 +msgid "" +"\n" +" --no-build-hook do not attempt to offload builds via the build hook" +msgstr "" + +#: guix/scripts/build.scm:331 +msgid "" +"\n" +" --max-silent-time=SECONDS\n" +" mark the build as failed after SECONDS of silence" +msgstr "" + +#: guix/scripts/build.scm:334 +msgid "" +"\n" +" --timeout=SECONDS mark the build as failed after SECONDS of activity" +msgstr "" + +#: guix/scripts/build.scm:336 +msgid "" +"\n" +" --verbosity=LEVEL use the given verbosity LEVEL" +msgstr "" + +#: guix/scripts/build.scm:338 +msgid "" +"\n" +" --rounds=N build N times in a row to detect non-determinism" +msgstr "" + +#: guix/scripts/build.scm:340 +msgid "" +"\n" +" -c, --cores=N allow the use of up to N CPU cores for the build" +msgstr "" + +#: guix/scripts/build.scm:342 +msgid "" +"\n" +" -M, --max-jobs=N allow at most N build jobs" +msgstr "" + +#: guix/scripts/build.scm:448 guix/scripts/build.scm:455 +#, scheme-format +msgid "not a number: '~a' option argument: ~a~%" +msgstr "" + +#: guix/scripts/build.scm:474 +msgid "" +"Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" +"Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" +msgstr "" + +#: guix/scripts/build.scm:476 +msgid "" +"\n" +" -e, --expression=EXPR build the package or derivation EXPR evaluates to" +msgstr "" + +#: guix/scripts/build.scm:478 +msgid "" +"\n" +" -f, --file=FILE build the package or derivation that the code within\n" +" FILE evaluates to" +msgstr "" + +#: guix/scripts/build.scm:481 +msgid "" +"\n" +" -S, --source build the packages' source derivations" +msgstr "" + +#: guix/scripts/build.scm:483 +msgid "" +"\n" +" --sources[=TYPE] build source derivations; TYPE may optionally be one\n" +" of \"package\", \"all\" (default), or \"transitive\"" +msgstr "" + +#: guix/scripts/build.scm:486 guix/scripts/pack.scm:338 +msgid "" +"\n" +" -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" +msgstr "" + +#: guix/scripts/build.scm:488 guix/scripts/pack.scm:340 +msgid "" +"\n" +" --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" +msgstr "" + +#: guix/scripts/build.scm:490 +msgid "" +"\n" +" -d, --derivations return the derivation paths of the given packages" +msgstr "" + +#: guix/scripts/build.scm:492 +msgid "" +"\n" +" --check rebuild items to check for non-determinism issues" +msgstr "" + +#: guix/scripts/build.scm:494 +msgid "" +"\n" +" --repair repair the specified items" +msgstr "" + +#: guix/scripts/build.scm:496 +msgid "" +"\n" +" -r, --root=FILE make FILE a symlink to the result, and register it\n" +" as a garbage collector root" +msgstr "" + +#: guix/scripts/build.scm:499 +msgid "" +"\n" +" -q, --quiet do not show the build log" +msgstr "" + +#: guix/scripts/build.scm:501 +msgid "" +"\n" +" --log-file return the log file names for the given derivations" +msgstr "" + +#: guix/scripts/build.scm:508 guix/scripts/download.scm:83 +#: guix/scripts/package.scm:425 guix/scripts/gc.scm:74 +#: guix/scripts/hash.scm:59 guix/scripts/import.scm:92 +#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:110 +#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:870 +#: guix/scripts/lint.scm:1090 guix/scripts/publish.scm:94 +#: guix/scripts/edit.scm:44 guix/scripts/size.scm:243 +#: guix/scripts/graph.scm:432 guix/scripts/challenge.scm:241 +#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:349 +#: guix/scripts/weather.scm:156 guix/scripts/container.scm:33 +#: guix/scripts/container/exec.scm:43 +msgid "" +"\n" +" -h, --help display this help and exit" +msgstr "" + +#: guix/scripts/build.scm:510 guix/scripts/download.scm:85 +#: guix/scripts/package.scm:427 guix/scripts/gc.scm:76 +#: guix/scripts/hash.scm:61 guix/scripts/import.scm:94 +#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:112 +#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:872 +#: guix/scripts/lint.scm:1094 guix/scripts/publish.scm:96 +#: guix/scripts/edit.scm:46 guix/scripts/size.scm:245 +#: guix/scripts/graph.scm:434 guix/scripts/challenge.scm:243 +#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:351 +#: guix/scripts/weather.scm:158 guix/scripts/container.scm:35 +#: guix/scripts/container/exec.scm:45 +msgid "" +"\n" +" -V, --version display version information and exit" +msgstr "" + +#: guix/scripts/build.scm:537 +#, scheme-format +msgid "" +"invalid argument: '~a' option argument: ~a, ~\n" +"must be one of 'package', 'all', or 'transitive'~%" +msgstr "" + +#: guix/scripts/build.scm:590 +#, scheme-format +msgid "~s: not something we can build~%" +msgstr "" + +#: guix/scripts/build.scm:644 +#, scheme-format +msgid "~a: warning: package '~a' has no source~%" +msgstr "" + +#: guix/scripts/build.scm:678 +#, scheme-format +msgid "no build log for '~a'~%" +msgstr "" + +#: guix/discovery.scm:88 +#, scheme-format +msgid "cannot access `~a': ~a~%" +msgstr "" + +#: guix/scripts/download.scm:69 +msgid "" +"Usage: guix download [OPTION] URL\n" +"Download the file at URL to the store or to the given file, and print its\n" +"file name and the hash of its contents.\n" +"\n" +"Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n" +"('hex' and 'hexadecimal' can be used as well).\n" +msgstr "" + +#: guix/scripts/download.scm:75 guix/scripts/hash.scm:54 +msgid "" +"\n" +" -f, --format=FMT write the hash in the given format" +msgstr "" + +#: guix/scripts/download.scm:77 +msgid "" +"\n" +" --no-check-certificate\n" +" do not validate the certificate of HTTPS servers " +msgstr "" + +#: guix/scripts/download.scm:80 +msgid "" +"\n" +" -o, --output=FILE download to FILE" +msgstr "" + +#: guix/scripts/download.scm:103 guix/scripts/hash.scm:82 +#, scheme-format +msgid "unsupported hash format: ~a~%" +msgstr "" + +#: guix/scripts/download.scm:138 guix/scripts/package.scm:906 +#: guix/scripts/publish.scm:846 +#, scheme-format +msgid "~A: extraneous argument~%" +msgstr "" + +#: guix/scripts/download.scm:146 +#, scheme-format +msgid "no download URI was specified~%" +msgstr "" + +#: guix/scripts/download.scm:151 +#, scheme-format +msgid "~a: failed to parse URI~%" +msgstr "" + +#: guix/scripts/download.scm:161 +#, scheme-format +msgid "~a: download failed~%" +msgstr "" + +#: guix/scripts/package.scm:112 +#, scheme-format +msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" +msgstr "" + +#: guix/scripts/package.scm:134 +#, scheme-format +msgid "error: while creating directory `~a': ~a~%" +msgstr "" + +#: guix/scripts/package.scm:138 +#, scheme-format +msgid "Please create the `~a' directory, with you as the owner.~%" +msgstr "" + +#: guix/scripts/package.scm:145 +#, scheme-format +msgid "error: directory `~a' is not owned by you~%" +msgstr "" + +#: guix/scripts/package.scm:148 +#, scheme-format +msgid "Please change the owner of `~a' to user ~s.~%" +msgstr "" + +#: guix/scripts/package.scm:183 +#, scheme-format +msgid "not removing generation ~a, which is current~%" +msgstr "" + +#: guix/scripts/package.scm:190 +#, scheme-format +msgid "no matching generation~%" +msgstr "" + +#: guix/scripts/package.scm:193 guix/scripts/package.scm:716 +#: guix/scripts/system.scm:558 +#, scheme-format +msgid "invalid syntax: ~a~%" +msgstr "" + +#: guix/scripts/package.scm:219 +#, scheme-format +msgid "nothing to be done~%" +msgstr "" + +#: guix/scripts/package.scm:233 +#, scheme-format +msgid "~a package in profile~%" +msgid_plural "~a packages in profile~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/scripts/package.scm:313 +#, scheme-format +msgid "package '~a' no longer exists~%" +msgstr "paquete '~a' ya no existe~%" + +#: guix/scripts/package.scm:351 +#, scheme-format +msgid "The following environment variable definitions may be needed:~%" +msgstr "Puede que se necesiten las siguientes definiciones de variables de entorno:~%" + +#: guix/scripts/package.scm:366 +msgid "" +"Usage: guix package [OPTION]...\n" +"Install, remove, or upgrade packages in a single transaction.\n" +msgstr "" +"Uso: guix package [OPCIÓN]...\n" +"Instala, elimina o actualiza paquetes en una única transacción.\n" + +#: guix/scripts/package.scm:368 +msgid "" +"\n" +" -i, --install PACKAGE ...\n" +" install PACKAGEs" +msgstr "" +"\n" +" -i, --install PAQUETE ...\n" +" install PAQUETEs" + +#: guix/scripts/package.scm:371 +msgid "" +"\n" +" -e, --install-from-expression=EXP\n" +" install the package EXP evaluates to" +msgstr "" + +#: guix/scripts/package.scm:374 +msgid "" +"\n" +" -f, --install-from-file=FILE\n" +" install the package that the code within FILE\n" +" evaluates to" +msgstr "" + +#: guix/scripts/package.scm:378 +msgid "" +"\n" +" -r, --remove PACKAGE ...\n" +" remove PACKAGEs" +msgstr "" +"\n" +" -r, --remove PAQUETES ...\n" +" elimina PAQUETESs" + +#: guix/scripts/package.scm:381 +msgid "" +"\n" +" -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" +msgstr "" + +#: guix/scripts/package.scm:383 +msgid "" +"\n" +" -m, --manifest=FILE create a new profile generation with the manifest\n" +" from FILE" +msgstr "" + +#: guix/scripts/package.scm:386 +msgid "" +"\n" +" --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" +msgstr "" + +#: guix/scripts/package.scm:388 +msgid "" +"\n" +" --roll-back roll back to the previous generation" +msgstr "" + +#: guix/scripts/package.scm:390 +msgid "" +"\n" +" --search-paths[=KIND]\n" +" display needed environment variable definitions" +msgstr "" + +#: guix/scripts/package.scm:393 +msgid "" +"\n" +" -l, --list-generations[=PATTERN]\n" +" list generations matching PATTERN" +msgstr "" + +#: guix/scripts/package.scm:396 +msgid "" +"\n" +" -d, --delete-generations[=PATTERN]\n" +" delete generations matching PATTERN" +msgstr "" + +#: guix/scripts/package.scm:399 +msgid "" +"\n" +" -S, --switch-generation=PATTERN\n" +" switch to a generation matching PATTERN" +msgstr "" + +#: guix/scripts/package.scm:402 +msgid "" +"\n" +" -p, --profile=PROFILE use PROFILE instead of the user's default profile" +msgstr "" + +#: guix/scripts/package.scm:405 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the profile" +msgstr "" + +#: guix/scripts/package.scm:407 guix/scripts/pull.scm:98 +msgid "" +"\n" +" --verbose produce verbose output" +msgstr "" + +#: guix/scripts/package.scm:410 +msgid "" +"\n" +" -s, --search=REGEXP search in synopsis and description using REGEXP" +msgstr "" + +#: guix/scripts/package.scm:412 +msgid "" +"\n" +" -I, --list-installed[=REGEXP]\n" +" list installed packages matching REGEXP" +msgstr "" + +#: guix/scripts/package.scm:415 +msgid "" +"\n" +" -A, --list-available[=REGEXP]\n" +" list available packages matching REGEXP" +msgstr "" + +#: guix/scripts/package.scm:418 +msgid "" +"\n" +" --show=PACKAGE show details about PACKAGE" +msgstr "" + +#: guix/scripts/package.scm:470 +#, scheme-format +msgid "upgrade regexp '~a' looks like a command-line option~%" +msgstr "" + +#: guix/scripts/package.scm:473 +#, scheme-format +msgid "is this intended?~%" +msgstr "" + +#: guix/scripts/package.scm:518 +#, scheme-format +msgid "~a: unsupported kind of search path~%" +msgstr "" + +#: guix/scripts/package.scm:815 +#, scheme-format +msgid "cannot switch to generation '~a'~%" +msgstr "" + +#: guix/scripts/package.scm:831 +#, scheme-format +msgid "would install new manifest from '~a' with ~d entries~%" +msgstr "" + +#: guix/scripts/package.scm:833 +#, scheme-format +msgid "installing new manifest from '~a' with ~d entries~%" +msgstr "" + +#: guix/scripts/gc.scm:42 +msgid "" +"Usage: guix gc [OPTION]... PATHS...\n" +"Invoke the garbage collector.\n" +msgstr "" + +#: guix/scripts/gc.scm:44 +msgid "" +"\n" +" -C, --collect-garbage[=MIN]\n" +" collect at least MIN bytes of garbage" +msgstr "" + +#: guix/scripts/gc.scm:47 +msgid "" +"\n" +" -F, --free-space=FREE attempt to reach FREE available space in the store" +msgstr "" + +#: guix/scripts/gc.scm:49 +msgid "" +"\n" +" -d, --delete attempt to delete PATHS" +msgstr "" + +#: guix/scripts/gc.scm:51 +msgid "" +"\n" +" --optimize optimize the store by deduplicating identical files" +msgstr "" + +#: guix/scripts/gc.scm:53 +msgid "" +"\n" +" --list-dead list dead paths" +msgstr "" + +#: guix/scripts/gc.scm:55 +msgid "" +"\n" +" --list-live list live paths" +msgstr "" + +#: guix/scripts/gc.scm:58 +msgid "" +"\n" +" --references list the references of PATHS" +msgstr "" + +#: guix/scripts/gc.scm:60 +msgid "" +"\n" +" -R, --requisites list the requisites of PATHS" +msgstr "" + +#: guix/scripts/gc.scm:62 +msgid "" +"\n" +" --referrers list the referrers of PATHS" +msgstr "" + +#: guix/scripts/gc.scm:65 +msgid "" +"\n" +" --verify[=OPTS] verify the integrity of the store; OPTS is a\n" +" comma-separated combination of 'repair' and\n" +" 'contents'" +msgstr "" + +#: guix/scripts/gc.scm:69 +msgid "" +"\n" +" --list-failures list cached build failures" +msgstr "" + +#: guix/scripts/gc.scm:71 +msgid "" +"\n" +" --clear-failures remove PATHS from the set of cached failures" +msgstr "" + +#: guix/scripts/gc.scm:100 +#, scheme-format +msgid "invalid amount of storage: ~a~%" +msgstr "" + +#: guix/scripts/gc.scm:185 +msgid "already ~h bytes available on ~a, nothing to do~%" +msgstr "" + +#: guix/scripts/gc.scm:188 +msgid "freeing ~h bytes~%" +msgstr "" + +#: guix/scripts/gc.scm:200 +#, scheme-format +msgid "extraneous arguments: ~{~a ~}~%" +msgstr "" + +#: guix/scripts/gc.scm:220 guix/scripts/gc.scm:223 +msgid "freed ~h bytes~%" +msgstr "" + +#: guix/scripts/hash.scm:47 +msgid "" +"Usage: guix hash [OPTION] FILE\n" +"Return the cryptographic hash of FILE.\n" +"\n" +"Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex'\n" +"and 'hexadecimal' can be used as well).\n" +msgstr "" + +#: guix/scripts/hash.scm:52 +msgid "" +"\n" +" -x, --exclude-vcs exclude version control directories" +msgstr "" + +#: guix/scripts/hash.scm:56 +msgid "" +"\n" +" -r, --recursive compute the hash on FILE recursively" +msgstr "" + +#: guix/scripts/hash.scm:150 guix/ui.scm:326 guix/ui.scm:601 guix/ui.scm:654 +#, scheme-format +msgid "~a~%" +msgstr "" + +#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1022 +#: guix/scripts/system.scm:1031 guix/scripts/system.scm:1038 +#, scheme-format +msgid "wrong number of arguments~%" +msgstr "" + +#: guix/scripts/import.scm:86 +msgid "" +"Usage: guix import IMPORTER ARGS ...\n" +"Run IMPORTER with ARGS.\n" +msgstr "" + +#: guix/scripts/import.scm:89 +msgid "IMPORTER must be one of the importers listed below:\n" +msgstr "" + +#: guix/scripts/import.scm:103 +#, scheme-format +msgid "guix import: missing importer name~%" +msgstr "" + +#: guix/scripts/import.scm:123 +#, scheme-format +msgid "'~a' import failed~%" +msgstr "" + +#: guix/scripts/import.scm:124 +#, scheme-format +msgid "~a: invalid importer~%" +msgstr "" + +#: guix/scripts/import/cran.scm:43 +msgid "" +"Usage: guix import cran PACKAGE-NAME\n" +"Import and convert the CRAN package for PACKAGE-NAME.\n" +msgstr "" + +#: guix/scripts/import/cran.scm:45 +msgid "" +"\n" +" -a, --archive=ARCHIVE specify the archive repository" +msgstr "" + +#: guix/scripts/import/cran.scm:108 +#, scheme-format +msgid "failed to download description for package '~a'~%" +msgstr "" + +#: guix/scripts/import/cran.scm:112 guix/scripts/import/elpa.scm:95 +#, scheme-format +msgid "too few arguments~%" +msgstr "" + +#: guix/scripts/import/cran.scm:114 guix/scripts/import/elpa.scm:97 +#, scheme-format +msgid "too many arguments~%" +msgstr "" + +#: guix/scripts/import/elpa.scm:41 +msgid "" +"Usage: guix import elpa PACKAGE-NAME\n" +"Import the latest package named PACKAGE-NAME from an ELPA repository.\n" +msgstr "" + +#: guix/scripts/import/elpa.scm:43 +msgid "" +"\n" +" -a, --archive=ARCHIVE specify the archive repository" +msgstr "" + +#: guix/scripts/import/elpa.scm:45 +msgid "" +"\n" +" -h, --help display this help and exit" +msgstr "" + +#: guix/scripts/import/elpa.scm:47 +msgid "" +"\n" +" -V, --version display version information and exit" +msgstr "" + +#: guix/scripts/import/elpa.scm:92 +#, scheme-format +msgid "failed to download package '~a'~%" +msgstr "" + +#: guix/scripts/pull.scm:60 +#, scheme-format +msgid "" +"Guile-Git is missing but it is now required by 'guix pull'.\n" +"Install it by running:\n" +"\n" +" guix package -i ~a\n" +" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n" +" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" +"\n" +msgstr "" + +#: guix/scripts/pull.scm:96 +msgid "" +"Usage: guix pull [OPTION]...\n" +"Download and deploy the latest version of Guix.\n" +msgstr "" + +#: guix/scripts/pull.scm:100 +msgid "" +"\n" +" --url=URL download from the Git repository at URL" +msgstr "" + +#: guix/scripts/pull.scm:102 +msgid "" +"\n" +" --commit=COMMIT download the specified COMMIT" +msgstr "" + +#: guix/scripts/pull.scm:104 +msgid "" +"\n" +" --branch=BRANCH download the tip of the specified BRANCH" +msgstr "" + +#: guix/scripts/pull.scm:106 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the new Guix" +msgstr "" + +#: guix/scripts/pull.scm:192 +msgid "Guix already up to date\n" +msgstr "" + +#: guix/scripts/pull.scm:197 +#, scheme-format +msgid "updated ~a successfully deployed under `~a'~%" +msgstr "" + +#: guix/scripts/pull.scm:200 +#, scheme-format +msgid "failed to update Guix, check the build log~%" +msgstr "" + +#: guix/scripts/pull.scm:216 +#, scheme-format +msgid "cannot enforce use of the Let's Encrypt certificates~%" +msgstr "" + +#: guix/scripts/pull.scm:218 +#, scheme-format +msgid "please upgrade Guile-Git~%" +msgstr "" + +#: guix/scripts/pull.scm:226 +#, scheme-format +msgid "Git error ~a~%" +msgstr "" + +#: guix/scripts/pull.scm:228 +#, scheme-format +msgid "Git error: ~a~%" +msgstr "" + +#: guix/scripts/pull.scm:262 +#, scheme-format +msgid "Updating from Git repository at '~a'...~%" +msgstr "" + +#: guix/scripts/pull.scm:271 +#, scheme-format +msgid "Building from Git commit ~a...~%" +msgstr "" + +#: guix/scripts/substitute.scm:125 +#, scheme-format +msgid "authentication and authorization of substitutes disabled!~%" +msgstr "" + +#: guix/scripts/substitute.scm:200 +#, scheme-format +msgid "download from '~a' failed: ~a, ~s~%" +msgstr "" + +#: guix/scripts/substitute.scm:213 +#, scheme-format +msgid "while fetching ~a: server is somewhat slow~%" +msgstr "" + +#: guix/scripts/substitute.scm:215 +#, scheme-format +msgid "try `--no-substitutes' if the problem persists~%" +msgstr "" + +#: guix/scripts/substitute.scm:233 +#, scheme-format +msgid "unsupported substitute URI scheme: ~a~%" +msgstr "" + +#: guix/scripts/substitute.scm:268 +#, scheme-format +msgid "while fetching '~a': ~a (~s)~%" +msgstr "" + +#: guix/scripts/substitute.scm:273 +#, scheme-format +msgid "ignoring substitute server at '~s'~%" +msgstr "" + +#: guix/scripts/substitute.scm:323 +#, scheme-format +msgid "signature version must be a number: ~s~%" +msgstr "" + +#: guix/scripts/substitute.scm:327 +#, scheme-format +msgid "unsupported signature version: ~a~%" +msgstr "" + +#: guix/scripts/substitute.scm:335 +#, scheme-format +msgid "signature is not a valid s-expression: ~s~%" +msgstr "" + +#: guix/scripts/substitute.scm:339 +#, scheme-format +msgid "invalid format of the signature field: ~a~%" +msgstr "" + +#: guix/scripts/substitute.scm:374 +#, scheme-format +msgid "invalid signature for '~a'~%" +msgstr "" + +#: guix/scripts/substitute.scm:376 +#, scheme-format +msgid "hash mismatch for '~a'~%" +msgstr "" + +#: guix/scripts/substitute.scm:378 +#, scheme-format +msgid "'~a' is signed with an unauthorized key~%" +msgstr "" + +#: guix/scripts/substitute.scm:380 +#, scheme-format +msgid "signature on '~a' is corrupt~%" +msgstr "" + +#: guix/scripts/substitute.scm:465 +#, scheme-format +msgid "'~a' does not name a store item~%" +msgstr "" + +#: guix/scripts/substitute.scm:629 +#, scheme-format +msgid "updating list of substitutes from '~a'... ~5,1f%" +msgstr "" + +#: guix/scripts/substitute.scm:693 +#, scheme-format +msgid "~s: unsupported server URI scheme~%" +msgstr "" + +#: guix/scripts/substitute.scm:703 +#, scheme-format +msgid "'~a' uses different store '~a'; ignoring it~%" +msgstr "" + +#: guix/scripts/substitute.scm:863 +#, scheme-format +msgid "host name lookup error: ~a~%" +msgstr "" + +#: guix/scripts/substitute.scm:868 +#, scheme-format +msgid "TLS error in procedure '~a': ~a~%" +msgstr "" + +#: guix/scripts/substitute.scm:879 +msgid "" +"Usage: guix substitute [OPTION]...\n" +"Internal tool to substitute a pre-built binary to a local build.\n" +msgstr "" + +#: guix/scripts/substitute.scm:881 +msgid "" +"\n" +" --query report on the availability of substitutes for the\n" +" store file names passed on the standard input" +msgstr "" + +#: guix/scripts/substitute.scm:884 +msgid "" +"\n" +" --substitute STORE-FILE DESTINATION\n" +" download STORE-FILE and store it as a Nar in file\n" +" DESTINATION" +msgstr "" + +#: guix/scripts/substitute.scm:949 +#, scheme-format +msgid "no valid substitute for '~a'~%" +msgstr "" + +#: guix/scripts/substitute.scm:956 +#, scheme-format +msgid "Downloading ~a...~%" +msgstr "" + +#: guix/scripts/substitute.scm:1012 +msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" +msgstr "" + +#: guix/scripts/substitute.scm:1066 +#, scheme-format +msgid "~a: invalid URI~%" +msgstr "" + +#: guix/scripts/substitute.scm:1126 +#, scheme-format +msgid "~a: unrecognized options~%" +msgstr "" + +#: guix/scripts/authenticate.scm:59 +#, scheme-format +msgid "cannot find public key for secret key '~a'~%" +msgstr "" + +#: guix/scripts/authenticate.scm:79 +#, scheme-format +msgid "error: invalid signature: ~a~%" +msgstr "" + +#: guix/scripts/authenticate.scm:81 +#, scheme-format +msgid "error: unauthorized public key: ~a~%" +msgstr "" + +#: guix/scripts/authenticate.scm:83 +#, scheme-format +msgid "error: corrupt signature data: ~a~%" +msgstr "" + +#: guix/scripts/authenticate.scm:121 +msgid "" +"Usage: guix authenticate OPTION...\n" +"Sign or verify the signature on the given file. This tool is meant to\n" +"be used internally by 'guix-daemon'.\n" +msgstr "" + +#: guix/scripts/authenticate.scm:127 +msgid "wrong arguments" +msgstr "argumentos incorrectos" + +#: guix/scripts/system.scm:135 +#, scheme-format +msgid "failed to register '~a' under '~a'~%" +msgstr "" + +#: guix/scripts/system.scm:174 +#, scheme-format +msgid "failed to install bootloader ~a~%" +msgstr "" + +#: guix/scripts/system.scm:194 +#, scheme-format +msgid "initializing the current root file system~%" +msgstr "" + +#: guix/scripts/system.scm:208 +#, scheme-format +msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" +msgstr "" + +#: guix/scripts/system.scm:253 +#, scheme-format +msgid "while talking to shepherd: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:260 +#, scheme-format +msgid "service '~a' could not be found~%" +msgstr "" + +#: guix/scripts/system.scm:263 +#, scheme-format +msgid "service '~a' does not have an action '~a'~%" +msgstr "" + +#: guix/scripts/system.scm:267 +#, scheme-format +msgid "exception caught while executing '~a' on service '~a':~%" +msgstr "" + +#: guix/scripts/system.scm:275 +#, scheme-format +msgid "something went wrong: ~s~%" +msgstr "" + +#: guix/scripts/system.scm:278 +#, scheme-format +msgid "shepherd error~%" +msgstr "" + +#: guix/scripts/system.scm:295 +#, scheme-format +msgid "failed to obtain list of shepherd services~%" +msgstr "" + +#: guix/scripts/system.scm:315 +#, scheme-format +msgid "unloading service '~a'...~%" +msgstr "" + +#: guix/scripts/system.scm:323 +#, scheme-format +msgid "loading new services:~{ ~a~}...~%" +msgstr "" + +#: guix/scripts/system.scm:347 +#, scheme-format +msgid "activating system...~%" +msgstr "" + +#: guix/scripts/system.scm:423 +#, scheme-format +msgid "cannot switch to system generation '~a'~%" +msgstr "" + +#: guix/scripts/system.scm:494 +msgid "the DAG of services" +msgstr "" + +#: guix/scripts/system.scm:507 +msgid "the dependency graph of shepherd services" +msgstr "" + +#: guix/scripts/system.scm:531 +#, scheme-format +msgid " file name: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:532 +#, scheme-format +msgid " canonical file name: ~a~%" +msgstr "" + +#. TRANSLATORS: Please preserve the two-space indentation. +#: guix/scripts/system.scm:534 +#, scheme-format +msgid " label: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:535 +#, scheme-format +msgid " bootloader: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:536 +#, scheme-format +msgid " root device: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:540 +#, scheme-format +msgid " kernel: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:600 +#, scheme-format +msgid "~a: error: file system with label '~a' not found~%" +msgstr "" + +#: guix/scripts/system.scm:606 +#, scheme-format +msgid "~a: error: file system with UUID '~a' not found~%" +msgstr "" + +#: guix/scripts/system.scm:658 +#, scheme-format +msgid "~a not found: 'guix pull' was never run~%" +msgstr "" + +#: guix/scripts/system.scm:659 +#, scheme-format +msgid "Consider running 'guix pull' before 'reconfigure'.~%" +msgstr "" + +#: guix/scripts/system.scm:660 +#, scheme-format +msgid "Failing to do that may downgrade your system!~%" +msgstr "" + +#: guix/scripts/system.scm:767 +#, scheme-format +msgid "initializing operating system under '~a'...~%" +msgstr "" + +#: guix/scripts/system.scm:812 +msgid "" +"Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n" +"Build the operating system declared in FILE according to ACTION.\n" +"Some ACTIONS support additional ARGS.\n" +msgstr "" + +#: guix/scripts/system.scm:816 guix/scripts/container.scm:28 +msgid "The valid values for ACTION are:\n" +msgstr "" + +#: guix/scripts/system.scm:818 +msgid " search search for existing service types\n" +msgstr "" + +#: guix/scripts/system.scm:820 +msgid " reconfigure switch to a new operating system configuration\n" +msgstr "" + +#: guix/scripts/system.scm:822 +msgid " roll-back switch to the previous operating system configuration\n" +msgstr "" + +#: guix/scripts/system.scm:824 +msgid " switch-generation switch to an existing operating system configuration\n" +msgstr "" + +#: guix/scripts/system.scm:826 +msgid " list-generations list the system generations\n" +msgstr "" + +#: guix/scripts/system.scm:828 +msgid " build build the operating system without installing anything\n" +msgstr "" + +#: guix/scripts/system.scm:830 +msgid " container build a container that shares the host's store\n" +msgstr "" + +#: guix/scripts/system.scm:832 +msgid " vm build a virtual machine image that shares the host's store\n" +msgstr "" + +#: guix/scripts/system.scm:834 +msgid " vm-image build a freestanding virtual machine image\n" +msgstr "" + +#: guix/scripts/system.scm:836 +msgid " disk-image build a disk image, suitable for a USB stick\n" +msgstr "" + +#: guix/scripts/system.scm:838 +msgid " init initialize a root file system to run GNU\n" +msgstr "" + +#: guix/scripts/system.scm:840 +msgid " extension-graph emit the service extension graph in Dot format\n" +msgstr "" + +#: guix/scripts/system.scm:842 +msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" +msgstr "" + +#: guix/scripts/system.scm:846 +msgid "" +"\n" +" -d, --derivation return the derivation of the given system" +msgstr "" + +#: guix/scripts/system.scm:848 +msgid "" +"\n" +" --on-error=STRATEGY\n" +" apply STRATEGY when an error occurs while reading FILE" +msgstr "" + +#: guix/scripts/system.scm:851 +msgid "" +"\n" +" --file-system-type=TYPE\n" +" for 'disk-image', produce a root file system of TYPE\n" +" (one of 'ext4', 'iso9660')" +msgstr "" + +#: guix/scripts/system.scm:855 +msgid "" +"\n" +" --image-size=SIZE for 'vm-image', produce an image of SIZE" +msgstr "" + +#: guix/scripts/system.scm:857 +msgid "" +"\n" +" --no-bootloader for 'init', do not install a bootloader" +msgstr "" + +#: guix/scripts/system.scm:859 +msgid "" +"\n" +" --share=SPEC for 'vm', share host file system according to SPEC" +msgstr "" + +#: guix/scripts/system.scm:861 +msgid "" +"\n" +" -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n" +" and 'build', make FILE a symlink to the result, and\n" +" register it as a garbage collector root" +msgstr "" + +#: guix/scripts/system.scm:865 +msgid "" +"\n" +" --expose=SPEC for 'vm', expose host file system according to SPEC" +msgstr "" + +#: guix/scripts/system.scm:867 +msgid "" +"\n" +" --full-boot for 'vm', make a full boot sequence" +msgstr "" + +#: guix/scripts/system.scm:959 +#, scheme-format +msgid "no configuration file specified~%" +msgstr "" + +#: guix/scripts/system.scm:1057 +#, scheme-format +msgid "~a: unknown action~%" +msgstr "" + +#: guix/scripts/system.scm:1072 +#, scheme-format +msgid "wrong number of arguments for action '~a'~%" +msgstr "" + +#: guix/scripts/system.scm:1077 +#, scheme-format +msgid "guix system: missing command name~%" +msgstr "" + +#: guix/scripts/system.scm:1079 +#, scheme-format +msgid "Try 'guix system --help' for more information.~%" +msgstr "" + +#: guix/scripts/system/search.scm:64 guix/ui.scm:1057 guix/ui.scm:1071 +msgid "unknown" +msgstr "" + +#: guix/scripts/lint.scm:138 +#, scheme-format +msgid "Available checkers:~%" +msgstr "" + +#: guix/scripts/lint.scm:162 +msgid "description should not be empty" +msgstr "" + +#: guix/scripts/lint.scm:172 +msgid "Texinfo markup in description is invalid" +msgstr "" + +#: guix/scripts/lint.scm:182 +#, scheme-format +msgid "" +"description should not contain ~\n" +"trademark sign '~a' at ~d" +msgstr "" + +#. TRANSLATORS: '@code' is Texinfo markup and must be kept +#. as is. +#: guix/scripts/lint.scm:195 +msgid "use @code or similar ornament instead of quotes" +msgstr "" + +#: guix/scripts/lint.scm:202 +msgid "description should start with an upper-case letter or digit" +msgstr "" + +#: guix/scripts/lint.scm:218 +#, scheme-format +msgid "" +"sentences in description should be followed ~\n" +"by two spaces; possible infraction~p at ~{~a~^, ~}" +msgstr "" + +#: guix/scripts/lint.scm:236 +#, scheme-format +msgid "invalid description: ~s" +msgstr "" + +#: guix/scripts/lint.scm:281 +#, scheme-format +msgid "'~a' should probably be a native input" +msgstr "" + +#: guix/scripts/lint.scm:297 +#, scheme-format +msgid "'~a' should probably not be an input at all" +msgstr "" + +#: guix/scripts/lint.scm:314 +msgid "synopsis should not be empty" +msgstr "" + +#: guix/scripts/lint.scm:322 +msgid "no period allowed at the end of the synopsis" +msgstr "" + +#: guix/scripts/lint.scm:334 +msgid "no article allowed at the beginning of the synopsis" +msgstr "" + +#: guix/scripts/lint.scm:341 +msgid "synopsis should be less than 80 characters long" +msgstr "" + +#: guix/scripts/lint.scm:347 +msgid "synopsis should start with an upper-case letter or digit" +msgstr "" + +#: guix/scripts/lint.scm:354 +msgid "synopsis should not start with the package name" +msgstr "" + +#: guix/scripts/lint.scm:364 +msgid "Texinfo markup in synopsis is invalid" +msgstr "" + +#: guix/scripts/lint.scm:383 +#, scheme-format +msgid "invalid synopsis: ~s" +msgstr "" + +#: guix/scripts/lint.scm:502 +#, scheme-format +msgid "URI ~a returned suspiciously small file (~a bytes)" +msgstr "" + +#: guix/scripts/lint.scm:512 +#, scheme-format +msgid "permanent redirect from ~a to ~a" +msgstr "" + +#: guix/scripts/lint.scm:519 +#, scheme-format +msgid "invalid permanent redirect from ~a" +msgstr "" + +#: guix/scripts/lint.scm:526 guix/scripts/lint.scm:538 +#, scheme-format +msgid "URI ~a not reachable: ~a (~s)" +msgstr "" + +#: guix/scripts/lint.scm:545 +#, scheme-format +msgid "URI ~a domain not found: ~a" +msgstr "" + +#: guix/scripts/lint.scm:553 +#, scheme-format +msgid "URI ~a unreachable: ~a" +msgstr "" + +#: guix/scripts/lint.scm:562 +#, scheme-format +msgid "TLS certificate error: ~a" +msgstr "" + +#: guix/scripts/lint.scm:583 +msgid "invalid value for home page" +msgstr "" + +#: guix/scripts/lint.scm:586 +#, scheme-format +msgid "invalid home page URL: ~s" +msgstr "" + +#: guix/scripts/lint.scm:606 +msgid "file names of patches should start with the package name" +msgstr "" + +#: guix/scripts/lint.scm:644 +#, scheme-format +msgid "~a: ~a: proposed synopsis: ~s~%" +msgstr "" + +#: guix/scripts/lint.scm:657 +#, scheme-format +msgid "~a: ~a: proposed description:~% \"~a\"~%" +msgstr "" + +#: guix/scripts/lint.scm:699 +msgid "all the source URIs are unreachable:" +msgstr "" + +#: guix/scripts/lint.scm:721 +msgid "the source file name should contain the package name" +msgstr "" + +#: guix/scripts/lint.scm:737 +#, scheme-format +msgid "URL should be 'mirror://~a/~a'" +msgstr "" + +#: guix/scripts/lint.scm:755 guix/scripts/lint.scm:759 +#, scheme-format +msgid "failed to create derivation: ~a" +msgstr "" + +#: guix/scripts/lint.scm:773 +#, scheme-format +msgid "failed to create derivation: ~s~%" +msgstr "" + +#: guix/scripts/lint.scm:783 +msgid "invalid license field" +msgstr "" + +#: guix/scripts/lint.scm:799 +#, scheme-format +msgid "~a: HTTP GET error for ~a: ~a (~s)~%" +msgstr "" + +#: guix/scripts/lint.scm:809 +#, scheme-format +msgid "~a: host lookup failure: ~a~%" +msgstr "" + +#: guix/scripts/lint.scm:814 +#, scheme-format +msgid "~a: TLS certificate error: ~a" +msgstr "" + +#: guix/scripts/lint.scm:829 +msgid "while retrieving CVE vulnerabilities" +msgstr "" + +#: guix/scripts/lint.scm:866 +#, scheme-format +msgid "probably vulnerable to ~a" +msgstr "" + +#: guix/scripts/lint.scm:873 +#, scheme-format +msgid "while retrieving upstream info for '~a'" +msgstr "" + +#: guix/scripts/lint.scm:881 +#, scheme-format +msgid "can be upgraded to ~a" +msgstr "" + +#: guix/scripts/lint.scm:896 +#, scheme-format +msgid "tabulation on line ~a, column ~a" +msgstr "" + +#: guix/scripts/lint.scm:905 +#, scheme-format +msgid "trailing white space on line ~a" +msgstr "" + +#: guix/scripts/lint.scm:915 +#, scheme-format +msgid "line ~a is way too long (~a characters)" +msgstr "" + +#: guix/scripts/lint.scm:926 +#, scheme-format +msgid "line ~a: parentheses feel lonely, move to the previous or next line" +msgstr "" + +#: guix/scripts/lint.scm:996 +msgid "Validate package descriptions" +msgstr "" + +#: guix/scripts/lint.scm:1000 +msgid "Validate synopsis & description of GNU packages" +msgstr "" + +#: guix/scripts/lint.scm:1004 +msgid "Identify inputs that should be native inputs" +msgstr "" + +#: guix/scripts/lint.scm:1008 +msgid "Identify inputs that should be inputs at all" +msgstr "" + +#: guix/scripts/lint.scm:1012 +msgid "Validate file names and availability of patches" +msgstr "" + +#: guix/scripts/lint.scm:1016 +msgid "Validate home-page URLs" +msgstr "" + +#. TRANSLATORS: is the name of a data type and must not be +#. translated. +#: guix/scripts/lint.scm:1022 +msgid "Make sure the 'license' field is a or a list thereof" +msgstr "" + +#: guix/scripts/lint.scm:1027 +msgid "Validate source URLs" +msgstr "" + +#: guix/scripts/lint.scm:1031 +msgid "Suggest 'mirror://' URLs" +msgstr "" + +#: guix/scripts/lint.scm:1035 +msgid "Validate file names of sources" +msgstr "" + +#: guix/scripts/lint.scm:1039 +msgid "Report failure to compile a package to a derivation" +msgstr "" + +#: guix/scripts/lint.scm:1043 +msgid "Validate package synopses" +msgstr "" + +#: guix/scripts/lint.scm:1047 +msgid "Check the Common Vulnerabilities and Exposures (CVE) database" +msgstr "" + +#: guix/scripts/lint.scm:1052 +msgid "Check the package for new upstream releases" +msgstr "" + +#: guix/scripts/lint.scm:1056 +msgid "Look for formatting issues in the source" +msgstr "" + +#: guix/scripts/lint.scm:1084 +msgid "" +"Usage: guix lint [OPTION]... [PACKAGE]...\n" +"Run a set of checkers on the specified package; if none is specified,\n" +"run the checkers on all packages.\n" +msgstr "" + +#: guix/scripts/lint.scm:1087 +msgid "" +"\n" +" -c, --checkers=CHECKER1,CHECKER2...\n" +" only run the specified checkers" +msgstr "" + +#: guix/scripts/lint.scm:1092 +msgid "" +"\n" +" -l, --list-checkers display the list of available lint checkers" +msgstr "" + +#: guix/scripts/lint.scm:1112 +#, scheme-format +msgid "~a: invalid checker~%" +msgstr "" + +#: guix/scripts/publish.scm:68 +#, scheme-format +msgid "" +"Usage: guix publish [OPTION]...\n" +"Publish ~a over HTTP.\n" +msgstr "" + +#: guix/scripts/publish.scm:70 +msgid "" +"\n" +" -p, --port=PORT listen on PORT" +msgstr "" + +#: guix/scripts/publish.scm:72 +msgid "" +"\n" +" --listen=HOST listen on the network interface for HOST" +msgstr "" + +#: guix/scripts/publish.scm:74 +msgid "" +"\n" +" -u, --user=USER change privileges to USER as soon as possible" +msgstr "" + +#: guix/scripts/publish.scm:76 +msgid "" +"\n" +" -C, --compression[=LEVEL]\n" +" compress archives at LEVEL" +msgstr "" + +#: guix/scripts/publish.scm:79 +msgid "" +"\n" +" -c, --cache=DIRECTORY cache published items to DIRECTORY" +msgstr "" + +#: guix/scripts/publish.scm:81 +msgid "" +"\n" +" --workers=N use N workers to bake items" +msgstr "" + +#: guix/scripts/publish.scm:83 +msgid "" +"\n" +" --ttl=TTL announce narinfos can be cached for TTL seconds" +msgstr "" + +#: guix/scripts/publish.scm:85 +msgid "" +"\n" +" --nar-path=PATH use PATH as the prefix for nar URLs" +msgstr "" + +#: guix/scripts/publish.scm:87 +msgid "" +"\n" +" --public-key=FILE use FILE as the public key for signatures" +msgstr "" + +#: guix/scripts/publish.scm:89 +msgid "" +"\n" +" --private-key=FILE use FILE as the private key for signatures" +msgstr "" + +#: guix/scripts/publish.scm:91 +msgid "" +"\n" +" -r, --repl[=PORT] spawn REPL server on PORT" +msgstr "" + +#: guix/scripts/publish.scm:107 +#, scheme-format +msgid "lookup of host '~a' failed: ~a~%" +msgstr "" + +#: guix/scripts/publish.scm:152 +#, scheme-format +msgid "lookup of host '~a' returned nothing" +msgstr "" + +#: guix/scripts/publish.scm:165 +#, scheme-format +msgid "zlib support is missing; compression disabled~%" +msgstr "" + +#: guix/scripts/publish.scm:179 +#, scheme-format +msgid "~a: invalid duration~%" +msgstr "" + +#: guix/scripts/publish.scm:832 +#, scheme-format +msgid "user '~a' not found: ~a~%" +msgstr "" + +#: guix/scripts/publish.scm:873 +#, scheme-format +msgid "server running as root; consider using the '--user' option!~%" +msgstr "" + +#: guix/scripts/publish.scm:878 +#, scheme-format +msgid "publishing ~a on ~a, port ~d~%" +msgstr "" + +#: guix/scripts/edit.scm:41 +msgid "" +"Usage: guix edit PACKAGE...\n" +"Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n" +msgstr "" + +#: guix/scripts/edit.scm:62 +#, scheme-format +msgid "file '~a' not found in search path ~s~%" +msgstr "" + +#: guix/scripts/edit.scm:90 +#, scheme-format +msgid "source location of package '~a' is unknown~%" +msgstr "" + +#: guix/scripts/edit.scm:103 +#, scheme-format +msgid "failed to launch '~a': ~a~%" +msgstr "" + +#: guix/scripts/size.scm:77 +#, scheme-format +msgid "no available substitute information for '~a'~%" +msgstr "" + +#: guix/scripts/size.scm:99 +msgid "store item" +msgstr "" + +#: guix/scripts/size.scm:99 +msgid "total" +msgstr "" + +#: guix/scripts/size.scm:99 +msgid "self" +msgstr "" + +#: guix/scripts/size.scm:107 +#, scheme-format +msgid "total: ~,1f MiB~%" +msgstr "" + +#. TRANSLATORS: This is the title of a graph, meaning that the graph +#. represents a profile of the store (the "store" being the place where +#. packages are stored.) +#: guix/scripts/size.scm:221 +msgid "store profile" +msgstr "" + +#: guix/scripts/size.scm:230 +msgid "" +"Usage: guix size [OPTION]... PACKAGE\n" +"Report the size of PACKAGE and its dependencies.\n" +msgstr "" + +#: guix/scripts/size.scm:235 +msgid "" +"\n" +" -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\"" +msgstr "" + +#. TRANSLATORS: "closure" and "self" must not be translated. +#: guix/scripts/size.scm:238 +msgid "" +"\n" +" --sort=KEY sort according to KEY--\"closure\" or \"self\"" +msgstr "" + +#: guix/scripts/size.scm:240 +msgid "" +"\n" +" -m, --map-file=FILE write to FILE a graphical map of disk usage" +msgstr "" + +#: guix/scripts/size.scm:271 +#, scheme-format +msgid "~a: invalid sorting key~%" +msgstr "" + +#: guix/scripts/size.scm:306 +msgid "missing store item argument\n" +msgstr "" + +#: guix/scripts/graph.scm:84 +#, scheme-format +msgid "~a: invalid argument (package name expected)" +msgstr "" + +#: guix/scripts/graph.scm:95 +msgid "the DAG of packages, excluding implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:121 +msgid "the reverse DAG of packages" +msgstr "" + +#: guix/scripts/graph.scm:171 +msgid "the DAG of packages, including implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:181 +msgid "the DAG of packages and origins, including implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:211 +msgid "same as 'bag', but without the bootstrap nodes" +msgstr "" + +#: guix/scripts/graph.scm:253 +msgid "the DAG of derivations" +msgstr "" + +#: guix/scripts/graph.scm:265 +msgid "unsupported argument for derivation graph" +msgstr "" + +#: guix/scripts/graph.scm:291 +msgid "unsupported argument for this type of graph" +msgstr "" + +#: guix/scripts/graph.scm:304 +#, scheme-format +msgid "references for '~a' are not known~%" +msgstr "" + +#: guix/scripts/graph.scm:311 +msgid "the DAG of run-time dependencies (store references)" +msgstr "" + +#: guix/scripts/graph.scm:327 +msgid "the DAG of referrers in the store" +msgstr "" + +#: guix/scripts/graph.scm:354 +#, scheme-format +msgid "~a: unknown node type~%" +msgstr "" + +#: guix/scripts/graph.scm:361 +#, scheme-format +msgid "~a: unknown backend~%" +msgstr "" + +#: guix/scripts/graph.scm:365 +msgid "The available node types are:\n" +msgstr "" + +#: guix/scripts/graph.scm:375 +msgid "The available backend types are:\n" +msgstr "" + +#. TRANSLATORS: Here 'dot' is the name of a program; it must not be +#. translated. +#: guix/scripts/graph.scm:419 +msgid "" +"Usage: guix graph PACKAGE...\n" +"Emit a representation of the dependency graph of PACKAGE...\n" +msgstr "" + +#: guix/scripts/graph.scm:421 +msgid "" +"\n" +" -b, --backend=TYPE produce a graph with the given backend TYPE" +msgstr "" + +#: guix/scripts/graph.scm:423 +msgid "" +"\n" +" --list-backends list the available graph backends" +msgstr "" + +#: guix/scripts/graph.scm:425 +msgid "" +"\n" +" -t, --type=TYPE represent nodes of the given TYPE" +msgstr "" + +#: guix/scripts/graph.scm:427 +msgid "" +"\n" +" --list-types list the available graph types" +msgstr "" + +#: guix/scripts/graph.scm:429 guix/scripts/pack.scm:336 +msgid "" +"\n" +" -e, --expression=EXPR consider the package EXPR evaluates to" +msgstr "" + +#: guix/scripts/challenge.scm:191 +#, scheme-format +msgid " local hash: ~a~%" +msgstr "" + +#: guix/scripts/challenge.scm:192 +#, scheme-format +msgid " no local build for '~a'~%" +msgstr "" + +#: guix/scripts/challenge.scm:194 +#, scheme-format +msgid " ~50a: ~a~%" +msgstr "" + +#: guix/scripts/challenge.scm:202 +#, scheme-format +msgid "~a contents differ:~%" +msgstr "" + +#: guix/scripts/challenge.scm:205 +#, scheme-format +msgid "could not challenge '~a': no local build~%" +msgstr "" + +#: guix/scripts/challenge.scm:207 +#, scheme-format +msgid "could not challenge '~a': no substitutes~%" +msgstr "" + +#: guix/scripts/challenge.scm:210 +#, scheme-format +msgid "~a contents match:~%" +msgstr "" + +#: guix/scripts/challenge.scm:219 +msgid "~h store items were analyzed:~%" +msgstr "" + +#: guix/scripts/challenge.scm:220 +msgid " - ~h (~,1f%) were identical~%" +msgstr "" + +#: guix/scripts/challenge.scm:222 +msgid " - ~h (~,1f%) differed~%" +msgstr "" + +#: guix/scripts/challenge.scm:224 +msgid " - ~h (~,1f%) were inconclusive~%" +msgstr "" + +#: guix/scripts/challenge.scm:233 +msgid "" +"Usage: guix challenge [PACKAGE...]\n" +"Challenge the substitutes for PACKAGE... provided by one or more servers.\n" +msgstr "" + +#: guix/scripts/challenge.scm:235 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" compare build results with those at URLS" +msgstr "" + +#: guix/scripts/challenge.scm:238 +msgid "" +"\n" +" -v, --verbose show details about successful comparisons" +msgstr "" + +#: guix/scripts/copy.scm:59 +#, scheme-format +msgid "~a: invalid TCP port number~%" +msgstr "" + +#: guix/scripts/copy.scm:61 +#, scheme-format +msgid "~a: invalid SSH specification~%" +msgstr "" + +#: guix/scripts/copy.scm:113 +msgid "" +"Usage: guix copy [OPTION]... ITEMS...\n" +"Copy ITEMS to or from the specified host over SSH.\n" +msgstr "" + +#: guix/scripts/copy.scm:115 +msgid "" +"\n" +" --to=HOST send ITEMS to HOST" +msgstr "" + +#: guix/scripts/copy.scm:117 +msgid "" +"\n" +" --from=HOST receive ITEMS from HOST" +msgstr "" + +#: guix/scripts/copy.scm:168 +#, scheme-format +msgid "use '--to' or '--from'~%" +msgstr "" + +#: guix/scripts/pack.scm:76 +#, scheme-format +msgid "~a: compressor not found~%" +msgstr "" + +#: guix/scripts/pack.scm:318 +#, scheme-format +msgid "~a: invalid symlink specification~%" +msgstr "" + +#: guix/scripts/pack.scm:328 +msgid "" +"Usage: guix pack [OPTION]... PACKAGE...\n" +"Create a bundle of PACKAGE.\n" +msgstr "" + +#: guix/scripts/pack.scm:334 +msgid "" +"\n" +" -f, --format=FORMAT build a pack in the given FORMAT" +msgstr "" + +#: guix/scripts/pack.scm:342 +msgid "" +"\n" +" -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" +msgstr "" + +#: guix/scripts/pack.scm:344 +msgid "" +"\n" +" -S, --symlink=SPEC create symlinks to the profile according to SPEC" +msgstr "" + +#: guix/scripts/pack.scm:346 +msgid "" +"\n" +" --localstatedir include /var/guix in the resulting pack" +msgstr "" + +#: guix/scripts/pack.scm:390 +#, scheme-format +msgid "~a: unknown pack format" +msgstr "" + +#: guix/scripts/weather.scm:74 +msgid "computing ~h package derivations for ~a...~%" +msgstr "" + +#: guix/scripts/weather.scm:110 +msgid "looking for ~h store items on ~a...~%" +msgstr "" + +#: guix/scripts/weather.scm:120 +msgid " ~2,1f% substitutes available (~h out of ~h)~%" +msgstr "" + +#: guix/scripts/weather.scm:126 +#, scheme-format +msgid " unknown substitute sizes~%" +msgstr "" + +#: guix/scripts/weather.scm:129 +msgid " ~,1h MiB of nars (compressed)~%" +msgstr "" + +#: guix/scripts/weather.scm:130 +msgid " at least ~,1h MiB of nars (compressed)~%" +msgstr "" + +#: guix/scripts/weather.scm:132 +msgid " ~,1h MiB on disk (uncompressed)~%" +msgstr "" + +#: guix/scripts/weather.scm:134 +msgid " ~,3h seconds per request (~,1h seconds in total)~%" +msgstr "" + +#: guix/scripts/weather.scm:136 +msgid " ~,1h requests per second~%" +msgstr "" + +#: guix/scripts/weather.scm:145 +msgid "" +"Usage: guix weather [OPTIONS]\n" +"Report the availability of substitutes.\n" +msgstr "" + +#: guix/scripts/weather.scm:147 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" check for available substitutes at URLS" +msgstr "" + +#: guix/scripts/weather.scm:150 +msgid "" +"\n" +" -m, --manifest=MANIFEST\n" +" look up substitutes for packages specified in MANIFEST" +msgstr "" + +#: guix/scripts/weather.scm:153 +msgid "" +"\n" +" -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"" +msgstr "" + +#: guix/scripts/weather.scm:177 +#, scheme-format +msgid "~a: invalid URL~%" +msgstr "" + +#: guix/gnu-maintenance.scm:567 +msgid "Updater for GNU packages" +msgstr "" + +#: guix/gnu-maintenance.scm:576 +msgid "Updater for GNU packages only available via FTP" +msgstr "" + +#: guix/gnu-maintenance.scm:585 +msgid "Updater for KDE packages" +msgstr "" + +#: guix/gnu-maintenance.scm:592 +msgid "Updater for X.org packages" +msgstr "" + +#: guix/gnu-maintenance.scm:599 +msgid "Updater for packages hosted on kernel.org" +msgstr "" + +#: guix/scripts/container.scm:25 +msgid "" +"Usage: guix container ACTION ARGS...\n" +"Build and manipulate Linux containers.\n" +msgstr "" + +#: guix/scripts/container.scm:30 +msgid " exec execute a command inside of an existing container\n" +msgstr "" + +#: guix/scripts/container.scm:53 +#, scheme-format +msgid "guix container: missing action~%" +msgstr "" + +#: guix/scripts/container.scm:63 +#, scheme-format +msgid "guix container: invalid action~%" +msgstr "" + +#: guix/scripts/container/exec.scm:40 +msgid "" +"Usage: guix container exec PID COMMAND [ARGS...]\n" +"Execute COMMMAND within the container process PID.\n" +msgstr "" + +#: guix/scripts/container/exec.scm:69 +#, scheme-format +msgid "~a: extraneous argument~%" +msgstr "" + +#: guix/scripts/container/exec.scm:87 +#, scheme-format +msgid "no pid specified~%" +msgstr "" + +#: guix/scripts/container/exec.scm:90 +#, scheme-format +msgid "no command specified~%" +msgstr "" + +#: guix/scripts/container/exec.scm:93 +#, scheme-format +msgid "no such process ~d~%" +msgstr "" + +#: guix/scripts/container/exec.scm:105 +#, scheme-format +msgid "exec failed with status ~d~%" +msgstr "" + +#: guix/upstream.scm:249 +#, scheme-format +msgid "signature verification failed for `~a'~%" +msgstr "" + +#: guix/upstream.scm:251 +#, scheme-format +msgid "(could be because the public key is not in your keyring)~%" +msgstr "" + +#: guix/upstream.scm:330 +#, scheme-format +msgid "~a: could not locate source file" +msgstr "" + +#: guix/upstream.scm:335 +#, scheme-format +msgid "~a: ~a: no `version' field in source; skipping~%" +msgstr "" + +#: guix/ui.scm:159 +#, scheme-format +msgid "~a: unbound variable" +msgstr "" + +#: guix/ui.scm:235 +msgid "entering debugger; type ',bt' for a backtrace\n" +msgstr "" + +#: guix/ui.scm:284 +#, scheme-format +msgid "hint: ~a~%" +msgstr "" + +#: guix/ui.scm:294 guix/ui.scm:342 guix/ui.scm:349 +#, scheme-format +msgid "failed to load '~a': ~a~%" +msgstr "" + +#: guix/ui.scm:301 +#, scheme-format +msgid "~amissing closing parenthesis~%" +msgstr "" + +#: guix/ui.scm:306 guix/ui.scm:322 guix/ui.scm:596 +#, scheme-format +msgid "~a: error: ~a~%" +msgstr "" + +#: guix/ui.scm:314 +msgid "Did you forget a @code{use-modules} form?" +msgstr "" + +#: guix/ui.scm:316 +#, scheme-format +msgid "Try adding @code{(use-modules ~a)}." +msgstr "" + +#: guix/ui.scm:329 guix/ui.scm:657 +#, scheme-format +msgid "exception thrown: ~s~%" +msgstr "" + +#: guix/ui.scm:333 guix/ui.scm:355 +#, scheme-format +msgid "failed to load '~a':~%" +msgstr "" + +#: guix/ui.scm:345 +#, scheme-format +msgid "~a: warning: ~a~%" +msgstr "" + +#: guix/ui.scm:352 +#, scheme-format +msgid "failed to load '~a': exception thrown: ~s~%" +msgstr "" + +#: guix/ui.scm:364 +#, scheme-format +msgid "failed to install locale: ~a~%" +msgstr "" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. */ +#: guix/ui.scm:394 +msgid "(C)" +msgstr "" + +#: guix/ui.scm:395 +msgid "the Guix authors\n" +msgstr "" + +#: guix/ui.scm:396 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +msgstr "" + +#. TRANSLATORS: The placeholder indicates the bug-reporting address for this +#. package. Please add another line saying "Report translation bugs to +#. ...\n" with the address for translation bugs (typically your translation +#. team's web or email address). +#: guix/ui.scm:408 +#, scheme-format +msgid "" +"\n" +"Report bugs to: ~a." +msgstr "" + +#: guix/ui.scm:410 +#, scheme-format +msgid "" +"\n" +"~a home page: <~a>" +msgstr "" + +#: guix/ui.scm:412 +msgid "" +"\n" +"General help using GNU software: " +msgstr "" + +#: guix/ui.scm:457 +#, scheme-format +msgid "'~a' is not a valid regular expression: ~a~%" +msgstr "" + +#: guix/ui.scm:463 +#, scheme-format +msgid "~a: invalid number~%" +msgstr "" + +#: guix/ui.scm:480 +#, scheme-format +msgid "invalid number: ~a~%" +msgstr "" + +#: guix/ui.scm:503 +#, scheme-format +msgid "unknown unit: ~a~%" +msgstr "" + +#: guix/ui.scm:520 +#, scheme-format +msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" +msgstr "" + +#: guix/ui.scm:527 +#, scheme-format +msgid "~a: ~a: build system `~a' does not support cross builds~%" +msgstr "" + +#: guix/ui.scm:533 +#, scheme-format +msgid "~s: invalid G-expression input~%" +msgstr "" + +#: guix/ui.scm:536 +#, scheme-format +msgid "profile '~a' does not exist~%" +msgstr "" + +#: guix/ui.scm:539 +#, scheme-format +msgid "generation ~a of profile '~a' does not exist~%" +msgstr "" + +#: guix/ui.scm:548 +#, scheme-format +msgid " ... propagated from ~a@~a~%" +msgstr "" + +#: guix/ui.scm:553 +#, scheme-format +msgid "profile contains conflicting entries for ~a:~a~%" +msgstr "" + +#: guix/ui.scm:556 +#, scheme-format +msgid " first entry: ~a@~a:~a ~a~%" +msgstr "" + +#: guix/ui.scm:562 +#, scheme-format +msgid " second entry: ~a@~a:~a ~a~%" +msgstr "" + +#: guix/ui.scm:573 +#, scheme-format +msgid "corrupt input while restoring '~a' from ~s~%" +msgstr "" + +#: guix/ui.scm:575 +#, scheme-format +msgid "corrupt input while restoring archive from ~s~%" +msgstr "" + +#: guix/ui.scm:578 +#, scheme-format +msgid "failed to connect to `~a': ~a~%" +msgstr "" + +#: guix/ui.scm:583 +#, scheme-format +msgid "build failed: ~a~%" +msgstr "" + +#: guix/ui.scm:586 +#, scheme-format +msgid "reference to invalid output '~a' of derivation '~a'~%" +msgstr "" + +#: guix/ui.scm:590 +#, scheme-format +msgid "file '~a' could not be found in these directories:~{ ~a~}~%" +msgstr "" + +#: guix/ui.scm:607 +#, scheme-format +msgid "~a: ~a~%" +msgstr "" + +#: guix/ui.scm:642 +#, scheme-format +msgid "failed to read expression ~s: ~s~%" +msgstr "" + +#: guix/ui.scm:648 +#, scheme-format +msgid "failed to evaluate expression '~a':~%" +msgstr "" + +#: guix/ui.scm:651 +#, scheme-format +msgid "syntax error: ~a~%" +msgstr "" + +#: guix/ui.scm:669 +#, scheme-format +msgid "expression ~s does not evaluate to a package~%" +msgstr "" + +#: guix/ui.scm:688 +msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%" +msgstr "" + +#: guix/ui.scm:756 +#, scheme-format +msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:764 +msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]" +msgstr "" + +#: guix/ui.scm:769 +#, scheme-format +msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:776 +#, scheme-format +msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:784 +msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" +msgstr "" + +#: guix/ui.scm:789 +#, scheme-format +msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:849 +#, scheme-format +msgid "The following package would be removed:~%~{~a~%~}~%" +msgid_plural "The following packages would be removed:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:854 +#, scheme-format +msgid "The following package will be removed:~%~{~a~%~}~%" +msgid_plural "The following packages will be removed:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:867 +#, scheme-format +msgid "The following package would be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:872 +#, scheme-format +msgid "The following package will be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:885 +#, scheme-format +msgid "The following package would be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:890 +#, scheme-format +msgid "The following package will be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:901 +#, scheme-format +msgid "The following package would be installed:~%~{~a~%~}~%" +msgid_plural "The following packages would be installed:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:906 +#, scheme-format +msgid "The following package will be installed:~%~{~a~%~}~%" +msgid_plural "The following packages will be installed:~%~{~a~%~}~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/ui.scm:923 +msgid "" +msgstr "" + +#: guix/ui.scm:1285 +#, scheme-format +msgid "Generation ~a\t~a" +msgstr "" + +#. TRANSLATORS: The word "current" here is an adjective for +#. "Generation", as in "current generation". Use the appropriate +#. gender where applicable. +#: guix/ui.scm:1295 +#, scheme-format +msgid "~a\t(current)~%" +msgstr "" + +#: guix/ui.scm:1338 +#, scheme-format +msgid "switched from generation ~a to ~a~%" +msgstr "" + +#: guix/ui.scm:1354 +#, scheme-format +msgid "deleting ~a~%" +msgstr "" + +#: guix/ui.scm:1385 +#, scheme-format +msgid "Try `guix --help' for more information.~%" +msgstr "" + +#: guix/ui.scm:1413 +msgid "" +"Usage: guix COMMAND ARGS...\n" +"Run COMMAND with ARGS.\n" +msgstr "" + +#: guix/ui.scm:1416 +msgid "COMMAND must be one of the sub-commands listed below:\n" +msgstr "" + +#: guix/ui.scm:1436 +#, scheme-format +msgid "guix: ~a: command not found~%" +msgstr "" + +#: guix/ui.scm:1466 +#, scheme-format +msgid "guix: missing command name~%" +msgstr "" + +#: guix/ui.scm:1474 +#, scheme-format +msgid "guix: unrecognized option '~a'~%" +msgstr "" + +#: guix/http-client.scm:269 +#, scheme-format +msgid "following redirection to `~a'...~%" +msgstr "" + +#: guix/http-client.scm:281 +#, scheme-format +msgid "~a: HTTP download failed: ~a (~s)" +msgstr "" + +#: guix/nar.scm:155 +msgid "signature is not a valid s-expression" +msgstr "" + +#: guix/nar.scm:164 +msgid "invalid signature" +msgstr "firma inválida" + +#: guix/nar.scm:168 +msgid "invalid hash" +msgstr "hash inválido" + +#: guix/nar.scm:176 +msgid "unauthorized public key" +msgstr "" + +#: guix/nar.scm:181 +msgid "corrupt signature data" +msgstr "" + +#: guix/nar.scm:201 +msgid "corrupt file set archive" +msgstr "" + +#: guix/nar.scm:211 +#, scheme-format +msgid "importing file or directory '~a'...~%" +msgstr "" + +#: guix/nar.scm:222 +#, scheme-format +msgid "found valid signature for '~a'~%" +msgstr "" + +#: guix/nar.scm:229 +msgid "imported file lacks a signature" +msgstr "" + +#: guix/nar.scm:268 +msgid "invalid inter-file archive mark" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:66 +msgid "guix-daemon -- perform derivation builds and store accesses" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:68 +msgid "This program is a daemon meant to run in the background. It serves requests sent over a Unix-domain socket. It accesses the store, and builds derivations on behalf of its clients." +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:94 +msgid "SYSTEM" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:95 +msgid "assume SYSTEM as the current system type" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:96 nix/nix-daemon/guix-daemon.cc:99 +msgid "N" +msgstr "N" + +#: nix/nix-daemon/guix-daemon.cc:97 +msgid "use N CPU cores to build each derivation; 0 means as many as available" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:100 +msgid "allow at most N build jobs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:101 nix/nix-daemon/guix-daemon.cc:103 +msgid "SECONDS" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:102 +msgid "mark builds as failed after SECONDS of activity" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:104 +msgid "mark builds as failed after SECONDS of silence" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:106 +msgid "disable chroot builds" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:107 +msgid "DIR" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:108 +msgid "add DIR to the build chroot" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:109 +msgid "GROUP" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:110 +msgid "perform builds as a user of GROUP" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:112 +msgid "do not use substitutes" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:113 +msgid "URLS" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:114 +msgid "use URLS as the default list of substitute providers" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:116 +msgid "do not use the 'build hook'" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:118 +msgid "cache build failures" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:120 +msgid "build each derivation N times in a row" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:122 +msgid "do not keep build logs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:124 +msgid "disable compression of the build logs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:129 +msgid "disable automatic file \"deduplication\" in the store" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:139 +msgid "impersonate Linux 2.6" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:143 +msgid "tell whether the GC must keep outputs of live derivations" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:146 +msgid "tell whether the GC must keep derivations corresponding to live outputs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:149 +msgid "SOCKET" +msgstr "SOCKET" + +#: nix/nix-daemon/guix-daemon.cc:150 +msgid "listen for connections on SOCKET" +msgstr "escucha conexiones en SOCKET" + +#: nix/nix-daemon/guix-daemon.cc:152 +msgid "produce debugging output" +msgstr "produce salida de depuración" From fc95dc4c34bf88ebd8c21752bf6d54b5cf752d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 Mar 2018 23:14:56 +0200 Subject: [PATCH 085/245] guix package: Add '--allow-collisions'. Fixes . Suggested by Ricardo Wurmus . * guix/scripts/package.scm (build-and-use-profile): Add #:allow-collisions? and pass it to 'profile-derivation'. (show-help, %options): Add '--allow-collisions'. (manifest-action, process-actions): Pass #:allow-collisions? to 'build-and-use-profile'. * tests/guix-package.sh: Add collision test. * doc/guix.texi (Invoking guix package): Document '--allow-collisions'. --- doc/guix.texi | 10 ++++++++++ guix/scripts/package.scm | 17 +++++++++++++++-- tests/guix-package.sh | 8 ++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 25c08b9f06..4eac281a82 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2039,6 +2039,16 @@ variable, even though, taken individually, neither @file{foo} nor @itemx -p @var{profile} Use @var{profile} instead of the user's default profile. +@cindex collisions, in a profile +@cindex colliding packages in profiles +@cindex profile collisions +@item --allow-collisions +Allow colliding packages in the new profile. Use at your own risk! + +By default, @command{guix package} reports as an error @dfn{collisions} +in the profile. Collisions happen when two or more different versions +or variants of a given package end up in the profile. + @item --verbose Produce verbose output. In particular, emit the build log of the environment on the standard error port. diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index d8b80efe8e..4f519e6f33 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -194,15 +194,18 @@ denote ranges as interpreted by 'matching-generations'." (define* (build-and-use-profile store profile manifest #:key + allow-collisions? bootstrap? use-substitutes? dry-run?) "Build a new generation of PROFILE, a file name, using the packages -specified in MANIFEST, a manifest object." +specified in MANIFEST, a manifest object. When ALLOW-COLLISIONS? is true, +do not treat collisions in MANIFEST as an error." (when (equal? profile %current-profile) (ensure-default-profile)) (let* ((prof-drv (run-with-store store (profile-derivation manifest + #:allow-collisions? allow-collisions? #:hooks (if bootstrap? '() %default-profile-hooks) @@ -407,6 +410,8 @@ Install, remove, or upgrade packages in a single transaction.\n")) (display (G_ " -p, --profile=PROFILE use PROFILE instead of the user's default profile")) (newline) + (display (G_ " + --allow-collisions do not treat collisions in the profile as an error")) (display (G_ " --bootstrap use the bootstrap Guile to build the profile")) (display (G_ " @@ -544,6 +549,10 @@ kind of search path~%") (lambda (opt name arg result arg-handler) (values (alist-cons 'verbose? #t result) #f))) + (option '("allow-collisions") #f #f + (lambda (opt name arg result arg-handler) + (values (alist-cons 'allow-collisions? #t result) + #f))) (option '(#\s "search") #t #f (lambda (opt name arg result arg-handler) (values (cons `(query search ,(or arg "")) @@ -831,13 +840,15 @@ processed, #f otherwise." (let* ((user-module (make-user-module '((guix profiles) (gnu)))) (manifest (load* file user-module)) (bootstrap? (assoc-ref opts 'bootstrap?)) - (substitutes? (assoc-ref opts 'substitutes?))) + (substitutes? (assoc-ref opts 'substitutes?)) + (allow-collisions? (assoc-ref opts 'allow-collisions?))) (if dry-run? (format #t (G_ "would install new manifest from '~a' with ~d entries~%") file (length (manifest-entries manifest))) (format #t (G_ "installing new manifest from '~a' with ~d entries~%") file (length (manifest-entries manifest)))) (build-and-use-profile store profile manifest + #:allow-collisions? allow-collisions? #:bootstrap? bootstrap? #:use-substitutes? substitutes? #:dry-run? dry-run?))) @@ -856,6 +867,7 @@ processed, #f otherwise." (define dry-run? (assoc-ref opts 'dry-run?)) (define bootstrap? (assoc-ref opts 'bootstrap?)) (define substitutes? (assoc-ref opts 'substitutes?)) + (define allow-collisions? (assoc-ref opts 'allow-collisions?)) (define profile (or (assoc-ref opts 'profile) %current-profile)) (define transform (options->transformation opts)) @@ -894,6 +906,7 @@ processed, #f otherwise." (show-manifest-transaction store manifest step3 #:dry-run? dry-run?) (build-and-use-profile store profile new + #:allow-collisions? allow-collisions? #:bootstrap? bootstrap? #:use-substitutes? substitutes? #:dry-run? dry-run?)))) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 760a2e4c9b..aa5eaa66e7 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -60,6 +60,14 @@ test -L "$profile" && test -L "$profile-1-link" ! test -f "$profile-2-link" test -f "$profile/bin/guile" +# Collisions are properly flagged (in this case, 'python-wrapper' propagates +# python@3, which conflicts with python@2.) +if guix package --bootstrap -n -p "$profile" -i python@2 python-wrapper +then false; else true; fi + +guix package --bootstrap -n -p "$profile" -i python@2 python-wrapper \ + --allow-collisions + # No search path env. var. here. guix package -p "$profile" --search-paths guix package -p "$profile" --search-paths | grep '^export PATH=' From f8d13038645e635634469b673bcc20d87c91b913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 Mar 2018 23:18:29 +0200 Subject: [PATCH 086/245] union: Slightly improve messages for file collisions. * guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message. --- guix/build/union.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/guix/build/union.scm b/guix/build/union.scm index d46b750035..5f1cf8e450 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2017 Huang Ying ;;; @@ -93,14 +93,12 @@ make sure the caller can modify them later." (cond ((null? dirs) ;; The inputs are all files. (format (current-error-port) - "~%warning: collision encountered:~%~{~a~%~}" + "~%warning: collision encountered:~%~{ ~a~%~}" files) (let ((file (first files))) ;; TODO: Implement smarter strategies. - (format (current-error-port) - "warning: arbitrarily choosing ~a~%" - file) + (format (current-error-port) "warning: choosing ~a~%" file) (symlink* file output))) From c92e5612996e98cde005a572b83fc66aae32bcd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 Mar 2018 23:27:23 +0200 Subject: [PATCH 087/245] build: Fix reference to non-existent 'bin/guix.in' in Makefile.am. Fixes a regression introduced in cba386c1295b7054df22dfb4662b1b92f668e2c0. Reported by Julien Lepiller . * Makefile.am (EXTRA_DIST): Rename 'bin/guix.in' to 'scripts/guix.in'. --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index e647f270d3..244069b533 100644 --- a/Makefile.am +++ b/Makefile.am @@ -459,7 +459,7 @@ EXTRA_DIST = \ TODO \ CODE-OF-CONDUCT \ .dir-locals.el \ - bin/guix.in \ + scripts/guix.in \ etc/guix-install.sh \ build-aux/build-self.scm \ build-aux/compile-all.scm \ From 9c575023422c9d6f86c817a2309e74baa2d37b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 Mar 2018 23:29:00 +0200 Subject: [PATCH 088/245] gnu: libgnomeui: Avoid store file names in patch. This placates 'assert-no-store-file-names', which would prevent 'make dist' from succeeding. * gnu/packages/patches/libgnomeui-utf8.patch: Replace store file names with ellipses. --- gnu/packages/patches/libgnomeui-utf8.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/patches/libgnomeui-utf8.patch b/gnu/packages/patches/libgnomeui-utf8.patch index 304d74e1e2..11622b21ee 100644 --- a/gnu/packages/patches/libgnomeui-utf8.patch +++ b/gnu/packages/patches/libgnomeui-utf8.patch @@ -8,11 +8,11 @@ make[2]: Entering directory '/tmp/guix-build-libgnomeui-2.24.5.drv-0/libgnomeui- INFO: Reading ./gnome-marshal.list... GEN gnome-marshal.h Traceback (most recent call last): - File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 688, in + File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 688, in process_file(fname) - File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file + File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file line = curfile.readline() - File "/gnu/store/3lkypf5wnsnvkaidhw0pv7k3yjfh1r9g-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode + File "/gnu/store/...-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 1009: invalid continuation byte make[2]: *** [Makefile:1109: stamp-gnometypebuiltins.h] Error 1 From 811b42b2d5a9526ef5831c8611991295bec99c87 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 29 Mar 2018 18:32:38 +0200 Subject: [PATCH 089/245] gnu: python-cryptography, python-cryptography-vectors: Update to 2.2.2. * gnu/packages/python-crypto.scm (python-cryptography) (python-cryptography-vectors): Update to 2.2.2. --- gnu/packages/python-crypto.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index aa93e4d611..5bfaab1718 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2014, 2017 Eric Bavier ;;; Copyright © 2015, 2016 David Thompson -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus @@ -281,14 +281,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1zk2shzpa9kw8fgwpsbdm5cgvbjd05vh2q6r0x9jlzq5vvjg4z5y")))) + "122na0c6r24ch2ifyr4ccjyih0inpqy7bc5za77699g3pa22rd98")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -303,14 +303,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "1lxj3kqp552c715p0hzixpdhnz4ggd3jb7zz15q8dw534b9xknnx")))) + "0qrgip8vgcpk7v1jwf67mg50np5iprxrv8qrg8p382hkd6zrbhlz")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) From 370ae985f0d091ea537af61afb97943dfa14b570 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 30 Mar 2018 11:40:57 +0200 Subject: [PATCH 090/245] gnu: emacs-git-modes: Update to 1.2.7. * gnu/packages/emacs.scm (git-modes): Update to 1.2.7. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ce9b1a66ac..7a203ef6e4 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2017, 2018 Oleg Pykhalov ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 Peter Mikkelsen -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mike Gerwitz ;;; Copyright © 2017, 2018 Maxim Cournoyer ;;; Copyright © 2018 Sohom Bhattacharjee @@ -382,7 +382,7 @@ when typing parentheses directly or commenting out code line by line.") (define-public git-modes (package (name "emacs-git-modes") - (version "1.2.6") + (version "1.2.7") (source (origin (method url-fetch) (uri (string-append @@ -391,7 +391,7 @@ when typing parentheses directly or commenting out code line by line.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18z04wn5ird9l0h6n6x97v0kyzdj73832bj9qakm3fjjl7vcn0pw")))) + "1mzl70s0xyysnjq1j10mc5vn9i022n5vd82kxsgp4xxqq7gc4qnx")))) (build-system emacs-build-system) (home-page "https://github.com/magit/git-modes") (synopsis "Emacs major modes for Git configuration files") From bca1bec5df7b4ac583feb5bb24bcbda3488d2db2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 30 Mar 2018 11:47:17 +0200 Subject: [PATCH 091/245] gnu: libsecret: Update to 0.18.6. * gnu/packages/gnome.scm (libsecret): Update to 0.18.6. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3c60b8d44c..ed9f54be88 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2579,7 +2579,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsecret (package (name "libsecret") - (version "0.18.5") + (version "0.18.6") (source (origin (method url-fetch) (uri (string-append @@ -2588,7 +2588,7 @@ and the GLib main loop, to integrate well with GNOME applications.") name "-" version ".tar.xz")) (sha256 (base32 - "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww")))) + "0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments From e615459c998fe7cfeb126d6e21c2e554295cb862 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 1 Apr 2018 18:03:30 -0400 Subject: [PATCH 092/245] gnu: linux-libre@4.4: Update to 4.4.126. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.126. --- 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 6ec29fa8eb..09652b0c23 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.125" - "0xjw1ahfvi2b4m29id6sd3qh60rghkcf34nsydvrvnl4r6blblkv" + (make-linux-libre "4.4.126" + "03arqqx8qsjadnk7mhhnr59j2vmbpkmrwi86md2n4c8bqja8fgnq" %intel-compatible-systems #:configuration-file kernel-config)) From a79d8cdd57c8cdfe7b6b923e8420acc60cb8962f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 1 Apr 2018 18:04:08 -0400 Subject: [PATCH 093/245] gnu: linux-libre@4.9: Update to 4.9.92. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.92. --- 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 09652b0c23..562e29cd15 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.91" - "12ap0wh70ms5ja98zbkscdc1sm4khdlaakric9jpl054fgl2cwv6" + (make-linux-libre "4.9.92" + "1v4mf5mcqc5axbld38qn31pivy6mi80xci81wk128yhlby6w0yj7" %intel-compatible-systems #:configuration-file kernel-config)) From 4d7f14e6e41850ab2424e2591686be81623f9a8d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 1 Apr 2018 18:04:40 -0400 Subject: [PATCH 094/245] gnu: linux-libre@4.14: Update to 4.14.32. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.32. (%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 562e29cd15..2cf44eb41e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.31") -(define %linux-libre-4.14-hash "0w2hddfjz0i8fcnz016rn7d4pjvmmy20aavfq42jf1z2j8yifgx1") +(define %linux-libre-4.14-version "4.14.32") +(define %linux-libre-4.14-hash "0xqqd9s35xqxp72l93jr26vjcbwxlxmpmk8b5p9jipql9a81a1x8") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 2e1e540c533d0440dcca96c6fff2a8b0b7282204 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 1 Apr 2018 18:05:24 -0400 Subject: [PATCH 095/245] gnu: linux-libre: Update to 4.15.15. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.15. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2cf44eb41e..8104284b3a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.14") -(define %linux-libre-hash "1936bzfz08r55ajkd7nf439a4jcvvs98bfd67c0p7phwfjx45q22") +(define %linux-libre-version "4.15.15") +(define %linux-libre-hash "14pjdwj6n7j8wpjrwlj261s5bxf4861d6w42agrz8ilznhi11niy") (define-public linux-libre (make-linux-libre %linux-libre-version From 48e481b563d73f9a136bf56947a20bc4323275cb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 30 Mar 2018 21:22:10 +0200 Subject: [PATCH 096/245] gnu: newsboat: Update to 2.11.1. * gnu/packages/syndication.scm (newsboat): Update to 2.11.1. --- gnu/packages/syndication.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 1669f2c45c..27b49895e2 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -32,7 +32,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.11") + (version "2.11.1") (source (origin (method url-fetch) @@ -40,7 +40,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "0yh1qdk15s9k4pffiw1155whfckpffq72dpyp9rck7yxgy5ya1hx")))) + "1krpxl854h5dwmpr81m1s84cwk8zivdzvw0s5s0i4dba736pvdma")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) From 66939d59ed0439e2abea53ba97e016ded40539ab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 31 Mar 2018 22:00:34 +0200 Subject: [PATCH 097/245] gnu: mujs: Update to 1.0.3. * gnu/packages/javascript.scm (mujs): Update to 1.0.3. --- gnu/packages/javascript.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index b52edb2254..a54d4ecabd 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -371,7 +371,7 @@ means that these shams cause many ES5 methods to silently fail.") (define-public mujs (package (name "mujs") - (version "1.0.2") + (version "1.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -380,7 +380,7 @@ means that these shams cause many ES5 methods to silently fail.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1angy1higk8bvh69frjhq1m6znhd75fzalaydz5rfzkdfyw52jgy")))) + "15ml3rzjl44lqdb1yxipdh8bhh0rvk2g6w6sjv667q8xywijwqv8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases From 620ab3a50ce3c9ec283dd585de48b49c7ca408fc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 1 Apr 2018 16:18:51 -0400 Subject: [PATCH 098/245] gnu: borg: Update to 1.1.5. * gnu/packages/backup.scm (borg): Update to 1.1.5. [arguments]: Allow a more recent msgpack in an 'adjust-msgpack-dependency' phase. --- gnu/packages/backup.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 2fafa2c4a6..a3782e1296 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -453,13 +453,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.4") + (version "1.1.5") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912")) + (base32 "0gbdnq7ks46diz6y2pf6wpwkb9hy6hp3immi7jg3h7w72b3ycmj3")) (modules '((guix build utils))) (snippet '(begin @@ -491,6 +491,17 @@ detection, and lossless compression.") ;; HOME=/homeless-shelter. (setenv "HOME" "/tmp") #t))) + ;; Later versions of msgpack were disallowed to some warnings and lack + ;; of support for Python versions that we don't support anyways. So, + ;; it's okay to to keep using more recents versions of msgpack for + ;; Borg. Also see the note about msgpack in the list of inputs. + ;; https://github.com/borgbackup/borg/issues/3517#issuecomment-357221978 + (add-before 'build 'adjust-msgpack-dependency + (lambda _ + (substitute* "setup.py" + (("msgpack-python>=0.4.6,<0.5.0") + "msgpack-python>=0.4.6")) + #t)) ;; The tests need to be run after Borg is installed. (delete 'check) (add-after 'install 'check From 1b362016bc60b4e4d6ad301024f895cb6fc788a4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 2 Apr 2018 16:45:55 +0200 Subject: [PATCH 099/245] gnu: libconfig: Update to 1.7.2. * gnu/packages/textutils.scm (libconfig): Update to 1.7.2. [home-page]: Update to new home. [source](uri): Adjust accordingly. --- gnu/packages/textutils.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 2a463d8bad..2108a0a6d1 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -294,16 +294,16 @@ input bits thoroughly but are not suitable for cryptography.") (define-public libconfig (package (name "libconfig") - (version "1.5") + (version "1.7.2") + (home-page "https://hyperrealm.github.io/libconfig/") (source (origin (method url-fetch) - (uri (string-append "http://www.hyperrealm.com/libconfig/" - "libconfig-" version ".tar.gz")) + (uri (string-append home-page "/dist/libconfig-" + version ".tar.gz")) (sha256 (base32 - "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3")))) + "1ngs2qx3cx5cbwinc5mvadly0b5n7s86zsc68c404czzfff7lg3w")))) (build-system gnu-build-system) - (home-page "http://www.hyperrealm.com/libconfig/") (synopsis "C/C++ configuration file library") (description "Libconfig is a simple library for manipulating structured configuration From e3bb89a9b78928f9b61d54649bfd5ac140833209 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 2 Apr 2018 16:52:46 +0200 Subject: [PATCH 100/245] gnu: re2: Update to 2018-04-01. * gnu/packages/regex.scm (re2): Update to 2018-04-01. --- gnu/packages/regex.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 1294149609..38a371d233 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,17 +29,15 @@ (define-public re2 (package (name "re2") - (version "2018-03-01") + (version "2018-04-01") + (home-page "https://github.com/google/re2") (source (origin (method url-fetch) - (uri - (string-append - "https://github.com/google/re2/archive/" - version ".tar.gz")) + (uri (string-append home-page "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i")))) + "04n9ngikvpikpshwcrl26sxgn8qbrymy3b5wlbsyfdhknx35951g")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -66,7 +64,6 @@ (delete-file (string-append (assoc-ref outputs "out") "/lib/libre2.a")) #t))))) - (home-page "https://github.com/google/re2") (synopsis "Fast, safe, thread-friendly regular expression engine") (description "RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl and From 35b3135f5d1afca65bab3641193fc73f2b5e46b2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 2 Apr 2018 17:00:25 +0200 Subject: [PATCH 101/245] gnu: notmuch: Update to 0.26.1. * gnu/packages/mail.scm (notmuch): Update to 0.26.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e649aec815..1c77d9e982 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -744,14 +744,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.26") + (version "0.26.1") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "1pvn1n7giv8n3xlazi3wpscdqhd2yak0fgv68aj23myr5bnr9s6k")))) + "0dx8nhdmkaqabxcgxfa757m99fi395y76h9ynx8539yh9m7y9xyk")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From 02283a61304205244dde9c2c648372960cd2e493 Mon Sep 17 00:00:00 2001 From: Christopher Lemmer Webber Date: Sat, 24 Feb 2018 18:36:13 -0600 Subject: [PATCH 102/245] gnu: racket: Update to 6.12. * gnu/packages/patches/racket-minus_zero_p-disable-xform.patch: New file. * gnu/packages/scheme.scm (racket): Update version and patch. --- .../patches/racket-minus_zero_p-disable-xform.patch | 10 ++++++++++ gnu/packages/scheme.scm | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/racket-minus_zero_p-disable-xform.patch diff --git a/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch b/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch new file mode 100644 index 0000000000..08887a6166 --- /dev/null +++ b/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch @@ -0,0 +1,10 @@ +--- a/src/racket/src/number.c 2018-02-24 18:16:32.031698079 -0600 ++++ b/src/racket/src/number.c 2018-02-24 18:15:41.055445301 -0600 +@@ -1775,6 +1775,7 @@ + } + + XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d) ++ XFORM_SKIP_PROC + { + #ifdef MZ_IS_NEG_ZERO + return MZ_IS_NEG_ZERO(d); diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 37593fe309..d89b123f1d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -405,7 +405,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "6.11") + (version "6.12") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -415,7 +415,10 @@ implementation techniques and as an expository tool.") version "/racket-" version "-src.tgz"))) (sha256 (base32 - "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw")))) + "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5")) + (patches (search-patches + ;; See: https://github.com/racket/racket/issues/1962 + "racket-minus_zero_p-disable-xform.patch")))) (build-system gnu-build-system) (arguments '(#:phases From 75afbd247876d62f27cb2c90098bd59040f7e614 Mon Sep 17 00:00:00 2001 From: Christopher Lemmer Webber Date: Sun, 18 Mar 2018 14:41:04 -0500 Subject: [PATCH 103/245] gnu: racket: Patch xform compilation errors. * gnu/packages/patches/gnu/packages/patches/racket-fix-xform-issue.patch: Renamed from gnu/packages/patches/racket-minus_zero_p-disable-xform.patch. Switch to upstream patch in Racket. * gnu/packages/scheme.scm (racket): Update to renamed patch. --- .../patches/racket-fix-xform-issue.patch | 63 +++++++++++++++++++ .../racket-minus_zero_p-disable-xform.patch | 10 --- gnu/packages/scheme.scm | 3 +- 3 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 gnu/packages/patches/racket-fix-xform-issue.patch delete mode 100644 gnu/packages/patches/racket-minus_zero_p-disable-xform.patch diff --git a/gnu/packages/patches/racket-fix-xform-issue.patch b/gnu/packages/patches/racket-fix-xform-issue.patch new file mode 100644 index 0000000000..0a1640ee51 --- /dev/null +++ b/gnu/packages/patches/racket-fix-xform-issue.patch @@ -0,0 +1,63 @@ +050cdb59839896b41431791f8ee0ef2564231b8f +Author: Matthew Flatt +AuthorDate: Tue Mar 6 09:05:08 2018 -0700 +Commit: Matthew Flatt +CommitDate: Tue Mar 6 09:05:08 2018 -0700 + +Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port` +Containing: master +Follows: v5.0.1 (21612) + +xform: avoid problems with `__signbitf128` + +Closes #1962 and uses the suggested patch there, among other changes. + +2 files changed, 6 insertions(+), 3 deletions(-) +racket/collects/compiler/private/xform.rkt | 2 +- +racket/src/racket/src/number.c | 7 +++++-- + +diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt +index 28a425c057..89ae848f9c 100644 +--- a/collects/compiler/private/xform.rkt ++++ b/collects/compiler/private/xform.rkt +@@ -904,7 +904,7 @@ + + strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp + isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl +- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl ++ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128 + __isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128 + __inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl + __builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit +diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c +index 71f42aaf3c..3bbad3ba83 100644 +--- a/src/racket/src/number.c ++++ b/src/racket/src/number.c +@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r) + } + + XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d) ++ XFORM_SKIP_PROC + { + #ifdef MZ_IS_NEG_ZERO + return MZ_IS_NEG_ZERO(d); +@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d) + return minus_zero_p(d); + } + +-static int rational_dbl_p(double f) { ++XFORM_NONGCING static int rational_dbl_p(double f) ++ XFORM_SKIP_PROC ++{ + return !(MZ_IS_NAN(f) + || MZ_IS_INFINITY(f)); + } +@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[]) + return (SCHEME_REALP(o) ? scheme_true : scheme_false); + } + +-static int is_rational(const Scheme_Object *o) ++XFORM_NONGCING static int is_rational(const Scheme_Object *o) + { + if (SCHEME_FLOATP(o)) + return rational_dbl_p(SCHEME_FLOAT_VAL(o)); \ No newline at end of file diff --git a/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch b/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch deleted file mode 100644 index 08887a6166..0000000000 --- a/gnu/packages/patches/racket-minus_zero_p-disable-xform.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/racket/src/number.c 2018-02-24 18:16:32.031698079 -0600 -+++ b/src/racket/src/number.c 2018-02-24 18:15:41.055445301 -0600 -@@ -1775,6 +1775,7 @@ - } - - XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d) -+ XFORM_SKIP_PROC - { - #ifdef MZ_IS_NEG_ZERO - return MZ_IS_NEG_ZERO(d); diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index d89b123f1d..c9e1a15255 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -418,7 +418,8 @@ implementation techniques and as an expository tool.") "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5")) (patches (search-patches ;; See: https://github.com/racket/racket/issues/1962 - "racket-minus_zero_p-disable-xform.patch")))) + ;; This can be removed in whatever Racket release comes after 6.12 + "racket-fix-xform-issue.patch")))) (build-system gnu-build-system) (arguments '(#:phases From e34977327d24422886a72dcff0418a5e5a7aae8f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 2 Apr 2018 15:10:58 -0400 Subject: [PATCH 104/245] gnu: botan: Update to 2.5.0. * gnu/packages/crypto.scm (botan): Update to 2.5.0. [arguments]: Remove 'fix-rst2man-invocation' phase. --- gnu/packages/crypto.scm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index da081fbefa..9a786def32 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -717,25 +717,18 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (define-public botan (package (name "botan") - (version "2.4.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" "Botan-" version ".tgz")) (sha256 (base32 - "1988crh5lipmfcd1icldf6hchi9vcy08yymxv79lrvnglpi6957d")))) + "06zvwknhwfrkdvq2sybqbqhnd2d4nq2cszlnsddql13z7vh1z8xq")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'build 'fix-rst2man-invocation - (lambda _ - ;; XXX Reported upstream: - ;; - (substitute* "src/scripts/build_docs.py" - (("'rst2man'")"'rst2man.py'")) - #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref %outputs "out")) From 7edb3e50ae2a2e6e90169c0845828429809a32af Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 2 Apr 2018 15:11:29 -0400 Subject: [PATCH 105/245] gnu: libressl: Update to 2.7.2. * gnu/packages/tls.scm (libressl): Update to 2.7.2. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 50b5aa24b9..f11aab5f49 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -490,14 +490,14 @@ required structures.") (define-public libressl (package (name "libressl") - (version "2.7.1") + (version "2.7.2") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" name "-" version ".tar.gz")) (sha256 (base32 - "0w3hdgcr4cq84cv7wkkg2clz9s6l2m2l92d6mfn70wxs6vi0fxck")))) + "1589f0kg7kj51j9hid542s4isb96s1azjaqsfprpy5s2qdwqfyli")))) (build-system gnu-build-system) (arguments ;; Do as if 'getentropy' was missing since older Linux kernels lack it From 2a27c0bbb896fb097cf18cb08bafc70dbaf68e2d Mon Sep 17 00:00:00 2001 From: Sahithi Yarlagadda Date: Mon, 2 Apr 2018 23:12:44 +0200 Subject: [PATCH 106/245] gnu: Add r-abc-data. * gnu/packages/cran.scm (r-abc-data): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 10b191051d..530c62de93 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3654,3 +3654,25 @@ and Eclat.") time formats, @code{parse_date} parses dates in unspecified formats, and @code{format_iso_8601} formats a date in ISO 8601 format.") (license license:gpl2))) + +(define-public r-abc-data + (package + (name "r-abc-data") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "abc.data" version)) + (sha256 + (base32 + "1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj")))) + (properties `((upstream-name . "abc.data"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/abc.data/") + (synopsis "Data for Approximate Bayesian Computation (ABC) package") + (description + "This package contains data which are used by functions of the abc +package which implements several @dfn{Approximate Bayesian Computation} (ABC) +algorithms for performing parameter estimation, model selection, and +goodness-of-fit.") + (license license:gpl3+))) From 576f245c2d65f8a665ddc6936f229a669fbc4597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 2 Apr 2018 22:34:21 +0200 Subject: [PATCH 107/245] gnu: guile-git: Update to 36f93c1. * gnu/packages/guile.scm (guile-git): Update to 36f93c1. --- gnu/packages/guile.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index aa71fa1410..6efa0dd96a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1933,8 +1933,8 @@ is not available for Guile 2.0.") (license license:lgpl3+))) (define-public guile-git - (let ((revision "5") - (commit "2bb9fbbf93cf93496718efc85ad9394aefa21029")) + (let ((revision "6") + (commit "36f93c174adc396c90ec3a6923487f0444fe5d69")) (package (name "guile-git") (version (string-append "0.0-" revision "." (string-take commit 7))) @@ -1944,7 +1944,7 @@ is not available for Guile 2.0.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "0z3v0v89dyp35zx2h2gsq6v29lba3wbzabc5n2g4hx2fcb6q5qqy")) + "0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -1955,7 +1955,8 @@ is not available for Guile 2.0.") ;; FIXME: On i686, bytestructures miscalculates the offset ;; of the 'old-file' and 'new-file' fields within the - ;; '%diff-delta' structure. + ;; '%diff-delta' structure. See + ;; . ,@(if (string=? (%current-system) "x86_64-linux") '() '((add-before 'check 'skip-tests From 9188198692e3899ed9179af73cf721c19bb05db4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 2 Apr 2018 23:11:07 +0200 Subject: [PATCH 108/245] git: Increase modularity and expose 'update-cached-checkout'. * guix/git.scm (repository->head-sha1, copy-to-store): Remove. (switch-to-ref): Return the OID of OBJ. (update-cached-checkout): New procedure, with code from 'latest-repository-commit'. (latest-repository-commit): Use it. --- guix/git.scm | 87 +++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 39 deletions(-) diff --git a/guix/git.scm b/guix/git.scm index 103749d0e2..9e89cc0062 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -28,9 +28,11 @@ #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:export (%repository-cache-directory + update-cached-checkout latest-repository-commit)) (define %repository-cache-directory @@ -68,11 +70,6 @@ make sure no empty directory is left behind." (lambda _ (false-if-exception (rmdir directory))))) -(define (repository->head-sha1 repo) - "Return the sha1 of the HEAD commit in REPOSITORY as a string." - (let ((oid (reference-target (repository-head repo)))) - (oid->string (commit-id (commit-lookup repo oid))))) - (define (url+commit->name url sha1) "Return the string \"-\" where REPO-NAME is the name of the git repository, extracted from URL and SHA1:7 the seven first digits @@ -82,21 +79,9 @@ of SHA1 string." (last (string-split url #\/)) ".git" "") "-" (string-take sha1 7))) -(define* (copy-to-store store cache-directory #:key url repository) - "Copy CACHE-DIRECTORY recursively to STORE. URL and REPOSITORY are used to -create the store directory name." - (define (dot-git? file stat) - (and (string=? (basename file) ".git") - (eq? 'directory (stat:type stat)))) - - (let* ((commit (repository->head-sha1 repository)) - (name (url+commit->name url commit))) - (values (add-to-store store name #t "sha256" cache-directory - #:select? (negate dot-git?)) - commit))) - (define (switch-to-ref repository ref) - "Switch to REPOSITORY's branch, commit or tag specified by REF." + "Switch to REPOSITORY's branch, commit or tag specified by REF. Return the +OID (roughly the commit hash) corresponding to REF." (define obj (match ref (('branch . branch) @@ -122,7 +107,38 @@ create the store directory name." (string-append "refs/tags/" tag)))) (object-lookup repository oid))))) - (reset repository obj RESET_HARD)) + (reset repository obj RESET_HARD) + (object-id obj)) + +(define* (update-cached-checkout url + #:key + (ref '(branch . "origin/master")) + (cache-directory + (%repository-cache-directory))) + "Update the cached checkout of URL to REF in CACHE-DIRECTORY. Return two +values: the cache directory name, and the SHA1 commit (a string) corresponding +to REF. + +REF is pair whose key is [branch | commit | tag] and value the associated +data, respectively [ | | ]." + (with-libgit2 + (let* ((cache-dir (url-cache-directory url cache-directory)) + (cache-exists? (openable-repository? cache-dir)) + (repository (if cache-exists? + (repository-open cache-dir) + (clone* url cache-dir)))) + ;; Only fetch remote if it has not been cloned just before. + (when cache-exists? + (remote-fetch (remote-lookup repository "origin"))) + (let ((oid (switch-to-ref repository ref))) + + ;; Reclaim file descriptors and memory mappings associated with + ;; REPOSITORY as soon as possible. + (when (module-defined? (resolve-interface '(git repository)) + 'repository-close!) + (repository-close! repository)) + + (values cache-dir (oid->string oid)))))) (define* (latest-repository-commit store url #:key @@ -137,23 +153,16 @@ data, respectively [ | | ]. Git repositories are kept in the cache directory specified by %repository-cache-directory parameter." - (with-libgit2 - (let* ((cache-dir (url-cache-directory url cache-directory)) - (cache-exists? (openable-repository? cache-dir)) - (repository (if cache-exists? - (repository-open cache-dir) - (clone* url cache-dir)))) - ;; Only fetch remote if it has not been cloned just before. - (when cache-exists? - (remote-fetch (remote-lookup repository "origin"))) - (switch-to-ref repository ref) + (define (dot-git? file stat) + (and (string=? (basename file) ".git") + (eq? 'directory (stat:type stat)))) - ;; Reclaim file descriptors and memory mappings associated with - ;; REPOSITORY as soon as possible. - (when (module-defined? (resolve-interface '(git repository)) - 'repository-close!) - (repository-close! repository)) - - (copy-to-store store cache-dir - #:url url - #:repository repository)))) + (let*-values (((checkout commit) + (update-cached-checkout url + #:ref ref + #:cache-directory cache-directory)) + ((name) + (url+commit->name url commit))) + (values (add-to-store store name #t "sha256" checkout + #:select? (negate dot-git?)) + commit))) From b948c04745dffeda9b19c2eadd765e2cb622f2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 2 Apr 2018 23:15:05 +0200 Subject: [PATCH 109/245] gnu: cuirass: Update to f090c0f. * gnu/packages/ci.scm (cuirass): Update to f090c0f. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 06c3298975..c78125b479 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -187,8 +187,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "326264c8e9445cb94d7fb33aab5ef93dc99ffe57") - (revision "14")) + (let ((commit "f090c0f4786c789070e2eae740914e06ab0ab989") + (revision "15")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -200,7 +200,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "0l6433l63r1zyq9hg89q9l6zgydm7bm35xdvb0g22w1d6wvi48ls")))) + "0aj1z9svsjvjlb6gas6032ygwhv7ld4iw7g3as852x9nfd2zck98")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From a374d9c9b00a7248a366bf8ad747e9cd6dbb51eb Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 2 Apr 2018 23:20:07 +0200 Subject: [PATCH 110/245] gnu: portmidi: Create "libporttime.so" symlink. * gnu/packages/music.scm (portmidi): Add an `add-portime' phase. --- gnu/packages/music.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 9949e8e38f..ae35678357 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1768,7 +1768,19 @@ projects.") #:build-type "Release" ; needed to have PMALSA set #:configure-flags (list "-DPORTMIDI_ENABLE_JAVA=Off" - "-DPORTMIDI_ENABLE_TEST=Off"))) ; tests fail linking + "-DPORTMIDI_ENABLE_TEST=Off") ; tests fail linking + #:phases + (modify-phases %standard-phases + ;; Some packages, e.g., MuseScore, expect "libporttime.so" instead of + ;; "libportmidi.so". Distributions get away with it by creating an + ;; appropriate symlink. + (add-after 'install 'add-porttime + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (with-directory-excursion lib + (symlink "libportmidi.so" "libporttime.so"))) + #t))))) (inputs `(("alsa-lib" ,alsa-lib))) (native-inputs From b3891a25f8d1cf6fb912e6383ee3e9814143122d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 2 Apr 2018 23:21:13 +0200 Subject: [PATCH 111/245] gnu: musescore: Update to 2.2. * gnu/packages/music.scm (musescore): Update to 2.2. [arguments]: Use new flag for freetype and remove corresponding fix. Prevent downloading sound fonts during installation. [inputs]: Add portmidi. --- gnu/packages/music.scm | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ae35678357..27fddfcf6c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3482,7 +3482,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "2.1.0") + (version "2.2") (source (origin (method url-fetch) (uri (string-append @@ -3491,7 +3491,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")) + "1qnmmh05z1kzcwa8vddywrxs8g7zvp5vpwz4v7w7c135hjwrb6jy")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. @@ -3509,7 +3509,9 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (build-system gnu-build-system) (arguments `(#:make-flags - `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + "USE_SYSTEM_FREETYPE=ON" + "DOWNLOAD_SOUNDFONT=OFF") ;; There are tests, but no simple target to run. The command ;; used to run them is: ;; @@ -3521,16 +3523,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'use-system-freetype - (lambda _ - ;; XXX: For the time being, we grossly insert the CMake - ;; option needed to ignore bundled freetype. However, - ;; there's a pending PR to have it as a regular make - ;; option, in a future release. - (substitute* "Makefile" - (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) - #t))))) + (delete 'configure)))) (inputs `(("alsa-lib" ,alsa-lib) ("freetype" ,freetype) @@ -3541,6 +3534,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke ("libsndfile" ,libsndfile) ("libvorbis" ,libvorbis) ("portaudio" ,portaudio) + ("portmidi" ,portmidi) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) From 82c8e0ae0a81aedc65593d630b9ee4931a1e6a8d Mon Sep 17 00:00:00 2001 From: Sahithi Yarlagadda Date: Thu, 29 Mar 2018 16:42:18 +0530 Subject: [PATCH 112/245] gnu: Add r-abc. * gnu/packages/cran.scm (r-abc): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 530c62de93..233729021d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3676,3 +3676,31 @@ package which implements several @dfn{Approximate Bayesian Computation} (ABC) algorithms for performing parameter estimation, model selection, and goodness-of-fit.") (license license:gpl3+))) + +(define-public r-abc + (package + (name "r-abc") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abc" version)) + (sha256 + (base32 + "0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb")))) + (build-system r-build-system) + (propagated-inputs + `(("r-abc-data" ,r-abc-data) + ("r-locfit" ,r-locfit) + ("r-mass" ,r-mass) + ("r-nnet" ,r-nnet) + ("r-quantreg" ,r-quantreg))) + (home-page "https://cran.r-project.org/web/packages/abc/") + (synopsis "Tools for Approximate Bayesian Computation (ABC)") + (description + "This package implements several @dfn{Approximate Bayesian +Computation} (ABC) algorithms for performing parameter estimation, model +selection, and goodness-of-fit. Cross-validation tools are also available for +measuring the accuracy of ABC estimates, and to calculate the +misclassification probabilities of different models.") + (license license:gpl3+))) From 35d56c1cbbfeecd5724283950adf72b03d342af9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 1 Apr 2018 19:19:56 +0200 Subject: [PATCH 113/245] gnu: libvirt: Update to 4.2.0. * gnu/packages/virtualization.scm (libvirt): Update to 4.2.0. [native-inputs]: Replace python-2 with python (@3). --- gnu/packages/virtualization.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index de01e01638..b2b430a997 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -347,14 +347,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "4.0.0") + (version "4.2.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 (base32 - "1j6zzajh4j3zzsaqn5f5mrchm0590xcf6rzkfajvqw3bd4dcms79")))) + "0nq1iz5iic466qahp0i8dlvyd6li0b0pdrvvrz9286l12x2fm61s")))) (build-system gnu-build-system) (arguments `(;; FAIL: virshtest @@ -420,7 +420,7 @@ manage system or application containers.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("polkit" ,polkit) - ("python" ,python-2))) + ("python" ,python))) (home-page "https://libvirt.org") (synopsis "Simple API for virtualization") (description "Libvirt is a C toolkit to interact with the virtualization From 3cc7d542621b7a6f3e3f8ca6328762e29b14747d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 2 Apr 2018 14:54:45 +0200 Subject: [PATCH 114/245] gnu: python-libvirt: Update to 4.1.0. * gnu/packages/virtualization.scm (python-libvirt): Update to 4.1.0. --- gnu/packages/virtualization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index b2b430a997..44a4ed2920 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -480,13 +480,13 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "3.7.0") + (version "4.1.0") (source (origin (method url-fetch) (uri (pypi-uri "libvirt-python" version)) (sha256 (base32 - "0vy0ai8z88yhzqfk1n08z1gda5flrqxcw9lg1012b3zg125qljhy")))) + "1ixqhxjkczl8vk9wjx4cknw4374cw5nnsacbd2s755kpd0ys7hny")))) (build-system python-build-system) (arguments `(#:phases From 426916b7a0e59116b6eb6770ea97eb7bd1ae935e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 2 Apr 2018 15:18:11 +0200 Subject: [PATCH 115/245] gnu: python-oslotest: Update to 3.4.0. * gnu/packages/openstack.scm (python-oslotest): Update to 3.4.0. --- 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 5875562aa1..3e9fd375c9 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -646,14 +646,14 @@ from the OpenStack project.") (define-public python-oslotest (package (name "python-oslotest") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (pypi-uri "oslotest" version)) (sha256 (base32 - "006i73w8kbc9s0av2v5mbni6mnkb91c2nq17wa0lz7bwk5zss992")))) + "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h")))) (build-system python-build-system) (propagated-inputs `(("python-fixtures" ,python-fixtures) From fc8c229f14d541ae0fcf271a02c8d132cc84cb29 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Apr 2018 12:15:58 +0200 Subject: [PATCH 116/245] gnu: perl-mailtools: Update to 2.20. * gnu/packages/perl.scm (perl-mailtools): Update to 2.20. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ffb84440aa..479776126b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4637,7 +4637,7 @@ portions of this module couldn't be compiled on this machine.") (define-public perl-mailtools (package (name "perl-mailtools") - (version "2.19") + (version "2.20") (source (origin (method url-fetch) @@ -4647,7 +4647,7 @@ portions of this module couldn't be compiled on this machine.") ".tar.gz")) (sha256 (base32 - "06jykkv8mp484vzkmwd6dkicx029rl3ir5ljzrbap3paxw1dfzn1")))) + "15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm")))) (build-system perl-build-system) (propagated-inputs `(("perl-timedate" ,perl-timedate))) From 5c151862c264257393139739178386182089b453 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Apr 2018 12:21:29 +0200 Subject: [PATCH 117/245] gnu: git: Update to 2.17.0. * gnu/packages/version-control.scm (git): Update to 2.17.0. [arguments]: Remove obsolete substitution. --- gnu/packages/version-control.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 15fdfeca4b..1c87f2ea32 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -139,14 +139,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git:src' input to cgit needs ;; to be updated as well. - (version "2.16.3") + (version "2.17.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0j1dwvg5llnj3g0fp8hdgpms4hp90qw9f6509vqw30dhwplrjpfn")))) + "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -159,7 +159,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "15ckcia3bdbn1dpwlh3fifd8fzk38l1pdgxsf2yl8l8xd1z8jqaz")))))) + "09rpjj0m97h5lpzpwk47m6xsz9gb8wqf1s3dfqma3mwav2pb3njb")))))) (inputs `(("curl" ,curl) ("expat" ,expat) @@ -215,9 +215,6 @@ as well as the classic centralized workflow.") (("/bin/sh") (which "sh")) (("/usr/bin/perl") (which "perl")) (("/usr/bin/python") (which "python"))) - (substitute* "perl/Makefile" - ;; Don't create timestamped 'perllocal.pod'. - (("\\$< PREFIX=") "$< NO_PERLLOCAL=1 PREFIX=")) #t)) (add-after 'configure 'add-PM.stamp (lambda _ From 4fca8a028e6a0ce4555da18a2d2b091decd8d890 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 1 Apr 2018 17:15:57 -0400 Subject: [PATCH 118/245] gnu: emacs-elfeed: Update to 2.3.0. * gnu/packages/emacs.scm (emacs-elfeed): Update to 2.3.0. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7a203ef6e4..33f994f821 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Vasile Dumitrascu -;;; Copyright © 2017 Kyle Meyer +;;; Copyright © 2017, 2018 Kyle Meyer ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 George Clemmer ;;; Copyright © 2017 Feng Shu @@ -3903,7 +3903,7 @@ If you want to mark a folder manually as a project just create an empty (define-public emacs-elfeed (package (name "emacs-elfeed") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/skeeto/elfeed/archive/" @@ -3911,7 +3911,7 @@ If you want to mark a folder manually as a project just create an empty (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0d7i93l3b0ck3iad9ddqp7sqa8w16hnamrby8bwvl316rqk4lzlf")))) + "1fd1mx0q1qb9vgdzls5ppxfriyid48blg8smgjspiazp7kxakzxv")))) (build-system emacs-build-system) (arguments `(#:phases From e0b0cafdea9872e45611a903567098c5ecdbbf68 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 1 Apr 2018 17:15:58 -0400 Subject: [PATCH 119/245] gnu: emacs-helm: Update to 2.9.0. * gnu/packages/emacs.scm (emacs-helm): Update to 2.9.0. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 33f994f821..8f2bba7dd5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4156,7 +4156,7 @@ the file buffer.") (define-public emacs-helm (package (name "emacs-helm") - (version "2.8.5") + (version "2.9.0") (source (origin (method url-fetch) (uri (string-append @@ -4165,7 +4165,7 @@ the file buffer.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15xlnjm9rsbn0xq7xc09y52h2kn41zwn7ldryammf6i46wl02kq3")))) + "1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) From d3d576616c70c0fcea29f3d364f810a2bd37cf95 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 1 Apr 2018 17:15:59 -0400 Subject: [PATCH 120/245] gnu: emacs-helm-swoop: Update to 1.7.4. * gnu/packages/emacs.scm (emacs-helm-swoop): Update to 1.7.4. Signed-off-by: Marius Bakke --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8f2bba7dd5..bb91ccd042 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4185,7 +4185,7 @@ not tied in the trap of backward compatibility.") (define-public emacs-helm-swoop (package (name "emacs-helm-swoop") - (version "1.7.2") + (version "1.7.4") (source (origin (method url-fetch) (uri (string-append @@ -4195,7 +4195,7 @@ not tied in the trap of backward compatibility.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z34pfi0gsk054pxr906ilaalaw0xz3s536163gf9ykkwmc2356d")))) + "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) From 6d09a7b5ecf01733b4cffb9d03fe08ad3c81d659 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 3 Apr 2018 13:07:21 +0200 Subject: [PATCH 121/245] gnu: virtuoso-ose: Unbundle zlib and build with readline support. * gnu/packages/databases.scm (virtuoso-ose): [inputs]: Add zlib, and readline; [arguments]: Add --without-internal-zlib, and --with-readline. --- gnu/packages/databases.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0622b5f37c..b08ac60f8c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016, 2017 Nils Gillmann -;;; Copyright © 2016, 2017 Roel Janssen +;;; Copyright © 2016, 2017, 2018 Roel Janssen ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Andy Patterson @@ -2040,10 +2040,16 @@ implementation for Python.") (base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; Tests require a network connection. + `(#:tests? #f ; Tests require a network connection. + ;; TODO: Removing the libsrc/zlib source directory breaks the build. + ;; This indicates that the internal zlib code may still be used. + #:configure-flags '("--without-internal-zlib" + "--with-readline"))) (inputs `(("openssl" ,openssl) - ("net-tools" ,net-tools))) + ("net-tools" ,net-tools) + ("readline" ,readline) + ("zlib" ,zlib))) (home-page "http://vos.openlinksw.com/owiki/wiki/VOS/") (synopsis "Multi-model database system") (description "Virtuoso is a scalable cross-platform server that combines From 9b3deccd60b4ad896632e15978f6b9bf59399483 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 3 Apr 2018 14:31:57 +0200 Subject: [PATCH 122/245] gnu: Add perl-pegex. * gnu/packages/perl.scm (perl-pegex): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 479776126b..022cd7e884 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6622,6 +6622,33 @@ PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input for correctness.") (license (package-license perl)))) +(define-public perl-pegex + (package + (name "perl-pegex") + (version "0.64") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IN/INGY/Pegex-" + version ".tar.gz")) + (sha256 + (base32 + "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-sharedir-install" ,perl-file-sharedir-install) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (home-page "http://search.cpan.org/dist/Pegex/") + (synopsis "Acmeist PEG Parser Framework") + (description "Pegex is an Acmeist parser framework. It allows you to easily +create parsers that will work equivalently in lots of programming languages. +The inspiration for Pegex comes from the parsing engine upon which the +postmodern programming language Perl 6 is based on. Pegex brings this beauty +to the other justmodern languages that have a normal regular expression engine +available.") + (license (package-license perl)))) + (define-public perl-pod-coverage (package (name "perl-pod-coverage") From 229241b1a47bcd5c366fdefab2dcbe233496d5d6 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 3 Apr 2018 14:36:05 +0200 Subject: [PATCH 123/245] gnu: Add perl-inline. * gnu/packages/perl.scm (perl-inline): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 022cd7e884..041db7a470 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3975,6 +3975,30 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.") "Indirect warns about using the indirect method call syntax.") (license (package-license perl)))) +(define-public perl-inline + (package + (name "perl-inline") + (version "0.80") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IN/INGY/Inline-" + version ".tar.gz")) + (sha256 + (base32 + "1xnf5hykcr54271x5jsnr61bcv1c7x39cy4kdcrkxm7bn62djavy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-warn" ,perl-test-warn))) + (home-page "http://search.cpan.org/dist/Inline/") + (synopsis "Write Perl subroutines in other programming languages") + (description "The @code{Inline} module allows you to put source code +from other programming languages directly (inline) in a Perl script or +module. The code is automatically compiled as needed, and then loaded +for immediate access from Perl.") + (license (package-license perl)))) + (define-public perl-io-captureoutput (package (name "perl-io-captureoutput") From 9dfa3d22645a3f1e147bc8e765619c88abd40ea9 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 3 Apr 2018 14:43:13 +0200 Subject: [PATCH 124/245] gnu: Add perl-inline-c. * gnu/packages/perl.scm (perl-inline-c): New variable. --- gnu/packages/perl.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 041db7a470..78c15f3339 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Alex Sassmannshausen -;;; Copyright © 2016 Roel Janssen +;;; Copyright © 2016, 2018 Roel Janssen ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Raoul J.P. Bonnal @@ -3999,6 +3999,38 @@ module. The code is automatically compiled as needed, and then loaded for immediate access from Perl.") (license (package-license perl)))) +(define-public perl-inline-c + (package + (name "perl-inline-c") + (version "0.78") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/T/TI/TINITA/Inline-C-" + version ".tar.gz")) + (sha256 + (base32 + "1izv7vswd17glffh8h83bi63gdk208mmhxi17l3qd8q1bkc08y4s")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-copy-recursive" ,perl-file-copy-recursive) + ("perl-file-sharedir-install" ,perl-file-sharedir-install) + ("perl-test-warn" ,perl-test-warn) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (propagated-inputs + `(("perl-inline" ,perl-inline) + ("perl-parse-recdescent" ,perl-parse-recdescent) + ("perl-pegex" ,perl-pegex))) + (home-page "http://search.cpan.org/dist/Inline-C/") + (synopsis "C Language Support for Inline") + (description "The @code{Inline::C} module allows you to write Perl +subroutines in C. Since version 0.30 the @code{Inline} module supports +multiple programming languages and each language has its own support module. +This document describes how to use Inline with the C programming language. +It also goes a bit into Perl C internals.") + (license (package-license perl)))) + (define-public perl-io-captureoutput (package (name "perl-io-captureoutput") From 7ba22308975f31c33d7a9cbb5c09be1837a74d2a Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 3 Apr 2018 15:16:42 +0200 Subject: [PATCH 125/245] gnu: Add perl-carp. * gnu/packages/perl.scm (perl-carp): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 78c15f3339..8cb584c30d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -722,6 +722,31 @@ is captured while being passed through to the original file handles.") to test the installed perl for compatibility with his modules.") (license (package-license perl)))) +(define-public perl-carp + (package + (name "perl-carp") + (version "1.38") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Carp-" + version ".tar.gz")) + (sha256 + (base32 + "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Carp/") + (synopsis "Alternative warn and die for modules") + (description "The @code{Carp} routines are useful in your own modules +because they act like @code{die()} or @code{warn()}, but with a message +which is more likely to be useful to a user of your module. In the case +of @code{cluck}, @code{confess}, and @code{longmess} that context is a +summary of every call in the call-stack. For a shorter message you can use +@code{carp} or @code{croak} which report the error as being from where your +module was called. There is no guarantee that that is where the error was, +but it is a good educated guess.") + (license (package-license perl)))) + (define-public perl-carp-always (package (name "perl-carp-always") From f72662968e757ed79eefa1990b5b94d802571632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Mon, 19 Mar 2018 21:10:31 +0100 Subject: [PATCH 126/245] services: certbot: Don't try to renew certificates on activation. Because it takes too much time and it requires networking. Thanks to Mathieu Othacehe for suggesting this. * gnu/services/certbot.scm (certbot-activation): Do not run the renewal command, copy its path to a fixed location, display it, so that the user can run the command when they want. --- gnu/services/certbot.scm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index a2a200f032..7548145c98 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -26,6 +26,7 @@ #:use-module (gnu services web) #:use-module (gnu system shadow) #:use-module (gnu packages tls) + #:use-module (guix i18n) #:use-module (guix records) #:use-module (guix gexp) #:use-module (srfi srfi-1) @@ -113,14 +114,19 @@ #$(certbot-command config)))) (define (certbot-activation config) - (match config - (($ package webroot certificates email - rsa-key-size default-location) - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (mkdir-p #$webroot) - (zero? (system* #$(certbot-command config)))))))) + (let* ((certbot-directory "/var/lib/certbot") + (script (in-vicinity certbot-directory "renew-certificates")) + (message (format #f (G_ "~a may need to be run~%") script))) + (match config + (($ package webroot certificates email + rsa-key-size default-location) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p #$webroot) + (mkdir-p #$certbot-directory) + (copy-file #$(certbot-command config) #$script) + (display #$message))))))) (define certbot-nginx-server-configurations (match-lambda From 2d11acb61ce39efcda1176fb64d14ef627f24873 Mon Sep 17 00:00:00 2001 From: Sohom Bhattacharjee Date: Tue, 3 Apr 2018 01:34:45 +0530 Subject: [PATCH 127/245] gnu: emacs-anzu: Use the upstream release instead of MELPA. * gnu/packages/emacs.scm (emacs-anzu)[source]: Replace MELPA tarball with the upstream release. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index bb91ccd042..4b750b2081 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7423,11 +7423,12 @@ directories of plain text notes, inspired by Notational Velocity.") (source (origin (method url-fetch) - (uri (string-append "http://stable.melpa.org/packages/anzu-" - version ".el")) + (uri (string-append "https://github.com/syohex/emacs-anzu/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1h3p1x2h2830n83dzvkh8p2892n34a95x7aavhi10p7vfjk406fd")))) + "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-anzu") (synopsis "Show number of matches in mode-line while searching") From 689d53fa4959e184341ba17fce8af7dc0d65cdb6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 4 Apr 2018 03:31:10 +0200 Subject: [PATCH 128/245] gnu: iproute2: Update to 4.16.0. * gnu/packages/linux.scm (iproute): Update to 4.16.0. --- 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 8104284b3a..b6333af996 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1208,7 +1208,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "4.15.0") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1216,7 +1216,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28")))) + "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite From 02e7e3f97378e4a220ca644ea6af47c662a9e7fe Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Wed, 4 Apr 2018 12:01:45 +0200 Subject: [PATCH 129/245] gnu: xpra: Update to 2.2.6. * gnu/packages/xorg.scm (xpra): Update to 2.2.6. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 38ce45bdee..30e66e349e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5944,7 +5944,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "2.2.5") + (version "2.2.6") (source (origin (method url-fetch) @@ -5952,7 +5952,7 @@ basic eye-candy effects.") version ".tar.xz")) (sha256 (base32 - "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js")))) + "1zyynghhzjbgnmzcibm17wpj9f7jy31d7dr373li8cwg2yl2swyz")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) From cd730719846538bf04061f85adc1651f8c2a509d Mon Sep 17 00:00:00 2001 From: Thorsten Wilms Date: Sat, 31 Mar 2018 14:34:50 +0200 Subject: [PATCH 130/245] gnu: Add x11-socket-directory-service. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/desktop.scm (x11-socket-directory-service): New variable. (%desktop-services): Add it. Signed-off-by: Ludovic Courtès --- gnu/services/desktop.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 8972529179..517d5d3efe 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -94,6 +94,8 @@ xfce-desktop-service xfce-desktop-service-type + x11-socket-directory-service + %desktop-services)) ;;; Commentary: @@ -880,6 +882,24 @@ system as root from within a user session, after the user has authenticated with the administrator's password." (service xfce-desktop-service-type config)) + +;;; +;;; X11 socket directory service +;;; + +(define x11-socket-directory-service + ;; Return a service that creates /tmp/.X11-unix. When using X11, libxcb + ;; takes care of creating that directory. However, when using XWayland, we + ;; need to create beforehand. Thus, create it unconditionally here. + (simple-service 'x11-socket-directory + activation-service-type + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let ((directory "/tmp/.X11-unix")) + (mkdir-p directory) + (chmod directory #o777)))))) + ;;; ;;; The default set of desktop services. @@ -912,6 +932,8 @@ with the administrator's password." (ntp-service) + x11-socket-directory-service + %base-services)) ;;; desktop.scm ends here From 8b209bb6924cbfe3f438f66a6776a2994e0cdeaa Mon Sep 17 00:00:00 2001 From: Vijayalakshmi Vedantham Date: Thu, 29 Mar 2018 04:25:43 +0530 Subject: [PATCH 131/245] gnu: Add python-django-override-storage. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/django.scm (python-django-override-storage): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/django.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 4bb2e69049..d42afb2285 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Nils Gillmann ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; ;;; This file is part of GNU Guix. ;;; @@ -809,3 +810,25 @@ provides features like a web browseable API and authentication policies.") "@code{django-crispy-forms} lets you easily build, customize and reuse forms using your favorite CSS framework, without writing template code.") (license license:expat))) + +(define-public python-django-override-storage + (package + (name "python-django-override-storage") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-override-storage" version)) + (sha256 + (base32 + "0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x")))) + (build-system python-build-system) + (propagated-inputs + `(("python-django" ,python-django))) + (home-page + "https://github.com/danifus/django-override-storage") + (synopsis "Django test helpers to manage file storage side effects") + (description + "This project provides tools to help reduce the side effects of using +FileFields during tests.") + (license license:expat))) From a509041f2abf676563cafe13deb4a20a561a0264 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 3 Apr 2018 19:53:56 +0530 Subject: [PATCH 132/245] gnu: chromaprint: Build 'fpcalc'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mp3.scm (chromaprint)[arguments]: Add #:configure-flags. Signed-off-by: Ludovic Courtès --- gnu/packages/mp3.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 6dc58e2cc8..f57ebf575a 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -508,6 +508,7 @@ command-line tool.") (arguments `(#:tests? #f ; tests require googletest *sources* ;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests + #:configure-flags '("-DBUILD_TOOLS=ON") ; for fpcalc #:test-target "check")) (inputs ;; requires one of FFmpeg (prefered), FFTW3 or vDSP From d56ecf623ec26134d4b1d47017f3530160234143 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sat, 31 Mar 2018 23:47:36 +0200 Subject: [PATCH 133/245] gnu: Add dot2tex. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/graphviz.scm (dot2tex): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/graphviz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 43e7ccac42..58c0fa82fe 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Gábor Boskovits +;;; Copyright © 2018 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages swig) #:use-module (gnu packages python) + #:use-module (gnu packages tex) #:use-module ((guix licenses) #:prefix license:)) (define-public graphviz @@ -239,3 +241,36 @@ graphs in Graphviz's DOT language, written in pure Python.") (define-public python2-pydot (package-with-python2 python-pydot)) + +(define-public dot2tex + (package + (name "dot2tex") + (version "2.9.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "dot2tex" version)) + (sha256 + (base32 + "0jhdwp0wv2h0xb7j2s5xiv7i8yaqgfpwwqcyrjvaxkfwsynm8gkx")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (inputs + `(("texlive-latex-preview" ,texlive-latex-preview) + ("graphviz" ,graphviz))) + (propagated-inputs + `(("python-pyparsing" ,python2-pyparsing))) + (home-page "https://github.com/kjellmf/dot2tex") + (synopsis "Graphviz to LaTeX converter") + (description + "The purpose of @code{dot2tex} is to give graphs generated by Graphviz a +more LaTeX friendly look and feel. This is accomplished by converting +@code{xdot} output from Graphviz to a series of PSTricks or PGF/TikZ commands. +This approach allows: + +@itemize @bullet +@item Typesetting labels with LaTeX, allowing mathematical notation +@item Using native PSTricks and PGF/TikZ commands for drawing arrows +@item Using backend specific styles to customize the output +@end itemize") + (license license:expat))) From c3581ef968c7bcdd992b1960a19e3a4bcfa26280 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sun, 1 Apr 2018 00:00:29 +0200 Subject: [PATCH 134/245] gnu: Add emacs-emmet-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-emmet-mode): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4b750b2081..7c1b190d2d 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2017 Mike Gerwitz ;;; Copyright © 2017, 2018 Maxim Cournoyer ;;; Copyright © 2018 Sohom Bhattacharjee +;;; Copyright © 2018 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. ;;; @@ -7437,3 +7438,23 @@ directories of plain text notes, inspired by Notational Velocity.") matches\" in the mode line in various search modes. This is an Emacs port of Anzu.zim.") (license license:gpl3+))) + +(define-public emacs-emmet-mode + (package + (name "emacs-emmet-mode") + (version "1.0.8") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/smihica/emmet-mode" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj")))) + (build-system emacs-build-system) + (home-page "https://github.com/smihica/emmet-mode") + (synopsis "Unofficial Emmet's support for Emacs") + (description + "Unfold CSS-selector-like expressions to markup. It is intended to be +used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") + (license license:gpl3+))) From 95f3b626d7117571df9a9bd48dd5109213395215 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sat, 31 Mar 2018 23:19:12 +0200 Subject: [PATCH 135/245] gnu: Add python-empy. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python-empy): New variable. (python2-empy): Use 'package-with-python-2'. Signed-off-by: Ludovic Courtès --- gnu/packages/python.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9e038ef4fb..e6ae8f433b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2018 Ethan R. Jones ;;; Copyright © 2018 Vijayalakshmi Vedantham +;;; Copyright © 2018 Mathieu Lirzin ;;; This file is part of GNU Guix. ;;; @@ -1304,9 +1305,9 @@ applications. dogtail scripts are written in Python and executed like any other Python program.") (license license:gpl2+))) -(define-public python2-empy +(define-public python-empy (package - (name "python2-empy") + (name "python-empy") (version "3.3") (source (origin (method url-fetch) @@ -1317,12 +1318,7 @@ other Python program.") "01g8mmkfnvjdmlhsihwyx56lrg7r5m5d2fg6mnxsvy6g0dnl69f6")))) (build-system python-build-system) (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "./test.sh"))))))) + `(#:tests? #f)) ;python2 only (home-page "http://www.alcyone.com/software/empy/") (synopsis "Templating system for Python") (description @@ -1339,6 +1335,9 @@ system is highly configurable via command line options and embedded commands.") (license license:lgpl2.1+))) +(define-public python2-empy + (package-with-python2 python-empy)) + (define-public python2-element-tree (package (name "python2-element-tree") From 03efe78c3483ea046fd050bf9b6eeadee08e7236 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Wed, 4 Apr 2018 13:27:26 +0200 Subject: [PATCH 136/245] gnu: Add emacs-password-store. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-password-store): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7c1b190d2d..fd0b8acd0e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -101,6 +101,7 @@ #:use-module (gnu packages fribidi) #:use-module (gnu packages gd) #:use-module (gnu packages fontutils) + #:use-module (gnu packages password-utils) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -7458,3 +7459,38 @@ Anzu.zim.") "Unfold CSS-selector-like expressions to markup. It is intended to be used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") (license license:gpl3+))) + +(define-public emacs-password-store + (package + (name "emacs-password-store") + (version "1.7.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://git.zx2c4.com/password-store/snapshot/" + "password-store-" version ".tar.xz")) + (sha256 + (base32 + "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'extract-el-file + (lambda _ + (copy-file "contrib/emacs/password-store.el" "password-store.el") + (delete-file-recursively "contrib") + (delete-file-recursively "man") + (delete-file-recursively "src") + (delete-file-recursively "tests")))))) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s) + ("password-store" ,password-store))) + (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs") + (synopsis "Password store (pass) support for Emacs") + (description + "This package provides functions for working with pass (\"the +standard Unix password manager\").") + (license license:gpl2+))) + From b028a9830c5652c1c1782655c4cf268f4de7cc89 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 14:50:37 +0200 Subject: [PATCH 137/245] gnu: Add perl-pathtools. * gnu/packages/perl.scm (perl-pathtools): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8cb584c30d..9676920e17 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6655,6 +6655,36 @@ up inheritance from those modules at the same time.") directory specifications in a cross-platform manner.") (license (package-license perl)))) +(define-public perl-pathtools + (package + (name "perl-pathtools") + (version "3.74") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-" + version ".tar.gz")) + (sha256 + (base32 "04bfjdvn5p78hirljcinpxv8djcjn8nyg5gcmnmvz8sr9k2lqwi5")))) + (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-pwd-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Cwd.pm" + (("'/bin/pwd'") + (string-append "'" (assoc-ref inputs "coreutils") + "/bin/pwd'")))))))) + (inputs + `(("coreutils" ,coreutils))) + (home-page "http://search.cpan.org/dist/PathTools/") + (synopsis "Tools for working with directory and file names") + (description "This package provides functions to work with directory and +file names.") + (license perl-license))) + (define-public perl-path-tiny (package (name "perl-path-tiny") From ea09f99f7fcdde57589f83cfc66e813b084013f9 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 14:54:02 +0200 Subject: [PATCH 138/245] gnu: 4store: Remove preprocessor directive. * gnu/packages/databases.scm (4store): Add patch to remove preprocessor directive. * gnu/packages/patches/4store-unset-preprocessor-directive.patch: New file. * gnu/local.mk: Register patch. --- gnu/local.mk | 1 + gnu/packages/databases.scm | 3 ++- .../4store-unset-preprocessor-directive.patch | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/4store-unset-preprocessor-directive.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2705fb37a5..1481d07066 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -544,6 +544,7 @@ MODULES_NOT_COMPILED += \ patchdir = $(guilemoduledir)/%D%/packages/patches dist_patch_DATA = \ %D%/packages/patches/4store-fix-buildsystem.patch \ + %D%/packages/patches/4store-unset-preprocessor-directive.patch \ %D%/packages/patches/a2ps-CVE-2001-1593.patch \ %D%/packages/patches/a2ps-CVE-2014-0466.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index b08ac60f8c..30b9320c2a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -125,7 +125,8 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50")) - (patches (list (search-patch "4store-fix-buildsystem.patch"))))) + (patches (search-patches "4store-unset-preprocessor-directive.patch" + "4store-fix-buildsystem.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) diff --git a/gnu/packages/patches/4store-unset-preprocessor-directive.patch b/gnu/packages/patches/4store-unset-preprocessor-directive.patch new file mode 100644 index 0000000000..c4b1d6eda4 --- /dev/null +++ b/gnu/packages/patches/4store-unset-preprocessor-directive.patch @@ -0,0 +1,16 @@ +This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed. +Setting it removes the definition of strdup, which is used in filter-datatypes.c. + +Patch by Roel Janssen +*** a/src/frontend/filter-datatypes.c 1970-01-01 01:00:00.000000000 +0100 +--- b/src/frontend/filter-datatypes.c 2018-04-03 17:39:23.177905592 +0200 +*************** +*** 18,24 **** + * Copyright (C) 2006 Steve Harris for Garlik + */ + +- #define _XOPEN_SOURCE + #include + #include + #include +--- 18,23 ---- From 0d5c19452f49c317505e24f415a5a8fdd1fe54f8 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:07:50 +0200 Subject: [PATCH 139/245] gnu: Add perl-font-ttf. * gnu/packages/perl.scm (perl-font-ttf): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9676920e17..34ea031699 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9199,6 +9199,30 @@ File::Find replacement in Perl.") interface to File::Find::Object.") (license (package-license perl)))) +(define-public perl-font-ttf + (package + (name "perl-font-ttf") + (version "1.06") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-" + version ".tar.gz")) + (sha256 + (base32 + "14y29ja3lsa3yw0ll20lj96f3zz5zydjqi1c5nh9wxar8927ssab")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-io-string" ,perl-io-string))) + (home-page "http://search.cpan.org/dist/Font-TTF/") + (synopsis "TTF font support for Perl") + (description "This package provides a Perl module for TrueType/OpenType +font hacking. It supports reading, processing and writing of the following +tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat, +fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep, +prop, vhea, vmtx and the reading and writing of all other table types.") + (license artistic2.0))) + (define-public perl-libtime-parsedate (package (name "perl-libtime-parsedate") From e1478563979db6d36acccbc6f2bab749c295d68d Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:16:53 +0200 Subject: [PATCH 140/245] gnu: Add perl-memoize. * gnu/packages/perl.scm (perl-memoize): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 34ea031699..7bb43e4620 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4760,6 +4760,25 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. @end table") (license perl-license))) +(define-public perl-memoize + (package + (name "perl-memoize") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MJ/MJD/Memoize-" + version".tgz")) + (sha256 + (base32 + "1wysq3wrmf1s7s3phimzn7n0dswik7x53apykzgb0l2acigwqfaj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Memoize/") + (synopsis "Make functions faster by trading space for time") + (description "This package transparently speeds up functions by caching +return values, trading space for time.") + (license perl-license))) + (define-public perl-memoize-expirelru (package (name "perl-memoize-expirelru") From 5a6e23fb1bfc50e62f8b9b7c92dac5686c762677 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:22:19 +0200 Subject: [PATCH 141/245] gnu: Add perl-math-round. * gnu/packages/perl.scm (perl-math-round): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7bb43e4620..3f1693c9d7 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4760,6 +4760,25 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. @end table") (license perl-license))) +(define-public perl-math-round + (package + (name "perl-math-round") + (version "0.07") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-" + version ".tar.gz")) + (sha256 + (base32 + "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Math-Round/") + (synopsis "Perl extension for rounding numbers") + (description "@code{Math::Round} provides functions to round numbers, +both positive and negative, in various ways.") + (license perl-license))) + (define-public perl-memoize (package (name "perl-memoize") From 821aaa9ca5200a4d070114d3ae4b07e79c97b039 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:35:08 +0200 Subject: [PATCH 142/245] gnu: Add perl-threads. * gnu/packages/perl.scm (perl-threads): New variable. --- gnu/packages/perl.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3f1693c9d7..7451f9398c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8214,6 +8214,23 @@ letters, the pronunciation expressed by the text in some other writing system.") (license (package-license perl)))) +(define-public perl-threads + (package + (name "perl-threads") + (version "2.21") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-" + version ".tar.gz")) + (sha256 + (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/threads/") + (synopsis "Perl interpreter-based threads") + (description "This module exposes interpreter threads to the Perl level.") + (license perl-license))) + (define-public perl-throwable (package (name "perl-throwable") From 1a014680c8dd7847b37eddd54f3afeae8cbbb31f Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:44:15 +0200 Subject: [PATCH 143/245] gnu: Add perl-math-bezier. * gnu/packages/perl.scm (perl-math-bezier): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7451f9398c..918d211885 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4760,6 +4760,26 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. @end table") (license perl-license))) +(define-public perl-math-bezier + (package + (name "perl-math-bezier") + (version "0.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AB/ABW/Math-Bezier-" + version ".tar.gz")) + (sha256 + (base32 + "1f5qwrb7vvf8804myb2pcahyxffqm9zvfal2n6myzw7x8py1ba0i")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Math-Bezier/") + (synopsis "Solution of bezier curves") + (description "This module implements the algorithm for the solution of Bezier +curves as presented by Robert D Miller in Graphics Gems V, \"Quick and Simple +Bezier Curve Drawing\".") + (license perl-license))) + (define-public perl-math-round (package (name "perl-math-round") From 55dc0038771613b55d6e673ac628936f3ba4232c Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:48:55 +0200 Subject: [PATCH 144/245] gnu: Add perl-number-format. * gnu/packages/perl.scm (perl-number-format): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 918d211885..f6ac60e4c0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6362,6 +6362,30 @@ collector daemon in use at Etsy.com.") subroutine, which you can call with a value to be tested against.") (license (package-license perl)))) +(define-public perl-number-format + (package + (name "perl-number-format") + (version "1.75") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/W/WR/WRW/Number-Format-" + version ".tar.gz")) + (sha256 + (base32 + "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Number-Format/") + (synopsis "Convert numbers to strings with pretty formatting") + (description "@code{Number::Format} is a library for formatting numbers. +Functions are provided for converting numbers to strings in a variety of ways, +and to convert strings that contain numbers back into numeric form. The +output formats may include thousands separators - characters inserted between +each group of three characters counting right to left from the decimal point. +The characters used for the decimal point and the thousands separator come from +the locale information or can be specified by the user.") + (license perl-license))) + (define-public perl-number-range (package (name "perl-number-range") From 0d0cf3b0f6fd0b24e13704aece9c53ca2e4dcca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Tue, 27 Mar 2018 20:32:16 +0200 Subject: [PATCH 145/245] python: python-py3status: Update to 3.7. * gnu/packages/python.scm (python-py3status): Update to 3.7. [arguments]: Adjust string substitution. --- gnu/packages/python.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e6ae8f433b..3bb6e2b0b7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8616,14 +8616,14 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.1") + (version "3.7") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 (base32 - "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds")))) + "0shxcfz4wcczj0mhwp4w0dvwd2fdd9bgprq8slim1519iiqzgwhq")))) (build-system python-build-system) (inputs `(("file" ,file))) @@ -8636,8 +8636,8 @@ to occurrences in strings and comments.") (lambda* (#:key inputs #:allow-other-keys) (let ((file-path (assoc-ref inputs "file"))) (substitute* "py3status/parse_config.py" - (("check_output\\(\\['file'") - (string-append "check_output(['" file-path "/bin/file'"))) + (("\\['file', '-b'") + (string-append "['" file-path "/bin/file', '-b'"))) #t)))) #:tests? #f)) ; TODO: Requires many libraries not in Guix. (home-page "https://github.com/ultrabug/py3status") From bd468c975deebcf9dd00278f2004874535646c43 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 15:58:18 +0200 Subject: [PATCH 146/245] gnu: Add perl-set-intspan. * gnu/packages/perl.scm (perl-set-intspan): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f6ac60e4c0..2822774cc4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7139,6 +7139,25 @@ collector.") (description "Set::Infinite is a set theory module for infinite sets.") (license (package-license perl)))) +(define-public perl-set-intspan + (package + (name "perl-set-intspan") + (version "1.19") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-" + version ".tar.gz")) + (sha256 + (base32 + "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Set-IntSpan/") + (synopsis "Manage sets of integers") + (description "@code{Set::IntSpan} manages sets of integers. It is +optimized for sets that have long runs of consecutive integers.") + (license perl-license))) + (define-public perl-set-object (package (name "perl-set-object") From f0196e82b8848e62816e815df3d3c7d89ac5edea Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 16:15:59 +0200 Subject: [PATCH 147/245] gnu: Add perl-text-format. * gnu/packages/perl.scm (perl-text-format): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2822774cc4..c146874f33 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8121,6 +8121,30 @@ faster than shelling out to a system's diff executable for small files, and generally slower on larger files.") (license (package-license perl)))) +(define-public perl-text-format + (package + (name "perl-text-format") + (version "0.60") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-" + version ".tar.gz")) + (sha256 + (base32 + "1f52jak0a2gwi4qcisp4nfbniq04dmmv5j8zkvzj8ik0f0sk2kv6")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "http://search.cpan.org/dist/Text-Format/") + (synopsis "Various subroutines to format text") + (description "This package provides functions to format text in various +ways like centering, paragraphing, and converting tabs to spaces and spaces +to tabs.") + (license perl-license))) + (define-public perl-text-glob (package (name "perl-text-glob") From c2b2f0c86691f6d76f528b6366c866b8f3665c3c Mon Sep 17 00:00:00 2001 From: Adam Massmann Date: Wed, 4 Apr 2018 02:09:28 -0400 Subject: [PATCH 148/245] gnu: Add python-latexcodec * gnu/packages/python.scm (python-latexcodec): New variable. Signed-off-by: Eric Bavier --- gnu/packages/python.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3bb6e2b0b7..8d15c9a214 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -49,7 +49,8 @@ ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2018 Mathieu Lirzin - +;;; Copyright © 2018 Adam Massmann +;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it @@ -13081,3 +13082,22 @@ file system events on Linux.") (base32 "0svc9nla3b9145d6b7fb9dizx412l3difzqw0ilh9lz52nsixw8j")) (file-name (string-append name "-" version ".tar.gz")))))) + +(define-public python-latexcodec + (package + (name "python-latexcodec") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "latexcodec" version)) + (sha256 + (base32 + "0zdd1gf24i83ykadx0y30n3001j43scqr2saql3vckk5c39dj1wn")))) + (build-system python-build-system) + (inputs + `(("python-six" ,python-six))) + (home-page "https://readthedocs.org/projects/latexcodec/") + (synopsis "Work with LaTeX code in Python") + (description "Lexer and codec to work with LaTeX code in Python.") + (license license:expat))) From 2514fc1d69ec556c9c18d2463a892f43fa175557 Mon Sep 17 00:00:00 2001 From: Adam Massmann Date: Wed, 4 Apr 2018 02:10:32 -0400 Subject: [PATCH 149/245] gnu: Add python-pybtex * gnu/packages/python.scm (python-pybtex): New variable. Signed-off-by: Eric Bavier --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8d15c9a214..e5b74a57f7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13101,3 +13101,29 @@ file system events on Linux.") (synopsis "Work with LaTeX code in Python") (description "Lexer and codec to work with LaTeX code in Python.") (license license:expat))) + +(define-public python-pybtex + (package + (name "python-pybtex") + (version "0.21") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pybtex" version)) + (sha256 + (base32 + "00300j8dn5pxq4ndxmfmbmycg2znawkqs49val2x6jlmfiy6r2mg")))) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) + (inputs + `(("python-latexcodec" ,python-latexcodec) + ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six))) + (arguments + `(#:test-target "nosetests")) + (home-page "https://pybtex.org/") + (synopsis "BibTeX-compatible bibliography processor") + (description "Pybtex is a BibTeX-compatible bibliography processor written +in Python. You can simply type pybtex instead of bibtex.") + (license license:expat))) From f50bad80a93eabab598f3d6d621818b67cefb70b Mon Sep 17 00:00:00 2001 From: Adam Massmann Date: Wed, 4 Apr 2018 02:13:30 -0400 Subject: [PATCH 150/245] gnu: Add xapers * gnu/packages/search.scm (xapers): New variable. Signed-off-by: Eric Bavier --- gnu/packages/search.scm | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index a719819927..64846cffec 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015, 2016 Eric Bavier ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Adam Massmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,13 +27,16 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pdf) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages web) #:use-module (gnu packages xml)) @@ -307,4 +311,53 @@ can quickly and easily index directories of files or remote web sites and search the generated indexes.") (license gpl2+))) ;with exception +(define-public xapers + (package + (name "xapers") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://finestructure.net/xapers/releases/xapers-" + version ".tar.gz")) + (sha256 + (base32 + "0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urwid" ,python-urwid))) + (inputs + `(("poppler" ,poppler) + ("python" ,python) + ("python-latexcodec" ,python-latexcodec) + ("python-pybtex" ,python-pybtex) + ("python-pycurl" ,python-pycurl) + ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six) + ("python-xapian-bindings" ,python-xapian-bindings))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1"))) + (install-file "man/man1/xapers.1" + (string-append man1 "/xapers.1")) + (install-file "man/man1/xapers-adder.1" + (string-append man1 "/xapers-adder.1")) + (install-file "bin/xapers-adder" + (string-append bin "/xapers-adder")))))))) + (home-page "https://finestructure.net/xapers/") + (synopsis "Personal document indexing system") + (description + "Xapers is a personal document indexing system, +geared towards academic journal articles build on the Xapian search engine. +Think of it as your own personal document search engine, or a local cache of +online libraries. It provides fast search of document text and +bibliographic data and simple document and bibtex retrieval.") + (license gpl3+))) + ;;; search.scm ends here From 25c4743156b4134e3a20acee16746479cb1d5ff8 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 16:59:34 +0200 Subject: [PATCH 151/245] gnu: Add perl-time-hires. * gnu/packages/perl.scm (perl-time-hires): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c146874f33..8bab7db88b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8473,6 +8473,26 @@ rounded or exact terms.") duration strings like \"2 minutes\" and \"3 seconds\" to seconds.") (license (package-license perl)))) +(define-public perl-time-hires + (package + (name "perl-time-hires") + (version "1.9758") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-" + version ".tar.gz")) + (sha256 + (base32 + "07jbydcdzpjm6i4nidci0rlklx4kla210fsl6zishw0yq5di9yjv")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Time-HiRes/") + (synopsis "High resolution alarm, sleep, gettimeofday, interval timers") + (description "This package implements @code{usleep}, @code{ualarm}, and +@code{gettimeofday} for Perl, as well as wrappers to implement @code{time}, +@code{sleep}, and @code{alarm} that know about non-integral seconds.") + (license perl-license))) + (define-public perl-time-local (package (name "perl-time-local") From 723225c32cc701bf64a8e9c55b33235084d282a5 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 4 Apr 2018 20:53:48 +0200 Subject: [PATCH 152/245] gnu: Add perl-statistics-basic. * gnu/packages/perl.scm (perl-statistics-basic): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8bab7db88b..50273d31e4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7296,6 +7296,27 @@ straightforward and (perhaps someday) standard way. Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6.") (license (package-license perl)))) +(define-public perl-statistics-basic + (package + (name "perl-statistics-basic") + (version "1.6611") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-" + version ".tar.gz")) + (sha256 + (base32 + "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8")))) + (build-system perl-build-system) + (inputs + `(("perl-number-format" ,perl-number-format))) + (home-page "http://search.cpan.org/dist/Statistics-Basic/") + (synopsis "Collection of very basic statistics modules") + (description "This package provides basic statistics functions like +@code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.") + (license lgpl2.0))) + (define-public perl-stream-buffered (package (name "perl-stream-buffered") From 76a77ccaed0f4259e928fc57ae335a0f583d0032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Apr 2018 16:40:11 +0200 Subject: [PATCH 153/245] system: Add default '.nanorc' with syntax highlighting. * gnu/system/shadow.scm (default-skeletons): Add ".nanorc". --- gnu/system/shadow.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 119f7e4d0b..ef5b8dab92 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -195,6 +195,9 @@ set auto-load safe-path /gnu/store/*/lib\n"))) `((".bash_profile" ,profile) (".bashrc" ,bashrc) (".zlogin" ,zlogin) + (".nanorc" ,(plain-file "nanorc" "\ +# Include all the syntax highlighting modules. +include /run/current-system/profile/share/nano/*.nanorc\n")) (".Xdefaults" ,xdefaults) (".guile" ,(plain-file "dot-guile" "(cond ((false-if-exception (resolve-interface '(ice-9 readline))) From 81c63cfc6fb89bc790fba69c6f39748b0c23402e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Apr 2018 17:32:25 +0200 Subject: [PATCH 154/245] doc: Recommend nano during installation. * doc/guix.texi (Preparing for Installation) (Proceeding with the Installation): Recommend nano. --- doc/guix.texi | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4eac281a82..738fdf65ca 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8335,10 +8335,10 @@ ifconfig @var{interface} up To configure wireless networking, you can create a configuration file for the @command{wpa_supplicant} configuration tool (its location is not important) using one of the available text editors such as -@command{zile}: +@command{nano}: @example -zile wpa_supplicant.conf +nano wpa_supplicant.conf @end example As an example, the following stanza can go to this file and will work @@ -8519,8 +8519,10 @@ builds to @file{/gnu/store} which, initially, is an in-memory file system. Next, you have to edit a file and provide the declaration of the operating system to be installed. To -that end, the installation system comes with three text editors: GNU nano -(@pxref{Top,,, nano, GNU nano Manual}), GNU Zile (an Emacs clone), and +that end, the installation system comes with three text editors. We +recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which +supports syntax highlighting and parentheses matching; other editors +include GNU Zile (an Emacs clone), and nvi (a clone of the original BSD @command{vi} editor). We strongly recommend storing that file on the target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do that, you will have lost your @@ -8536,7 +8538,7 @@ something along these lines: @example # mkdir /mnt/etc # cp /etc/configuration/desktop.scm /mnt/etc/config.scm -# zile /mnt/etc/config.scm +# nano /mnt/etc/config.scm @end example You should pay attention to what your configuration file contains, and From dc0ec9914c064d020b18a007534deea97471f694 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Apr 2018 18:29:06 -0400 Subject: [PATCH 155/245] gnu: go-github-com-zillode-notify: Update to 0.0.0-3.53dd687. * gnu/packages/syncthing.scm (go-github-com-zillode-notify): Update to 0.0.0-3.53dd687. [source]: Update URL. [arguments]: Update #:import-path. --- gnu/packages/syncthing.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 04f258481e..8fba25a87f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1673,23 +1673,23 @@ using sh's word-splitting rules.") (license expat)))) (define-public go-github-com-zillode-notify - (let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3") - (revision "2")) + (let ((commit "53dd6873a851fc377c87d82f994b1fecdf25aadb") + (revision "3")) (package (name "go-github-com-zillode-notify") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/zillode/notify") + (url "https://github.com/calmh/notify") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "031pmbvm0xj4f4fak7im0ywmyn3hns538zlbdj4f23jj69zqdy7k")))) + "0ar6mj6s91y7hc5gdp88lz3i7xi29cqkx9f090xj899ir21a8djn")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/zillode/notify")) + '(#:import-path "github.com/Zillode/notify")) (propagated-inputs `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "File system event notification library") From b4eadf7e7f61212b4dec4f18ee867aaf97ab45f7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Apr 2018 18:30:16 -0400 Subject: [PATCH 156/245] gnu: syncthing: Update to 0.14.46. * gnu/packages/syncthing.scm (syncthing): Update to 0.14.46. --- gnu/packages/syncthing.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 8fba25a87f..4c607600d3 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -28,7 +28,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.45") + (version "0.14.46") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -36,7 +36,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij")) + "0h5b2mp0li0qzrz3wggzavdfqfaz9b79hx6wds84ya2i9maw80cl")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet From b357ccdd8b6824a49f750e0f6b1afb87683adb82 Mon Sep 17 00:00:00 2001 From: Adam Massmann Date: Wed, 4 Apr 2018 19:10:08 -0400 Subject: [PATCH 157/245] gnu: xapers: Fix man page and xapers-adder installation * gnu/packages/search.scm (xapers)[arguments]: Adjust install-file destinations in install-doc phase. Signed-off-by: Eric Bavier --- gnu/packages/search.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 64846cffec..02deb5c4ae 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -344,12 +344,9 @@ search the generated indexes.") (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (man1 (string-append out "/share/man/man1"))) - (install-file "man/man1/xapers.1" - (string-append man1 "/xapers.1")) - (install-file "man/man1/xapers-adder.1" - (string-append man1 "/xapers-adder.1")) - (install-file "bin/xapers-adder" - (string-append bin "/xapers-adder")))))))) + (install-file "man/man1/xapers.1" man1) + (install-file "man/man1/xapers-adder.1" man1) + (install-file "bin/xapers-adder" bin))))))) (home-page "https://finestructure.net/xapers/") (synopsis "Personal document indexing system") (description From c70935a93915a57145fe83b826ef362ec0a6472a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:08:06 +0200 Subject: [PATCH 158/245] gnu: nginx: Update to 1.13.11. * gnu/packages/web.scm (nginx): Update to 1.13.11. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 33707bafd3..5a48f7cc62 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -186,14 +186,14 @@ Interface} specification.") (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.13.10") + (version "1.13.11") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "11a8m4lhy6h8mmrsakn73pd5gcyvhxpz1xvlr103rglh9l884q9k")))) + "01bgld6pv9sms9bsmx863yqw2hnivxhn91xs6imqklj48sbrqy9m")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) From bc32521a5b708e82ece88bbc7f53ccd20e1e18c3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:13:11 +0200 Subject: [PATCH 159/245] gnu: nginx-documentation: Update to 2018-04-04-2131-dbaf3950f8e9. * gnu/packages/web.scm (nginx-documentation): Update to 2018-04-04-2131-dbaf3950f8e9. --- gnu/packages/web.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5a48f7cc62..f3213438ee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -317,13 +317,13 @@ documentation.") (license l:bsd-2)))) (define-public nginx-documentation - ;; This documentation should be relevant for nginx@1.13.8. - (let ((revision 2100) - (changeset "cfb7bd672d77")) + ;; This documentation should be relevant for nginx@1.13.11. + (let ((revision 2131) + (changeset "dbaf3950f8e9")) (package (name "nginx-documentation") (version - (simple-format #f "2018-01-22-~A-~A" revision changeset)) + (simple-format #f "2018-04-04-~A-~A" revision changeset)) (source (origin (method hg-fetch) (uri (hg-reference @@ -332,7 +332,7 @@ documentation.") (file-name (string-append name "-" version)) (sha256 (base32 - "096fcsc0wnfr847m7dwp17rivd3alxq7v9hq9s5lkfbhylmh18vm")))) + "0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite From dc944249d9297d5e3339cf60a54c680316ef8c23 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:13:59 +0200 Subject: [PATCH 160/245] gnu: sshuttle: Update to 0.78.4. * gnu/packages/vpn.scm (sshuttle): Update to 0.78.4. --- gnu/packages/vpn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 0fc3197077..070b695651 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -300,14 +300,14 @@ private network between hosts on the internet.") (define-public sshuttle (package (name "sshuttle") - (version "0.78.3") + (version "0.78.4") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "12xyq5h77b57cnkljdk8qyjxzys512b73019s20x6ck5brj1m8wa")))) + "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h")))) (build-system python-build-system) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) From d22d7468222b9e9e96831f442fe85a1317cf19d0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 02:56:36 +0200 Subject: [PATCH 161/245] gnu: python-gst: Update to 1.12.5. * gnu/packages/gstreamer.scm (python-gst): Update to 1.12.5. --- gnu/packages/gstreamer.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 4ec5765bb1..6747c388d5 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -415,7 +416,7 @@ compression formats through the use of the libav library.") (define-public python-gst (package (name "python-gst") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (string-append @@ -423,7 +424,7 @@ compression formats through the use of the libav library.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1sm3dy10klf6i3w6a6mz0rnm29l2lxci5hr8346496jwc7v6mki0")))) + "1x8g9mdkf6hzhlkx6nhrrp607p8g4zkhl3crs8vh504zpbbf71ip")))) (build-system gnu-build-system) (arguments ;; XXX: Factorize python-sitedir with python-build-system. From 4c44dd7aca161cafb090c83a9821cd26ee406985 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:44:30 +0200 Subject: [PATCH 162/245] gnu: r-glmnet: Update to 2.0-16. * gnu/packages/statistics.scm (r-glmnet): Update to 2.0-16. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 364723f5ae..fe42ea63ca 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3121,14 +3121,14 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "2.0-13") + (version "2.0-16") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 (base32 - "1zdqp6wnqxzp5qn2ky47phbkrxv3cpgbwmdp896h3xxjvp58sa7k")))) + "1brr51z1fzbpyj6myyir4g6dhbp6xwl7nx4xnvrjarnf5y0csk55")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) From 9ed1824eeba7b4ae2ed8844023c75f07bd5646b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:16:02 +0200 Subject: [PATCH 163/245] gnu: r-cluster: Update to 2.0.7. * gnu/packages/statistics.scm (r-cluster): Update to 2.0.7. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index fe42ea63ca..8fa14c2fad 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -361,14 +361,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.") (define-public r-cluster (package (name "r-cluster") - (version "2.0.6") + (version "2.0.7") (source (origin (method url-fetch) (uri (cran-uri "cluster" version)) (sha256 (base32 - "1z4gbz7chxxi4ly6c0yjlikwgf8aa8dlg05cn5cd6pjr21zvh97l")))) + "0nf2hnsv5rhw6399b4gk1rj5c8hfc6ajfnkh3qbwfx3cz4asrg45")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) From ec2a2682fe1fa1e925223a2add74088eb883436b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:29:33 +0200 Subject: [PATCH 164/245] gnu: r-matrix: Update to 1.2-13. * gnu/packages/statistics.scm (r-matrix): Update to 1.2-13. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8fa14c2fad..204a5d54f6 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -466,14 +466,14 @@ also flexible enough to handle most nonstandard requirements.") (define-public r-matrix (package (name "r-matrix") - (version "1.2-12") + (version "1.2-13") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "1wm45hg4x5ay15y03k6rmgkd1n9r01da72mszk24vafwd7pimr8n")))) + "1j4fyn2r3ds51hrxch738gn7d9qvpi4b01n0rxzw5jpv28rnpyvx")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs From 0cb4fb81da925728d50eb50d083523923085f9d2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:16:57 +0200 Subject: [PATCH 165/245] gnu: r-viridis: Update to 0.5.1. * gnu/packages/statistics.scm (r-viridis): Update to 0.5.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 204a5d54f6..59c32c647c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3544,13 +3544,13 @@ memory usage.") (define-public r-viridis (package (name "r-viridis") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "viridis" version)) (sha256 (base32 - "1ka6amybgzqkg3cbwfxwwqzzzpfn6q5jcia5am0bw48y5hbpg97y")))) + "060rf1jn29dq53y3nhb0hykvcap6rqsk04rq544ypiiqb18ngwnx")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) From 184020432bac4dd4501a1fba9927acc4df71d345 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:43:16 +0200 Subject: [PATCH 166/245] gnu: r-caret: Update to 6.0-79. * gnu/packages/statistics.scm (r-caret): Update to 6.0-79. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 59c32c647c..58ab4985ca 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5139,14 +5139,14 @@ to Applied regression, Second Edition, Sage, 2011.") (define-public r-caret (package (name "r-caret") - (version "6.0-78") + (version "6.0-79") (source (origin (method url-fetch) (uri (cran-uri "caret" version)) (sha256 (base32 - "0h1nxzii2h80aslp1zsjczrlfmaks44sskabk4yq9c5rafc7ka6y")))) + "1i6sjw279g6mj83vz5gv99x0nljcbpy7v0nbl72lmd80sf7rjshl")))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach) From e155c6034bd2a91791dcefa26be0aefeecd3794e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 03:45:28 +0200 Subject: [PATCH 167/245] gnu: r-ggthemes: Update to 3.4.2. * gnu/packages/statistics.scm (r-ggthemes): Update to 3.4.2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 58ab4985ca..393818ab32 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4312,13 +4312,13 @@ data at that region, and avoids over-plotting.") (define-public r-ggthemes (package (name "r-ggthemes") - (version "3.4.0") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "ggthemes" version)) (sha256 (base32 - "1jj8lp7jbk3489kpgbw4b5phpn01gkfmksc21c6sn3x6wmzyn6hs")))) + "0i7ygpizs00acizixc29bhbrci523ys7vzxbii9b3bcmfa3pj7i3")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) From 14b78ca6dcb1cf8b7a8b8017d5228f1ac7649781 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:53:18 +0200 Subject: [PATCH 168/245] gnu: r-broom: Update to 0.4.4. * gnu/packages/cran.scm (r-broom): Update to 0.4.4. --- gnu/packages/cran.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 233729021d..104ca2a704 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2017, 2018 Roel Janssen -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Raoul Bonnal ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2018 Sahithi Yarlagadda @@ -1619,14 +1619,14 @@ created using basic graphics.") (define-public r-broom (package (name "r-broom") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "119pc2jnxvm13cvd77c7d14p3bn68f4jm310vj3yfck40101n9if")))) + "081x87sy6dmfvkgwfjrl5ax51k77ciyzg9x3xql25vdi92rmwj3m")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) From ba578d937dc4e0ea6351282e42d5f7d6f308e997 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 06:04:04 +0200 Subject: [PATCH 169/245] gnu: r-lmtest: Update to 0.9-36. * gnu/packages/cran.scm (r-lmtest): Update to 0.9-36. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 104ca2a704..bc43d463e6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1027,14 +1027,14 @@ or excesses over a high threshold.") (define-public r-lmtest (package (name "r-lmtest") - (version "0.9-35") + (version "0.9-36") (source (origin (method url-fetch) (uri (cran-uri "lmtest" version)) (sha256 (base32 - "107br1l7p52wxvazs031f4h5ryply97qywg9dzrkw4ydnvqq4j9g")))) + "0sym9sm1vl6bbgq01jhz1plxqmgh8hrgrn7rw0mwvsalcn6id7xy")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) From 92edaaea27453490367d1310ee2c97de5df6f5ff Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:56:18 +0200 Subject: [PATCH 170/245] gnu: r-network: Update to 1.13.0.1. * gnu/packages/cran.scm (r-network): Update to 1.13.0.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bc43d463e6..22dea0edb3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2601,14 +2601,14 @@ published results; and a routine for graphical display.") (define-public r-network (package (name "r-network") - (version "1.13.0") + (version "1.13.0.1") (source (origin (method url-fetch) (uri (cran-uri "network" version)) (sha256 (base32 - "11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s")))) + "1bbkbqkqf1d7irfwh08c13c2pfypir1ssvlqrln83irqns1ikdv0")))) (build-system r-build-system) (home-page "http://statnet.org/") (synopsis "Classes for relational data") From 408626774b364e62425b02651b5d83b4e423ad37 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:58:49 +0200 Subject: [PATCH 171/245] gnu: Use HTTPS for statnet.org home pages. * gnu/packages/cran.scm (r-network, r-statnet-common, r-sna)[home-page]: Use HTTPS and canonical domain name. --- gnu/packages/cran.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 22dea0edb3..6ce0ed1424 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2610,7 +2610,7 @@ published results; and a routine for graphical display.") (base32 "1bbkbqkqf1d7irfwh08c13c2pfypir1ssvlqrln83irqns1ikdv0")))) (build-system r-build-system) - (home-page "http://statnet.org/") + (home-page "https://statnet.org/") (synopsis "Classes for relational data") (description "This package provides tools to create and modify network objects. The @@ -2632,7 +2632,7 @@ supports arbitrary vertex/edge/graph attributes.") (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) - (home-page "http://www.statnet.org") + (home-page "https://statnet.org") (synopsis "R scripts and utilities used by the Statnet software") (description "This package provides non-statistical utilities used by the software developed by the Statnet Project.") @@ -2653,7 +2653,7 @@ software developed by the Statnet Project.") (propagated-inputs `(("r-network" ,r-network) ("r-statnet-common" ,r-statnet-common))) - (home-page "http://www.statnet.org") + (home-page "https://statnet.org") (synopsis "Tools for social network analysis") (description "This package provides a range of tools for social network analysis, From fb5f8f013595267c7d5e29d7bfee92808bf34439 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 02:21:07 +0200 Subject: [PATCH 172/245] gnu: asymptote: Update to 2.42. * gnu/packages/plotutils.scm (asymptote): Update to 2.42. --- gnu/packages/plotutils.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 482ae1b862..67ec5495bc 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016, 2017 Nicolas Goaziou +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,14 +174,14 @@ colors, styles, options and details.") (define-public asymptote (package (name "asymptote") - (version "2.41") + (version "2.42") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 (base32 - "1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx")))) + "0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not From 97678006873b78d9eeb1983b496c95ef21488d6a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:31:48 +0200 Subject: [PATCH 173/245] gnu: mate-themes: Update to 3.22.16. * gnu/packages/mate.scm (mate-themes): Update to 3.22.16. --- gnu/packages/mate.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 09c97e7274..c3a4edd1ea 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -154,7 +154,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") (define-public mate-themes (package (name "mate-themes") - (version "3.22.15") + (version "3.22.16") (source (origin (method url-fetch) (uri (string-append "https://pub.mate-desktop.org/releases/themes/" @@ -162,7 +162,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") version ".tar.xz")) (sha256 (base32 - "0cmlbj6vlkavdirc5xnsgwmy0m11bj9yrbv1dkq46n1s23rvv6wg")))) + "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From ce9ae8a1c3fa741275e76932bf2f5afaff30a04b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:27:43 +0200 Subject: [PATCH 174/245] gnu: musescore: Update to 2.2.1. * gnu/packages/music.scm (musescore): Update to 2.2.1. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 27fddfcf6c..bb98f5b6a1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3482,7 +3482,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append @@ -3491,7 +3491,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qnmmh05z1kzcwa8vddywrxs8g7zvp5vpwz4v7w7c135hjwrb6jy")) + "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. From 00172e171ca19cf3f3471f481f8c7518adbc168d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:29:17 +0200 Subject: [PATCH 175/245] gnu: czmq: Update to 4.1.1. * gnu/packages/networking.scm (czmq): Update to 4.1.1. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index d62693c1a7..b2e16e0077 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -275,7 +275,7 @@ more.") (define-public czmq (package (name "czmq") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append @@ -284,7 +284,7 @@ more.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "04gwf61rijwm6b2wblwv8gky1gdrbfmg1d19hf72kdc691ds7vrv")))) + "1h5hrcsc30fcwb032vy5gxkq4j4vv1y4dj460rfs1hhxi0cz83zh")))) (build-system gnu-build-system) (arguments '(;; TODO Tests fail for some reason: From 07922c501d48bdb6d0e27d38b8b7a923dc70e57f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 02:58:37 +0200 Subject: [PATCH 176/245] gnu: debootstrap: Update to 1.0.95. * gnu/packages/debian.scm (debootstrap): Update to 1.0.95. --- gnu/packages/debian.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 3c3189e073..01df30c558 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -1,4 +1,5 @@ ;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; 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 @@ -111,7 +112,7 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.93") + (version "1.0.95") (source (origin (method url-fetch) @@ -119,7 +120,7 @@ contains the archive keys used for that.") name "_" version ".tar.gz")) (sha256 (base32 - "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd")))) + "1xpd1yblcgwhri64hzgxhalpf5j8gqbmkrsm1fs0pbwiy0wdz0ry")))) (build-system gnu-build-system) (arguments `(#:phases From e8da8bb1cce54722cf516702d0f9f68ae8fff9e2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:34:16 +0200 Subject: [PATCH 177/245] gnu: jpegoptim: Update to 1.4.5. * gnu/packages/image.scm (jpegoptim): Update to 1.4.5. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 044321d406..4c3b9baf13 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -337,13 +337,13 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t (define-public jpegoptim (package (name "jpegoptim") - (version "1.4.4") + (version "1.4.5") (source (origin (method url-fetch) (uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-" version ".tar.gz")) (sha256 (base32 - "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849")))) + "1mngi8c4mhzwa7i4wqrqq6i80cqj4adbacblfvk6dy573wywyxmi")))) (build-system gnu-build-system) (inputs `(("libjpeg" ,libjpeg))) (arguments From ada3b94ffb87a80f522ad331e12b0f75d2c24b4f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:35:11 +0200 Subject: [PATCH 178/245] gnu: jpegoptim: Use HTTPS home page. * gnu/packages/image.scm (jpegoptim)[home-page]: Use HTTPS. --- gnu/packages/image.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 4c3b9baf13..1234203feb 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -355,7 +355,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t the Huffman tables) and \"lossy\" optimization based on setting maximum quality factor.") (license license:gpl2+) - (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim"))) + (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim"))) (define-public libicns (package From 36e8cfa19a3ad2271b3ab2f311fad039225d20f3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:32:22 +0200 Subject: [PATCH 179/245] gnu: getmail: Update to 5.6. * gnu/packages/mail.scm (getmail): Update to 5.6. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1c77d9e982..c9fd0cc66f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -903,7 +903,7 @@ and search library.") (define-public getmail (package (name "getmail") - (version "5.5") + (version "5.6") (source (origin (method url-fetch) @@ -911,7 +911,7 @@ and search library.") name "-" version ".tar.gz")) (sha256 (base32 - "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70")))) + "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests From f560acf8d9d86002f38ef69c39bd45dde24f0220 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:41:43 +0200 Subject: [PATCH 180/245] gnu: lmdb: Update to 0.9.22. * gnu/packages/databases.scm (lmdb): Update to 0.9.22. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 30b9320c2a..5cf0adac29 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1687,14 +1687,14 @@ database. Various higher level database abstractions.") (define-public lmdb (package (name "lmdb") - (version "0.9.21") + (version "0.9.22") (source (origin (method url-fetch) (uri (string-append "https://github.com/LMDB/lmdb/archive/" "LMDB_" version ".tar.gz")) (sha256 (base32 - "0ndmj07hkm2ic60z1f4rdscxs7pq45hk9fibjyv5nhfclhsvd1qi")))) + "0a7a8535csrvw71mrgx680m5d17bnxmmhcccij30idifi1cpi4pk")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 65cbfa7ebf25a9b1c5c1b5f6008d828b78e0fd30 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:37:19 +0200 Subject: [PATCH 181/245] gnu: gama: Update to 1.22. * gnu/packages/gps.scm (gama): Update to 1.22. --- gnu/packages/gps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index e07c9f4acb..e913c25904 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -147,7 +147,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "1.21") + (version "1.22") (source (origin (method url-fetch) @@ -155,7 +155,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0yy8czw5dldbw1qj5v2h2wfh397bfx5wd3lrrgs8m1qdf1njnhcq")))) + "01q3g2zi5d5r2l10hc8jwwz6w61dwkv7nyj9xd67vvq0gajw0a7r")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs From 4b23535351b6625c2317fad8ede9d793eff18362 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 05:48:52 +0200 Subject: [PATCH 182/245] gnu: cppcheck: Update to 1.83. * gnu/packages/check.scm (cppcheck): Update to 1.83. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index b279646402..99c6c494ed 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -271,13 +271,13 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.82") + (version "1.83") (source (origin (method url-fetch) (uri (string-append "https://github.com/danmar/cppcheck/archive/" version ".tar.gz")) (sha256 - (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j")) + (base32 "15ghxwmyy09cd9mi008k4jn09c441j86qyaa4dz0is7f5dv5cdkx")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (home-page "http://cppcheck.sourceforge.net") From 7b3a95e5d401fb7bb9b8a3e9155f04b5fbedbdaa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 02:31:36 +0200 Subject: [PATCH 183/245] gnu: licensecheck: Update to 3.0.34. * gnu/packages/license.scm (licensecheck): Update to 3.0.34. --- gnu/packages/license.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 2ef2108df2..053f79811e 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,7 +108,7 @@ statements and serializes in normalized format.") (define-public licensecheck (package (name "licensecheck") - (version "3.0.33") + (version "3.0.34") (source (origin (method url-fetch) (uri (string-append @@ -115,7 +116,7 @@ statements and serializes in normalized format.") "v" version ".tar.gz")) (sha256 (base32 - "0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4")))) + "0k0acybgibdqg1h6xqnba1jb0spmw7hpq0jbrs7n7gfj22wkz0vd")))) (build-system perl-build-system) (native-inputs `(("perl-regexp-pattern" ,perl-regexp-pattern) From 4bac91e1d895b2691525da109a4218a50c784823 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Apr 2018 06:03:15 +0200 Subject: [PATCH 184/245] gnu: perl-db-file: Update to 1.841. * gnu/packages/databases.scm (perl-db-file): Update to 1.841. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 5cf0adac29..ecbb815246 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1655,7 +1655,7 @@ database. Various higher level database abstractions.") (define-public perl-db-file (package (name "perl-db-file") - (version "1.840") + (version "1.841") (source (origin (method url-fetch) @@ -1665,7 +1665,7 @@ database. Various higher level database abstractions.") ".tar.gz")) (sha256 (base32 - "1i5jz85z4hpx15lw6ix27pyvrf0ziyh4z33lii4d3wnhz83lg1mp")))) + "11fks42kgscpia0mxx4lc9krm7q4gv6w7m5h3m2jr3dl7viv36hn")))) (build-system perl-build-system) (inputs `(("bdb" ,bdb))) (native-inputs `(("perl-test-pod" ,perl-test-pod))) From fadc55330d072322d7fb1a0d59afe20330e94d03 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 2 Apr 2018 17:22:01 +0200 Subject: [PATCH 185/245] gnu: iptables: Remove trailing newline from description. ...introduced in be5dc5fb18a4b72977748c5f077062be4e8accbc. * gnu/packages/linux.scm (iptables)[description]: Remove trailing newline. --- gnu/packages/linux.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b6333af996..f49171fa5a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1146,8 +1146,7 @@ configure the Linux 2.4.x and later IPv4 packet filtering ruleset This package also includes @command{ip6tables}, which is used to configure the IPv6 packet filter. -Both commands are targeted at system administrators. -") +Both commands are targeted at system administrators.") (license license:gpl2+))) (define-public ebtables From f27f264e51a8de77f01d6798eb9c991cecbcdedb Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 1 Apr 2018 20:45:02 +0530 Subject: [PATCH 186/245] gnu: Add subdl. * gnu/packages/video.scm (subdl): New variable. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3937c52c01..b4e7e6ad82 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018 Roel Janssen ;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) @@ -2821,3 +2823,39 @@ changed. Or in other words, it can detect motion.") ;; Some files say "version 2" and others "version 2 or later". (license license:gpl2))) + +(define-public subdl + (let ((commit "4cf5789b11f0ff3f863b704b336190bf968cd471") + (revision "1")) + (package + (name "subdl") + (version (git-version "1.0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexanderwink/subdl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (source (assoc-ref %build-inputs "source")) + (python (assoc-ref %build-inputs "python"))) + (install-file (string-append source "/subdl") bin) + (patch-shebang (string-append bin "/subdl") + (list (string-append python "/bin"))))))) + (inputs `(("python" ,python))) + (synopsis "Command-line tool for downloading subtitles from opensubtitles.org") + (description "Subdl is a command-line tool for downloading subtitles from +opensubtitles.org. By default, it will search for English subtitles, display +the results, download the highest-rated result in the requested language and +save it to the appropriate filename.") + (license license:gpl3+) + (home-page "https://github.com/alexanderwink/subdl")))) From 6de2af288fb6fecf46cca93290e1d04cddf83e48 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 5 Apr 2018 09:39:40 -0400 Subject: [PATCH 187/245] gnu: tiled: Update to 1.1.4. * gnu/packages/game-development.scm (tiled): Update to 1.1.4. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 03a70bea49..06a7b03cc4 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -386,7 +386,7 @@ support.") (define-public tiled (package (name "tiled") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -394,7 +394,7 @@ support.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08bxl6vc7ynnji4r6ij9ayr2jixvfhv4daplw5p96s0gkhdqd90k")))) + "0xb3zwcdk7khdrza6spl02g5n2xbij6nbszv8vi27vagjnmz1wxh")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) From d355245030d9e1b74782eb21b56dbebae958b329 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Apr 2018 00:59:48 -0400 Subject: [PATCH 188/245] gnu: openssh: Update to 7.7p1. * gnu/packages/ssh.scm (openssh): Update to 7.7p1. [arguments]: Set the test suite's working directory in #:make-flags. --- gnu/packages/ssh.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 9d5fc2690d..afd41cd8e7 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -135,14 +135,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.6p1") + (version "7.7p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" name "-" version ".tar.gz")) (sha256 (base32 - "08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3")))) + "13vbbrvj3mmfhj83qyrg5c0ipr6bzw5s65dy4k8gr7p9hkkfffyp")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff))) (inputs `(("openssl" ,openssl) @@ -152,6 +152,9 @@ a server that supports the SSH-2 protocol.") ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" + ;; Otherwise, the test scripts try to use a nonexistent directory and + ;; fail. + #:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"") #:configure-flags `("--sysconfdir=/etc/ssh" ;; Default value of 'PATH' used by sshd. From 49d743117b6b69788c2754e281d313197c331c6f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 13 Mar 2018 19:36:22 +0100 Subject: [PATCH 189/245] gnu: Add java-jline-2. * gnu/packages/java.scm (java-jline-2): New variable. --- gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4a6172a8cc..ab590cc32f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9134,6 +9134,39 @@ similar in functionality to BSD editline and GNU readline but with additional features that bring it on par with the Z shell line editor.") (license license:bsd-3))) +(define-public java-jline-2 + (package + (inherit java-jline) + (version "2.14.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jline/jline2/archive/jline-" + version ".tar.gz")) + (sha256 + (base32 + "1c6qa26mf0viw8hg4jnv72s7i1qb1gh1l8rrzcdvqhqhx82rkdlf")))) + (arguments + `(#:jdk ,icedtea-8 + ,@(package-arguments java-jline))) + (inputs + `(("java-jansi" ,java-jansi) + ("java-jansi-native" ,java-jansi-native))) + (native-inputs + `(("java-powermock-modules-junit4" ,java-powermock-modules-junit4) + ("java-powermock-modules-junit4-common" ,java-powermock-modules-junit4-common) + ("java-powermock-api-easymock" ,java-powermock-api-easymock) + ("java-powermock-api-support" ,java-powermock-api-support) + ("java-powermock-core" ,java-powermock-core) + ("java-powermock-reflect" ,java-powermock-reflect) + ("java-easymock" ,java-easymock) + ("java-jboss-javassist" ,java-jboss-javassist) + ("java-objenesis" ,java-objenesis) + ("java-asm" ,java-asm) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-cglib" ,java-cglib) + ("java-junit" ,java-junit) + ("java-hawtjni" ,java-hawtjni))))) + (define-public java-xmlunit (package (name "java-xmlunit") From 37602dd8ba8266f1ad6d935953261f76f847baf1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 17 Mar 2018 18:51:12 +0100 Subject: [PATCH 190/245] gnu: Update java-commons-cli to 1.4. * gnu/packages/java.scm (java-commons-cli): Update to 1.4. --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ab590cc32f..d14e2ba70f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5390,14 +5390,14 @@ logging framework for Java."))) (define-public java-commons-cli (package (name "java-commons-cli") - (version "1.3.1") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "mirror://apache/commons/cli/source/" "commons-cli-" version "-src.tar.gz")) (sha256 (base32 - "1fkjn552i12vp3xxk21ws4p70fi0lyjm004vzxsdaz7gdpgyxxyl")))) + "05hgi2z01fqz374y719gl1dxzqvzci5af071zm7vxrjg9vczipm1")))) (build-system ant-build-system) ;; TODO: javadoc (arguments From afb13a100228adbe70ff90ab35eb422ade13e4e0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 16 Mar 2018 17:58:35 +0100 Subject: [PATCH 191/245] gnu: Add java-commons-bsf. * gnu/packages/java.scm (java-commons-bsf): New variable. --- gnu/packages/java.scm | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d14e2ba70f..66ddf93973 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4188,6 +4188,66 @@ in the @code{java.lang} package. The following classes are included: @end itemize\n") (license license:asl2.0))) +(define-public java-commons-bsf + (package + (name "java-commons-bsf") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/bsf/source/bsf-src-" + version ".tar.gz")) + (sha256 + (base32 + "1sbamr8jl32p1jgf59nw0b2w9qivyg145954hm6ly54cfgsqrdas")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:build-target "jar" + #:tests? #f; No test file + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple)) + #:phases + (modify-phases %standard-phases + (add-before 'build 'create-properties + (lambda _ + ;; This file is missing from the distribution + (call-with-output-file "build-properties.xml" + (lambda (port) + (sxml->xml + `(project (@ (basedir ".") (name "build-properties") (default "")) + (property (@ (name "project.name") (value "bsf"))) + (property (@ (name "source.level") (value "1.5"))) + (property (@ (name "build.lib") (value "build/jar"))) + (property (@ (name "src.dir") (value "src"))) + (property (@ (name "tests.dir") (value "src/org/apache/bsf/test"))) + (property (@ (name "build.tests") (value "build/test-classes"))) + (property (@ (name "build.dest") (value "build/classes")))) + port))))) + (replace 'install (install-jars "build"))))) + (native-inputs + `(("java-junit" ,java-junit))) + (inputs + `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) + (home-page "https://commons.apache.org/proper/commons-bsf") + (synopsis "Bean Scripting Framework") + (description "The Bean Scripting Framework (BSF) is a set of Java classes +which provides scripting language support within Java applications, and access +to Java objects and methods from scripting languages. BSF allows one to write +JSPs in languages other than Java while providing access to the Java class +library. In addition, BSF permits any Java application to be implemented in +part (or dynamically extended) by a language that is embedded within it. This +is achieved by providing an API that permits calling scripting language engines +from within Java, as well as an object registry that exposes Java objects to +these scripting language engines.") + (license license:asl2.0))) + (define-public java-jsr305 (package (name "java-jsr305") From 5f5b31c63f2752744b93cb56d600e0ea8116298f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Mar 2018 16:18:08 +0100 Subject: [PATCH 192/245] gnu: Add java-commons-httpclient. * gnu/packages/java.scm (java-commons-httpclient): New variable. --- gnu/packages/java.scm | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 66ddf93973..f40665ed66 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9329,3 +9329,48 @@ Java programmers to create two-dimensional charts and plots. The library features an assortment of graph styles, including advanced scatter plots, bar graphs, and pie charts.") (license license:lgpl2.1+))) + +(define-public java-commons-httpclient + (package + (name "java-commons-httpclient") + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.apache.org/dist/httpcomponents/" + "commons-httpclient/source/commons-httpclient-" + version "-src.tar.gz")) + (sha256 + (base32 + "1wlpn3cfy3d4inxy6g7wxcsa8p7sshn6aldk9y4ia3lb879rd97r")))) + (build-system ant-build-system) + (arguments + `(#:build-target "compile" + #:test-target "test" + #:tests? #f; requires junit-textui (junit 3) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-accent + (lambda _ + (for-each (lambda (file) + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* file + (("\\* @author Ortwin .*") "* @author Ortwin Glueck\n")))) + '("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java" + "src/examples/TrivialApp.java" "src/examples/ClientApp.java" + "src/test/org/apache/commons/httpclient/TestHttps.java" + "src/test/org/apache/commons/httpclient/TestURIUtil2.java")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "ant" "dist" + (string-append "-Ddist.home=" (assoc-ref outputs "out") + "/share/java")) + #t))))) + (propagated-inputs + `(("java-commons-logging" ,java-commons-logging-minimal) + ("java-commons-codec" ,java-commons-codec))) + (home-page "https://hc.apache.org") + (synopsis "HTTP/1.1 compliant HTTP agent implementation") + (description "This package contains an HTTP/1.1 compliant HTTP agent +implementation. It also provides reusable components for client-side +authentication, HTTP state management, and HTTP connection management.") + (license license:asl2.0))) From 5fe981dc83a2dded5a9b4a479e447642363a4d2f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Mar 2018 16:18:32 +0100 Subject: [PATCH 193/245] gnu: Add java-commons-vfs. * gnu/packages/java.scm (java-commons-vfs): New variable. --- gnu/packages/java.scm | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f40665ed66..9efb8d2054 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9374,3 +9374,52 @@ graphs, and pie charts.") implementation. It also provides reusable components for client-side authentication, HTTP state management, and HTTP connection management.") (license license:asl2.0))) + +(define-public java-commons-vfs + (package + (name "java-commons-vfs") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/vfs/source/" + "commons-vfs2-distribution-" version "-src.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cnq1iaghbp4cslpnvwbp83i5v234x87irssqynhwpfgw7caf1s3")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:jar-name "commons-vfs.jar" + #:source-dir "commons-vfs2/src/main/java" + #:test-dir "commons-vfs2/src/test" + ; FIXME: tests depend on many things: apache sshd, hadoop, ftpserver, ... + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-hadoop-and-webdav + ; Remove these files as they are not required and depend on difficult + ; packages. + (lambda _ + (for-each delete-file-recursively + '("commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/webdav" + "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs"))))))) + (inputs + `(("java-commons-collections4" ,java-commons-collections4) + ("java-commons-compress" ,java-commons-compress) + ("java-commons-httpclient" ,java-commons-httpclient) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ("java-commons-net" ,java-commons-net) + ("java-jsch" ,java-jsch))) + (home-page "http://commons.apache.org/proper/commons-vfs/") + (synopsis "Java filesystem library") + (description "Commons VFS provides a single API for accessing various +different file systems. It presents a uniform view of the files from various +different sources, such as the files on local disk, on an HTTP server, or +inside a Zip archive.") + (license license:asl2.0))) From f7b512c0842f19c415c4ada666b30ed7235effcb Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Mar 2018 16:25:50 +0100 Subject: [PATCH 194/245] gnu: Add java-jakarta-oro. * gnu/packages/java.scm (java-jakarta-oro): New variable. --- gnu/packages/java.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9efb8d2054..280601102b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9423,3 +9423,37 @@ different file systems. It presents a uniform view of the files from various different sources, such as the files on local disk, on an HTTP server, or inside a Zip archive.") (license license:asl2.0))) + +(define-public java-jakarta-oro + (package + (name "java-jakarta-oro") + (version "2.0.8") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.apache.org/dist/jakarta/oro/" + "jakarta-oro-" version ".tar.gz")) + (sha256 + (base32 + "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file (string-append "jakarta-oro-" ,version ".jar")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:build-target "package" + #:tests? #f; tests are run as part of the build process + #:phases + (modify-phases %standard-phases + (replace 'install + (install-jars ,(string-append "jakarta-oro-" version)))))) + (home-page "https://jakarta.apache.org/oro/") + (synopsis "Text-processing for Java") + (description "The Jakarta-ORO Java classes are a set of text-processing +Java classes that provide Perl5 compatible regular expressions, AWK-like +regular expressions, glob expressions, and utility classes for performing +substitutions, splits, filtering filenames, etc. This library is the successor +of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally +from ORO, Inc.") + (license license:asl1.1))) From a970288c8e605903170ab83a019e4d316591032d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Mar 2018 18:16:28 +0100 Subject: [PATCH 195/245] gnu: Add java-native-access. * gnu/packages/java.scm (java-native-access): New variable. --- gnu/packages/java.scm | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 280601102b..453897bf72 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9457,3 +9457,71 @@ substitutions, splits, filtering filenames, etc. This library is the successor of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally from ORO, Inc.") (license license:asl1.1))) + +(define-public java-native-access + (package + (name "java-native-access") + (version "4.5.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/java-native-access/jna/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zrpzkib6b905i018a9pqlzkqinphywr6y4jwv6mwp63jjqvqkd9")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each delete-file (find-files "." ".*.jar")) + (delete-file-recursively "native/libffi") + (delete-file-recursively "dist") + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; FIXME: tests require reflections.jar + #:test-target "test" + #:make-flags (list "-Ddynlink.native=true") + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-build.xml + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + ;; Since we removed the bundled ant.jar, give the correct path + (("lib/ant.jar") (string-append (assoc-ref inputs "ant") "/lib/ant.jar")) + ;; We removed generated native libraries. We can only rebuild one + ;; so don't fail if we can't find a native library for another architecture. + (("zipfileset") "zipfileset erroronmissingarchive=\"false\"")) + ;; Copy test dependencies + (copy-file (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar") + "lib/junit.jar") + (copy-file (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar") + "lib/hamcrest-core.jar") + ;; FIXME: once reflections.jar is built, copy it to lib/test. + #t)) + (add-before 'build 'build-native + (lambda _ + (invoke "ant" "-Ddynlink.native=true" "native") + #t)) + (replace 'install + (install-jars "build"))))) + (inputs + `(("libffi" ,libffi) + ("libx11" ,libx11) + ("libxt" ,libxt))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://github.com/java-native-access/jna") + (synopsis "Access to native shared libraries from Java") + (description "JNA provides Java programs easy access to native shared +libraries without writing anything but Java code - no JNI or native code is +required. JNA allows you to call directly into native functions using natural +Java method invocation.") + ;; Java Native Access project (JNA) is dual-licensed under 2 + ;; alternative Free licenses: LGPL 2.1 or later and Apache License 2.0. + (license (list + license:asl2.0 + license:lgpl2.1+)))) From cfb55cfc4a91d13f4c19fc167da0b39a840f7690 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Mar 2018 18:22:04 +0100 Subject: [PATCH 196/245] gnu: Add java-native-access-platform. * gnu/packages/java.scm (java-native-access-platform): New variable. --- gnu/packages/java.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 453897bf72..be252cd2ab 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9525,3 +9525,39 @@ Java method invocation.") (license (list license:asl2.0 license:lgpl2.1+)))) + +(define-public java-native-access-platform + (package + (inherit java-native-access) + (name "java-native-access-platform") + (arguments + `(#:test-target "test" + #:tests? #f; require jna-test.jar + #:phases + (modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (chdir "contrib/platform") + #t)) + (add-after 'chdir 'fix-ant + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "nbproject/project.properties" + (("../../build/jna.jar") + (string-append (assoc-ref inputs "java-native-access") + "/share/java/jna.jar")) + (("../../lib/hamcrest-core-.*.jar") + (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar")) + (("../../lib/junit.jar") + (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar"))) + #t)) + (replace 'install + (install-jars "dist"))))) + (inputs + `(("java-native-access" ,java-native-access))) + (synopsis "Cross-platform mappings for jna") + (description "java-native-access-platfrom has cross-platform mappings +and mappings for a number of commonly used platform functions, including a +large number of Win32 mappings as well as a set of utility classes that +simplify native access."))) From ae81bf4f995466a4650e2756d2763b8a163d2f63 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Apr 2018 12:50:34 -0400 Subject: [PATCH 197/245] gnu: certbot: Update to 0.23.0. * gnu/packages/tls.scm (certbot, python-acme): Update to 0.23.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 f11aab5f49..60e29bfe82 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -534,13 +534,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.22.2") + (version "0.23.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1d5d4w88aj1i8fyrs44dapmiqbmgz4bjgryn8k3mnggmd6ihxk8f")))) + "0l257dq1i2gka6ynldidpwaz1aa726643crqqckga1w5awsndh88")))) (build-system python-build-system) (arguments `(#:phases @@ -589,7 +589,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "1vsb8qqghxrwxr3d2l0d5cgdk0pz7b3f76bx3zrrg0z7jf967qz6")))) + "0gh5fr61c3mj5vdkn68k17wcvri9rdj506cmmz6631i2l5flrzvc")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) From 262ee8eae27d14b1469b41d07c6a2cbfc7f4905d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Apr 2018 17:06:52 +0200 Subject: [PATCH 198/245] gnu: htslib-for-sambamba: Fix build. * gnu/packages/bioinformatics.scm (htslib-for-sambamba)[arguments]: Do not inherit htslib arguments. --- gnu/packages/bioinformatics.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 66d5bd3707..88aa48cd9e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10987,12 +10987,10 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (base32 "0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9")))) (arguments - (substitute-keyword-arguments (package-arguments htslib) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif")))))))) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (invoke "autoreconf" "-vif")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From 482959ffa4601eff181688ec0e7ecaf68fe799a0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Apr 2018 17:07:44 +0200 Subject: [PATCH 199/245] gnu: sambamba: Update to 0.6.7-10-g223fa20. * gnu/packages/bioinformatics.scm (sambamba)[source]: Fetch from git. [arguments]: Disable parallel build; rename build phase "place-biod" to "place-biod-and-undead"; add build phase "fix-ldc-version"; adjust phase "unbundle-prerequisites". [native-inputs]: Add python2-minimal; update biod sources; add undead sources. --- gnu/packages/bioinformatics.scm | 51 +++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 88aa48cd9e..0e9e6b13fd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10999,34 +10999,41 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (define-public sambamba (package (name "sambamba") - (version "0.6.5") + (version "0.6.7-10-g223fa20") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lomereiter/sambamba/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lomereiter/sambamba.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17076gijd65a3f07zns2gvbgahiz5lriwsa6dq353ss3jl85d8vy")))) + "1zb9hrxglxqh13ava9wwri30cvf85hjnbn8ccnr8l60a3k5avczn")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there is no test target - #:make-flags - '("D_COMPILER=ldc2" - ;; Override "--compiler" flag only. - "D_FLAGS=--compiler=ldc2 -IBioD -g -d" - "sambamba-ldmd2-64") + `(#:tests? #f ; there is no test target + #:parallel-build? #f ; not supported #:phases (modify-phases %standard-phases (delete 'configure) - (add-after 'unpack 'place-biod + (add-after 'unpack 'fix-ldc-version + (lambda _ + (substitute* "gen_ldc_version_info.py" + (("/usr/bin/env.*") (which "python"))) + (substitute* "Makefile" + (("\\$\\(shell which ldmd2\\)") (which "ldmd2"))) + #t)) + (add-after 'unpack 'place-biod-and-undead (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "biod") "BioD") + (copy-recursively (assoc-ref inputs "undead") "undeaD") #t)) (add-after 'unpack 'unbundle-prerequisites (lambda _ (substitute* "Makefile" + (("htslib/libhts.a lz4/lib/liblz4.a") + "-L-lhts -L-llz4") ((" htslib-static lz4-static") "")) #t)) (replace 'install @@ -11039,8 +11046,9 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (native-inputs `(("ldc" ,ldc) ("rdmd" ,rdmd) + ("python" ,python2-minimal) ("biod" - ,(let ((commit "1248586b54af4bd4dfb28ebfebfc6bf012e7a587")) + ,(let ((commit "c778e4f2d8bacea7499283ce39f5577b232732c6")) (origin (method git-fetch) (uri (git-reference @@ -11051,7 +11059,20 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") "-checkout")) (sha256 (base32 - "1m8hi1n7x0ri4l6s9i0x6jg4z4v94xrfdzp7mbizdipfag0m17g3"))))))) + "1z90562hg47i63gx042wb3ak2vqjg5z7hwgn9bp2pdxfg3nxrw37"))))) + ("undead" + ,(let ((commit "92803d25c88657e945511f0976a0c79d8da46e89")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dlang/undeaD.git") + (commit commit))) + (file-name (string-append "undead-" + (string-take commit 9) + "-checkout")) + (sha256 + (base32 + "0vq6n81vzqvgphjw54lz2isc1j8lcxwjdbrhqz1h5gwrvw9w5138"))))))) (inputs `(("lz4" ,lz4) ("htslib" ,htslib-for-sambamba))) From 9bdbabe963e48bcac11c053a38d990873ca48dca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 31 Mar 2018 22:04:44 +0200 Subject: [PATCH 200/245] gnu: llvm, clang: Update to 6.0.0. * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 6.0.0. (clang-from-llvm)(patches): Set to empty list. [arguments]: Adjust substitutions depending on major version. (llvm-3.8, clang-runtime-3.8, clang-3.8): New public variables. (clang-3.7, clang-3.6, clang-3.5)(patches): Add 'clang-3.5-libc-search-path.patch'. (clang-3.9.1)(patches): Add 'clang-3.8-libc-search-path.patch'. * gnu/packages/patches/clang-6.0-libc-search-path.patch: New file. * gnu/packages/patches/clang-libc-search-path.patch: Rename to ... * gnu/packages/patches/clang-3.5-libc-search-path.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 3 +- gnu/packages/llvm.scm | 105 +++++++++++++----- ...patch => clang-3.5-libc-search-path.patch} | 0 .../patches/clang-6.0-libc-search-path.patch | 67 +++++++++++ 4 files changed, 149 insertions(+), 26 deletions(-) rename gnu/packages/patches/{clang-libc-search-path.patch => clang-3.5-libc-search-path.patch} (100%) create mode 100644 gnu/packages/patches/clang-6.0-libc-search-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1481d07066..3d4b05c77a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -591,8 +591,9 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ %D%/packages/patches/chmlib-inttypes.patch \ - %D%/packages/patches/clang-libc-search-path.patch \ + %D%/packages/patches/clang-3.5-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ + %D%/packages/patches/clang-6.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 2dddbc4361..98592ad090 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Dennis Mungai ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ (define-public llvm (package (name "llvm") - (version "3.8.1") + (version "6.0.0") (source (origin (method url-fetch) @@ -48,7 +49,7 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))) + "0224xvfg6h40y5lrbnb9qaq3grmdc5rg00xq03s1wxjfbf8krx8z")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -131,7 +132,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") (supported-systems (delete "mips64el-linux" %supported-systems)))) (define* (clang-from-llvm llvm clang-runtime hash - #:key (patches '("clang-libc-search-path.patch"))) + #:key (patches '())) (package (name "clang") (version (package-version llvm)) @@ -176,22 +177,50 @@ compiler. In LLVM this library is called \"compiler-rt\".") (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc")) (compiler-rt (assoc-ref inputs "clang-runtime"))) - (substitute* "lib/Driver/Tools.cpp" - ;; Patch the 'getLinuxDynamicLinker' function to that - ;; it uses the right dynamic linker file name. - (("/lib64/ld-linux-x86-64.so.2") - (string-append libc - ,(glibc-dynamic-linker))) + (case (string->number ,(version-major + (package-version clang-runtime))) + ((6) + ;; Link to libclang_rt files from clang-runtime. + (substitute* "lib/Driver/ToolChain.cpp" + (("getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))) - ;; Link to libclang_rt files from clang-runtime. - (("TC\\.getDriver\\(\\)\\.ResourceDir") - (string-append "\"" compiler-rt "\""))) + ;; Make "LibDir" refer to /lib so that it + ;; uses the right dynamic linker file name. + (substitute* "lib/Driver/ToolChains/Linux.cpp" + (("(^[[:blank:]]+LibDir = ).*" _ declaration) + (string-append declaration "\"" libc "/lib\";\n")) - ;; Same for libc's libdir, to allow crt1.o & co. to be - ;; found. - (substitute* "lib/Driver/ToolChains.cpp" - (("@GLIBC_LIBDIR@") - (string-append libc "/lib"))))))))) + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (("@GLIBC_LIBDIR@") + (string-append libc "/lib")))) + ((3) + (substitute* "lib/Driver/Tools.cpp" + ;; Patch the 'getLinuxDynamicLinker' function so that + ;; it uses the right dynamic linker file name. + (("/lib64/ld-linux-x86-64.so.2") + (string-append libc + ,(glibc-dynamic-linker)))) + + ;; Link to libclang_rt files from clang-runtime. + ;; This substitution needed slight adjustment in 3.8. + (if (< 3.8 (string->number ,(version-major+minor + (package-version + clang-runtime)))) + (substitute* "lib/Driver/Tools.cpp" + (("TC\\.getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))) + (substitute* "lib/Driver/ToolChain.cpp" + (("getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\"")))) + + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (substitute* "lib/Driver/ToolChains.cpp" + (("@GLIBC_LIBDIR@") + (string-append libc "/lib"))))) + #t)))))) ;; Clang supports the same environment variables as GCC. (native-search-paths @@ -214,13 +243,12 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d" - '("clang-runtime-asan-build-fixes.patch"))) + "16m7rvh3w6vq10iwkjrr1nn293djld3xm62l5zasisaprx117k6h")) (define-public clang (clang-from-llvm llvm clang-runtime - "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" - #:patches '("clang-3.8-libc-search-path.patch"))) + "0cnznvfyl3hgbg8gj58pmwf0pvd2sv5k3ccbivy6q6ggv7c6szg0" + #:patches '("clang-6.0-libc-search-path.patch"))) (define-public llvm-3.9.1 (package (inherit llvm) @@ -245,7 +273,31 @@ code analysis tools.") (define-public clang-3.9.1 (clang-from-llvm llvm-3.9.1 clang-runtime-3.9.1 "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76" - #:patches '())) + #:patches '("clang-3.8-libc-search-path.patch"))) + +(define-public llvm-3.8 + (package (inherit llvm) + (name "llvm") + (version "3.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) + +(define-public clang-runtime-3.8 + (clang-runtime-from-llvm + llvm-3.8 + "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d" + '("clang-runtime-asan-build-fixes.patch"))) + +(define-public clang-3.8 + (clang-from-llvm llvm-3.8 clang-runtime-3.8 + "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" + #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 (package (inherit llvm) @@ -267,7 +319,8 @@ code analysis tools.") (define-public clang-3.7 (clang-from-llvm llvm-3.7 clang-runtime-3.7 - "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) + "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 (package (inherit llvm) @@ -289,7 +342,8 @@ code analysis tools.") (define-public clang-3.6 (clang-from-llvm llvm-3.6 clang-runtime-3.6 - "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df")) + "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.5 (package (inherit llvm) @@ -313,7 +367,8 @@ code analysis tools.") (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 - "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) + "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-for-extempore (package (inherit llvm-3.7) diff --git a/gnu/packages/patches/clang-libc-search-path.patch b/gnu/packages/patches/clang-3.5-libc-search-path.patch similarity index 100% rename from gnu/packages/patches/clang-libc-search-path.patch rename to gnu/packages/patches/clang-3.5-libc-search-path.patch diff --git a/gnu/packages/patches/clang-6.0-libc-search-path.patch b/gnu/packages/patches/clang-6.0-libc-search-path.patch new file mode 100644 index 0000000000..a62e8063c2 --- /dev/null +++ b/gnu/packages/patches/clang-6.0-libc-search-path.patch @@ -0,0 +1,67 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-GuixSD systems. + +--- cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp ++++ cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp +@@ -207,7 +207,9 @@ + PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + + GCCInstallation.getTriple().str() + "/bin") + .str()); +- ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS()); + + if (Distro.IsAlpineLinux()) { +@@ -255,6 +257,7 @@ + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -329,14 +332,12 @@ + addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); + } + +- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); +- + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ // The following code would end up adding things like ++ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -349,6 +350,7 @@ + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -373,8 +375,9 @@ + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { return true; } From 67b5785e3c57b031f8319cf373e84b5373d34a40 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Apr 2018 19:18:41 +0200 Subject: [PATCH 201/245] gnu: ldc, bap: Build with Clang 3.8. * gnu/packages/ldc.scm (ldc-bootstrap, ldc): Change LLVM and CLANG to LLVM-3.8 and CLANG-3.8. * gnu/packages/ocaml.scm (bap)[native-inputs]: Change CLANG to CLANG-3.8. [propagated-inputs, inputs]: Change LLVM to LLVM-3.8. --- gnu/packages/ldc.scm | 8 ++++---- gnu/packages/ocaml.scm | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index aca2cab0a2..2613db0abd 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -138,8 +138,8 @@ and freshness without requiring additional information from the user.") ("tzdata" ,tzdata) ("zlib" ,zlib))) (native-inputs - `(("llvm" ,llvm) - ("clang" ,clang) + `(("llvm" ,llvm-3.8) + ("clang" ,clang-3.8) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) ("unzip" ,unzip) @@ -246,8 +246,8 @@ bootstrapping more recent compilers written in D.") (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) (native-inputs - `(("llvm" ,llvm) - ("clang" ,clang) + `(("llvm" ,llvm-3.8) + ("clang" ,clang-3.8) ("ldc" ,ldc-bootstrap) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 00d1d1c56a..fc162759c2 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3494,13 +3494,13 @@ XML and Protocol Buffers formats.") (build-system ocaml-build-system) (native-inputs `(("oasis" ,ocaml-oasis) - ("clang" ,clang) + ("clang" ,clang-3.8) ("ounit" ,ocaml-ounit))) (propagated-inputs `(("core-kernel" ,ocaml-core-kernel) ("ppx-driver" ,ocaml-ppx-driver) ("uri" ,ocaml-uri) - ("llvm" ,llvm) + ("llvm" ,llvm-3.8) ("gmp" ,gmp) ("clang-runtime" ,clang-runtime) ("fileutils" ,ocaml-fileutils) @@ -3516,7 +3516,7 @@ XML and Protocol Buffers formats.") ("bitstring" ,ocaml-bitstring) ("ppx-jane" ,ocaml-ppx-jane) ("re" ,ocaml-re))) - (inputs `(("llvm" ,llvm))) + (inputs `(("llvm" ,llvm-3.8))) (arguments `(#:use-make? #t #:phases From 426284d85581257ef0e2f60404ba0bdefc188148 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Apr 2018 16:08:27 +0200 Subject: [PATCH 202/245] gnu: strace: Update to 4.22. * gnu/packages/linux.scm (strace): Update to 4.22. [source](uri): Download from home page. --- gnu/packages/linux.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f49171fa5a..a01edf73d3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -934,14 +934,15 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "4.21") + (version "4.22") + (home-page "https://strace.io") (source (origin (method url-fetch) - (uri (string-append "https://github.com/strace/strace/releases/" - "download/v" version "/strace-" version ".tar.xz")) + (uri (string-append home-page "/files/" version + "/strace-" version ".tar.xz")) (sha256 (base32 - "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw")))) + "17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306")))) (build-system gnu-build-system) (arguments '(#:phases @@ -952,7 +953,6 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (("/bin/sh") (which "sh"))) #t))))) (native-inputs `(("perl" ,perl))) - (home-page "https://strace.io/") (synopsis "System call tracer for Linux") (description "strace is a system call tracer, i.e. a debugging tool which prints out a From a81000fb7146859269ec8137d6e31e7faa6c44ff Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Apr 2018 16:09:06 +0200 Subject: [PATCH 203/245] gnu: talloc: Update to 2.1.13. * gnu/packages/samba.scm (talloc): Update to 2.1.13. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index e2e8c5e093..d84f52ffc5 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -233,14 +233,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.12") + (version "2.1.13") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "0jv0ri9vj93fczzgl7rn7xvnfgl2kfx4x85cr8h8v52yh7v0qz4q")))) + "0iv09iv385x69gfzvassq6m3y0rd8ncylls95dm015xdy3drkww4")))) (build-system gnu-build-system) (arguments '(#:phases From 385b2dde61cbf0ef415be716afc4fa2abe0e38bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Apr 2018 16:09:29 +0200 Subject: [PATCH 204/245] gnu: miniupnpc: Update to 2.0.20180406. * gnu/packages/upnp.scm (miniupnpc): Update to 2.0.20180406. --- gnu/packages/upnp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8764cea9a6..7db6b5eec5 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -29,14 +29,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20180222") + (version "2.0.20180406") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq")))) + (base32 "15i9lyj72wr15b3kpcqsf97mr2hajkpwvf0lz9ps9r568yyjcwlc")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) From 6e0efe8cd5c85e7b83808b466c626484274def8d Mon Sep 17 00:00:00 2001 From: YOANN P Date: Tue, 3 Apr 2018 18:05:41 +0000 Subject: [PATCH 205/245] gnu: git: Fix checksum patch in 'patch-tests'. * gnu/packages/version-control.scm (git)[arguments]: In 'patch-tests' phase, use %store-directory instead of '/gnu' to prevent tests failure in case a custom store path is used. Signed-off-by: Marius Bakke --- gnu/packages/version-control.scm | 71 ++++++++++++++++---------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1c87f2ea32..cccdb31fb1 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -223,42 +223,43 @@ as well as the classic centralized workflow.") #t)) (add-before 'check 'patch-tests (lambda _ - ;; These files contain some funny bytes that Guile is unable - ;; to decode for shebang patching. Just delete them. - (for-each delete-file '("t/t4201-shortlog.sh" - "t/t7813-grep-icase-iso.sh")) - ;; Many tests contain inline shell scripts (hooks etc). - (substitute* (find-files "t" "\\.sh$") - (("#!/bin/sh") (string-append "#!" (which "sh")))) - ;; Un-do shebang patching here to prevent checksum mismatch. - (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post") - (("^#!.*/bin/perl") "#!/usr/bin/perl")) - (substitute* "t/t5003-archive-zip.sh" - (("cp /bin/sh") (string-append "cp " (which "sh")))) - (substitute* "t/t6030-bisect-porcelain.sh" - (("\"/bin/sh\"") (string-append "\"" (which "sh") "\""))) - ;; FIXME: This test runs `git commit` with a bogus EDITOR - ;; and empty commit message, but does not fail the way it's - ;; expected to. The test passes when invoked interactively. - (substitute* "t/t7508-status.sh" - (("\tcommit_template_commented") "\ttrue")) - ;; More checksum mismatches due to odd shebangs. - (substitute* "t/t9100-git-svn-basic.sh" - (("\"#!/gnu.*/bin/sh") "\"#!/bin/sh")) - (substitute* "t/t9300-fast-import.sh" - (("\t#!/gnu.*/bin/sh") "\t#!/bin/sh") - (("'#!/gnu.*/bin/sh") "'#!/bin/sh")) - ;; FIXME: Some hooks fail with "basename: command not found". - ;; See 't/trash directory.t9164.../svn-hook.log'. - (delete-file "t/t9164-git-svn-dcommit-concurrent.sh") + (let ((store-directory (%store-directory))) + ;; These files contain some funny bytes that Guile is unable + ;; to decode for shebang patching. Just delete them. + (for-each delete-file '("t/t4201-shortlog.sh" + "t/t7813-grep-icase-iso.sh")) + ;; Many tests contain inline shell scripts (hooks etc). + (substitute* (find-files "t" "\\.sh$") + (("#!/bin/sh") (string-append "#!" (which "sh")))) + ;; Un-do shebang patching here to prevent checksum mismatch. + (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post") + (("^#!.*/bin/perl") "#!/usr/bin/perl")) + (substitute* "t/t5003-archive-zip.sh" + (("cp /bin/sh") (string-append "cp " (which "sh")))) + (substitute* "t/t6030-bisect-porcelain.sh" + (("\"/bin/sh\"") (string-append "\"" (which "sh") "\""))) + ;; FIXME: This test runs `git commit` with a bogus EDITOR + ;; and empty commit message, but does not fail the way it's + ;; expected to. The test passes when invoked interactively. + (substitute* "t/t7508-status.sh" + (("\tcommit_template_commented") "\ttrue")) + ;; More checksum mismatches due to odd shebangs. + (substitute* "t/t9100-git-svn-basic.sh" + (((string-append "\"#!" store-directory ".*/bin/sh")) "\"#!/bin/sh") ) + (substitute* "t/t9300-fast-import.sh" + (((string-append "\t#!" store-directory ".*/bin/sh")) "\t#!/bin/sh") + (((string-append "'#!" store-directory ".*/bin/sh")) "'#!/bin/sh")) + ;; FIXME: Some hooks fail with "basename: command not found". + ;; See 't/trash directory.t9164.../svn-hook.log'. + (delete-file "t/t9164-git-svn-dcommit-concurrent.sh") - ;; XXX: These tests fail intermittently for unknown reasons: - ;; . - (for-each delete-file - '("t/t9128-git-svn-cmd-branch.sh" - "t/t9167-git-svn-cmd-branch-subproject.sh" - "t/t9141-git-svn-multiple-branches.sh")) - #t)) + ;; XXX: These tests fail intermittently for unknown reasons: + ;; . + (for-each delete-file + '("t/t9128-git-svn-cmd-branch.sh" + "t/t9167-git-svn-cmd-branch-subproject.sh" + "t/t9141-git-svn-multiple-branches.sh")) + #t))) (add-after 'install 'install-shell-completion (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From d4bb4551356c6601a952e89ad8e1b56a3bf2244d Mon Sep 17 00:00:00 2001 From: Sohom Bhattacharjee Date: Sat, 7 Apr 2018 23:36:31 +0530 Subject: [PATCH 206/245] gnu: Add emacs-evil-anzu. * gnu/packages/emacs.scm (emacs-evil-anzu): New variable. Signed-off-by: Oleg Pykhalov --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fd0b8acd0e..ac69cfa397 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7494,3 +7494,24 @@ used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") standard Unix password manager\").") (license license:gpl2+))) +(define-public emacs-evil-anzu + (package + (name "emacs-evil-anzu") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/syohex/emacs-evil-anzu" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil) + ("emacs-anzu" ,emacs-anzu))) + (home-page "https://github.com/syohex/emacs-evil-anzu") + (synopsis "Anzu for evil-mode") + (description "@code{anzu} provides a minor mode that displays the current +match and total match information in the mode-line in various search modes.") + (license license:gpl3+))) From 2cc267e07a34737982184433c6cd13ede9551175 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 8 Apr 2018 09:13:53 +0200 Subject: [PATCH 207/245] gnu: grammalecte: Update to 0.6.3.1. * gnu/packages/dictionaries.scm (grammalecte): Update to 0.6.3.1. --- gnu/packages/dictionaries.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 85979ba096..d7874936ee 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -213,7 +213,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "0.6.2") + (version "0.6.3.1") (source (origin (method url-fetch/zipbomb) @@ -221,7 +221,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") "Grammalecte-fr-v" version ".zip")) (sha256 (base32 - "0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2")))) + "0jlzrhpx9qvjdq679w188p86x09yfjf3l0h4scjl9w26yyp53gr8")))) (build-system python-build-system) (home-page "https://www.dicollecte.org") (synopsis "French spelling and grammar checker") From 8f3448f6374d287b01b021df3e7e43ec5101f9a7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 8 Apr 2018 16:18:18 +0200 Subject: [PATCH 208/245] gnu: grammalecte: Fix build. * gnu/packages/dictionaries.scm (grammalecte)[arguments]: Add phase to fix build script. --- gnu/packages/dictionaries.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index d7874936ee..965002a94d 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -223,6 +223,19 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (base32 "0jlzrhpx9qvjdq679w188p86x09yfjf3l0h4scjl9w26yyp53gr8")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-setup + ;; Fix typos in "setup.py". In particular, add the new + ;; "graphspell" module introduced in 0.6.2. Reported upstream: + ;; + (lambda _ + (substitute* "setup.py" + (("packages=\\['grammalecte', 'grammalecte.fr'\\],") + "packages=['grammalecte', 'grammalecte.fr', 'grammalecte.graphspell'],") + (("_dictionaries/French.bdic") "graphspell/_dictionaries/fr.bdic")) + #t))))) (home-page "https://www.dicollecte.org") (synopsis "French spelling and grammar checker") (description "Grammalecte is a grammar checker dedicated to the French From 6ef80eb0d94181eb5f755a11fca0d428252ce753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Apr 2018 10:53:49 +0200 Subject: [PATCH 209/245] tests: Skip 'pivot-root' test on Ubuntu's 4.4 kernels. Fixes . Reported by Paul Garlick and Maria Sidorova . * tests/syscalls.scm ("pivot-root"): Skip on known-bad Ubuntu kernels. --- tests/syscalls.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 22ca2a05d4..0d07280b99 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015 David Thompson ;;; ;;; This file is part of GNU Guix. @@ -151,7 +151,13 @@ ;; XXX: Skip this test when running Linux > 4.7.5 to work around ;; . (when (or (not perform-container-tests?) - (version>? (utsname:release (uname)) "4.7.5")) + (version>? (utsname:release (uname)) "4.7.5") + + ;; Skip on Ubuntu's 4.4 kernels, which contain a backport of the + ;; faulty code: . + (member (utsname:release (uname)) + '("4.4.0-21-generic" "4.4.0-59-generic" + "4.4.0-116-generic"))) (test-skip 1)) (test-equal "pivot-root" #t From 1b92d65a40a2cf6028bfc0efb7d7d007d76d008a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 3 Apr 2018 23:33:39 +0200 Subject: [PATCH 210/245] modules: Report the search path in &missing-dependency-error. * guix/modules.scm (&missing-dependency-error)[search-path]: New field. (source-module-dependencies): Initialize the 'search-path' field. --- guix/modules.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/modules.scm b/guix/modules.scm index bf656bb241..65928f67f2 100644 --- a/guix/modules.scm +++ b/guix/modules.scm @@ -25,6 +25,7 @@ #:use-module (ice-9 match) #:export (missing-dependency-error? missing-dependency-module + missing-dependency-search-path file-name->module-name module-name->file-name @@ -47,7 +48,8 @@ ;; The error corresponding to a missing module. (define-condition-type &missing-dependency-error &error missing-dependency-error? - (module missing-dependency-module)) + (module missing-dependency-module) + (search-path missing-dependency-search-path)) (define (colon-symbol? obj) "Return true if OBJ is a symbol that starts with a colon." @@ -132,7 +134,8 @@ depends on." (module-file-dependencies file)) (#f (raise (condition (&missing-dependency-error - (module module)))))))) + (module module) + (search-path load-path)))))))) (define* (module-closure modules #:key From e40aa54e98aa6329e6196fd29e7e4e34ce3a063c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 15:47:11 +0200 Subject: [PATCH 211/245] union: Allow callers to choose the collision resolution policy. * guix/build/union.scm (warn-about-collision): New procedure. (union-build): Add #:resolve-collision. [resolve-collisions]: Call it. * tests/union.scm ("union-build collision first & last"): New test. --- guix/build/union.scm | 36 ++++++++++++++++++++++++------------ tests/union.scm | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 13 deletions(-) diff --git a/guix/build/union.scm b/guix/build/union.scm index 5f1cf8e450..1179f1234b 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm @@ -25,7 +25,9 @@ #:use-module (srfi srfi-26) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) - #:export (union-build)) + #:export (union-build + + warn-about-collision)) ;;; Commentary: ;;; @@ -76,14 +78,29 @@ identical, #f otherwise." (or (eof-object? n1) (loop)))))))))))))) +(define (warn-about-collision files) + "Handle the collision among FILES by emitting a warning and choosing the +first one of THEM." + (format (current-error-port) + "~%warning: collision encountered:~%~{ ~a~%~}" + files) + (let ((file (first files))) + (format (current-error-port) "warning: choosing ~a~%" file) + file)) + (define* (union-build output inputs #:key (log-port (current-error-port)) (create-all-directories? #f) - (symlink symlink)) + (symlink symlink) + (resolve-collision warn-about-collision)) "Build in the OUTPUT directory a symlink tree that is the union of all the INPUTS, using SYMLINK to create symlinks. As a special case, if CREATE-ALL-DIRECTORIES?, creates the subdirectories in the output directory to -make sure the caller can modify them later." +make sure the caller can modify them later. + +When two or more regular files collide, call RESOLVE-COLLISION with the list +of colliding files and use the one that it returns; or, if RESOLVE-COLLISION +returns #f, skip the faulty file altogether." (define (symlink* input output) (format log-port "`~a' ~~> `~a'~%" input output) @@ -92,15 +109,10 @@ make sure the caller can modify them later." (define (resolve-collisions output dirs files) (cond ((null? dirs) ;; The inputs are all files. - (format (current-error-port) - "~%warning: collision encountered:~%~{ ~a~%~}" - files) - - (let ((file (first files))) - ;; TODO: Implement smarter strategies. - (format (current-error-port) "warning: choosing ~a~%" file) - - (symlink* file output))) + (match (resolve-collision files) + (#f #f) + ((? string? file) + (symlink* file output)))) (else ;; The inputs are a mixture of files and directories diff --git a/tests/union.scm b/tests/union.scm index b63edc757b..aa95cae001 100644 --- a/tests/union.scm +++ b/tests/union.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,6 +124,46 @@ ;; new 'bin' sub-directory in the profile. (eq? 'directory (stat:type (lstat "bin")))))))) +(test-assert "union-build collision first & last" + (let* ((guile (package-derivation %store %bootstrap-guile)) + (fake (build-expression->derivation + %store "fake-guile" + '(begin + (use-modules (guix build utils)) + (let ((out (assoc-ref %outputs "out"))) + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/guile") + (const #t)))) + #:modules '((guix build utils)))) + (builder (lambda (policy) + `(begin + (use-modules (guix build union) + (srfi srfi-1)) + (union-build (assoc-ref %outputs "out") + (map cdr %build-inputs) + #:resolve-collision ,policy)))) + (drv1 + (build-expression->derivation %store "union-first" + (builder 'first) + #:inputs `(("guile" ,guile) + ("fake" ,fake)) + #:modules '((guix build union)))) + (drv2 + (build-expression->derivation %store "union-last" + (builder 'last) + #:inputs `(("guile" ,guile) + ("fake" ,fake)) + #:modules '((guix build union))))) + (and (build-derivations %store (list drv1 drv2)) + (with-directory-excursion (derivation->output-path drv1) + (string=? (readlink "bin/guile") + (string-append (derivation->output-path guile) + "/bin/guile"))) + (with-directory-excursion (derivation->output-path drv2) + (string=? (readlink "bin/guile") + (string-append (derivation->output-path fake) + "/bin/guile")))))) + (test-assert "union-build #:create-all-directories? #t" (let* ((build `(begin (use-modules (guix build union)) From b244ae25f9d5d09ef62f59249c794601b1433886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 16:22:25 +0200 Subject: [PATCH 212/245] gexp: 'directory-union' has a #:resolve-collision parameter. * guix/gexp.scm (directory-union): Add #:resolve-collision and honor it. --- guix/gexp.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index b47965d9eb..448eeed3f1 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1250,7 +1250,8 @@ This yields an 'etc' directory containing these two files." files)))))) (define* (directory-union name things - #:key (copy? #f) (quiet? #f)) + #:key (copy? #f) (quiet? #f) + (resolve-collision 'warn-about-collision)) "Return a directory that is the union of THINGS, where THINGS is a list of file-like objects denoting directories. For example: @@ -1258,6 +1259,10 @@ file-like objects denoting directories. For example: yields a directory that is the union of the 'guile' and 'emacs' packages. +Call RESOLVE-COLLISION when several files collide, passing it the list of +colliding files. RESOLVE-COLLISION must return the chosen file or #f, in +which case the colliding entry is skipped altogether. + When HARD-LINKS? is true, create hard links instead of symlinks. When QUIET? is true, the derivation will not print anything." (define symlink @@ -1281,12 +1286,16 @@ is true, the derivation will not print anything." (computed-file name (with-imported-modules '((guix build union)) (gexp (begin - (use-modules (guix build union)) + (use-modules (guix build union) + (srfi srfi-1)) ;for 'first' and 'last' + (union-build (ungexp output) '(ungexp things) #:log-port (ungexp log-port) - #:symlink (ungexp symlink))))))))) + #:symlink (ungexp symlink) + #:resolve-collision + (ungexp resolve-collision))))))))) ;;; From 278c16579dfe59833155b1e7678a727e60fa6540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 16:38:53 +0200 Subject: [PATCH 213/245] gnu: Add 'guix-register'. * gnu/packages/package-management.scm (guix-register): New variable. --- gnu/packages/package-management.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a90ba7a21a..f0c6b8a7e9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -283,6 +283,33 @@ the Nix package manager.") ;; Alias for backward compatibility. (define-public guix-devel guix) +(define-public guix-register + ;; This package is for internal consumption: it allows us to quickly build + ;; the 'guix-register' program, which is referred to by (guix config). + ;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme + ;; code. + (package + (inherit guix) + (properties `((hidden? . #t))) + (name "guix-register") + (arguments + (substitute-keyword-arguments (package-arguments guix) + ((#:tests? #f #f) + #f) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (replace 'build + (lambda _ + (invoke "make" "nix/libstore/schema.sql.hh") + (invoke "make" "-j" (number->string + (parallel-job-count)) + "guix-register"))) + (delete 'copy-bootstrap-guile) + (replace 'install + (lambda _ + (invoke "make" "install-sbinPROGRAMS"))) + (delete 'wrap-program))))))) + (define-public guile2.0-guix (package (inherit guix) From eaae07ec2878707744fed76029a28ab9a494fc2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Mar 2018 15:36:12 +0100 Subject: [PATCH 214/245] Add (guix self). * guix/self.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm (%distro-root-directory): Rewrite to try different directories. * guix/discovery.scm (guix): Export 'scheme-files'. --- Makefile.am | 1 + gnu/packages.scm | 21 +- guix/discovery.scm | 3 +- guix/self.scm | 599 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 621 insertions(+), 3 deletions(-) create mode 100644 guix/self.scm diff --git a/Makefile.am b/Makefile.am index 244069b533..e4edd05d72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -81,6 +81,7 @@ MODULES = \ guix/derivations.scm \ guix/grafts.scm \ guix/gnu-maintenance.scm \ + guix/self.scm \ guix/upstream.scm \ guix/licenses.scm \ guix/glob.scm \ diff --git a/gnu/packages.scm b/gnu/packages.scm index 97e6cb347f..44a56dfde0 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -110,8 +110,25 @@ for system '~a'") file-name system))))))) (define %distro-root-directory - ;; Absolute file name of the module hierarchy. - (dirname (search-path %load-path "guix.scm"))) + ;; Absolute file name of the module hierarchy. Since (gnu packages …) might + ;; live in a directory different from (guix), try to get the best match. + (letrec-syntax ((dirname* (syntax-rules () + ((_ file) + (dirname file)) + ((_ file head tail ...) + (dirname (dirname* file tail ...))))) + (try (syntax-rules () + ((_ (file things ...) rest ...) + (match (search-path %load-path file) + (#f + (try rest ...)) + (absolute + (dirname* absolute things ...)))) + ((_) + #f)))) + (try ("gnu/packages/base.scm" gnu/ packages/) + ("gnu/packages.scm" gnu/) + ("guix.scm")))) (define %package-module-path ;; Search path for package modules. Each item must be either a directory diff --git a/guix/discovery.scm b/guix/discovery.scm index 7b57579023..8ffcf7cd9a 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -25,7 +25,8 @@ #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (ice-9 ftw) - #:export (scheme-modules + #:export (scheme-files + scheme-modules fold-modules all-modules fold-module-public-variables)) diff --git a/guix/self.scm b/guix/self.scm new file mode 100644 index 0000000000..c9e4a4250e --- /dev/null +++ b/guix/self.scm @@ -0,0 +1,599 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2018 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix self) + #:use-module (guix config) + #:use-module (guix i18n) + #:use-module (guix modules) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix monads) + #:use-module (guix discovery) + #:use-module (guix packages) + #:use-module (guix sets) + #:use-module (guix utils) + #:use-module (guix modules) + #:use-module (guix build utils) + #:use-module ((guix build compile) #:select (%lightweight-optimizations)) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (ice-9 match) + #:export (make-config.scm + compiled-guix + guix-derivation + reload-guix)) + + +;;; +;;; Dependency handling. +;;; + +(define* (false-if-wrong-guile package + #:optional (guile-version (effective-version))) + "Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g., +2.0 instead of 2.2), otherwise return PACKAGE." + (let ((guile (any (match-lambda + ((label (? package? dep) _ ...) + (and (string=? (package-name dep) "guile") + dep))) + (package-direct-inputs package)))) + (and (or (not guile) + (string-prefix? guile-version + (package-version guile))) + package))) + +(define (package-for-guile guile-version . names) + "Return the package with one of the given NAMES that depends on +GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches." + (let loop ((names names)) + (match names + (() + #f) + ((name rest ...) + (match (specification->package name) + (#f + (loop rest)) + ((? package? package) + (or (false-if-wrong-guile package) + (loop rest)))))))) + +(define specification->package + ;; Use our own variant of that procedure because that of (gnu packages) + ;; would traverse all the .scm files, which is wasteful. + (let ((ref (lambda (module variable) + (module-ref (resolve-interface module) variable)))) + (match-lambda + ("guile" (ref '(gnu packages commencement) 'guile-final)) + ("guile-json" (ref '(gnu packages guile) 'guile-json)) + ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) + ("guile-git" (ref '(gnu packages guile) 'guile-git)) + ("libgcrypt" (ref '(gnu packages gnupg) 'libgcrypt)) + ("zlib" (ref '(gnu packages compression) 'zlib)) + ("gzip" (ref '(gnu packages compression) 'gzip)) + ("bzip2" (ref '(gnu packages compression) 'bzip2)) + ("xz" (ref '(gnu packages compression) 'xz)) + ("guix" (ref '(gnu packages package-management) + 'guix-register))))) + + +;;; +;;; Derivations. +;;; + +;; Node in a DAG of build tasks. Each node maps to a derivation, but it's +;; easier to express things this way. +(define-record-type + (node name modules source dependencies compiled) + node? + (name node-name) ;string + (modules node-modules) ;list of module names + (source node-source) ;list of source files + (dependencies node-dependencies) ;list of nodes + (compiled node-compiled)) ;node -> lowerable object + +(define (node-fold proc init nodes) + (let loop ((nodes nodes) + (visited (setq)) + (result init)) + (match nodes + (() result) + ((head tail ...) + (if (set-contains? visited head) + (loop tail visited result) + (loop tail (set-insert head visited) + (proc head result))))))) + +(define (node-modules/recursive nodes) + (node-fold (lambda (node modules) + (append (node-modules node) modules)) + '() + nodes)) + +(define* (closure modules #:optional (except '())) + (source-module-closure modules + #:select? + (match-lambda + (('guix 'config) + #f) + ((and module + (or ('guix _ ...) ('gnu _ ...))) + (not (member module except))) + (rest #f)))) + +(define module->import + ;; Return a file-name/file-like object pair for the specified module and + ;; suitable for 'imported-files'. + (match-lambda + ((module '=> thing) + (let ((file (module-name->file-name module))) + (list file thing))) + (module + (let ((file (module-name->file-name module))) + (list file + (local-file (search-path %load-path file))))))) + +(define* (scheme-node name modules #:optional (dependencies '()) + #:key (extra-modules '()) (extra-files '()) + (extensions '()) + parallel? guile-for-build) + "Return a node that builds the given Scheme MODULES, and depends on +DEPENDENCIES (a list of nodes). EXTRA-MODULES is a list of additional modules +added to the source, and EXTRA-FILES is a list of additional files. +EXTENSIONS is a set of full-blown Guile packages (e.g., 'guile-json') that +must be present in the search path." + (let* ((modules (append extra-modules + (closure modules + (node-modules/recursive dependencies)))) + (module-files (map module->import modules)) + (source (imported-files (string-append name "-source") + (append module-files extra-files)))) + (node name modules source dependencies + (compiled-modules name source modules + (map node-source dependencies) + (map node-compiled dependencies) + #:extensions extensions + #:parallel? parallel? + #:guile-for-build guile-for-build)))) + +(define (file-imports directory sub-directory pred) + "List all the files matching PRED under DIRECTORY/SUB-DIRECTORY. Return a +list of file-name/file-like objects suitable as inputs to 'imported-files'." + (map (lambda (file) + (list (string-drop file (+ 1 (string-length directory))) + (local-file file #:recursive? #t))) + (find-files (string-append directory "/" sub-directory) pred))) + +(define (scheme-modules* directory sub-directory) + "Return the list of module names found under SUB-DIRECTORY in DIRECTORY." + (let ((prefix (string-length directory))) + (map (lambda (file) + (file-name->module-name (string-drop file prefix))) + (scheme-files (string-append directory "/" sub-directory))))) + +(define* (compiled-guix source #:key (version %guix-version) + (name (string-append "guix-" version)) + (guile-version (effective-version)) + (guile-for-build (guile-for-build guile-version)) + (libgcrypt (specification->package "libgcrypt")) + (zlib (specification->package "zlib")) + (gzip (specification->package "gzip")) + (bzip2 (specification->package "bzip2")) + (xz (specification->package "xz")) + (guix (specification->package "guix"))) + "Return a file-like object that contains a compiled Guix." + (define guile-json + (package-for-guile guile-version + "guile-json" + "guile2.2-json" + "guile2.0-json")) + + (define guile-ssh + (package-for-guile guile-version + "guile-ssh" + "guile2.2-ssh" + "guile2.0-ssh")) + + (define guile-git + (package-for-guile guile-version + "guile-git" + "guile2.0-git")) + + + (define dependencies + (match (append-map (lambda (package) + (cons (list "x" package) + (package-transitive-inputs package))) + (list guile-git guile-json guile-ssh)) + (((labels packages _ ...) ...) + packages))) + + (define *core-modules* + (scheme-node "guix-core" + '((guix) + (guix monad-repl) + (guix packages) + (guix download) + (guix discovery) + (guix profiles) + (guix build-system gnu) + (guix build-system trivial) + (guix build profiles) + (guix build gnu-build-system)) + + ;; Provide a dummy (guix config) with the default version + ;; number, storedir, etc. This is so that "guix-core" is the + ;; same across all installations and doesn't need to be + ;; rebuilt when the version changes, which in turn means we + ;; can have substitutes for it. + #:extra-modules + `(((guix config) + => ,(make-config.scm #:libgcrypt + (specification->package + "libgcrypt")))) + + #:guile-for-build guile-for-build)) + + (define *extra-modules* + (scheme-node "guix-extra" + (filter-map (match-lambda + (('guix 'scripts _ ..1) #f) + (name name)) + (scheme-modules* source "guix")) + (list *core-modules*) + #:extensions dependencies + #:guile-for-build guile-for-build)) + + (define *package-modules* + (scheme-node "guix-packages" + `((gnu packages) + ,@(scheme-modules* source "gnu/packages")) + (list *core-modules* *extra-modules*) + #:extensions dependencies + #:extra-files ;all the non-Scheme files + (file-imports source "gnu/packages" + (lambda (file stat) + (and (eq? 'regular (stat:type stat)) + (not (string-suffix? ".scm" file)) + (not (string-suffix? ".go" file)) + (not (string-prefix? ".#" file)) + (not (string-suffix? "~" file))))) + #:guile-for-build guile-for-build)) + + (define *system-modules* + (scheme-node "guix-system" + `((gnu system) + (gnu services) + ,@(scheme-modules* source "gnu/system") + ,@(scheme-modules* source "gnu/services")) + (list *package-modules* *extra-modules* *core-modules*) + #:extensions dependencies + #:extra-files + (file-imports source "gnu/system/examples" (const #t)) + #:guile-for-build + guile-for-build)) + + (define *cli-modules* + (scheme-node "guix-cli" + (scheme-modules* source "/guix/scripts") + (list *core-modules* *extra-modules* *package-modules* + *system-modules*) + #:extensions dependencies + #:guile-for-build guile-for-build)) + + (define *config* + (scheme-node "guix-config" + '() + #:extra-modules + `(((guix config) + => ,(make-config.scm #:libgcrypt libgcrypt + #:zlib zlib + #:gzip gzip + #:bzip2 bzip2 + #:xz xz + #:guix guix + #:package-name + %guix-package-name + #:package-version + version + #:bug-report-address + %guix-bug-report-address + #:home-page-url + %guix-home-page-url))) + #:guile-for-build guile-for-build)) + + (directory-union name + (append-map (lambda (node) + (list (node-source node) + (node-compiled node))) + + ;; Note: *CONFIG* comes first so that it + ;; overrides the (guix config) module that + ;; comes with *CORE-MODULES*. + (list *config* + *cli-modules* + *system-modules* + *package-modules* + *extra-modules* + *core-modules*)) + + ;; Silently choose the first entry upon collision so that + ;; we choose *CONFIG*. + #:resolve-collision 'first + + ;; When we do (add-to-store "utils.scm"), "utils.scm" must + ;; be a regular file, not a symlink. Thus, arrange so that + ;; regular files appear as regular files in the final + ;; output. + #:copy? #t + #:quiet? #t)) + + +;;; +;;; Generating (guix config). +;;; + +(define %dependency-variables + ;; (guix config) variables corresponding to dependencies. + '(%libgcrypt %libz %xz %gzip %bzip2 %nix-instantiate + %sbindir %guix-register-program)) + +(define %persona-variables + ;; (guix config) variables that define Guix's persona. + '(%guix-package-name + %guix-version + %guix-bug-report-address + %guix-home-page-url)) + +(define %config-variables + ;; (guix config) variables corresponding to Guix configuration (storedir, + ;; localstatedir, etc.) + (sort (filter pair? + (module-map (lambda (name var) + (and (not (memq name %dependency-variables)) + (not (memq name %persona-variables)) + (cons name (variable-ref var)))) + (resolve-interface '(guix config)))) + (lambda (name+value1 name+value2) + (stringstring (car name+value1)) + (symbol->string (car name+value2)))))) + +(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 guix + (package-name "GNU Guix") + (package-version "0") + (bug-report-address "bug-guix@gnu.org") + (home-page-url "https://gnu.org/s/guix")) + + ;; Hack so that Geiser is not confused. + (define defmod 'define-module) + + (scheme-file "config.scm" + #~(begin + (#$defmod (guix config) + #:export (%guix-package-name + %guix-version + %guix-bug-report-address + %guix-home-page-url + %sbindir + %libgcrypt + %libz + %gzip + %bzip2 + %xz + %nix-instantiate)) + + ;; XXX: Work around . + (eval-when (expand load eval) + #$@(map (match-lambda + ((name . value) + #~(define-public #$name #$value))) + %config-variables) + + (define %guix-package-name #$package-name) + (define %guix-version #$package-version) + (define %guix-bug-report-address #$bug-report-address) + (define %guix-home-page-url #$home-page-url) + + (define %sbindir + ;; This is used to define '%guix-register-program'. + ;; TODO: Use a derivation that builds nothing but the + ;; C++ part. + #+(and guix (file-append guix "/sbin"))) + + (define %guix-register-program + (or (getenv "GUIX_REGISTER") + (and %sbindir + (string-append %sbindir "/guix-register")))) + + (define %gzip + #+(and gzip (file-append gzip "/bin/gzip"))) + (define %bzip2 + #+(and bzip2 (file-append bzip2 "/bin/bzip2"))) + (define %xz + #+(and xz (file-append xz "/bin/xz"))) + + (define %libgcrypt + #+(and libgcrypt + (file-append libgcrypt "/lib/libgcrypt"))) + (define %libz + #+(and zlib + (file-append zlib "/lib/libz"))) + + (define %nix-instantiate ;for (guix import snix) + "nix-instantiate"))))) + + + +;;; +;;; Building. +;;; + +(define (imported-files name files) + ;; This is a non-monadic, simplified version of 'imported-files' from (guix + ;; gexp). + (define build + (with-imported-modules (source-module-closure + '((guix build utils))) + #~(begin + (use-modules (ice-9 match) + (guix build utils)) + + (mkdir (ungexp output)) (chdir (ungexp output)) + (for-each (match-lambda + ((final-path store-path) + (mkdir-p (dirname final-path)) + + ;; Note: We need regular files to be regular files, not + ;; symlinks, as this makes a difference for + ;; 'add-to-store'. + (copy-file store-path final-path))) + '#$files)))) + + (computed-file name build)) + +(define* (compiled-modules name module-tree modules + #:optional + (dependencies '()) + (dependencies-compiled '()) + #:key + (extensions '()) ;full-blown Guile packages + parallel? + guile-for-build) + ;; This is a non-monadic, enhanced version of 'compiled-file' from (guix + ;; gexp). + (define build + (with-imported-modules (source-module-closure + '((guix build compile) + (guix build utils))) + #~(begin + (use-modules (srfi srfi-26) + (ice-9 match) + (ice-9 format) + (ice-9 threads) + (guix build compile) + (guix build utils)) + + (define (regular? file) + (not (member file '("." "..")))) + + (define (report-load file total completed) + (display #\cr) + (format #t + "loading...\t~5,1f% of ~d files" ;FIXME: i18n + (* 100. (/ completed total)) total) + (force-output)) + + (define (report-compilation file total completed) + (display #\cr) + (format #t "compiling...\t~5,1f% of ~d files" ;FIXME: i18n + (* 100. (/ completed total)) total) + (force-output)) + + (define (process-directory directory output) + (let ((files (find-files directory "\\.scm$")) + (prefix (+ 1 (string-length directory)))) + ;; Hide compilation warnings. + (parameterize ((current-warning-port (%make-void-port "w"))) + (compile-files directory #$output + (map (cut string-drop <> prefix) files) + #:workers (parallel-job-count) + #:report-load report-load + #:report-compilation report-compilation)))) + + (setvbuf (current-output-port) _IONBF) + (setvbuf (current-error-port) _IONBF) + + (set! %load-path (cons #+module-tree %load-path)) + (set! %load-path + (append '#+dependencies + (map (lambda (extension) + (string-append extension "/share/guile/site/" + (effective-version))) + '#+extensions) + %load-path)) + + (set! %load-compiled-path + (append '#+dependencies-compiled + (map (lambda (extension) + (string-append extension "/lib/guile/" + (effective-version) + "/site-ccache")) + '#+extensions) + %load-compiled-path)) + + ;; Load the compiler modules upfront. + (compile #f) + + (mkdir #$output) + (chdir #+module-tree) + (process-directory "." #$output)))) + + (computed-file name build + #:guile guile-for-build + #:options + `(#:local-build? #f ;allow substitutes + + ;; Don't annoy people about _IONBF deprecation. + #:env-vars (("GUILE_WARN_DEPRECATED" . "no"))))) + + +;;; +;;; Building. +;;; + +(define (guile-for-build version) + "Return a derivation for Guile 2.0 or 2.2, whichever matches the currently +running Guile." + (define canonical-package ;soft reference + (module-ref (resolve-interface '(gnu packages base)) + 'canonical-package)) + + (match version + ("2.2.2" + ;; Gross hack to avoid ABI incompatibilities (see + ;; .) + (module-ref (resolve-interface '(gnu packages guile)) + 'guile-2.2.2)) + ("2.2" + (canonical-package (module-ref (resolve-interface '(gnu packages guile)) + 'guile-2.2/fixed))) + ("2.0" + (canonical-package (specification->package "guile@2.0"))))) + +(define* (guix-derivation source version + #:optional (guile-version (effective-version))) + "Return, as a monadic value, the derivation to build the Guix from SOURCE +for GUILE-VERSION. Use VERSION as the version string." + (define (shorten version) + (if (and (string-every char-set:hex-digit version) + (> (string-length version) 9)) + (string-take version 9) ;Git commit + version)) + + (define guile + (guile-for-build guile-version)) + + (mbegin %store-monad + (set-guile-for-build guile) + (lower-object (compiled-guix source + #:version version + #:name (string-append "guix-" + (shorten version)) + #:guile-version (match guile-version + ("2.2.2" "2.2") + (version version)) + #:guile-for-build guile)))) From f0527ce3a40e07d5f56b4b18c7eec91dbd016e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Mar 2018 17:18:15 +0100 Subject: [PATCH 215/245] build-self: Use (guix self). This mitigates . * build-aux/build-self.scm (libgcrypt, zlib, gzip, bzip2, xz) (false-if-wrong-guile, package-for-current-guile, guile-json) (guile-ssh, guile-git, guile-bytestructures, matching-guile-2.2): Remove. (%dependency-variables, %persona-variables, %config-variables): New variables. (make-config.scm, load-path-expression, gexp->script) (build-program): New procedures. (build): Rewrite to simply delegate to 'guix-derivation'. --- build-aux/build-self.scm | 430 ++++++++++++++++++++------------------- 1 file changed, 223 insertions(+), 207 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 4c85c09df6..5ec76a588f 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,10 +19,14 @@ (define-module (build-self) #:use-module (gnu) #:use-module (guix) + #:use-module (guix ui) #:use-module (guix config) + #:use-module (guix modules) #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) + #:use-module (rnrs io ports) #:use-module (ice-9 match) + #:use-module (ice-9 popen) #:export (build)) ;;; Commentary: @@ -40,242 +44,254 @@ ;;; Code: -;; The dependencies. Don't refer explicitly to the variables because they -;; could be renamed or shuffled around in modules over time. Conversely, -;; 'find-best-packages-by-name' is expected to always have the same semantics. +;;; +;;; Generating (guix config). +;;; +;;; This is copied from (guix self) because we cannot assume (guix self) is +;;; available at this point. +;;; -(define guix - (first (find-best-packages-by-name "guix" #f))) +(define %dependency-variables + ;; (guix config) variables corresponding to dependencies. + '(%libgcrypt %libz %xz %gzip %bzip2 %nix-instantiate)) -(define libgcrypt - (first (find-best-packages-by-name "libgcrypt" #f))) +(define %persona-variables + ;; (guix config) variables that define Guix's persona. + '(%guix-package-name + %guix-version + %guix-bug-report-address + %guix-home-page-url)) -(define zlib - (first (find-best-packages-by-name "zlib" #f))) +(define %config-variables + ;; (guix config) variables corresponding to Guix configuration (storedir, + ;; localstatedir, etc.) + (sort (filter pair? + (module-map (lambda (name var) + (and (not (memq name %dependency-variables)) + (not (memq name %persona-variables)) + (cons name (variable-ref var)))) + (resolve-interface '(guix config)))) + (lambda (name+value1 name+value2) + (stringstring (car name+value1)) + (symbol->string (car name+value2)))))) -(define gzip - (first (find-best-packages-by-name "gzip" #f))) +(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 + (package-name "GNU Guix") + (package-version "0") + (bug-report-address "bug-guix@gnu.org") + (home-page-url "https://gnu.org/s/guix")) -(define bzip2 - (first (find-best-packages-by-name "bzip2" #f))) + ;; Hack so that Geiser is not confused. + (define defmod 'define-module) -(define xz - (first (find-best-packages-by-name "xz" #f))) + (scheme-file "config.scm" + #~(begin + (#$defmod (guix config) + #:export (%guix-package-name + %guix-version + %guix-bug-report-address + %guix-home-page-url + %libgcrypt + %libz + %gzip + %bzip2 + %xz + %nix-instantiate)) -(define (false-if-wrong-guile package) - "Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g., -2.0 instead of 2.2), otherwise return PACKAGE." - (let ((guile (any (match-lambda - ((label (? package? dep) _ ...) - (and (string=? (package-name dep) "guile") - dep))) - (package-direct-inputs package)))) - (and (or (not guile) - (string-prefix? (effective-version) - (package-version guile))) - package))) + ;; XXX: Work around . + (eval-when (expand load eval) + #$@(map (match-lambda + ((name . value) + #~(define-public #$name #$value))) + %config-variables) -(define (package-for-current-guile . names) - "Return the package with one of the given NAMES that depends on the current -Guile major version (2.0 or 2.2), or #f if none of the packages matches." - (let loop ((names names)) - (match names - (() - #f) - ((name rest ...) - (match (find-best-packages-by-name name #f) - (() - (loop rest)) - ((first _ ...) - (or (false-if-wrong-guile first) - (loop rest)))))))) + (define %guix-package-name #$package-name) + (define %guix-version #$package-version) + (define %guix-bug-report-address #$bug-report-address) + (define %guix-home-page-url #$home-page-url) -(define guile-json - (package-for-current-guile "guile-json" - "guile2.2-json" - "guile2.0-json")) + (define %gzip + #+(and gzip (file-append gzip "/bin/gzip"))) + (define %bzip2 + #+(and bzip2 (file-append bzip2 "/bin/bzip2"))) + (define %xz + #+(and xz (file-append xz "/bin/xz"))) -(define guile-ssh - (package-for-current-guile "guile-ssh" - "guile2.2-ssh" - "guile2.0-ssh")) + (define %libgcrypt + #+(and libgcrypt + (file-append libgcrypt "/lib/libgcrypt"))) + (define %libz + #+(and zlib + (file-append zlib "/lib/libz"))) -(define guile-git - (package-for-current-guile "guile-git" - "guile2.0-git")) + (define %nix-instantiate ;for (guix import snix) + "nix-instantiate"))))) -(define guile-bytestructures - (package-for-current-guile "guile-bytestructures" - "guile2.0-bytestructures")) -;; The actual build procedure. +;;; +;;; 'gexp->script'. +;;; +;;; This is our own variant of 'gexp->script' with an extra #:module-path +;;; parameter, which was unavailable in (guix gexp) until commit +;;; 1ae16033f34cebe802023922436883867010850f (March 2018.) +;;; -(define (top-source-directory) - "Return the name of the top-level directory of this source tree." - (and=> (assoc-ref (current-source-location) 'filename) - (lambda (file) - (string-append (dirname file) "/..")))) +(define (load-path-expression modules path) + "Return as a monadic value a gexp that sets '%load-path' and +'%load-compiled-path' to point to MODULES, a list of module names. MODULES +are searched for in PATH." + (mlet %store-monad ((modules (imported-modules modules + #:module-path path)) + (compiled (compiled-modules modules + #:module-path path))) + (return (gexp (eval-when (expand load eval) + (set! %load-path + (cons (ungexp modules) %load-path)) + (set! %load-compiled-path + (cons (ungexp compiled) + %load-compiled-path))))))) +(define* (gexp->script name exp + #:key (guile (default-guile)) + (module-path %load-path)) + "Return an executable script NAME that runs EXP using GUILE, with EXP's +imported modules in its search path." + (mlet %store-monad ((set-load-path + (load-path-expression (gexp-modules exp) + module-path))) + (gexp->derivation name + (gexp + (call-with-output-file (ungexp output) + (lambda (port) + ;; Note: that makes a long shebang. When the store + ;; is /gnu/store, that fits within the 128-byte + ;; limit imposed by Linux, but that may go beyond + ;; when running tests. + (format port + "#!~a/bin/guile --no-auto-compile~%!#~%" + (ungexp guile)) + (write '(ungexp set-load-path) port) + (write '(ungexp exp) port) + (chmod port #o555)))) + #:module-path module-path))) + + (define (date-version-string) "Return the current date and hour in UTC timezone, for use as a poor person's version identifier." ;; XXX: Replace with a Git commit id. (date->string (current-date 0) "~Y~m~d.~H")) -(define (matching-guile-2.2) - "Return a Guile 2.2 with the same version as the current one or immediately -older than then current one. This is so that we do not build ABI-incompatible -objects. See ." - (let loop ((packages (find-packages-by-name "guile" "2.2")) - (best #f)) - (match packages - (() - best) - ((head tail ...) - (if (string=? (package-version head) (version)) - head - (if best - (if (version>? (package-version head) (version)) - (loop tail best) - (loop tail head)) - (loop tail head))))))) +(define* (build-program source version + #:optional (guile-version (effective-version))) + "Return a program that computes the derivation to build Guix from SOURCE." + (define select? + ;; Select every module but (guix config) and non-Guix modules. + (match-lambda + (('guix 'config) #f) + (('guix _ ...) #t) + (('gnu _ ...) #t) + (_ #f))) -(define (guile-for-build) - "Return a derivation for Guile 2.0 or 2.2, whichever matches the currently -running Guile." - (package->derivation (cond-expand - (guile-2.2 - (canonical-package (matching-guile-2.2))) - (else - (canonical-package - (specification->package "guile@2.0")))))) + (with-imported-modules `(((guix config) + => ,(make-config.scm + #:libgcrypt + (specification->package "libgcrypt"))) + ,@(source-module-closure `((guix store) + (guix self) + (guix derivations) + (gnu packages bootstrap)) + (list source) + #:select? select?)) + (gexp->script "compute-guix-derivation" + #~(begin + (use-modules (ice-9 match)) + + (eval-when (expand load eval) + ;; Don't augment '%load-path'. + (unsetenv "GUIX_PACKAGE_PATH") + + ;; (gnu packages …) modules are going to be looked up + ;; under SOURCE. (guix config) is looked up in FRONT. + (match %load-path + ((#$source _ ...) + #t) ;already done + ((front _ ...) + (set! %load-path (list #$source front)))) + + ;; Only load our own modules or those of Guile. + (match %load-compiled-path + ((front _ ... sys1 sys2) + (set! %load-compiled-path + (list front sys1 sys2))))) + + (use-modules (guix store) + (guix self) + (guix derivations) + (srfi srfi-1)) + + (define (spin system) + (define spin + (circular-list "-" "\\" "|" "/" "-" "\\" "|" "/")) + + (format (current-error-port) + "Computing Guix derivation for '~a'... " + system) + (let loop ((spin spin)) + (display (string-append "\b" (car spin)) + (current-error-port)) + (force-output (current-error-port)) + (sleep 1) + (loop (cdr spin)))) + + (match (command-line) + ((_ _ system) + (with-store store + (call-with-new-thread + (lambda () + (spin system))) + + (display + (derivation-file-name + (run-with-store store + (guix-derivation #$source #$version + #$guile-version) + #:system system))))))) + #:module-path (list source)))) ;; The procedure below is our return value. (define* (build source - #:key verbose? (version (date-version-string)) + #:key verbose? (version (date-version-string)) system + (guile-version (match ((@ (guile) version)) + ("2.2.2" "2.2.2") + (_ (effective-version)))) #:allow-other-keys #:rest rest) "Return a derivation that unpacks SOURCE into STORE and compiles Scheme files." - ;; The '%xxxdir' variables were added to (guix config) in July 2016 so we - ;; cannot assume that they are defined. Try to guess their value when - ;; they're undefined (XXX: we get an incorrect guess when environment - ;; variables such as 'NIX_STATE_DIR' are defined!). - (define storedir - (if (defined? '%storedir) %storedir %store-directory)) - (define localstatedir - (if (defined? '%localstatedir) %localstatedir (dirname %state-directory))) - (define sysconfdir - (if (defined? '%sysconfdir) %sysconfdir (dirname %config-directory))) - - (define builder - #~(begin - (use-modules (guix build pull)) - - (letrec-syntax ((maybe-load-path - (syntax-rules () - ((_ item rest ...) - (let ((tail (maybe-load-path rest ...))) - (if (string? item) - (cons (string-append item - "/share/guile/site/" - #$(effective-version)) - tail) - tail))) - ((_) - '())))) - (set! %load-path - (append - (maybe-load-path #$guile-json #$guile-ssh - #$guile-git #$guile-bytestructures) - %load-path))) - - (letrec-syntax ((maybe-load-compiled-path - (syntax-rules () - ((_ item rest ...) - (let ((tail (maybe-load-compiled-path rest ...))) - (if (string? item) - (cons (string-append item - "/lib/guile/" - #$(effective-version) - "/site-ccache") - tail) - tail))) - ((_) - '())))) - (set! %load-compiled-path - (append - (maybe-load-compiled-path #$guile-json #$guile-ssh - #$guile-git #$guile-bytestructures) - %load-compiled-path))) - - ;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was - ;; broken: libguile-ssh could not be found. Work around that. - ;; FIXME: We want Guile-SSH 0.10.2 or later anyway. - #$(if (string-prefix? "0.9." (package-version guile-ssh)) - #~(setenv "LTDL_LIBRARY_PATH" (string-append #$guile-ssh "/lib")) - #t) - - (build-guix #$output #$source - - #:system #$%system - #:storedir #$storedir - #:localstatedir #$localstatedir - #:sysconfdir #$sysconfdir - #:sbindir (string-append #$guix "/sbin") - - #:package-name #$%guix-package-name - #:package-version #$version - #:bug-report-address #$%guix-bug-report-address - #:home-page-url #$%guix-home-page-url - - #:libgcrypt #$libgcrypt - #:zlib #$zlib - #:gzip #$gzip - #:bzip2 #$bzip2 - #:xz #$xz - - ;; XXX: This is not perfect, enabling VERBOSE? means - ;; building a different derivation. - #:debug-port (if #$verbose? - (current-error-port) - (%make-void-port "w"))))) - - (unless guile-git - ;; XXX: Guix before February 2017 lacks a 'guile-git' package altogether. - ;; If we try to upgrade anyway, the logic in (guix scripts pull) will not - ;; build (guix git), which will leave us with an unusable 'guix pull'. To - ;; avoid that, fail early. - (format (current-error-port) - "\ -Your installation is too old and lacks a '~a' package. -Please upgrade to an intermediate version first, for instance with: - - guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.13.0.tar.gz -\n" - (match (effective-version) - ("2.0" "guile2.0-git") - (_ "guile-git"))) - (exit 1)) - - (mlet %store-monad ((guile (guile-for-build))) - (gexp->derivation "guix-latest" builder - #:modules '((guix build pull) - (guix build utils) - (guix build compile) - - ;; Closure of (guix modules). - (guix modules) - (guix memoization) - (guix profiling) - (guix sets)) - - ;; Arrange so that our own (guix build …) modules are - ;; used. - #:module-path (list (top-source-directory)) - - #:guile-for-build guile))) + ;; Build the build program and then use it as a trampoline to build from + ;; SOURCE. + (mlet %store-monad ((build (build-program source version guile-version)) + (system (if system (return system) (current-system)))) + (mbegin %store-monad + (show-what-to-build* (list build)) + (built-derivations (list build)) + (let ((pipe (begin + (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive + (open-pipe* OPEN_READ + (derivation->output-path build) + source system)))) + (match (get-string-all pipe) + ((? eof-object?) + (error "build program failed" build)) + ((? derivation-path? drv) + (mbegin %store-monad + (return (newline (current-output-port))) + ((store-lift add-temp-root) drv) + (return (read-derivation-from-file drv)))) + ((? string? str) + (error "invalid build result" (list build str)))))))) ;; This file is loaded by 'guix pull'; return it the build procedure. build From 2cfc8d69644af6c53fed9128425e8ff70ad4509f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 22:17:40 +0200 Subject: [PATCH 216/245] build: Add 'as-derivation' target. * build-aux/compile-as-derivation.scm: New file. * Makefile.am (as-derivation): New target. (EXTRA_DIST): Add compile-as-derivation.scm. --- Makefile.am | 10 +++++- build-aux/compile-as-derivation.scm | 53 +++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 build-aux/compile-as-derivation.scm diff --git a/Makefile.am b/Makefile.am index e4edd05d72..908115e524 100644 --- a/Makefile.am +++ b/Makefile.am @@ -470,6 +470,7 @@ EXTRA_DIST = \ build-aux/hydra/guix-modular.scm \ build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ + build-aux/compile-as-derivation.scm \ build-aux/generate-authors.scm \ build-aux/test-driver.scm \ build-aux/update-guix-package.scm \ @@ -535,6 +536,13 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA install-data-hook: set-bootstrap-executable-permissions touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" +# Assuming Guix is already installed and the daemon is up and running, this +# rule builds from $(srcdir), creating and building derivations. +as-derivation: + $(AM_V_at)echo "Building Guix in Guix..." ; \ + $(GUILE) --no-auto-compile \ + "$(top_srcdir)/build-aux/compile-as-derivation.scm" \ + "$(abs_top_srcdir)" SUBDIRS = po/guix po/packages BUILT_SOURCES = @@ -763,7 +771,7 @@ cuirass-jobs.scm: $(GOBJECTS) .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-final-inputs-self-contained -.PHONY: clean-go make-go +.PHONY: clean-go make-go as-derivation .PHONY: update-guix-package update-NEWS release ## -------------- ## diff --git a/build-aux/compile-as-derivation.scm b/build-aux/compile-as-derivation.scm new file mode 100644 index 0000000000..afb134a92a --- /dev/null +++ b/build-aux/compile-as-derivation.scm @@ -0,0 +1,53 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;; Build Guix using Guix. + +(use-modules (srfi srfi-26)) + +;; Add ~/.config/guix/latest to the search path. +(add-to-load-path + (and=> (or (getenv "XDG_CONFIG_HOME") + (and=> (getenv "HOME") + (cut string-append <> "/.config"))) + (cut string-append <> "/guix/latest"))) + +(use-modules (guix) (guix ui) + (guix git-download) + (ice-9 match)) + +(match (command-line) + ((program source) + (with-error-handling + (with-store store + (let* ((script (string-append source "/build-aux/build-self.scm")) + (build (primitive-load script)) + (git? (git-predicate source))) + (run-with-store store + ;; TODO: Extract #:version and #:commit using Guile-Git. + (mlet* %store-monad ((source (interned-file source "guix-source" + #:select? git? + #:recursive? #t)) + (drv (build source))) + (mbegin %store-monad + (show-what-to-build* (list drv)) + (built-derivations (list drv)) + (with-monad %store-monad + (display (derivation->output-path drv)) + (newline) + (return drv)))))))))) From 3c0128b035ae00462f1b0a4427d9525d750e5575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 23:42:59 +0200 Subject: [PATCH 217/245] discovery: Remove dependency on (guix ui). This reduces the closure of (guix discovery) from 28 to 8 modules. * guix/discovery.scm (scheme-files): Use 'format' instead of 'warning'. (scheme-modules): Add #:warn parameter. Use it instead of 'warn-about-load-error'. (fold-modules): Add #:warn and pass it to 'scheme-modules'. (all-modules): Likewise. * gnu/bootloader.scm (bootloader-modules): Pass #:warn to 'all-modules'. * gnu/packages.scm (fold-packages): Likewise. * gnu/services.scm (all-service-modules): Likewise. * guix/upstream.scm (importer-modules): Likewise. --- gnu/bootloader.scm | 3 ++- gnu/packages.scm | 6 ++++-- gnu/services.scm | 3 ++- guix/discovery.scm | 28 +++++++++++++++++----------- guix/upstream.scm | 5 +++-- 5 files changed, 28 insertions(+), 17 deletions(-) diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 736f119527..4f2c71cb5a 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -146,7 +146,8 @@ "Return the list of bootloader modules." (all-modules (map (lambda (entry) `(,entry . "gnu/bootloader")) - %load-path))) + %load-path) + #:warn warn-about-load-error)) (define %bootloaders ;; The list of publically-known bootloaders. diff --git a/gnu/packages.scm b/gnu/packages.scm index 44a56dfde0..1a37a17342 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016, 2017 Alex Kost @@ -159,7 +159,9 @@ for system '~a'") (define* (fold-packages proc init #:optional - (modules (all-modules (%package-module-path))) + (modules (all-modules (%package-module-path) + #:warn + warn-about-load-error)) #:key (select? (negate hidden-package?))) "Call (PROC PACKAGE RESULT) for each available package defined in one of MODULES that matches SELECT?, using INIT as the initial value of RESULT. It diff --git a/gnu/services.scm b/gnu/services.scm index 2fcacb9eb4..81af4df849 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -181,7 +181,8 @@ (define (all-service-modules) "Return the default set of service modules." (cons (resolve-interface '(gnu services)) - (all-modules (%service-type-path)))) + (all-modules (%service-type-path) + #:warn warn-about-load-error))) (define* (fold-service-types proc seed #:optional diff --git a/guix/discovery.scm b/guix/discovery.scm index 8ffcf7cd9a..2b627d108e 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (guix discovery) - #:use-module (guix ui) + #:use-module (guix i18n) #:use-module (guix modules) #:use-module (guix combinators) #:use-module (guix build syscalls) @@ -86,13 +86,18 @@ DIRECTORY is not accessible." (lambda args (let ((errno (system-error-errno args))) (unless (= errno ENOENT) - (warning (G_ "cannot access `~a': ~a~%") - directory (strerror errno))) + (format (current-error-port) ;XXX + (G_ "cannot access `~a': ~a~%") + directory (strerror errno))) '()))))) -(define* (scheme-modules directory #:optional sub-directory) +(define* (scheme-modules directory #:optional sub-directory + #:key (warn (const #f))) "Return the list of Scheme modules available under DIRECTORY. -Optionally, narrow the search to SUB-DIRECTORY." +Optionally, narrow the search to SUB-DIRECTORY. + +WARN is called when a module could not be loaded. It is passed the module +name and the exception key and arguments." (define prefix-len (string-length directory)) @@ -104,31 +109,32 @@ Optionally, narrow the search to SUB-DIRECTORY." (resolve-interface module)) (lambda args ;; Report the error, but keep going. - (warn-about-load-error module args) + (warn module args) #f)))) (scheme-files (if sub-directory (string-append directory "/" sub-directory) directory)))) -(define (fold-modules proc init path) +(define* (fold-modules proc init path #:key (warn (const #f))) "Fold over all the Scheme modules present in PATH, a list of directories. Call (PROC MODULE RESULT) for each module that is found." (fold (lambda (spec result) (match spec ((? string? directory) - (fold proc result (scheme-modules directory))) + (fold proc result (scheme-modules directory #:warn warn))) ((directory . sub-directory) (fold proc result - (scheme-modules directory sub-directory))))) + (scheme-modules directory sub-directory + #:warn warn))))) '() path)) -(define (all-modules path) +(define* (all-modules path #:key (warn (const #f))) "Return the list of package modules found in PATH, a list of directories to search. Entries in PATH can be directory names (strings) or (DIRECTORY . SUB-DIRECTORY) pairs, in which case modules are searched for beneath SUB-DIRECTORY." - (fold-modules cons '() path)) + (fold-modules cons '() path #:warn warn)) (define (fold-module-public-variables proc init modules) "Call (PROC OBJECT RESULT) for each variable exported by one of MODULES, diff --git a/guix/upstream.scm b/guix/upstream.scm index caaa0e44e4..9e1056f7a7 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015 Alex Kost ;;; ;;; This file is part of GNU Guix. @@ -153,7 +153,8 @@ correspond to the same version." (cons (resolve-interface '(guix gnu-maintenance)) (all-modules (map (lambda (entry) `(,entry . "guix/import")) - %load-path)))) + %load-path) + #:warn warn-about-load-error))) (define %updaters ;; The list of publically-known updaters. From a1ec7540be9b30593f5e83e36a0e83b1bcf337f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Mar 2018 23:11:16 +0200 Subject: [PATCH 218/245] cuirass: Factorize hydra-to-cuirass CI job translation. * build-aux/cuirass/gnu-system.scm: Move code to... * build-aux/cuirass/hydra-to-cuirass.scm: ... here, and include it. * Makefile.am (EXTRA_DIST): Add 'build-aux/cuirass/hydra-to-cuirass.scm' and 'build-aux/cuirass/gnu-system.scm'. --- Makefile.am | 2 ++ build-aux/cuirass/gnu-system.scm | 28 ++------------- build-aux/cuirass/hydra-to-cuirass.scm | 47 ++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 build-aux/cuirass/hydra-to-cuirass.scm diff --git a/Makefile.am b/Makefile.am index 908115e524..e630797b46 100644 --- a/Makefile.am +++ b/Makefile.am @@ -468,6 +468,8 @@ EXTRA_DIST = \ build-aux/hydra/gnu-system.scm \ build-aux/hydra/guix.scm \ build-aux/hydra/guix-modular.scm \ + build-aux/cuirass/gnu-system.scm \ + build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/compile-as-derivation.scm \ diff --git a/build-aux/cuirass/gnu-system.scm b/build-aux/cuirass/gnu-system.scm index f545ba03bc..0eb834cfba 100644 --- a/build-aux/cuirass/gnu-system.scm +++ b/build-aux/cuirass/gnu-system.scm @@ -21,29 +21,5 @@ ;;; tool. ;;; -(include-from-path "build-aux/hydra/gnu-system.scm") - -(use-modules ((guix licenses) - #:select (license? license-name license-uri license-comment))) - -(define (cuirass-jobs store arguments) - "Return Cuirass jobs." - (map hydra-job->cuirass-job (hydra-jobs store arguments))) - -(define (hydra-job->cuirass-job hydra-job) - (let ((name (car hydra-job)) - (job ((cdr hydra-job)))) - (lambda _ (acons #:job-name (symbol->string name) - (map symbol-alist-entry->keyword-alist-entry job))))) - -(define (symbol-alist-entry->keyword-alist-entry entry) - (cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry)))) - -(define (entry->sexp-entry o) - (match o - ((? license?) `((name . (license-name o)) - (uri . ,(license-uri o)) - (comment . ,(license-comment o)))) - ((lst ...) - (map entry->sexp-entry lst)) - (_ o))) +(include "../hydra/gnu-system.scm") +(include "hydra-to-cuirass.scm") diff --git a/build-aux/cuirass/hydra-to-cuirass.scm b/build-aux/cuirass/hydra-to-cuirass.scm new file mode 100644 index 0000000000..75c77ea35a --- /dev/null +++ b/build-aux/cuirass/hydra-to-cuirass.scm @@ -0,0 +1,47 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Jan Nieuwenhuizen +;;; +;;; 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 . + +;;; +;;; This file defines the conversion of Hydra build jobs to Cuirass build +;;; jobs. It is meant to be included in other files. +;;; + +(use-modules ((guix licenses) + #:select (license? license-name license-uri license-comment))) + +(define (cuirass-jobs store arguments) + "Return Cuirass jobs." + (map hydra-job->cuirass-job (hydra-jobs store arguments))) + +(define (hydra-job->cuirass-job hydra-job) + (let ((name (car hydra-job)) + (job ((cdr hydra-job)))) + (lambda _ (acons #:job-name (symbol->string name) + (map symbol-alist-entry->keyword-alist-entry job))))) + +(define (symbol-alist-entry->keyword-alist-entry entry) + (cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry)))) + +(define (entry->sexp-entry o) + (match o + ((? license?) `((name . (license-name o)) + (uri . ,(license-uri o)) + (comment . ,(license-comment o)))) + ((lst ...) + (map entry->sexp-entry lst)) + (_ o))) From 351f384e57939005b25fa976952e3a0e08785893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 Mar 2018 09:48:16 +0200 Subject: [PATCH 219/245] cuirass: Add job specs for the modular Guix. * build-aux/cuirass/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it. --- Makefile.am | 1 + build-aux/cuirass/guix-modular.scm | 6 ++++++ build-aux/hydra/guix-modular.scm | 7 ++++--- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 build-aux/cuirass/guix-modular.scm diff --git a/Makefile.am b/Makefile.am index e630797b46..517322b7ac 100644 --- a/Makefile.am +++ b/Makefile.am @@ -469,6 +469,7 @@ EXTRA_DIST = \ build-aux/hydra/guix.scm \ build-aux/hydra/guix-modular.scm \ build-aux/cuirass/gnu-system.scm \ + build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ diff --git a/build-aux/cuirass/guix-modular.scm b/build-aux/cuirass/guix-modular.scm new file mode 100644 index 0000000000..cbbdbf1133 --- /dev/null +++ b/build-aux/cuirass/guix-modular.scm @@ -0,0 +1,6 @@ +;;; +;;; This file defines Cuirass build jobs to build Guix itself. +;;; + +(include "../hydra/guix-modular.scm") +(include "hydra-to-cuirass.scm") diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm index bdbb2fa8d5..b6ba7040ba 100644 --- a/build-aux/hydra/guix-modular.scm +++ b/build-aux/hydra/guix-modular.scm @@ -86,15 +86,16 @@ for SYSTEM. Use VERSION as the version identifier." (list (%current-system))))) (define guix-checkout - (assq-ref arguments 'guix)) + (or (assq-ref arguments 'guix) ;Hydra on hydra + (assq-ref arguments 'guix-modular))) ;Cuirass on berlin (define version (or (assq-ref guix-checkout 'revision) "0.unknown")) (let ((file (assq-ref guix-checkout 'file-name))) - (format (current-error-port) "using checkout ~s (~s)~%" - guix-checkout file) + (format (current-error-port) "using checkout ~s (~s; arguments: ~s)~%" + guix-checkout file arguments) (map (lambda (system) (let ((name (string->symbol From 9fe95946118e9530504699360b1ca3507fa0360d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 29 Mar 2018 17:30:12 +0200 Subject: [PATCH 220/245] hydra: 'guix-modular' jobs use the new 'build-self'. * build-aux/hydra/guix-modular.scm: Remove 'eval-when' form that fiddled with '%load-path'. (build-job): Load 'build-aux/build-self.scm' and call the procedure it returns. * build-aux/hydra/evaluate.scm: The 'build-things' replacement no longer calls 'exit'. --- build-aux/hydra/evaluate.scm | 11 +++++++---- build-aux/hydra/guix-modular.scm | 32 ++++++-------------------------- 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/build-aux/hydra/evaluate.scm b/build-aux/hydra/evaluate.scm index 8e391f44fd..5793c022ff 100644 --- a/build-aux/hydra/evaluate.scm +++ b/build-aux/hydra/evaluate.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. @@ -79,7 +79,8 @@ Otherwise return THING." (match (command-line) ((command file cuirass? ...) ;; Load FILE, a Scheme file that defines Hydra jobs. - (let ((port (current-output-port))) + (let ((port (current-output-port)) + (real-build-things build-things)) (save-module-excursion (lambda () (set-current-module %user-module) @@ -93,13 +94,15 @@ Otherwise return THING." ;; Grafts can trigger early builds. We do not want that to happen ;; during evaluation, so use a sledgehammer to catch such problems. + ;; An exception, though, is the evaluation of Guix itself, which + ;; requires building a "trampoline" program. (set! build-things (lambda (store . args) (format (current-error-port) - "error: trying to build things during evaluation!~%") + "warning: building things during evaluation~%") (format (current-error-port) "'build-things' arguments: ~s~%" args) - (exit 1))) + (apply real-build-things store args))) ;; Call the entry point of FILE and print the resulting job sexp. (pretty-print diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm index b6ba7040ba..7a05c86bca 100644 --- a/build-aux/hydra/guix-modular.scm +++ b/build-aux/hydra/guix-modular.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,35 +21,14 @@ ;;; Guix as 'guix pull', which is defined in (guix self). ;;; -;; Attempt to use our very own Guix modules. -(eval-when (compile load eval) - - ;; Ignore any available .go, and force recompilation. This is because our - ;; checkout in the store has mtime set to the epoch, and thus .go files look - ;; newer, even though they may not correspond. - (set! %fresh-auto-compile #t) - - (and=> (assoc-ref (current-source-location) 'filename) - (lambda (file) - (let ((dir (canonicalize-path - (string-append (dirname file) "/../..")))) - (format (current-error-port) "prepending ~s to the load path~%" - dir) - (set! %load-path (cons dir %load-path)))))) - - (use-modules (guix store) (guix config) (guix utils) - (guix grafts) ((guix packages) #:select (%hydra-supported-systems)) (guix derivations) (guix monads) - (guix gexp) - (guix self) ((guix licenses) #:prefix license:) (srfi srfi-1) - (srfi srfi-26) (ice-9 match)) ;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output @@ -61,11 +40,12 @@ "Return a Hydra job a list building the modular Guix derivation from SOURCE for SYSTEM. Use VERSION as the version identifier." (lambda () + (define build + (primitive-load (string-append source "/build-aux/build-self.scm"))) + `((derivation . ,(derivation-file-name - (parameterize ((%graft? #f)) - (run-with-store store - (lower-object (compiled-guix source - #:version version)))))) + (run-with-store store + (build source #:version version #:system system)))) (description . "Modular Guix") (long-description . "This is the modular Guix package as produced by 'guix pull'.") From f6dfb8bb082332e3e7450d09c71b32ad5f5042c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 17:57:13 +0200 Subject: [PATCH 221/245] hydra: Clear '%load-compiled-path' for gnu-system.scm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On hydra.gnu.org GUILE_LOAD_COMPILED_PATH happened to be empty so we were fine. However on GuixSD with Cuirass, we could have a conflicting non-empty path and .go files for some of the (guix …) and (gnu …) modules would be taken from there. * build-aux/hydra/gnu-system.scm: Set %load-compiled-path. --- build-aux/hydra/gnu-system.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 8178871747..e5326c4bbd 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -32,6 +32,15 @@ ;; Use our very own Guix modules. (set! %fresh-auto-compile #t) + ;; Ignore .go files except for Guile's. This is because our checkout in the + ;; store has mtime set to the epoch, and thus .go files look newer, even + ;; though they may not correspond. Use 'reverse' so that /gnu/store/…-guile + ;; comes before /run/current-system/profile. + (set! %load-compiled-path + (list + (dirname (dirname (search-path (reverse %load-compiled-path) + "ice-9/boot-9.go"))))) + (and=> (assoc-ref (current-source-location) 'filename) (lambda (file) (let ((dir (string-append (dirname file) "/../.."))) From 16c28becf2a2fcd48f52b83dc17889587b806615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 19:51:22 +0200 Subject: [PATCH 222/245] hydra: guix-modular: Explicitly build for the latest 2.2. * build-aux/hydra/guix-modular.scm (build-job): Pass #:guile-version to 'build'. --- build-aux/hydra/guix-modular.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm index 7a05c86bca..2885759df0 100644 --- a/build-aux/hydra/guix-modular.scm +++ b/build-aux/hydra/guix-modular.scm @@ -45,7 +45,8 @@ for SYSTEM. Use VERSION as the version identifier." `((derivation . ,(derivation-file-name (run-with-store store - (build source #:version version #:system system)))) + (build source #:version version #:system system + #:guile-version "2.2")))) ;the latest 2.2.x (description . "Modular Guix") (long-description . "This is the modular Guix package as produced by 'guix pull'.") From f27a7128406f768fc8900144cafafe00aa2d7743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 21:11:37 +0200 Subject: [PATCH 223/245] build-self: Add missing 'close-pipe' call. * build-aux/build-self.scm (build): Call 'close-pipe'. --- build-aux/build-self.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 5ec76a588f..bccb7a959e 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -277,14 +277,16 @@ files." (mbegin %store-monad (show-what-to-build* (list build)) (built-derivations (list build)) - (let ((pipe (begin - (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive - (open-pipe* OPEN_READ - (derivation->output-path build) - source system)))) - (match (get-string-all pipe) + (let* ((pipe (begin + (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive + (open-pipe* OPEN_READ + (derivation->output-path build) + source system))) + (str (get-string-all pipe)) + (status (close-pipe pipe))) + (match str ((? eof-object?) - (error "build program failed" build)) + (error "build program failed" (list build status))) ((? derivation-path? drv) (mbegin %store-monad (return (newline (current-output-port))) From 98cda1b997442524ec8027fa1c1f9643eba6154b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 22:07:47 +0200 Subject: [PATCH 224/245] hydra: guix-modular: Honor the 'systems' argument. * build-aux/hydra/guix-modular.scm (hydra-jobs)[systems]: Define as in gnu-system.scm. Honor SYSTEMS. --- build-aux/hydra/guix-modular.scm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm index 2885759df0..58e09e1831 100644 --- a/build-aux/hydra/guix-modular.scm +++ b/build-aux/hydra/guix-modular.scm @@ -57,14 +57,10 @@ for SYSTEM. Use VERSION as the version identifier." (define (hydra-jobs store arguments) "Return Hydra jobs." (define systems - (match (filter-map (match-lambda - (('system . value) value) - (_ #f)) - arguments) - ((lst ..1) - lst) - (_ - (list (%current-system))))) + (match (assoc-ref arguments 'systems) + (#f %hydra-supported-systems) + ((lst ...) lst) + ((? string? str) (call-with-input-string str read)))) (define guix-checkout (or (assq-ref arguments 'guix) ;Hydra on hydra @@ -83,4 +79,4 @@ for SYSTEM. Use VERSION as the version identifier." (string-append "guix." system)))) `(,name . ,(build-job store file version system)))) - %hydra-supported-systems))) + systems))) From 9b9e7481e25515d0df77311491da2b691e94c0f3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 7 Apr 2018 02:11:29 +0200 Subject: [PATCH 225/245] gnu: libotf: Update to 0.9.16. * gnu/packages/fontutils.scm (libotf): Update to 0.9.16. --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 061e1bc0a1..27c88f9331 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -437,13 +437,13 @@ resolution.") (define-public libotf (package (name "libotf") - (version "0.9.13") + (version "0.9.16") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/m17n/libotf-" version ".tar.gz")) (sha256 - (base32 "0239zvfan56w7vrppriwy77fzb10ag9llaz15nsraps2a2x6di3v")))) + (base32 "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 9801a56e095eda5f41aa3f60bef6072524f15873 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 7 Apr 2018 02:11:50 +0200 Subject: [PATCH 226/245] gnu: libmbim: Update to 1.16.0. * gnu/packages/freedesktop.scm (libmbim): Update to 1.16.0. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 91eb37fb7a..daa5a3e0b1 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -761,7 +761,7 @@ interfaces, based on the useradd, usermod and userdel commands.") (define-public libmbim (package (name "libmbim") - (version "1.12.4") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append @@ -769,7 +769,7 @@ interfaces, based on the useradd, usermod and userdel commands.") name "-" version ".tar.xz")) (sha256 (base32 - "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv")))) + "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums From 17f93ba1223257ac6352e7d40bf7bb99b23d0b97 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 7 Apr 2018 03:27:17 +0200 Subject: [PATCH 227/245] gnu: http-parser: Update to 2.8.1. * gnu/packages/web.scm (http-parser): Update to 2.8.1. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f3213438ee..2f56585875 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5123,7 +5123,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nodejs/http-parser/" @@ -5131,7 +5131,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "17a7k3nxv2p1sp2x5d89wr51vk770753vz6qnlp2gz7nkgwwcxvj")))) + "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 33d82486d5054b6c44cc40043bb552b71bbaef42 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Apr 2018 21:53:22 +0200 Subject: [PATCH 228/245] gnu: vc: Do not optimize for the build machine CPU. * gnu/packages/maths.scm (vc)[arguments]: Add "-DTARGET_ARCHITECTURE=none" to #:configure-flags. --- gnu/packages/maths.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8db4a5594b..f4ebd886be 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3539,7 +3539,11 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") (build-system cmake-build-system) (arguments '(#:configure-flags - '("-DBUILD_TESTING=ON"))) + '("-DBUILD_TESTING=ON" + ;; By default, Vc will optimize for the CPU of the build machine. + ;; Setting this to "none" makes it create portable binaries. See + ;; "cmake/OptimizeForArchitecture.cmake". + "-DTARGET_ARCHITECTURE=none"))) (synopsis "SIMD vector classes for C++") (description "Vc provides portable, zero-overhead C++ types for explicitly data-parallel programming. It is a library designed to ease explicit From adc671450babead42c54a09fcb756118eb6741c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Apr 2018 22:32:27 +0200 Subject: [PATCH 229/245] gnu: cobol: Download NIST suite over HTTPS. Suggested by Simon Sobisch . * gnu/packages/cobol.scm (gnucobol)[inputs]: Download "newcob" over HTTPS. --- gnu/packages/cobol.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cobol.scm b/gnu/packages/cobol.scm index 752e028374..75c8c53bbe 100644 --- a/gnu/packages/cobol.scm +++ b/gnu/packages/cobol.scm @@ -59,7 +59,7 @@ ("ncurses" ,ncurses) ("newcob" ,(origin (method url-fetch) - (uri "http://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") + (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") (sha256 (base32 "1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy")))))) From ab4d1c26121ef27503b5239bc682b6f131302092 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Wed, 4 Apr 2018 20:16:09 +0200 Subject: [PATCH 230/245] gnu: Add emacs-pass. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-pass): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ac69cfa397..cb722844cc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7494,6 +7494,30 @@ used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") standard Unix password manager\").") (license license:gpl2+))) +(define-public emacs-pass + (package + (name "emacs-pass") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/NicolasPetton/pass/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0zlx9v6z0q3w9qhq9bq6vb7sli4c9x7qccm2wq55j0nw7bwy2yvj")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-password-store" ,emacs-password-store) + ("emacs-f" ,emacs-f))) + (home-page "https://github.com/NicolasPetton/pass") + (synopsis "Major mode for @file{password-store.el}") + (description "This is a major mode for managing password-store (pass) +keychains. The keychain entries are displayed in a directory-like structure +and can be consulted and modified.") + (license license:gpl3+))) + (define-public emacs-evil-anzu (package (name "emacs-evil-anzu") From 8cb2bcf7a807177d9beb979d689fe228355b51c0 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Fri, 6 Apr 2018 11:09:43 +0000 Subject: [PATCH 231/245] gnu: gnurl: Update to version 7.59.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnunet.scm (gnurl): Update to version 7.59.0. [source]: Add temporary second source at ftp.n0.is. Signed-off-by: Nils Gillmann Signed-off-by: Ludovic Courtès --- gnu/packages/gnunet.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 7f442910eb..b6062625c0 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -186,13 +186,16 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.58.0") + (version "7.59.0") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz")) + (uri (list (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz") + ;; TODO: Remove once gnurl-7.59.0 release has synced to ftp.gnu.org + (string-append "https://ftp.n0.is/pub/releases/gnurl/" + name "-" version ".tar.xz"))) (sha256 (base32 - "1yyswsz0csplqi8hlhqaxlafqn5kh5016j8k2gaxziv4cb343znx")))) + "0fdwqxs4crzj1nbq3lz0xbqjiiqpq16vpll09gryyq4c1y6lbyib")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages From 20c902f0d0024a8e8946fc42edc924c0fe3be9d2 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Sun, 8 Apr 2018 14:07:59 +0000 Subject: [PATCH 232/245] gnu: ghc-psqueues: Update to 0.2.6.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-psqueues): Update to 0.2.6.0. [arguments]: Enable tests. [home-page]: Update link. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dcb48f34de..9b26ff56f2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7822,7 +7822,7 @@ bytestrings and their hexademical representation.") (define-public ghc-psqueues (package (name "ghc-psqueues") - (version "0.2.2.3") + (version "0.2.6.0") (source (origin (method url-fetch) @@ -7831,9 +7831,8 @@ bytestrings and their hexademical representation.") "psqueues-" version ".tar.gz")) (sha256 (base32 - "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd")))) + "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls")))) (build-system haskell-build-system) - (arguments `(#:tests? #f)) ; Tests require QuickCheck < 2.10 (inputs `(("ghc-hashable" ,ghc-hashable))) (native-inputs @@ -7843,7 +7842,7 @@ bytestrings and their hexademical representation.") ("ghc-test-framework" ,ghc-test-framework) ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) - (home-page "https://github.com/bttr/psqueues") + (home-page "https://github.com/jaspervdj/psqueues") (synopsis "Pure priority search queues") (description "The psqueues package provides @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in From bebe3a4f95fa1a5f7a99b844a3bfe50d8c6e861d Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Fri, 6 Apr 2018 19:31:47 +0000 Subject: [PATCH 233/245] gnu: Add unittest-cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/check.scm (unittest-cpp): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/check.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 99c6c494ed..ce46e34bfb 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2003,3 +2003,28 @@ retried.") (define-public python2-pyhamcrest (package-with-python2 python-pyhamcrest)) + +(define-public unittest-cpp + (package + (name "unittest-cpp") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/unittest-cpp/unittest-cpp/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1fgmna2la7z4pwwy2gd10gpgi2q1fk89npjfvkmzvhkxhyc231bl")))) + (arguments + `(#:tests? #f)) ; It's run after build automatically. + (build-system cmake-build-system) + (home-page "https://github.com/unittest-cpp/unittest-cpp") + (synopsis "Lightweight unit testing framework for C++") + (description "UnitTest++ is a lightweight unit testing framework for C++. +It was designed to do test-driven development on a wide variety of platforms. +Simplicity, portability, speed, and small footprint are all very important +aspects of UnitTest++. UnitTest++ is mostly standard C++ and makes minimal use +of advanced library and language features, which means it should be easily +portable to just about any platform.") + (license license:expat))) From 71dab08dec718046e432e1fcd672566c0e67c19d Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Fri, 6 Apr 2018 19:25:19 +0000 Subject: [PATCH 234/245] gnu: Add bear. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/build-tools.scm (bear): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/build-tools.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index b1534e09a4..98d12a12f6 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Corentin Bocquillon ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages python) @@ -68,6 +70,28 @@ from scons. While scons focuses on being 100% correct when building, bam makes a few sacrifices to acquire fast full and incremental build times.") (license license:bsd-3))) +(define-public bear + (package + (name "bear") + (version "2.3.11") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rizsotto/Bear/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1m0w0wqnz983l7fpp5p9pdsqr7n3ybrzp8ywjcvn0rihsrzj65j6")))) + (build-system cmake-build-system) + (home-page "https://github.com/rizsotto/Bear") + (synopsis "Tool for generating a compilation database") + (description "A JSON compilation database is used in the Clang project to +provide information on how a given compilation unit is processed. With this, +it is easy to re-run the compilation with alternate programs. Bear is used to +generate such a compilation database.") + (license license:gpl3+))) + (define-public meson (package (name "meson") From df154c05dc65025eac2d14ab45699b34c7a1c7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Apr 2018 00:00:58 +0200 Subject: [PATCH 235/245] hydra: Fix uses of 'eval-when'. * build-aux/hydra/gnu-system.scm: Use (expand load eval) in 'eval-when' clause so as to not poison a cat and to ensure %load-compiled-path is properly set when the 'use-modules' clauses are expanded. * build-aux/hydra/guix.scm: Likewise. --- build-aux/hydra/gnu-system.scm | 2 +- build-aux/hydra/guix.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index e5326c4bbd..62eb957f83 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -24,7 +24,7 @@ (use-modules (system base compile)) -(eval-when (compile load eval) +(eval-when (expand load eval) ;; Pre-load the compiler so we don't end up auto-compiling it. (compile #t) diff --git a/build-aux/hydra/guix.scm b/build-aux/hydra/guix.scm index 659b8bfbc1..08193ec82e 100644 --- a/build-aux/hydra/guix.scm +++ b/build-aux/hydra/guix.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +22,7 @@ ;;; ;; Attempt to use our very own Guix modules. -(eval-when (compile load eval) +(eval-when (expand load eval) ;; Ignore any available .go, and force recompilation. This is because our ;; checkout in the store has mtime set to the epoch, and thus .go files look From 4d332846f0674e453393c7e940ec9c350b58020b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Apr 2018 00:13:47 -0400 Subject: [PATCH 236/245] gnu: linux-libre@4.4: Update to 4.4.127. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.127. --- 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 a01edf73d3..7cf34e15aa 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.126" - "03arqqx8qsjadnk7mhhnr59j2vmbpkmrwi86md2n4c8bqja8fgnq" + (make-linux-libre "4.4.127" + "1av536sp6ancx0fy71wpmqv4r66pksrcjbnrcjggard6im4c8pjy" %intel-compatible-systems #:configuration-file kernel-config)) From 615d923d1fb26eb4ad8e4c773592519ae7820a66 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Apr 2018 00:14:28 -0400 Subject: [PATCH 237/245] gnu: linux-libre@4.9: Update to 4.9.93. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.93. --- 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 7cf34e15aa..3223929491 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.92" - "1v4mf5mcqc5axbld38qn31pivy6mi80xci81wk128yhlby6w0yj7" + (make-linux-libre "4.9.93" + "0flmsh4xy7ymyzwm8y4x4id798mx6vy3d6ala7x1bq41hf00075p" %intel-compatible-systems #:configuration-file kernel-config)) From 9b8cd09e46133a84766e8d3f007e1c9a0e019606 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Apr 2018 00:15:36 -0400 Subject: [PATCH 238/245] gnu: linux-libre@4.14: Update to 4.14.33. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.33. (%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 3223929491..551040626d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.32") -(define %linux-libre-4.14-hash "0xqqd9s35xqxp72l93jr26vjcbwxlxmpmk8b5p9jipql9a81a1x8") +(define %linux-libre-4.14-version "4.14.33") +(define %linux-libre-4.14-hash "0ps9whsxc20gw5ags18rgkwgy6fzg66by70g8xjds7nijpzgl69m") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 2e5a9c58ad12498e075576dc52a43a91aaaf8478 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Apr 2018 00:27:43 -0400 Subject: [PATCH 239/245] gnu: linux-libre: Update to 4.15.16. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.16. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 551040626d..0aeb919f36 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.15") -(define %linux-libre-hash "14pjdwj6n7j8wpjrwlj261s5bxf4861d6w42agrz8ilznhi11niy") +(define %linux-libre-version "4.15.16") +(define %linux-libre-hash "1nzdaypvw8abas6xr6ijk2wc9f0b6q72xw6ypalwx33p7sdqwrzq") (define-public linux-libre (make-linux-libre %linux-libre-version From 81d98d7ef2984cd06bcacbc35bf6b8d132916e08 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Apr 2018 02:19:34 -0400 Subject: [PATCH 240/245] gnu: linux-libre: Add flex and bison to native-inputs. * gnu/packages/linux.scm (make-linux-libre)[native-inputs]: Add flex and bison. --- gnu/packages/linux.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0aeb919f36..c4aee1fe5b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -284,6 +284,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("bc" ,bc) ("openssl" ,openssl) ("kmod" ,kmod) + ("flex" ,flex) + ("bison" ,bison) ;; On x86, build with GCC-7 for full retpoline support. ;; FIXME: Remove this when our default compiler has retpoline support. ,@(match (system->linux-architecture From 78602fad579cd73e26eb44e8ea4538ee88409e8b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Apr 2018 21:00:59 -0400 Subject: [PATCH 241/245] gnu: linux-libre: Add elfutils to native-inputs. Suggested by Leo Famulari * gnu/packages/linux.scm (make-linux-libre)[native-inputs]: Add elfutils. --- gnu/packages/linux.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c4aee1fe5b..de8dc572de 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -284,6 +284,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("bc" ,bc) ("openssl" ,openssl) ("kmod" ,kmod) + ("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION ("flex" ,flex) ("bison" ,bison) ;; On x86, build with GCC-7 for full retpoline support. From 1825ce8063289742a395f0fd3966a6522a9225dd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 9 Apr 2018 00:38:06 -0400 Subject: [PATCH 242/245] gnu: eyeD3: Update to 0.8.5. * gnu/packages/mp3.scm (eyed3): Update to 0.8.5. [source]: Use pypi-uri. [propagated-inputs]: Add python-magic and python-pathlib. --- gnu/packages/mp3.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index f57ebf575a..2b3af51c4f 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -468,21 +468,21 @@ compression format (.mpc files).") (define-public eyed3 (package (name "eyed3") - (version "0.8") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append - "http://eyed3.nicfit.net/releases/eyeD3-" - version ".tar.gz")) + (uri (pypi-uri "eyeD3" version)) (sha256 (base32 - "1dcswb0f6w3b05s1v43pq8fmavkd5g88ysndn9160wlaa1v9n40h")))) + "0rkx859z82wqnfb0dzpa1647cq43aqb39ri9rd5r3jz597qr9zdd")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; the required test data contains copyrighted material. (propagated-inputs - `(("python-six" ,python-six) - ("python-grako" ,python-grako))) + `(("python-grako" ,python-grako) + ("python-magic" ,python-magic) + ("python-pathlib" ,python-pathlib) + ("python-six" ,python-six))) (synopsis "MP3 tag ID3 metadata editor") (description "eyeD3 is a Python tool for working with audio files, specifically mp3 files containing ID3 metadata (i.e. song info). It provides a From 593e9da137395c5bb29c420e4c36f590885aa39d Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 9 Apr 2018 09:13:14 +0200 Subject: [PATCH 243/245] gnu: mgba: Update to 0.6.2. * gnu/packages/emulators.scm (mgba): Update to 0.6.2. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 9d8e7fa1ae..a1e1800ae8 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -398,7 +398,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/mgba-emu/mgba/archive/" @@ -406,7 +406,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w")) + "0x7a9i1jdic3haf5fkd7x16vwqpf4jqdiw56a5fc4gx4jhn9yhi2")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. From 7e4f6f131ed2270f1c53ead666f266a77c93d1a1 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 9 Apr 2018 11:24:59 +0200 Subject: [PATCH 244/245] gnu: retroarch: Update checksum. * gnu/packages/emulators.scm (retroarch): Update checksum. --- gnu/packages/emulators.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index a1e1800ae8..1784111cdf 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1058,7 +1058,7 @@ emulation community. It provides highly accurate emulation.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz")))) + (base32 "1wykv0w0kdlh7lh0k1ig0lpk5vh4c7r19jlfa9103jmjlryrq679")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests From 60e1de6d95bd32b4996c199708541781b8f828fd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 9 Apr 2018 09:03:16 -0400 Subject: [PATCH 245/245] gnu: chromaprint: Fix typo. * gnu/packages/mp3.scm (chromaprint): Fix typo. --- gnu/packages/mp3.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 2b3af51c4f..49313123c5 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -514,7 +514,7 @@ command-line tool.") ;; requires one of FFmpeg (prefered), FFTW3 or vDSP ;; use the same ffmpeg version as for acoustid-fingerprinter `(("ffmpeg" ,ffmpeg) - ("boots" ,boost))) + ("boost" ,boost))) (home-page "https://acoustid.org/chromaprint") (synopsis "Audio fingerprinting library") (description "Chromaprint is a library for calculating audio