From aa901521e4e5625dd8a63e67a64be2f562ca61c7 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic <dannym@scratchpost.org> Date: Fri, 31 May 2019 13:27:35 +0200 Subject: [PATCH 01/69] linux-boot: Fix e2fsck warning. * gnu/build/linux-boot.scm (boot-system): Fix e2fsck warning. --- gnu/build/linux-boot.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index a35d18ad7c..03f2ea245c 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -517,6 +517,8 @@ upon error." (unless (pre-mount) (error "pre-mount actions failed"))) + (setenv "EXT2FS_NO_MTAB_OK" "1") + (if root ;; The "--root=SPEC" kernel command-line option always provides a ;; string, but the string can represent a device, a UUID, or a @@ -533,6 +535,8 @@ upon error." (for-each mount-file-system (remove root-mount-point? mounts)) + (setenv "EXT2FS_NO_MTAB_OK" #f) + (if to-load (begin (switch-root "/root") From 5b315f3ea93020df52bc11105064a1398687e572 Mon Sep 17 00:00:00 2001 From: Robert Vollmert <rob@vllmrt.net> Date: Mon, 27 May 2019 22:07:31 +0200 Subject: [PATCH 02/69] guix: import: simplify recursive import This simplifies the logic of recursive-import, intending no major functional changes. The package import function is no longer called twice per package. Failed imports now make it to the package stream as '() instead of #f. * guix/import/utils.scm (recursive-import): Simplify. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> --- guix/import/utils.scm | 85 ++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 53 deletions(-) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 516c0cfaa2..d0dffe9b04 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -378,57 +379,35 @@ separated by PRED." #:allow-other-keys) "Generate a stream of package expressions for PACKAGE-NAME and all its dependencies." - (receive (package . dependencies) - (repo->guix-package package-name repo) - (if (not package) - stream-null + (define (exists? dependency) + (not (null? (find-packages-by-name (guix-name dependency))))) + (define initial-state (list #f (list package-name) (list))) + (define (step state) + (match state + ((prev (next . rest) done) + (define (handle? dep) + (and + (not (equal? dep next)) + (not (member dep done)) + (not (exists? dep)))) + (receive (package . dependencies) (repo->guix-package next repo) + (list + (if package package '()) ;; default #f on failure would interrupt + (if package + (lset-union equal? rest (filter handle? (car dependencies))) + rest) + (cons next done)))) + ((prev '() done) + (list #f '() done)))) - ;; Generate a lazy stream of package expressions for all unknown - ;; dependencies in the graph. - (let* ((make-state (lambda (queue done) - (cons queue done))) - (next (match-lambda - (((next . rest) . done) next))) - (imported (match-lambda - ((queue . done) done))) - (done? (match-lambda - ((queue . done) - (zero? (length queue))))) - (unknown? (lambda* (dependency #:optional (done '())) - (and (not (member dependency - done)) - (null? (find-packages-by-name - (guix-name dependency)))))) - (update (lambda (state new-queue) - (match state - (((head . tail) . done) - (make-state (lset-difference - equal? - (lset-union equal? new-queue tail) - done) - (cons head done))))))) - (stream-cons - package - (stream-unfold - ;; map: produce a stream element - (lambda (state) - (repo->guix-package (next state) repo)) - - ;; predicate - (negate done?) - - ;; generator: update the queue - (lambda (state) - (receive (package . dependencies) - (repo->guix-package (next state) repo) - (if package - (update state (filter (cut unknown? <> - (cons (next state) - (imported state))) - (car dependencies))) - ;; TODO: Try the other archives before giving up - (update state (imported state))))) - - ;; initial state - (make-state (filter unknown? (car dependencies)) - (list package-name)))))))) + ;; Generate a lazy stream of package expressions for all unknown + ;; dependencies in the graph. + (stream-unfold + ;; map: produce a stream element + (match-lambda ((latest queue done) latest)) + ;; predicate + (match-lambda ((latest queue done) latest)) + ;; generator: update the queue + step + ;; initial state + (step initial-state))) From 1f889a59020f497fcbef8c51586aa73cfa06798a Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Thu, 30 May 2019 13:52:26 +0200 Subject: [PATCH 03/69] gnu: libevent: Update home page. * gnu/packages/libevent.scm (libevent)[home-page]: Use HTTPS. --- gnu/packages/libevent.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index bb96fd6abf..466e474c29 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -58,7 +58,7 @@ `(("python" ,python-2))) ; for 'event_rpcgen.py' (native-inputs `(("which" ,which))) - (home-page "http://libevent.org/") + (home-page "https://libevent.org/") (synopsis "Event notification library") (description "The libevent API provides a mechanism to execute a callback From d3e3a6adcd77abdf6c8253b5c13ac0d3a3d80fdd Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Thu, 30 May 2019 13:55:44 +0200 Subject: [PATCH 04/69] gnu: Remove libevent@2.0. * gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch, gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch, gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch, gnu/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch, gnu/packages/patches/libevent-dns-tests.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/libevent.scm (libevevent-2.0): Remove variable. --- gnu/local.mk | 5 --- gnu/packages/libevent.scm | 21 ---------- .../patches/libevent-2.0-CVE-2016-10195.patch | 41 ------------------- .../patches/libevent-2.0-CVE-2016-10196.patch | 41 ------------------- .../patches/libevent-2.0-CVE-2016-10197.patch | 39 ------------------ ...2.0-evbuffer-add-use-last-with-datap.patch | 38 ----------------- gnu/packages/patches/libevent-dns-tests.patch | 16 -------- 7 files changed, 201 deletions(-) delete mode 100644 gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch delete mode 100644 gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch delete mode 100644 gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch delete mode 100644 gnu/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch delete mode 100644 gnu/packages/patches/libevent-dns-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 55a8fcd361..b0992547b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -985,11 +985,6 @@ dist_patch_DATA = \ %D%/packages/patches/libcroco-CVE-2017-7960.patch \ %D%/packages/patches/libcroco-CVE-2017-7961.patch \ %D%/packages/patches/libdrm-symbol-check.patch \ - %D%/packages/patches/libevent-dns-tests.patch \ - %D%/packages/patches/libevent-2.0-CVE-2016-10195.patch \ - %D%/packages/patches/libevent-2.0-CVE-2016-10196.patch \ - %D%/packages/patches/libevent-2.0-CVE-2016-10197.patch \ - %D%/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch \ %D%/packages/patches/libexif-CVE-2016-6328.patch \ %D%/packages/patches/libexif-CVE-2017-7544.patch \ %D%/packages/patches/libgcrypt-make-yat2m-reproducible.patch \ diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 466e474c29..7982a12dfd 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -72,27 +72,6 @@ then add or remove events dynamically without having to change the event loop.") (license bsd-3))) -(define-public libevent-2.0 - (package - (inherit libevent) - (version "2.0.22") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/libevent/libevent/releases/download/release-" - version "-stable/libevent-" version "-stable.tar.gz")) - (sha256 - (base32 - "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki")) - (patches - (search-patches - "libevent-dns-tests.patch" - "libevent-2.0-CVE-2016-10195.patch" - "libevent-2.0-CVE-2016-10196.patch" - "libevent-2.0-CVE-2016-10197.patch" - "libevent-2.0-evbuffer-add-use-last-with-datap.patch")))) - (arguments '()))) - (define-public libev (package (name "libev") diff --git a/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch b/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch deleted file mode 100644 index bffe2c454c..0000000000 --- a/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix CVE-2016-10195 (buffer overread in libevent's DNS code): - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10195 -https://github.com/libevent/libevent/issues/317 - -Patch copied from upstream source repository: - -https://github.com/libevent/libevent/commit/96f64a022014a208105ead6c8a7066018449d86d - -From 3c570970516f48da35f42fef98276531fcc0abaa Mon Sep 17 00:00:00 2001 -From: Azat Khuzhin <a3at.mail@gmail.com> -Date: Mon, 1 Feb 2016 17:32:09 +0300 -Subject: [PATCH] evdns: name_parse(): fix remote stack overread - ---- - evdns.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/evdns.c b/evdns.c -index 60b10485..137c24ea 100644 ---- a/evdns.c -+++ b/evdns.c -@@ -960,7 +960,6 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { - - for (;;) { - u8 label_len; -- if (j >= length) return -1; - GET8(label_len); - if (!label_len) break; - if (label_len & 0xc0) { -@@ -981,6 +980,7 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { - *cp++ = '.'; - } - if (cp + label_len >= end) return -1; -+ if (j + label_len > length) return -1; - memcpy(cp, packet + j, label_len); - cp += label_len; - j += label_len; --- -2.11.0 - diff --git a/gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch b/gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch deleted file mode 100644 index 03f96e938b..0000000000 --- a/gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix CVE-2016-10196 (buffer overflow in evutil): - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10196 -https://github.com/libevent/libevent/issues/318 - -Patch copied from upstream source repository: - -https://github.com/libevent/libevent/commit/329acc18a0768c21ba22522f01a5c7f46cacc4d5 - -From 28bdc2f3f62259d21ccaf7be2b60ef0a53e6f342 Mon Sep 17 00:00:00 2001 -From: Azat Khuzhin <a3at.mail@gmail.com> -Date: Sun, 31 Jan 2016 00:57:16 +0300 -Subject: [PATCH] evutil_parse_sockaddr_port(): fix buffer overflow - ---- - evutil.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/evutil.c b/evutil.c -index 33445170..e2dfe6e4 100644 ---- a/evutil.c -+++ b/evutil.c -@@ -1808,12 +1808,12 @@ evutil_parse_sockaddr_port(const char *ip_as_string, struct sockaddr *out, int * - - cp = strchr(ip_as_string, ':'); - if (*ip_as_string == '[') { -- int len; -+ size_t len; - if (!(cp = strchr(ip_as_string, ']'))) { - return -1; - } -- len = (int) ( cp-(ip_as_string + 1) ); -- if (len > (int)sizeof(buf)-1) { -+ len = ( cp-(ip_as_string + 1) ); -+ if (len > sizeof(buf)-1) { - return -1; - } - memcpy(buf, ip_as_string+1, len); --- -2.11.0 - diff --git a/gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch b/gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch deleted file mode 100644 index c62a328627..0000000000 --- a/gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fix CVE-2016-10197 (out of bounds read on empty hostnames in evdns): - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10197 -https://github.com/libevent/libevent/issues/332 - -Patch copied from upstream source repository: - -https://github.com/libevent/libevent/commit/ec65c42052d95d2c23d1d837136d1cf1d9ecef9e - -From a0305cec166a5bc89f1eb362510cc4cd25ecc0bc Mon Sep 17 00:00:00 2001 -From: Azat Khuzhin <a3at.mail@gmail.com> -Date: Fri, 25 Mar 2016 00:33:47 +0300 -Subject: [PATCH] evdns: fix searching empty hostnames - ---- - evdns.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/evdns.c b/evdns.c -index 137c24ea..6191c677 100644 ---- a/evdns.c -+++ b/evdns.c -@@ -3122,9 +3122,12 @@ search_set_from_hostname(struct evdns_base *base) { - static char * - search_make_new(const struct search_state *const state, int n, const char *const base_name) { - const size_t base_len = strlen(base_name); -- const char need_to_append_dot = base_name[base_len - 1] == '.' ? 0 : 1; -+ char need_to_append_dot; - struct search_domain *dom; - -+ if (!base_len) return NULL; -+ need_to_append_dot = base_name[base_len - 1] == '.' ? 0 : 1; -+ - for (dom = state->head; dom; dom = dom->next) { - if (!n--) { - /* this is the postfix we want */ --- -2.11.0 - diff --git a/gnu/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch b/gnu/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch deleted file mode 100644 index 0253700bf6..0000000000 --- a/gnu/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a8769ef12d7e223e33fc47bed03fba2bfa2f3536 Mon Sep 17 00:00:00 2001 -From: Marcus Sundberg <marcus@marcussundberg.com> -Date: Sat, 26 Mar 2016 20:11:43 +0100 -Subject: [PATCH] evbuffer_add: Use last_with_datap if set, not last. - -evbuffer_add() would always put data in the last chain, even if there -was available space in a previous chain, and in doing so it also -failed to update last_with_datap, causing subsequent calls to other -functions that do look at last_with_datap to add data in the middle -of the evbuffer instead of at the end. - -Fixes the evbuffer_add() part of issue #335, and the evbuffer/add2 and -evbuffer/add3 tests, and also prevents wasting space available in the -chain pointed to by last_with_datap. ---- - buffer.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/buffer.c b/buffer.c -index 7cca0e8a..f378b731 100644 ---- a/buffer.c -+++ b/buffer.c -@@ -1732,7 +1732,11 @@ evbuffer_add(struct evbuffer *buf, const void *data_in, size_t datlen) - goto done; - } - -- chain = buf->last; -+ if (*buf->last_with_datap == NULL) { -+ chain = buf->last; -+ } else { -+ chain = *buf->last_with_datap; -+ } - - /* If there are no chains allocated for this buffer, allocate one - * big enough to hold all the data. */ --- -2.12.0 - diff --git a/gnu/packages/patches/libevent-dns-tests.patch b/gnu/packages/patches/libevent-dns-tests.patch deleted file mode 100644 index 6ff8aaaa7b..0000000000 --- a/gnu/packages/patches/libevent-dns-tests.patch +++ /dev/null @@ -1,16 +0,0 @@ -Disable tests that rely on usable DNS lookups, which aren't available -in build chroots. - ---- libevent-2.0.21-stable/test/regress_dns.c 2013-01-20 22:32:09.000000000 +0100 -+++ libevent-2.0.21-stable/test/regress_dns.c 2013-01-20 22:32:30.000000000 +0100 -@@ -1827,10 +1827,6 @@ end: - - struct testcase_t dns_testcases[] = { - DNS_LEGACY(server, TT_FORK|TT_NEED_BASE), -- DNS_LEGACY(gethostbyname, TT_FORK|TT_NEED_BASE|TT_NEED_DNS), -- DNS_LEGACY(gethostbyname6, TT_FORK|TT_NEED_BASE|TT_NEED_DNS), -- DNS_LEGACY(gethostbyaddr, TT_FORK|TT_NEED_BASE|TT_NEED_DNS), -- { "resolve_reverse", dns_resolve_reverse, TT_FORK, NULL, NULL }, - { "search", dns_search_test, TT_FORK|TT_NEED_BASE, &basic_setup, NULL }, - { "search_cancel", dns_search_cancel_test, - TT_FORK|TT_NEED_BASE, &basic_setup, NULL }, From 3c75c66cf377df17336ef730c7700f4c84022704 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Fri, 31 May 2019 21:48:49 +0200 Subject: [PATCH 05/69] gnu: libsodium: Update to 1.0.18. * gnu/packages/crypto.scm (libsodium): Update to 1.0.18. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 1d145ef4c7..53137e90e9 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -75,7 +75,7 @@ (define-public libsodium (package (name "libsodium") - (version "1.0.17") + (version "1.0.18") (source (origin (method url-fetch) (uri (list (string-append @@ -86,7 +86,7 @@ "releases/old/libsodium-" version ".tar.gz"))) (sha256 (base32 - "1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc")))) + "1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g")))) (build-system gnu-build-system) (synopsis "Portable NaCl-based crypto library") (description From 0abafc468c94fec493fe1684e0c25d5a51c0a09e Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Fri, 31 May 2019 21:49:08 +0200 Subject: [PATCH 06/69] gnu: GnuPG: Update to 2.2.16. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.16. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 2ee65015a6..ba8d31eb25 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -224,14 +224,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.15") + (version "2.2.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "0m6lyphbb20i84isdxzfhcbzyc682hdrdv4aqkzmhrdksycf536b")))) + "1jqlzp9b3kpfp1dkjqskm67jjrhvf9nh3lzf45321p7m9d2qvgkc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 618c7d668211593a3c4974312bd65a2fa0d311da Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Fri, 31 May 2019 21:49:27 +0200 Subject: [PATCH 07/69] gnu: python-cryptography: Update to 2.7. * gnu/packages/python-crypto.scm (python-cryptography-vectors, python-cryptography): Update to 2.7. --- gnu/packages/python-crypto.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 6248be0c9b..d9065e8b15 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -357,14 +357,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.6.1") + (version "2.7") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1bsqcv3h49dzqnyn29ijq8r7k1ra8ikl1y9qcpcns9nbvhaq3wq3")))) + "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -379,14 +379,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.6.1") + (version "2.7") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16")))) + "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) From 106deba71e109b2a877e42b14bb84c39e9e03606 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Fri, 31 May 2019 21:51:48 +0200 Subject: [PATCH 08/69] gnu: xorg-server: Update to 1.20.5. * gnu/packages/xorg.scm (xorg-server): Update to 1.20.5. (xorg-server-for-tests): Stay on 1.20.4. --- gnu/packages/xorg.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ae28e38adb..27966f038a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5067,7 +5067,7 @@ over Xlib, including: (define-public xorg-server (package (name "xorg-server") - (version "1.20.4") + (version "1.20.5") (source (origin (method url-fetch) @@ -5076,7 +5076,7 @@ over Xlib, including: "xorg-server-" version ".tar.bz2")) (sha256 (base32 - "1vk6j7hmigfill9x8m7a6vvgb3s50ji2yf6yprbgqfz9xf9x83zy")) + "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8")) (patches (list ;; See: @@ -5198,7 +5198,16 @@ draggable titlebars and borders.") (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server)))) + (inherit xorg-server) + (version "1.20.4") + (source (origin + (inherit (package-source xorg-server)) + (uri (string-append + "mirror://xorg/individual/xserver/" + "xorg-server-" version ".tar.bz2")) + (sha256 + (base32 + "1vk6j7hmigfill9x8m7a6vvgb3s50ji2yf6yprbgqfz9xf9x83zy"))))))) (define-public xorg-server-xwayland (package From 2f92678c7053d9490d81729c3662ff8ff6a7d9aa Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:21:14 +0200 Subject: [PATCH 09/69] gnu: re2: Update to 2019-06-01. * gnu/packages/regex.scm (re2): Update to 2019-06-01. --- gnu/packages/regex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index f37fb064a2..a64944080b 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -30,7 +30,7 @@ (define-public re2 (package (name "re2") - (version "2019-04-01") + (version "2019-06-01") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "018b8z3fgcr02rmhxdz80r363k40938cbgmk1c9b46k6xkc4q0hd")))) + "01613z66wgiffdngbq3031rwd92jf87j93h7y5mn8hlx19gg5k4j")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From c84366916fb541572df12dc3cb5b447fb1112fa6 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:39:53 +0200 Subject: [PATCH 10/69] gnu: libgphoto2: Update to 2.5.23. * gnu/packages/photo.scm (libgphoto2): Update to 2.5.23. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 2bf53d1c1e..e5a8926645 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -132,14 +132,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.22") + (version "2.5.23") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "0n6f6nagys775ib483nka1sbclhkm1dz3n5z3lgaz1m9m5x35mqm")))) + "0bc5x2bkqbfi4hbkz8ab5xc0bkks9vvks1vygxhdh3x498v27byq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From ee82f80df35de8da1c87038d320633e34d21bde4 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:40:11 +0200 Subject: [PATCH 11/69] gnu: gphoto2: Update to 2.5.23. * gnu/packages/photo.scm (gphoto2): Update to 2.5.23. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index e5a8926645..b2e3edca18 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -163,14 +163,14 @@ from digital cameras.") (define-public gphoto2 (package (name "gphoto2") - (version "2.5.20") + (version "2.5.23") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/gphoto/" version "/gphoto2-" version ".tar.bz2")) (sha256 (base32 - "1xj80abkzvqrd6g1j1q946lhbp03gyapyxdwbhc0y14g1ash6vx3")))) + "1laqwhxr0xhbykmp0dhd3j4rr2lhj5y228s31afnqxp700hhk1yz")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 558c733044e9da7818cd1cf81cd7d4f697908d04 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:42:02 +0200 Subject: [PATCH 12/69] gnu: OpenSSL@1.1: Update to 1.1.1c. * gnu/packages/tls.scm (openssl-next): Update to 1.1.1c. --- 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 bb82efba5d..8e20101e51 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -410,7 +410,7 @@ required structures.") (package (inherit openssl) (name "openssl") - (version "1.1.1b") + (version "1.1.1c") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -423,7 +423,7 @@ required structures.") (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "0jza8cmznnyiia43056dij1jdmz62dx17wsn0zxksh9h6817nmaw")))) + "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn")))) (outputs '("out" "doc" ; 6.8 MiB of man3 pages and full HTML documentation "static")) ; 6.4 MiB of .a files From cc1f240e117e257262cfaa8a18b044a4e3e20fcd Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:46:00 +0200 Subject: [PATCH 13/69] gnu: Django: Update to 1.11.21 [fixes CVE-2019-12308, CVE-2019-11358]. * gnu/packages/django.scm (python-django): Update to 1.11.21. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 2ef50bd0f7..dcef7370bd 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -41,13 +41,13 @@ (define-public python-django (package (name "python-django") - (version "1.11.20") + (version "1.11.21") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "0h90kdq8r4y8wa73hdxmyy5psnwlg61dcq3qsa098cpfiyh9vaa3")))) + "0adhcw8sx2mgwk9y2j760y96pqbip1ni3sf2v2ls5zxc9x93wwms")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) From f319409be0dd93b4a8aac5744f21512be2a00ed0 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 17:53:42 +0200 Subject: [PATCH 14/69] gnu: Cython: Update home page. * gnu/packages/python-xyz.scm (python-cython)[home-page]: Use HTTPS. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0e479d45e7..396010c646 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3163,7 +3163,7 @@ provides additional functionality on the produced Mallard documents.") (replace 'check (lambda _ (invoke "python" "runtests.py" "-vv")))))) - (home-page "http://cython.org/") + (home-page "https://cython.org/") (synopsis "C extensions for Python") (description "Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language. It makes From d00b83fb8a49581f08dc5676322c5decdcc64dfd Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 18:31:05 +0200 Subject: [PATCH 15/69] gnu: python-soupsieve: Fix python2 variant. * gnu/packages/python-xyz.scm (python-soupsieve)[properties]: New field. (python2-soupsieve): Inherit using STRIP-PYTHON2-VARIANT. [propagated-inputs]: Inherit from BASE. --- gnu/packages/python-xyz.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 396010c646..bd706703c8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5443,14 +5443,17 @@ Soup 4. It aims to provide selecting, matching, and filtering using modern CSS selectors. Soup Sieve currently provides selectors from the CSS level 1 specifications up through the latest CSS level 4 drafts and beyond (though some are not yet implemented).") + (properties `((python2-variant . ,(delay python2-soupsieve)))) (license license:expat))) (define-public python2-soupsieve - (let ((base (package-with-python2 python-soupsieve))) + (let ((base (package-with-python2 (strip-python2-variant python-soupsieve)))) (package (inherit base) (propagated-inputs - `(("python2-backports-functools-lru-cache" ,python2-backports-functools-lru-cache)))))) + `(("python2-backports-functools-lru-cache" + ,python2-backports-functools-lru-cache) + ,@(package-propagated-inputs base)))))) (define-public python-netifaces (package From abb53e6f871cbf79fe24b7052fb41c8aff2f65ac Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 18:32:56 +0200 Subject: [PATCH 16/69] gnu: python-beautifulsoup4: Update to 4.7.1. * gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.7.1. [native-inputs]: Add PYTHON-SOUPSIEVE. --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bd706703c8..809f594520 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5381,14 +5381,14 @@ libxml2 and libxslt.") (define-public python-beautifulsoup4 (package (name "python-beautifulsoup4") - (version "4.6.3") + (version "4.7.1") (source (origin (method url-fetch) (uri (pypi-uri "beautifulsoup4" version)) (sha256 (base32 - "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h")))) + "0j2kycz2dxgx68xzjm7rxg5xn6v61gq5ifvxyg99slmqkybnal4l")))) (build-system python-build-system) (arguments `(#:phases @@ -5400,6 +5400,8 @@ libxml2 and libxslt.") ;; distribution. (replace 'check (lambda _ (invoke "./convert-py3k")))))) + (native-inputs + `(("python-soupsieve" ,python-soupsieve))) (home-page "https://www.crummy.com/software/BeautifulSoup/bs4/") (synopsis From 18919cf9289764de69035bfcd0f0456864f91c02 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Mon, 3 Jun 2019 18:59:06 +0200 Subject: [PATCH 17/69] gnu: python-translate-toolkit: Update home page. * gnu/packages/python-xyz.scm (python-translate-toolkit)[home-page]: Use HTTPS. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 809f594520..d027637b8b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12185,7 +12185,7 @@ current test, while only declaring the test-specific fields") ;; 'parse_funcs' ;; during test setup. `(#:tests? #f)) - (home-page "http://toolkit.translatehouse.org") + (home-page "https://toolkit.translatehouse.org") (synopsis "Tools and API for translation and localization engineering") (description "Tools and API for translation and localization engineering. It contains From 27faad22a8714c2bf83fb6e78b931545586dd46c Mon Sep 17 00:00:00 2001 From: Florian Pelz <pelzflorian@pelzflorian.de> Date: Mon, 3 Jun 2019 07:19:20 +0200 Subject: [PATCH 18/69] gnu: cracklib: Install password dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (cracklib): Use `make dict`. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/password-utils.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 19595a2a62..ed890f73c3 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -310,6 +310,15 @@ and vice versa.") (sha256 (base32 "1rimpjsdnmw8f5b7k558cic41p2qy2n2yrlqp5vh7mp4162hk0py")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-dict + (lambda* (#:key make-flags #:allow-other-keys) + (begin + (chmod (string-append "util/cracklib-format") #o755) + (apply invoke "make" "dict" make-flags) + #t)))))) (synopsis "Password checking library") (home-page "https://github.com/cracklib/cracklib") (description From 1acd107c6b0e5613bc001347945d7c3f00e3157b Mon Sep 17 00:00:00 2001 From: Florian Pelz <pelzflorian@pelzflorian.de> Date: Sun, 2 Jun 2019 20:01:23 +0200 Subject: [PATCH 19/69] gnu: gnome-control-center: Set correct file name for the 'passwd' binary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (gnome-control-center): Substitute correct path to passwd. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/gnome.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 561936f164..d6f9f71db8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5881,6 +5881,9 @@ devices using the GNOME desktop.") (("\"nm-connection-editor") (string-append "\"" nm-applet "/bin/nm-connection-editor"))) + (substitute* '("panels/user-accounts/run-passwd.c") + (("/usr/bin/passwd") + "/run/setuid-programs/passwd")) #t)))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. From ee2691fa33f117bcf51b148b81bb8bc4e7b13a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Mon, 3 Jun 2019 22:27:25 +0200 Subject: [PATCH 20/69] services: guix-publish: Allow for multi-compression. This is a followup to b8fa86adfc01205f1d942af8cb57515eb3726c52. * guix/deprecation.scm (warn-about-deprecation): Make public. * gnu/services/base.scm (<guix-publish-configuration>)[compression]: New field. [compression-level]: Default to #f. Add '%' to getter name. (guix-publish-configuration-compression-level): Define as deprecated. (default-compression): New procedure. (guix-publish-shepherd-service)[config->compression-options]: New procedure. Use 'match-record' instead of 'match'. * doc/guix.texi (Base Services): Remove 'compression-level' and document 'compression'. --- doc/guix.texi | 17 +++++-- gnu/services/base.scm | 107 +++++++++++++++++++++++++++--------------- guix/deprecation.scm | 1 + 3 files changed, 83 insertions(+), 42 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c01eb3a656..a8f3a5ad27 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12232,10 +12232,19 @@ The TCP port to listen for connections. The host (and thus, network interface) to listen to. Use @code{"0.0.0.0"} to listen on all the network interfaces. -@item @code{compression-level} (default: @code{3}) -The gzip compression level at which substitutes are compressed. Use -@code{0} to disable compression altogether, and @code{9} to get the best -compression ratio at the expense of increased CPU usage. +@item @code{compression} (default: @code{'(("gzip" 3))}) +This is a list of compression method/level tuple used when compressing +substitutes. For example, to compress all substitutes with @emph{both} lzip +at level 7 and gzip at level 9, write: + +@example +'(("lzip" 7) ("gzip" 9)) +@end example + +Level 9 achieves the best compression ratio at the expense of increased CPU +usage, whereas level 1 achieves fast compression. + +An empty list disables compression altogether. @item @code{nar-path} (default: @code{"nar"}) The URL path at which ``nars'' can be fetched. @xref{Invoking guix diff --git a/gnu/services/base.scm b/gnu/services/base.scm index f709ca5519..c88a6ddec6 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -142,7 +142,8 @@ guix-publish-configuration-guix guix-publish-configuration-port guix-publish-configuration-host - guix-publish-configuration-compression-level + guix-publish-configuration-compression + guix-publish-configuration-compression-level ;deprecated guix-publish-configuration-nar-path guix-publish-configuration-cache guix-publish-configuration-ttl @@ -1748,8 +1749,12 @@ archive' public keys, with GUIX." (default 80)) (host guix-publish-configuration-host ;string (default "localhost")) - (compression-level guix-publish-configuration-compression-level ;integer - (default 3)) + (compression guix-publish-configuration-compression + (thunked) + (default (default-compression this-record + (current-source-location)))) + (compression-level %guix-publish-configuration-compression-level ;deprecated + (default #f)) (nar-path guix-publish-configuration-nar-path ;string (default "nar")) (cache guix-publish-configuration-cache ;#f | string @@ -1759,42 +1764,68 @@ archive' public keys, with GUIX." (ttl guix-publish-configuration-ttl ;#f | integer (default #f))) -(define guix-publish-shepherd-service - (match-lambda - (($ <guix-publish-configuration> guix port host compression - nar-path cache workers ttl) - (list (shepherd-service - (provision '(guix-publish)) - (requirement '(guix-daemon)) - (start #~(make-forkexec-constructor - (list #$(file-append guix "/bin/guix") - "publish" "-u" "guix-publish" - "-p" #$(number->string port) - "-C" #$(number->string compression) - (string-append "--nar-path=" #$nar-path) - (string-append "--listen=" #$host) - #$@(if workers - #~((string-append "--workers=" - #$(number->string - workers))) - #~()) - #$@(if ttl - #~((string-append "--ttl=" - #$(number->string ttl) - "s")) - #~()) - #$@(if cache - #~((string-append "--cache=" #$cache)) - #~())) +(define-deprecated (guix-publish-configuration-compression-level config) + "Return a compression level, the old way." + (match (guix-publish-configuration-compression config) + (((_ level) _ ...) level))) - ;; Make sure we run in a UTF-8 locale so we can produce - ;; nars for packages that contain UTF-8 file names such - ;; as 'nss-certs'. See <https://bugs.gnu.org/26948>. - #:environment-variables - (list (string-append "GUIX_LOCPATH=" - #$glibc-utf8-locales "/lib/locale") - "LC_ALL=en_US.utf8"))) - (stop #~(make-kill-destructor))))))) +(define (default-compression config properties) + "Return the default 'guix publish' compression according to CONFIG, and +raise a deprecation warning if the 'compression-level' field was used." + (match (%guix-publish-configuration-compression-level config) + (#f + '(("gzip" 3))) + (level + (warn-about-deprecation 'compression-level properties + #:replacement 'compression) + `(("gzip" ,level))))) + +(define (guix-publish-shepherd-service config) + (define (config->compression-options config) + (match (guix-publish-configuration-compression config) + (() ;empty list means "no compression" + '("-C0")) + (lst + (append-map (match-lambda + ((type level) + `("-C" ,(string-append type ":" + (number->string level))))) + lst)))) + + (match-record config <guix-publish-configuration> + (guix port host nar-path cache workers ttl) + (list (shepherd-service + (provision '(guix-publish)) + (requirement '(guix-daemon)) + (start #~(make-forkexec-constructor + (list #$(file-append guix "/bin/guix") + "publish" "-u" "guix-publish" + "-p" #$(number->string port) + #$@(config->compression-options config) + (string-append "--nar-path=" #$nar-path) + (string-append "--listen=" #$host) + #$@(if workers + #~((string-append "--workers=" + #$(number->string + workers))) + #~()) + #$@(if ttl + #~((string-append "--ttl=" + #$(number->string ttl) + "s")) + #~()) + #$@(if cache + #~((string-append "--cache=" #$cache)) + #~())) + + ;; Make sure we run in a UTF-8 locale so we can produce + ;; nars for packages that contain UTF-8 file names such + ;; as 'nss-certs'. See <https://bugs.gnu.org/26948>. + #:environment-variables + (list (string-append "GUIX_LOCPATH=" + #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8"))) + (stop #~(make-kill-destructor)))))) (define %guix-publish-accounts (list (user-group (name "guix-publish") (system? #t)) diff --git a/guix/deprecation.scm b/guix/deprecation.scm index 2f7c058940..d704e7ec61 100644 --- a/guix/deprecation.scm +++ b/guix/deprecation.scm @@ -21,6 +21,7 @@ #:use-module (ice-9 format) #:export (define-deprecated define-deprecated/alias + warn-about-deprecation deprecation-warning-port)) ;;; Commentary: From 1b5ee3bdaacf665ad1e7c6142122389fd7033ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Mon, 3 Jun 2019 22:58:36 +0200 Subject: [PATCH 21/69] Add (guix diagnostics). * guix/ui.scm (warning, info, report-error, leave) (location->string, guix-warning-port, program-name) (highlight-argument, %highlight-argument, define-diagnostic) (%warning-color, %info-color, %error-color) (print-diagnostic-prefix): Move to... * guix/diagnostics.scm: ... here. New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + guix/diagnostics.scm | 173 +++++++++++++++++++++++++++++++++++++++++++ guix/ui.scm | 152 +++---------------------------------- 3 files changed, 185 insertions(+), 141 deletions(-) create mode 100644 guix/diagnostics.scm diff --git a/Makefile.am b/Makefile.am index ba4528ce87..80be73e4bf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -144,6 +144,7 @@ MODULES = \ guix/svn-download.scm \ guix/colors.scm \ guix/i18n.scm \ + guix/diagnostics.scm \ guix/ui.scm \ guix/status.scm \ guix/build/android-ndk-build-system.scm \ diff --git a/guix/diagnostics.scm b/guix/diagnostics.scm new file mode 100644 index 0000000000..380cfbb613 --- /dev/null +++ b/guix/diagnostics.scm @@ -0,0 +1,173 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(define-module (guix diagnostics) + #:use-module (guix colors) + #:use-module (guix i18n) + #:autoload (guix utils) (<location>) + #:use-module (srfi srfi-26) + #:use-module (ice-9 format) + #:use-module (ice-9 match) + #:export (warning + info + report-error + leave + + location->string + + guix-warning-port + program-name)) + +;;; Commentary: +;;; +;;; This module provides the tools to report diagnostics to the user in a +;;; consistent way: errors, warnings, and notes. +;;; +;;; Code: + +(define-syntax highlight-argument + (lambda (s) + "Given FMT and ARG, expand ARG to a call that highlights it, provided FMT +is a trivial format string." + (define (trivial-format-string? fmt) + (define len + (string-length fmt)) + + (let loop ((start 0)) + (or (>= (+ 1 start) len) + (let ((tilde (string-index fmt #\~ start))) + (or (not tilde) + (case (string-ref fmt (+ tilde 1)) + ((#\a #\A #\%) (loop (+ tilde 2))) + (else #f))))))) + + ;; Be conservative: limit format argument highlighting to cases where the + ;; format string contains nothing but ~a escapes. If it contained ~s + ;; escapes, this strategy wouldn't work. + (syntax-case s () + ((_ "~a~%" arg) ;don't highlight whole messages + #'arg) + ((_ fmt arg) + (trivial-format-string? (syntax->datum #'fmt)) + #'(%highlight-argument arg)) + ((_ fmt arg) + #'arg)))) + +(define* (%highlight-argument arg #:optional (port (guix-warning-port))) + "Highlight ARG, a format string argument, if PORT supports colors." + (cond ((string? arg) + (highlight arg port)) + ((symbol? arg) + (highlight (symbol->string arg) port)) + (else arg))) + +(define-syntax define-diagnostic + (syntax-rules () + "Create a diagnostic macro (i.e., NAME), which will prepend PREFIX to all +messages." + ((_ name (G_ prefix) colors) + (define-syntax name + (lambda (x) + (syntax-case x () + ((name location (underscore fmt) args (... ...)) + (and (string? (syntax->datum #'fmt)) + (free-identifier=? #'underscore #'G_)) + #'(begin + (print-diagnostic-prefix prefix location + #:colors colors) + (format (guix-warning-port) (gettext fmt %gettext-domain) + (highlight-argument fmt args) (... ...)))) + ((name location (N-underscore singular plural n) + args (... ...)) + (and (string? (syntax->datum #'singular)) + (string? (syntax->datum #'plural)) + (free-identifier=? #'N-underscore #'N_)) + #'(begin + (print-diagnostic-prefix prefix location + #:colors colors) + (format (guix-warning-port) + (ngettext singular plural n %gettext-domain) + (highlight-argument singular args) (... ...)))) + ((name (underscore fmt) args (... ...)) + (free-identifier=? #'underscore #'G_) + #'(name #f (underscore fmt) args (... ...))) + ((name (N-underscore singular plural n) + args (... ...)) + (free-identifier=? #'N-underscore #'N_) + #'(name #f (N-underscore singular plural n) + args (... ...))))))))) + +;; XXX: This doesn't work well for right-to-left languages. +;; TRANSLATORS: The goal is to emit "warning:" followed by a short phrase; +;; "~a" is a placeholder for that phrase. +(define-diagnostic warning (G_ "warning: ") %warning-color) ;emit a warning +(define-diagnostic info (G_ "") %info-color) +(define-diagnostic report-error (G_ "error: ") %error-color) + +(define-syntax-rule (leave args ...) + "Emit an error message and exit." + (begin + (report-error args ...) + (exit 1))) + +(define %warning-color (color BOLD MAGENTA)) +(define %info-color (color BOLD)) +(define %error-color (color BOLD RED)) + +(define* (print-diagnostic-prefix prefix #:optional location + #:key (colors (color))) + "Print PREFIX as a diagnostic line prefix." + (define color? + (color-output? (guix-warning-port))) + + (define location-color + (if color? + (cut colorize-string <> (color BOLD)) + identity)) + + (define prefix-color + (if color? + (lambda (prefix) + (colorize-string prefix colors)) + identity)) + + (let ((prefix (if (string-null? prefix) + prefix + (gettext prefix %gettext-domain)))) + (if location + (format (guix-warning-port) "~a: ~a" + (location-color (location->string location)) + (prefix-color prefix)) + (format (guix-warning-port) "~:[~*~;guix ~a: ~]~a" + (program-name) (program-name) + (prefix-color prefix))))) + +(define (location->string loc) + "Return a human-friendly, GNU-standard representation of LOC." + (match loc + (#f (G_ "<unknown location>")) + (($ <location> file line column) + (format #f "~a:~a:~a" file line column)))) + + +(define guix-warning-port + (make-parameter (current-warning-port))) + +(define program-name + ;; Name of the command-line program currently executing, or #f. + (make-parameter #f)) diff --git a/guix/ui.scm b/guix/ui.scm index 529401eea8..0b4fe144b6 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -32,6 +32,7 @@ (define-module (guix ui) #:use-module (guix i18n) #:use-module (guix colors) + #:use-module (guix diagnostics) #:use-module (guix gexp) #:use-module (guix sets) #:use-module (guix utils) @@ -70,10 +71,14 @@ #:use-module (texinfo) #:use-module (texinfo plain-text) #:use-module (texinfo string-utils) - #:re-export (G_ N_ P_) ;backward compatibility - #:export (report-error - display-hint - leave + + ;; Re-exports for backward compatibility. + #:re-export (G_ N_ P_ ;now in (guix i18n) + + warning info report-error leave ;now in (guix diagnostics) + location->string + guix-warning-port program-name) + #:export (display-hint make-user-module load* warn-about-load-error @@ -93,7 +98,6 @@ read/eval read/eval-package-expression check-available-space - location->string fill-paragraph %text-width texi->plain-text @@ -115,10 +119,6 @@ delete-generation* run-guix-command run-guix - program-name - guix-warning-port - warning - info guix-main)) ;;; Commentary: @@ -127,124 +127,6 @@ ;;; ;;; Code: -(define-syntax highlight-argument - (lambda (s) - "Given FMT and ARG, expand ARG to a call that highlights it, provided FMT -is a trivial format string." - (define (trivial-format-string? fmt) - (define len - (string-length fmt)) - - (let loop ((start 0)) - (or (>= (+ 1 start) len) - (let ((tilde (string-index fmt #\~ start))) - (or (not tilde) - (case (string-ref fmt (+ tilde 1)) - ((#\a #\A #\%) (loop (+ tilde 2))) - (else #f))))))) - - ;; Be conservative: limit format argument highlighting to cases where the - ;; format string contains nothing but ~a escapes. If it contained ~s - ;; escapes, this strategy wouldn't work. - (syntax-case s () - ((_ "~a~%" arg) ;don't highlight whole messages - #'arg) - ((_ fmt arg) - (trivial-format-string? (syntax->datum #'fmt)) - #'(%highlight-argument arg)) - ((_ fmt arg) - #'arg)))) - -(define* (%highlight-argument arg #:optional (port (guix-warning-port))) - "Highlight ARG, a format string argument, if PORT supports colors." - (cond ((string? arg) - (highlight arg port)) - ((symbol? arg) - (highlight (symbol->string arg) port)) - (else arg))) - -(define-syntax define-diagnostic - (syntax-rules () - "Create a diagnostic macro (i.e., NAME), which will prepend PREFIX to all -messages." - ((_ name (G_ prefix) colors) - (define-syntax name - (lambda (x) - (syntax-case x () - ((name location (underscore fmt) args (... ...)) - (and (string? (syntax->datum #'fmt)) - (free-identifier=? #'underscore #'G_)) - #'(begin - (print-diagnostic-prefix prefix location - #:colors colors) - (format (guix-warning-port) (gettext fmt %gettext-domain) - (highlight-argument fmt args) (... ...)))) - ((name location (N-underscore singular plural n) - args (... ...)) - (and (string? (syntax->datum #'singular)) - (string? (syntax->datum #'plural)) - (free-identifier=? #'N-underscore #'N_)) - #'(begin - (print-diagnostic-prefix prefix location - #:colors colors) - (format (guix-warning-port) - (ngettext singular plural n %gettext-domain) - (highlight-argument singular args) (... ...)))) - ((name (underscore fmt) args (... ...)) - (free-identifier=? #'underscore #'G_) - #'(name #f (underscore fmt) args (... ...))) - ((name (N-underscore singular plural n) - args (... ...)) - (free-identifier=? #'N-underscore #'N_) - #'(name #f (N-underscore singular plural n) - args (... ...))))))))) - -;; XXX: This doesn't work well for right-to-left languages. -;; TRANSLATORS: The goal is to emit "warning:" followed by a short phrase; -;; "~a" is a placeholder for that phrase. -(define-diagnostic warning (G_ "warning: ") %warning-color) ;emit a warning -(define-diagnostic info (G_ "") %info-color) -(define-diagnostic report-error (G_ "error: ") %error-color) - -(define-syntax-rule (leave args ...) - "Emit an error message and exit." - (begin - (report-error args ...) - (exit 1))) - -(define %warning-color (color BOLD MAGENTA)) -(define %info-color (color BOLD)) -(define %error-color (color BOLD RED)) -(define %hint-color (color BOLD CYAN)) - -(define* (print-diagnostic-prefix prefix #:optional location - #:key (colors (color))) - "Print PREFIX as a diagnostic line prefix." - (define color? - (color-output? (guix-warning-port))) - - (define location-color - (if color? - (cut colorize-string <> (color BOLD)) - identity)) - - (define prefix-color - (if color? - (lambda (prefix) - (colorize-string prefix colors)) - identity)) - - (let ((prefix (if (string-null? prefix) - prefix - (gettext prefix %gettext-domain)))) - (if location - (format (guix-warning-port) "~a: ~a" - (location-color (location->string location)) - (prefix-color prefix)) - (format (guix-warning-port) "~:[~*~;guix ~a: ~]~a" - (program-name) (program-name) - (prefix-color prefix))))) - (define (print-unbound-variable-error port key args default-printer) ;; Print unbound variable errors more nicely, and in the right language. (match args @@ -393,6 +275,8 @@ VARIABLE and return it, or #f if none was found." (('gnu _ ...) head) ;must be that one (_ (loop next (cons head suggestions) visited))))))))))) +(define %hint-color (color BOLD CYAN)) + (define* (display-hint message #:optional (port (current-error-port))) "Display MESSAGE, a l10n message possibly containing Texinfo markup, to PORT." @@ -1192,13 +1076,6 @@ replacement if PORT is not Unicode-capable." (lambda () body ...))))) -(define (location->string loc) - "Return a human-friendly, GNU-standard representation of LOC." - (match loc - (#f (G_ "<unknown location>")) - (($ <location> file line column) - (format #f "~a:~a:~a" file line column)))) - (define* (fill-paragraph str width #:optional (column 0)) "Fill STR such that each line contains at most WIDTH characters, assuming that the first character is at COLUMN. @@ -1720,10 +1597,6 @@ Run COMMAND with ARGS.\n")) string<?)) (show-bug-report-information)) -(define program-name - ;; Name of the command-line program currently executing, or #f. - (make-parameter #f)) - (define (run-guix-command command . args) "Run COMMAND with the given ARGS. Report an error when COMMAND is not found." @@ -1783,9 +1656,6 @@ and signal handling has already been set up." (string->symbol command) args)))) -(define guix-warning-port - (make-parameter (current-warning-port))) - (define (guix-main arg0 . args) (initialize-guix) (apply run-guix args)) From 69962ab7a8e07af77a2eb466be39615d139d5cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Mon, 3 Jun 2019 23:00:42 +0200 Subject: [PATCH 22/69] deprecation: Use the 'warning' procedure for diagnostics. Until now, (guix deprecation) had its own warning mechanism, which was inconsistent (it did not use colors, etc.) * guix/deprecation.scm (deprecation-warning-port): Remove (source-properties->location-string): Remove. (warn-about-deprecation): Use 'warning' instead of 'format'. (define-deprecated, define-deprecated/alias): Adjust docstring. * guix/channels.scm (build-from-source): Refer to 'guix-warning-port' instead of 'deprecation-warning-port'. --- guix/channels.scm | 4 ++-- guix/deprecation.scm | 36 +++++++++++------------------------- 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/guix/channels.scm b/guix/channels.scm index e93879e1b4..e7278c6060 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -27,7 +27,7 @@ #:use-module (guix profiles) #:use-module (guix derivations) #:use-module (guix combinators) - #:use-module (guix deprecation) + #:use-module (guix diagnostics) #:use-module (guix store) #:use-module (guix i18n) #:use-module ((guix utils) @@ -280,7 +280,7 @@ package modules under SOURCE using CORE, an instance of Guix." ;; Disable deprecation warnings; it's OK for SCRIPT to ;; use deprecated APIs and the user doesn't have to know ;; about it. - (parameterize ((deprecation-warning-port + (parameterize ((guix-warning-port (%make-void-port "w"))) (primitive-load script)))))) ;; BUILD must be a monadic procedure of at least one argument: the diff --git a/guix/deprecation.scm b/guix/deprecation.scm index d704e7ec61..468b2e9b7b 100644 --- a/guix/deprecation.scm +++ b/guix/deprecation.scm @@ -18,40 +18,26 @@ (define-module (guix deprecation) #:use-module (guix i18n) - #:use-module (ice-9 format) + #:use-module (guix diagnostics) + #:autoload (guix utils) (source-properties->location) #:export (define-deprecated define-deprecated/alias - warn-about-deprecation - deprecation-warning-port)) + warn-about-deprecation)) ;;; Commentary: ;;; ;;; Provide a mechanism to mark bindings as deprecated. ;;; -;;; We don't reuse (guix ui) mostly to avoid pulling in too many things. -;;; ;;; Code: -(define deprecation-warning-port - ;; Port where deprecation warnings go. - (make-parameter (current-error-port))) - -(define (source-properties->location-string properties) - "Return a human-friendly, GNU-standard representation of PROPERTIES, a -source property alist." - (let ((file (assq-ref properties 'filename)) - (line (assq-ref properties 'line)) - (column (assq-ref properties 'column))) - (if (and file line column) - (format #f "~a:~a:~a" file (+ 1 line) column) - (G_ "<unknown location>")))) - (define* (warn-about-deprecation variable properties #:key replacement) - (format (deprecation-warning-port) - (G_ "~a: warning: '~a' is deprecated~@[, use '~a' instead~]~%") - (source-properties->location-string properties) - variable replacement)) + (let ((location (and properties (source-properties->location properties)))) + (if replacement + (warning location (G_ "'~a' is deprecated, use '~a' instead~%") + variable replacement) + (warning location (G_ "'~a' is deprecated~%") + variable)))) (define-syntax define-deprecated (lambda (s) @@ -60,7 +46,7 @@ source property alist." (define-deprecated foo bar 42) (define-deprecated (baz x y) qux (qux y x)) -This will write a deprecation warning to DEPRECATION-WARNING-PORT." +This will write a deprecation warning to GUIX-WARNING-PORT." (syntax-case s () ((_ (proc formals ...) replacement body ...) #'(define-deprecated proc replacement @@ -97,7 +83,7 @@ these lines: where 'nix-server?' is the deprecated name for 'store-connection?'. -This will write a deprecation warning to DEPRECATION-WARNING-PORT." +This will write a deprecation warning to GUIX-WARNING-PORT." (define-syntax deprecated (lambda (s) (warn-about-deprecation 'deprecated (syntax-source s) From 92b1b6f6afaf722889a03d17d0256cf5248db73f Mon Sep 17 00:00:00 2001 From: Kei Kebreau <kkebreau@posteo.net> Date: Mon, 3 Jun 2019 23:04:35 -0400 Subject: [PATCH 23/69] gnu: emacspeak: Update to 50.0. * gnu/packages/emacs.scm (emacspeak): Update to 50.0. [arguments]: Simplify "configure" phase and adjust "install" phase. --- gnu/packages/emacs-xyz.scm | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c2b3bfddcb..f9f0b2156f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6969,7 +6969,7 @@ highlights quasi-quoted expressions.") (define-public emacspeak (package (name "emacspeak") - (version "49.0") + (version "50.0") (source (origin (method url-fetch) @@ -6978,7 +6978,7 @@ highlights quasi-quoted expressions.") version "/emacspeak-" version ".tar.bz2")) (sha256 (base32 - "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx")))) + "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "prefix=" @@ -6986,13 +6986,10 @@ highlights quasi-quoted expressions.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lisp (string-append out - "/share/emacs/site-lisp/emacspeak"))) - (setenv "SHELL" (which "sh")) - ;; Configure Emacspeak according to etc/install.org. - (invoke "make" "config")))) + (lambda _ + (setenv "SHELL" (which "sh")) + ;; Configure Emacspeak according to etc/install.org. + (invoke "make" "config"))) (add-after 'build 'build-espeak (lambda _ (invoke "make" "espeak"))) @@ -7009,7 +7006,7 @@ highlights quasi-quoted expressions.") (for-each (lambda (file) (copy-recursively file (string-append lisp "/" file))) - '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds" + '("etc" "info" "js" "lisp" "media" "servers" "sounds" "stumpwm" "xsl")) ;; Make sure emacspeak is loaded from the correct directory. (substitute* "etc/emacspeak.sh" From 05947d92b65dd13a8b593e1bdde3dd76b11211c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <mhw@netris.org> Date: Tue, 4 Jun 2019 04:10:04 -0400 Subject: [PATCH 24/69] gnu: icecat: Update to 60.7.0-guix2. This includes updates to bundled extensions from the upstream GNU IceCat 60.7.0-gnu1 release. * gnu/packages/gnuzilla.scm (%icecat-version): Update to 60.7.0-guix2. (icecat-source)[upstream-icecat-base-version]: Update to 60.7.0. [upstream-icecat-source, gnuzilla-source]: Update hashes. [origin]: Remove the substitutions that dealt with debian-specific package code in the makeicecat script, since that code has been removed upstream. (icecat)[arguments]: Adapt the 'install-desktop-entry' phase to avoid using the Debian desktop file, which is no longer included in the IceCat sources. * gnu/packages/patches/icecat-makeicecat.patch: Adapt to upstream changes. --- gnu/packages/gnuzilla.scm | 67 +++++--------------- gnu/packages/patches/icecat-makeicecat.patch | 56 ++-------------- 2 files changed, 23 insertions(+), 100 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 825678bfc6..c2356f2a44 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -426,7 +426,7 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "60.7.0-guix1") +(define %icecat-version "60.7.0-guix2") ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -450,7 +450,7 @@ from forcing GEXP-PROMISE." (base32 "08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa")))) - (upstream-icecat-base-version "60.3.0") ; maybe older than base-version + (upstream-icecat-base-version "60.7.0") ; maybe older than base-version (upstream-icecat-gnu-version "1") (upstream-icecat-version (string-append upstream-icecat-base-version "-gnu" @@ -463,7 +463,7 @@ from forcing GEXP-PROMISE." "/icecat-" upstream-icecat-version ".tar.bz2")) (sha256 (base32 - "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1")))) + "09xqdfd8rwbn2n6m7n059qf1psbrj5v5kfzm7gg5xng22ddxawv8")))) (gnuzilla-commit (string-append "v" upstream-icecat-base-version)) (gnuzilla-source @@ -475,7 +475,7 @@ from forcing GEXP-PROMISE." (file-name (git-file-name "gnuzilla" upstream-icecat-base-version)) (sha256 (base32 - "19wal7hkbb4wvk40hs6d7a5paal2bfday08hwssm02srcbv48fj0")))) + "1vqhb0py28hnwcynbaad304ziciz1kn5bv1qg2q4f7g13js3b1hf")))) (makeicecat-patch (local-file (search-patch "icecat-makeicecat.patch")))) @@ -545,10 +545,6 @@ from forcing GEXP-PROMISE." #$upstream-icecat-gnu-version "\n")) (("^DATA=.*") "DATA=/tmp/gnuzilla/data\n") - (("^sed .* debian/" all) - (string-append "echo warning: skipped: " all)) - (("^debian/rules " all) - (string-append "echo warning: skipped: " all)) (("^find extensions/gnu/ ") "find extensions/gnu/ | sort ") (("/bin/sed") @@ -560,21 +556,19 @@ from forcing GEXP-PROMISE." (rename-file firefox-dir icecat-dir) (with-directory-excursion icecat-dir - (for-each mkdir-p '("l10n" "debian/config")) - (call-with-output-file "debian/control" (const #t)) + (mkdir "l10n") (format #t "Running makeicecat script...~%") (force-output) (invoke "bash" "/tmp/gnuzilla/makeicecat") - (for-each delete-file-recursively '("l10n" "debian"))) + (delete-file-recursively "l10n")) - (format #t (string-append "Unpacking l10n/* and debian/* from" + (format #t (string-append "Unpacking l10n/* from" " upstream IceCat tarball...~%")) (force-output) (unless (string=? icecat-dir old-icecat-dir) (symlink icecat-dir old-icecat-dir)) (invoke "tar" "xf" #+upstream-icecat-source - (string-append old-icecat-dir "/l10n") - (string-append old-icecat-dir "/debian")) + (string-append old-icecat-dir "/l10n")) (format #t "Packing new IceCat tarball...~%") (force-output) @@ -899,43 +893,16 @@ from forcing GEXP-PROMISE." (add-before 'configure 'install-desktop-entry (lambda* (#:key outputs #:allow-other-keys) ;; Install the '.desktop' file. - (define (swallow-%%-directives input output) - ;; Interpret '%%ifdef' directives found in the '.desktop' file. - (let loop ((state 'top)) - (match (read-line input 'concat) - ((? eof-object?) - #t) - ((? string? line) - (cond ((string-prefix? "%%ifdef" line) - (loop 'ifdef)) - ((string-prefix? "%%else" line) - (loop 'else)) - ((string-prefix? "%%endif" line) - (loop 'top)) - (else - (case state - ((top else) - (display line output) - (loop state)) - (else - (loop state))))))))) - - (let* ((out (assoc-ref outputs "out")) + (let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop") + (out (assoc-ref outputs "out")) (applications (string-append out "/share/applications"))) - (call-with-input-file "debian/icecat.desktop.in" - (lambda (input) - (call-with-output-file "debian/icecat.desktop" - (lambda (output) - (swallow-%%-directives input output))))) - - (substitute* "debian/icecat.desktop" - (("@MOZ_DISPLAY_NAME@") - "GNU IceCat") - (("^Exec=@MOZ_APP_NAME@") - (string-append "Exec=" out "/bin/icecat")) - (("@MOZ_APP_NAME@") - "icecat")) - (install-file "debian/icecat.desktop" applications) + (substitute* desktop-file + (("^Exec=icecat") (string-append "Exec=" out "/bin/icecat")) + (("IceCat") "GNU IceCat") + (("Icon=.*") "Icon=icecat\n") + (("NewWindow") "new-window") + (("NewPrivateWindow") "new-private-window")) + (install-file desktop-file applications) #t))) (add-after 'install-desktop-entry 'install-icons (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 2a11bf0b70..7d4f774c83 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -3,10 +3,10 @@ in a snippet without network access. After this patch is applied, some additional changes will be made using 'substitute*'. diff --git a/makeicecat b/makeicecat -index aa46b94..db27a86 100644 +index 5a4390b..fcfa143 100644 --- a/makeicecat +++ b/makeicecat -@@ -36,75 +36,75 @@ export DEBFULLNAME="Ruben Rodriguez" +@@ -29,55 +29,55 @@ SOURCEDIR=icecat-$FFVERSION DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data @@ -25,6 +25,7 @@ index aa46b94..db27a86 100644 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc +-echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -36,49 +37,13 @@ index aa46b94..db27a86 100644 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc ++# echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz +# +# mv firefox-${FFVERSION} $SOURCEDIR - ############################################################################### - # Retrieve /debian from Ubuntu - ############################################################################### - --rm -rf firefox.$CODENAME --bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME --cd firefox.$CODENAME --bzr revert -r$REVISION --echo '3.0 (native)' > debian/source/format -- --for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch --do -- rm debian/patches/$PATCH -- sed "/$PATCH/d" -i debian/patches/series --done --sed "/test-/d" -i debian/patches/series --cd .. -- --mv firefox.$CODENAME/debian $SOURCEDIR --rm -rf firefox.$CODENAME -+# rm -rf firefox.$CODENAME -+# bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME -+# cd firefox.$CODENAME -+# bzr revert -r$REVISION -+# echo '3.0 (native)' > debian/source/format -+# -+# for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch -+# do -+# rm debian/patches/$PATCH -+# sed "/$PATCH/d" -i debian/patches/series -+# done -+# sed "/test-/d" -i debian/patches/series -+# cd .. -+# -+# mv firefox.$CODENAME/debian $SOURCEDIR -+# rm -rf firefox.$CODENAME - ############################################################################### # Retrieve l10n ############################################################################### @@ -133,19 +98,10 @@ index aa46b94..db27a86 100644 #for patch in $DATA/patches/*; do # echo Patching with file: $patch -@@ -720,7 +720,7 @@ debian/rules debian/control - touch -d "yesterday" debian/control - debian/rules debian/control - --echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)" -+# echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)" - sed "1s/firefox/icecat/" -i debian/changelog - - touch configure js/src/configure -@@ -734,6 +734,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in +@@ -590,6 +590,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in + # Fix CVE-2012-3386 /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true - -cd .. -echo Packaging tarball -tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR From a4f4e227bdd897009b0096e8240fc903863a9c32 Mon Sep 17 00:00:00 2001 From: Robert Vollmert <rob@vllmrt.net> Date: Sat, 1 Jun 2019 22:28:41 +0200 Subject: [PATCH 25/69] gnu: ghc-conduit-extra: Update to 1.3.1.1. * gnu/packages/haskell.scm (ghc-conduit-extra): Update to 1.3.1.1. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> --- gnu/packages/haskell.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 822b0499b6..06e255fdcf 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com> +;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -6951,7 +6952,7 @@ upon it.") (define-public ghc-conduit-extra (package (name "ghc-conduit-extra") - (version "1.3.0") + (version "1.3.1.1") (source (origin (method url-fetch) @@ -6960,7 +6961,7 @@ upon it.") version ".tar.gz")) (sha256 (base32 - "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c")))) + "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw")))) (build-system haskell-build-system) (inputs `(("ghc-conduit" ,ghc-conduit) From f83e10e42780ce45c67d67057881fa88dd1d7e16 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Tue, 4 Jun 2019 14:44:33 +0200 Subject: [PATCH 26/69] gnu: python-beautifulsoup4: Propagate python-soupsieve. This is a follow-up to commit abb53e6f871cbf79fe24b7052fb41c8aff2f65ac. * gnu/packages/python-xyz.scm (python-beautifulsoup4)[native-inputs]: Change to ... [propagated-inputs]: ... this. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d027637b8b..d33571637d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5400,7 +5400,7 @@ libxml2 and libxslt.") ;; distribution. (replace 'check (lambda _ (invoke "./convert-py3k")))))) - (native-inputs + (propagated-inputs `(("python-soupsieve" ,python-soupsieve))) (home-page "https://www.crummy.com/software/BeautifulSoup/bs4/") From ccc963d5286c73dedd2e3a2029e11674b6f14095 Mon Sep 17 00:00:00 2001 From: Kei Kebreau <kkebreau@posteo.net> Date: Tue, 4 Jun 2019 09:27:45 -0400 Subject: [PATCH 27/69] gnu: maxima: Update to 5.43.0. * gnu/packages/maths.scm (maxima): Update to 5.43.0. [arguments]: Adjust "patch-paths" and "post-install" phases. --- gnu/packages/maths.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4741a0d5ec..e74898b582 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2760,7 +2760,7 @@ to BMP, JPEG or PNG image formats.") (define-public maxima (package (name "maxima") - (version "5.42.2") + (version "5.43.0") (source (origin (method url-fetch) @@ -2768,7 +2768,7 @@ to BMP, JPEG or PNG image formats.") version "-source/" name "-" version ".tar.gz")) (sha256 (base32 - "0kdncy6137sg3rradirxzj10mkcvafxd892zlclwhr9sa7b12zhn")) + "0xyahp4c6509haxh4n1swiqm3421gplkdisa0zypclh3252sbzfw")) (patches (search-patches "maxima-defsystem-mkdir.patch")))) (build-system gnu-build-system) (inputs @@ -2802,11 +2802,18 @@ to BMP, JPEG or PNG image formats.") (let* ((sed (string-append (assoc-ref inputs "sed") "/bin/sed")) (coreutils (assoc-ref inputs "coreutils")) (dirname (string-append coreutils "/bin/dirname")) - (head (string-append coreutils "/bin/head"))) + (head (string-append coreutils "/bin/head")) + (perl (string-append (assoc-ref inputs "perl") "/bin/perl")) + (python (string-append (assoc-ref inputs "python") + "/bin/python3"))) (substitute* "src/maxima.in" (("sed ") (string-append sed " ")) (("dirname") dirname) (("head") head)) + (substitute* "doc/info/Makefile.in" + (("/usr/bin/env perl") perl)) + (substitute* "doc/info/build_html.sh.in" + (("python") python)) #t))) (add-before 'check 'pre-check (lambda _ @@ -2837,9 +2844,6 @@ to BMP, JPEG or PNG image formats.") (with-directory-excursion out (mkdir-p "share/emacs") (mkdir-p "share/doc") - (symlink - (string-append datadir "/emacs/") - (string-append out "/share/emacs/site-lisp")) (symlink (string-append datadir "/doc/") (string-append out "/share/doc/maxima")) From eeccd2e5751424e6cbd9c9e3d6a43e4ea4a39d28 Mon Sep 17 00:00:00 2001 From: Kei Kebreau <kkebreau@posteo.net> Date: Tue, 4 Jun 2019 10:44:14 -0400 Subject: [PATCH 28/69] gnu: wxmaxima: Update to 19.05.7. * gnu/packages/maths.scm (wxmaxima): Update to 19.05.7. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e74898b582..a0a077cf99 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2875,7 +2875,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "19.03.1") + (version "19.05.7") (source (origin (method git-fetch) @@ -2885,7 +2885,7 @@ point numbers.") (file-name (git-file-name name version)) (sha256 (base32 - "1qkf4jg86xnn3wk3782ffmfz12axb92dkjagcz3ffzw2wi1rclml")))) + "0zaz71fh156b9inrxf86scnix247al5pl9v18cxhjxcm0lanqxdp")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal))) From 36bb1d5a9fa4a73b89b1f65f730e3a00008b1b77 Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:24:40 -0400 Subject: [PATCH 29/69] gnu: go-github-com-mattn-go-isatty: Update to 0.0.7. * gnu/packages/golang.scm (go-github-com-mattn-go-isatty): Update to 0.0.7. [propagated-inputs]: Add go-golang-org-x-sys-unix. --- gnu/packages/golang.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 18013a4450..2f5396dd1e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1914,7 +1914,7 @@ values.") (define-public go-github-com-mattn-go-isatty (package (name "go-github-com-mattn-go-isatty") - (version "0.0.4") + (version "0.0.7") (source (origin (method git-fetch) @@ -1924,8 +1924,10 @@ values.") (file-name (git-file-name name version)) (sha256 (base32 - "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w")))) + "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd")))) (build-system go-build-system) + (propagated-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (arguments '(#:import-path "github.com/mattn/go-isatty")) (home-page "https://github.com/mattn/go-isatty") From a92e9cca032f5afc41b643b0cef23ce994300b75 Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:25:22 -0400 Subject: [PATCH 30/69] gnu: go-github-com-lib-pq: Update to 1.1.1. * gnu/packages/syncthing.scm (go-github-com-lib-pq): Update to 1.1.1. --- 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 acc9eda152..59c3e7f4c0 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -418,7 +418,7 @@ address of the default LAN gateway.") (define-public go-github-com-lib-pq (package (name "go-github-com-lib-pq") - (version "1.0.0") + (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -427,7 +427,7 @@ address of the default LAN gateway.") (file-name (git-file-name name version)) (sha256 (base32 - "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i")))) + "0g64wlg1l1ybq4x44idksl4pgm055s58jxc6r6x4qhqm5q76h0km")))) (build-system go-build-system) (arguments `(#:import-path "github.com/lib/pq" From 70f3a38471867f4ed63179f7c4317239aa1875fd Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:25:42 -0400 Subject: [PATCH 31/69] gnu: go-github-com-oschwald-geoip2-golang: Update to 1.3.0. * gnu/packages/syncthing.scm (go-github-com-oschwald-geoip2-golang): Update to 1.3.0. --- 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 59c3e7f4c0..e949e19803 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -443,7 +443,7 @@ database/sql package.") (define-public go-github-com-oschwald-geoip2-golang (package (name "go-github-com-oschwald-geoip2-golang") - (version "1.1.0") + (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -452,7 +452,7 @@ database/sql package.") (file-name (git-file-name name version)) (sha256 (base32 - "0v698bzs8lb59cqpsa9cf4sl8rdsvnnmaravhbfn6g6i511ppclr")))) + "0jivzl15jb8n16rm1b2w97kf7vna5dd3kcz865wfi233qay075j2")))) (build-system go-build-system) (propagated-inputs `(("go-github-com-oschwald-maxminddb-golang" From 61407649905ceac891ec8604ee30652afbc4182c Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:26:02 -0400 Subject: [PATCH 32/69] gnu: Syncthing: Update to 1.1.4. * gnu/packages/syncthing.scm (syncthing): Update to 1.1.4. --- 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 e949e19803..cd3dd0de54 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,7 +30,7 @@ (define-public syncthing (package (name "syncthing") - (version "1.1.2") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -38,7 +38,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0x2203xa4fxadj7ra7l2ac285j3gi1qgghpkssl4hkcq0kjmxqrk")) + "0pkb9vdb10lnlk6sgg6hxgkdjnvxx90cfdf8vgrc5sljzm5qhr6l")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin From bac78669c7c906b674cda4cf8918e8416c23c666 Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:32:36 -0400 Subject: [PATCH 33/69] gnu: MPD: Update to 0.21.9. * gnu/packages/mpd.scm (mpd): Update to 0.21.9. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index f631dbd7c6..1d75592795 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -91,7 +91,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.8") + (version "0.21.9") (source (origin (method url-fetch) (uri @@ -100,7 +100,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0mwpkbjsljj1khlnnjanvw3pgxbhsdl0bh2k9bxnpijn2gqq7q13")))) + "0ghda8g9q0bi6nrvl6n756d8f45spqpblkh77mnb4k9gmiv57qir")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=true") ; The default is 'false'... From a85d3fb07f66469f291f187658082b9b8b08bdc4 Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Tue, 4 Jun 2019 13:38:35 -0400 Subject: [PATCH 34/69] gnu: Mutt: Update to 1.12.0. * gnu/packages/mail.scm (mutt): Update to 1.12.0. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 114ef32a9d..4edc62ed1d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -351,14 +351,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.11.4") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "0098pr4anmq2a0id8wfi2vci3cgcfwf9k4q411w22xn8lrz3aldn")) + "13zr2fpql33sdbsjsiaa952js5bvphc1x4lqsj36qyzdhj3l84na")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From d46fc636e6797a1601cc7a7a8eaf72759c495c89 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice <me@tobias.gr> Date: Tue, 4 Jun 2019 17:49:14 +0200 Subject: [PATCH 35/69] gnu: borg: Update to 1.1.10. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/backup.scm (borg): Update to 1.1.10. [source]: Remove upstreamed patch. Remove msgpack and broken references to it. [arguments]: Add ‘use-system-msgpack’ phase. * gnu/packages/patches/borg-fix-hard-link-preloading.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/backup.scm | 19 ++- .../borg-fix-hard-link-preloading.patch | 157 ------------------ 3 files changed, 14 insertions(+), 163 deletions(-) delete mode 100644 gnu/packages/patches/borg-fix-hard-link-preloading.patch diff --git a/gnu/local.mk b/gnu/local.mk index b0992547b4..9680212c06 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -690,7 +690,6 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/boost-fix-icu-build.patch \ - %D%/packages/patches/borg-fix-hard-link-preloading.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 70cc06c736..0bd894f958 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -511,15 +511,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.9") + (version "1.1.10") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 - "0x95nhv4h34m8cxycbwc4xdz350saaxlgh727b23bgn4ci7gh3vx")) - (patches (search-patches "borg-fix-hard-link-preloading.patch")) + (base32 "1pp70p4n5kamvcbl4d8021ggrxhyykmg9isjg4yd3wags8b19d7g")) (modules '((guix build utils))) (snippet '(begin @@ -541,7 +539,12 @@ detection, and lossless compression.") ;; Remove bundled shared libraries. (with-directory-excursion "src/borg/algorithms" (for-each delete-file-recursively - (list "blake2" "lz4" "zstd"))) + (list "blake2" "lz4" "msgpack" "zstd"))) + ;; Purge some msgpack references from setup.py or the resulting + ;; sources will be unbuildable. + (substitute* "setup.py" + ((".*Extension\\('borg\\.algorithms\\.msgpack\\..*") "") + (("msgpack_packer_source, msgpack_unpacker_source") "")) #t)))) (build-system python-build-system) (arguments @@ -565,6 +568,12 @@ detection, and lossless compression.") ;; HOME=/homeless-shelter. (setenv "HOME" "/tmp") #t))) + (add-after 'unpack 'use-system-msgpack + (lambda _ + (substitute* "src/borg/helpers.py" + (("prefer_system_msgpack = False") + "prefer_system_msgpack = True")) + #t)) ;; The tests need to be run after Borg is installed. (delete 'check) (add-after 'install 'check diff --git a/gnu/packages/patches/borg-fix-hard-link-preloading.patch b/gnu/packages/patches/borg-fix-hard-link-preloading.patch deleted file mode 100644 index 92a4e22674..0000000000 --- a/gnu/packages/patches/borg-fix-hard-link-preloading.patch +++ /dev/null @@ -1,157 +0,0 @@ -Fix a bug that would cause the test suite to hang: - -https://github.com/borgbackup/borg/issues/4350 - -Patch copied from upstream source repository: - -https://github.com/borgbackup/borg/commit/18242ab9e2f26c450b8507aa1d5eceadab8ad027 - -From 18242ab9e2f26c450b8507aa1d5eceadab8ad027 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann <tw@waldmann-edv.de> -Date: Thu, 2 May 2019 21:02:26 +0200 -Subject: [PATCH] preload chunks for hardlink slaves w/o preloaded master, - fixes #4350 - -also split the hardlink extraction test into 2 tests. - -(cherry picked from commit f33f318d816505161d1449a02ddfdeb97d6fe80a) ---- - src/borg/archive.py | 42 +++++++++++++++++++++++++++++----- - src/borg/archiver.py | 5 ++-- - src/borg/testsuite/archiver.py | 20 +++++++++------- - 3 files changed, 51 insertions(+), 16 deletions(-) - -diff --git a/src/borg/archive.py b/src/borg/archive.py -index adc1f42c..0793672a 100644 ---- a/src/borg/archive.py -+++ b/src/borg/archive.py -@@ -192,7 +192,7 @@ def __init__(self, repository, key): - self.repository = repository - self.key = key - -- def unpack_many(self, ids, filter=None, preload=False): -+ def unpack_many(self, ids, filter=None, partial_extract=False, preload=False, hardlink_masters=None): - """ - Return iterator of items. - -@@ -209,12 +209,40 @@ def unpack_many(self, ids, filter=None, preload=False): - for item in items: - if 'chunks' in item: - item.chunks = [ChunkListEntry(*e) for e in item.chunks] -+ -+ def preload(chunks): -+ self.repository.preload([c.id for c in chunks]) -+ - if filter: - items = [item for item in items if filter(item)] -+ - if preload: -- for item in items: -- if 'chunks' in item: -- self.repository.preload([c.id for c in item.chunks]) -+ if filter and partial_extract: -+ # if we do only a partial extraction, it gets a bit -+ # complicated with computing the preload items: if a hardlink master item is not -+ # selected (== not extracted), we will still need to preload its chunks if a -+ # corresponding hardlink slave is selected (== is extracted). -+ # due to a side effect of the filter() call, we now have hardlink_masters dict populated. -+ masters_preloaded = set() -+ for item in items: -+ if 'chunks' in item: # regular file, maybe a hardlink master -+ preload(item.chunks) -+ # if this is a hardlink master, remember that we already preloaded it: -+ if 'source' not in item and hardlinkable(item.mode) and item.get('hardlink_master', True): -+ masters_preloaded.add(item.path) -+ elif 'source' in item and hardlinkable(item.mode): # hardlink slave -+ source = item.source -+ if source not in masters_preloaded: -+ # we only need to preload *once* (for the 1st selected slave) -+ chunks, _ = hardlink_masters[source] -+ preload(chunks) -+ masters_preloaded.add(source) -+ else: -+ # easy: we do not have a filter, thus all items are selected, thus we need to preload all chunks. -+ for item in items: -+ if 'chunks' in item: -+ preload(item.chunks) -+ - for item in items: - yield item - -@@ -433,8 +461,10 @@ def item_filter(self, item, filter=None): - return False - return filter(item) if filter else True - -- def iter_items(self, filter=None, preload=False): -- for item in self.pipeline.unpack_many(self.metadata.items, preload=preload, -+ def iter_items(self, filter=None, partial_extract=False, preload=False, hardlink_masters=None): -+ assert not (filter and partial_extract and preload) or hardlink_masters is not None -+ for item in self.pipeline.unpack_many(self.metadata.items, partial_extract=partial_extract, -+ preload=preload, hardlink_masters=hardlink_masters, - filter=lambda item: self.item_filter(item, filter)): - yield item - -diff --git a/src/borg/archiver.py b/src/borg/archiver.py -index 957959d6..dcc20455 100644 ---- a/src/borg/archiver.py -+++ b/src/borg/archiver.py -@@ -755,7 +755,8 @@ def peek_and_store_hardlink_masters(item, matched): - else: - pi = None - -- for item in archive.iter_items(filter, preload=True): -+ for item in archive.iter_items(filter, partial_extract=partial_extract, -+ preload=True, hardlink_masters=hardlink_masters): - orig_path = item.path - if strip_components: - item.path = os.sep.join(orig_path.split(os.sep)[strip_components:]) -@@ -997,7 +998,7 @@ def item_to_tarinfo(item, original_path): - return None, stream - return tarinfo, stream - -- for item in archive.iter_items(filter, preload=True): -+ for item in archive.iter_items(filter, preload=True, hardlink_masters=hardlink_masters): - orig_path = item.path - if strip_components: - item.path = os.sep.join(orig_path.split(os.sep)[strip_components:]) -diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py -index c35ad800..935b3d79 100644 ---- a/src/borg/testsuite/archiver.py -+++ b/src/borg/testsuite/archiver.py -@@ -823,7 +823,18 @@ def test_mount_hardlinks(self): - assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456' - - @requires_hardlinks -- def test_extract_hardlinks(self): -+ def test_extract_hardlinks1(self): -+ self._extract_hardlinks_setup() -+ with changedir('output'): -+ self.cmd('extract', self.repository_location + '::test') -+ assert os.stat('input/source').st_nlink == 4 -+ assert os.stat('input/abba').st_nlink == 4 -+ assert os.stat('input/dir1/hardlink').st_nlink == 4 -+ assert os.stat('input/dir1/subdir/hardlink').st_nlink == 4 -+ assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456' -+ -+ @requires_hardlinks -+ def test_extract_hardlinks2(self): - self._extract_hardlinks_setup() - with changedir('output'): - self.cmd('extract', self.repository_location + '::test', '--strip-components', '2') -@@ -839,13 +850,6 @@ def test_extract_hardlinks(self): - assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456' - assert os.stat('input/dir1/aaaa').st_nlink == 2 - assert os.stat('input/dir1/source2').st_nlink == 2 -- with changedir('output'): -- self.cmd('extract', self.repository_location + '::test') -- assert os.stat('input/source').st_nlink == 4 -- assert os.stat('input/abba').st_nlink == 4 -- assert os.stat('input/dir1/hardlink').st_nlink == 4 -- assert os.stat('input/dir1/subdir/hardlink').st_nlink == 4 -- assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456' - - def test_extract_include_exclude(self): - self.cmd('init', '--encryption=repokey', self.repository_location) --- -2.21.0 - From 261e9db2cd9669f74ee47f75907725c7d3d01d1b Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Tue, 4 Jun 2019 16:16:31 +0200 Subject: [PATCH 36/69] gnu: e2fsprogs: Update to 1.45.2. * gnu/packages/linux.scm (e2fsprogs): Update to 1.45.2. --- 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 ef45465288..fc6df4d9cf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -957,7 +957,7 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.44.5") + (version "1.45.2") (source (origin (method url-fetch) (uri (string-append @@ -966,7 +966,7 @@ slabtop, and skill.") name "-" version ".tar.xz")) (sha256 (base32 - "1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms")))) + "02g0cm72sgz709s9pkg4mvj56m7bgs7rwnyc2cp7cvg3j6pcjlj9")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config) From 3588419553176daadcb59644037d169574542b42 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Tue, 4 Jun 2019 18:25:58 +0200 Subject: [PATCH 37/69] gnu: polkit: Update to 0.116 [fixes CVE-2019-6133]. * gnu/packages/patches/polkit-CVE-2018-19788.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/polkit.scm (polkit): Update to 0.116. [source](patches): Remove. [inputs]: Change MOZJS-52 to MOZJS-60. [arguments]: Add CXXFLAGS=-std=gnu++11 to #:configure-flags. --- gnu/local.mk | 1 - .../patches/polkit-CVE-2018-19788.patch | 197 ------------------ gnu/packages/polkit.scm | 10 +- 3 files changed, 6 insertions(+), 202 deletions(-) delete mode 100644 gnu/packages/patches/polkit-CVE-2018-19788.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9680212c06..6878aef44a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1163,7 +1163,6 @@ dist_patch_DATA = \ %D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/podofo-cmake-3.12.patch \ - %D%/packages/patches/polkit-CVE-2018-19788.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/postgresql-disable-resolve_symlinks.patch \ diff --git a/gnu/packages/patches/polkit-CVE-2018-19788.patch b/gnu/packages/patches/polkit-CVE-2018-19788.patch deleted file mode 100644 index 58cde6c5dc..0000000000 --- a/gnu/packages/patches/polkit-CVE-2018-19788.patch +++ /dev/null @@ -1,197 +0,0 @@ -Fix CVE-2018-19788: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19788 -https://gitlab.freedesktop.org/polkit/polkit/issues/74 - -Patch copied from upstream source repository: - -https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379 - -From 2cb40c4d5feeaa09325522bd7d97910f1b59e379 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Mon, 3 Dec 2018 10:28:58 +0100 -Subject: [PATCH] Allow negative uids/gids in PolkitUnixUser and Group objects - -(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since -there should be no users with such number, see -https://systemd.io/UIDS-GIDS#special-linux-uids. - -(uid_t) -1 is used as the default value in class initialization. - -When a user or group above INT32_MAX is created, the numeric uid or -gid wraps around to negative when the value is assigned to gint, and -polkit gets confused. Let's accept such gids, except for -1. - -A nicer fix would be to change the underlying type to e.g. uint32 to -not have negative values. But this cannot be done without breaking the -API, so likely new functions will have to be added (a -polkit_unix_user_new variant that takes a unsigned, and the same for -_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will -require a bigger patch. - -Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74. ---- - src/polkit/polkitunixgroup.c | 15 +++++++++++---- - src/polkit/polkitunixprocess.c | 12 ++++++++---- - src/polkit/polkitunixuser.c | 13 ++++++++++--- - 3 files changed, 29 insertions(+), 11 deletions(-) - -diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c -index c57a1aa..309f689 100644 ---- a/src/polkit/polkitunixgroup.c -+++ b/src/polkit/polkitunixgroup.c -@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT, - static void - polkit_unix_group_init (PolkitUnixGroup *unix_group) - { -+ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */ - } - - static void -@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object, - GParamSpec *pspec) - { - PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object); -+ gint val; - - switch (prop_id) - { - case PROP_GID: -- unix_group->gid = g_value_get_int (value); -+ val = g_value_get_int (value); -+ g_return_if_fail (val != -1); -+ unix_group->gid = val; - break; - - default: -@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass) - g_param_spec_int ("gid", - "Group ID", - "The UNIX group ID", -- 0, -+ G_MININT, - G_MAXINT, -- 0, -+ -1, - G_PARAM_CONSTRUCT | - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | -@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group) - */ - void - polkit_unix_group_set_gid (PolkitUnixGroup *group, -- gint gid) -+ gint gid) - { - g_return_if_fail (POLKIT_IS_UNIX_GROUP (group)); -+ g_return_if_fail (gid != -1); - group->gid = gid; - } - -@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group, - PolkitIdentity * - polkit_unix_group_new (gint gid) - { -+ g_return_val_if_fail (gid != -1, NULL); -+ - return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP, - "gid", gid, - NULL)); -diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c -index 972b777..b02b258 100644 ---- a/src/polkit/polkitunixprocess.c -+++ b/src/polkit/polkitunixprocess.c -@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object, - polkit_unix_process_set_pid (unix_process, g_value_get_int (value)); - break; - -- case PROP_UID: -- polkit_unix_process_set_uid (unix_process, g_value_get_int (value)); -+ case PROP_UID: { -+ gint val; -+ -+ val = g_value_get_int (value); -+ g_return_if_fail (val != -1); -+ polkit_unix_process_set_uid (unix_process, val); - break; -+ } - - case PROP_START_TIME: - polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value)); -@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass) - g_param_spec_int ("uid", - "User ID", - "The UNIX user ID", -- -1, -+ G_MININT, - G_MAXINT, - -1, - G_PARAM_CONSTRUCT | -@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process, - gint uid) - { - g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process)); -- g_return_if_fail (uid >= -1); - process->uid = uid; - } - -diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c -index 8bfd3a1..234a697 100644 ---- a/src/polkit/polkitunixuser.c -+++ b/src/polkit/polkitunixuser.c -@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT, - static void - polkit_unix_user_init (PolkitUnixUser *unix_user) - { -+ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */ - unix_user->name = NULL; - } - -@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object, - GParamSpec *pspec) - { - PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object); -+ gint val; - - switch (prop_id) - { - case PROP_UID: -- unix_user->uid = g_value_get_int (value); -+ val = g_value_get_int (value); -+ g_return_if_fail (val != -1); -+ unix_user->uid = val; - break; - - default: -@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass) - g_param_spec_int ("uid", - "User ID", - "The UNIX user ID", -- 0, -+ G_MININT, - G_MAXINT, -- 0, -+ -1, - G_PARAM_CONSTRUCT | - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | -@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user, - gint uid) - { - g_return_if_fail (POLKIT_IS_UNIX_USER (user)); -+ g_return_if_fail (uid != -1); - user->uid = uid; - } - -@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user, - PolkitIdentity * - polkit_unix_user_new (gint uid) - { -+ g_return_val_if_fail (uid != -1, NULL); -+ - return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER, - "uid", uid, - NULL)); --- -2.18.1 - diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index ccb8ebf8f8..ac24adef43 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -43,16 +43,15 @@ (define-public polkit (package (name "polkit") - (version "0.115") + (version "0.116") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/polkit/releases/" name "-" version ".tar.gz")) - (patches (search-patches "polkit-CVE-2018-19788.patch")) (sha256 (base32 - "0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg")) + "1c9lbpndh5zis22f154vjrhnqw65z8s85nrgl42v738yf6g0q5w8")) (modules '((guix build utils))) (snippet '(begin @@ -90,7 +89,7 @@ `(("expat" ,expat) ("linux-pam" ,linux-pam) ("elogind" ,elogind) - ("mozjs" ,mozjs-52) + ("mozjs" ,mozjs-60) ("nspr" ,nspr))) (propagated-inputs `(("glib" ,glib))) ; required by polkit-gobject-1.pc @@ -101,6 +100,9 @@ ("gobject-introspection" ,gobject-introspection))) (arguments `(#:configure-flags '("--sysconfdir=/etc" + ;; XXX: MozJS 60 requires the C++11 ABI or higher. + ;; Remove when the default compiler is >= GCC 6. + "CXXFLAGS=-std=gnu++11" "--enable-man-pages") #:phases (modify-phases %standard-phases From 034db23701becb616d2903f711d0a10760e346c9 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Tue, 4 Jun 2019 18:53:40 +0200 Subject: [PATCH 38/69] gnu: openvswitch: Update home page. * gnu/packages/networking.scm (openvswitch)[source, home-page]: Use HTTPS. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bb11154978..887398f670 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1489,7 +1489,7 @@ procedure calls (RPCs).") (source (origin (method url-fetch) (uri (string-append - "http://openvswitch.org/releases/openvswitch-" + "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz")) (sha256 (base32 @@ -1529,7 +1529,7 @@ procedure calls (RPCs).") `(("libcap-ng" ,libcap-ng) ("openssl" ,openssl))) (synopsis "Virtual network switch") - (home-page "http://www.openvswitch.org/") + (home-page "https://www.openvswitch.org/") (description "Open vSwitch is a multilayer virtual switch. It is designed to enable massive network automation through programmatic extension, while still From 456ba27496ad4a6b1f6515989a89a35a854a7dda Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Tue, 4 Jun 2019 18:54:30 +0200 Subject: [PATCH 39/69] gnu: openvswitch: Update to 2.11.1. * gnu/packages/networking.scm (openvswitch): Update to 2.11.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 887398f670..2ea65f270c 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1485,7 +1485,7 @@ procedure calls (RPCs).") (define-public openvswitch (package (name "openvswitch") - (version "2.10.1") + (version "2.11.1") (source (origin (method url-fetch) (uri (string-append @@ -1493,7 +1493,7 @@ procedure calls (RPCs).") version ".tar.gz")) (sha256 (base32 - "103wi6k8xal0z1pyy680gms56skagh6jawa2ja588ljr55jcg4sg")))) + "1p5mv44jaslvrr1ym15smqna19y0gi4vqcsyj58625vv9bj6laf1")))) (build-system gnu-build-system) (arguments '(;; FIXME: many tests fail with: From 8feeeb68d3104b04e28b2b0d6d50dc6e8d9847df Mon Sep 17 00:00:00 2001 From: Mark H Weaver <mhw@netris.org> Date: Tue, 4 Jun 2019 23:48:52 -0400 Subject: [PATCH 40/69] gnu: linux-libre@4.19: Update to 4.19.48. * gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.48. (%linux-libre-4.19-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 fc6df4d9cf..06af505edc 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.47") -(define %linux-libre-4.19-hash "155rn6f555d2r1bqzi74zdif44ay7gk25xxjgw36s9n26dml8wf7") +(define %linux-libre-4.19-version "4.19.48") +(define %linux-libre-4.19-hash "04jwwzc9wbhx33i4bhm3vbs52vxlb8kjdmfjpfild94xbk8m2wy4") (define %linux-libre-4.19-patches (list %boot-logo-patch From 08ad44975386ecaea2bccc6523c951439b3c477e Mon Sep 17 00:00:00 2001 From: Mark H Weaver <mhw@netris.org> Date: Tue, 4 Jun 2019 23:49:44 -0400 Subject: [PATCH 41/69] gnu: linux-libre: Update to 5.1.7. * gnu/packages/linux.scm (%linux-libre-version): Update to 5.1.7. (%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 06af505edc..ffc5e9736e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.6") -(define %linux-libre-hash "0m7yi23wlgrh16z5z9dxb7dd64i2irrkdwxi71i88mradn55iq42") +(define %linux-libre-version "5.1.7") +(define %linux-libre-hash "0hr4sbapdpgdkb6xg1f7bpc31242yiqdvy5sfpymsrzfslr8vwy1") (define %linux-libre-5.1-patches (list %boot-logo-patch From 68eb526c4f219ada6d64e668756856eae9eed246 Mon Sep 17 00:00:00 2001 From: Brian Leung <bkleung89@gmail.com> Date: Mon, 3 Jun 2019 22:14:28 +0200 Subject: [PATCH 42/69] gnu: Add emacs-whitespace-cleanup-mode. * gnu/packages/emacs-xyz.scm (emacs-whitespace-cleanup-mode): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f9f0b2156f..d9a2ab836c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8046,6 +8046,30 @@ from within Emacs. Restclient runs queries from a plan-text query sheet, displays results pretty-printed in XML or JSON with @code{restclient-mode}") (license license:public-domain)))) +(define-public emacs-whitespace-cleanup-mode + (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d") + (revision "1")) + (package + (name "emacs-whitespace-cleanup-mode") + (version (git-version "0.10" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/whitespace-cleanup-mode") + (commit commit))) + (sha256 + (base32 + "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/whitespace-cleanup-mode") + (synopsis "Intelligently call @code{whitespace-cleanup} on save") + (description + "This package provides a minor mode that calls +@code{whitespace-cleanup} before saving the current buffer only if the +whitespace in the buffer was initially clean.") + (license license:gpl3+)))) + (define-public emacs-eimp (let ((version "1.4.0") (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f") From d8bc8245a6c5a5d70ba827cc514c21cf0362d2b9 Mon Sep 17 00:00:00 2001 From: Brian Leung <bkleung89@gmail.com> Date: Mon, 3 Jun 2019 22:15:19 +0200 Subject: [PATCH 43/69] gnu: Add emacs-lcr. * gnu/packages/emacs-xyz.scm (emacs-lcr): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d9a2ab836c..3b91639979 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8301,6 +8301,29 @@ multiplexer.") editing RPM spec files.") (license license:gpl2+))) +(define-public emacs-lcr + (package + (name "emacs-lcr") + (version "1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jyp/lcr") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/jyp/lcr") + (synopsis "Lightweight coroutines in Emacs Lisp") + (description "This package provides macros that can translate code into +equivalent continuation-passing code, as well as miscellaneous utility +functions written in continuation-passing style.") + (license license:gpl3+))) + (define-public emacs-git-messenger (package (name "emacs-git-messenger") From 3fef2a9dd9350a35422add588a0ce7b02c88675e Mon Sep 17 00:00:00 2001 From: Brian Leung <bkleung89@gmail.com> Date: Mon, 3 Jun 2019 22:15:33 +0200 Subject: [PATCH 44/69] gnu: Add emacs-dante. * gnu/packages/emacs-xyz.scm (emacs-dante): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> --- gnu/packages/emacs-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3b91639979..77ff792016 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -667,6 +667,37 @@ programs.") (define-public haskell-mode (deprecated-package "haskell-mode" emacs-haskell-mode)) +(define-public emacs-dante + (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda") + (revision "1")) + (package + (name "emacs-dante") + (version (git-version "1.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jyp/dante") + (commit commit))) + (sha256 + (base32 + "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-haskell-mode" ,emacs-haskell-mode) + ("emacs-s" ,emacs-s) + ("emacs-company" ,emacs-company) + ("emacs-lcr" ,emacs-lcr))) + (home-page "https://github.com/jyp/dante") + (synopsis "Minor mode for interactive Haskell") + (description + "This package provides a minor mode for Haskell development that +supports type hints, definition-jumping, completion, and more.") + (license license:gpl3+)))) + (define-public emacs-flycheck (package (name "emacs-flycheck") From e912affe07bb384fe60c610423ebe5b72492a39b Mon Sep 17 00:00:00 2001 From: Brian Leung <bkleung89@gmail.com> Date: Mon, 3 Jun 2019 22:16:40 +0200 Subject: [PATCH 45/69] gnu: Add emacs-attrap. * gnu/packages/emacs-xyz.scm (emacs-attrap): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> --- gnu/packages/emacs-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 77ff792016..e6b30bb6ef 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8355,6 +8355,33 @@ equivalent continuation-passing code, as well as miscellaneous utility functions written in continuation-passing style.") (license license:gpl3+))) +(define-public emacs-attrap + (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a") + (revision "1")) + (package + (name "emacs-attrap") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jyp/attrap") + (commit commit))) + (sha256 + (base32 + "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/jyp/attrap") + (synopsis "Fix coding error at point") + (description "This package provides a command to fix the Flycheck error +at point.") + (license license:gpl3+)))) + (define-public emacs-git-messenger (package (name "emacs-git-messenger") From 9b99b349ec9bbe02434e7018a218d5d3b193ab26 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov <go.wigust@gmail.com> Date: Wed, 5 Jun 2019 10:15:20 +0300 Subject: [PATCH 46/69] gnu: Add emacs-litable. * gnu/packages/emacs-xyz.scm (emacs-litable): New variable. --- gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e6b30bb6ef..e5b11e5422 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2554,6 +2554,28 @@ evaluated in the browser, just like Emacs does with an inferior Lisp process in Lisp modes.") (license license:unlicense))) +(define-public emacs-litable + (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f")) + (package + (name "emacs-litable") + (version (git-version "0.1" "0" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fuco1/litable.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/Fuco1/litable/") + (synopsis "Dynamic evaluation replacement with Emacs") + (description "This packages provides dynamic evaluation in Emacs.") + (license license:gpl3+)))) + (define-public emacs-string-inflection (package (name "emacs-string-inflection") From 579d17b70dac067f8194ede46513400b91ac136a Mon Sep 17 00:00:00 2001 From: Jack Hill <jackhill@jackhill.us> Date: Mon, 3 Jun 2019 14:42:16 -0400 Subject: [PATCH 47/69] etc: guix-daemon.service.in: Fix GUIX_LOCPATH quoting. Fixes <https://bugs.gnu.org/36074>. * etc/guix-daemon.service.in: Move the GUIX_LOCPATH environment variable name inside the quotes. Signed-off-by: Ricardo Wurmus <rekado@elephly.net> --- etc/guix-daemon.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in index 7b20a91931..407cdd199c 100644 --- a/etc/guix-daemon.service.in +++ b/etc/guix-daemon.service.in @@ -7,7 +7,7 @@ Description=Build daemon for GNU Guix [Service] ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild -Environment=GUIX_LOCPATH='@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 +Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 RemainAfterExit=yes StandardOutput=syslog StandardError=syslog From 1d7cf14435b08c9bd759bb8de1367132c46e7ae8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <rekado@elephly.net> Date: Wed, 5 Jun 2019 11:53:27 +0200 Subject: [PATCH 48/69] gnu: eolie: Update to 0.9.62. * gnu/packages/gnome.scm (eolie): Update to 0.9.62. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d6f9f71db8..566023aa2c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4320,15 +4320,15 @@ work and the interface is well tested.") (define-public eolie (package (name "eolie") - (version "0.9.60") + (version "0.9.62") (source (origin (method url-fetch) (uri (string-append "https://gitlab.gnome.org/World/eolie/" - "uploads/3b2ceb7eb15860587db6886bfdd8a91e/" + "uploads/bb4aad19272cc636bd17f2f6602127fe/" "eolie-" version ".tar.xz")) (sha256 (base32 - "1s9gkzxa6457v6bh0q8n1ijq1chd2jwgvhk5kppsnya7kxvsx8qh")))) + "06v76hg87fnhw45dil5vvl20myvaa38n1jqsl0lmkkq6af4mk8wx")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t From 3390ac619fda55164a70b37214350401afa602d5 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier <jonathan.brielmaier@web.de> Date: Wed, 5 Jun 2019 15:14:55 +0200 Subject: [PATCH 49/69] gnu: neovim: Update to 0.3.7 [security fixes]. * gnu/packages/vim.scm (neovim): Update to 0.3.7. Signed-off-by: Ricardo Wurmus <rekado@elephly.net> --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 8789060b3c..aa543b68d0 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -730,7 +730,7 @@ are detected, the user is notified."))) (define-public neovim (package (name "neovim") - (version "0.3.5") + (version "0.3.7") (source (origin (method git-fetch) @@ -740,7 +740,7 @@ are detected, the user is notified."))) (file-name (git-file-name name version)) (sha256 (base32 - "113lrr9gwimvvzlkwlishm4cjqcf30xq9jfxn7vh41ckgnbiwf3w")))) + "1j6w5jvq5v7kf7diad91qs1acr427nidnk9s24yyrz0hwdd1c2lh")))) (build-system cmake-build-system) (arguments `(#:modules ((srfi srfi-26) From 898b705d6489507eaacf5bae814b1817d18d22f3 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen <janneke@gnu.org> Date: Wed, 5 Jun 2019 15:35:46 +0200 Subject: [PATCH 50/69] gnu: guile-gi: Update to 0.0.1-1.26e8852. * gnu/packages/guile-xyz.scm (guile-gi): Update to 0.0.1-1.26e8852; use upstream's (spk121's) git in source uri. --- gnu/packages/guile-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 43bdcab263..aee908a6f5 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2238,20 +2238,20 @@ list of components. This module takes care of that for you.") (license license:lgpl3+))) (define-public guile-gi - (let ((commit "91753258892c4a1fbf7ed43ff793a00ac0f77cf6") - (revision "0")) + (let ((commit "26e885219ae6b31a83766564a2ecfe8c4532346f") + (revision "1")) (package (name "guile-gi") (version (string-append "0.0.1-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/janneke/guile-gi.git") + (url "https://github.com/spk121/guile-gi.git") (commit commit))) (file-name (string-append name "-" version)) (sha256 (base32 - "1i76jfs90p8pbx0bfrjd4sias9380pmjb9x387rx7hav4kvnsd1b")))) + "1prbzhr4sqqihb34l6yfrz6sd8nghwd3q9wvbm36jnl2n3z2nxj8")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From f6ea523749c4155c67ee6ba346c68611eedfe948 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <rekado@elephly.net> Date: Wed, 5 Jun 2019 15:42:50 +0200 Subject: [PATCH 51/69] gnu: guile-chickadee: Update to 0.4.0. * gnu/packages/game-development.scm (guile-chickadee): Update to 0.4.0. [arguments]: Remove. --- gnu/packages/game-development.scm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index c3177a0b1c..e6b713465c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1321,24 +1321,15 @@ a 2D editor view.") (define-public guile-chickadee (package (name "guile-chickadee") - (version "0.3.0") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/chickadee/" "chickadee-" version ".tar.gz")) (sha256 (base32 - "0jl223dybsj5gvs7z4q60gnafj1b7kgi5mx0kj58m5knrp8qwg5h")))) + "1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l")))) (build-system gnu-build-system) - (arguments - '(#:make-flags '("GUILE_AUTO_COMPILE=0") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-godir - (lambda _ - ;; Install compiled '.go' files into the site directory. - (substitute* "Makefile.in" - (("/ccache") "/site-ccache"))))))) (propagated-inputs `(("guile-opengl" ,guile-opengl) ("guile-sdl2" ,guile-sdl2))) From 2ffa842b4eca3923852a1be56e8d58c8c6c02ee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <rekado@elephly.net> Date: Wed, 5 Jun 2019 15:47:01 +0200 Subject: [PATCH 52/69] gnu: guile-sdl2: Update to 0.4.0. * gnu/packages/sdl.scm (guile-sdl2): Update to 0.4.0. --- gnu/packages/sdl.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 2e8cec8ffb..b6b28b7d06 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; @@ -523,15 +523,14 @@ sound and device input (keyboards, joysticks, mice, etc.).") (define-public guile-sdl2 (package (name "guile-sdl2") - (version "0.3.1") + (version "0.4.0") (source (origin (method url-fetch) - (uri (string-append - "https://files.dthompson.us/guile-sdl2/guile-sdl2-" - version ".tar.gz")) + (uri (string-append "https://files.dthompson.us/guile-sdl2/" + "guile-sdl2-" version ".tar.gz")) (sha256 (base32 - "0bw7x2lx90k4banc5k7yfkn3as93y25gr1xdr225ll7lmij21k64")))) + "0zcxwgyadwpbhq6h5mv2569c3kalgra26zc186y9fqiyyzmh1v9s")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0") From 4ab9ad1ed2c6be98f5dba2b88db041f4f85950fe Mon Sep 17 00:00:00 2001 From: Kei Kebreau <kkebreau@posteo.net> Date: Wed, 5 Jun 2019 10:25:06 -0400 Subject: [PATCH 53/69] gnu: aubio: Enable avcodec support. * gnu/packages/audio.scm (aubio)[arguments]: Remove "--disable-avcodec" from and add "--enable-avcodec" to #:configure-flags. [inputs]: Add ffmpeg. --- gnu/packages/audio.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 592a1ba94c..4a8548c25b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -174,14 +174,14 @@ Filter) modules follow the convention of 1V / Octave.") "--enable-jack" "--enable-sndfile" "--enable-samplerate" - ;; TODO: enable compilation with avcodec once available. - "--disable-avcodec") + "--enable-avcodec") #:python ,python-2)) (inputs `(("jack" ,jack-1) ("libsndfile" ,libsndfile) ("libsamplerate" ,libsamplerate) - ("fftwf" ,fftwf))) + ("fftwf" ,fftwf) + ("ffmpeg" ,ffmpeg))) ; for libavcodec (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://aubio.org/") From a5ca4a63426f5e24c13b93bde95511e9d89757f5 Mon Sep 17 00:00:00 2001 From: Jack Hill <jackhill@jackhill.us> Date: Mon, 3 Jun 2019 14:42:16 -0400 Subject: [PATCH 54/69] etc: Fix GUIX_LOCPATH quoting in 'guix-publish.service' file. This is a followup to 579d17b70dac067f8194ede46513400b91ac136a. * etc/guix-publish.service.in (Environment): Move GUIX_LOCPATH inside the quotes. --- etc/guix-publish.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in index e61a0314ce..2dc89ef600 100644 --- a/etc/guix-publish.service.in +++ b/etc/guix-publish.service.in @@ -7,7 +7,7 @@ Description=Publish the GNU Guix store [Service] ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181 -Environment=GUIX_LOCPATH='@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 +Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 RemainAfterExit=yes StandardOutput=syslog StandardError=syslog From 0b051bacb34dbd5218f3342c47129b5ed676f155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Wed, 5 Jun 2019 16:38:35 +0200 Subject: [PATCH 55/69] installer: Always add '%base-initrd-modules' to 'initrd-modules'. Fixes <https://bugs.gnu.org/36099>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/installer/parted.scm (initrd-configuration): Add %BASE-INITRD-MODULES to the 'initrd-modules' field. --- gnu/installer/parted.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index bd2640d1ad..682e233d9f 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1318,7 +1318,8 @@ USER-PARTITIONS, or return nothing." (() '()) ((modules ...) - `((initrd-modules ',modules))))) + `((initrd-modules (append ',modules + %base-initrd-modules)))))) (define (user-partitions->configuration user-partitions) "Return the configuration field for USER-PARTITIONS." From 964595dd779a16fa11215ad5e2bda5a6380f907a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Sat, 1 Jun 2019 21:29:30 +1200 Subject: [PATCH 56/69] gnu: Add Arabic Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-ar): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index dd006e8184..86b843a976 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; ;;; This file is part of GNU Guix. ;;; @@ -131,6 +132,14 @@ dictionaries, including personal ones.") (home-page "http://aspell.net/"))) +(define-public aspell-dict-ar + (aspell-dictionary "ar" "Arabic" + #:version "1.2-0" + #:prefix "aspell6-" + #:sha256 + (base32 + "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4"))) + (define-public aspell-dict-ca (aspell-dictionary "ca" "Catalan" #:version "2.1.5-1" From 8ac3476db73fe40b50b2fad5e08e046e123d3815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 21:10:34 +1200 Subject: [PATCH 57/69] gnu: Add Belarusian Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-be): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 86b843a976..99ceac9b07 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -140,6 +140,14 @@ dictionaries, including personal ones.") (base32 "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4"))) +(define-public aspell-dict-be + (aspell-dictionary "be" "Belarusian" + #:version "0.01" + #:prefix "aspell5-" + #:sha256 + (base32 + "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm"))) + (define-public aspell-dict-ca (aspell-dictionary "ca" "Catalan" #:version "2.1.5-1" From 4bb9528c49e38479f67f4b1ad31e5500302ee42d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 20:56:54 +1200 Subject: [PATCH 58/69] gnu: Add Danish Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-da): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 99ceac9b07..940ccd989c 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -162,6 +162,14 @@ dictionaries, including personal ones.") (base32 "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s"))) +(define-public aspell-dict-da + (aspell-dictionary "da" "Danish" + #:version "1.4.42-1" + #:prefix "aspell5-" + #:sha256 + (base32 + "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp"))) + (define-public aspell-dict-el (aspell-dictionary "el" "Greek" #:version "0.08-0" From c066a05094fb46b2665393443d25430c20fe528a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 20:58:02 +1200 Subject: [PATCH 59/69] gnu: Add Finnish Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-fi): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 940ccd989c..e00d96a019 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -199,6 +199,14 @@ dictionaries, including personal ones.") (base32 "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd"))) +(define-public aspell-dict-fi + (aspell-dictionary "fi" "Finnish" + #:version "0.7-0" + #:prefix "aspell6-" + #:sha256 + (base32 + "07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq"))) + (define-public aspell-dict-fr (aspell-dictionary "fr" "French" #:version "0.50-3" From 77fe52580fa12e25f4a002da6f7f85cb48e43255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 20:58:51 +1200 Subject: [PATCH 60/69] gnu: Add Hindi Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-hi): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index e00d96a019..cd7d0324f3 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -229,6 +229,14 @@ dictionaries, including personal ones.") (base32 "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) +(define-public aspell-dict-hi + (aspell-dictionary "hi" "Hindi" + #:version "0.02-0" + #:prefix "aspell6-" + #:sha256 + (base32 + "0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys"))) + (define-public aspell-dict-it (let ((version "2.4-20070901-0") (sha256 From c5a88aa0e9e46bba7345c8413c7c9aeb0eda63b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 20:59:30 +1200 Subject: [PATCH 61/69] gnu: Add Maori Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-mi): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index cd7d0324f3..f51422ee07 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -258,6 +258,13 @@ dictionaries, including personal ones.") (home-page "http://linguistico.sourceforge.net/pages/dizionario_italiano.html")))) +(define-public aspell-dict-mi + (aspell-dictionary "mi" "Maori" + #:version "0.50-0" + #:sha256 + (base32 + "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy"))) + (define-public aspell-dict-nl (aspell-dictionary "nl" "Dutch" #:version "0.50-2" From c9400f03a780673fb40debef3133805fb045213c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 21:00:46 +1200 Subject: [PATCH 62/69] gnu: Add Norwegian Nynorsk Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-nn): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index f51422ee07..dde2a6379b 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -273,6 +273,13 @@ dictionaries, including personal ones.") (base32 "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4"))) +(define-public aspell-dict-nn + (aspell-dictionary "nn" "Norwegian Nynorsk" + #:version "0.50.1-1" + #:sha256 + (base32 + "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc"))) + (define-public aspell-dict-pt-br (aspell-dictionary "pt-br" "Brazilian Portuguese" #:version "20090702-0" From a1fa54f022ce5cf50ea15708a1a6419ab78393c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 21:01:35 +1200 Subject: [PATCH 63/69] gnu: Add Portuguese Portugal Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-pt-pt): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index dde2a6379b..945a53e3cd 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -288,6 +288,14 @@ dictionaries, including personal ones.") (base32 "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) +(define-public aspell-dict-pt-pt + (aspell-dictionary "pt-pt" "Portuguese" + #:version "20070510-0" + #:prefix "aspell6-" + #:sha256 + (base32 + "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq"))) + (define-public aspell-dict-ru (aspell-dictionary "ru" "Russian" #:version "0.99f7-1" From e77dd15a2dbb418d6f5302e8475c0a76fc24b79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20M=C3=B8lgaard?= <jens@zete.tk> Date: Wed, 5 Jun 2019 21:02:36 +1200 Subject: [PATCH 64/69] gnu: Add Ukrainian Aspell dictionary. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/aspell.scm (aspell-dict-ul): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/aspell.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 945a53e3cd..1bbe57a4ef 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -311,6 +311,13 @@ dictionaries, including personal ones.") (base32 "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v"))) +(define-public aspell-dict-uk + (aspell-dictionary "uk" "Ukrainian" + #:version "1.4.0-0" + #:sha256 + (base32 + "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m"))) + ;;; ;;; Hunspell packages made from the Aspell word lists. From 7f6a717b723bbc22bab7b1aa960b22fbfb5b93cb Mon Sep 17 00:00:00 2001 From: Diego Nicola Barbato <dnbarbato@posteo.de> Date: Thu, 16 May 2019 13:39:18 +0200 Subject: [PATCH 65/69] doc: Fix typo. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Invoking guix archive): Remove spurious hyphen in example. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index a8f3a5ad27..996255d9dc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4219,7 +4219,7 @@ to another like this: @example guix archive --export -r $(readlink -f ~/.guix-profile) | \ - ssh the-machine guix-archive --import + ssh the-machine guix archive --import @end example @noindent From 36273ebde20db42d864e315c954d84d2b4957070 Mon Sep 17 00:00:00 2001 From: Alex Griffin <a@ajgrf.com> Date: Sun, 2 Jun 2019 16:26:47 -0500 Subject: [PATCH 66/69] services: cups: Create /var/cache on activation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/cups.scm (%cups-activation): Create /var/cache if it doesn't exist yet. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu/services/cups.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 9125139ef3..9d21b6e70c 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Andy Wingo <wingo@pobox.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -895,6 +896,7 @@ IPP specifications.") (mkdir-p/perms "/var/spool/cups" user #o755) (mkdir-p/perms "/var/spool/cups/tmp" user #o755) (mkdir-p/perms "/var/log/cups" user #o755) + (mkdir-p/perms "/var/cache/cups" user #o770) (mkdir-p/perms "/etc/cups" user #o755) (mkdir-p/perms "/etc/cups/ssl" user #o700) ;; This certificate is used for HTTPS connections to the CUPS web From 90041e9c28e71ee9736b5e9942625460f7deacd2 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagrant@debian.org> Date: Sun, 2 Jun 2019 11:34:33 -0700 Subject: [PATCH 67/69] gnu: debootstrap: Workaround for PATH issues. * gnu/packages/debian (debootstrap): [arguments]: Substitute PATH to include $PATH. [description]: Remove obsolete workaround from description. --- gnu/packages/debian.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 1b401bc946..f94f49c51b 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -154,6 +154,11 @@ contains the archive keys used for that.") (("/usr") ubuntu)) (substitute* "debootstrap" (("=/usr") (string-append "=" out))) + ;; Ensure PATH works both in guix and within the debian chroot + ;; workaround for: https://bugs.debian.org/929889 + (substitute* "functions" + (("PATH=/sbin:/usr/sbin:/bin:/usr/bin") + "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin")) (substitute* (find-files "scripts" ".") (("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo"))) #t))) @@ -184,9 +189,5 @@ contains the archive keys used for that.") (description "Debootstrap is used to create a Debian base system from scratch, without requiring the availability of @code{dpkg} or @code{apt}. It does this by downloading .deb files from a mirror site, and carefully -unpacking them into a directory which can eventually be chrooted into. - -It is recommended to run @code{debootstrap --foreign --arch=...} and then -@code{chroot} into the directory, set the PATH and run @code{debootstrap ---second-stage} after.") +unpacking them into a directory which can eventually be chrooted into.") (license license:gpl2))) From 7c22aa63cdbf1ef62ad10a75ffb37ce35f95b3bf Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Wed, 5 Jun 2019 19:39:42 +0200 Subject: [PATCH 68/69] gnu: mesa-utils: Update home page. * gnu/packages/gl.scm (mesa-utils)[home-page]: Use HTTPS. --- gnu/packages/gl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 72f450c5f7..8f61a4b231 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -447,7 +447,7 @@ from software emulation to complete hardware acceleration for modern GPUs.") '("src/xdemos/glxdemo" "src/xdemos/glxgears" "src/xdemos/glxinfo" "src/xdemos/glxheads")) #t)))))) - (home-page "http://mesa3d.org/") + (home-page "https://mesa3d.org/") (synopsis "Utility tools for Mesa") (description "The mesa-utils package contains several utility tools for Mesa: glxdemo, From c0f6eebb6d9f6ca9b62344f32ce5f82dab601d53 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@fastmail.com> Date: Wed, 5 Jun 2019 19:40:12 +0200 Subject: [PATCH 69/69] gnu: soil: Update home page. * gnu/packages/gl.scm (soil)[home-page]: Use HTTPS. --- gnu/packages/gl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 8f61a4b231..a8654d047f 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -619,7 +619,7 @@ OpenGL graphics API.") `(("unzip" ,unzip))) (inputs `(("mesa" ,mesa))) - (home-page "http://www.lonesock.net/soil.html") + (home-page "https://www.lonesock.net/soil.html") (synopsis "OpenGL texture loading library") (description "SOIL is a tiny C library used primarily for uploading textures into