From fb203578f6291116a125739b0530d203a70d1b70 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 2 Apr 2017 20:04:20 -0400 Subject: [PATCH 001/231] gnu: gnutls: Update to 3.5.10. * gnu/packages/tls.scm (gnutls): Update to 3.5.10. --- 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 5f06140e72..5acb1ff785 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -140,7 +140,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (version "3.5.9") + (version "3.5.10") (source (origin (method url-fetch) (uri @@ -151,7 +151,7 @@ living in the same process.") "/gnutls-" version ".tar.xz")) (sha256 (base32 - "0l9971841jsfdcvcyhas17sk5rsby6x5vvwcmmj4x3zi9q60zcc2")))) + "17apwvdkkazh5w8z8mbanpj2yj8s2002qwy46wz4v3akpa33wi5g")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 1f044d7a910bfe6b3aa264e876418f4a96e0aece Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Feb 2017 15:48:44 +0100 Subject: [PATCH 002/231] gnu: ed: Update to 1.14.2. * gnu/packages/ed.scm (ed): Update to 1.14.2. --- gnu/packages/ed.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm index 5014229952..d30d7bcfa8 100644 --- a/gnu/packages/ed.scm +++ b/gnu/packages/ed.scm @@ -28,14 +28,14 @@ (define-public ed (package (name "ed") - (version "1.14.1") + (version "1.14.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ed/ed-" version ".tar.lz")) (sha256 (base32 - "0ajm69pma7gigddlrq2qi4dsllz9vhm8gqwpkcdagdd2yaw7xfgz")))) + "1nqhk3n1s1p77g2bjnj55acicsrlyb2yasqxqwpx0w0djfx64ygm")))) (build-system gnu-build-system) (native-inputs `(("lzip" ,lzip))) (arguments From ab58ec0d95833b0290355a6b827d3871f9ad40ae Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Feb 2017 12:01:04 +0100 Subject: [PATCH 003/231] gnu: perl: Update to 5.24.1. * gnu/packages/perl.scm (perl): Update to 5.24.1. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3470121883..e513292214 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -50,14 +50,14 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.24.0") + (version "5.24.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "00jj8zr8fnihrxxhl8h936ssczv5x86qb618yz1ig40d1rp0qhvy")) + "1bqqb5ghfj4486nqr77kgsd8aff6a289jy7n2cdkznwvn34qbhg6")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" From 821072e22b0619087675bdc178081f0efa26e1a9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 14:56:52 +0200 Subject: [PATCH 004/231] gnu: gdbm: Update to 1.13. * gnu/packages/databases.scm (gdbm): Update to 1.13. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 675619d6ab..808f181250 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -123,14 +123,14 @@ either single machines or networked clusters.") (define-public gdbm (package (name "gdbm") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdbm/gdbm-" version ".tar.gz")) (sha256 (base32 - "1smwz4x5qa4js0zf1w3asq6z7mh20zlgwbh2bk5dczw6xrk22yyr")))) + "0lx201q20dvc70f8a3c9s7s18z15inlxvbffph97ngvrgnyjq9cx")))) (arguments `(#:configure-flags '("--enable-libgdbm-compat"))) (build-system gnu-build-system) (home-page "http://www.gnu.org.ua/software/gdbm") From 8c85cb1b9ff10de2df0f3395d0491c389b6596dd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 15:12:10 +0200 Subject: [PATCH 005/231] gnu: file: Update to 5.30. * gnu/packages/file.scm (file): Update to 5.30. --- gnu/packages/file.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm index a6239877a0..050e6715b1 100644 --- a/gnu/packages/file.scm +++ b/gnu/packages/file.scm @@ -28,14 +28,14 @@ (define-public file (package (name "file") - (version "5.28") + (version "5.30") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.astron.com/pub/file/file-" version ".tar.gz")) (sha256 (base32 - "04p0w9ggqq6cqvwhyni0flji1z0rwrz896hmhkxd2mc6dca5xjqf")))) + "057jpcyy8ws7q4s4sm8r1rxb8xycdbng2z4y9i98f094wlr28k39")))) (build-system gnu-build-system) ;; When cross-compiling, this package depends upon a native install of From 7134ac4cc7ca8a8ccde5642b726513b7d1c9c3b1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 15:27:24 +0200 Subject: [PATCH 006/231] gnu: libpthread-stubs: Update to 0.4. * gnu/packages/xorg.scm (libpthread-stubs): Update to 0.4. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 635c1832a4..5f9a59f54e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1120,7 +1120,7 @@ themselves.") (define-public libpthread-stubs (package (name "libpthread-stubs") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) @@ -1130,7 +1130,7 @@ themselves.") ".tar.bz2")) (sha256 (base32 - "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) + "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") From dede644945f07d7b19f48f06a909fa59f5c66fb0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 15:32:41 +0200 Subject: [PATCH 007/231] gnu: lzip: Update to 1.18. * gnu/packages/compression.scm (lzip): Update to 1.18. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 5404f66ecf..965225fdc8 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -457,14 +457,14 @@ some compression ratio).") (define-public lzip (package (name "lzip") - (version "1.16") + (version "1.18") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/lzip-" version ".tar.gz")) (sha256 (base32 - "0l9724rw1l3hg2ldr3n7ihqich4m9nc6y7l302bvdj4jmxdw530j")))) + "0jlizsavak8lc469zkjiyhpx4sbg07ij7mzq70dq5yhv7a3z6ygm")))) (build-system gnu-build-system) (home-page "http://www.nongnu.org/lzip/lzip.html") (synopsis "Lossless data compressor based on the LZMA algorithm") From 28938febd59c3df455a007cc84929f71550a785a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 16:04:59 +0200 Subject: [PATCH 008/231] gnu: lzip: Correct hash. This is a followup to dede644945f07d7b19f48f06a909fa59f5c66fb0. * gnu/packages/compression.scm (lzip)[source]: Use hash of ".gz" tarball instead of ".lz". --- gnu/packages/compression.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 965225fdc8..eed6c6bc12 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -464,7 +464,7 @@ some compression ratio).") version ".tar.gz")) (sha256 (base32 - "0jlizsavak8lc469zkjiyhpx4sbg07ij7mzq70dq5yhv7a3z6ygm")))) + "1p8lvc22sv3damld9ng8y6i8z2dvvpsbi9v7yhr5bc2a20m8iya7")))) (build-system gnu-build-system) (home-page "http://www.nongnu.org/lzip/lzip.html") (synopsis "Lossless data compressor based on the LZMA algorithm") From 70800cd6346616cf7cf21e464991ea91c38068e0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Apr 2017 16:06:51 +0200 Subject: [PATCH 009/231] gnu: sqlite: Update to 3.18.0. * gnu/packages/databases.scm (sqlite): Update to 3.18.0. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 808f181250..2ea29db52b 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -707,7 +707,7 @@ for example from a shell script.") (define-public sqlite (package (name "sqlite") - (version "3.17.0") + (version "3.18.0") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -723,7 +723,7 @@ for example from a shell script.") numeric-version ".tar.gz"))) (sha256 (base32 - "0k472gq0p706jq4529p60znvw02hdf172qxgbdv59q0n7anqbr54")))) + "0p5cx7nbjxk7glcm277ypi5w4gv144qazw79ql47svlpccj62mrp")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (arguments From 8fda37bca1e160e13e90e93d2d51640e8461611a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 6 Apr 2017 23:19:11 -0400 Subject: [PATCH 010/231] gnu: libpng: Update to 1.6.29. * gnu/packages/image.scm (libpng): Update to 1.6.29. --- gnu/packages/image.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b5b3a7283d..82fc7bfe7a 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -66,7 +66,7 @@ (define-public libpng (package (name "libpng") - (version "1.6.28") + (version "1.6.29") (source (origin (method url-fetch) (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" @@ -78,7 +78,8 @@ "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" "/libpng16/libpng-" version ".tar.xz"))) (sha256 - (base32 "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nxmwsfyrlyq")))) + (base32 + "0fgjqp7x6jynacmqh6dj72cn6nnf6yxjfqqqfsxrx0pyx22bcia2")))) (build-system gnu-build-system) ;; libpng.la says "-lz", so propagate it. From a33d518e24b305c7b0f81887c15eeabb65ec9411 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 7 Apr 2017 10:45:25 -0400 Subject: [PATCH 011/231] gnu: curl: Update to 7.53.1. * gnu/packages/curl.scm (curl): Update to 7.53.1. --- gnu/packages/curl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 22e18389e7..d0f4bbf295 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -40,14 +40,14 @@ (define-public curl (package (name "curl") - (version "7.53.0") + (version "7.53.1") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.lzma")) (sha256 (base32 - "1k0i31xygb804c61llhin5wbpcscg4gfqmbxcfkpdr1alwh7igrq")))) + "1qpm4qj5llr8f5bbl185gpjqknj47nzhvxd8j1vm6asgk3sly4jb")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages From b81d11e580dcddfc4fb2e156346ce4efbf293846 Mon Sep 17 00:00:00 2001 From: rennes Date: Tue, 21 Feb 2017 23:21:49 -0600 Subject: [PATCH 012/231] gnu: grep: Fix for gnulib library. * gnu/packages/patches/grep-gnulib-lock.patch: New file. * gnu/packages/base.scm (grep)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 4 ++- gnu/packages/patches/grep-gnulib-lock.patch | 32 +++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/grep-gnulib-lock.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9035753673..9528833551 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -618,6 +618,7 @@ dist_patch_DATA = \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/graphite2-ffloat-store.patch \ + %D%/packages/patches/grep-gnulib-lock.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/grub-CVE-2015-8370.patch \ %D%/packages/patches/grub-gets-undeclared.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c36b612f1..3fc76ad9e1 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,7 +87,8 @@ command-line arguments, multiple languages, and so on.") (sha256 (base32 "1dcasjp3a578nrvzrcn38mpizb8w1q6mvfzhjmcqqgkf0nsivj72")) - (patches (search-patches "grep-timing-sensitive-test.patch")))) + (patches (search-patches "grep-timing-sensitive-test.patch" + "grep-gnulib-lock.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it (arguments diff --git a/gnu/packages/patches/grep-gnulib-lock.patch b/gnu/packages/patches/grep-gnulib-lock.patch new file mode 100644 index 0000000000..68c33f1031 --- /dev/null +++ b/gnu/packages/patches/grep-gnulib-lock.patch @@ -0,0 +1,32 @@ +This patch fix error on 'gnulib' library required to build +'grep' package on GNU/Hurd. +The patch was adapted from upstream source repository: +'' + +Commit: 4084b3a1094372b960ce4a97634e08f4538c8bdd + +diff --git a/lib/glthread/lock.c b/lib/glthread/lock.c +index 061562b..afc86f4 100644 +--- a/lib/glthread/lock.c ++++ b/lib/glthread/lock.c +@@ -30,7 +30,7 @@ + + /* ------------------------- gl_rwlock_t datatype ------------------------- */ + +-# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (__GNU_LIBRARY__ > 1)) ++# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1))) + + # ifdef PTHREAD_RWLOCK_INITIALIZER + +diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h +index ec16d39..67932aa 100644 +--- a/lib/glthread/lock.h ++++ b/lib/glthread/lock.h +@@ -179,7 +179,7 @@ typedef pthread_mutex_t gl_lock_t; + + /* ------------------------- gl_rwlock_t datatype ------------------------- */ + +-# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (__GNU_LIBRARY__ > 1)) ++# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1))) + + # ifdef PTHREAD_RWLOCK_INITIALIZER From 27695e22df089e560995a5bcd503fac8011ead05 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 8 Apr 2017 13:38:12 -0400 Subject: [PATCH 013/231] gnu: libarchive: Update to 3.3.1. * gnu/packages/backup.scm (libarchive): Update to 3.3.1. --- gnu/packages/backup.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 74245e5812..c6487b966b 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -186,7 +186,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") (define-public libarchive (package (name "libarchive") - (version "3.2.2") + (version "3.3.1") (source (origin (method url-fetch) @@ -194,7 +194,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") version ".tar.gz")) (sha256 (base32 - "03q6y428rg723c9fj1vidzjw46w1vf8z0h95lkvz1l9jw571j739")))) + "1rr40hxlm9vy5z2zb5w7pyfkgd1a4s061qapm83s19accb8mpji9")))) (build-system gnu-build-system) ;; TODO: Add -L/path/to/nettle in libarchive.pc. (inputs From 34d624cef51f0e4eb4e888622b60fc2befe31fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 8 Apr 2017 23:10:50 +0200 Subject: [PATCH 014/231] gnu: Build derivations with Guile 2.2 by default. * gnu/packages/guile.scm (guile-2.0/fixed): Remove. (guile-2.2)[source]: Switch from tar.lz to tar.xz. (guile-2.2/fixed): New variable. * gnu/packages/commencement.scm (guile-final): Use GUILE-2.2/FIXED instead of GUILE-2.2/FIXED. (canonical-package): Mention 2.2 instead of 2.0. --- gnu/packages/commencement.scm | 4 ++-- gnu/packages/guile.scm | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 92f6e6c2ea..09a82b6b94 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -821,7 +821,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; This package must be public because other modules refer to it. However, ;; mark it as hidden so that 'fold-packages' ignores it. (package-with-bootstrap-guile - (package-with-explicit-inputs (hidden-package guile-2.0/fixed) + (package-with-explicit-inputs (hidden-package guile-2.2/fixed) %boot4-inputs (current-source-location) #:guile %bootstrap-guile))) @@ -940,7 +940,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" the implicit inputs of 'gnu-build-system', return that one, otherwise return PACKAGE. -The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.0, +The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.2, COREUTILS-FINAL vs. COREUTILS, etc." ;; XXX: This doesn't handle dependencies of the final inputs, such as ;; libunistring, GMP, etc. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 96fc84a960..46e6dea747 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -209,14 +209,6 @@ without requiring the source code to be rewritten.") (home-page "https://www.gnu.org/software/guile/") (license license:lgpl3+))) -(define-public guile-2.0/fixed - ;; A package of Guile 2.0 that's rarely changed. It is the one used - ;; in the `base' module, and thus changing it entails a full rebuild. - (package - (inherit guile-2.0) - (properties '((hidden? . #t))) ;people should install 'guile-2.0' - (replacement #f))) - (define-public guile-2.2 (package (inherit guile-2.0) (name "guile") @@ -224,11 +216,14 @@ without requiring the source code to be rewritten.") (replacement #f) (source (origin (method url-fetch) + + ;; Note: we are limited to one of the compression formats + ;; supported by the bootstrap binaries, so no lzip here. (uri (string-append "mirror://gnu/guile/guile-" version - ".tar.lz")) + ".tar.xz")) (sha256 (base32 - "083vp6754dp4d5pvcy4bqvxq60cayf92v5slf5cgij8bnvixgyvr")) + "05dmvhd1y135x7w5qfw4my42cfp6l8bbhjfxvchcc1cbdvzri0f1")) (modules '((guix build utils))) ;; Remove the pre-built object files. Instead, build everything @@ -247,6 +242,14 @@ without requiring the source code to be rewritten.") (files '("lib/guile/2.2/site-ccache" "share/guile/site/2.2"))))))) +(define-public guile-2.2/fixed + ;; A package of Guile 2.2 that's rarely changed. It is the one used + ;; in the `base' module, and thus changing it entails a full rebuild. + (package + (inherit guile-2.2) + (properties '((hidden? . #t))) ;people should install 'guile-2.2' + (replacement #f))) + (define-public guile-next (deprecated-package "guile-next" guile-2.2)) From 1cbd63f20527fd9c18d11e5e33c2817efe71c1ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 8 Apr 2017 23:20:54 +0200 Subject: [PATCH 015/231] gnu: coreutils: Update to 8.27. * gnu/packages/base.scm (coreutils): Update to 8.27. [source](patches): Remove "coreutils-fix-cross-compilation.patch" and add "coreutils-cut-huge-range-test.patch". [native-inputs]: Remove "coreutils-cut-huge-range-test.patch". [arguments]: Remove 'patch-cut-test' phase. Remove #:parallel-tests?. * gnu/local.mk (dist_patch_DATA): Remove "coreutils-fix-cross-compilation.patch". * gnu/packages/patches/coreutils-fix-cross-compilation.patch: Remove. * gnu/packages/patches/coreutils-cut-huge-range-test.patch: Adjust. --- gnu/local.mk | 1 - gnu/packages/base.scm | 38 ++++--------------- .../coreutils-cut-huge-range-test.patch | 29 +++++++++----- .../coreutils-fix-cross-compilation.patch | 15 -------- 4 files changed, 27 insertions(+), 56 deletions(-) delete mode 100644 gnu/packages/patches/coreutils-fix-cross-compilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9528833551..d4ce243c7a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -525,7 +525,6 @@ dist_patch_DATA = \ %D%/packages/patches/cmake-fix-tests.patch \ %D%/packages/patches/coda-use-system-libs.patch \ %D%/packages/patches/coreutils-cut-huge-range-test.patch \ - %D%/packages/patches/coreutils-fix-cross-compilation.patch \ %D%/packages/patches/cpio-CVE-2016-2037.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ %D%/packages/patches/cracklib-CVE-2016-6318.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3fc76ad9e1..7bcfd7a2e2 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -286,15 +286,15 @@ used to apply commands with arbitrarily long arguments.") (define-public coreutils (package (name "coreutils") - (version "8.26") + (version "8.27") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/coreutils/coreutils-" version ".tar.xz")) (sha256 (base32 - "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm")) - (patches (search-patches "coreutils-fix-cross-compilation.patch")))) + "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8")) + (patches (search-patches "coreutils-cut-huge-range-test.patch")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! @@ -309,21 +309,12 @@ used to apply commands with arbitrarily long arguments.") ;; copy of help2man. However, don't pass it when cross-compiling since ;; that would lead it to try to run programs to get their '--help' output ;; for help2man. - `(,@(if (%current-target-system) - '() - `(("perl" ,perl))) - - ;; Apply this patch only on ARM to avoid a full rebuild. - ;; TODO: Move to 'patches' in the next update cycle. - ,@(if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - `(("cut-test.patch" - ,(search-patch "coreutils-cut-huge-range-test.patch"))) - '()))) + (if (%current-target-system) + '() + `(("perl" ,perl)))) (outputs '("out" "debug")) (arguments `(#:parallel-build? #f ; help2man may be called too early - #:parallel-tests? #f ; race condition fixed after 8.26 #:phases (alist-cons-before 'build 'patch-shell-references (lambda* (#:key inputs #:allow-other-keys) @@ -338,22 +329,7 @@ used to apply commands with arbitrarily long arguments.") (substitute* (find-files "tests" "\\.sh$") (("#!/bin/sh") (format #f "#!~a/bin/sh" bash))))) - - ,@(if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - '((alist-cons-before - 'build 'patch-cut-test - (lambda* (#:key inputs native-inputs - #:allow-other-keys) - (let ((patch (or (assoc-ref inputs - "cut-test.patch") - (assoc-ref native-inputs - "cut-test.patch")))) - (zero? - (system* "patch" "-p1" "--force" - "--input" patch)))) - %standard-phases)) - '(%standard-phases))))) + %standard-phases))) (synopsis "Core GNU utilities (file, text, shell)") (description "GNU Coreutils includes all of the basic command-line tools that are diff --git a/gnu/packages/patches/coreutils-cut-huge-range-test.patch b/gnu/packages/patches/coreutils-cut-huge-range-test.patch index 0be2cef2b8..e3a0ef28eb 100644 --- a/gnu/packages/patches/coreutils-cut-huge-range-test.patch +++ b/gnu/packages/patches/coreutils-cut-huge-range-test.patch @@ -1,22 +1,33 @@ This patch fixes 100% reproducible test failures on arm-linux-gnueabihf in our -the build environment chroot, as reported at . -It is a followup to this upstream patch: +the build environment chroot, as reported at , +and now on x86_64-linux-gnu as well. It is a variant of this upstream patch: - commit 28803c8a3144d5d4363cdbd148bbe067af1a67c2 - Author: Pádraig Brady - Date: Fri Mar 3 00:25:54 2017 -0800 + commit f5422009389678680dba9ff4ecb7d33632ee3383 + Author: Ludovic Courtès + Date: Mon Mar 27 20:34:39 2017 -0700 - tests: avoid a spurious failure on older debian + tests: avoid false ulimit failure on some systems + + * tests/misc/cut-huge-range.sh: On some systems returns_ may + use more memory, so incorporate that in the determination + of the ulimit value to use. Noticed on ARMv7 with bash-4.4.12, + and x86_64 with bash-4.2.37. + Fixes http://bugs.gnu.org/26253 ... which appeared to be insufficient. +diff --git a/tests/misc/cut-huge-range.sh b/tests/misc/cut-huge-range.sh +index 6b3c5b6ed..55b7b640e 100755 --- a/tests/misc/cut-huge-range.sh +++ b/tests/misc/cut-huge-range.sh -@@ -22,6 +22,7 @@ getlimits_ +@@ -20,9 +20,9 @@ + print_ver_ cut + getlimits_ - vm=$(get_min_ulimit_v_ cut -b1 /dev/null) \ +-vm=$(get_min_ulimit_v_ cut -b1 /dev/null) \ ++vm=$(get_min_ulimit_v_ sh -c 'cut -b1 /dev/null') \ || skip_ "this shell lacks ulimit support" -+vm=$(($vm + $(getconf PAGESIZE))) # avoid spurious failures + vm=$(($vm + 1000)) # avoid spurious failures # sed script to subtract one from the input. # Each input line should consist of a positive decimal number. diff --git a/gnu/packages/patches/coreutils-fix-cross-compilation.patch b/gnu/packages/patches/coreutils-fix-cross-compilation.patch deleted file mode 100644 index 3f0d35c33e..0000000000 --- a/gnu/packages/patches/coreutils-fix-cross-compilation.patch +++ /dev/null @@ -1,15 +0,0 @@ -Coreutils fails to cross compile for other platforms because cu_install_program -is not being evaluated properly. This patch fixes it. -See ---- a/Makefile.in -+++ b/Makefile.in -@@ -5023,7 +5023,7 @@ pr = progs-readme - @CROSS_COMPILING_FALSE@cu_install_program = src/ginstall - - # Use the just-built 'ginstall', when not cross-compiling. --@CROSS_COMPILING_TRUE@cu_install_program = @INSTALL_PROGRAM@ -+@CROSS_COMPILING_TRUE@cu_install_program := @INSTALL@ - info_TEXINFOS = doc/coreutils.texi - doc_coreutils_TEXINFOS = \ - doc/perm.texi \ - From 56fb1421beb15e2197521ff23f21cfce0d0c58dc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 11 Apr 2017 00:33:04 -0400 Subject: [PATCH 016/231] gnu: pango: Update to 1.40.5. * gnu/packages/gtk.scm (pango): Update to 1.40.5. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 770a8c9160..ae1ff6a8cf 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -206,7 +206,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.40.3") + (version "1.40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -214,7 +214,7 @@ affine transformation (scale, rotation, shear, etc.).") name "-" version ".tar.xz")) (sha256 (base32 - "1lqi4yncw5q0v7g5makzxyp18g5cksqyld8m1wx0qli8wxf8pfmb")))) + "1j81kmdq2kndayahfck60myd05hj5qd7mixj0w5kchkc8m082x14")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) From 139272f44f1af945f903936b87c46269ab6659b6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 11 Apr 2017 17:27:37 +0200 Subject: [PATCH 017/231] gnu: pkg-config: Update to 0.29.2. * gnu/packages/pkg-config.scm (%pkg-config): Update to 0.29.2. --- gnu/packages/pkg-config.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 01069d27a5..12f17f1e3c 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -30,7 +30,7 @@ (define-public %pkg-config (package (name "pkg-config") - (version "0.29.1") + (version "0.29.2") (source (origin (method url-fetch) (uri (list @@ -46,7 +46,7 @@ version ".tar.gz"))) (sha256 (base32 - "00dh1jn8rbppmgbhhgqhmbh3c58b0gccy39rsjdlcma50sg3rd5y")))) + "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-internal-glib"))) (native-search-paths From 480da86d0969a667e8d2a564de535cb73a6a2229 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 12 Apr 2017 21:17:24 +0200 Subject: [PATCH 018/231] gnu: gettext: Fix make check issues on multi-core machines. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/gettext-gnulib-multi-core.patch: New file. * gnu/packages/patches/gettext-multi-core.patch: New file. * gnu/packages/gettext.scm (gettext-minimal)[patches]: Add a reference to the two previous patches. Signed-off-by: Ludovic Courtès --- gnu/packages/gettext.scm | 9 +- .../patches/gettext-gnulib-multi-core.patch | 178 +++++++++++++++++ gnu/packages/patches/gettext-multi-core.patch | 185 ++++++++++++++++++ 3 files changed, 371 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gettext-gnulib-multi-core.patch create mode 100644 gnu/packages/patches/gettext-multi-core.patch diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index f583d1c2c2..2a749e3a6d 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,13 @@ version ".tar.gz")) (sha256 (base32 - "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")))) + "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")) + ;; test-lock has performance issues on multi-core machines, + ;; it hangs or takes a long time to complete. + ;; There is one commit in gettext and one commit + ;; in gettext's embedded gnulib to fix this issue. + (patches (search-patches "gettext-multi-core.patch" + "gettext-gnulib-multi-core.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of HTML diff --git a/gnu/packages/patches/gettext-gnulib-multi-core.patch b/gnu/packages/patches/gettext-gnulib-multi-core.patch new file mode 100644 index 0000000000..5ccdbe4ca1 --- /dev/null +++ b/gnu/packages/patches/gettext-gnulib-multi-core.patch @@ -0,0 +1,178 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/gettext-tools/gnulib-tests/test-lock.c b/gettext-tools/gnulib-tests/test-lock.c +index cb734b4e6..aa6de2739 100644 +--- a/gettext-tools/gnulib-tests/test-lock.c ++++ b/gettext-tools/gnulib-tests/test-lock.c +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -103,6 +110,51 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +222,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +252,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +263,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +307,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +337,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +349,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +410,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +440,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +451,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } diff --git a/gnu/packages/patches/gettext-multi-core.patch b/gnu/packages/patches/gettext-multi-core.patch new file mode 100644 index 0000000000..31a378cfd0 --- /dev/null +++ b/gnu/packages/patches/gettext-multi-core.patch @@ -0,0 +1,185 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc in Gettext +by Bruno Haible . + +diff --git a/gettext-runtime/tests/test-lock.c b/gettext-runtime/tests/test-lock.c +index d279d1d60..51cec3d6b 100644 +--- a/gettext-runtime/tests/test-lock.c ++++ b/gettext-runtime/tests/test-lock.c +@@ -1,5 +1,5 @@ + /* Test of locking in multithreaded situations. +- Copyright (C) 2005, 2008-2016 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -214,6 +221,51 @@ static inline void * gl_thread_self_pointer (void) + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -281,12 +333,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -311,7 +363,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -321,7 +374,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -365,12 +418,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -395,7 +448,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -406,7 +460,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -467,12 +521,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -497,7 +551,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -507,7 +562,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } From bd54c5e3faa9fc46b00428be2f7a5e16afc64f5e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 19 Feb 2017 19:21:06 +0000 Subject: [PATCH 019/231] gnu: gcc: Adjust for "alpha-linux". MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change allows cross-building packages by just using --target=alpha-unknown-linux-gnu re2c: $ ./pre-inst-env guix build --target=alpha-unknown-linux-gnu re2c $ file /gnu/store/p1z9iszzb4ng0vzc535sc2ha33ax24l6-re2c-0.16/bin/re2c /gnu/store/p1z9iszzb4ng0vzc535sc2ha33ax24l6-re2c-0.16/bin/re2c: \ ELF 64-bit LSB executable, Alpha (unofficial), version 1 (SYSV), dynamically linked, \ interpreter /gnu/store/0z5d6z3hh41w7z5g2g82zlnwgpbj0i1a-glibc-cross-alpha-unknown-linux-gnu-2.24/lib/ld-linux.so.2, \ for GNU/Linux 3.2.0, not stripped GCC for alpha uses 'GLIBC_DYNAMIC_LINKER"/lib/ld-linux.so.2"' * gnu/packages/gcc.scm (gcc-4.7)[arguments]: Fix GLIBC_DYNAMIC_LINKER substitution when delimiter is a tab. Signed-off-by: Sergei Trofimovich Signed-off-by: Ludovic Courtès --- gnu/packages/gcc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 00e2fa7d66..0fdb5ca9b8 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -213,7 +213,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; Fix the dynamic linker's file name. (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") - (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$" + (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" _ gnu-user suffix) (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" gnu-user suffix From dc4ebebd61896b1122fde97644325d06e3f46b47 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 6 Mar 2017 22:21:43 +0000 Subject: [PATCH 020/231] gnu: libffi: Fix builds on Alpha. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/libffi-3.2.1-complex_alpha.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/libffi.scm (libffi)[source]: Use it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/libffi.scm | 3 +- .../patches/libffi-3.2.1-complex-alpha.patch | 28 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libffi-3.2.1-complex-alpha.patch diff --git a/gnu/local.mk b/gnu/local.mk index d4ce243c7a..51f92f0882 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -697,6 +697,7 @@ dist_patch_DATA = \ %D%/packages/patches/libevent-2.1-skip-failing-test.patch \ %D%/packages/patches/libextractor-ffmpeg-3.patch \ %D%/packages/patches/libgit2-use-after-free.patch \ + %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/liboop-mips64-deplibs-fix.patch \ diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 13938f7ee8..16475affe6 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -42,7 +42,8 @@ name "-" version ".tar.gz")) (sha256 (base32 - "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")))) + "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")) + (patches (search-patches "libffi-3.2.1-complex-alpha.patch")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-after 'install 'post-install ,post-install-phase diff --git a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch b/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch new file mode 100644 index 0000000000..ebbc0635a5 --- /dev/null +++ b/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch @@ -0,0 +1,28 @@ +The patch fixes build failure of form: + ../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h" +Upstream fixed the bug in a more invasive way +but didn't have releases since 3.2.1. + +The patch is taken from Gentoo: +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch + +--- libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:15.000000000 +0100 ++++ libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100 +@@ -279,6 +279,7 @@ + .gprel32 $load_64 # FFI_TYPE_SINT64 + .gprel32 $load_none # FFI_TYPE_STRUCT + .gprel32 $load_64 # FFI_TYPE_POINTER ++ .gprel32 $load_none # FFI_TYPE_COMPLEX + + /* Assert that the table above is in sync with ffi.h. */ + +@@ -294,7 +295,8 @@ + || FFI_TYPE_SINT64 != 12 \ + || FFI_TYPE_STRUCT != 13 \ + || FFI_TYPE_POINTER != 14 \ +- || FFI_TYPE_LAST != 14 ++ || FFI_TYPE_COMPLEX != 15 \ ++ || FFI_TYPE_LAST != 15 + #error "osf.S out of sync with ffi.h" + #endif + From c8a3dea847bb9f87fa1876d0c6c3356d6226f121 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 30 Mar 2017 03:10:48 -0400 Subject: [PATCH 021/231] packages: Enable threaded compression of source tarballs. This provides a ~2x speedup when using 4 threads. * guix/packages.scm (patch-and-repack)[build]: Invoke xz with '--threads=0' when re-packing tarballs. --- guix/packages.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index 61171b8342..29351ace1d 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -576,7 +576,12 @@ specifies modules in scope when evaluating SNIPPET." #:fail-on-error? #t))))) (zero? (apply system* (string-append #+tar "/bin/tar") - "cvfa" #$output + "cvf" #$output + ;; The bootstrap xz does not support + ;; threaded compression (introduced in + ;; 5.2.0), but it ignores the extra flag. + (string-append "--use-compress-program=" + #+xz "/bin/xz --threads=0") ;; avoid non-determinism in the archive "--mtime=@0" "--owner=root:0" From dd58c53399e75abcf0bb89a27ffc1675e434faae Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 12 Apr 2017 22:29:37 +0100 Subject: [PATCH 022/231] gnu: glibc/linux: Re-enable parallel build. Parallel build failure was fixed upstream as: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=e8b6be0016f131c2ac72bf3213eabdb59800e63b * gnu/packages/base.scm (glibc/linux): Re-enable parallel build. Signed-off-by: Sergei Trofimovich Signed-off-by: Kei Kebreau --- gnu/packages/base.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7bcfd7a2e2..c568590214 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -541,10 +541,6 @@ store.") (arguments `(#:out-of-source? #t - ;; In version 2.21, there a race in the 'elf' directory, see - ;; . - #:parallel-build? #f - ;; The libraries have an empty RUNPATH, but some, such as the versioned ;; libraries (libdl-2.24.so, etc.) have ld.so marked as NEEDED. Since ;; these libraries are always going to be found anyway, just skip From 1ae93fc9839463885e08788d7dd35393a4d8a8be Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:27 +0200 Subject: [PATCH 023/231] build: Add two missing patches to local.mk. gnu/local.mk (dist_patch): Add gettext-multi-core.patch and gettext-gnulib-multi-core.patch. Commit 480da86d0969a667e8d2a564de535cb73a6a2229 ommited them. Signed-off-by: Marius Bakke --- gnu/local.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index 51f92f0882..620fb07f32 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -593,6 +593,8 @@ dist_patch_DATA = \ %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ + %D%/packages/patches/gettext-multi-core.patch \ + %D%/packages/patches/gettext-gnulib-multi-core.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghostscript-CVE-2013-5653.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ From da8e256a527a21ad88005c1d84514d910b964c19 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:28 +0200 Subject: [PATCH 024/231] gnu: findutils: Fix make check issues on multi-core machines. * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/base.scm (findutils)[patches]: Add a reference to the previous patch. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/base.scm | 10 +- .../patches/findutils-gnulib-multi-core.patch | 294 ++++++++++++++++++ 3 files changed, 303 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/findutils-gnulib-multi-core.patch diff --git a/gnu/local.mk b/gnu/local.mk index 620fb07f32..b1dbfec5e2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -562,6 +562,7 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/findutils-localstatedir.patch \ + %D%/packages/patches/findutils-gnulib-multi-core.patch \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/fltk-shared-lib-defines.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c568590214..004aacfa04 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -259,8 +260,13 @@ interactive means to merge two files.") (sha256 (base32 "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches "findutils-localstatedir.patch" - "findutils-test-xargs.patch")))) + (patches (search-patches + "findutils-localstatedir.patch" + "findutils-test-xargs.patch" + ;; test-lock has performance issues on multi-core + ;; machines, it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + "findutils-gnulib-multi-core.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list diff --git a/gnu/packages/patches/findutils-gnulib-multi-core.patch b/gnu/packages/patches/findutils-gnulib-multi-core.patch new file mode 100644 index 0000000000..5a37f4f1f9 --- /dev/null +++ b/gnu/packages/patches/findutils-gnulib-multi-core.patch @@ -0,0 +1,294 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index a992f64..fb18dee 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -1,5 +1,5 @@ + /* Test of locking in multithreaded situations. +- Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -50,6 +50,28 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a semaphore or a lock is used to protect ++ these variables. If set to 1, 'volatile' is used; this is theoretically ++ equivalent but can lead to much slower execution (e.g. 30x slower total ++ run time on a 40-core machine), because 'volatile' does not imply any ++ synchronization/communication between different CPUs. */ ++#define USE_VOLATILE 0 ++ ++#if USE_POSIX_THREADS && HAVE_SEMAPHORE_H ++/* Whether to use a semaphore to communicate information between threads. ++ If set to 0, a lock is used. If set to 1, a semaphore is used. ++ Uncomment this to reduce the dependencies of this test. */ ++# define USE_SEMAPHORE 1 ++/* Mac OS X provides only named semaphores (sem_open); its facility for ++ unnamed semaphores (sem_init) does not work. */ ++# if defined __APPLE__ && defined __MACH__ ++# define USE_NAMED_SEMAPHORE 1 ++# else ++# define USE_UNNAMED_SEMAPHORE 1 ++# endif ++#endif ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -90,6 +112,12 @@ + + #include "glthread/thread.h" + #include "glthread/yield.h" ++#if USE_SEMAPHORE ++# include ++# include ++# include ++# include ++#endif + + #if ENABLE_DEBUGGING + # define dbgprintf printf +@@ -103,6 +131,132 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#elif USE_SEMAPHORE ++/* This atomic_int implementation can only support the values 0 and 1. ++ It is initially 0 and can be set to 1 only once. */ ++# if USE_UNNAMED_SEMAPHORE ++struct atomic_int { ++ sem_t semaphore; ++}; ++#define atomic_int_semaphore(ai) (&(ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_init (&ai->semaphore, 0, 0); ++} ++# endif ++# if USE_NAMED_SEMAPHORE ++struct atomic_int { ++ sem_t *semaphore; ++}; ++#define atomic_int_semaphore(ai) ((ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_t *s; ++ unsigned int count; ++ for (count = 0; ; count++) ++ { ++ char name[80]; ++ /* Use getpid() in the name, so that different processes running at the ++ same time will not interfere. Use ai in the name, so that different ++ atomic_int in the same process will not interfere. Use a count in ++ the name, so that even in the (unlikely) case that a semaphore with ++ the specified name already exists, we can try a different name. */ ++ sprintf (name, "test-lock-%lu-%p-%u", ++ (unsigned long) getpid (), ai, count); ++ s = sem_open (name, O_CREAT | O_EXCL, 0600, 0); ++ if (s == SEM_FAILED) ++ { ++ if (errno == EEXIST) ++ /* Retry with a different name. */ ++ continue; ++ else ++ { ++ perror ("sem_open failed"); ++ abort (); ++ } ++ } ++ else ++ { ++ /* Try not to leave a semaphore hanging around on the file system ++ eternally, if we can avoid it. */ ++ sem_unlink (name); ++ break; ++ } ++ } ++ ai->semaphore = s; ++} ++# endif ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ if (sem_trywait (atomic_int_semaphore (ai)) == 0) ++ { ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++ return 1; ++ } ++ else if (errno == EAGAIN) ++ return 0; ++ else ++ abort (); ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ if (new_value == 0) ++ /* It's already initialized with 0. */ ++ return; ++ /* To set the value 1: */ ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +324,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +354,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +365,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +409,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +439,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +451,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +512,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +542,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +553,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } From b100e0e89ebd1a6e73d6be4e354dd684abb057a4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:29 +0200 Subject: [PATCH 025/231] gnu: libunistring: Fix make check issues on multi-core machines. * gnu/packages/patches/libunistring-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/libunistring.scm (libunistring)[patches]: Add a reference to previous patch. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/libunistring.scm | 8 +- .../libunistring-gnulib-multi-core.patch | 178 ++++++++++++++++++ 3 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libunistring-gnulib-multi-core.patch diff --git a/gnu/local.mk b/gnu/local.mk index b1dbfec5e2..a0d7cfd0ac 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -732,6 +732,7 @@ dist_patch_DATA = \ %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libunwind-CVE-2015-3239.patch \ + %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libwmf-CAN-2004-0941.patch \ %D%/packages/patches/libwmf-CVE-2006-3376.patch \ diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index 212bec4b49..df02f68cea 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages base)) (define-public libunistring @@ -37,7 +39,11 @@ version ".tar.xz")) (sha256 (base32 - "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")))) + "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")) + ;; test-lock has performance issues on multi-core machines, + ;; it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + (patches (search-patches "libunistring-gnulib-multi-core.patch")))) (propagated-inputs (libiconv-if-needed)) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/libunistring-gnulib-multi-core.patch b/gnu/packages/patches/libunistring-gnulib-multi-core.patch new file mode 100644 index 0000000000..709b20c6d2 --- /dev/null +++ b/gnu/packages/patches/libunistring-gnulib-multi-core.patch @@ -0,0 +1,178 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index cb734b4e6..aa6de2739 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -103,6 +110,51 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +222,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +252,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +263,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +307,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +337,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +349,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +410,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +440,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +451,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } From 6d7228465e3c023a6d59ddd70f1b16d943ad86b2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Apr 2017 19:11:38 +0300 Subject: [PATCH 026/231] gnu: less: Update to 487. * gnu/packages/less.scm (less): Update to 487. --- gnu/packages/less.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index efdf8ab0c4..0aa4665840 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -26,7 +26,7 @@ (define-public less (package (name "less") - (version "481") + (version "487") (source (origin (method url-fetch) @@ -34,7 +34,7 @@ version ".tar.gz")) (sha256 (base32 - "19fxj0h10y5bhr3a1xa7kqvnwl44db3sdypz8jxl1q79yln8z8rz")))) + "01i7n6jaxwmww3pasy3hg38zc6x7jw0w05mqqvh6caqbrdaq9p7k")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "https://www.gnu.org/software/less/") From 74f04d85566c8a6a83ec06e60df1f5942fa853d8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Apr 2017 19:12:42 +0300 Subject: [PATCH 027/231] gnu: libsigsegv: Update to 2.11. * gnu/packages/libsigsegv.scm (libsigsegv): Update to 2.11. --- gnu/packages/libsigsegv.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm index 41e7345351..608acba696 100644 --- a/gnu/packages/libsigsegv.scm +++ b/gnu/packages/libsigsegv.scm @@ -25,14 +25,14 @@ (define-public libsigsegv (package (name "libsigsegv") - (version "2.10") + (version "2.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libsigsegv/libsigsegv-" version ".tar.gz")) (sha256 - (base32 "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44")))) + (base32 "063swdvq7mbmc1clv0rnh20grwln1zfc2qnm0sa1hivcxyr2wz6x")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/libsigsegv/") (synopsis "Library for handling page faults") From 0c1a9438dd64137a68481c64ae6b61f4660d536a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Apr 2017 19:14:17 +0300 Subject: [PATCH 028/231] gnu: libsigsegv: Use 'modify-phases' syntax. * gnu/packages/libsigsegv.scm (libsigsegv)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/libsigsegv.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm index 608acba696..2a44819820 100644 --- a/gnu/packages/libsigsegv.scm +++ b/gnu/packages/libsigsegv.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,12 +45,12 @@ ;; linux-libre-headers-cross-mips64el-linux-gnu-3.3.8/include/asm/sigcontext.h:57:8: error: redefinition of 'struct sigcontext' (if (string-contains (or (%current-target-system) (%current-system)) "mips64el") - `(#:phases (alist-cons-before - 'configure 'patch-mips-old-h - (lambda _ - (substitute* "src/fault-linux-mips-old.h" - (("#include ") ""))) - %standard-phases)) + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'patch-mips-old-h + (lambda _ + (substitute* "src/fault-linux-mips-old.h" + (("#include ") "")) + #t)))) '())) (description "GNU libsigsegv is a library to handle page faults, which occur when a From 8e71d6612d37629f8e77d7ab77c67d3623519543 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Apr 2017 19:15:49 +0300 Subject: [PATCH 029/231] gnu: libgpg-error: Update to 1.27. * gnu/packages/gnupg.scm (libgpg-error): Update to 1.27. --- gnu/packages/gnupg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 532dbf88f7..fc22c43a0b 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 ng0 @@ -58,7 +58,7 @@ (define-public libgpg-error (package (name "libgpg-error") - (version "1.26") + (version "1.27") (source (origin (method url-fetch) @@ -66,7 +66,7 @@ version ".tar.bz2")) (sha256 (base32 - "0sgfia0syq78k1c9h10rkhc1nfv5v097icrprlx2x4qn074wnjsc")))) + "1li95ni122fzinzlmxbln63nmgij63irxfvi52ws4zfbzv3am4sg")))) (build-system gnu-build-system) (home-page "https://gnupg.org") (synopsis "Library of error values for GnuPG components") From ecc5bc33a347b8f1792414abb43d1170f0b4dd1e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Apr 2017 19:20:41 +0300 Subject: [PATCH 030/231] gnu: bc: Use 'modify-phases' syntax. * gnu/packages/algebra.scm (bc)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/algebra.scm | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 98bb2aeb71..1f34e86b23 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -479,22 +480,22 @@ binary.") (native-inputs `(("flex" ,flex))) (arguments '(#:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This old `configure' script doesn't support - ;; variables passed as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* - "./configure" - (string-append "--prefix=" out) - ;; By default, man and info pages are put in - ;; PREFIX/{man,info}, but we want them in - ;; PREFIX/share/{man,info}. - (string-append "--mandir=" out "/share/man") - (string-append "--infodir=" out "/share/info"))))) - %standard-phases))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; This old `configure' script doesn't support + ;; variables passed as arguments. + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (which "bash")) + (zero? + (system* + "./configure" + (string-append "--prefix=" out) + ;; By default, man and info pages are put in + ;; PREFIX/{man,info}, but we want them in + ;; PREFIX/share/{man,info}. + (string-append "--mandir=" out "/share/man") + (string-append "--infodir=" out "/share/info"))))))))) (home-page "https://www.gnu.org/software/bc/") (synopsis "Arbitrary precision numeric processing language") (description From a55fbab7229e5a81f7d65a454096a49131a42f5b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 18 Apr 2017 06:38:01 +0300 Subject: [PATCH 031/231] gnu: libiconv: Update to 1.15. * gnu/packages/base.scm (libiconv): Update to 1.15. [source]: Remove snippet. --- gnu/packages/base.scm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 004aacfa04..d52c48d3cf 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Mathieu Othacehe @@ -1075,21 +1075,14 @@ and daylight-saving rules.") (define-public libiconv (package (name "libiconv") - (version "1.14") + (version "1.15") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libiconv/libiconv-" version ".tar.gz")) (sha256 (base32 - "04q6lgl3kglmmhw59igq1n7v3rp1rpkypl366cy1k1yn2znlvckj")) - (modules '((guix build utils))) - (snippet - ;; Work around "declared gets" error on glibc systems (fixed by - ;; Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348.) - '(substitute* "srclib/stdio.in.h" - (("^#undef gets") "") - (("^_GL_WARN_ON_USE \\(gets.*") ""))))) + "0y1ij745r4p48mxq84rax40p10ln7fc7m243p8k8sia519i3dxfc")))) (build-system gnu-build-system) (synopsis "Character set conversion library") (description From 78dea6f1d4a85dd9571ccbd604239912ba3a18b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 Apr 2017 23:38:12 +0200 Subject: [PATCH 032/231] gnu: ld-wrapper: Build with Guile 2.2. Reported by Sergei Trofimovich . * gnu/packages/base.scm (make-ld-wrapper): Change #:guile to default to GUILE-2.2. * gnu/packages/commencement.scm (ld-wrapper): Define in terms of 'make-ld-wrapper' such that #:guile-for-build and #:guile are the same. --- gnu/packages/base.scm | 2 +- gnu/packages/commencement.scm | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d52c48d3cf..4fd9ed87e8 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -442,7 +442,7 @@ included.") (define* (make-ld-wrapper name #:key (target (const #f)) binutils - (guile (canonical-package guile-2.0)) + (guile (canonical-package guile-2.2)) (bash (canonical-package bash)) (guile-for-build guile)) "Return a package called NAME that contains a wrapper for the 'ld' program diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 09a82b6b94..baabb16ac6 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -842,12 +842,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define-public ld-wrapper ;; The final 'ld' wrapper, which uses the final Guile and Binutils. - (package (inherit ld-wrapper-boot3) - (name "ld-wrapper") - (inputs `(("guile" ,guile-final) - ("bash" ,bash-final) - ,@(fold alist-delete (package-inputs ld-wrapper-boot3) - '("guile" "bash")))))) + (make-ld-wrapper "ld-wrapper" + #:binutils binutils-final + #:guile guile-final + #:bash bash-final)) (define %boot5-inputs ;; Now with UTF-8 locales. Remember that the bootstrap binaries were built From f98adb1cb3315a68b7f6c741fa3d647c305db369 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 23 Apr 2017 19:04:00 +0300 Subject: [PATCH 033/231] gnu: libidn2: Update to 2.0.1. * gnu/packages/libidn.scm (libidn2): Update to 2.0.1. [source]: Download from main GNU server. [arguments]: Remove 'create-pkgconfig-file phase. --- gnu/packages/libidn.scm | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm index da6c7efb6f..b17dc4f2d6 100644 --- a/gnu/packages/libidn.scm +++ b/gnu/packages/libidn.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Andreas Enge -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -53,42 +53,17 @@ Java libraries.") (define-public libidn2 (package (name "libidn2") - (version "0.16") + (version "2.0.1") (source (origin (method url-fetch) - (uri (string-append "ftp://alpha.gnu.org/gnu/libidn/libidn2-" - version ".tar.gz")) + (uri (string-append "mirror://gnu/libidn/" name "-" version + ".tar.xz")) (sha256 (base32 - "13v8kh4d5nfkymai88zlw3h7k4x9khrpdpv97waf4ah8ykzrxb9g")))) - ;; XXX: Make sure to remove the 'create-pkg-config' phase - ;; below when this package is updated to >= 0.17. + "0irz2wlzdllpxr2w7lglryj88fy2ww3ilv7ang5d0s30jddjbg45")))) (inputs `(("libunistring" ,libunistring))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'create-pkgconfig-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (pkgconfig (string-append out "/lib/pkgconfig"))) - (mkdir-p pkgconfig) - (call-with-output-file (string-append pkgconfig "/libidn2.pc") - (lambda (port) - (format port "prefix=~a -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: Libidn2 -Description: Library implementing IDNA2008 and TR46 -Version: ~a -Libs: -L${libdir} -lidn2 -Cflags: -I${includedir} -" - out ,version))) - #t)))))) (synopsis "Internationalized domain name library for IDNA2008") (description "Libidn2 is an internationalized domain library implementing the IDNA2008 specifications. Libidn2 is believed to be a complete IDNA2008 From 4a4e60f43328cb494267abc16c3fc4d039c07323 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 26 Apr 2017 17:27:43 +0200 Subject: [PATCH 034/231] gnu: boost: Update to 1.64.0. * gnu/packages/boost.scm (boost): Update to 1.64.0. --- gnu/packages/boost.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index dfaa853533..5d2056fc7d 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -35,7 +35,7 @@ (define-public boost (package (name "boost") - (version "1.63.0") + (version "1.64.0") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ ".tar.bz2")) (sha256 (base32 - "1c5kzhcqahnic55dxcnw7r80qvwx5sfa2sa97yzv7xjrywljbbmy")))) + "0cikd35xfkpg9nnl76yqqnqxnf3hyfjjww8xjd4akflprsm5rk3v")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (native-inputs From ed788c31cfac5ec864ad45fb09b2d014fc62461b Mon Sep 17 00:00:00 2001 From: rennes Date: Mon, 1 May 2017 08:41:04 -0500 Subject: [PATCH 035/231] gnu: libgc: Fix Check for Hurd systems. * gnu/packages/bdw-gc.scm (libgc)[arguments]: On GNU/Hurd systems add '--disable-gcj-support' to #:configure-flags. Adjust #:configure-flags to disable GCJ support and pass the 'gctest' test. --- gnu/packages/bdw-gc.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index b9732374d7..790a238579 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2017 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +24,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages hurd)) (define-public libgc (package @@ -38,8 +40,20 @@ "143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '(;; Install gc_cpp.h et al. - "--enable-cplusplus"))) + `(#:configure-flags + (list + ;; Install gc_cpp.h et al. + "--enable-cplusplus" + ;; In GNU/Hurd systems during the 'Check' phase, + ;; there is a deadlock caused by the 'gctest' test. + ;; To disable the error set "--disable-gcj-support" + ;; to configure script. See bug report and discussion: + ;; + ;; + ,@(if (hurd-triplet? (or (%current-system) + (%current-target-system))) + '("--disable-gcj-support") + '())))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libatomic-ops" ,libatomic-ops))) (outputs '("out" "debug")) From 7cfc200365f3c14f35aa5ebc5a1f1f7c36679e99 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 7 May 2017 20:21:33 +0200 Subject: [PATCH 036/231] gnu: re2: Add missing '#:modules' imports. Fixes . * gnu/packages/regex.scm (re2): Add missing '#:modules' imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/regex.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index f55faaf042..7790505250 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -41,7 +41,10 @@ "1s3kdcrz2mwi30k6pz9jkv5vk8b704bz65xgcr67wbn2pn3hpnqr")))) (build-system gnu-build-system) (arguments - `(#:test-target "test" + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:test-target "test" ;; There is no configure step, but the Makefile respects a prefix. ;; As ./configure does not know anything about the target CXX ;; we need to specify TARGET-g++ explicitly. From bba6bbba03006fe47eea8254a69dd0f824e91b6f Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 6 May 2017 23:24:08 +0100 Subject: [PATCH 037/231] gnu: serf: Add missing '#:modules' imports. Fixes . * gnu/packages/web.scm (serf): Add missing '#:modules' imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/web.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7215dcbed1..24141b5ecf 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -832,7 +832,10 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.") ;;("gss" ,gss) ("zlib" ,zlib))) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases ;; TODO: Add scons-build-system and use it here. (modify-phases %standard-phases (delete 'configure) From 809bc3948e2441daae32dfd1beb6c1984b840315 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 6 May 2017 16:40:35 +0100 Subject: [PATCH 038/231] gnu: gs-fonts: Add missing module imports. Fixes . * gnu/packages/ghostscript.scm (gs-fonts): Add missing modules to %modify-phases call: gnu-build-system, utils, srfi-1. Signed-off-by: Danny Milosavljevic --- gnu/packages/ghostscript.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 076046e721..33b8f51b6d 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -273,6 +273,10 @@ architecture.") (build-system gnu-build-system) (arguments `(#:tests? #f ; nothing to check, just files to copy + + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) #:phases (modify-phases %standard-phases (delete 'configure) From 47babd445a9f0e6fe9356cbe362d390f09df4e3b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 8 May 2017 20:55:47 +0100 Subject: [PATCH 039/231] gnu: zip: Add missing '#:modules' imports. Fixes . * gnu/packages/zip.scm (zip): Add missing '#:modules' imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/zip.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 2cf30d6e32..cd16f5ad43 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -48,6 +48,9 @@ (list "-f" "unix/Makefile" (string-append "prefix=" out) (string-append "MANDIR=" out "/share/man/man1"))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) #:phases (modify-phases %standard-phases (replace 'build From bc81e6cae40098684c14b10d0aa4c6257acbbdb6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 8 May 2017 20:55:48 +0100 Subject: [PATCH 040/231] gnu: go-1.4: Add missing '#:modules' imports. Fixes . * gnu/packages/golang.scm (go-1.4): Add missing '#:modules' imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 00630ce067..d19aa65afc 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -62,7 +62,8 @@ (arguments `(#:modules ((ice-9 match) (guix build gnu-build-system) - (guix build utils)) + (guix build utils) + (srfi srfi-1)) #:tests? #f ; Tests are run by the all.bash script. #:phases (modify-phases %standard-phases From a8f25449114bd9035898eec3455db51c0f4d928d Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 8 May 2017 20:55:49 +0100 Subject: [PATCH 041/231] gnu: sbcl: Add missing '#:modules' imports. Fixes . * gnu/packages/lisp.scm (sbcl): Add missing '#:modules' imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/lisp.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 2bbe398079..889073edba 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -284,7 +284,10 @@ an interpreter, a compiler, a debugger, and much more.") ("texlive" ,texlive) ("texinfo" ,texinfo))) (arguments - '(#:phases + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases (modify-phases %standard-phases (delete 'configure) (add-before 'build 'patch-unix-tool-paths From 2a75ec1567c81efdd2504b35c8a9e756215913a6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 May 2017 23:51:33 -0400 Subject: [PATCH 042/231] gnu: librsvg: Update to 2.40.17. * gnu/packages/gnome.scm (librsvg): Update to 2.40.17. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b94c36636e..9856fef0ce 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -982,7 +982,7 @@ dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.40.16") + (version "2.40.17") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -990,7 +990,7 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl")))) + "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6")))) (build-system gnu-build-system) (arguments `(#:phases From 662a7ac3c6f799851fec5003ad115ef764c21beb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 15 May 2017 16:38:27 -0400 Subject: [PATCH 043/231] gnu: freetype: Update to 2.8. * gnu/packages/fontutils.scm (freetype): Update to 2.8. --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 7e7234960d..f53881eb9c 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -48,13 +48,13 @@ (define-public freetype (package (name "freetype") - (version "2.7.1") + (version "2.8") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/freetype/freetype-" version ".tar.bz2")) (sha256 (base32 - "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs")))) + "02xlj611alpvl3h33hvfw1jyxc1vp9mzwcckkiglkhn3hknh7im3")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 93fabf59962aeb15981bd547850de1dab69eccfb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 15 May 2017 16:50:32 -0400 Subject: [PATCH 044/231] gnu: flex: Update to 2.6.4. * gnu/packages/flex.scm (flex): Update to 2.6.4. --- gnu/packages/flex.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index 1470b967da..ab0d8c583d 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -32,16 +32,16 @@ (define-public flex (package (name "flex") - (version "2.6.3") + (version "2.6.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/westes/flex" "/releases/download/v" version "/" - "flex-" version ".tar.gz")) + "flex-" version ".tar.lz")) (sha256 (base32 - "1an2cn2z85mkpgqcinh1fhhcd7993qm2lil1yxic8iz76ci79ck8")))) + "19sc63m09zamy2qlw5x3sg6wb6hrw96gfl0h87vh6flvsqjg9m3g")))) (build-system gnu-build-system) (inputs (let ((bison-for-tests From 5e54f4adda6b636b03b252804565f4d845d03658 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 15 May 2017 16:51:01 -0400 Subject: [PATCH 045/231] gnu: flex-2.6.1: Remove variable. * gnu/packages/flex.scm (flex-2.6.1): Remove variable. * gnu/packages/bootloaders.scm (grub, dtc): Use flex instead of flex-2.6.1. * gnu/packages/embedded.scm (propeller-binutils, binutils-vc4): Likewise. * gnu/packages/maths.scm (scotch): Likewise. * gnu/packages/wine.scm (wine): Likewise. --- gnu/packages/bootloaders.scm | 7 ++----- gnu/packages/embedded.scm | 4 ++-- gnu/packages/flex.scm | 17 ----------------- gnu/packages/maths.scm | 2 +- gnu/packages/wine.scm | 3 +-- 5 files changed, 6 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 98afc6a7c1..572186bea7 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -114,10 +114,7 @@ (native-inputs `(("unifont" ,unifont) ("bison" ,bison) - ;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex: - ;; - ;; TODO Try building with flex > 2.6.3. - ("flex" ,flex-2.6.1) + ("flex" ,flex) ("texinfo" ,texinfo) ("help2man" ,help2man) @@ -240,7 +237,7 @@ menu to select one of the installed operating systems.") (build-system gnu-build-system) (native-inputs `(("bison" ,bison) - ("flex" ,flex-2.6.1))) ; A bug in flex prevents building with flex-2.6.3. + ("flex" ,flex))) (arguments `(#:make-flags (list "CC=gcc" diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 36f872cdf2..fbbafc6a3b 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -412,7 +412,7 @@ with a layered architecture of JTAG interface and TAP support.") ,@(package-arguments xbinutils))) (native-inputs `(("bison" ,bison) - ("flex" ,flex-2.6.1) ; needed because of yywrap error + ("flex" ,flex) ("texinfo" ,texinfo) ("dejagnu" ,dejagnu) ,@(package-native-inputs xbinutils)))))) @@ -764,7 +764,7 @@ simulator.") (base32 "14b3h2ji740s8zq5vwm4qdcxs4aa4wxi6wb9di3bv1h39x14nyr9")))) ("texinfo" ,texinfo) - ("flex" ,flex-2.6.1) ; A bug in flex prevents building with flex-2.6.3. + ("flex" ,flex) ("bison" ,bison) ("guile-1.8" ,guile-1.8) ("which" ,base:which))) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index ab0d8c583d..b68b01e949 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -85,20 +85,3 @@ regular expressions for each rule. Whenever it finds a match, it executes the corresponding C code.") (license (non-copyleft "file://COPYING" "See COPYING in the distribution.")))) - -;;; Many packages fail to build with flex > 2.6.1, due to this bug in flex: -;;; -;;; We must not use a flex before 2.6.1, due to CVE-2016-6354. -;;; TODO Try using flex > 2.6.3. -(define-public flex-2.6.1 - (package - (inherit flex) - (version "2.6.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/westes/flex" - "/releases/download/v" version "/" - "flex-" version ".tar.xz")) - (sha256 - (base32 - "0gqhk4vkwy4gl9xbpgkljph8c0a5kpijz6wd0p5r9q202qn42yic")))))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index cefc53d67d..a4505c7b6f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1807,7 +1807,7 @@ implemented in ANSI C, and MPI for communications.") (build-system gnu-build-system) (inputs `(("zlib" ,zlib) - ("flex" ,flex-2.6.1) ; A bug in flex prevents building with flex-2.6.3. + ("flex" ,flex) ("bison" ,bison))) (arguments `(#:phases diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 9c82e01d67..a74cbcf2b4 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -65,8 +65,7 @@ (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) - ; A bug in flex prevents building with flex-2.6.3. - ("flex" ,flex-2.6.1) + ("flex" ,flex) ("bison" ,bison) ("perl" ,perl))) (inputs From 664ac384be1f813772735ed562fc7d4d705ad356 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 1 May 2017 00:05:31 -0400 Subject: [PATCH 046/231] gnu: netpbm: Update to 10.78.3. * gnu/packages/netpbm.scm (netpbm): Update to 10.78.3. [arguments]: Disable the tests 'ps-alt-roundtrip.test' and 'pbm-misc-converters.test'. Update the RGB-file path substitution. WIP: Disable the tests 'jpeg-roundtrip.test' and 'pbmtext.test'. --- gnu/packages/netpbm.scm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index cd0c3d950d..c7be4b13e0 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -36,7 +36,7 @@ (define-public netpbm (package (name "netpbm") - (version "10.61.01") + (version "10.78.3") (source (origin (method svn-fetch) ;; At the time of first packaging, the "super-stable" and @@ -48,10 +48,10 @@ ;; To determine the correct release: "svn log version.mk". (uri (svn-reference (url "http://svn.code.sf.net/p/netpbm/code/advanced") - (revision 1832))) + (revision 2965))) (sha256 (base32 - "1mj1pqq18yj0yb6l24zfjls7axhqmiv0pvcaabl5xvc4a0dm543j")) + "1k7as9qi1942wyjxpvbf02wg0h4braw44m3m3vvi8sm9y5z1m967")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -124,8 +124,8 @@ (let ((rgb (string-append (assoc-ref inputs "xorg-rgb") "/share/X11/rgb.txt"))) - (substitute* "pm_config.in.h" - (("/usr/share/X11/rgb.txt") rgb)) + (substitute* "config.mk" + (("/usr/share/netpbm/rgb.txt") rgb)) ;; Our Ghostscript no longer provides the 'gs' command, only ;; 'gsc', so look for that instead. @@ -146,7 +146,15 @@ (("all-in-place.test") "") (("pnmpsnr.test") "") (("pnmremap1.test") "") - (("gif-roundtrip.test") "")) + (("gif-roundtrip.test") "") + + ;; These two tests started failing in netpbm-10.78.3. + (("jpeg-roundtrip.test") "") + (("pbmtext.test") "") + + ;; Skip tests that use nonfree programs that we don't build. + (("ps-alt-roundtrip.test") "" ) + (("pbm-misc-converters.test") "")) #t)) (replace 'install (lambda* (#:key outputs make-flags #:allow-other-keys) From 03bc86b8f46305d3c7c1dba26dddfd8d424c9693 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 16 May 2017 21:36:31 +0100 Subject: [PATCH 047/231] gnu: bzip2: Use 'modify-phases' syntax. * gnu/packages/compression.scm (bzip2)[arguments]: Use 'modify-phases' syntax. Signed-off-by: Marius Bakke --- gnu/packages/compression.scm | 132 ++++++++++++++++------------------- 1 file changed, 60 insertions(+), 72 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index eed6c6bc12..a043585301 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -207,84 +207,72 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in (home-page "https://www.gnu.org/software/gzip/"))) (define-public bzip2 - (let ((build-shared-lib - ;; Build a shared library. - '(lambda* (#:key inputs #:allow-other-keys) - (patch-makefile-SHELL "Makefile-libbz2_so") - (zero? (system* "make" "-f" "Makefile-libbz2_so")))) - (install-shared-lib - '(lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (libdir (string-append out "/lib"))) - (for-each (lambda (file) - (let ((base (basename file))) - (format #t "installing `~a' to `~a'~%" - base libdir) - (copy-file file - (string-append libdir "/" base)))) - (find-files "." "^libbz2\\.so"))))) - (set-cross-environment - '(lambda* (#:key target #:allow-other-keys) - (substitute* (find-files "." "Makefile") - (("CC=.*$") - (string-append "CC = " target "-gcc\n")) - (("AR=.*$") - (string-append "AR = " target "-ar\n")) - (("RANLIB=.*$") - (string-append "RANLIB = " target "-ranlib\n")) - (("^all:(.*)test" _ prerequisites) - ;; Remove 'all' -> 'test' dependency. - (string-append "all:" prerequisites "\n")))))) - (package - (name "bzip2") - (version "1.0.6") - (source (origin - (method url-fetch) - (uri (string-append "http://www.bzip.org/" version "/bzip2-" - version ".tar.gz")) - (sha256 - (base32 - "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - ,(if (%current-target-system) + (package + (name "bzip2") + (version "1.0.6") + (source (origin + (method url-fetch) + (uri (string-append "http://www.bzip.org/" version "/bzip2-" + version ".tar.gz")) + (sha256 + (base32 + "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key target #:allow-other-keys) + (if ,(%current-target-system) + ;; Cross-compilation: use the cross tools. + (substitute* (find-files "." "Makefile") + (("CC=.*$") + (string-append "CC = " target "-gcc\n")) + (("AR=.*$") + (string-append "AR = " target "-ar\n")) + (("RANLIB=.*$") + (string-append "RANLIB = " target "-ranlib\n")) + (("^all:(.*)test" _ prerequisites) + ;; Remove 'all' -> 'test' dependency. + (string-append "all:" prerequisites "\n"))) + #t))) + (add-before 'build 'build-shared-lib + (lambda* (#:key inputs #:allow-other-keys) + (patch-makefile-SHELL "Makefile-libbz2_so") + (zero? (system* "make" "-f" "Makefile-libbz2_so")))) + (add-after 'install 'install-shared-lib + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib"))) + (for-each (lambda (file) + (let ((base (basename file))) + (format #t "installing `~a' to `~a'~%" + base libdir) + (copy-file file + (string-append libdir "/" base)))) + (find-files "." "^libbz2\\.so"))) + #t))) - ;; Cross-compilation: use the cross tools. - `(alist-cons-before - 'build 'build-shared-lib ,build-shared-lib - (alist-cons-after - 'install 'install-shared-lib ,install-shared-lib - (alist-replace 'configure ,set-cross-environment - %standard-phases))) + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))) - ;; Native compilation: build the shared library. - `(alist-cons-before - 'build 'build-shared-lib ,build-shared-lib - (alist-cons-after - 'install 'install-shared-lib ,install-shared-lib - (alist-delete 'configure %standard-phases)))) - - #:make-flags (list (string-append "PREFIX=" - (assoc-ref %outputs "out"))) - - ;; Don't attempt to run the tests when cross-compiling. - ,@(if (%current-target-system) - '(#:tests? #f) - '()))) - (synopsis "High-quality data compression program") - (description - "bzip2 is a freely available, patent free (see below), high-quality data + ;; Don't attempt to run the tests when cross-compiling. + ,@(if (%current-target-system) + '(#:tests? #f) + '()))) + (synopsis "High-quality data compression program") + (description + "bzip2 is a freely available, patent free (see below), high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.") - (license (license:non-copyleft "file://LICENSE" - "See LICENSE in the distribution.")) - (home-page "http://www.bzip.org/")))) + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")) + (home-page "http://www.bzip.org/"))) (define-public lbzip2 (package From e7ee50f2d26355d7a2fee250cf19a943f0343853 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 16 May 2017 21:36:33 +0100 Subject: [PATCH 048/231] gnu: bzip2: Patch bzip2 utilities. * gnu/packages/compression.scm (bzip2)[arguments]: Add patch-script phase to remove absolute reference to /bin/rm. Signed-off-by: Marius Bakke --- gnu/packages/compression.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a043585301..4908c9cccf 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -254,6 +254,12 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in (copy-file file (string-append libdir "/" base)))) (find-files "." "^libbz2\\.so"))) + #t)) + (add-after 'install-shared-lib 'patch-scripts + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* (string-append out "/bin/bzdiff") + (("/bin/rm") "rm"))) #t))) #:make-flags (list (string-append "PREFIX=" From 9b5fccbc48ab9acaa24d727a93d09f3e1f41de09 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 May 2017 20:31:29 +0200 Subject: [PATCH 049/231] gnu: libidn2: Update to 2.0.2. * gnu/packages/libidn.scm (libidn2): Update to 2.0.2. [source]: The tarball is now ".lz" compressed. [native-inputs]: Add LZIP. --- gnu/packages/libidn.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm index b17dc4f2d6..fc91fe263e 100644 --- a/gnu/packages/libidn.scm +++ b/gnu/packages/libidn.scm @@ -20,6 +20,7 @@ (define-module (gnu packages libidn) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages libunistring) #:use-module (guix licenses) #:use-module (guix packages) @@ -53,14 +54,16 @@ Java libraries.") (define-public libidn2 (package (name "libidn2") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libidn/" name "-" version - ".tar.xz")) + ".tar.lz")) (sha256 (base32 - "0irz2wlzdllpxr2w7lglryj88fy2ww3ilv7ang5d0s30jddjbg45")))) + "0pqaj8d01aj4i110669fincqs10kgynyqcrmq2q7pss8v9dcd1jq")))) + (native-inputs + `(("lzip" ,lzip))) (inputs `(("libunistring" ,libunistring))) (build-system gnu-build-system) From 657fb6c947d94cf946f29cd24e88bd080c01ff0a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 May 2017 20:41:22 +0200 Subject: [PATCH 050/231] gnu: sqlite: Update to 3.19.0. * gnu/packages/databases.scm (sqlite): Update to 3.19.0. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2ea29db52b..d02366e9b2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -707,7 +707,7 @@ for example from a shell script.") (define-public sqlite (package (name "sqlite") - (version "3.18.0") + (version "3.19.0") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -723,7 +723,7 @@ for example from a shell script.") numeric-version ".tar.gz"))) (sha256 (base32 - "0p5cx7nbjxk7glcm277ypi5w4gv144qazw79ql47svlpccj62mrp")))) + "1xdh6yf2bdml2mj9vqyq5whznyiikzq86cmbirimjricjmjyc5mm")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (arguments From 03bcf7c31756a2e15a713dcb6be1e6cf54cddfc6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 24 May 2017 04:27:10 +0200 Subject: [PATCH 051/231] gnu: diffutils: Update to 3.6. * gnu/packages/base.scm (diffutils): Update to 3.6. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 972b51b964..5b13a0f1de 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -231,14 +231,14 @@ differences.") (define-public diffutils (package (name "diffutils") - (version "3.5") + (version "3.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/diffutils/diffutils-" version ".tar.xz")) (sha256 (base32 - "0csmqfz8ks23kdjsq0v2ll1acqiz8lva06dj19mwmymrsp69ilys")))) + "1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn")))) (build-system gnu-build-system) (synopsis "Comparing and merging files") (description From 3154e2025b3c3c8a08c90c83bb9cd1d86341df1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 24 May 2017 20:08:03 +0200 Subject: [PATCH 052/231] gnu: mit-krb5: Update to 1.15.1. * gnu/packages/kerberos.scm (mit-krb5): Update to 1.15.1. --- gnu/packages/kerberos.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 6be7c82bc0..9803c80d59 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2012, 2017 Ludovic Courtès +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,7 @@ (define-public mit-krb5 (package (name "mit-krb5") - (version "1.14.4") + (version "1.15.1") (source (origin (method url-fetch) (uri (string-append "http://web.mit.edu/kerberos/dist/krb5/" @@ -50,7 +51,7 @@ "/krb5-" version ".tar.gz")) (sha256 (base32 - "158bgq9xcg5ljgzia1880ak7m9g6vf2r009rzdqif5n9h111m9h3")))) + "0igbi5d095c2hgpn2cixpc4q2ij8vgg2bx7yjfly5zfmvlqqhz23")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) From 9269ce492576a9fbb5aa39548f03dab9207fb8e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 24 May 2017 20:08:40 +0200 Subject: [PATCH 053/231] gnu: mit-krb5: Enable parallel build and tests. * gnu/packages/kerberos.scm (mit-krb5)[arguments]: Enable parallel building and parallel tests. --- gnu/packages/kerberos.scm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 9803c80d59..e40ddb2bb2 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -57,14 +57,7 @@ `(("bison" ,bison) ("perl" ,perl))) (arguments - `(;; Work around "No rule to make target '../../include/gssapi/gssapi.h', - ;; needed by 'authgss_prot.so'." - #:parallel-build? #f - - ;; Likewise with tests. - #:parallel-tests? #f - - ;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call + `(;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call ;; while running the tests in 'src/tests'. #:tests? ,(string=? (%current-system) "x86_64-linux") From 596649313ccb8465895afd5e6bc104cd2588ad6f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 May 2017 18:03:01 -0400 Subject: [PATCH 054/231] gnu: libtasn1: Incorporate grafted changes. * gnu/packages/tls.scm (libtasn1)[replacement]: Remove field. [source]: Use "libtasn1-CVE-2017-6891.patch". (libtasn1/fixed): Remove variable. --- gnu/packages/tls.scm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 2cbb5c0183..17b1527a83 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -52,13 +52,13 @@ (define-public libtasn1 (package (name "libtasn1") - (replacement libtasn1/fixed) (version "4.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libtasn1/libtasn1-" version ".tar.gz")) + (patches (search-patches "libtasn1-CVE-2017-6891.patch")) (sha256 (base32 "00jsix5hny0g768zv4hk78dib7w0qmk5fbizf4jj37r51nd4s6k8")))) @@ -73,15 +73,6 @@ networking, allowing for formal validation of data according to some specifications.") (license license:lgpl2.0+))) -(define libtasn1/fixed - (package - (inherit libtasn1) - (source - (origin - (inherit (package-source libtasn1)) - (patches - (search-patches "libtasn1-CVE-2017-6891.patch")))))) - (define-public asn1c (package (name "asn1c") From 696487d665a616dfdd09272a7bff0bea0e19375d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 25 May 2017 14:34:18 +0200 Subject: [PATCH 055/231] ld-wrapper: Read arguments from "response files". Fixes . Reported by Federico Beffa . * gnu/packages/ld-wrapper.in (expand-arguments): New procedure. (ld-wrapper): Use it. --- gnu/packages/ld-wrapper.in | 40 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ld-wrapper.in b/gnu/packages/ld-wrapper.in index ebfd8332c4..82bd2196cf 100644 --- a/gnu/packages/ld-wrapper.in +++ b/gnu/packages/ld-wrapper.in @@ -15,7 +15,7 @@ main="(@ (gnu build-support ld-wrapper) ld-wrapper)" exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)))" "$@" !# ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +35,7 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)) (define-module (gnu build-support ld-wrapper) #:use-module (srfi srfi-1) #:use-module (ice-9 match) + #:autoload (ice-9 rdelim) (read-string) #:export (ld-wrapper)) ;;; Commentary: @@ -222,9 +223,44 @@ impure library ~s~%" '() library-files)) +(define (expand-arguments args) + ;; Expand ARGS such that "response file" arguments, such as "@args.txt", are + ;; expanded (info "(gcc) Overall Options"). + (define (response-file-arguments file) + (when %debug? + (format (current-error-port) + "ld-wrapper: attempting to read arguments from '~a'~%" file)) + + ;; FIXME: Options can contain whitespace if they are protected by single + ;; or double quotes; this is not implemented here. + (string-tokenize (call-with-input-file file read-string))) + + (define result + (fold-right (lambda (arg result) + (if (string-prefix? "@" arg) + (let ((file (string-drop arg 1))) + (append (catch 'system-error + (lambda () + (response-file-arguments file)) + (lambda args + ;; FILE doesn't exist or cannot be read so + ;; leave ARG as is. + (list arg))) + result)) + (cons arg result))) + '() + args)) + + ;; If there are "@" arguments in RESULT *and* we can expand them (they don't + ;; refer to nonexistent files), then recurse. + (if (equal? result args) + result + (expand-arguments result))) + (define (ld-wrapper . args) ;; Invoke the real `ld' with ARGS, augmented with `-rpath' switches. - (let* ((path (library-search-path args)) + (let* ((args (expand-arguments args)) + (path (library-search-path args)) (libs (library-files-linked args path)) (args (append args (rpath-arguments libs)))) (when %debug? From a07007876a5dfa0e536668884f78c62c24ca2d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 25 May 2017 14:37:26 +0200 Subject: [PATCH 056/231] gnu: gnutls: Default to Guile 2.2. * gnu/packages/tls.scm (gnutls)[arguments]: Remove '--with-guile-site-dir' configure flag. [inputs]: Use GUILE-2.2 instead of GUILE-2.0. (gnutls/guile-2.2): Redefine using 'deprecated-package'. (gnutls/guile-2.0): New variable. --- gnu/packages/tls.scm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 17b1527a83..9aa482aec0 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -156,9 +156,7 @@ living in the same process.") (build-system gnu-build-system) (arguments '(#:configure-flags - (list (string-append "--with-guile-site-dir=" - (assoc-ref %outputs "out") - "/share/guile/site/2.0") + (list ;; GnuTLS doesn't consult any environment variables to specify ;; the location of the system-wide trust store. Instead it has a ;; configure-time option. Unless specified, its configure script @@ -195,7 +193,7 @@ living in the same process.") ("pkg-config" ,pkg-config) ("which" ,which))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (propagated-inputs ;; These are all in the 'Requires.private' field of gnutls.pc. `(("libtasn1" ,libtasn1) @@ -214,16 +212,14 @@ required structures.") (ftp-directory . "/gcrypt/gnutls"))))) (define-public gnutls/guile-2.2 - ;; GnuTLS for Guile 2.2. This is supported by GnuTLS >= 3.5.5. + (deprecated-package "guile2.2-gnutls" gnutls)) + +(define-public gnutls/guile-2.0 + ;; GnuTLS for Guile 2.0. (package (inherit gnutls) - (name "guile2.2-gnutls") - (arguments - ;; Remove '--with-guile-site-dir=…/2.0'. - (substitute-keyword-arguments (package-arguments gnutls) - ((#:configure-flags flags) - `(cdr ,flags)))) - (inputs `(("guile" ,guile-2.2) + (name "guile2.0-gnutls") + (inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs gnutls)))))) (define-public openssl From b94d20c688c3590ecbea50976d1947a9377a8910 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 19:53:50 +0200 Subject: [PATCH 057/231] gnu: sqlite: Update to 3.19.2. * gnu/packages/databases.scm (sqlite): Update to 3.19.2. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6ff49efd6f..894785b3a9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -721,7 +721,7 @@ for example from a shell script.") (define-public sqlite (package (name "sqlite") - (version "3.19.0") + (version "3.19.2") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -737,7 +737,7 @@ for example from a shell script.") numeric-version ".tar.gz"))) (sha256 (base32 - "1xdh6yf2bdml2mj9vqyq5whznyiikzq86cmbirimjricjmjyc5mm")))) + "1z1gmiyx68g1yxc3avc9jnan53irnsq2rsyldwyxcfnc07xn2lya")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (arguments From 811e10281fc11b514d5a1da2ba5a87e6eb19de5e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 25 May 2017 14:33:00 -0400 Subject: [PATCH 058/231] gnu: openssl: Update to 1.0.2l. * gnu/packages/tls.scm (openssl): Update to 1.0.2l. --- 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 9aa482aec0..544ab53fd9 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -225,7 +225,7 @@ required structures.") (define-public openssl (package (name "openssl") - (version "1.0.2k") + (version "1.0.2l") (source (origin (method url-fetch) (uri (list (string-append "ftp://ftp.openssl.org/source/" @@ -235,7 +235,7 @@ required structures.") "/" name "-" version ".tar.gz"))) (sha256 (base32 - "1h6qi35w6hv6rd73p4cdgdzg732pdrfgpp37cgwz1v9a3z37ffbb")) + "037kvpisc6qh5dkppcwbm5bg2q800xh2hma3vghz8xcycmdij1yf")) (patches (search-patches "openssl-runpath.patch" "openssl-c-rehash-in.patch")))) (build-system gnu-build-system) From 8b14773ab6cafbd138e0c6cbfd2fc48818e2e0b5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 13 May 2017 22:08:27 +0100 Subject: [PATCH 059/231] utils: Re-export 'delete'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/utils.scm: Reexport 'delete' binding. Co-authored-by: Ludovic Courtès --- guix/build/utils.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index e8efb0653a..6d3c29d001 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -32,7 +32,12 @@ #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) #:re-export (alist-cons - alist-delete) + alist-delete + + ;; Note: Re-export 'delete' to allow for proper syntax matching + ;; in 'modify-phases' forms. See + ;; . + delete) #:export (%store-directory store-file-name? strip-store-file-name From 52cabc6f87eb1ceebd953b423e458e3c48f847ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 26 May 2017 14:58:21 +0200 Subject: [PATCH 060/231] gnu: guix: Adjust to 'gnutls' package renames. This is a followup to a07007876a5dfa0e536668884f78c62c24ca2d8e. * gnu/packages/package-management.scm (guix)[propagated-inputs]: Use GNUTLS instead of GNUTLS/GUILE-2.2. (guile2.0-guix)[propagated-inputs]: Use GNUTLS/GUILE-2.0 instead of GNUTLS. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 12e1f9e6c0..eb3a15e080 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -248,7 +248,7 @@ (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")))))) (propagated-inputs - `(("gnutls" ,gnutls/guile-2.2) ;for 'guix download' & co. + `(("gnutls" ,gnutls) ("guile-json" ,guile-json) ("guile-ssh" ,guile-ssh))) @@ -274,7 +274,7 @@ the Nix package manager.") `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs guix)))) (propagated-inputs - `(("gnutls" ,gnutls) + `(("gnutls" ,gnutls/guile-2.0) ("guile-json" ,guile2.0-json) ("guile-ssh" ,guile2.0-ssh))))) From 77e2538eda8a2721aef8336103c94fe31e12870c Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 27 May 2017 12:27:47 +0100 Subject: [PATCH 061/231] gnu: packages: flex: Add missing 'lzip' input. * gnu/packages/flex.scm (flex)[native-inputs]: Add lzip. Signed-off-by: Leo Famulari --- gnu/packages/flex.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index b68b01e949..70707d77d4 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -23,6 +23,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages bison) @@ -67,6 +68,7 @@ ;; m4 is not present in PATH when cross-building (native-inputs `(("help2man" ,help2man) + ("lzip" ,lzip) ("m4" ,m4))) (propagated-inputs `(("m4" ,m4))) (home-page "https://github.com/westes/flex") From 2dca204eb02835504df6846d9a543c729dc612e4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 28 May 2017 09:49:38 -0400 Subject: [PATCH 062/231] gnu: flex: Use the gzip-compressed tarball. This reverts commit 77e2538eda8a2721aef8336103c94fe31e12870c and fetches the gzip-compressed tarball. We do this so that flex-boot0 will not require lzip. * gnu/packages/flex.scm (flex)[source]: Fetch the '.tar.gz' tarball. [native-inputs]: Remove lzip. --- gnu/packages/flex.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index 70707d77d4..fdda5f365d 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -23,7 +23,6 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages compression) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages bison) @@ -39,10 +38,10 @@ (uri (string-append "https://github.com/westes/flex" "/releases/download/v" version "/" - "flex-" version ".tar.lz")) + "flex-" version ".tar.gz")) (sha256 (base32 - "19sc63m09zamy2qlw5x3sg6wb6hrw96gfl0h87vh6flvsqjg9m3g")))) + "15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8")))) (build-system gnu-build-system) (inputs (let ((bison-for-tests @@ -68,7 +67,6 @@ ;; m4 is not present in PATH when cross-building (native-inputs `(("help2man" ,help2man) - ("lzip" ,lzip) ("m4" ,m4))) (propagated-inputs `(("m4" ,m4))) (home-page "https://github.com/westes/flex") From f0c6dda640d9e7f11de987fb0b01aee09fd4ec6d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 28 May 2017 15:22:18 +0100 Subject: [PATCH 063/231] gnu: binutils: Update to 2.28. * gnu/packages/base.scm (binutils): Update to 2.28. [source]: Remove upstreamed patch. [arguments]<#:configure-flags>: Remove "--disable-werror" * gnu/packages/patches/binutils-mips-bash-bug.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/base.scm | 11 +++------- .../patches/binutils-mips-bash-bug.patch | 22 ------------------- 3 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 gnu/packages/patches/binutils-mips-bash-bug.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6bb230687f..621a1c1806 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -516,7 +516,6 @@ dist_patch_DATA = \ %D%/packages/patches/bigloo-gc-shebangs.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ - %D%/packages/patches/binutils-mips-bash-bug.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-drop-unrar.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5b13a0f1de..28e0325534 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -418,17 +418,16 @@ change. GNU make offers many powerful extensions over the standard utility.") (define-public binutils (package (name "binutils") - (version "2.27") + (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn")) + "0wiasgns7i8km8nrxas265sh2dfpsw93b3qw195ipc90w4z475v2")) (patches (search-patches "binutils-ld-new-dtags.patch" - "binutils-loongson-workaround.patch" - "binutils-mips-bash-bug.patch")))) + "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) ;; TODO: Add dependency on zlib + those for Gold. @@ -440,10 +439,6 @@ change. GNU make offers many powerful extensions over the standard utility.") ;; Don't search under /usr/lib & co. "--with-lib-path=/no-ld-lib-path" - ;; Glibc 2.17 has a "comparison of unsigned - ;; expression >= 0 is always true" in wchar.h. - "--disable-werror" - ;; Install BFD. It ends up in a hidden directory, ;; but it's here. "--enable-install-libbfd" diff --git a/gnu/packages/patches/binutils-mips-bash-bug.patch b/gnu/packages/patches/binutils-mips-bash-bug.patch deleted file mode 100644 index 08d3a79749..0000000000 --- a/gnu/packages/patches/binutils-mips-bash-bug.patch +++ /dev/null @@ -1,22 +0,0 @@ -Bash 4.2.0(1)-release, which we use during bootstrap, does not yield the -"x" case in: - - case x"$EMULATION_NAME" in x) ;; *) ;; esac - -when 'EMULATION_NAME' is undefined. Bash 4.3.30(1)-release doesn't have this -problem. Work around it. - -This Bash bug was fixed -in . - ---- a/ld/emulparams/elf32bmipn32-defs.sh -+++ b/ld/emulparams/elf32bmipn32-defs.sh -@@ -13,7 +13,7 @@ LITTLE_OUTPUT_FORMAT="elf32-littlemips" - TEMPLATE_NAME=elf32 - EXTRA_EM_FILE=mipself - --case x"$EMULATION_NAME" in -+case "x$EMULATION_NAME" in - xelf32*n32*) ELFSIZE=32 ;; - xelf64*) ELFSIZE=64 ;; - x) ;; From 6a09628cb1147481131e582c1711edeb0db81944 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 28 May 2017 15:30:00 +0100 Subject: [PATCH 064/231] gnu: libtasn1: Update to 4.11. * gnu/packages/tls.scm (libtasn1): Update to 4.11. --- 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 1cd6a99dc0..39cfd10f57 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -52,7 +52,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.10") + (version "4.11") (source (origin (method url-fetch) @@ -61,7 +61,7 @@ (patches (search-patches "libtasn1-CVE-2017-6891.patch")) (sha256 (base32 - "00jsix5hny0g768zv4hk78dib7w0qmk5fbizf4jj37r51nd4s6k8")))) + "0h929bdq6w699y1mdkdajp5a6da8whgg3ba5p4j8x1wy36rlcjll")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (home-page "https://www.gnu.org/software/libtasn1/") From ccd7daae4cc83fd8a012261641e0127c7330e49b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 28 May 2017 15:34:03 +0100 Subject: [PATCH 065/231] gnu: Remove workaround for . * gnu/packages/base.scm (coreutils-8.27): Remove variable. * gnu/system.scm (%base-packages): Change back to COREUTILS. --- gnu/packages/base.scm | 23 ----------------------- gnu/system.scm | 2 +- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 28e0325534..0ad6624dd5 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -346,29 +346,6 @@ functionality beyond that which is outlined in the POSIX standard.") (license gpl3+) (home-page "https://www.gnu.org/software/coreutils/"))) -;; We add version 8.27 here for use in (gnu system) due to a time -;; zone bug in `date' versions 8.25 - 8.26. -;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23035 -;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26238 -(define-public coreutils-8.27 - (package - (inherit coreutils) - (version "8.27") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/coreutils/coreutils-" - version ".tar.xz")) - (sha256 - (base32 - "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8")))) - (arguments - (if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - (substitute-keyword-arguments (package-arguments coreutils) - ((#:phases phases) - `(alist-delete 'patch-cut-test ,phases))) - (package-arguments coreutils))))) - (define-public coreutils-minimal ;; Coreutils without its optional dependencies. (package diff --git a/gnu/system.scm b/gnu/system.scm index 0076f2fcb1..8e44ee85b3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -502,7 +502,7 @@ explicitly appear in OS." ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. (map canonical-package - (list guile-2.2 bash coreutils-8.27 findutils grep sed + (list guile-2.2 bash coreutils findutils grep sed diffutils patch gawk tar gzip bzip2 xz lzip)))) (define %default-issue From 4953c33316409945f30c4a3c33aa106ec3d84afd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 28 May 2017 15:30:00 +0100 Subject: [PATCH 066/231] gnu: libtasn1: Remove obsolete patch. This is a followup to 6a09628cb1147481131e582c1711edeb0db81944. (picked from the wrong branch, sorry!) * gnu/packages/tls.scm (libtasn1)[source]: Remove upstreamed patch. * gnu/packages/patches/libtasn1-CVE-2017-6891.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/libtasn1-CVE-2017-6891.patch | 51 ------------------- gnu/packages/tls.scm | 1 - 3 files changed, 53 deletions(-) delete mode 100644 gnu/packages/patches/libtasn1-CVE-2017-6891.patch diff --git a/gnu/local.mk b/gnu/local.mk index 621a1c1806..3d7ae598e1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -742,7 +742,6 @@ dist_patch_DATA = \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ - %D%/packages/patches/libtasn1-CVE-2017-6891.patch \ %D%/packages/patches/libtheora-config-guess.patch \ %D%/packages/patches/libtiff-CVE-2016-10092.patch \ %D%/packages/patches/libtiff-CVE-2016-10093.patch \ diff --git a/gnu/packages/patches/libtasn1-CVE-2017-6891.patch b/gnu/packages/patches/libtasn1-CVE-2017-6891.patch deleted file mode 100644 index 1f847ed025..0000000000 --- a/gnu/packages/patches/libtasn1-CVE-2017-6891.patch +++ /dev/null @@ -1,51 +0,0 @@ -Fix CVE-2017-6891: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6891 - -Patch copied from upstream source repository: - -https://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=5520704d075802df25ce4ffccc010ba1641bd484 - -From 5520704d075802df25ce4ffccc010ba1641bd484 Mon Sep 17 00:00:00 2001 -From: Nikos Mavrogiannopoulos -Date: Thu, 18 May 2017 18:03:34 +0200 -Subject: [PATCH] asn1_find_node: added safety check on asn1_find_node() - -This prevents a stack overflow in asn1_find_node() which -is triggered by too long variable names in the definitions -files. That means that applications have to deliberately -pass a too long 'name' constant to asn1_write_value() -and friends. Reported by Jakub Jirasek. - -Signed-off-by: Nikos Mavrogiannopoulos ---- - lib/parser_aux.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/lib/parser_aux.c b/lib/parser_aux.c -index b4a7370..976ab38 100644 ---- a/lib/parser_aux.c -+++ b/lib/parser_aux.c -@@ -120,6 +120,9 @@ asn1_find_node (asn1_node pointer, const char *name) - if (n_end) - { - nsize = n_end - n_start; -+ if (nsize >= sizeof(n)) -+ return NULL; -+ - memcpy (n, n_start, nsize); - n[nsize] = 0; - n_start = n_end; -@@ -158,6 +161,9 @@ asn1_find_node (asn1_node pointer, const char *name) - if (n_end) - { - nsize = n_end - n_start; -+ if (nsize >= sizeof(n)) -+ return NULL; -+ - memcpy (n, n_start, nsize); - n[nsize] = 0; - n_start = n_end; --- -2.13.0 - diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 39cfd10f57..6a0b0637a2 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -58,7 +58,6 @@ (method url-fetch) (uri (string-append "mirror://gnu/libtasn1/libtasn1-" version ".tar.gz")) - (patches (search-patches "libtasn1-CVE-2017-6891.patch")) (sha256 (base32 "0h929bdq6w699y1mdkdajp5a6da8whgg3ba5p4j8x1wy36rlcjll")))) From ff647c3d382dff13f6f43f817520053178671549 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 29 May 2017 06:14:11 +0200 Subject: [PATCH 067/231] gnu: glibc: Move i686 patch to source field. This is a rewrite of changes introduced by commits b2fd8f63679aa4f244c36fdca62f23c00b8eded9, c2e4f14ac8cd3e1ce7f46a192ad0c9acc084b210, 441e99d433583fdf76910c3f9323f78a1d1bbaf3 and d03b34cf190b5790ee1884ae551634f5f736f4f1. * gnu/packages/base.scm (glibc/linux)[source]: Add i686 patch. [arguments]: Remove conditional patch application from build phase. [native-inputs]: Remove patch. (glibc/hurd)[arguments]: Inherit pre-configure build phase from glibc/linux. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]: Remove patch. --- gnu/packages/base.scm | 91 ++--------------------------------- gnu/packages/commencement.scm | 9 +--- 2 files changed, 4 insertions(+), 96 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 0ad6624dd5..b9364f81f5 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -531,7 +531,8 @@ store.") (modules '((guix build utils))) (patches (search-patches "glibc-ldd-x86_64.patch" "glibc-versioned-locpath.patch" - "glibc-o-largefile.patch")))) + "glibc-o-largefile.patch" + "glibc-memchr-overflow-i686.patch")))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc @@ -618,19 +619,6 @@ store.") ;; 4.7.1. ((" -lgcc_s") "")) - ;; Apply patch only on i686. - ;; TODO: Move the patch to 'patches' in the next update cycle. - ,@(if (string-prefix? "i686" (or (%current-target-system) - (%current-system))) - `((unless (zero? (system* "patch" "-p1" "--force" - "--input" - (or (assoc-ref native-inputs - "glibc-memchr-overflow-i686.patch") - (assoc-ref inputs - "glibc-memchr-overflow-i686.patch")))) - (error "patch failed for glibc-memchr-overflow-i686.patch"))) - '()) - ;; Have `system' use that Bash. (substitute* "sysdeps/posix/system.c" (("#define[[:blank:]]+SHELL_PATH.*$") @@ -674,15 +662,7 @@ store.") ;; install the message catalogs, with 'msgfmt'. (native-inputs `(("texinfo" ,texinfo) ("perl" ,perl) - ("gettext" ,gettext-minimal) - - ;; Apply this patch only on i686 to avoid a full rebuild. - ;; TODO: Move to 'patches' in the next update cycle. - ,@(if (string-prefix? "i686" (or (%current-target-system) - (%current-system))) - `(("glibc-memchr-overflow-i686.patch" - ,(search-patch "glibc-memchr-overflow-i686.patch"))) - '()))) + ("gettext" ,gettext-minimal))) (native-search-paths ;; Search path for packages that provide locale data. This is useful @@ -731,71 +711,6 @@ with the Linux kernel.") ;; Add libmachuser.so and libhurduser.so to libc.so's search path. ;; See . `(modify-phases ,original-phases - ;; TODO: This is almost an exact copy of the phase of the same name - ;; in glibc/linux. The only difference is that the i686 patch is - ;; not applied here. In the next update cycle the patch moves to - ;; the patches field and this overwritten phase won't be needed any - ;; more. - (replace 'pre-configure - (lambda* (#:key inputs native-inputs outputs - #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - ;; FIXME: Normally we would look it up only in INPUTS - ;; but cross-base uses it as a native input. - (bash (or (assoc-ref inputs "static-bash") - (assoc-ref native-inputs "static-bash")))) - ;; Install the rpc data base file under `$out/etc/rpc'. - ;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ]; - (substitute* "sunrpc/Makefile" - (("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix) - (string-append out "/etc/rpc" suffix "\n")) - (("^install-others =.*$") - (string-append "install-others = " out "/etc/rpc\n"))) - - (substitute* "Makeconfig" - ;; According to - ;; , - ;; linking against libgcc_s is not needed with GCC - ;; 4.7.1. - ((" -lgcc_s") "")) - - ;; Have `system' use that Bash. - (substitute* "sysdeps/posix/system.c" - (("#define[[:blank:]]+SHELL_PATH.*$") - (format #f "#define SHELL_PATH \"~a/bin/bash\"\n" - bash))) - - ;; Same for `popen'. - (substitute* "libio/iopopen.c" - (("/bin/sh") - (string-append bash "/bin/sh"))) - - ;; Same for the shell used by the 'exec' functions for - ;; scripts that lack a shebang. - (substitute* (find-files "." "^paths\\.h$") - (("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$") - (string-append "#define _PATH_BSHELL \"" - bash "/bin/sh\"\n"))) - - ;; Nscd uses __DATE__ and __TIME__ to create a string to - ;; make sure the client and server come from the same - ;; libc. Use something deterministic instead. - (substitute* "nscd/nscd_stat.c" - (("static const char compilation\\[21\\] =.*$") - (string-append - "static const char compilation[21] = \"" - (string-take (basename out) 20) "\";\n"))) - - ;; Make sure we don't retain a reference to the - ;; bootstrap Perl. - (substitute* "malloc/mtrace.pl" - (("^#!.*") - ;; The shebang can be omitted, because there's the - ;; "bilingual" eval/exec magic at the top of the file. - "") - (("exec @PERL@") - "exec perl"))))) (add-after 'install 'augment-libc.so (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 93fec0c010..4f39a3fc66 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -510,14 +510,7 @@ the bootstrap environment." (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0)))) (native-inputs `(("texinfo" ,texinfo-boot0) - ("perl" ,perl-boot0) - ;; Apply this patch only on i686 to avoid a full rebuild. - ;; TODO: Remove in the next update cycle. - ,@(if (string-prefix? "i686" (or (%current-target-system) - (%current-system))) - `(("glibc-memchr-overflow-i686.patch" - ,(search-patch "glibc-memchr-overflow-i686.patch"))) - '()))) + ("perl" ,perl-boot0))) (inputs `(;; The boot inputs. That includes the bootstrap libc. We don't want ;; it in $CPATH, hence the 'pre-configure' phase above. From 8a9b08b503c209c020f7e7dab16b8818208003f6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 28 May 2017 09:39:05 +0100 Subject: [PATCH 068/231] gnu: openssl: Delete ELF files from tarball. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise building openssl fails: substitute can't decode binary ELF file: ice-9/boot-9.scm:760:25: In procedure dispatch-exception: ice-9/boot-9.scm:760:25: Throw to key `decoding-error' with args `("peek-char" "input decoding error" 84 #)'. * gnu/packages/tls.scm (openssl)[source]: Add 'snippet'. Signed-off-by: Ludovic Courtès --- gnu/packages/tls.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 6a0b0637a2..349e951188 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -235,6 +235,13 @@ required structures.") (sha256 (base32 "037kvpisc6qh5dkppcwbm5bg2q800xh2hma3vghz8xcycmdij1yf")) + (snippet + '(begin + ;; Remove ELF files. 'substitute*' can't read them. + (delete-file "test/ssltest_old") + (delete-file "test/v3ext") + (delete-file "test/x509aux") + #t)) (patches (search-patches "openssl-runpath.patch" "openssl-c-rehash-in.patch")))) (build-system gnu-build-system) From d2ac5e297578dea1c872f77a26ef4d481d5dc7bd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 22:59:00 +0200 Subject: [PATCH 069/231] build-system/cmake: Add support for cross compilation. Fixes . * guix/build-system/gnu.scm: Export standard-cross-packages. * guix/build-system/cmake.scm (cmake-cross-build): New procedure. (lower): Add support for cross-builds. * guix/build/cmake-build-system.scm (configure): Handle "target" argument. --- guix/build-system/cmake.scm | 156 +++++++++++++++++++++++++++--- guix/build-system/gnu.scm | 1 + guix/build/cmake-build-system.scm | 11 ++- 3 files changed, 151 insertions(+), 17 deletions(-) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 25ac262d5d..ee116c5a4c 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,24 +57,38 @@ #:rest arguments) "Return a bag for NAME." (define private-keywords - '(#:source #:target #:cmake #:inputs #:native-inputs)) + `(#:source #:cmake #:inputs #:native-inputs #:outputs + ,@(if target '() '(#:target)))) - (and (not target) ;XXX: no cross-compilation - (bag - (name name) - (system system) - (host-inputs `(,@(if source - `(("source" ,source)) - '()) - ,@inputs + (bag + (name name) + (system system) + (target target) + (build-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@`(("cmake" ,cmake)) + ,@native-inputs + ,@(if target + ;; Use the standard cross inputs of + ;; 'gnu-build-system'. + (standard-cross-packages target 'host) + '()) + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (host-inputs inputs) - ;; Keep the standard inputs of 'gnu-build-system'. - ,@(standard-packages))) - (build-inputs `(("cmake" ,cmake) - ,@native-inputs)) - (outputs outputs) - (build cmake-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + ;; The cross-libc is really a target package, but for bootstrapping + ;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a + ;; native package, so it would end up using a "native" variant of + ;; 'cross-libc' (built with 'gnu-build'), whereas all the other packages + ;; would use a target variant (built with 'gnu-cross-build'.) + (target-inputs (if target + (standard-cross-packages target 'target) + '())) + (outputs outputs) + (build (if target cmake-cross-build cmake-build)) + (arguments (strip-keyword-arguments private-keywords arguments)))) (define* (cmake-build store name inputs #:key (guile #f) @@ -145,6 +160,115 @@ provides a 'CMakeLists.txt' file as its build system." #:outputs outputs #:guile-for-build guile-for-build)) + +;;; +;;; Cross-compilation. +;;; + +(define* (cmake-cross-build store name + #:key + target native-drvs target-drvs + (guile #f) + (outputs '("out")) + (configure-flags ''()) + (search-paths '()) + (native-search-paths '()) + (make-flags ''()) + (out-of-source? #t) + (build-type "RelWithDebInfo") + (tests? #f) ; nothing can be done + (test-target "test") + (parallel-build? #t) (parallel-tests? #f) + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug" + "--enable-deterministic-archives")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build cmake-build-system) + %standard-phases)) + (system (%current-system)) + (build (nix-system->gnu-triplet system)) + (imported-modules %cmake-build-system-modules) + (modules '((guix build cmake-build-system) + (guix build utils)))) + "Cross-build NAME using CMAKE for TARGET, where TARGET is a GNU triplet and +with INPUTS. This assumes that SOURCE provides a 'CMakeLists.txt' file as its +build system." + (define builder + `(begin + (use-modules ,@modules) + (let () + (define %build-host-inputs + ',(map (match-lambda + ((name (? derivation? drv) sub ...) + `(,name . ,(apply derivation->output-path drv sub))) + ((name path) + `(,name . ,path))) + native-drvs)) + + (define %build-target-inputs + ',(map (match-lambda + ((name (? derivation? drv) sub ...) + `(,name . ,(apply derivation->output-path drv sub))) + ((name (? package? pkg) sub ...) + (let ((drv (package-cross-derivation store pkg + target system))) + `(,name . ,(apply derivation->output-path drv sub)))) + ((name path) + `(,name . ,path))) + target-drvs)) + + (cmake-build #:source ,(match (assoc-ref native-drvs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:build ,build + #:target ,target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:native-search-paths ',(map + search-path-specification->sexp + native-search-paths) + #:phases ,phases + #:configure-flags ,configure-flags + #:make-flags ,make-flags + #:out-of-source? ,out-of-source? + #:build-type ,build-type + #:tests? ,tests? + #:test-target ,test-target + #:parallel-build? ,parallel-build? + #:parallel-tests? ,parallel-tests? + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories)))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs (append native-drvs target-drvs) + #:outputs outputs + #:modules imported-modules + #:guile-for-build guile-for-build)) + (define cmake-build-system (build-system (name 'cmake) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 7cf0cafc0f..047ace7e6b 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -30,6 +30,7 @@ gnu-build gnu-build-system standard-packages + standard-cross-packages package-with-explicit-inputs package-with-extra-configure-variable static-libgcc-package diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm index 27f2b5c872..128ab28fe5 100644 --- a/guix/build/cmake-build-system.scm +++ b/guix/build/cmake-build-system.scm @@ -32,7 +32,7 @@ ;; Code: (define* (configure #:key outputs (configure-flags '()) (out-of-source? #t) - build-type + build-type target #:allow-other-keys) "Configure the given package." (let* ((out (assoc-ref outputs "out")) @@ -59,6 +59,15 @@ ,(string-append "-DCMAKE_INSTALL_RPATH=" out "/lib") ;; enable verbose output from builds "-DCMAKE_VERBOSE_MAKEFILE=ON" + + ;; Cross-build + ,@(if target + (list (string-append "-DCMAKE_C_COMPILER=" + target "-gcc") + (if (string-contains target "mingw") + "-DCMAKE_SYSTEM_NAME=Windows" + "-DCMAKE_SYSTEM_NAME=Linux")) + '()) ,@configure-flags))) (format #t "running 'cmake' with arguments ~s~%" args) (zero? (apply system* "cmake" args))))) From ee33f9a74264db10bd2e52b6c7bf9e49f0f349d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 May 2017 20:30:35 +0200 Subject: [PATCH 070/231] gnu: libtasn1: Update to 4.12. * gnu/packages/tls.scm (libtasn1): Update to 4.12. --- gnu/packages/tls.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 349e951188..e9882bc6e6 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,7 +53,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.11") + (version "4.12") (source (origin (method url-fetch) @@ -60,7 +61,7 @@ version ".tar.gz")) (sha256 (base32 - "0h929bdq6w699y1mdkdajp5a6da8whgg3ba5p4j8x1wy36rlcjll")))) + "0ls7jdq3y5fnrwg0pzhq11m21r8pshac2705bczz6mqjc8pdllv7")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (home-page "https://www.gnu.org/software/libtasn1/") From a30188f561af3f84a1da687dffb4192e621929fc Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 5 May 2017 22:51:25 +0100 Subject: [PATCH 071/231] gnu: bash-minimal: Override keywords from 'bash'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 'bash-minimal' is a package derived from 'bash' package. 'bash-minimal' is supposed to override keywords from 'bash', but does not do it due to ordering issue. This patch moves #:modules last. Fixes the bootstrap failure reported by rennes and Manolis Ragkousis and tracked down by Andy Wingo in . * gnu/packages/bash.scm (bash-minimal)[arguments]: Move #:modules after (package-arguments bash). Signed-off-by: Ludovic Courtès --- gnu/packages/bash.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index ef22728a92..38aa1786ef 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -211,11 +211,11 @@ without modification.") (outputs (delete "include" (package-outputs bash))) (arguments - (let ((args `(#:modules ((guix build gnu-build-system) + (let ((args `(,@(package-arguments bash) + #:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1) - (srfi srfi-26)) - ,@(package-arguments bash)))) + (srfi srfi-26))))) (substitute-keyword-arguments args ((#:configure-flags flags) `(list "--without-bash-malloc" From facac292808d11d5e6ea528cc7dbe93595f62c9b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 25 Apr 2017 01:46:05 +0900 Subject: [PATCH 072/231] build-system/gnu: 'compress-documentation' phase handles double symlinks. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The compress-documentation phase was breaking recursive symbolic links used for manuals, which was made visible by the `find-files' call in the recently added `manual-database' profile hook. See . * guix/build/gnu-build-system.scm (compress-documentation) [points-to-symbolic-link?]: New procedure. [maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out symbolic links that shouldn't be retargetted, and re-order the calls to `retarget-symlink' and `documentation-compressor'. Co-authored-by: Ludovic Courtès --- guix/build/gnu-build-system.scm | 36 +++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 1786e2e3c9..09f272edee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -521,6 +521,25 @@ DOCUMENTATION-COMPRESSOR-FLAGS." ;; Return #t if FILE has hard links. (> (stat:nlink (lstat file)) 1)) + (define (points-to-symlink? symlink) + ;; Return #t if SYMLINK points to another symbolic link. + (let* ((target (readlink symlink)) + (target-absolute (if (string-prefix? "/" target) + target + (string-append (dirname symlink) + "/" target)))) + (catch 'system-error + (lambda () + (symbolic-link? target-absolute)) + (lambda args + (if (= ENOENT (system-error-errno args)) + (begin + (format (current-error-port) + "The symbolic link '~a' target is missing: '~a'\n" + symlink target-absolute) + #f) + (apply throw args)))))) + (define (maybe-compress-directory directory regexp) (or (not (directory-exists? directory)) (match (find-files directory regexp) @@ -538,12 +557,17 @@ DOCUMENTATION-COMPRESSOR-FLAGS." ;; Compress the non-symlink files, and adjust symlinks to refer ;; to the compressed files. Leave files that have hard links ;; unchanged ('gzip' would refuse to compress them anyway.) - (and (zero? (apply system* documentation-compressor - (append documentation-compressor-flags - (remove has-links? regular-files)))) - (every retarget-symlink - (filter (cut string-match regexp <>) - symlinks))))))))) + ;; Also, do not retarget symbolic links pointing to other + ;; symbolic links, since these are not compressed. + (and (every retarget-symlink + (filter (lambda (symlink) + (and (not (points-to-symlink? symlink)) + (string-match regexp symlink))) + symlinks)) + (zero? + (apply system* documentation-compressor + (append documentation-compressor-flags + (remove has-links? regular-files))))))))))) (define (maybe-compress output) (and (maybe-compress-directory (string-append output "/share/man") From 9491227dcbe52fff1b65ebb9b162d825152b7173 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 31 May 2017 21:08:26 +0100 Subject: [PATCH 073/231] gnu: python-file: Drop outdated patch. * gnu/local.mk: Remove python-file-double-encoding-bug.patch * gnu/packages/patches/python-file-double-encoding-bug.patch: Delete file. * gnu/packages/python.scm (python-file)[source]: Remove "python-file-double-encoding-bug.patch". Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 - .../python-file-double-encoding-bug.patch | 50 ------------------- gnu/packages/python.scm | 4 -- 3 files changed, 55 deletions(-) delete mode 100644 gnu/packages/patches/python-file-double-encoding-bug.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3d7ae598e1..5090c04b9f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -927,7 +927,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-3.5-fix-tests.patch \ %D%/packages/patches/python-3.5-getentropy-on-old-kernels.patch \ %D%/packages/patches/python-dendropy-fix-tests.patch \ - %D%/packages/patches/python-file-double-encoding-bug.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-parse-too-many-fields.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ diff --git a/gnu/packages/patches/python-file-double-encoding-bug.patch b/gnu/packages/patches/python-file-double-encoding-bug.patch deleted file mode 100644 index bbe825c36a..0000000000 --- a/gnu/packages/patches/python-file-double-encoding-bug.patch +++ /dev/null @@ -1,50 +0,0 @@ -Fix bug that breaks file's Python bindings when using Python 3. This patch -should not be applied when using Python 2. - -Copied from upstream source repository: - -https://github.com/file/file/commit/73e043d2a986234b187a00ed0c8d1f7bf83df372 - -From 73e043d2a986234b187a00ed0c8d1f7bf83df372 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Tue, 28 Jun 2016 17:10:22 +0000 -Subject: [PATCH] PR/562: Reiner Herrmann: Avoid double encoding with python3 - ---- - python/magic.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/python/magic.py b/python/magic.py -index c48f7d5..b0f7a17 100644 ---- a/python/magic.py -+++ b/python/magic.py -@@ -134,7 +134,7 @@ class Magic(object): - if isinstance(r, str): - return r - else: -- return str(r).encode('utf-8') -+ return str(r, 'utf-8') - - def descriptor(self, fd): - """ -@@ -152,7 +152,7 @@ class Magic(object): - if isinstance(r, str): - return r - else: -- return str(r).encode('utf-8') -+ return str(r, 'utf-8') - - def error(self): - """ -@@ -163,7 +163,7 @@ class Magic(object): - if isinstance(e, str): - return e - else: -- return str(e).encode('utf-8') -+ return str(e, 'utf-8') - - def setflags(self, flags): - """ --- -2.10.1 - diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b958199bdb..aaa69075ef 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7578,10 +7578,6 @@ Python's @code{ctypes} foreign function interface (FFI).") (package (inherit file) (name "python-file") - (source (origin - (inherit (package-source file)) - ;; This patch should not be applied to python2-file. - (patches (search-patches "python-file-double-encoding-bug.patch")))) (build-system python-build-system) (arguments '(#:tests? #f ;no tests From 3f65c190d23296e7e718c3deff413e8beb61d8ba Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 1 Jun 2017 19:04:10 +0200 Subject: [PATCH 074/231] utils: Add helper for invoking programs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès --- guix/build/utils.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 6d3c29d001..7391307c87 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -84,6 +84,7 @@ fold-port-matches remove-store-references wrap-program + invoke locale-category->string)) @@ -579,6 +580,15 @@ Where every <*-phase-name> is an expression evaluating to a symbol, and ((_ phases (add-after old-phase-name new-phase-name new-phase)) (alist-cons-after old-phase-name new-phase-name new-phase phases)))) +(define (invoke program . args) + "Invoke PROGRAM with the given ARGS. Raise an error if the exit +code is non-zero; otherwise return #t." + (let ((status (apply system* program args))) + (unless (zero? status) + (error (format #f "program ~s exited with non-zero code" program) + status)) + #t)) + ;;; ;;; Text substitution (aka. sed). From 704243e0c6ec5ac86e2f45aaa469717e60b89124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 1 Jun 2017 23:22:03 +0200 Subject: [PATCH 075/231] gnu: commencement: 'bash-final' inherits from 'bash-minimal'. * gnu/packages/commencement.scm (bash-final): Inherit from BASH-MINIMAL instead of BASH. --- gnu/packages/commencement.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 4f39a3fc66..f672ef45eb 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -800,13 +800,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define bash-final ;; Link with `-static-libgcc' to make sure we don't retain a reference - ;; to the bootstrap GCC. + ;; to the bootstrap GCC. Use "bash-minimal" to avoid an extra dependency + ;; on Readline and ncurses. (let ((bash (package - (inherit bash) + (inherit bash-minimal) (arguments `(#:disallowed-references ,(assoc-ref %boot3-inputs "coreutils&co") - ,@(package-arguments bash)))))) + ,@(package-arguments bash-minimal)))))) (package-with-bootstrap-guile (package-with-explicit-inputs (static-libgcc-package bash) %boot3-inputs From 4cc80c946b6915db450007c7c648082c27a368c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 2 Jun 2017 15:22:03 +0200 Subject: [PATCH 076/231] gnu: bash-minimal: Simplify 'arguments' field. * gnu/packages/bash.scm (bash-minimal)[arguments]: Remove 'let' and use 'substitute-keyword-arguments' directly. --- gnu/packages/bash.scm | 50 +++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 38aa1786ef..b1966e5675 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -211,33 +211,33 @@ without modification.") (outputs (delete "include" (package-outputs bash))) (arguments - (let ((args `(,@(package-arguments bash) - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1) - (srfi srfi-26))))) - (substitute-keyword-arguments args - ((#:configure-flags flags) - `(list "--without-bash-malloc" - "--disable-readline" - "--disable-history" - "--disable-help-builtin" - "--disable-progcomp" - "--disable-net-redirections" - "--disable-nls" + (substitute-keyword-arguments (package-arguments bash) + ((#:modules _ '()) + '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26))) + ((#:configure-flags flags '()) + `(list "--without-bash-malloc" + "--disable-readline" + "--disable-history" + "--disable-help-builtin" + "--disable-progcomp" + "--disable-net-redirections" + "--disable-nls" - ;; Pretend 'dlopen' is missing so we don't build loadable - ;; modules and related code. - "ac_cv_func_dlopen=no" + ;; Pretend 'dlopen' is missing so we don't build loadable + ;; modules and related code. + "ac_cv_func_dlopen=no" - ,@(if (%current-target-system) - '("bash_cv_job_control_missing=no" - "bash_cv_getcwd_malloc=yes") - '()))) - ((#:phases phases) - `(modify-phases ,phases - ;; No loadable modules. - (delete 'move-development-files)))))))) + ,@(if (%current-target-system) + '("bash_cv_job_control_missing=no" + "bash_cv_getcwd_malloc=yes") + '()))) + ((#:phases phases) + `(modify-phases ,phases + ;; No loadable modules. + (delete 'move-development-files))))))) (define-public static-bash ;; Statically-linked Bash that contains nothing but the 'bash' binary and From baf549df14c6d4a63bfbd0054b865446a97e872a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 2 Jun 2017 15:34:36 +0200 Subject: [PATCH 077/231] gnu: guile: Depend on 'bash-minimal' rather than 'bash'. * gnu/packages/guile.scm (guile-2.0)[inputs]: Depend on BASH-MINIMAL instead of BASH. --- gnu/packages/guile.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index bb34063463..bcfbe65aec 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -153,7 +153,11 @@ without requiring the source code to be rewritten.") (inputs `(("libffi" ,libffi) ("readline" ,readline) ,@(libiconv-if-needed) - ,@(if (target-mingw?) '() `(("bash" ,bash))))) + + ;; We need Bash when cross-compiling because some of the scripts + ;; in bin/ refer to it. Use 'bash-minimal' because we don't need + ;; an interactive Bash with Readline and all. + ,@(if (target-mingw?) '() `(("bash" ,bash-minimal))))) (propagated-inputs `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' ;; reads `-lltdl -lunistring', adding them here will add the needed From d6158fe70dfef6c03357d75d36dc7cac813dea45 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 29 May 2017 13:47:39 -0400 Subject: [PATCH 078/231] gnu: ghostscript: Switch to Artifex Ghostcript and update to 9.21. * gnu/packages/ghostscript.scm (ghostscript): Update to 9.21. [source]: Fetch the source from Artifex. [native-inputs]: Remove pkg-config. [inputs]: Add jbig2dec and use libjpeg instead of libjpeg-8. [arguments]: Add #:configure-flags. [replacement]: Remove field. (ghostcript/fixed): Remove variable. * gnu/packages/patches/ghostscript-CVE-2017-8291.patch, gnu/packages/patches/ghostscript-runpath.patch: Adjust to new upstream source. * gnu/packages/patches/ghostscript-CVE-2013-5653.patch, gnu/packages/patches/ghostscript-CVE-2015-3228.patch, gnu/packages/patches/ghostscript-CVE-2016-7976.patch, gnu/packages/patches/ghostscript-CVE-2016-7978.patch, gnu/packages/patches/ghostscript-CVE-2016-7979.patch, gnu/packages/patches/ghostscript-CVE-2016-8602.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 6 - gnu/packages/ghostscript.scm | 161 ++++++++------- .../patches/ghostscript-CVE-2013-5653.patch | 85 -------- .../patches/ghostscript-CVE-2015-3228.patch | 32 --- .../patches/ghostscript-CVE-2016-7976.patch | 185 ------------------ .../patches/ghostscript-CVE-2016-7978.patch | 25 --- .../patches/ghostscript-CVE-2016-7979.patch | 48 ----- .../patches/ghostscript-CVE-2016-8602.patch | 47 ----- .../patches/ghostscript-CVE-2017-8291.patch | 166 +++++++++++++--- .../patches/ghostscript-runpath.patch | 17 +- 10 files changed, 240 insertions(+), 532 deletions(-) delete mode 100644 gnu/packages/patches/ghostscript-CVE-2013-5653.patch delete mode 100644 gnu/packages/patches/ghostscript-CVE-2015-3228.patch delete mode 100644 gnu/packages/patches/ghostscript-CVE-2016-7976.patch delete mode 100644 gnu/packages/patches/ghostscript-CVE-2016-7978.patch delete mode 100644 gnu/packages/patches/ghostscript-CVE-2016-7979.patch delete mode 100644 gnu/packages/patches/ghostscript-CVE-2016-8602.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5090c04b9f..95efe60ed6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -614,12 +614,6 @@ dist_patch_DATA = \ %D%/packages/patches/gettext-multi-core.patch \ %D%/packages/patches/gettext-gnulib-multi-core.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ - %D%/packages/patches/ghostscript-CVE-2013-5653.patch \ - %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ - %D%/packages/patches/ghostscript-CVE-2016-7976.patch \ - %D%/packages/patches/ghostscript-CVE-2016-7978.patch \ - %D%/packages/patches/ghostscript-CVE-2016-7979.patch \ - %D%/packages/patches/ghostscript-CVE-2016-8602.patch \ %D%/packages/patches/ghostscript-CVE-2017-8291.patch \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 3a24580b77..ffe6e018bd 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -129,85 +129,98 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package - (name "ghostscript") - (version "9.14.0") - ;; XXX Try removing the bundled copy of jbig2dec. - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" - version ".tar.xz")) - (sha256 - (base32 - "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")) - (patches (search-patches "ghostscript-CVE-2013-5653.patch" - "ghostscript-CVE-2015-3228.patch" - "ghostscript-CVE-2016-7976.patch" - "ghostscript-CVE-2016-7978.patch" - "ghostscript-CVE-2016-7979.patch" - "ghostscript-CVE-2016-8602.patch" - "ghostscript-CVE-2017-8291.patch" - "ghostscript-runpath.patch")) - (modules '((guix build utils))) - (snippet - ;; Honor --docdir. - '(substitute* "Makefile.in" - (("^docdir=.*$") "docdir = @docdir@\n") - (("^exdir=.*$") "exdir = $(docdir)/examples\n"))))) - (build-system gnu-build-system) - (outputs '("out" "doc")) ;16 MiB of HTML/PS doc + examples - (inputs `(("freetype" ,freetype) - ("lcms" ,lcms) - ("libjpeg-8" ,libjpeg-8) - ("libpng" ,libpng) - ("libpaper" ,libpaper) - ("libtiff" ,libtiff) - ("zlib" ,zlib))) - (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config) ; needed to find libtiff - ("python" ,python-wrapper) - ("tcl" ,tcl))) - (arguments - `(#:disallowed-references ("doc") - #:phases - (modify-phases %standard-phases - (add-after 'configure 'patch-config-files - (lambda _ - (substitute* "base/all-arch.mak" - (("/bin/sh") (which "sh"))) - (substitute* "base/unixhead.mak" - (("/bin/sh") (which "sh"))))) + (name "ghostscript") + (version "9.21") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ArtifexSoftware/" + "ghostpdl-downloads/releases/download/gs" + (string-delete #\. version) + "/ghostscript-" version ".tar.xz")) + (sha256 + (base32 + "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b")) + (patches (search-patches "ghostscript-runpath.patch" + "ghostscript-CVE-2017-8291.patch")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so + ;; we leave it, at least for now. + ;; TODO Try unbundling ijs, which is developed alongside Ghostscript. + '(begin + (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg" + "lcms2" "libpng" + "tiff" "zlib")))))) + (build-system gnu-build-system) + (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples + (arguments + `(#:disallowed-references ("doc") + #:configure-flags + (list "--with-system-libtiff" + "LIBS=-lz" + (string-append "ZLIBDIR=" + (assoc-ref %build-inputs "zlib") "/include") + "--enable-dynamic") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-doc-dir + (lambda _ + ;; Honor --docdir. + (substitute* "Makefile.in" + (("^docdir=.*$") "docdir = @docdir@\n") + (("^exdir=.*$") "exdir = $(docdir)/examples\n")) + #t)) (add-after 'configure 'remove-doc-reference - (lambda _ - ;; Don't retain a reference to the 'doc' output in 'gs'. - ;; The only use of this definition is in the output of - ;; 'gs --help', so this change is fine. - (substitute* "base/gscdef.c" - (("GS_DOCDIR") - "\"~/.guix-profile/share/doc/ghostscript\"")))) - (replace 'build (lambda _ - ;; Build 'libgs.so', but don't build the statically-linked 'gs' - ;; binary (saves 18 MiB). - (zero? (system* "make" "so" "-j" - (number->string (parallel-job-count)))))) - (replace 'install - (lambda _ - (zero? (system* "make" "soinstall")))) - (add-after 'install 'create-gs-symlink - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; some programs depend on having a 'gs' binary available - (symlink "gsc" (string-append out "/bin/gs")))))))) - (synopsis "PostScript and PDF interpreter") - (description - "Ghostscript is an interpreter for the PostScript language and the PDF + ;; Don't retain a reference to the 'doc' output in 'gs'. + ;; The only use of this definition is in the output of + ;; 'gs --help', so this change is fine. + (substitute* "base/gscdef.c" + (("GS_DOCDIR") + "\"~/.guix-profile/share/doc/ghostscript\"")) + #t)) + (add-after 'configure 'patch-config-files + (lambda _ + (substitute* "base/unixhead.mak" + (("/bin/sh") (which "sh"))) + #t)) + (replace 'build + (lambda _ + ;; Build 'libgs.so', but don't build the statically-linked 'gs' + ;; binary (saves 22 MiB). + (zero? (system* "make" "so" "-j" + (number->string (parallel-job-count)))))) + (replace 'install + (lambda _ + (zero? (system* "make" "soinstall")))) + (add-after 'install 'create-gs-symlink + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Some programs depend on having a 'gs' binary available. + (symlink "gsc" (string-append out "/bin/gs")) + #t)))))) + (native-inputs + `(("perl" ,perl) + ("python" ,python-wrapper) + ("tcl" ,tcl))) + (inputs + `(("freetype" ,freetype) + ("jbig2dec" ,jbig2dec) + ("lcms2" ,lcms) + ("libjpeg" ,libjpeg) + ("libpaper" ,libpaper) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("zlib" ,zlib))) + (synopsis "PostScript and PDF interpreter") + (description + "Ghostscript is an interpreter for the PostScript language and the PDF file format. It also includes a C library that implements the graphics capabilities of the PostScript language. It supports a wide variety of output file formats and printers.") - (license license:agpl3+) - (home-page "https://www.gnu.org/software/ghostscript/") - (properties '((upstream-name . "gnu-ghostscript"))))) + (home-page "https://www.ghostscript.com/") + (license license:agpl3+))) (define-public ghostscript/x (package/inherit ghostscript diff --git a/gnu/packages/patches/ghostscript-CVE-2013-5653.patch b/gnu/packages/patches/ghostscript-CVE-2013-5653.patch deleted file mode 100644 index 622266b176..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2013-5653.patch +++ /dev/null @@ -1,85 +0,0 @@ -The following patch was adapted for GNU Ghostscript -by Mark H Weaver based on: - -http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=ab109aaeb3ddba59518b036fb288402a65cf7ce8 - -From ab109aaeb3ddba59518b036fb288402a65cf7ce8 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Sat, 5 Mar 2016 14:56:03 -0800 -Subject: [PATCH] Bug 694724: Have filenameforall and getenv honor SAFER - ---- - Resource/Init/gs_init.ps | 2 ++ - psi/zfile.c | 36 ++++++++++++++++++++---------------- - 2 files changed, 22 insertions(+), 16 deletions(-) - -diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps -index fa33d88..99888ac 100644 ---- a/Resource/Init/gs_init.ps -+++ b/Resource/Init/gs_init.ps -@@ -2018,6 +2018,7 @@ readonly def - - /.locksafe { - .locksafe_userparams -+ systemdict /getenv {pop //false} put - % setpagedevice has the side effect of clearing the page, but - % we will just document that. Using setpagedevice keeps the device - % properties and pagedevice .LockSafetyParams in agreement even -@@ -2036,6 +2037,7 @@ readonly def - %% - /.locksafeglobal { - .locksafe_userparams -+ systemdict /getenv {pop //false} put - % setpagedevice has the side effect of clearing the page, but - % we will just document that. Using setpagedevice keeps the device - % properties and pagedevice .LockSafetyParams in agreement even -diff --git a/psi/zfile.c b/psi/zfile.c -index 320ecd5..0b9f299 100644 ---- a/psi/zfile.c -+++ b/psi/zfile.c -@@ -371,22 +371,26 @@ file_continue(i_ctx_t *i_ctx_p) - - if (len < devlen) - return_error(e_rangecheck); /* not even room for device len */ -- memcpy((char *)pscratch->value.bytes, iodev->dname, devlen); -- code = iodev->procs.enumerate_next(pfen, (char *)pscratch->value.bytes + devlen, -- len - devlen); -- if (code == ~(uint) 0) { /* all done */ -- esp -= 5; /* pop proc, pfen, devlen, iodev , mark */ -- return o_pop_estack; -- } else if (code > len) /* overran string */ -- return_error(e_rangecheck); -- else { -- push(1); -- ref_assign(op, pscratch); -- r_set_size(op, code + devlen); -- push_op_estack(file_continue); /* come again */ -- *++esp = pscratch[2]; /* proc */ -- return o_push_estack; -- } -+ -+ do { -+ memcpy((char *)pscratch->value.bytes, iodev->dname, devlen); -+ code = iodev->procs.enumerate_next(pfen, (char *)pscratch->value.bytes + devlen, -+ len - devlen); -+ if (code == ~(uint) 0) { /* all done */ -+ esp -= 5; /* pop proc, pfen, devlen, iodev , mark */ -+ return o_pop_estack; -+ } else if (code > len) /* overran string */ -+ return_error(e_rangecheck); -+ else if (iodev != iodev_default(imemory) -+ || (check_file_permissions_reduced(i_ctx_p, (char *)pscratch->value.bytes, code + devlen, "PermitFileReading")) == 0) { -+ push(1); -+ ref_assign(op, pscratch); -+ r_set_size(op, code + devlen); -+ push_op_estack(file_continue); /* come again */ -+ *++esp = pscratch[2]; /* proc */ -+ return o_push_estack; -+ } -+ } while(1); - } - /* Cleanup procedure for enumerating files */ - static int --- -2.9.1 - diff --git a/gnu/packages/patches/ghostscript-CVE-2015-3228.patch b/gnu/packages/patches/ghostscript-CVE-2015-3228.patch deleted file mode 100644 index c19fdb1d43..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2015-3228.patch +++ /dev/null @@ -1,32 +0,0 @@ -The file names in the upstream patch below were modified to apply to GNU -ghostscript. - -From 0c0b0859ae1aba64861599f0e7f74f143f305932 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Tue, 7 Jul 2015 16:57:41 +0100 -Subject: [PATCH] Bug 696041: sanity check for memory allocation. - -In gs_heap_alloc_bytes(), add a sanity check to ensure we don't overflow the -variable holding the actual number of bytes we allocate. - -No cluster differences ---- - gs/base/gsmalloc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/base/gsmalloc.c b/base/gsmalloc.c -index 624552d..cad79c2 100644 ---- a/base/gsmalloc.c -+++ b/base/gsmalloc.c -@@ -178,7 +178,7 @@ gs_heap_alloc_bytes(gs_memory_t * mem, uint size, client_name_t cname) - } else { - uint added = size + sizeof(gs_malloc_block_t); - -- if (mmem->limit - added < mmem->used) -+ if (added <= size || mmem->limit - added < mmem->used) - set_msg("exceeded limit"); - else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0) - set_msg("failed"); --- -2.4.6 - diff --git a/gnu/packages/patches/ghostscript-CVE-2016-7976.patch b/gnu/packages/patches/ghostscript-CVE-2016-7976.patch deleted file mode 100644 index 0a09f89016..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2016-7976.patch +++ /dev/null @@ -1,185 +0,0 @@ -The following patch was adapted for GNU Ghostscript -by Mark H Weaver based on: - -http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=6d444c273da5499a4cd72f21cb6d4c9a5256807d - -From 6d444c273da5499a4cd72f21cb6d4c9a5256807d Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Wed, 5 Oct 2016 09:55:55 +0100 -Subject: [PATCH] Bug 697178: Add a file permissions callback - -For the rare occasions when the graphics library directly opens a file -(currently for reading), this allows us to apply any restrictions on -file access normally applied in the interpteter. ---- - base/gsicc_manage.c | 10 ++++++---- - base/gslibctx.c | 12 +++++++++++- - base/gslibctx.h | 7 +++++++ - psi/imain.c | 2 ++ - psi/int.mak | 2 +- - psi/zfile.c | 19 +++++++++++++++++++ - psi/zfile.h | 7 +++++++ - 7 files changed, 53 insertions(+), 6 deletions(-) - -diff --git a/base/gsicc_manage.c b/base/gsicc_manage.c -index 931c2a6..e9c09c3 100644 ---- a/base/gsicc_manage.c -+++ b/base/gsicc_manage.c -@@ -1028,10 +1028,12 @@ gsicc_open_search(const char* pname, int namelen, gs_memory_t *mem_gc, - } - - /* First just try it like it is */ -- str = sfopen(pname, "rb", mem_gc); -- if (str != NULL) { -- *strp = str; -- return 0; -+ if (gs_check_file_permission(mem_gc, pname, namelen, "r") >= 0) { -+ str = sfopen(pname, "rb", mem_gc); -+ if (str != NULL) { -+ *strp = str; -+ return 0; -+ } - } - - /* If that fails, try %rom% */ /* FIXME: Not sure this is needed or correct */ -diff --git a/base/gslibctx.c b/base/gslibctx.c -index eaa0458..37ce1ca 100644 ---- a/base/gslibctx.c -+++ b/base/gslibctx.c -@@ -121,7 +121,7 @@ int gs_lib_ctx_init( gs_memory_t *mem ) - mem->gs_lib_ctx = NULL; - return -1; - } -- -+ pio->client_check_file_permission = NULL; - gp_get_realtime(pio->real_time_0); - - return 0; -@@ -262,3 +262,13 @@ void errflush(const gs_memory_t *mem) - fflush(mem->gs_lib_ctx->fstderr); - /* else nothing to flush */ - } -+ -+int -+gs_check_file_permission (gs_memory_t *mem, const char *fname, const int len, const char *permission) -+{ -+ int code = 0; -+ if (mem->gs_lib_ctx->client_check_file_permission != NULL) { -+ code = mem->gs_lib_ctx->client_check_file_permission(mem, fname, len, permission); -+ } -+ return code; -+} -diff --git a/base/gslibctx.h b/base/gslibctx.h -index 7a4e110..020e2d9 100644 ---- a/base/gslibctx.h -+++ b/base/gslibctx.h -@@ -32,6 +32,9 @@ typedef struct gs_fapi_server_s gs_fapi_server; - # define gs_font_dir_DEFINED - typedef struct gs_font_dir_s gs_font_dir; - #endif -+ -+typedef int (*client_check_file_permission_t) (gs_memory_t *mem, const char *fname, const int len, const char *permission); -+ - typedef struct gs_lib_ctx_s - { - gs_memory_t *memory; /* mem->gs_lib_ctx->memory == mem */ -@@ -59,6 +62,7 @@ typedef struct gs_lib_ctx_s - bool dict_auto_expand; /* ps dictionary: false level 1 true level 2 or 3 */ - /* A table of local copies of the IODevices */ - struct gx_io_device_s **io_device_table; -+ client_check_file_permission_t client_check_file_permission; - /* Define the default value of AccurateScreens that affects setscreen - and setcolorscreen. */ - bool screen_accurate_screens; -@@ -108,6 +112,9 @@ int - void gs_lib_ctx_set_icc_directory(const gs_memory_t *mem_gc, const char* pname, - int dir_namelen); - -+int -+gs_check_file_permission (gs_memory_t *mem, const char *fname, const int len, const char *permission); -+ - #define IS_LIBCTX_STDOUT(mem, f) (f == mem->gs_lib_ctx->fstdout) - #define IS_LIBCTX_STDERR(mem, f) (f == mem->gs_lib_ctx->fstderr) - -diff --git a/psi/imain.c b/psi/imain.c -index 9a9bb5d..6874128 100644 ---- a/psi/imain.c -+++ b/psi/imain.c -@@ -57,6 +57,7 @@ - #include "ivmspace.h" - #include "idisp.h" /* for setting display device callback */ - #include "iplugin.h" -+#include "zfile.h" - - #ifdef PACIFY_VALGRIND - #include "valgrind.h" -@@ -215,6 +216,7 @@ gs_main_init1(gs_main_instance * minst) - "the_gs_name_table"); - if (code < 0) - return code; -+ mem->gs_lib_ctx->client_check_file_permission = z_check_file_permissions; - } - code = obj_init(&minst->i_ctx_p, &idmem); /* requires name_init */ - if (code < 0) -diff --git a/psi/int.mak b/psi/int.mak -index 4654afc..bb30d51 100644 ---- a/psi/int.mak -+++ b/psi/int.mak -@@ -1868,7 +1868,7 @@ $(PSOBJ)imain.$(OBJ) : $(PSSRC)imain.c $(GH) $(memory__h) $(string__h)\ - $(ialloc_h) $(iconf_h) $(idebug_h) $(idict_h) $(idisp_h) $(iinit_h)\ - $(iname_h) $(interp_h) $(iplugin_h) $(isave_h) $(iscan_h) $(ivmspace_h)\ - $(iinit_h) $(main_h) $(oper_h) $(ostack_h)\ -- $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h) -+ $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h) $(zfile_h) - $(PSCC) $(PSO_)imain.$(OBJ) $(C_) $(PSSRC)imain.c - - #****** $(CCINT) interp.c -diff --git a/psi/zfile.c b/psi/zfile.c -index 2c6c958..2f27f82 100644 ---- a/psi/zfile.c -+++ b/psi/zfile.c -@@ -197,6 +197,25 @@ check_file_permissions(i_ctx_t *i_ctx_p, const char *fname, int len, - return check_file_permissions_reduced(i_ctx_p, fname_reduced, rlen, permitgroup); - } - -+/* z_check_file_permissions: see zfile.h for explanation -+ */ -+int -+z_check_file_permissions(gs_memory_t *mem, const char *fname, const int len, const char *permission) -+{ -+ i_ctx_t *i_ctx_p = get_minst_from_memory(mem)->i_ctx_p; -+ gs_parsed_file_name_t pname; -+ const char *permitgroup = permission[0] == 'r' ? "PermitFileReading" : "PermitFileWriting"; -+ int code = gs_parse_file_name(&pname, fname, len, imemory); -+ if (code < 0) -+ return code; -+ -+ if (pname.iodev && i_ctx_p->LockFilePermissions && strcmp(pname.iodev->dname, "%pipe%") == 0) -+ return e_invalidfileaccess; -+ -+ code = check_file_permissions(i_ctx_p, fname, len, permitgroup); -+ return code; -+} -+ - /* file */ - int /* exported for zsysvm.c */ - zfile(i_ctx_t *i_ctx_p) -diff --git a/psi/zfile.h b/psi/zfile.h -index fdf1373..a9399c7 100644 ---- a/psi/zfile.h -+++ b/psi/zfile.h -@@ -22,4 +22,11 @@ - int zopen_file(i_ctx_t *i_ctx_p, const gs_parsed_file_name_t *pfn, - const char *file_access, stream **ps, gs_memory_t *mem); - -+/* z_check_file_permissions: a callback (via mem->gs_lib_ctx->client_check_file_permission) -+ * to allow applying the above permissions checks when opening file(s) from -+ * the graphics library -+ */ -+int -+z_check_file_permissions(gs_memory_t *mem, const char *fname, -+ const int len, const char *permission); - #endif --- -2.9.1 - diff --git a/gnu/packages/patches/ghostscript-CVE-2016-7978.patch b/gnu/packages/patches/ghostscript-CVE-2016-7978.patch deleted file mode 100644 index 81cb26e9ed..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2016-7978.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6f749c0c44e7b9e09737b9f29edf29925a34f0cf Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Wed, 5 Oct 2016 09:59:25 +0100 -Subject: [PATCH] Bug 697179: Reference count device icc profile - -when copying a device ---- - base/gsdevice.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/base/gsdevice.c b/base/gsdevice.c -index 778106f..aea986a 100644 ---- a/base/gsdevice.c -+++ b/base/gsdevice.c -@@ -614,6 +614,7 @@ gx_device_init(gx_device * dev, const gx_device * proto, gs_memory_t * mem, - dev->memory = mem; - dev->retained = !internal; - rc_init(dev, mem, (internal ? 0 : 1)); -+ rc_increment(dev->icc_struct); - } - - void --- -2.9.1 - diff --git a/gnu/packages/patches/ghostscript-CVE-2016-7979.patch b/gnu/packages/patches/ghostscript-CVE-2016-7979.patch deleted file mode 100644 index a557adfdea..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2016-7979.patch +++ /dev/null @@ -1,48 +0,0 @@ -The following patch was adapted for GNU Ghostscript -by Mark H Weaver based on: - -http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=875a0095f37626a721c7ff57d606a0f95af03913 - -From 875a0095f37626a721c7ff57d606a0f95af03913 Mon Sep 17 00:00:00 2001 -From: Ken Sharp -Date: Wed, 5 Oct 2016 10:10:58 +0100 -Subject: [PATCH] DSC parser - validate parameters - -Bug #697190 ".initialize_dsc_parser doesn't validate the parameter is a dict type before using it." - -Regardless of any security implications, its simply wrong for a PostScript -operator not to validate its parameter(s). - -No differences expected. ---- - psi/zdscpars.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/psi/zdscpars.c b/psi/zdscpars.c -index c05e154..9b4b605 100644 ---- a/psi/zdscpars.c -+++ b/psi/zdscpars.c -@@ -150,11 +150,16 @@ zinitialize_dsc_parser(i_ctx_t *i_ctx_p) - ref local_ref; - int code; - os_ptr const op = osp; -- dict * const pdict = op->value.pdict; -- gs_memory_t * const mem = (gs_memory_t *)dict_memory(pdict); -- dsc_data_t * const data = -- gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, "DSC parser init"); -+ dict *pdict; -+ gs_memory_t *mem; -+ dsc_data_t *data; - -+ check_read_type(*op, t_dictionary); -+ -+ pdict = op->value.pdict; -+ mem = (gs_memory_t *)dict_memory(pdict); -+ -+ data = gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, "DSC parser init"); - if (!data) - return_error(e_VMerror); - data->document_level = 0; --- -2.9.1 - diff --git a/gnu/packages/patches/ghostscript-CVE-2016-8602.patch b/gnu/packages/patches/ghostscript-CVE-2016-8602.patch deleted file mode 100644 index aaf20b6c6c..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2016-8602.patch +++ /dev/null @@ -1,47 +0,0 @@ -The following patch was adapted for GNU Ghostscript -by Mark H Weaver based on: - -http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78 - -From f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Sat, 8 Oct 2016 16:10:27 +0100 -Subject: [PATCH] Bug 697203: check for sufficient params in .sethalftone5 - -and param types ---- - psi/zht2.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/psi/zht2.c b/psi/zht2.c -index fb4a264..dfa27a4 100644 ---- a/psi/zht2.c -+++ b/psi/zht2.c -@@ -82,14 +82,22 @@ zsethalftone5(i_ctx_t *i_ctx_p) - gs_memory_t *mem; - uint edepth = ref_stack_count(&e_stack); - int npop = 2; -- int dict_enum = dict_first(op); -+ int dict_enum; - ref rvalue[2]; - int cname, colorant_number; - byte * pname; - uint name_size; - int halftonetype, type = 0; - gs_state *pgs = igs; -- int space_index = r_space_index(op - 1); -+ int space_index; -+ -+ if (ref_stack_count(&o_stack) < 2) -+ return_error(e_stackunderflow); -+ check_type(*op, t_dictionary); -+ check_type(*(op - 1), t_dictionary); -+ -+ dict_enum = dict_first(op); -+ space_index = r_space_index(op - 1); - - mem = (gs_memory_t *) idmemory->spaces_indexed[space_index]; - --- -2.9.1 - diff --git a/gnu/packages/patches/ghostscript-CVE-2017-8291.patch b/gnu/packages/patches/ghostscript-CVE-2017-8291.patch index db80b6ddec..d38bd593c0 100644 --- a/gnu/packages/patches/ghostscript-CVE-2017-8291.patch +++ b/gnu/packages/patches/ghostscript-CVE-2017-8291.patch @@ -1,15 +1,60 @@ Fix CVE-2017-8291: -https://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-8291 +https://bugs.ghostscript.com/show_bug.cgi?id=697799 +https://bugs.ghostscript.com/show_bug.cgi?id=697808 (duplicate) +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8291 -This patch is adapted from these two Artifex Ghostscript commits by Leo -Famulari : +Patches copied from upstream source repository: -https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=04b37bbce174eed24edec7ad5b920eb93db4d47d;hp=4f83478c88c2e05d6e8d79ca4557eb039354d2f3 -https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4f83478c88c2e05d6e8d79ca4557eb039354d2f3;hp=5603e8fc3e59c435318877efe627967ee6baebb8 +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4f83478c88c2e05d6e8d79ca4557eb039354d2f3 +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=04b37bbce174eed24edec7ad5b920eb93db4d47d +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=57f20719e1cfaea77b67cb26e26de7fe4d7f9b2e +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ccfd2c75ac9be4cbd369e4cbdd40ba11a0c7bdad + +From 4f83478c88c2e05d6e8d79ca4557eb039354d2f3 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 27 Apr 2017 13:03:33 +0100 +Subject: [PATCH] Bug 697799: have .eqproc check its parameters + +The Ghostscript custom operator .eqproc was not check the number or type of +the parameters it was given. +--- + psi/zmisc3.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/psi/zmisc3.c b/psi/zmisc3.c +index 54b304246..37293ff4b 100644 +--- a/psi/zmisc3.c ++++ b/psi/zmisc3.c +@@ -56,6 +56,12 @@ zeqproc(i_ctx_t *i_ctx_p) + ref2_t stack[MAX_DEPTH + 1]; + ref2_t *top = stack; + ++ if (ref_stack_count(&o_stack) < 2) ++ return_error(gs_error_stackunderflow); ++ if (!r_is_array(op - 1) || !r_is_array(op)) { ++ return_error(gs_error_typecheck); ++ } ++ + make_array(&stack[0].proc1, 0, 1, op - 1); + make_array(&stack[0].proc2, 0, 1, op); + for (;;) { +-- +2.13.0 + +From 04b37bbce174eed24edec7ad5b920eb93db4d47d Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 27 Apr 2017 13:21:31 +0100 +Subject: [PATCH] Bug 697799: have .rsdparams check its parameters + +The Ghostscript internal operator .rsdparams wasn't checking the number or +type of the operands it was being passed. Do so. +--- + psi/zfrsd.c | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/psi/zfrsd.c b/psi/zfrsd.c -index fb4bce9..2629afa 100644 +index 191107d8a..950588d69 100644 --- a/psi/zfrsd.c +++ b/psi/zfrsd.c @@ -49,13 +49,20 @@ zrsdparams(i_ctx_t *i_ctx_p) @@ -24,9 +69,9 @@ index fb4bce9..2629afa 100644 + int code = 0; + + if (ref_stack_count(&o_stack) < 1) -+ return_error(e_stackunderflow); ++ return_error(gs_error_stackunderflow); + if (!r_has_type(op, t_dictionary) && !r_has_type(op, t_null)) { -+ return_error(e_typecheck); ++ return_error(gs_error_typecheck); + } make_empty_array(&empty_array, a_readonly); @@ -35,15 +80,15 @@ index fb4bce9..2629afa 100644 + && dict_find_string(op, "Filter", &pFilter) > 0) { if (!r_is_array(pFilter)) { if (!r_has_type(pFilter, t_name)) - return_error(e_typecheck); + return_error(gs_error_typecheck); @@ -94,12 +101,13 @@ zrsdparams(i_ctx_t *i_ctx_p) - return_error(e_typecheck); + return_error(gs_error_typecheck); } } - code = dict_int_param(op, "Intent", 0, 3, 0, &Intent); + if (r_has_type(op, t_dictionary)) + code = dict_int_param(op, "Intent", 0, 3, 0, &Intent); - if (code < 0 && code != e_rangecheck) /* out-of-range int is ok, use 0 */ + if (code < 0 && code != gs_error_rangecheck) /* out-of-range int is ok, use 0 */ return code; - if ((code = dict_bool_param(op, "AsyncRead", false, &AsyncRead)) < 0 - ) @@ -54,20 +99,97 @@ index fb4bce9..2629afa 100644 push(1); op[-1] = *pFilter; if (pDecodeParms) +-- +2.13.0 + +From 57f20719e1cfaea77b67cb26e26de7fe4d7f9b2e Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Wed, 3 May 2017 12:05:45 +0100 +Subject: [PATCH] Bug 697846: revision to commit 4f83478c88 (.eqproc) + +When using the "DELAYBIND" feature, it turns out that .eqproc can be called with +parameters that are not both procedures. In this case, it turns out, the +expectation is for the operator to return 'false', rather than throw an error. +--- + psi/zmisc3.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + diff --git a/psi/zmisc3.c b/psi/zmisc3.c -index 54b3042..0d357f1 100644 +index 37293ff4b..3f01d39a3 100644 --- a/psi/zmisc3.c +++ b/psi/zmisc3.c -@@ -56,6 +56,12 @@ zeqproc(i_ctx_t *i_ctx_p) +@@ -38,6 +38,15 @@ zcliprestore(i_ctx_t *i_ctx_p) + return gs_cliprestore(igs); + } + ++static inline bool ++eqproc_check_type(ref *r) ++{ ++ return r_has_type(r, t_array) ++ || r_has_type(r, t_mixedarray) ++ || r_has_type(r, t_shortarray) ++ || r_has_type(r, t_oparray); ++} ++ + /* .eqproc */ + /* + * Test whether two procedures are equal to depth 10. +@@ -58,8 +67,10 @@ zeqproc(i_ctx_t *i_ctx_p) + + if (ref_stack_count(&o_stack) < 2) + return_error(gs_error_stackunderflow); +- if (!r_is_array(op - 1) || !r_is_array(op)) { +- return_error(gs_error_typecheck); ++ if (!eqproc_check_type(op -1) || !eqproc_check_type(op)) { ++ make_false(op - 1); ++ pop(1); ++ return 0; + } + + make_array(&stack[0].proc1, 0, 1, op - 1); +-- +2.13.0 + +From ccfd2c75ac9be4cbd369e4cbdd40ba11a0c7bdad Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 11 May 2017 14:07:48 +0100 +Subject: [PATCH] Bug 697892: fix check for op stack underflow. + +In the original fix, I used the wrong method to check for stack underflow, this +is using the correct method. +--- + psi/zfrsd.c | 3 +-- + psi/zmisc3.c | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/psi/zfrsd.c b/psi/zfrsd.c +index 950588d69..9c035b96d 100644 +--- a/psi/zfrsd.c ++++ b/psi/zfrsd.c +@@ -54,8 +54,7 @@ zrsdparams(i_ctx_t *i_ctx_p) + uint i; + int code = 0; + +- if (ref_stack_count(&o_stack) < 1) +- return_error(gs_error_stackunderflow); ++ check_op(1); + if (!r_has_type(op, t_dictionary) && !r_has_type(op, t_null)) { + return_error(gs_error_typecheck); + } +diff --git a/psi/zmisc3.c b/psi/zmisc3.c +index 3f01d39a3..43803b55b 100644 +--- a/psi/zmisc3.c ++++ b/psi/zmisc3.c +@@ -65,8 +65,7 @@ zeqproc(i_ctx_t *i_ctx_p) ref2_t stack[MAX_DEPTH + 1]; ref2_t *top = stack; -+ if (ref_stack_count(&o_stack) < 2) -+ return_error(e_stackunderflow); -+ if (!r_is_array(op - 1) || !r_is_array(op)) { -+ return_error(e_typecheck); -+ } -+ - make_array(&stack[0].proc1, 0, 1, op - 1); - make_array(&stack[0].proc2, 0, 1, op); - for (;;) { +- if (ref_stack_count(&o_stack) < 2) +- return_error(gs_error_stackunderflow); ++ check_op(2); + if (!eqproc_check_type(op -1) || !eqproc_check_type(op)) { + make_false(op - 1); + pop(1); +-- +2.13.0 + diff --git a/gnu/packages/patches/ghostscript-runpath.patch b/gnu/packages/patches/ghostscript-runpath.patch index c7dcfd4529..9f161e45b3 100644 --- a/gnu/packages/patches/ghostscript-runpath.patch +++ b/gnu/packages/patches/ghostscript-runpath.patch @@ -1,17 +1,18 @@ -This patch adds $(libdir) to the RUNPATH of 'gsc' and 'gsx'. - ---- gnu-ghostscript-9.14.0/base/unix-dll.mak 2015-04-05 15:12:45.386957927 +0200 -+++ gnu-ghostscript-9.14.0/base/unix-dll.mak 2015-04-05 15:12:49.222982359 +0200 -@@ -91,11 +91,11 @@ $(GS_SO_MAJOR): $(GS_SO_MAJOR_MINOR) +diff --git a/base/unix-dll.mak b/base/unix-dll.mak +index 9d57a99..36ef1ff 100644 +--- a/base/unix-dll.mak ++++ b/base/unix-dll.mak +@@ -171,11 +171,11 @@ gpdl-so-links-subtarget: $(GPDL_SO) $(UNIX_DLL_MAK) $(MAKEDIRS) # Build the small Ghostscript loaders, with Gtk+ and without - $(GSSOC_XE): $(GS_SO) $(PSSRC)$(SOC_LOADER) + $(GSSOC_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER) $(UNIX_DLL_MAK) $(MAKEDIRS) $(GLCC) -g -o $(GSSOC_XE) $(PSSRC)dxmainc.c \ - -L$(BINDIR) -l$(GS_SO_BASE) + -L$(BINDIR) -l$(GS_SO_BASE) -Wl,-rpath=$(libdir) - $(GSSOX_XE): $(GS_SO) $(PSSRC)$(SOC_LOADER) + $(GSSOX_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER) $(UNIX_DLL_MAK) $(MAKEDIRS) $(GLCC) -g $(SOC_CFLAGS) -o $(GSSOX_XE) $(PSSRC)$(SOC_LOADER) \ - -L$(BINDIR) -l$(GS_SO_BASE) $(SOC_LIBS) + -L$(BINDIR) -l$(GS_SO_BASE) $(SOC_LIBS) -Wl,-rpath=$(libdir) - # ------------------------- Recursive make targets ------------------------- # + $(PCLSOC_XE): gpcl6-so-links-subtarget $(PLSRC)$(REALMAIN_SRC).c $(UNIX_DLL_MAK) $(MAKEDIRS) + $(GLCC) -g -o $(PCLSOC_XE) $(PLSRC)$(REALMAIN_SRC).c -L$(BINDIR) -l$(PCL_SO_BASE) From 1c09eb9948fcb5f6cfb85faafe24a8843c119f89 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 29 May 2017 04:42:37 -0400 Subject: [PATCH 079/231] gnu: ijs: Use modify-phases syntax. * gnu/packages/ghostscript.scm (ijs)[arguments]: Use modify-phases. --- gnu/packages/ghostscript.scm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index ffe6e018bd..32c2b444d5 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2013, 2015, 2016 Ludovic Courtès ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -246,24 +247,22 @@ output file formats and printers.") ("autoconf" ,autoconf))) (arguments `(#:phases - (alist-cons-after - 'unpack 'autogen - (lambda _ - ;; need to regenerate macros - (system* "autoreconf" "-if") - ;; do not run configure - (substitute* "autogen.sh" - (("^.*\\$srcdir/configure.*") "")) - (system* "bash" "autogen.sh") - - ;; create configure script in ./ijs/ - (chdir "ijs") - ;; do not run configure - (substitute* "autogen.sh" - (("^.*\\$srcdir/configure.*") "") - (("^ + && echo Now type.*$") "")) - (zero? (system* "bash" "autogen.sh"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + ;; need to regenerate macros + (system* "autoreconf" "-if") + ;; do not run configure + (substitute* "autogen.sh" + (("^.*\\$srcdir/configure.*") "")) + (system* "bash" "autogen.sh") + ;; create configure script in ./ijs/ + (chdir "ijs") + ;; do not run configure + (substitute* "autogen.sh" + (("^.*\\$srcdir/configure.*") "") + (("^ + && echo Now type.*$") "")) + (zero? (system* "bash" "autogen.sh"))))))) (synopsis "IJS driver framework for inkjet and other raster devices") (description "IJS is a protocol for transmission of raster page images. This package From 55af10fb987ce96966850da08f8f8d12691dee63 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 29 May 2017 04:43:21 -0400 Subject: [PATCH 080/231] gnu: ijs: Update to 9.21.0 and inherit from ghostscript. * gnu/packages/ghostscript.scm (ijs): Update to 9.21.0. [source, version, home-page]: Inherit from ghostscript. --- gnu/packages/ghostscript.scm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 32c2b444d5..e0ae9bab6f 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -233,13 +233,8 @@ output file formats and printers.") (define-public ijs (package (name "ijs") - (version "9.14.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" - version ".tar.xz")) - (sha256 (base32 - "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")))) + (version (package-version ghostscript)) + (source (package-source ghostscript)) (build-system gnu-build-system) (native-inputs `(("libtool" ,libtool) @@ -269,7 +264,7 @@ output file formats and printers.") provides the reference implementation of the raster printer driver architecture.") (license license:expat) - (home-page "https://www.gnu.org/software/ghostscript/"))) + (home-page (package-home-page ghostscript)))) (define-public gs-fonts (package From c6064f154f1aabcdae8a19dd3360eb0d37550ee9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 01:55:18 +0200 Subject: [PATCH 081/231] gnu: libdrm: Update to 2.4.81. * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.81. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index ad919a6b28..64907d8b5a 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -277,7 +277,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.80") + (version "2.4.81") (source (origin (method url-fetch) @@ -287,7 +287,7 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "1wa9cnzf60xwx67zq9ay48xr3j3sn1z80q77jpbzmkg906b52am8")) + "1bhimr6za2ddisrvrv1qqd7c2a59s7jc954sjycq2w68b8cmrh4c")) (patches (search-patches "libdrm-symbol-check.patch")))) (build-system gnu-build-system) (inputs From 81b959c4ec785684f749544ce7f86fe1f5bbe4fe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 3 Jun 2017 04:18:22 +0200 Subject: [PATCH 082/231] gnu: util-linux: Update to 2.30. Release notes: https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-ReleaseNotes * gnu/packages/linux.scm (util-linux): Update to 2.30. --- 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 13e08dcfaf..e3b7a8c5e1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -492,7 +492,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.29.2") + (version "2.30") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -500,7 +500,7 @@ providing the system administrator with some help in common tasks.") name "-" version ".tar.xz")) (sha256 (base32 - "1qz81w8vzrmy8xn9yx7ls4amkbgwx6vr62pl6kv9g7r0g3ba9kmc")) + "13d0ax8bcapga8phj2nclx86w57ddqxbr98ajibpzjq6d7zs8262")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet From 82d3ed3b5b85438174996ccc4f1514622a05ee4f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 3 Jun 2017 04:52:57 +0200 Subject: [PATCH 083/231] gnu: xkeyboard-config: Update to 2.21. * gnu/packages/xorg.scm (xkeyboard-config): Update to 2.21. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 239b6ff2fe..7d981712da 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3737,7 +3737,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.20") + (version "2.21") (source (origin (method url-fetch) @@ -3747,7 +3747,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "0d619g4r0w1f6q5qmaqjnsc0956gi02fqgpisqffzqy4acjwggyi")))) + "1iffxpchy6dfgbby23nfsqqk17h9lfddlmjnhwagqag1z94p1h9h")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) From 0b70f7d557181febd80b16c8e3a03887df3871af Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 3 Jun 2017 04:57:53 +0200 Subject: [PATCH 084/231] gnu: libgcrypt: Update to 1.7.7. This release includes two bug-fixes: - Fix possible timing attack on EdDSA session key. - Fix long standing bug in secure memory implementation which could lead to a segv on free. [bug#3027] * gnu/packages/gnupg.scm (libgcrypt): Update to 1.7.7. --- 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 d12304a8eb..e901dba2c2 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -82,14 +82,14 @@ Daemon and possibly more in the future.") (define-public libgcrypt (package (name "libgcrypt") - (version "1.7.6") + (version "1.7.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" version ".tar.bz2")) (sha256 (base32 - "1g05prhgqw4ryd0w433q8nhds0h93kf47hfjagi2r7dghkpaysk2")))) + "16ndaj93asw122mwjz172x2ilpm03w1yp5mqcrp3xslk0yx5xf5r")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error-host" ,libgpg-error))) From 8b4186e116434860a93fd1c8163fdeb86c1d63a8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 3 Jun 2017 04:31:15 +0200 Subject: [PATCH 085/231] gnu: libuv: Update to 1.12.0. * gnu/packages/libevent.scm (libuv): Update to 1.12.0. [license]: X11 should actually be EXPAT. Add CC-BY4.0. --- gnu/packages/libevent.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index c903352bbc..bda15393f6 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -121,7 +121,7 @@ programs.") (define-public libuv (package (name "libuv") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/libuv/libuv/archive/v" @@ -129,7 +129,7 @@ programs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yhw86011l2dg2prms0d86szygrix4pxpgnyzs7iljy2xk3fxivf")))) + "0l0jrb5q3i8br10c8skc6xdwlxkmlpn3n0kngaqd68fsi1593kj1")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after @@ -157,8 +157,8 @@ similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS resolution, asynchronous file system operations, and threading primitives.") ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for - ;; details. - (license x11))) + ;; details. Documentation is CC-BY 4.0 as of 1.12.0; see 'LICENSE-docs'. + (license (list expat cc-by4.0)))) (define-public perl-anyevent (package From f65805485dac3f8c4586648e3f7e901202095a19 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 4 Jun 2017 02:30:13 -0400 Subject: [PATCH 086/231] gnu: perl: Update to 5.26.0. * gnu/packages/perl.scm (perl): Update to 5.26.0. * gnu/packages/patches/perl-no-sys-dirs.patch: Update patch context for 'hints/linux.sh'. --- gnu/packages/patches/perl-no-sys-dirs.patch | 73 +++++++++++---------- gnu/packages/perl.scm | 4 +- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/gnu/packages/patches/perl-no-sys-dirs.patch b/gnu/packages/patches/perl-no-sys-dirs.patch index da91fef3b4..31d53e0353 100644 --- a/gnu/packages/patches/perl-no-sys-dirs.patch +++ b/gnu/packages/patches/perl-no-sys-dirs.patch @@ -1,6 +1,7 @@ Don't look for headers and libraries in "traditional" locations. -Patch from Nixpkgs by Eelco Dolstra . +Patch adapted from Nixpkgs, originally by Eelco Dolstra +. diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure --- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200 @@ -185,39 +186,6 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/li case "$plibpth" in '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` -@@ -178,32 +159,6 @@ - ;; - esac - --case "$libc" in --'') --# If you have glibc, then report the version for ./myconfig bug reporting. --# (Configure doesn't need to know the specific version since it just uses --# gcc to load the library for all tests.) --# We don't use __GLIBC__ and __GLIBC_MINOR__ because they --# are insufficiently precise to distinguish things like --# libc-2.0.6 and libc-2.0.7. -- for p in $plibpth -- do -- for trylib in libc.so.6 libc.so -- do -- if $test -e $p/$trylib; then -- libc=`ls -l $p/$trylib | awk '{print $NF}'` -- if $test "X$libc" != X; then -- break -- fi -- fi -- done -- if $test "X$libc" != X; then -- break -- fi -- done -- ;; --esac -- - # Are we using ELF? Thanks to Kenneth Albanowski - # for this test. - cat >try.c <<'EOM' @@ -367,33 +322,6 @@ ;; esac @@ -252,3 +220,40 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/li # Linux on Synology. if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then # Tested on Synology DS213 and DS413 +diff --git a/hints/linux.sh b/hints/linux.sh +index 3f38ea0..97aed11 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -195,32 +195,6 @@ case "$usequadmath" in + ;; + esac + +-case "$libc" in +-'') +-# If you have glibc, then report the version for ./myconfig bug reporting. +-# (Configure doesn't need to know the specific version since it just uses +-# gcc to load the library for all tests.) +-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they +-# are insufficiently precise to distinguish things like +-# libc-2.0.6 and libc-2.0.7. +- for p in $plibpth +- do +- for trylib in libc.so.6 libc.so +- do +- if $test -e $p/$trylib; then +- libc=`ls -l $p/$trylib | awk '{print $NF}'` +- if $test "X$libc" != X; then +- break +- fi +- fi +- done +- if $test "X$libc" != X; then +- break +- fi +- done +- ;; +-esac +- + if ${sh:-/bin/sh} -c exit; then + echo '' + echo 'You appear to have a working bash. Good.' diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index db76160062..c3b486988d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -51,14 +51,14 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.24.1") + (version "5.26.0") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "1bqqb5ghfj4486nqr77kgsd8aff6a289jy7n2cdkznwvn34qbhg6")) + "0zxn9hd7mqgq06ikyi6k70ngbvjf01z1paw0jd25byyl0rlwdrzb")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" From 47415332d70cd9166b0914ce43018ae57083c120 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 3 Jun 2017 16:17:38 -0400 Subject: [PATCH 087/231] gnu: openldap: Update to 2.4.45. * gnu/packages/openldap.scm (openldap): Update to 2.4.45. [replacement]: Remove field. (openldap/fixed): Remove variable. --- gnu/packages/openldap.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 24bf603c44..a146ef378f 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -40,8 +40,7 @@ (define-public openldap (package (name "openldap") - (replacement openldap/fixed) - (version "2.4.44") + (version "2.4.45") (source (origin (method url-fetch) @@ -51,14 +50,14 @@ "ftp://mirror.switch.ch/mirror/OpenLDAP/" "openldap-release/openldap-" version ".tgz") (string-append - "ftp://ftp.OpenLDAP.org/pub/OpenLDAP/" + "https://www.openldap.org/software/download/OpenLDAP/" "openldap-release/openldap-" version ".tgz") (string-append "ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/" "openldap-release/openldap-" version ".tgz"))) (sha256 (base32 - "0044p20hx07fwgw2mbwj1fkx04615hhs1qyx4mawj2bhqvrnppnp")))) + "091qvwk5dkcpp17ziabcnh3rg3m7qwzw2pihfcd1d5fdxgywzmnd")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) @@ -79,15 +78,7 @@ (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") (license openldap2.8) - (home-page "http://www.openldap.org/"))) - -(define openldap/fixed - (package - (inherit openldap) - (source - (origin - (inherit (package-source openldap)) - (patches (search-patches "openldap-CVE-2017-9287.patch")))))) + (home-page "https://www.openldap.org/"))) (define-public nss-pam-ldapd (package From c9dba6c114580b0fabdb46bb9621c568c1958804 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 3 Jun 2017 16:18:48 -0400 Subject: [PATCH 088/231] gnu: openldap: Use modify-phases. * gnu/packages/openldap.scm (openldap)[arguments]: Use modify-phases syntax. --- gnu/packages/openldap.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index a146ef378f..8d27ac9666 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -70,10 +70,10 @@ (arguments `(#:tests? #f #:phases - (alist-cons-after - 'configure 'provide-libtool - (lambda _ (copy-file (which "libtool") "libtool")) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'configure 'provide-libtool + (lambda _ (copy-file (which "libtool") "libtool") + #t))))) (synopsis "Implementation of the Lightweight Directory Access Protocol") (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") From 4f493cba06b97de756123b3855ea52dcf1ad3555 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 3 Jun 2017 16:43:07 -0400 Subject: [PATCH 089/231] gnu: openldap: Provide path to cyrus-sasl for libtool. * gnu/packages/openldap.scm (openldap)[arguments]: Add 'patch-sasl-path' phase.. --- gnu/packages/openldap.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 8d27ac9666..f3963c6e20 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -73,7 +73,17 @@ (modify-phases %standard-phases (add-after 'configure 'provide-libtool (lambda _ (copy-file (which "libtool") "libtool") - #t))))) + #t)) + (add-after 'install 'patch-sasl-path + ;; Give -L arguments for cyrus-sasl to avoid propagation. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (sasl (assoc-ref inputs "cyrus-sasl"))) + (substitute* (map (lambda (f) (string-append out "/" f)) + '("lib/libldap.la" "lib/libldap_r.la")) + (("-lsasl2" lib) + (string-append "-L" sasl "/lib " lib))) + #t)))))) (synopsis "Implementation of the Lightweight Directory Access Protocol") (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") From a8fc8c9ef071ccacbc2cfdf42a855b8870b07614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 8 Jun 2017 00:26:10 +0200 Subject: [PATCH 090/231] gnu: gcc: Fix libsanitizer cross-compilation to powerpc-linux-gnu. * gnu/packages/patches/gcc-asan-powerpc-missing-include.patch: New file. * gnu/packages/gcc.scm (gcc-5)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gcc.scm | 1 + .../gcc-asan-powerpc-missing-include.patch | 20 +++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 gnu/packages/patches/gcc-asan-powerpc-missing-include.patch diff --git a/gnu/local.mk b/gnu/local.mk index 74630eb9fa..2be36d353c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -600,6 +600,7 @@ dist_patch_DATA = \ %D%/packages/patches/gawk-shell.patch \ %D%/packages/patches/gcc-arm-bug-71399.patch \ %D%/packages/patches/gcc-arm-link-spec-fix.patch \ + %D%/packages/patches/gcc-asan-powerpc-missing-include.patch \ %D%/packages/patches/gcc-cross-environment-variables.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 45b86fcc7e..088857c042 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -382,6 +382,7 @@ Go. It also includes runtime support libraries for these languages.") "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0")) (patches (search-patches "gcc-arm-bug-71399.patch" "gcc-strmov-store-file-names.patch" + "gcc-asan-powerpc-missing-include.patch" "gcc-5.0-libvtv-runpath.patch" "gcc-5-source-date-epoch-1.patch" "gcc-5-source-date-epoch-2.patch")))))) diff --git a/gnu/packages/patches/gcc-asan-powerpc-missing-include.patch b/gnu/packages/patches/gcc-asan-powerpc-missing-include.patch new file mode 100644 index 0000000000..74b10c4a44 --- /dev/null +++ b/gnu/packages/patches/gcc-asan-powerpc-missing-include.patch @@ -0,0 +1,20 @@ +Add missing include that triggers a build failure on PowerPC: + + ../../../../gcc-5.4.0/libsanitizer/asan/asan_linux.cc: In function ‘bool __asan::AsanInterceptsSignal(int)’: + ../../../../gcc-5.4.0/libsanitizer/asan/asan_linux.cc:222:20: error: ‘SIGSEGV’ was not declared in this scope + return signum == SIGSEGV && common_flags()->handle_segv; + ^ +From . + +diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc +index c504168..59087b9 100644 +--- a/libsanitizer/asan/asan_linux.cc ++++ b/libsanitizer/asan/asan_linux.cc +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include From 70eea6ea14590a5a13656148915bd62f5fecf5f7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 8 Jun 2017 18:35:45 +0200 Subject: [PATCH 091/231] gnu: sqlite: Update to 3.19.3. This update addresses an important bug present since 3.16.0 that can cause database corruption when auto_vacuum is enabled: https://www.sqlite.org/src/info/fda22108 * gnu/packages/databases.scm (sqlite): Update to 3.19.3. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index cd5f53daa3..0d252ed91d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -721,7 +721,7 @@ for example from a shell script.") (define-public sqlite (package (name "sqlite") - (version "3.19.2") + (version "3.19.3") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -737,7 +737,7 @@ for example from a shell script.") numeric-version ".tar.gz"))) (sha256 (base32 - "1z1gmiyx68g1yxc3avc9jnan53irnsq2rsyldwyxcfnc07xn2lya")))) + "00b3l2qglpl1inx21fckiwxnfq5xf6441flc79rqg7zdvh1rq4h6")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (arguments From 4e859e9233cabfff7ed81b56781cccbcd90befa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2017 09:03:46 +0200 Subject: [PATCH 092/231] gnu: eudev: Build the hardware database. * gnu/packages/linux.scm (usbutils)[inputs]: Replace EUDEV-WITH-HWDB by EUDEV. (eudev)[arguments]: New field. (eudev-with-hwdb): Define in terms of 'deprecated-package'. --- gnu/packages/linux.scm | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c101135db7..e345c576ee 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -637,7 +637,7 @@ slabtop, and skill.") (build-system gnu-build-system) (inputs `(("libusb" ,libusb) - ("eudev" ,eudev-with-hwdb))) + ("eudev" ,eudev))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.linux-usb.org/") @@ -1843,6 +1843,15 @@ from the module-init-tools project.") (patches (search-patches "eudev-rules-directory.patch" "eudev-conflicting-declaration.patch")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'install 'build-hwdb + (lambda* (#:key outputs #:allow-other-keys) + ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and + ;; similar tools to display product names. + (let ((out (assoc-ref outputs "out"))) + (zero? (system* (string-append out "/bin/udevadm") + "hwdb" "--update")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl) @@ -1861,19 +1870,7 @@ time.") (license license:gpl2+))) (define-public eudev-with-hwdb - ;; TODO: Merge with 'eudev'. - (package - (inherit eudev) - (name "eudev-with-hwdb") - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'install 'build-hwdb - (lambda* (#:key outputs #:allow-other-keys) - ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and - ;; similar tools to display product names. - (let ((out (assoc-ref outputs "out"))) - (zero? (system* (string-append out "/bin/udevadm") - "hwdb" "--update")))))))))) + (deprecated-package "eudev-with-hwdb" eudev)) (define-public lvm2 (package From 202342fdda708d8e4554e0514a58849584eddbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2017 14:57:41 +0200 Subject: [PATCH 093/231] gnu: eudev: Update to 3.2.2. * gnu/packages/linux.scm (eudev): Update to 3.2.2. [source](patches): Remove "eudev-conflicting-declaration.patch". * gnu/packages/patches/eudev-conflicting-declaration.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/linux.scm | 7 ++--- .../eudev-conflicting-declaration.patch | 31 ------------------- 3 files changed, 3 insertions(+), 36 deletions(-) delete mode 100644 gnu/packages/patches/eudev-conflicting-declaration.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2be36d353c..d99c4d215b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -570,7 +570,6 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/eudev-rules-directory.patch \ - %D%/packages/patches/eudev-conflicting-declaration.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \ %D%/packages/patches/fabric-tests.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e345c576ee..1a4e25d12a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1831,7 +1831,7 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.1") + (version "3.2.2") (source (origin (method url-fetch) (uri (string-append @@ -1839,9 +1839,8 @@ from the module-init-tools project.") version ".tar.gz")) (sha256 (base32 - "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp")) - (patches (search-patches "eudev-rules-directory.patch" - "eudev-conflicting-declaration.patch")))) + "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y")) + (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/patches/eudev-conflicting-declaration.patch b/gnu/packages/patches/eudev-conflicting-declaration.patch deleted file mode 100644 index f5399e20d3..0000000000 --- a/gnu/packages/patches/eudev-conflicting-declaration.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix build failure due to conflicting declaration of -keyboard_lookup_key() in gperf-3.1: - -https://bugs.gentoo.org/show_bug.cgi?id=604864 - -Patch copied from upstream source repository: - -https://github.com/gentoo/eudev/commit/5bab4d8de0dcbb8e2e7d4d5125b4aea1652a0d60 - -From 5bab4d8de0dcbb8e2e7d4d5125b4aea1652a0d60 Mon Sep 17 00:00:00 2001 -From: "Anthony G. Basile" -Date: Thu, 5 Jan 2017 16:21:17 -0500 -Subject: [PATCH] src/udev/udev-builtin-keyboard.c: fix build with gperf 3.1 - -Signed-off-by: Anthony G. Basile ---- - src/udev/udev-builtin-keyboard.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c -index 73171c3..fad3520 100644 ---- a/src/udev/udev-builtin-keyboard.c -+++ b/src/udev/udev-builtin-keyboard.c -@@ -28,7 +28,6 @@ - - #include "udev.h" - --static const struct key *keyboard_lookup_key(const char *str, unsigned len); - #include "keyboard-keys-from-name.h" - #include "keyboard-keys-to-name.h" - From 48d78a2e9ca9a9bb4c6d8cb92d389fc43b3289bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:54:30 +0200 Subject: [PATCH 094/231] gnu: presentproto: Update to 1.1. * gnu/packages/xorg.scm (presentproto): Update to 1.1. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8ed608b216..39e44408ae 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1553,7 +1553,7 @@ by the legacy X11 font system.") (define-public presentproto (package (name "presentproto") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) @@ -1563,7 +1563,7 @@ by the legacy X11 font system.") ".tar.bz2")) (sha256 (base32 - "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41")))) + "1f96dlgfwhsd0834z8ydjzjnb0cwha5r6lxgia4say4zhsl276zn")))) (build-system gnu-build-system) (home-page "https://www.x.org/wiki/") (synopsis "Xorg PresentProto protocol headers") From 2a37852d4bfaa9d2c5bde066f5f673a5843f0678 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:54:49 +0200 Subject: [PATCH 095/231] gnu: util-macros: Update to 1.19.1. * gnu/packages/xorg.scm (util-macros): Update to 1.19.1. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 39e44408ae..41598eb68d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1814,7 +1814,7 @@ management to participate in an X11R6 session.") (define-public util-macros (package (name "util-macros") - (version "1.19.0") + (version "1.19.1") (source (origin (method url-fetch) @@ -1824,7 +1824,7 @@ management to participate in an X11R6 session.") ".tar.bz2")) (sha256 (base32 - "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98")))) + "19h6wflpmh7xxqr6lk5z8pds6r9r0dn7ijbvaacymx2q0m05km0q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (arguments From 653569e878f39345b05110b998f10db3b520ccfe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 02:12:15 +0200 Subject: [PATCH 096/231] gnu: mesa: Update to 17.1.2. * gnu/packages/patches/mesa-skip-disk-cache-test.patch: Adjust. * gnu/packages/patches/mesa-fix-32bit-test-failures.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove deleted file. * gnu/packages/gl.scm (mesa): Update to 17.1.2. [source]: Remove obsolete patch. [inputs]: Add LIBELF. [native-inputs]: Add WHICH. [arguments]<#:configure-flags>: Adjust deprecated flag. --- gnu/local.mk | 1 - gnu/packages/gl.scm | 14 +++-- .../mesa-fix-32bit-test-failures.patch | 58 ------------------- .../patches/mesa-skip-disk-cache-test.patch | 7 +-- 4 files changed, 11 insertions(+), 69 deletions(-) delete mode 100644 gnu/packages/patches/mesa-fix-32bit-test-failures.patch diff --git a/gnu/local.mk b/gnu/local.mk index ae64f244f0..29919e8b3d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -798,7 +798,6 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ - %D%/packages/patches/mesa-fix-32bit-test-failures.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ %D%/packages/patches/metabat-remove-compilation-date.patch \ diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 7457809300..edb26247a3 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -217,7 +218,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "17.0.6") + (version "17.1.2") (source (origin (method url-fetch) @@ -227,10 +228,9 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "17d60jjzg4ddm95gk2cqx0xz6b9anmmz6ax4majwr3gis2yg7v49")) + "0fc2g6cqffr8mh705r60xv9v66saiff8y3alz6qkjqvl8d7q0dq9")) (patches - (search-patches "mesa-fix-32bit-test-failures.patch" - "mesa-wayland-egl-symbols-check-mips.patch" + (search-patches "mesa-wayland-egl-symbols-check-mips.patch" "mesa-skip-disk-cache-test.patch")))) (build-system gnu-build-system) (propagated-inputs @@ -247,6 +247,7 @@ also known as DXTn or DXTC) for Mesa.") `(("expat" ,expat) ("dri2proto" ,dri2proto) ("dri3proto" ,dri3proto) + ("libelf" ,libelf) ;required for r600 when using llvm ("libva" ,(force libva-without-mesa)) ("libxml2" ,libxml2) ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support @@ -262,7 +263,8 @@ also known as DXTn or DXTC) for Mesa.") ("wayland" ,wayland))) (native-inputs `(("pkg-config" ,pkg-config) - ("python" ,python-2))) + ("python" ,python-2) + ("which" ,(@ (gnu packages base) which)))) (arguments `(#:configure-flags '(,@(match (%current-system) @@ -294,7 +296,7 @@ also known as DXTn or DXTC) for Mesa.") ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") '("--with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast" - "--enable-gallium-llvm")) ; default is x86/x86_64 only + "--enable-llvm")) ; default is x86/x86_64 only (_ '("--with-dri-drivers=nouveau,r200,radeon,swrast")))) #:phases diff --git a/gnu/packages/patches/mesa-fix-32bit-test-failures.patch b/gnu/packages/patches/mesa-fix-32bit-test-failures.patch deleted file mode 100644 index e21e87cef6..0000000000 --- a/gnu/packages/patches/mesa-fix-32bit-test-failures.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix a test failure when building for 32 bit architectures: - -http://lists.gnu.org/archive/html/guix-devel/2017-04/msg00381.html - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/mesa/mesa/commit/?id=61bbb25a080e48a8ca897ba7f6e73cc6a8e9b5b8 - -From 61bbb25a080e48a8ca897ba7f6e73cc6a8e9b5b8 Mon Sep 17 00:00:00 2001 -From: Grazvydas Ignotas -Date: Thu, 9 Mar 2017 02:54:53 +0200 -Subject: [PATCH] util/disk_cache: fix size subtraction on 32bit - -Negating size_t on 32bit produces a 32bit result. This was effectively -adding values close to UINT_MAX to the cache size (the files are usually -small) instead of intended subtraction. -Fixes 'make check' disk_cache failures on 32bit. - -Signed-off-by: Grazvydas Ignotas -Reviewed-by: Timothy Arceri ---- - src/util/disk_cache.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c -index 5470688df3..facdcecf7c 100644 ---- a/src/util/disk_cache.c -+++ b/src/util/disk_cache.c -@@ -603,7 +603,7 @@ evict_random_item(struct disk_cache *cache) - free(dir_path); - - if (size) { -- p_atomic_add(cache->size, - size); -+ p_atomic_add(cache->size, - (uint64_t)size); - return; - } - -@@ -624,7 +624,7 @@ evict_random_item(struct disk_cache *cache) - free(dir_path); - - if (size) -- p_atomic_add(cache->size, - size); -+ p_atomic_add(cache->size, - (uint64_t)size); - } - - void -#@@ -646,7 +646,7 @@ disk_cache_remove(struct disk_cache *cache, const cache_key key) -# free(filename); -# -# if (sb.st_size) -#- p_atomic_add(cache->size, - sb.st_size); -#+ p_atomic_add(cache->size, - (uint64_t)sb.st_size); -# } -# -# /* From the zlib docs: --- -2.12.2 - diff --git a/gnu/packages/patches/mesa-skip-disk-cache-test.patch b/gnu/packages/patches/mesa-skip-disk-cache-test.patch index 4377110475..b3f9367fd5 100644 --- a/gnu/packages/patches/mesa-skip-disk-cache-test.patch +++ b/gnu/packages/patches/mesa-skip-disk-cache-test.patch @@ -5,16 +5,15 @@ for now. --- a/src/compiler/glsl/tests/cache_test.c +++ b/src/compiler/glsl/tests/cache_test.c -@@ -137,11 +137,6 @@ +@@ -170,11 +170,6 @@ unsetenv("MESA_GLSL_CACHE_DIR"); unsetenv("XDG_CACHE_HOME"); -- cache = disk_cache_create(); +- cache = disk_cache_create("test", "make_check"); - expect_non_null(cache, "disk_cache_create with no environment variables"); - - disk_cache_destroy(cache); - /* Test with XDG_CACHE_HOME set */ setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create(); - + cache = disk_cache_create("test", "make_check"); From 910416c8741d7deec179100e1fa30711efb7a1bf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Jun 2017 01:45:21 +0200 Subject: [PATCH 097/231] gnu: alsa-lib: Update to 1.1.4.1. * gnu/packages/linux.scm (alsa-lib): Update to 1.1.4.1. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d41dd7dc9e..8e17f29581 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -880,7 +880,7 @@ intercept and print the system calls executed by the program.") (define-public alsa-lib (package (name "alsa-lib") - (version "1.1.3") + (version "1.1.4.1") (source (origin (method url-fetch) (uri (string-append @@ -888,7 +888,7 @@ intercept and print the system calls executed by the program.") version ".tar.bz2")) (sha256 (base32 - "174n2psp0328xcy2f1ayls67598bxli6q9cf00d2qnac3012aa3i")))) + "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi")))) (build-system gnu-build-system) (home-page "https://www.alsa-project.org/") (synopsis "The Advanced Linux Sound Architecture libraries") From 05ffd29d976d8f5eb8ad74b5cd2e419a79a3675c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 11 Jun 2017 22:47:00 +0200 Subject: [PATCH 098/231] gnu: shepherd: Switch to Guile 2.2. * gnu/packages/admin.scm (shepherd)[inputs]: Switch to GUILE-2.2. --- gnu/packages/admin.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 730fe052cd..79f1a4c2ba 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -164,7 +164,7 @@ and provides a \"top-like\" mode (monitoring).") (arguments '(#:configure-flags '("--localstatedir=/var"))) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-2.2))) (synopsis "System service manager") (description "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises From 2ac6998063c311799cefb8edbc5b0158230d3877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 11 Jun 2017 22:50:43 +0200 Subject: [PATCH 099/231] build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2. Fixes . Reported by Leo Famulari . * guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define. --- guix/build/gnu-build-system.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 09f272edee..e37b751403 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -39,6 +39,13 @@ ;; ;; Code: +(cond-expand + (guile-2.2 + ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and + ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it. + (define time-monotonic time-tai)) + (else #t)) + (define* (set-SOURCE-DATE-EPOCH #:rest _) "Set the 'SOURCE_DATE_EPOCH' environment variable. This is used by tools that incorporate timestamps as a way to tell them to use a fixed timestamp. From 70564e71bd499fe7711c95a7d88451efd92e9c8f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Jun 2017 19:02:11 +0200 Subject: [PATCH 100/231] gnu: fontconfig: Update to 2.12.3. * gnu/packages/fontutils.scm (fontconfig): Update to 2.12.3. [source]: Remove obsolete patches. [native-inputs]: Add GPERF. [arguments]<#:phases>: Remove obsolete 'fix-tests-for-freetype-2.7.1' phase. Add 'regenerate-fcobjshash'. * gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch, gnu/packages/patches/fontconfig-path-max.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/fontutils.scm | 18 +-- ...fontconfig-charwidth-symbol-conflict.patch | 82 ------------ .../patches/fontconfig-path-max.patch | 124 ------------------ 4 files changed, 10 insertions(+), 216 deletions(-) delete mode 100644 gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch delete mode 100644 gnu/packages/patches/fontconfig-path-max.patch diff --git a/gnu/local.mk b/gnu/local.mk index b15cb2cf5c..3957e5b3d1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -587,8 +587,6 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/fltk-shared-lib-defines.patch \ %D%/packages/patches/fltk-xfont-on-demand.patch \ - %D%/packages/patches/fontconfig-charwidth-symbol-conflict.patch \ - %D%/packages/patches/fontconfig-path-max.patch \ %D%/packages/patches/fontforge-svg-modtime.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \ %D%/packages/patches/freeimage-CVE-2016-5684.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index c5a69232ca..bd74c4d6aa 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages glib) + #:use-module (gnu packages gperf) #:use-module (gnu packages xorg) #:use-module (gnu packages gtk) #:use-module (gnu packages xml) @@ -225,22 +226,21 @@ fonts to/from the WOFF2 format.") (define-public fontconfig (package (name "fontconfig") - (version "2.12.1") + (version "2.12.3") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/fontconfig/release/fontconfig-" version ".tar.bz2")) - (patches (search-patches "fontconfig-charwidth-symbol-conflict.patch" - "fontconfig-path-max.patch")) (sha256 (base32 - "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl")))) + "1ggq6jmz3mlzk4xjs615aqw9h3hq33chjn82bhli26kk09kby95x")))) (build-system gnu-build-system) (propagated-inputs `(("expat" ,expat) ("freetype" ,freetype))) (inputs `(("gs-fonts" ,gs-fonts))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("gperf" ,gperf) ; Try dropping this for > 2.12.3. + ("pkg-config" ,pkg-config))) (arguments `(#:configure-flags (list "--with-cache-dir=/var/cache/fontconfig" @@ -258,10 +258,12 @@ fonts to/from the WOFF2 format.") "PYTHON=false") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-tests-for-freetype-2.7.1 + (add-before 'configure 'regenerate-fcobjshash + ;; XXX The pre-generated gperf files are broken. + ;; See . (lambda _ - (substitute* "test/run-test.sh" - (("\\\| sort") "| cut -d' ' -f2 | sort")) + (delete-file "src/fcobjshash.h") + (delete-file "src/fcobjshash.gperf") #t)) (replace 'install (lambda _ diff --git a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch deleted file mode 100644 index 8ebe33bc6c..0000000000 --- a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch +++ /dev/null @@ -1,82 +0,0 @@ -The first patch is copied from the upstream source repository: - -https://cgit.freedesktop.org/fontconfig/commit/?id=1ab5258f7c2abfafcd63a760ca08bf93591912da - -The second patch is adapted from a message to from the OpenEmbedded mailing list: - -http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130213.html - -From 1ab5258f7c2abfafcd63a760ca08bf93591912da Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 14 Dec 2016 16:11:05 -0800 -Subject: Avoid conflicts with integer width macros from TS 18661-1:2014 - -glibc 2.25+ has now defined these macros in -https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a - -Create an alias for FC_CHAR_WIDTH for ABI compatibility - -Signed-off-by: Khem Raj - -diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h -index 5c72b22..070a557 100644 ---- a/fontconfig/fontconfig.h -+++ b/fontconfig/fontconfig.h -@@ -128,7 +128,8 @@ typedef int FcBool; - #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION - - /* Adjust outline rasterizer */ --#define FC_CHAR_WIDTH "charwidth" /* Int */ -+#define FC_CHARWIDTH "charwidth" /* Int */ -+#define FC_CHAR_WIDTH FC_CHARWIDTH - #define FC_CHAR_HEIGHT "charheight"/* Int */ - #define FC_MATRIX "matrix" /* FcMatrix */ - -diff --git a/src/fcobjs.h b/src/fcobjs.h -index 1fc4f65..d27864b 100644 ---- a/src/fcobjs.h -+++ b/src/fcobjs.h -@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL) - FC_OBJECT (RGBA, FcTypeInteger, NULL) - FC_OBJECT (SCALE, FcTypeDouble, NULL) - FC_OBJECT (MINSPACE, FcTypeBool, NULL) --FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL) -+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL) - FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL) - FC_OBJECT (MATRIX, FcTypeMatrix, NULL) - FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet) --- -cgit v0.10.2 - -From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 11 Dec 2016 14:32:00 -0800 -Subject: [PATCH] Avoid conflicts with integer width macros from TS - 18661-1:2014 - -glibc 2.25+ has now defined these macros in -https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - fontconfig/fontconfig.h | 2 +- - src/fcobjs.h | 2 +- - src/fcobjshash.gperf | 2 +- - src/fcobjshash.h | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -Index: fontconfig-2.12.1/src/fcobjshash.h -=================================================================== ---- fontconfig-2.12.1.orig/src/fcobjshash.h -+++ fontconfig-2.12.1/src/fcobjshash.h -@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char - {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT}, - {-1}, - #line 47 "fcobjshash.gperf" -- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT}, -+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT}, - #line 48 "fcobjshash.gperf" - {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT}, - #line 55 "fcobjshash.gperf" diff --git a/gnu/packages/patches/fontconfig-path-max.patch b/gnu/packages/patches/fontconfig-path-max.patch deleted file mode 100644 index e12f60ef00..0000000000 --- a/gnu/packages/patches/fontconfig-path-max.patch +++ /dev/null @@ -1,124 +0,0 @@ -This patch fix the build on GNU/Hurd, due to PATH_MAX isn't defined. - -The patch was adapted from upstream source repository: -'' -Commit: abdb6d658e1a16410dd1c964e365a3ebd5039e7c - ---- - src/fcdefault.c | 34 +++++++++++++++++++++++++++------- - src/fcint.h | 6 ++++++ - src/fcstat.c | 12 +++++++++++- - 3 files changed, 44 insertions(+), 8 deletions(-) - -diff --git a/src/fcdefault.c b/src/fcdefault.c -index 6647a8f..5afd7ec 100644 ---- a/src/fcdefault.c -+++ b/src/fcdefault.c -@@ -148,17 +148,34 @@ retry: - prgname = FcStrdup (""); - #else - # if defined (HAVE_GETEXECNAME) -- const char *p = getexecname (); -+ char *p = FcStrdup(getexecname ()); - # elif defined (HAVE_READLINK) -- char buf[PATH_MAX + 1]; -- int len; -+ size_t size = FC_PATH_MAX; - char *p = NULL; - -- len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1); -- if (len != -1) -+ while (1) - { -- buf[len] = '\0'; -- p = buf; -+ char *buf = malloc (size); -+ ssize_t len; -+ -+ if (!buf) -+ break; -+ -+ len = readlink ("/proc/self/exe", buf, size - 1); -+ if (len < 0) -+ { -+ free (buf); -+ break; -+ } -+ if (len < size - 1) -+ { -+ buf[len] = 0; -+ p = buf; -+ break; -+ } -+ -+ free (buf); -+ size *= 2; - } - # else - char *p = NULL; -@@ -176,6 +193,9 @@ retry: - - if (!prgname) - prgname = FcStrdup (""); -+ -+ if (p) -+ free (p); - #endif - - if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) { -diff --git a/src/fcint.h b/src/fcint.h -index ac911ad..dad34c5 100644 ---- a/src/fcint.h -+++ b/src/fcint.h -@@ -70,6 +70,12 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA; - # define FC_DIR_SEPARATOR_S "/" - #endif - -+#ifdef PATH_MAX -+#define FC_PATH_MAX PATH_MAX -+#else -+#define FC_PATH_MAX 128 -+#endif -+ - #if __GNUC__ >= 4 - #define FC_UNUSED __attribute__((unused)) - #else -diff --git a/src/fcstat.c b/src/fcstat.c -index 1734fa4..f6e1aaa 100644 ---- a/src/fcstat.c -+++ b/src/fcstat.c -@@ -278,8 +278,13 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum) - { - #endif - struct stat statb; -- char f[PATH_MAX + 1]; -+ char *f = malloc (len + 1 + dlen + 1); - -+ if (!f) -+ { -+ ret = -1; -+ goto bail; -+ } - memcpy (f, dir, len); - f[len] = FC_DIR_SEPARATOR; - memcpy (&f[len + 1], files[n]->d_name, dlen); -@@ -287,11 +292,16 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum) - if (lstat (f, &statb) < 0) - { - ret = -1; -+ free (f); - goto bail; - } - if (S_ISDIR (statb.st_mode)) -+ { -+ free (f); - goto bail; -+ } - -+ free (f); - dtype = statb.st_mode; - #ifdef HAVE_STRUCT_DIRENT_D_TYPE - } --- -2.11.0 - From bd590b965e3abedb70024c17abad27b40c9f4916 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 4 Jun 2017 15:40:20 -0400 Subject: [PATCH 101/231] gnu: boost: Add ICU support. * gnu/packages/boost.scm (boost)[inputs]: Add icu4c. --- gnu/packages/boost.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 5d2056fc7d..4c7308e9d6 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -28,9 +28,10 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages perl) #:use-module (gnu packages python) - #:use-module (gnu packages shells) - #:use-module (gnu packages perl)) + #:use-module (gnu packages shells)) (define-public boost (package @@ -46,7 +47,8 @@ (base32 "0cikd35xfkpg9nnl76yqqnqxnf3hyfjjww8xjd4akflprsm5rk3v")))) (build-system gnu-build-system) - (inputs `(("zlib" ,zlib))) + (inputs `(("icu4c" ,icu4c) + ("zlib" ,zlib))) (native-inputs `(("perl" ,perl) ("python" ,python-2) From 0122a869ac7bba4cc1ac6f81c268dde33d8749f4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 10:21:17 -0400 Subject: [PATCH 102/231] gnu: swig: Update to 3.0.12. * gnu/packages/swig.scm (swig): Update to 3.0.12. --- gnu/packages/swig.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index acf0529377..59cff5199e 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -31,7 +31,7 @@ (define-public swig (package (name "swig") - (version "3.0.10") + (version "3.0.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" @@ -39,7 +39,7 @@ name "-" version ".tar.gz")) (sha256 (base32 - "0k7ljh07rla6223lhvljgg881b2qr7hmrfgic9a0j1pckpislf99")))) + "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw")))) (build-system gnu-build-system) (native-inputs `(("boost" ,boost) ("pcre" ,pcre "bin"))) ;for 'pcre-config' From 503c8c5882550005a7e9d3058a5f6d22f9c33f63 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 10:21:51 -0400 Subject: [PATCH 103/231] gnu: swig: Fix build with Perl 5.26.0. * gnu/packages/swig.scm (swig)[arguments]: Set PERL_USE_UNSAFE_INC in 'set-env' build phase. --- gnu/packages/swig.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index 59cff5199e..b931db412b 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -41,6 +41,14 @@ (base32 "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw")))) (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + ;; Required since Perl 5.26.0's removal of the current + ;; working directory from @INC. + ;; TODO Try removing this for later versions of SWIG. + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t))))) (native-inputs `(("boost" ,boost) ("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(;; Provide these to run the corresponding tests. From 76cb906083bf750de6bed513824609b74cdbc5c8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 10:31:55 -0400 Subject: [PATCH 104/231] gnu: perl-net-ssleay: Update to 1.81. * gnu/packages/tls.scm (perl-net-ssleay): Update to 1.81. [native-inputs]: Remove 'perl-net-ssleay-disable-ede-test.patch'. [arguments]: Remove 'apply-patch' phase. * gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../perl-net-ssleay-disable-ede-test.patch | 23 ------------------- gnu/packages/tls.scm | 17 ++------------ 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3957e5b3d1..e30fa34efe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -868,7 +868,6 @@ dist_patch_DATA = \ %D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \ %D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \ %D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \ - %D%/packages/patches/perl-net-ssleay-disable-ede-test.patch \ %D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \ %D%/packages/patches/perl-no-sys-dirs.patch \ %D%/packages/patches/perl-module-pluggable-search.patch \ diff --git a/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch b/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch deleted file mode 100644 index 16f136fb54..0000000000 --- a/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch +++ /dev/null @@ -1,23 +0,0 @@ -Disable a test that fails with openssl-1.0.2b. - ---- Net-SSLeay-1.68/t/local/33_x509_create_cert.t.orig 2014-06-07 02:01:39.000000000 -0400 -+++ Net-SSLeay-1.68/t/local/33_x509_create_cert.t 2015-06-12 03:38:57.620286888 -0400 -@@ -2,7 +2,7 @@ - - use strict; - use warnings; --use Test::More tests => 123; -+use Test::More tests => 122; - use Net::SSLeay qw/MBSTRING_ASC MBSTRING_UTF8 EVP_PK_RSA EVP_PKT_SIGN EVP_PKT_ENC/; - use File::Spec; - use utf8; -@@ -101,7 +101,8 @@ - like(my $key_pem3 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg1), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); - - ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname"); -- like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); -+ # This test fails with openssl-1.0.2b -+ #like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg"); - - is(Net::SSLeay::X509_NAME_print_ex($name), "O=Company Name,C=UK,CN=Common name text X509", "X509_NAME_print_ex"); - diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e36a02a6cc..f3d7177102 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -587,32 +587,19 @@ certificates for free.") (define-public perl-net-ssleay (package (name "perl-net-ssleay") - (version "1.68") + (version "1.81") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MIKEM/" "Net-SSLeay-" version ".tar.gz")) (sha256 (base32 - "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p")))) + "0z8vya34g88bc41kx955sv7y4niwbbywji8liqbl52v29qbvdjq0")))) (build-system perl-build-system) - (native-inputs - `(("patch" ,patch) - ("patch/disable-ede-test" - ,(search-patch "perl-net-ssleay-disable-ede-test.patch")))) (inputs `(("openssl" ,openssl))) (arguments `(#:phases (modify-phases %standard-phases - (add-after - 'unpack 'apply-patch - (lambda* (#:key inputs #:allow-other-keys) - ;; XXX We apply this patch here instead of in the 'origin' because - ;; this package's build system fails badly when the source file - ;; times are zeroed. - ;; XXX Try removing this patch for perl-net-ssleay > 1.68 - (zero? (system* "patch" "--force" "-p1" "-i" - (assoc-ref inputs "patch/disable-ede-test"))))) (add-before 'configure 'set-ssl-prefix (lambda* (#:key inputs #:allow-other-keys) From 94522776fba2c31cde96b5f0780d0e6995fb8c92 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 10:34:33 -0400 Subject: [PATCH 105/231] gnu: libspectre: Update to 0.2.8. * gnu/packages/ghostscript.scm (libspectre): Update to 0.2.8. --- gnu/packages/ghostscript.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index e0ae9bab6f..136484e6af 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -309,13 +309,13 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.") (define-public libspectre (package (name "libspectre") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) (uri (string-append "https://libspectre.freedesktop.org/releases/libspectre-" version ".tar.gz")) (sha256 (base32 - "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8")))) + "1a67iglsc3r05mzngyg9kb1gy8whq4fgsnyjwi7bqfw2i7rnl9b5")))) (build-system gnu-build-system) (inputs `(("ghostscript" ,ghostscript))) (native-inputs `(("pkg-config" ,pkg-config))) From f61d39ac0b4392441cbc497791ed5530568fc9d6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 10:36:50 -0400 Subject: [PATCH 106/231] gnu: perl-authen-sasl: Fix build with Perl 5.26.0. * gnu/packages/web.scm (perl-authen-sasl)[arguments]: Set PERL_USE_UNSAFE_INC in 'set-env' build phase. --- gnu/packages/web.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5f27ef957d..398fdf3ae7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1026,6 +1026,13 @@ to perl-code, for faster generation of access_log lines.") (base32 "02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536")))) (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + ;; Fix the build with Perl 5.26.0. Try removing this phase for later + ;; versions of perl-authen-sasl. + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t))))) (propagated-inputs `(("perl-digest-hmac" ,perl-digest-hmac) ("perl-gssapi" ,perl-gssapi))) From 14c7790f1ad845b7e1932d6a700a1fb25f110608 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 15 Jun 2017 11:35:17 -0400 Subject: [PATCH 107/231] gnu: libtiff: Fix several bugs related to improper codec usage [security fixes]. This commit applies the patch to the libtiff package, not the grafting replacement. * gnu/packages/patches/libtiff-tiffgetfield-bugs.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/image.scm (libtiff)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/image.scm | 1 + .../patches/libtiff-tiffgetfield-bugs.patch | 201 ++++++++++++++++++ 3 files changed, 203 insertions(+) create mode 100644 gnu/packages/patches/libtiff-tiffgetfield-bugs.patch diff --git a/gnu/local.mk b/gnu/local.mk index e30fa34efe..1d5c98094c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -743,6 +743,7 @@ dist_patch_DATA = \ %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ %D%/packages/patches/libtheora-config-guess.patch \ + %D%/packages/patches/libtiff-tiffgetfield-bugs.patch \ %D%/packages/patches/libtirpc-CVE-2017-8779.patch \ %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index da05c64545..c35a6d3b39 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -341,6 +341,7 @@ extracting icontainer icon files.") (method url-fetch) (uri (string-append "ftp://download.osgeo.org/libtiff/tiff-" version ".tar.gz")) + (patches (search-patches "libtiff-tiffgetfield-bugs.patch")) (sha256 (base32 "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr")))) diff --git a/gnu/packages/patches/libtiff-tiffgetfield-bugs.patch b/gnu/packages/patches/libtiff-tiffgetfield-bugs.patch new file mode 100644 index 0000000000..84566ca23e --- /dev/null +++ b/gnu/packages/patches/libtiff-tiffgetfield-bugs.patch @@ -0,0 +1,201 @@ +Fix several bugs in libtiff related to use of TIFFGetField(): + +http://bugzilla.maptools.org/show_bug.cgi?id=2580 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8128 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7554 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5318 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10095 + +Patch copied from upstream CVS. 3rd-party Git reference: +https://github.com/vadz/libtiff/commit/4d4fa0b68ae9ae038959ee4f69ebe288ec892f06 + +2017-06-01 Even Rouault + +* libtiff/tif_dirinfo.c, tif_dirread.c: add _TIFFCheckFieldIsValidForCodec(), +and use it in TIFFReadDirectory() so as to ignore fields whose tag is a +codec-specified tag but this codec is not enabled. This avoids TIFFGetField() +to behave differently depending on whether the codec is enabled or not, and +thus can avoid stack based buffer overflows in a number of TIFF utilities +such as tiffsplit, tiffcmp, thumbnail, etc. +Patch derived from 0063-Handle-properly-CODEC-specific-tags.patch +(http://bugzilla.maptools.org/show_bug.cgi?id=2580) by Raphaël Hertzog. +Fixes: +http://bugzilla.maptools.org/show_bug.cgi?id=2580 +http://bugzilla.maptools.org/show_bug.cgi?id=2693 +http://bugzilla.maptools.org/show_bug.cgi?id=2625 (CVE-2016-10095) +http://bugzilla.maptools.org/show_bug.cgi?id=2564 (CVE-2015-7554) +http://bugzilla.maptools.org/show_bug.cgi?id=2561 (CVE-2016-5318) +http://bugzilla.maptools.org/show_bug.cgi?id=2499 (CVE-2014-8128) +http://bugzilla.maptools.org/show_bug.cgi?id=2441 +http://bugzilla.maptools.org/show_bug.cgi?id=2433 +Index: libtiff/libtiff/tif_dirread.c +=================================================================== +RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_dirread.c,v +retrieving revision 1.208 +retrieving revision 1.209 +diff -u -r1.208 -r1.209 +--- libtiff/libtiff/tif_dirread.c 27 Apr 2017 15:46:22 -0000 1.208 ++++ libtiff/libtiff/tif_dirread.c 1 Jun 2017 12:44:04 -0000 1.209 +@@ -1,4 +1,4 @@ +-/* $Id: tif_dirread.c,v 1.208 2017-04-27 15:46:22 erouault Exp $ */ ++/* $Id: tif_dirread.c,v 1.209 2017-06-01 12:44:04 erouault Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -3580,6 +3580,10 @@ + goto bad; + dp->tdir_tag=IGNORE; + break; ++ default: ++ if( !_TIFFCheckFieldIsValidForCodec(tif, dp->tdir_tag) ) ++ dp->tdir_tag=IGNORE; ++ break; + } + } + } +Index: libtiff/libtiff/tif_dirinfo.c +=================================================================== +RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_dirinfo.c,v +retrieving revision 1.126 +retrieving revision 1.127 +diff -u -r1.126 -r1.127 +--- libtiff/libtiff/tif_dirinfo.c 18 Nov 2016 02:52:13 -0000 1.126 ++++ libtiff/libtiff/tif_dirinfo.c 1 Jun 2017 12:44:04 -0000 1.127 +@@ -1,4 +1,4 @@ +-/* $Id: tif_dirinfo.c,v 1.126 2016-11-18 02:52:13 bfriesen Exp $ */ ++/* $Id: tif_dirinfo.c,v 1.127 2017-06-01 12:44:04 erouault Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -956,6 +956,109 @@ + return 0; + } + ++int ++_TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag) ++{ ++ /* Filter out non-codec specific tags */ ++ switch (tag) { ++ /* Shared tags */ ++ case TIFFTAG_PREDICTOR: ++ /* JPEG tags */ ++ case TIFFTAG_JPEGTABLES: ++ /* OJPEG tags */ ++ case TIFFTAG_JPEGIFOFFSET: ++ case TIFFTAG_JPEGIFBYTECOUNT: ++ case TIFFTAG_JPEGQTABLES: ++ case TIFFTAG_JPEGDCTABLES: ++ case TIFFTAG_JPEGACTABLES: ++ case TIFFTAG_JPEGPROC: ++ case TIFFTAG_JPEGRESTARTINTERVAL: ++ /* CCITT* */ ++ case TIFFTAG_BADFAXLINES: ++ case TIFFTAG_CLEANFAXDATA: ++ case TIFFTAG_CONSECUTIVEBADFAXLINES: ++ case TIFFTAG_GROUP3OPTIONS: ++ case TIFFTAG_GROUP4OPTIONS: ++ break; ++ default: ++ return 1; ++ } ++ /* Check if codec specific tags are allowed for the current ++ * compression scheme (codec) */ ++ switch (tif->tif_dir.td_compression) { ++ case COMPRESSION_LZW: ++ if (tag == TIFFTAG_PREDICTOR) ++ return 1; ++ break; ++ case COMPRESSION_PACKBITS: ++ /* No codec-specific tags */ ++ break; ++ case COMPRESSION_THUNDERSCAN: ++ /* No codec-specific tags */ ++ break; ++ case COMPRESSION_NEXT: ++ /* No codec-specific tags */ ++ break; ++ case COMPRESSION_JPEG: ++ if (tag == TIFFTAG_JPEGTABLES) ++ return 1; ++ break; ++ case COMPRESSION_OJPEG: ++ switch (tag) { ++ case TIFFTAG_JPEGIFOFFSET: ++ case TIFFTAG_JPEGIFBYTECOUNT: ++ case TIFFTAG_JPEGQTABLES: ++ case TIFFTAG_JPEGDCTABLES: ++ case TIFFTAG_JPEGACTABLES: ++ case TIFFTAG_JPEGPROC: ++ case TIFFTAG_JPEGRESTARTINTERVAL: ++ return 1; ++ } ++ break; ++ case COMPRESSION_CCITTRLE: ++ case COMPRESSION_CCITTRLEW: ++ case COMPRESSION_CCITTFAX3: ++ case COMPRESSION_CCITTFAX4: ++ switch (tag) { ++ case TIFFTAG_BADFAXLINES: ++ case TIFFTAG_CLEANFAXDATA: ++ case TIFFTAG_CONSECUTIVEBADFAXLINES: ++ return 1; ++ case TIFFTAG_GROUP3OPTIONS: ++ if (tif->tif_dir.td_compression == COMPRESSION_CCITTFAX3) ++ return 1; ++ break; ++ case TIFFTAG_GROUP4OPTIONS: ++ if (tif->tif_dir.td_compression == COMPRESSION_CCITTFAX4) ++ return 1; ++ break; ++ } ++ break; ++ case COMPRESSION_JBIG: ++ /* No codec-specific tags */ ++ break; ++ case COMPRESSION_DEFLATE: ++ case COMPRESSION_ADOBE_DEFLATE: ++ if (tag == TIFFTAG_PREDICTOR) ++ return 1; ++ break; ++ case COMPRESSION_PIXARLOG: ++ if (tag == TIFFTAG_PREDICTOR) ++ return 1; ++ break; ++ case COMPRESSION_SGILOG: ++ case COMPRESSION_SGILOG24: ++ /* No codec-specific tags */ ++ break; ++ case COMPRESSION_LZMA: ++ if (tag == TIFFTAG_PREDICTOR) ++ return 1; ++ break; ++ ++ } ++ return 0; ++} ++ + /* vim: set ts=8 sts=8 sw=8 noet: */ + + /* +Index: libtiff/libtiff/tif_dir.h +=================================================================== +RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_dir.h,v +retrieving revision 1.54 +retrieving revision 1.55 +diff -u -r1.54 -r1.55 +--- libtiff/libtiff/tif_dir.h 18 Feb 2011 20:53:05 -0000 1.54 ++++ libtiff/libtiff/tif_dir.h 1 Jun 2017 12:44:04 -0000 1.55 +@@ -1,4 +1,4 @@ +-/* $Id: tif_dir.h,v 1.54 2011-02-18 20:53:05 fwarmerdam Exp $ */ ++/* $Id: tif_dir.h,v 1.55 2017-06-01 12:44:04 erouault Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -291,6 +291,7 @@ + extern int _TIFFMergeFields(TIFF*, const TIFFField[], uint32); + extern const TIFFField* _TIFFFindOrRegisterField(TIFF *, uint32, TIFFDataType); + extern TIFFField* _TIFFCreateAnonField(TIFF *, uint32, TIFFDataType); ++extern int _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag); + + #if defined(__cplusplus) + } From a6aff3528c32cc921bddd78b254678a1fc121f21 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 15 Jun 2017 11:41:51 -0400 Subject: [PATCH 108/231] gnu: libtiff: Build with the default compiler. The relevant bug has been fixed and this special-case workaround is no longer necessary. * gnu/packages/image.scm (libtiff)[native-inputs]: Remove field. --- gnu/packages/image.scm | 3 --- 1 file changed, 3 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c35a6d3b39..317b1a0a30 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -354,9 +354,6 @@ extracting icontainer icon files.") (assoc-ref %outputs "doc") "/share/doc/" ,name "-" ,version)))) - ;; Build with a patched GCC to work around . - (native-inputs - `(("gcc@5" ,gcc-5))) (inputs `(("zlib" ,zlib) ("libjpeg" ,libjpeg))) (synopsis "Library for handling TIFF files") From 05e26d1ecd41bdac5ef531b9f6f5c0c6bfbf3a30 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 18 Jun 2017 02:38:43 -0400 Subject: [PATCH 109/231] gnu: expat: Eliminate graft. * gnu/packages/xml.scm (expat): Update to 2.2.1. [source]: Remove patch. [replacement]: Remove field. (expat-2.2.1): Remove variable. * gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../expat-CVE-2016-0718-fix-regression.patch | 35 ------------------- gnu/packages/xml.scm | 20 ++--------- 3 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch diff --git a/gnu/local.mk b/gnu/local.mk index 20351f3cd0..4acc699753 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -571,7 +571,6 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ - %D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \ %D%/packages/patches/fabric-tests.patch \ %D%/packages/patches/fastcap-mulGlobal.patch \ %D%/packages/patches/fastcap-mulSetup.patch \ diff --git a/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch b/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch deleted file mode 100644 index b489401fea..0000000000 --- a/gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch +++ /dev/null @@ -1,35 +0,0 @@ -Fix regression caused by fix for CVE-2016-0718 when building with -DXML_UNICODE. - -Discussion: - -https://sourceforge.net/p/expat/bugs/539/ - -Patch copied from upstream source repository: - -https://sourceforge.net/p/expat/code_git/ci/af507cef2c93cb8d40062a0abe43a4f4e9158fb2/ - -From af507cef2c93cb8d40062a0abe43a4f4e9158fb2 Mon Sep 17 00:00:00 2001 -From: Sebastian Pipping -Date: Sun, 17 Jul 2016 20:22:29 +0200 -Subject: [PATCH 1/2] Fix regression bug #539 (needs -DXML_UNICODE) - -Thanks to Andy Wang and Karl Waclawek! ---- - expat/lib/xmlparse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c -index b308e67..0d5dd7b 100644 ---- a/lib/xmlparse.c -+++ b/lib/xmlparse.c -@@ -2468,7 +2468,7 @@ doContent(XML_Parser parser, - &fromPtr, rawNameEnd, - (ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1); - convLen = (int)(toPtr - (XML_Char *)tag->buf); -- if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) { -+ if ((fromPtr >= rawNameEnd) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) { - tag->name.strLen = convLen; - break; - } --- -2.10.0 diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index a6bea3588f..4ed45508fd 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -55,17 +55,14 @@ (define-public expat (package (name "expat") - (version "2.2.0") - (replacement expat-2.2.1) + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/expat/expat/" version "/expat-" version ".tar.bz2")) - (patches - (search-patches "expat-CVE-2016-0718-fix-regression.patch")) (sha256 (base32 - "1zq4lnwjlw8s9mmachwfvfjf2x3lk24jm41746ykhdcvs7r0zrfr")))) + "11c8jy1wvllvlk7xdc5cm8hdhg0hvs8j0aqy6s702an8wkdcls0q")))) (build-system gnu-build-system) (home-page "http://www.libexpat.org/") (synopsis "Stream-oriented XML parser library written in C") @@ -75,19 +72,6 @@ stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).") (license license:expat))) -(define expat-2.2.1 ; Fixes CVE-2017-9233, CVE-2016-9063 and other issues. - (package - (inherit expat) - (version "2.2.1") - (replacement #f) - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/expat/expat/" - version "/expat-" version ".tar.bz2")) - (sha256 - (base32 - "11c8jy1wvllvlk7xdc5cm8hdhg0hvs8j0aqy6s702an8wkdcls0q")))))) - (define-public libxml2 (package (name "libxml2") From e46e9573855d5ee4f71db0ce77159bbc636330c1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Jun 2017 10:24:57 +0300 Subject: [PATCH 110/231] gnu: python: Skip one more test. * gnu/packages/python.scm (python)[source]: Remove another test. --- gnu/packages/python.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1373e4bb75..505e4a813b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -340,8 +340,11 @@ data types.") (base32 "1c6v1n9nz4mlx9mw1125fxpmbrgniqdbbx9hnqx44maqazb2mzpf")) (snippet - '(delete-file - "Lib/ctypes/test/test_win32.py")))) ; fails on aarch64 + '(begin + (for-each delete-file + '("Lib/ctypes/test/test_win32.py" ; fails on aarch64 + "Lib/test/test_fcntl.py")) + #t)))) (arguments (substitute-keyword-arguments (package-arguments python-2) ((#:tests? _) #t))) (native-search-paths From a9308efec642bfbce480545a22fce848e6212456 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 20 Jun 2017 00:29:31 -0400 Subject: [PATCH 111/231] gnu: guile-2.2/fixed: Increase timeout and max-silent-time. * gnu/packages/guile.scm (guile-2.2/fixed)[properties]: Add 'timeout' and 'max-silent-time' properties. --- gnu/packages/guile.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5577ad98e7..85faec6c47 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -255,7 +255,10 @@ without requiring the source code to be rewritten.") ;; in the `base' module, and thus changing it entails a full rebuild. (package (inherit guile-2.2) - (properties '((hidden? . #t))) ;people should install 'guile-2.2' + (properties '((hidden? . #t) ;people should install 'guile-2.2' + (timeout . 72000) ;20 hours + (max-silent-time . 36000))) ;10 hours (needed on ARM + ; when heavily loaded) (replacement #f))) (define-public guile-next From 60724d69752b24ab3b6b4501925e62726316d28c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 26 Jun 2017 22:43:39 +0200 Subject: [PATCH 112/231] gnu: python-pytest: Build with 'bash' instead of 'bash-final'. Addresses FTBFS after 704243e0c6ec5ac86e2f45aaa469717e60b89124. * gnu/packages/python.scm (python-pytest)[native-inputs]: Add BASH. (python-pytest-3.0)[native-inputs]: Inherit. --- gnu/packages/python.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cbef0e6812..ef7b92bd48 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1877,7 +1877,9 @@ code introspection, and logging.") (propagated-inputs `(("python-py" ,python-py))) (native-inputs - `(("python-nose" ,python-nose) + `(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`. + ("bash" ,bash) + ("python-nose" ,python-nose) ("python-mock" ,python-mock))) (home-page "http://pytest.org") (synopsis "Python testing library") @@ -1914,9 +1916,8 @@ and many external plugins.") line))) #t))))) (native-inputs - `(("python-nose" ,python-nose) - ("python-mock" ,python-mock) - ("python-hypothesis" ,python-hypothesis))) + `(("python-hypothesis" ,python-hypothesis) + ,@(package-native-inputs python-pytest))) (properties `((python2-variant . ,(delay python2-pytest-3.0)))))) (define-public python2-pytest-3.0 From 503a4df904b8d4b82caebdb17db9c5f76a952418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 29 Jun 2017 12:53:14 +0200 Subject: [PATCH 113/231] gnu: glibc/linux: Add patches for CVE-2017-1000366. * gnu/packages/patches/glibc-CVE-2017-1000366-pt1.patch, gnu/packages/patches/glibc-CVE-2017-1000366-pt2.patch, gnu/packages/patches/glibc-CVE-2017-1000366-pt3.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/base.scm (glibc/linux)[source](patches): Add them. [replacement]: Remove. (glibc-2.25-patched): Remove. (glibc-2.24, glibc-2.23, glibc-2.22, glibc-2.21) (glibc-locales): Remove 'replacement' field. --- gnu/packages/base.scm | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e81516d23e..ecde178335 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -514,7 +514,6 @@ store.") (package (name "glibc") (version "2.25") - (replacement glibc-2.25-patched) (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -533,7 +532,10 @@ store.") (patches (search-patches "glibc-ldd-x86_64.patch" "glibc-versioned-locpath.patch" "glibc-o-largefile.patch" - "glibc-memchr-overflow-i686.patch")))) + "glibc-memchr-overflow-i686.patch" + "glibc-CVE-2017-1000366-pt1.patch" + "glibc-CVE-2017-1000366-pt2.patch" + "glibc-CVE-2017-1000366-pt3.patch")))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc @@ -769,20 +771,6 @@ GLIBC/HURD for a Hurd host" (define-syntax glibc (identifier-syntax (glibc-for-target))) -(define glibc-2.25-patched - (package - (inherit glibc) - (replacement #f) - (source (origin - (inherit (package-source glibc)) - (patches (search-patches "glibc-ldd-x86_64.patch" - "glibc-versioned-locpath.patch" - "glibc-o-largefile.patch" - "glibc-vectorized-strcspn-guards.patch" - "glibc-CVE-2017-1000366-pt1.patch" - "glibc-CVE-2017-1000366-pt2.patch" - "glibc-CVE-2017-1000366-pt3.patch")))))) - ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) @@ -790,7 +778,6 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc) (version "2.24") - (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -810,7 +797,6 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc) (version "2.23") - (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -830,7 +816,6 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc) (version "2.22") - (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -858,7 +843,6 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc-2.22) (version "2.21") - (replacement #f) (source (origin (inherit (package-source glibc-2.22)) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -871,7 +855,6 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc) (name "glibc-locales") - (replacement #f) (source (origin (inherit (package-source glibc)) (patches (cons (search-patch "glibc-locales.patch") (origin-patches (package-source glibc)))))) From 92cb946bd9d78cb8f6aa8418d505f52da6894ab4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2017 11:42:38 -0400 Subject: [PATCH 114/231] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. * gnu/packages/patches/intltool-perl-compatibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/glib.scm (intltool)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/glib.scm | 1 + .../patches/intltool-perl-compatibility.patch | 76 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 gnu/packages/patches/intltool-perl-compatibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5328a80637..54c099b5e3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -682,6 +682,7 @@ dist_patch_DATA = \ %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ + %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-CVE-2016-9601.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fcd1daf5e8..926703e159 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -347,6 +347,7 @@ bindings to call into the C library.") (uri (string-append "https://launchpad.net/intltool/trunk/" version "/+download/intltool-" version ".tar.gz")) + (patches (search-patches "intltool-perl-compatibility.patch")) (sha256 (base32 "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) diff --git a/gnu/packages/patches/intltool-perl-compatibility.patch b/gnu/packages/patches/intltool-perl-compatibility.patch new file mode 100644 index 0000000000..b895ca7cb9 --- /dev/null +++ b/gnu/packages/patches/intltool-perl-compatibility.patch @@ -0,0 +1,76 @@ +This patch fixes a regex parsing compatibility issue with Perl 5.26.0. +It manifests during the configure phase of at-spi2-core like this: + +------ +Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at /gnu/store/...-intltool-0.51.0/bin/intltool-update line 1065. +------ + +Copied from Gentoo and MSYS2: + +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/intltool/files/intltool-0.51.0-perl-5.26.patch?id=1105187fc65d8bf643e682fcef39620dcfd9326a +https://github.com/Alexpux/MSYS2-packages/blob/0d3f442553ae4fc8798e32cbf44c4252fa8f3c07/intltool/perl-5.22-compatibility.patch + +#diff -ruN intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in +#--- intltool-0.51.0.orig/intltool-update.in 2017-06-28 00:47:20.889269294 +0200 +#+++ intltool-0.51.0/intltool-update.in 2017-06-28 00:48:14.592271529 +0200 +#@@ -1068,7 +1068,7 @@ +# my $untouched = $1; +# my $sub = ""; +# # Ignore recursive definitions of variables +#- $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; +#+ $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/; +# +# return SubstituteVariable ("$untouched$sub$rest"); +# } +--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 ++++ intltool-0.51.0.orig/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 +@@ -1062,7 +1062,7 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; +@@ -1068,7 +1068,7 @@ + my $untouched = $1; + my $sub = ""; + # Ignore recursive definitions of variables +- $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; ++ $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/; + + return SubstituteVariable ("$untouched$sub$rest"); + } +@@ -1190,10 +1190,10 @@ + $name =~ s/\(+$//g; + $version =~ s/\(+$//g; + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) +@@ -1219,11 +1219,11 @@ + $version =~ s/\(+$//g; + $bugurl =~ s/\(+$//g if (defined $bugurl); + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); +- $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); ++ $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/); + } + + # \s makes this not work, why? From 6b86ad153f558864ebfd9d9cc431ba8b653508de Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 29 Jun 2017 18:02:50 -0400 Subject: [PATCH 115/231] gnu: libgcrypt: Integrate grafted update. * gnu/packages/gnupg.scm (libgcrypt): Update to 1.7.8. [replacement]: Remove field. (libgcrypt-1.7.8): Remove variable. (libgcrypt-1.5)[replacement]: Remove field. --- gnu/packages/gnupg.scm | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 8b6069ec63..8a1ea37b5a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -82,15 +82,14 @@ Daemon and possibly more in the future.") (define-public libgcrypt (package (name "libgcrypt") - (replacement libgcrypt-1.7.8) - (version "1.7.7") + (version "1.7.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" version ".tar.bz2")) (sha256 (base32 - "16ndaj93asw122mwjz172x2ilpm03w1yp5mqcrp3xslk0yx5xf5r")))) + "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error-host" ,libgpg-error))) @@ -116,22 +115,8 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) -(define libgcrypt-1.7.8 - (package - (inherit libgcrypt) - (replacement #f) - (version "1.7.8") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" - version ".tar.bz2")) - (sha256 - (base32 - "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll")))))) - (define-public libgcrypt-1.5 (package (inherit libgcrypt) - (replacement #f) (version "1.5.6") (source (origin From c74acb569c7930b3c859b08094fca2d3b0f83e3d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 29 Jun 2017 18:06:02 -0400 Subject: [PATCH 116/231] gnu: poppler: Integrate grafted update. * gnu/packages/pdf.scm (poppler): Update to 0.56.0. [replacement]: Remove field. (poppler-qt4, poppler-qt5): Use (inherit) instead of (package/inherit). --- gnu/packages/pdf.scm | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index dce02a7b57..0993543c20 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -76,15 +76,14 @@ (define-public poppler (package (name "poppler") - (replacement poppler-0.56.0) - (version "0.52.0") + (version "0.56.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "14hrrac2f1phi5j0qn283457w06vsp9gr075yqjrm7w370bnd2sj")))) + "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6")))) (build-system gnu-build-system) ;; FIXME: ;; use libcurl: no @@ -130,27 +129,15 @@ (license license:gpl2+) (home-page "https://poppler.freedesktop.org/"))) -(define poppler-0.56.0 - (package (inherit poppler) - (version "0.56.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://poppler.freedesktop.org/poppler-" - version ".tar.xz")) - (sha256 - (base32 - "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6")))))) - (define-public poppler-qt4 - (package/inherit poppler + (package (inherit poppler) (name "poppler-qt4") (inputs `(("qt-4" ,qt-4) ,@(package-inputs poppler))) (synopsis "Qt4 frontend for the Poppler PDF rendering library"))) (define-public poppler-qt5 - (package/inherit poppler + (package (inherit poppler) (name "poppler-qt5") (inputs `(("qtbase" ,qtbase) ,@(package-inputs poppler))) From 1abc08a8f48f121cfa5a77394aa71a0441b4eb44 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 29 Jun 2017 04:11:18 -0400 Subject: [PATCH 117/231] gnu: shishi: Build with latest libgcrypt. * gnu/packages/patches/shishi-fix-libgcrypt-detection.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/kerberos.scm (shishi)[source]: Use it. [inputs]: Use libgcrypt instead of libgcrypt-1.5. [arguments]: Set 'ac_cv_libgcrypt=yes' in #:configure-flags. * gnu/packages/gnupg.scm (libgcrypt-1.5): Remove variable. --- gnu/local.mk | 1 + gnu/packages/gnupg.scm | 12 ------- gnu/packages/kerberos.scm | 19 +++++------ .../shishi-fix-libgcrypt-detection.patch | 32 +++++++++++++++++++ 4 files changed, 43 insertions(+), 21 deletions(-) create mode 100644 gnu/packages/patches/shishi-fix-libgcrypt-detection.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1d49c1a17f..900df572ad 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -961,6 +961,7 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-test-threading.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ + %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ %D%/packages/patches/slim-sigusr1.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 8a1ea37b5a..566d6e1bd3 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -115,18 +115,6 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) -(define-public libgcrypt-1.5 - (package (inherit libgcrypt) - (version "1.5.6") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" - version ".tar.bz2")) - (sha256 - (base32 - "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h")))))) - (define-public libassuan (package (name "libassuan") diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index e40ddb2bb2..24583d82ea 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -24,8 +24,10 @@ (define-module (gnu packages kerberos) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages perl) + #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages libidn) #:use-module (gnu packages linux) @@ -33,6 +35,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages readline) + #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -98,25 +101,23 @@ cryptography.") (method url-fetch) (uri (string-append "mirror://gnu/shishi/shishi-" version ".tar.gz")) + (patches (search-patches "shishi-fix-libgcrypt-detection.patch")) (sha256 (base32 "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d")))) (build-system gnu-build-system) + (arguments + '(;; This is required since we patch some of the build scripts. + ;; Remove for the next Shishi release after 1.0.2 or when + ;; removing 'shishi-fix-libgcrypt-detection.patch'. + #:configure-flags '("ac_cv_libgcrypt=yes"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("gnutls" ,gnutls) ("libidn" ,libidn) ("linux-pam" ,linux-pam-1.2) ("zlib" ,zlib) - ;; libgcrypt 1.6 fails because of the following test: - ;; #include - ;; /* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c - ;; will fail on startup if we don't have 1.4.4 or later, so - ;; test for it early. */ - ;; #if !defined GCRY_MODULE_ID_USER - ;; error too old libgcrypt - ;; #endif - ("libgcrypt" ,libgcrypt-1.5) + ("libgcrypt" ,libgcrypt) ("libtasn1" ,libtasn1))) (home-page "https://www.gnu.org/software/shishi/") (synopsis "Implementation of the Kerberos 5 network security system") diff --git a/gnu/packages/patches/shishi-fix-libgcrypt-detection.patch b/gnu/packages/patches/shishi-fix-libgcrypt-detection.patch new file mode 100644 index 0000000000..3db42feac9 --- /dev/null +++ b/gnu/packages/patches/shishi-fix-libgcrypt-detection.patch @@ -0,0 +1,32 @@ +Fix building of Shishi with libgcrypt 1.6 and later. + +Patch copied from Debian: + +https://anonscm.debian.org/cgit/collab-maint/shishi.git/tree/debian/patches/fix_gcrypt_detection.diff?id=948301ae648a542a408da250755aeed58a6e3542 + +Description: Fix autoconf gnutls detection to also accept gcrypt 1.6. +Author: Andreas Metzler +Bug-Debian: http://bugs.debian.org/753150 +Origin: vendor +Forwarded: no +Last-Update: 2014-07-18 + +--- shishi-1.0.2.orig/gl/m4/gc.m4 ++++ shishi-1.0.2/gl/m4/gc.m4 +@@ -12,10 +12,12 @@ AC_DEFUN([gl_GC], + if test "$libgcrypt" != no; then + AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [ + #include +-/* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c +- will fail on startup if we don't have 1.4.4 or later, so +- test for it early. */ +-#if !defined GCRY_MODULE_ID_USER ++/* gc-libgcrypt.c will fail on startup if we don't have libgcrypt 1.4.4 or ++ later, test for it early. by checking for either ++ - GCRY_MODULE_ID_USER which was added in 1.4.4 and dropped in 1.6 or ++ - GCRYPT_VERSION_NUMBER which was added in 1.6. ++ */ ++#if !defined GCRY_MODULE_ID_USER && !defined GCRYPT_VERSION_NUMBER + error too old libgcrypt + #endif + ]) From 86f2309263bc6c89e7441315d358204797b90bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 30 Jun 2017 22:10:07 +0200 Subject: [PATCH 118/231] system: Avoid collision between GMP variants in the global profile. * gnu/system.scm (%base-packages): Move GUILE-2.2 out of the list passed to 'canonical-package'. --- gnu/system.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/system.scm b/gnu/system.scm index 39f8465bcb..e813bfc20c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -514,10 +514,16 @@ explicitly appear in OS." bash-completion + ;; XXX: We don't use (canonical-package guile-2.2) here because that + ;; would create a collision in the global profile between the GMP + ;; variant propagated by 'guile-final' and the GMP variant propagated + ;; by 'gnutls', itself propagated by 'guix'. + guile-2.2 + ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. (map canonical-package - (list guile-2.2 bash coreutils findutils grep sed + (list bash coreutils findutils grep sed diffutils patch gawk tar gzip bzip2 xz lzip)))) (define %default-issue From 13fa4d7c35b135adbb979e5a348252f997b5609f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 1 Jul 2017 02:18:32 -0400 Subject: [PATCH 119/231] gnu: glibc: Fix build on i686. This is followup to 503a4df904b8d4b82caebdb17db9c5f76a952418. Fixes . * gnu/packages/base.scm (glibc/linux): Add "glibc-vectorized-strcspn-guards.patch" to patches. --- gnu/packages/base.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ecde178335..d42aa55560 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -533,6 +533,7 @@ store.") "glibc-versioned-locpath.patch" "glibc-o-largefile.patch" "glibc-memchr-overflow-i686.patch" + "glibc-vectorized-strcspn-guards.patch" "glibc-CVE-2017-1000366-pt1.patch" "glibc-CVE-2017-1000366-pt2.patch" "glibc-CVE-2017-1000366-pt3.patch")))) From 8ecb8bbc9051f1e56e57eeba36baf21a523e850f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Jul 2017 08:58:25 +0300 Subject: [PATCH 120/231] gnu: mesa: Update to 17.1.4. * gnu/packages/gl.scm (mesa): Update to 17.1.4. --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index ed5eaf09af..d017e375c9 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -217,7 +217,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "17.1.2") + (version "17.1.4") (source (origin (method url-fetch) @@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "0fc2g6cqffr8mh705r60xv9v66saiff8y3alz6qkjqvl8d7q0dq9")) + "1bcwxin7nmbnv92xav381b6qxscsx1zzc71ryfvj03cglbkb1wq6")) (patches (search-patches "mesa-wayland-egl-symbols-check-mips.patch" "mesa-skip-disk-cache-test.patch")))) From 68eca623152f39267833f5e6a36c0b857d9ec80d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Jul 2017 12:40:10 +0300 Subject: [PATCH 121/231] gnu: cups-filters: Update to 1.14.1. * gnu/packages/cups.scm (cups-filters): Update to 1.14.1. --- gnu/packages/cups.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index accfe410ba..145f917f72 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2016 Ludovic Courtès -;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mark H Weaver @@ -53,7 +53,7 @@ (define-public cups-filters (package (name "cups-filters") - (version "1.13.1") + (version "1.14.1") (source(origin (method url-fetch) (uri @@ -61,7 +61,7 @@ "cups-filters-" version ".tar.xz")) (sha256 (base32 - "0s7hylp2lcvc1vrqpywpv7lspkrh4xf7cyi4nbg10cf38rshj474")) + "0175jhqpsyn7bkh7w43ydhyws5zsdak05hr1fsadvzslvwqkffgi")) (modules '((guix build utils))) (snippet ;; install backends, banners and filters to cups-filters output From c23d897766cd409b7ffd1f6c133715999e42099f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Jul 2017 12:40:50 +0300 Subject: [PATCH 122/231] gnu: cups: Update to 2.2.4. * gnu/packages/cups.scm (cups, cups-minimal): Update to 2.2.4. --- gnu/packages/cups.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 145f917f72..cb852e7268 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -141,7 +141,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") (define-public cups-minimal (package (name "cups-minimal") - (version "2.2.1") + (version "2.2.4") (source (origin (method url-fetch) @@ -149,7 +149,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") version "/cups-" version "-source.tar.gz")) (sha256 (base32 - "1m8rwhbk0l8n19iwm51r2569jj15d0x6mpqhfig0bk3pm4577f43")))) + "1k4qxafmapq6hzbkh273fdyzkj9alw6ppwz5k933bhsi4svlsvar")))) (build-system gnu-build-system) (arguments `(#:configure-flags From a64b174751a9fa76375d35d2f2a47a4c93ce0206 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 6 Jul 2017 01:10:27 +0200 Subject: [PATCH 123/231] gnu: ghostscript: Make build reproducible. Fixes . * gnu/packages/ghostscript.scm (ghostscript)[source]: Remove timestamps. --- gnu/packages/ghostscript.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 136484e6af..d4e78c1223 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -152,7 +152,10 @@ printing, and psresize, for adjusting page sizes.") '(begin (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg" "lcms2" "libpng" - "tiff" "zlib")))))) + "tiff" "zlib")) + ;; Get rid of timestamps. + (substitute* "base/mkromfs.c" + (("time\\(NULL\\)") "0U")))))) (build-system gnu-build-system) (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples (arguments From 5bc42e1a468ce84d8adfa4be01a299c1a430c9cc Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 3 Jul 2017 21:16:38 +0200 Subject: [PATCH 124/231] gnu: netpbm: Remove timestamps. Fixes . * gnu/packages/netpbm.scm (netpbm)[source]: Remove timestamps. --- gnu/packages/netpbm.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index c7be4b13e0..2d76d7e067 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -87,6 +87,9 @@ (drop "ppmtopjxl" in "converter/ppm") ;; Remove timestamps from the generated code. + (substitute* "buildtools/makepointerman" + (("gmctime[(][)]") + "\"Thu Jan 1 00:00:00 1970\"")) (substitute* "buildtools/stamp-date" (("^DATE=.*") "DATE=\"Thu Jan 01 00:00:00+0000 1970\"\n") From 6b994438b049e91d7f950c2aa8abaae8d6112cf3 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 6 Jul 2017 10:39:07 +0200 Subject: [PATCH 125/231] gnu: ghostscript: Don't write CreationDate and ModDate header entries. Followup to a64b174751a9fa76375d35d2f2a47a4c93ce0206. * gnu/packages/ghostscript.scm (ghostscript)[source]: Don't write CreationDate and ModDate header entries. --- gnu/packages/ghostscript.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index d4e78c1223..b9ba1c081a 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -153,9 +153,9 @@ printing, and psresize, for adjusting page sizes.") (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg" "lcms2" "libpng" "tiff" "zlib")) - ;; Get rid of timestamps. - (substitute* "base/mkromfs.c" - (("time\\(NULL\\)") "0U")))))) + ;; Get rid of timestamps (remove /CreationDate and /ModDate). + (substitute* "devices/vector/gdevpdf.c" + ((", but we do the same") "*/ if (0) /*")))))) (build-system gnu-build-system) (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples (arguments From c89e21078862bd29b70a3bc0f33d160c59720364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Jul 2017 14:28:24 +0200 Subject: [PATCH 126/231] gnu: Add basic support for powerpc64le-linux-gnu targets. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "powerpc64le-linux". * gnu/packages/linux.scm (system->linux-architecture): Add "powerpc" prefix. (system->defconfig): Add "powerpc64le-" prefix. --- gnu/packages/bootstrap.scm | 2 ++ gnu/packages/linux.scm | 2 ++ 2 files changed, 4 insertions(+) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index f43decc96e..ba733b3a9e 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -162,6 +162,7 @@ successful, or false to signal an error." gnu-triplet->nix-system) (%current-system)))) "Return the name of Glibc's dynamic linker for SYSTEM." + ;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc. (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2") ((string=? system "i686-linux") "/lib/ld-linux.so.2") ((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3") @@ -170,6 +171,7 @@ successful, or false to signal an error." ((string=? system "i686-gnu") "/lib/ld.so.1") ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1") ((string=? system "powerpc-linux") "/lib/ld.so.1") + ((string=? system "powerpc64le-linux") "/lib/ld64.so.2") ((string=? system "alpha-linux") "/lib/ld-linux.so.2") ;; XXX: This one is used bare-bones, without a libc, so add a case diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 28a060fe54..100440a72c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -123,6 +123,7 @@ ((string-prefix? "arm" arch) "arm") ((string-prefix? "aarch64" arch) "arm64") ((string-prefix? "alpha" arch) "alpha") + ((string-prefix? "powerpc" arch) "powerpc") ;including "powerpc64le" (else arch)))) (define-public (system->defconfig system) @@ -130,6 +131,7 @@ defconfig. Return the appropiate make target if applicable, otherwise return \"defconfig\"." (cond ((string-prefix? "powerpc-" system) "pmac32_defconfig") + ((string-prefix? "powerpc64le-" system) "ppc64_defconfig") (else "defconfig"))) (define (linux-libre-urls version) From 7f0980839e4d9d3c7e06301bcbb2eb292bd7dbee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Jul 2017 16:34:10 +0200 Subject: [PATCH 127/231] gnu: wget: Fix compilation with Perl 5.26; skip faulty tests. * gnu/packages/wget.scm (wget)[arguments]: New field. [source](patches): Add "wget-perl-5.26.patch". * gnu/packages/patches/wget-perl-5.26.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/wget-perl-5.26.patch | 96 +++++++++++++++++++++++ gnu/packages/wget.scm | 16 +++- 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/wget-perl-5.26.patch diff --git a/gnu/local.mk b/gnu/local.mk index 900df572ad..23b8f449a1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1028,6 +1028,7 @@ dist_patch_DATA = \ %D%/packages/patches/weechat-python.patch \ %D%/packages/patches/wget-CVE-2017-6508.patch \ %D%/packages/patches/wget-fix-504-test-timeout.patch \ + %D%/packages/patches/wget-perl-5.26.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \ diff --git a/gnu/packages/patches/wget-perl-5.26.patch b/gnu/packages/patches/wget-perl-5.26.patch new file mode 100644 index 0000000000..ee3a984daa --- /dev/null +++ b/gnu/packages/patches/wget-perl-5.26.patch @@ -0,0 +1,96 @@ +This upstream commit adjusts tests for Perl 5.26. + +commit 7ffe93cabb181f39ad5091c31ab9f61bd940a55f +Author: Anton Yuzhaninov +Date: Wed Apr 5 19:06:42 2017 +0300 + + Fix perl warnings in tests + + * tests/FTPServer.pm: Escape '{' in RE to fix warnings + * tests/FTPTest.pm: Likewise + * tests/HTTPServer.pm: Likewise + * tests/HTTPTest.pm: Likewise + * tests/Test-proxied-https-auth-keepalive.px: Likewise + * tests/Test-proxied-https-auth.px: Likewise + Escape '{' in RE to fix warnings: + Unescaped left brace in regex is deprecated, passed through in regex; + marked by <-- HERE in m/{{ <-- HERE port}}/ + +diff --git a/tests/FTPServer.pm b/tests/FTPServer.pm +index a5185d66..cac80942 100644 +--- a/tests/FTPServer.pm ++++ b/tests/FTPServer.pm +@@ -589,7 +589,7 @@ sub new + foreach my $file (keys %{$self->{_input}}) + { + my $ref = \$self->{_input}{$file}{content}; +- $$ref =~ s/{{port}}/$self->sockport/eg; ++ $$ref =~ s/\Q{{port}}/$self->sockport/eg; + } + + return $self; +diff --git a/tests/FTPTest.pm b/tests/FTPTest.pm +index 50385ad0..0a1c768c 100644 +--- a/tests/FTPTest.pm ++++ b/tests/FTPTest.pm +@@ -53,7 +53,7 @@ sub _substitute_port + { + my $self = shift; + my $ret = shift; +- $ret =~ s/{{port}}/$self->{_server}->sockport/eg; ++ $ret =~ s/\Q{{port}}/$self->{_server}->sockport/eg; + return $ret; + } + +diff --git a/tests/HTTPServer.pm b/tests/HTTPServer.pm +index dd8ec043..78609f65 100644 +--- a/tests/HTTPServer.pm ++++ b/tests/HTTPServer.pm +@@ -310,7 +310,7 @@ sub _substitute_port + { + my $self = shift; + my $ret = shift; +- $ret =~ s/{{port}}/$self->sockport/eg; ++ $ret =~ s/\Q{{port}}/$self->sockport/eg; + return $ret; + } + +diff --git a/tests/HTTPTest.pm b/tests/HTTPTest.pm +index 00f079f8..6225c7f1 100644 +--- a/tests/HTTPTest.pm ++++ b/tests/HTTPTest.pm +@@ -47,7 +47,7 @@ sub _substitute_port + { + my $self = shift; + my $ret = shift; +- $ret =~ s/{{port}}/$self->{_server}->sockport/eg; ++ $ret =~ s/\Q{{port}}/$self->{_server}->sockport/eg; + return $ret; + } + +diff --git a/tests/Test-proxied-https-auth-keepalive.px b/tests/Test-proxied-https-auth-keepalive.px +index 049bebec..2a18ccfd 100755 +--- a/tests/Test-proxied-https-auth-keepalive.px ++++ b/tests/Test-proxied-https-auth-keepalive.px +@@ -153,7 +153,7 @@ my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee" + . " --password=Dodgson -e https_proxy=localhost:{{port}}" + . " --no-check-certificate" + . " https://no.such.domain/needs-auth.txt"; +-$cmdline =~ s/{{port}}/$SOCKET->sockport()/e; ++$cmdline =~ s/\Q{{port}}/$SOCKET->sockport()/e; + + if (defined $srcdir) { + $VALGRIND_SUPP_FILE = $srcdir . '/valgrind-suppressions-ssl'; +diff --git a/tests/Test-proxied-https-auth.px b/tests/Test-proxied-https-auth.px +index ce4e736c..878114e7 100755 +--- a/tests/Test-proxied-https-auth.px ++++ b/tests/Test-proxied-https-auth.px +@@ -152,7 +152,7 @@ my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee" + . " --password=Dodgson -e https_proxy=localhost:{{port}}" + . " --no-check-certificate" + . " https://no.such.domain/needs-auth.txt"; +-$cmdline =~ s/{{port}}/$SOCKET->sockport()/e; ++$cmdline =~ s/\Q{{port}}/$SOCKET->sockport()/e; + + if (defined $srcdir) { + $VALGRIND_SUPP_FILE = $srcdir . '/valgrind-suppressions-ssl'; diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index a73c68004d..58a1a4b885 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2016, 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -41,11 +41,23 @@ (uri (string-append "mirror://gnu/wget/wget-" version ".tar.xz")) (patches (search-patches "wget-CVE-2017-6508.patch" - "wget-fix-504-test-timeout.patch")) + "wget-fix-504-test-timeout.patch" + "wget-perl-5.26.patch")) (sha256 (base32 "1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-https-tests + (lambda _ + ;; XXX: Skip TLS tests, which fail with "The + ;; certificate's owner does not match hostname" for + ;; obscure reasons reported at: + ;; . + (substitute* "testenv/Makefile" + (("SSL_TESTS=1") "")) + #t))))) (inputs `(("gnutls" ,gnutls) ("libidn2" ,libidn2) From 0b6e4f82fcc906c431a575ab68183ed3c1eaa220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Jul 2017 17:06:44 +0200 Subject: [PATCH 128/231] gnu: groff: Remove dependency on netpbm. * gnu/packages/groff.scm (groff)[inputs]: Remove 'netpbm'. --- gnu/packages/groff.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 46e1ccf233..d7f45d4fc7 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -44,8 +44,13 @@ (build-system gnu-build-system) (outputs '("out" "doc")) ;12MiB of PS, PDF, HTML, and examples - (inputs `(("ghostscript" ,ghostscript) - ("netpbm" ,netpbm))) + + ;; Note: groff's HTML backend uses executables from netpbm when they are in + ;; $PATH. In practice, not having them doesn't prevent it from install its + ;; own HTML doc, nor does it change its capabilities, so we removed netpbm + ;; from 'inputs'. + + (inputs `(("ghostscript" ,ghostscript))) (native-inputs `(("bison" ,bison) ("perl" ,perl) ("psutils" ,psutils) From 26c228f9b49a4292e5bc288582167d175ce2e30b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 8 Jul 2017 16:09:59 +0200 Subject: [PATCH 129/231] gnu: libsoup: Reindent. * gnu/packages/gnome.scm (libsoup): Reindent. --- gnu/packages/gnome.scm | 50 +++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0442a98bf7..fb2d840b5d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2324,34 +2324,34 @@ libxml to ease remote use of the RESTful API.") #:phases (modify-phases %standard-phases (add-before 'configure 'disable-unconnected-socket-test - ;; This test fails due to missing /etc/nsswitch.conf - ;; in the build environment. - (lambda _ - (substitute* "tests/socket-test.c" - ((".*/sockets/unconnected.*") "")) - #t)) + ;; This test fails due to missing /etc/nsswitch.conf + ;; in the build environment. + (lambda _ + (substitute* "tests/socket-test.c" + ((".*/sockets/unconnected.*") "")) + #t)) (add-before 'check 'pre-check - (lambda _ - ;; The 'check-local' target runs 'env LANG=C sort -u', - ;; unset 'LC_ALL' to make 'LANG' working. - (unsetenv "LC_ALL") - ;; The ca-certificates.crt is not available in the build - ;; environment. - (setenv "SSL_CERT_FILE" "/dev/null") - ;; HTTPD in Guix uses mod_event and does not build prefork. - (substitute* "tests/httpd.conf" - (("^LoadModule mpm_prefork_module.*$") "\n")) - #t)) + (lambda _ + ;; The 'check-local' target runs 'env LANG=C sort -u', + ;; unset 'LC_ALL' to make 'LANG' working. + (unsetenv "LC_ALL") + ;; The ca-certificates.crt is not available in the build + ;; environment. + (setenv "SSL_CERT_FILE" "/dev/null") + ;; HTTPD in Guix uses mod_event and does not build prefork. + (substitute* "tests/httpd.conf" + (("^LoadModule mpm_prefork_module.*$") "\n")) + #t)) (replace 'install - (lambda _ - (zero? - (system* "make" - ;; Install vala bindings into $out. - (string-append "vapidir=" %output - "/share/vala/vapi") - "install"))))))) + (lambda _ + (zero? + (system* "make" + ;; Install vala bindings into $out. + (string-append "vapidir=" %output + "/share/vala/vapi") + "install"))))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums + `(("glib:bin" ,glib "bin") ; for glib-mkenums ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) From 2deb146f6d2f38aa121c51b3141c33790a734be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 8 Jul 2017 16:38:26 +0200 Subject: [PATCH 130/231] gnu: libsoup: Adjust to new GnuTLS certificate-check behavior. * gnu/packages/gnome.scm (libsoup)[arguments]: Add #:modules. In 'pre-check' phase, invoke 'certtool'. [native-inputs]: Add GNUTLS. --- gnu/packages/gnome.scm | 50 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fb2d840b5d..8d88829ec7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2314,7 +2314,11 @@ libxml to ease remote use of the RESTful API.") (build-system gnu-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 popen)) + + #:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") "/share/gtk-doc/html") @@ -2341,6 +2345,49 @@ libxml to ease remote use of the RESTful API.") ;; HTTPD in Guix uses mod_event and does not build prefork. (substitute* "tests/httpd.conf" (("^LoadModule mpm_prefork_module.*$") "\n")) + + ;; Generate a self-signed certificate that has "localhost" as its + ;; 'dnsName'. Failing to do that, and starting with GnuTLS + ;; 3.5.12, tests such as "ssl-tests" fail: + ;; + ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK) + ;; + ;; 'certtool' is interactive so we have to pipe it the answers. + ;; Reported at . + (let ((pipe (open-output-pipe "certtool --generate-self-signed \ + --load-privkey tests/test-key.pem --outfile tests/test-cert.pem"))) + (for-each (lambda (line) + (display line pipe) + (newline pipe)) + '("" ;Common name + "" ;UID + "Guix" ;Organizational unit name + "GNU" ;Organization name + "" ;Locality name + "" ;State or province + "" ;Country + "" ;subject's domain component (DC) + "" ;E-mail + "" ;serial number + "-1" ;expiration time + "N" ;belong to authority? + "N" ;web client certificate? + "N" ;IPsec IKE? + "Y" ;web server certificate? + "localhost" ;dnsName of subject + "" ;dnsName of subject (end) + "" ;URI of subject + "127.0.0.1" ;IP address of subject + "" ;signing? + "" ;encryption? + "" ;sign OCSP requests? + "" ;sign code? + "" ;time stamping? + "" ;email protection? + "" ;URI of the CRL distribution point + "y" ;above info OK? + )) + (close-pipe pipe)) #t)) (replace 'install (lambda _ @@ -2360,6 +2407,7 @@ libxml to ease remote use of the RESTful API.") ;; These are needed for the tests. ;; FIXME: Add PHP once available. ("curl" ,curl) + ("gnutls" ,gnutls) ;for 'certtool' ("httpd" ,httpd))) (propagated-inputs ;; libsoup-2.4.pc refers to all these. From 3512bd4d1ca5946cda44854bf0d526c6c288ad4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 8 Jul 2017 16:39:45 +0200 Subject: [PATCH 131/231] gnu: wget: Update comment about test failures. * gnu/packages/wget.scm (wget)[arguments]: Update comment. --- gnu/packages/wget.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 58a1a4b885..3673ad5cc4 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -52,9 +52,13 @@ (add-before 'check 'disable-https-tests (lambda _ ;; XXX: Skip TLS tests, which fail with "The - ;; certificate's owner does not match hostname" for - ;; obscure reasons reported at: - ;; . + ;; certificate's owner does not match hostname" as + ;; reported at: + ;; . + ;; The problem appears to be due to a change in GnuTLS + ;; 3.5.12, whereby 'gnutls_x509_crt_check_hostname2' no + ;; longer matches IP address against the 'CN' or + ;; 'DNSname' fields of certificates. (substitute* "testenv/Makefile" (("SSL_TESTS=1") "")) #t))))) From 539a68f938d734cc48c365a2f91521f4c4a4c1f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Jul 2017 10:31:19 +0200 Subject: [PATCH 132/231] gnu: pciutils: Update to 3.5.5. * gnu/packages/pciutils.scm (pciutils): Update to 3.5.5. --- gnu/packages/pciutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 7c9856468d..a3d85e8386 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -30,7 +30,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.5.4") + (version "3.5.5") (source (origin (method url-fetch) (uri (string-append @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "0rpy7kkb2y89wmbcbfjjjxsk2x89v5xxhxib4vpl131ip5m3qab4")))) + "1x9rb5y82rzg8b67lh42yy9ag9xr7kzibz566lffd41g37xghqhx")))) (build-system gnu-build-system) (arguments '(#:phases From 841e06af71d264b5fbec56f96aec8aa933fbeab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Jul 2017 10:37:48 +0200 Subject: [PATCH 133/231] gnu: pciutils: Move 'pci.ids.gz' to 'share/hwdata'. * gnu/packages/pciutils.scm (pciutils)[arguments] : Set 'IDSDIR' such that 'pci.ids.gz' goes to share/hwdata. --- gnu/packages/pciutils.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index a3d85e8386..51962d2739 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -56,12 +56,18 @@ ;; $prefix/share/man, and wrongly so. (string-append "MANDIR := " (assoc-ref outputs "out") "/share/man\n")) + (("^SHARED=.*$") ;; Build libpciutils.so. "SHARED := yes\n") (("^ZLIB=.*$") - ;; Ask for zlib support. - "ZLIB := yes\n")))) + ;; Ask for zlib support, for 'pci.ids.gz' decompression. + "ZLIB := yes\n") + + (("^IDSDIR=.*$") + ;; Installation directory of 'pci.ids.gz'. + "IDSDIR = $(SHAREDIR)/hwdata\n")) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) ;; Install the commands, library, and .pc files. From a48da398b3ee279c54db7ea70b3c3195acf5c94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Jul 2017 10:45:30 +0200 Subject: [PATCH 134/231] gnu: pciutils: Tweak description. * gnu/packages/pciutils.scm (pciutils)[description]: Use @command. --- gnu/packages/pciutils.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 51962d2739..e428aaedb0 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -91,5 +91,6 @@ "The PCI Utilities are a collection of programs for inspecting and manipulating configuration of PCI devices, all based on a common portable library libpci which offers access to the PCI configuration space on a variety -of operating systems. This includes the 'lspci' and 'setpci' commands.") +of operating systems. This includes the @command{lspci} and @command{setpci} +commands.") (license license:gpl2+))) From ab2a8cac58595461012de39cea64296d91978f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Jul 2017 10:53:50 +0200 Subject: [PATCH 135/231] gnu: libpciaccess: Refer to 'pci.ids' from pciutils. Prior to this change libpciaccess would try to read from /usr/share/hwdata/pci.ids. * gnu/packages/xorg.scm (libpciaccess)[arguments]: New field. [inputs]: Add PCIUTILS. --- gnu/packages/xorg.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 278410f4ce..555f12fbeb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -1112,8 +1113,29 @@ themselves.") (base32 "16dr80rdw5bzdyhahvilfjrflj7scs2yl2mmghsb84f3nglm8b3m")))) (build-system gnu-build-system) + (arguments + '(;; Make sure libpciaccess can read compressed 'pci.ids' files as + ;; provided by pciutils. + #:configure-flags + (list "--with-zlib" + (string-append "--with-pciids-path=" + (assoc-ref %build-inputs "pciutils") + "/share/hwdata")) + + #:phases + (modify-phases %standard-phases + (add-after 'install 'add-L-zlib + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Provide '-LZLIB/lib' next to '-lz' in the .la file. + (let ((zlib (assoc-ref inputs "zlib")) + (out (assoc-ref outputs "out"))) + (substitute* (string-append out "/lib/libpciaccess.la") + (("-lz") + (string-append "-L" zlib "/lib -lz"))) + #t)))))) (inputs - `(("zlib" ,zlib))) + `(("zlib" ,zlib) + ("pciutils" ,pciutils))) ;for 'pci.ids.gz' (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") From 9146543f8dce997c194aea93bf4c7a7a4144c8c9 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 6 Jul 2017 03:47:08 +0200 Subject: [PATCH 136/231] gnu: groff: Remove timestamps. Fixes . * gnu/packages/patches/groff-source-date-epoch.patch: New file. * gnu/local.mk: Add it. * gnu/packages/groff.scm (groff)[source]: Add it. --- gnu/local.mk | 1 + gnu/packages/groff.scm | 3 +- .../patches/groff-source-date-epoch.patch | 299 ++++++++++++++++++ 3 files changed, 302 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/groff-source-date-epoch.patch diff --git a/gnu/local.mk b/gnu/local.mk index 23b8f449a1..0fe6cdc391 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -645,6 +645,7 @@ dist_patch_DATA = \ %D%/packages/patches/graphite2-ffloat-store.patch \ %D%/packages/patches/grep-gnulib-lock.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ + %D%/packages/patches/groff-source-date-epoch.patch \ %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index d7f45d4fc7..67dd1dbfa6 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -40,7 +40,8 @@ (uri (string-append "mirror://gnu/groff/groff-" version ".tar.gz")) (sha256 (base32 - "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s")))) + "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s")) + (patches (search-patches "groff-source-date-epoch.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;12MiB of PS, PDF, HTML, and examples diff --git a/gnu/packages/patches/groff-source-date-epoch.patch b/gnu/packages/patches/groff-source-date-epoch.patch new file mode 100644 index 0000000000..53c590b049 --- /dev/null +++ b/gnu/packages/patches/groff-source-date-epoch.patch @@ -0,0 +1,299 @@ +Adds support for the environment variable SOURCE_DATE_EPOCH. + +See: https://sources.debian.net/patches/groff/1.22.3-9/source-date-epoch.patch/ + +From abc23bc9245e18468817f2838361c3a08f7521e2 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Thu, 5 Nov 2015 11:47:34 +0000 +Subject: Implement `SOURCE_DATE_EPOCH' for reproducible builds. + +Author: Colin Watson +Forwarded: yes +Last-Update: 2015-11-05 + +Patch-Name: source-date-epoch.patch +--- + doc/groff.texinfo | 6 +++++ + src/devices/grohtml/grohtml.man | 7 ++++++ + src/devices/grohtml/post-html.cpp | 5 ++-- + src/devices/gropdf/gropdf.man | 7 ++++++ + src/devices/gropdf/gropdf.pl | 3 ++- + src/devices/grops/grops.man | 7 ++++++ + src/devices/grops/ps.cpp | 3 ++- + src/include/curtime.h | 23 ++++++++++++++++++ + src/libs/libgroff/Makefile.sub | 2 ++ + src/libs/libgroff/curtime.cpp | 51 +++++++++++++++++++++++++++++++++++++++ + src/roff/troff/input.cpp | 3 ++- + 11 files changed, 112 insertions(+), 5 deletions(-) + create mode 100644 src/include/curtime.h + create mode 100644 src/libs/libgroff/curtime.cpp + +diff --git a/doc/groff.texinfo b/doc/groff.texinfo +index 066b5274..1d3c7a9f 100644 +--- a/doc/groff.texinfo ++++ b/doc/groff.texinfo +@@ -1453,6 +1453,12 @@ default directory (on Unix and GNU/Linux systems, this is usually + @item GROFF_TYPESETTER + @tindex GROFF_TYPESETTER@r{, environment variable} + The default output device. ++ ++@item SOURCE_DATE_EPOCH ++@tindex SOURCE_DATE_EPOCH@r{, environment variable} ++A timestamp (expressed as seconds since the Unix epoch) to use in place of ++the current time when initializing time-based built-in registers such as ++@code{\n[seconds]}. + @end table + + Note that MS-DOS and MS-Windows ports of @code{groff} use semi-colons, +diff --git a/src/devices/grohtml/grohtml.man b/src/devices/grohtml/grohtml.man +index 51eae224..4be4abbc 100644 +--- a/src/devices/grohtml/grohtml.man ++++ b/src/devices/grohtml/grohtml.man +@@ -419,6 +419,13 @@ and + for more details. + . + . ++.TP ++.SM ++.B SOURCE_DATE_EPOCH ++A timestamp (expressed as seconds since the Unix epoch) to use as the ++creation timestamp in place of the current time. ++. ++. + .\" -------------------------------------------------------------------- + .SH BUGS + .\" -------------------------------------------------------------------- +diff --git a/src/devices/grohtml/post-html.cpp b/src/devices/grohtml/post-html.cpp +index fefbf014..b5fc5167 100644 +--- a/src/devices/grohtml/post-html.cpp ++++ b/src/devices/grohtml/post-html.cpp +@@ -28,6 +28,7 @@ along with this program. If not, see . */ + #include "html.h" + #include "html-text.h" + #include "html-table.h" ++#include "curtime.h" + + #include + +@@ -5013,7 +5014,7 @@ void html_printer::do_file_components (void) + .put_string(Version_string) + .end_comment(); + +- t = time(0); ++ t = current_time(); + html.begin_comment("CreationDate: ") + .put_string(ctime(&t), strlen(ctime(&t))-1) + .end_comment(); +@@ -5126,7 +5127,7 @@ html_printer::~html_printer() + .put_string(Version_string) + .end_comment(); + +- t = time(0); ++ t = current_time(); + html.begin_comment("CreationDate: ") + .put_string(ctime(&t), strlen(ctime(&t))-1) + .end_comment(); +diff --git a/src/devices/gropdf/gropdf.man b/src/devices/gropdf/gropdf.man +index 3bbace6a..cc0c82f1 100644 +--- a/src/devices/gropdf/gropdf.man ++++ b/src/devices/gropdf/gropdf.man +@@ -1029,6 +1029,13 @@ and + for more details. + . + . ++.TP ++.SM ++.B SOURCE_DATE_EPOCH ++A timestamp (expressed as seconds since the Unix epoch) to use as the ++creation timestamp in place of the current time. ++. ++. + .\" -------------------------------------------------------------------- + .SH FILES + .\" -------------------------------------------------------------------- +diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl +index 035d1238..c25c4c67 100644 +--- a/src/devices/gropdf/gropdf.pl ++++ b/src/devices/gropdf/gropdf.pl +@@ -239,13 +239,14 @@ elsif (exists($ppsz{$papersz})) + @defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]); + } + +-my (@dt)=localtime(time); ++my (@dt)=localtime($ENV{SOURCE_DATE_EPOCH} || time); + my $dt=PDFDate(\@dt); + + my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})", + 'Producer' => "(gropdf version $cfg{GROFF_VERSION})", + 'ModDate' => "($dt)", + 'CreationDate' => "($dt)"); ++ + while (<>) + { + chomp; +diff --git a/src/devices/grops/grops.man b/src/devices/grops/grops.man +index 99fb7486..272c2d18 100644 +--- a/src/devices/grops/grops.man ++++ b/src/devices/grops/grops.man +@@ -1419,6 +1419,13 @@ and + for more details. + . + . ++.TP ++.SM ++.B SOURCE_DATE_EPOCH ++A timestamp (expressed as seconds since the Unix epoch) to use as the ++creation timestamp in place of the current time. ++. ++. + .\" -------------------------------------------------------------------- + .SH FILES + .\" -------------------------------------------------------------------- +diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp +index 745a503b..03e65372 100644 +--- a/src/devices/grops/ps.cpp ++++ b/src/devices/grops/ps.cpp +@@ -28,6 +28,7 @@ along with this program. If not, see . */ + #include "cset.h" + #include "nonposix.h" + #include "paper.h" ++#include "curtime.h" + + #include "ps.h" + #include +@@ -1390,7 +1391,7 @@ ps_printer::~ps_printer() + #else + time_t + #endif +- t = time(0); ++ t = current_time(); + fputs(ctime(&t), out.get_file()); + } + for (font_pointer_list *f = font_list; f; f = f->next) { +diff --git a/src/include/curtime.h b/src/include/curtime.h +new file mode 100644 +index 00000000..a4105196 +--- /dev/null ++++ b/src/include/curtime.h +@@ -0,0 +1,23 @@ ++/* Copyright (C) 2015 Free Software Foundation, Inc. ++ ++This file is part of groff. ++ ++groff 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 2 of the License, or ++(at your option) any later version. ++ ++groff 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. ++ ++The GNU General Public License version 2 (GPL2) is available in the ++internet at . */ ++ ++#ifdef LONG_FOR_TIME_T ++long ++#else ++time_t ++#endif ++current_time(); +diff --git a/src/libs/libgroff/Makefile.sub b/src/libs/libgroff/Makefile.sub +index 840d9934..4cb4937a 100644 +--- a/src/libs/libgroff/Makefile.sub ++++ b/src/libs/libgroff/Makefile.sub +@@ -32,6 +32,7 @@ OBJS=\ + cmap.$(OBJEXT) \ + color.$(OBJEXT) \ + cset.$(OBJEXT) \ ++ curtime.$(OBJEXT) \ + device.$(OBJEXT) \ + errarg.$(OBJEXT) \ + error.$(OBJEXT) \ +@@ -82,6 +83,7 @@ CCSRCS=\ + $(srcdir)/cmap.cpp \ + $(srcdir)/color.cpp \ + $(srcdir)/cset.cpp \ ++ $(srcdir)/curtime.cpp \ + $(srcdir)/device.cpp \ + $(srcdir)/errarg.cpp \ + $(srcdir)/error.cpp \ +diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp +new file mode 100644 +index 00000000..00821b7f +--- /dev/null ++++ b/src/libs/libgroff/curtime.cpp +@@ -0,0 +1,51 @@ ++/* Copyright (C) 2015 Free Software Foundation, Inc. ++ ++This file is part of groff. ++ ++groff 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 2 of the License, or ++(at your option) any later version. ++ ++groff 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. ++ ++The GNU General Public License version 2 (GPL2) is available in the ++internet at . */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "errarg.h" ++#include "error.h" ++ ++#ifdef LONG_FOR_TIME_T ++long ++#else ++time_t ++#endif ++current_time() ++{ ++ char *source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ ++ if (source_date_epoch) { ++ errno = 0; ++ char *endptr; ++ long epoch = strtol(source_date_epoch, &endptr, 10); ++ ++ if ((errno == ERANGE && (epoch == LONG_MAX || epoch == LONG_MIN)) || ++ (errno != 0 && epoch == 0)) ++ fatal("$SOURCE_DATE_EPOCH: strtol: %1", strerror(errno)); ++ if (endptr == source_date_epoch) ++ fatal("$SOURCE_DATE_EPOCH: no digits found: %1", endptr); ++ if (*endptr != '\0') ++ fatal("$SOURCE_DATE_EPOCH: trailing garbage: %1", endptr); ++ return epoch; ++ } else ++ return time(0); ++} +diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp +index 9594f074..f7d2c18a 100644 +--- a/src/roff/troff/input.cpp ++++ b/src/roff/troff/input.cpp +@@ -36,6 +36,7 @@ along with this program. If not, see . */ + #include "input.h" + #include "defs.h" + #include "unicode.h" ++#include "curtime.h" + + // Needed for getpid() and isatty() + #include "posix.h" +@@ -8138,7 +8139,7 @@ static void init_registers() + #else /* not LONG_FOR_TIME_T */ + time_t + #endif /* not LONG_FOR_TIME_T */ +- t = time(0); ++ t = current_time(); + // Use struct here to work around misfeature in old versions of g++. + struct tm *tt = localtime(&t); + set_number_reg("seconds", int(tt->tm_sec)); From 5c549f2eacae292b2349726d2f8f1de2d676cbd1 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 10 Jul 2017 00:05:21 +0200 Subject: [PATCH 137/231] gnu: ghostscript: Make "/ID" optional, depending on environment variable. * gnu/packages/patches/ghostscript-no-header-id.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it * gnu/packages/ghostscript.scm (ghostscript): Use it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 9 ++- .../patches/ghostscript-no-header-id.patch | 57 +++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/ghostscript-no-header-id.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0fe6cdc391..8cbded44ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -619,6 +619,7 @@ dist_patch_DATA = \ %D%/packages/patches/gettext-gnulib-multi-core.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghostscript-CVE-2017-8291.patch \ + %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index b9ba1c081a..af565f3e3a 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -143,7 +143,8 @@ printing, and psresize, for adjusting page sizes.") (base32 "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b")) (patches (search-patches "ghostscript-runpath.patch" - "ghostscript-CVE-2017-8291.patch")) + "ghostscript-CVE-2017-8291.patch" + "ghostscript-no-header-id.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so @@ -155,7 +156,11 @@ printing, and psresize, for adjusting page sizes.") "tiff" "zlib")) ;; Get rid of timestamps (remove /CreationDate and /ModDate). (substitute* "devices/vector/gdevpdf.c" - ((", but we do the same") "*/ if (0) /*")))))) + ((", but we do the same") + (string-append "*/ " + "if (!getenv(\"GS_GENERATE_UUIDS\") || " + "(strcmp(getenv(\"GS_GENERATE_UUIDS\"), \"0\") != 0 && " + "strcmp(getenv(\"GS_GENERATE_UUIDS\"), \"no\") != 0)) /*"))))))) (build-system gnu-build-system) (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples (arguments diff --git a/gnu/packages/patches/ghostscript-no-header-id.patch b/gnu/packages/patches/ghostscript-no-header-id.patch new file mode 100644 index 0000000000..19b71aadb5 --- /dev/null +++ b/gnu/packages/patches/ghostscript-no-header-id.patch @@ -0,0 +1,57 @@ +This patch makes the "/ID" field optional. + +If the environment variable GS_GENERATE_UUIDS is set to "0" or "no", it will +not write out the "/ID" field (if that's permissible). + +Upstream does not want to do this. + +See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 +diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c +--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:30:28.960479189 +0200 ++++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:34:34.306524488 +0200 +@@ -1580,8 +1580,11 @@ + * +1 for the linearisation dict and +1 for the primary hint stream. + */ + linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file); +- gs_sprintf(LDict, "\ntrailer\n<>\nstartxref\r\n0\n%%%%EOF\n \n", +- linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, 0); ++ gs_sprintf(LDict, "\ntrailer\n<LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber); ++ if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ ++ gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); ++ gs_sprintf(LDict, "/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n", 0); + fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); + + /* Write document catalog (Part 4) */ +@@ -2102,8 +2105,11 @@ + * in the missing values. + */ + code = gp_fseek_64(linear_params->sfile, linear_params->FirsttrailerOffset, SEEK_SET); +- gs_sprintf(LDict, "\ntrailer\n<>\nstartxref\r\n0\n%%%%EOF\n", +- linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, mainxref); ++ gs_sprintf(LDict, "\ntrailer\n<LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber); ++ if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ ++ gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); ++ gs_sprintf(LDict, "/Prev %"PRId64">>\nstartxref\r\n0\n%%%%EOF\n", mainxref); + fwrite(LDict, strlen(LDict), 1, linear_params->sfile); + + code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); +@@ -2674,10 +2680,12 @@ + stream_puts(s, "trailer\n"); + pprintld3(s, "<< /Size %ld /Root %ld 0 R /Info %ld 0 R\n", + pdev->next_id, Catalog_id, Info_id); +- stream_puts(s, "/ID ["); +- psdf_write_string(pdev->strm, pdev->fileID, sizeof(pdev->fileID), 0); +- psdf_write_string(pdev->strm, pdev->fileID, sizeof(pdev->fileID), 0); +- stream_puts(s, "]\n"); ++ if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) { /* ID is mandatory when encrypting */ ++ stream_puts(s, "/ID ["); ++ psdf_write_string(pdev->strm, pdev->fileID, sizeof(pdev->fileID), 0); ++ psdf_write_string(pdev->strm, pdev->fileID, sizeof(pdev->fileID), 0); ++ stream_puts(s, "]\n"); ++ } + if (pdev->OwnerPassword.size > 0) { + pprintld1(s, "/Encrypt %ld 0 R ", Encrypt_id); + } +Nur in gnu-ghostscript-9.14.0/devices/vector: gdevpdf.c.orig. From 63eb4a2a91af8d0a3801bb542f73fd21ecfc9a9e Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 10 Jul 2017 01:24:50 +0200 Subject: [PATCH 138/231] gnu: ghostscript: Make XMP UUID headers optional, depending on environment variable. * gnu/packages/patches/ghostscript-no-header-uuid.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ghostscript.scm (ghostscript): Use it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 3 +- .../patches/ghostscript-no-header-uuid.patch | 50 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ghostscript-no-header-uuid.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8cbded44ee..9cf4648aa3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -620,6 +620,7 @@ dist_patch_DATA = \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghostscript-CVE-2017-8291.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ + %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index af565f3e3a..3a84db3e44 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -144,7 +144,8 @@ printing, and psresize, for adjusting page sizes.") "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b")) (patches (search-patches "ghostscript-runpath.patch" "ghostscript-CVE-2017-8291.patch" - "ghostscript-no-header-id.patch")) + "ghostscript-no-header-id.patch" + "ghostscript-no-header-uuid.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so diff --git a/gnu/packages/patches/ghostscript-no-header-uuid.patch b/gnu/packages/patches/ghostscript-no-header-uuid.patch new file mode 100644 index 0000000000..473531220c --- /dev/null +++ b/gnu/packages/patches/ghostscript-no-header-uuid.patch @@ -0,0 +1,50 @@ +This patch makes the UUIDs in the XMP header optional, depending on the +setting of the environment variable GS_GENERATE_UUIDS. + +If the environment variable GS_GENERATE_UUIDS is set to "0" or "no", it will +not write out the Document UUID field and also will write the Instance ID +field value as "". + +Upstream does not want to do this. + +See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 +diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c aa/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c +--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c 2017-07-09 23:30:28.960479189 +0200 ++++ gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c 2017-07-10 01:04:12.252478276 +0200 +@@ -617,7 +617,7 @@ + return code; + + /* PDF/A XMP reference recommends setting UUID to empty. If not empty must be a URI */ +- if (pdev->PDFA != 0) ++ if (pdev->PDFA != 0 || (getenv("GS_GENERATE_UUIDS") && (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") == 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") == 0))) + instance_uuid[0] = 0x00; + + cre_date_time_len = pdf_get_docinfo_item(pdev, "/CreationDate", cre_date_time, sizeof(cre_date_time)); +@@ -719,15 +719,18 @@ + pdf_xml_tag_close(s, "rdf:Description"); + pdf_xml_newline(s); + +- pdf_xml_tag_open_beg(s, "rdf:Description"); +- pdf_xml_attribute_name(s, "rdf:about"); +- pdf_xml_attribute_value(s, instance_uuid); +- pdf_xml_attribute_name(s, "xmlns:xapMM"); +- pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/"); +- pdf_xml_attribute_name(s, "xapMM:DocumentID"); +- pdf_xml_attribute_value(s, document_uuid); +- pdf_xml_tag_end_empty(s); +- pdf_xml_newline(s); ++ if (!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0)) ++ { ++ pdf_xml_tag_open_beg(s, "rdf:Description"); ++ pdf_xml_attribute_name(s, "rdf:about"); ++ pdf_xml_attribute_value(s, instance_uuid); ++ pdf_xml_attribute_name(s, "xmlns:xapMM"); ++ pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/"); ++ pdf_xml_attribute_name(s, "xapMM:DocumentID"); ++ pdf_xml_attribute_value(s, document_uuid); ++ pdf_xml_tag_end_empty(s); ++ pdf_xml_newline(s); ++ } + + pdf_xml_tag_open_beg(s, "rdf:Description"); + pdf_xml_attribute_name(s, "rdf:about"); From ad22c7185395a52bd90ea5890a2ac79f44d00352 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 10 Jul 2017 01:28:34 +0200 Subject: [PATCH 139/231] gnu: ghostscript: Make "/CreationDate", "/ModDate" optional, depending on environment variable. * gnu/packages/patches/ghostscript-no-header-creationdate.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ghostscript.scm (ghostscript): Use it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 10 ++------- .../ghostscript-no-header-creationdate.patch | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/ghostscript-no-header-creationdate.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9cf4648aa3..0880de0382 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -621,6 +621,7 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-CVE-2017-8291.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ + %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 3a84db3e44..b15b032a72 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -144,6 +144,7 @@ printing, and psresize, for adjusting page sizes.") "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b")) (patches (search-patches "ghostscript-runpath.patch" "ghostscript-CVE-2017-8291.patch" + "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) (modules '((guix build utils))) @@ -154,14 +155,7 @@ printing, and psresize, for adjusting page sizes.") '(begin (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg" "lcms2" "libpng" - "tiff" "zlib")) - ;; Get rid of timestamps (remove /CreationDate and /ModDate). - (substitute* "devices/vector/gdevpdf.c" - ((", but we do the same") - (string-append "*/ " - "if (!getenv(\"GS_GENERATE_UUIDS\") || " - "(strcmp(getenv(\"GS_GENERATE_UUIDS\"), \"0\") != 0 && " - "strcmp(getenv(\"GS_GENERATE_UUIDS\"), \"no\") != 0)) /*"))))))) + "tiff" "zlib")))))) (build-system gnu-build-system) (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples (arguments diff --git a/gnu/packages/patches/ghostscript-no-header-creationdate.patch b/gnu/packages/patches/ghostscript-no-header-creationdate.patch new file mode 100644 index 0000000000..92ddbdade0 --- /dev/null +++ b/gnu/packages/patches/ghostscript-no-header-creationdate.patch @@ -0,0 +1,22 @@ +This patch makes emission of /CreationDate and /ModDate headers optional. + +If the environment variable GS_GENERATE_UUIDS is set to "0" or "no", it will +not write out the "/ID" field (if that's permissible). + +Upstream does not want to do this. + +See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 +diff --git a/orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c b/bb/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c +index 0fb067e..b342e2c 100644 +--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c ++++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c +@@ -305,6 +305,9 @@ pdf_initialize_ids(gx_device_pdf * pdev) + * date and time, rather than (for example) %%CreationDate from the + * PostScript file. We think this is wrong, but we do the same. + */ ++ if (!getenv("GS_GENERATE_UUIDS") || ++ (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && ++ strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0)) + { + struct tm tms; + time_t t; From a708fea4061a2b4ada5aaaaff44c74848d095409 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 2 Jun 2017 20:26:27 -0400 Subject: [PATCH 140/231] gnu: ncmpcpp: Update to 0.8. * gnu/packages/mpd.scm (ncmpcpp): Update to 0.8. [inputs]: Add curl. [source], [home-page]: Use HTTPS URLs. --- gnu/packages/mpd.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 5692ff6766..eb45974f6c 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -195,22 +195,23 @@ terminal using ncurses.") (define-public ncmpcpp (package (name "ncmpcpp") - (version "0.7.7") + (version "0.8") (source (origin (method url-fetch) (uri - (string-append "http://ncmpcpp.rybczak.net/stable/ncmpcpp-" + (string-append "https://ncmpcpp.rybczak.net/stable/ncmpcpp-" version ".tar.bz2")) (sha256 (base32 - "1vq19m36608pvw1g8nbcaqqb89wsw05v35pi45xwr20z7g4bxg5p")))) + "0nj6ky805a55acj0w57sbn3vfmmkbqp97rhbi0q9848n10f2l3rg")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient) ("boost" ,boost) ("readline" ,readline) ("ncurses" ,ncurses) ("taglib" ,taglib) - ("icu4c" ,icu4c))) + ("icu4c" ,icu4c) + ("curl" ,curl))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments @@ -221,7 +222,7 @@ terminal using ncurses.") but it provides new useful features such as support for regular expressions for library searches, extended song format, items filtering, the ability to sort playlists, and a local file system browser.") - (home-page "http://ncmpcpp.rybczak.net/") + (home-page "https://ncmpcpp.rybczak.net/") (license license:gpl2+))) (define-public mpdscribble From 851ff8a5c587ff0d7e6f09a2a656503c2409d6c3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 12 Jul 2017 17:01:45 -0400 Subject: [PATCH 141/231] gnu: wayland-protocols: Update to 1.9. * gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.9. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index a9a7e08da1..9dbb8c0869 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -393,7 +393,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public wayland-protocols (package (name "wayland-protocols") - (version "1.7") + (version "1.9") (source (origin (method url-fetch) (uri (string-append @@ -401,7 +401,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "wayland-protocols-" version ".tar.xz")) (sha256 (base32 - "07qw166s6bm81zfnhf4lmww6wj0il960fm3vp7n1z3rign9jlpv3")))) + "0xag2yci0l13brmq2k12vdv0wlnb2j0rxk2cnp170fya63g74sv6")))) (build-system gnu-build-system) (inputs `(("wayland" ,wayland))) From 0a3aca47d9baed5f3cd25c6a6489a625776fd26e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 7 Mar 2017 22:38:35 -0500 Subject: [PATCH 142/231] gnu: grub: Fix build failure with recent flex. * gnu/packages/flex.scm (flex-2.6.1): New variable. * gnu/packages/bootloaders.scm (grub)[native-inputs]: Use flex-2.6.1. --- gnu/packages/bootloaders.scm | 5 ++++- gnu/packages/flex.scm | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 2d8d89f754..76dad2923e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -118,7 +118,10 @@ (native-inputs `(("unifont" ,unifont) ("bison" ,bison) - ("flex" ,flex) + ;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex: + ;; + ;; TODO Try building with flex > 2.6.4. + ("flex" ,flex-2.6.1) ("texinfo" ,texinfo) ("help2man" ,help2man) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index fdda5f365d..b09ac0bb89 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -85,3 +85,16 @@ regular expressions for each rule. Whenever it finds a match, it executes the corresponding C code.") (license (non-copyleft "file://COPYING" "See COPYING in the distribution.")))) + +(define-public flex-2.6.1 + (package + (inherit flex) + (version "2.6.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/westes/flex" + "/releases/download/v" version "/" + "flex-" version ".tar.xz")) + (sha256 + (base32 + "0gqhk4vkwy4gl9xbpgkljph8c0a5kpijz6wd0p5r9q202qn42yic")))))) From 49d035ff96c626df6145064efb0c044d74e39e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 11 Jul 2017 15:28:51 +0200 Subject: [PATCH 143/231] gnu: ghostscript: Support cross-compilation. * gnu/packages/ghostscript.scm (ghostscript)[arguments]: Pass "CCAUX" and "--enable-save_confaux" to #:configure-flags. Add 'add-native-lz' phase when cross-compiling. [native-inputs]: Add ZLIB, LIBJPEG, and LCMS when cross-compiling. --- gnu/packages/ghostscript.scm | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index b15b032a72..d5d5aa2dff 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2013, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Leo Famulari @@ -165,7 +165,18 @@ printing, and psresize, for adjusting page sizes.") "LIBS=-lz" (string-append "ZLIBDIR=" (assoc-ref %build-inputs "zlib") "/include") - "--enable-dynamic") + "--enable-dynamic" + + ,@(if (%current-target-system) + '(;; Specify the native compiler, which is used to build 'echogs' + ;; and other intermediary tools when cross-compiling; see + ;; . + "CCAUX=gcc" + + ;; Save 'config.log' etc. of the native build under + ;; auxtmp/, useful for debugging. + "--enable-save_confaux") + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-doc-dir @@ -189,6 +200,15 @@ printing, and psresize, for adjusting page sizes.") (substitute* "base/unixhead.mak" (("/bin/sh") (which "sh"))) #t)) + ,@(if (%current-target-system) + `((add-after 'configure 'add-native-lz + (lambda _ + ;; Add missing '-lz' for native tools such as 'mkromfs'. + (substitute* "Makefile" + (("^AUXEXTRALIBS=(.*)$" _ value) + (string-append "AUXEXTRALIBS = -lz " value "\n"))) + #t))) + '()) (replace 'build (lambda _ ;; Build 'libgs.so', but don't build the statically-linked 'gs' @@ -207,7 +227,15 @@ printing, and psresize, for adjusting page sizes.") (native-inputs `(("perl" ,perl) ("python" ,python-wrapper) - ("tcl" ,tcl))) + ("tcl" ,tcl) + + ;; When cross-compiling, some of the natively-built tools require all + ;; these libraries. + ,@(if (%current-target-system) + `(("zlib/native" ,zlib) + ("libjpeg/native" ,libjpeg) + ("lcms2/native" ,lcms)) + '()))) (inputs `(("freetype" ,freetype) ("jbig2dec" ,jbig2dec) From 2f0d1b9dd2d75c5501767a15cf9b87fc057711c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 12 Jul 2017 23:48:20 +0200 Subject: [PATCH 144/231] gnu: ath9k-htc-firmware: Adjust Binutils patch to 2.28. * gnu/packages/patches/ath9k-htc-firmware-binutils.patch: Remove last hunk, which is now in Binutils 2.28. --- .../patches/ath9k-htc-firmware-binutils.patch | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/gnu/packages/patches/ath9k-htc-firmware-binutils.patch b/gnu/packages/patches/ath9k-htc-firmware-binutils.patch index aa253e135f..7bb5d77dba 100644 --- a/gnu/packages/patches/ath9k-htc-firmware-binutils.patch +++ b/gnu/packages/patches/ath9k-htc-firmware-binutils.patch @@ -5,9 +5,6 @@ Not applying the first patch (apparently) leads to miscompiled firmware, and loading it fails with a "Target is unresponsive" message from the 'ath9k_htc' module. -The final hunk, applied to 'gas/config/tc-xtensa.c', is copied from the -upstream file 'local/patches/binutils-2.27_fixup.patch'. - From dbca73446265ce01b8e11462c3346b25953e3399 Mon Sep 17 00:00:00 2001 From: Sujith Manoharan Date: Mon, 7 Jan 2013 15:59:53 +0530 @@ -28969,20 +28966,3 @@ index 30f4f41..fe9b051 100644 #define XCHAL_MAX_INSTRUCTION_SIZE 3 -- 1.8.1 - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index d062044..ca261ae 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -2228,7 +2228,7 @@ xg_reverse_shift_count (char **cnt_argp) - cnt_arg = *cnt_argp; - - /* replace the argument with "31-(argument)" */ -- new_arg = concat ("31-(", cnt_argp, ")", (char *) NULL); -+ new_arg = concat ("31-(", cnt_arg, ")", (char *) NULL); - - free (cnt_arg); - *cnt_argp = new_arg; --- -2.10.1 - From 88958ee061afa0151195c855d02397e9f90b0172 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:18:16 -0400 Subject: [PATCH 145/231] gnu: perl-xml-namespacesupport: Update to 1.12. * gnu/packages/xml.scm (perl-xml-namespacesupport): Update to 1.12. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 3cf1de305f..30f30535d0 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -421,7 +421,7 @@ libxslt library.") (define-public perl-xml-namespacesupport (package (name "perl-xml-namespacesupport") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) @@ -429,7 +429,7 @@ libxslt library.") "XML-NamespaceSupport-" version ".tar.gz")) (sha256 (base32 - "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd")))) + "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/XML-NamespaceSupport") (synopsis "XML namespace support class") From b91c085df2073297c687c28c1026b640e69364ae Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:32:57 -0400 Subject: [PATCH 146/231] gnu: perl-test-leaktrace: Update to 0.16. * gnu/packages/perl.scm (perl-test-leaktrace): Update to 0.16. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 876bad80d8..2f7144b735 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6629,15 +6629,15 @@ automatically aggregated and output to STDOUT.") (define-public perl-test-leaktrace (package (name "perl-test-leaktrace") - (version "0.15") + (version "0.16") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/" + (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/" "Test-LeakTrace-" version ".tar.gz")) (sha256 (base32 - "0pp6ip012c474ibw0mwd7jgig34gf98bb8xlqk4wdvw1d65vbf7g")))) + "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Test-LeakTrace") (synopsis "Traces memory leaks in Perl") From bf200cb68430172028cbcebbb79ee73629d14a96 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:39:46 -0400 Subject: [PATCH 147/231] gnu: perl-module-scandeps: Update to 1.24. * gnu/packages/perl.scm (perl-module-scandeps): Update to 1.24. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2f7144b735..15ae05c086 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4373,7 +4373,7 @@ from Moose::Conflicts and moose-outdated.") (define-public perl-module-scandeps (package (name "perl-module-scandeps") - (version "1.18") + (version "1.24") (source (origin (method url-fetch) @@ -4381,7 +4381,7 @@ from Moose::Conflicts and moose-outdated.") "Module-ScanDeps-" version ".tar.gz")) (sha256 (base32 - "17mbyqwd8c20nqw01hjshl524vkw8pq6y2lwndmw36xkqr945npz")))) + "0s6cj90ckhy351gql52ksh4ms1x8piv26iadl09fcpzkx7j0srw9")))) (build-system perl-build-system) (native-inputs `(("perl-test-requires" ,perl-test-requires))) From 7e441facb489fcbaee97e46b72ca4add60dd9023 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:44:18 -0400 Subject: [PATCH 148/231] gnu: perl-carp-clan: Update to 6.06. * gnu/packages/perl.scm (perl-carp-clan): Update to 6.06. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 15ae05c086..98f7a06041 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -689,15 +689,15 @@ Perl.") (define-public perl-carp-clan (package (name "perl-carp-clan") - (version "6.04") + (version "6.06") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/S/ST/STBEY/" + (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/" "Carp-Clan-" version ".tar.gz")) (sha256 (base32 - "1v71k8s1pi16l5y579gnrg372c6pdvy6qqm6iddm8h1dx7n16bjl")))) + "1m6902n6s627nsvyn2vyrk29q7lh6808hsdk7ka5cirm27vchjpa")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) From 3db83cc7e67bfa9dbb96ed01dbc407ea9ed44591 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:54:53 -0400 Subject: [PATCH 149/231] gnu: perl-class-inspector: Update to 1.31. * gnu/packages/perl.scm (perl-class-inspector): Update to 1.31. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 98f7a06041..d32f678403 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -956,15 +956,15 @@ to the calling program.") (define-public perl-class-inspector (package (name "perl-class-inspector") - (version "1.28") + (version "1.31") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/" "Class-Inspector-" version ".tar.gz")) (sha256 (base32 - "04iij8dbcgaim7g109frpyf7mh4ydsd8zh53r53chk0zxnivg91w")))) + "1sqfjgzxx1f951fykc6vgfvys4j8rxaw2zf3jq26yrvs3ygn8pq6")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Class-Inspector") (synopsis "Get information about a class and its structure") From 1cb6e2cd6285e1967b2bb44d642c754bacad9108 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:57:31 -0400 Subject: [PATCH 150/231] gnu: perl-config-any: Update to 0.32. * gnu/packages/perl.scm (perl-config-any): Update to 0.32. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d32f678403..925c49cb09 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1196,15 +1196,15 @@ as defined by two typical specimens of Perl coders.") (define-public perl-config-any (package (name "perl-config-any") - (version "0.24") + (version "0.32") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/" + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Config-Any-" version ".tar.gz")) (sha256 (base32 - "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi")))) + "0l31sg7dwh4dwwnql42hp7arkhcm15bhsgfg4i6xvbjzy9f2mnk8")))) (build-system perl-build-system) (propagated-inputs `(("perl-module-pluggable" ,perl-module-pluggable))) From 16e3c922a15feea0a586aac3bc10901503fce40b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 11:58:58 -0400 Subject: [PATCH 151/231] gnu: perl-devel-stacktrace-ashtml: Update to 0.15. * gnu/packages/perl.scm (perl-devel-stacktrace-ashtml): Update to 0.15. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 925c49cb09..7c8fcc98e0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2361,7 +2361,7 @@ providing a simple interface to this data.") (define-public perl-devel-stacktrace-ashtml (package (name "perl-devel-stacktrace-ashtml") - (version "0.14") + (version "0.15") (source (origin (method url-fetch) @@ -2369,7 +2369,7 @@ providing a simple interface to this data.") "Devel-StackTrace-AsHTML-" version ".tar.gz")) (sha256 (base32 - "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9")))) + "0iri5nb2lb76qv5l9z0vjpfrq5j2fyclkd64kh020bvy37idp0v2")))) (build-system perl-build-system) (propagated-inputs `(("perl-devel-stacktrace" ,perl-devel-stacktrace))) From 0b147484b1aab68e21a909fbcb70b5f8757d8410 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:00:41 -0400 Subject: [PATCH 152/231] gnu: perl-devel-symdump: Update to 2.18. * gnu/packages/perl.scm (perl-devel-symdump): Update to 2.18. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7c8fcc98e0..4f8082261c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2385,7 +2385,7 @@ each stack frame.") (define-public perl-devel-symdump (package (name "perl-devel-symdump") - (version "2.17") + (version "2.18") (source (origin (method url-fetch) @@ -2393,7 +2393,7 @@ each stack frame.") "Devel-Symdump-" version ".tar.gz")) (sha256 (base32 - "0qkfjk7bm7jwn9d9qaldg298zvkqh2f19fgvfh5j1rp66mwzql1c")))) + "1h3n0w23camhj20a97nw7v40rqa7xcxx8vkn2qjjlngm0yhq2vw2")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Devel-Symdump") (synopsis "Dump symbol names or the symbol table") From 86d1e079eca0a5272ab33d62cd43940795d7523b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:02:31 -0400 Subject: [PATCH 153/231] gnu: perl-html-tree: Update to 5.06. * gnu/packages/web.scm (perl-html-tree): Update to 5.06. [source]: Update URL. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8e60f64790..31a84dbc2a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2165,15 +2165,15 @@ in tables within an HTML document, either as text or encoded element trees.") (define-public perl-html-tree (package (name "perl-html-tree") - (version "5.03") + (version "5.06") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/C/CJ/CJM/" + (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/" "HTML-Tree-" version ".tar.gz")) (sha256 (base32 - "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx")))) + "0vjk4xrybjqs511qrh9cymhpbg9m3jjqr52qr035k6nzrccyndlw")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) From 6b2f5caf4c1ba91f0e7fb1c128c54c777cd12df8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:08:24 -0400 Subject: [PATCH 154/231] gnu: perl-mime-charset: Update to 1.012.2. * gnu/packages/perl.scm (perl-mime-charset): Update to 1.012.2. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4f8082261c..01fbc375de 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4055,14 +4055,14 @@ the argument to the CACHESIZE parameter, will be cached.") (define-public perl-mime-charset (package (name "perl-mime-charset") - (version "1.012") + (version "1.012.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEZUMI/" "MIME-Charset-" version ".tar.gz")) (sha256 (base32 - "1kfc5p4g1x9c0ffhg125wvhravcviny3alwrgnhnrm2a33ad3rff")))) + "04qxgcg9mvia121i3zcqxgp20y0d9kg0qv6hddk93ian0af7g347")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/MIME-Charset") (synopsis "Charset information for MIME messages") From 7881f6fa1bf350dc64012af8ef79ce6e1f0190bc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:21:45 -0400 Subject: [PATCH 155/231] gnu: perl-modern-perl: Update to 1.20170117. * gnu/packages/perl.scm (perl-modern-perl): Update to 1.20170117. --- gnu/packages/perl.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 01fbc375de..c5957a28ee 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4119,17 +4119,16 @@ file names are added for you.") (define-public perl-modern-perl (package (name "perl-modern-perl") - (version "1.20150127") + (version "1.20170117") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-" - version - ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "0iv2crfxl3xh6mq36g1gv9fr8iqq3kpbj8afxy5qi60hh7v3xhcl")))) + "0a1n9c04zhs1a1km1zi0d1hj78d10qv3bhxr4bdi4chnc4saiwjx")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From 2fec4b98606e86cdc1a992e5c003312f7805bfc7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:24:18 -0400 Subject: [PATCH 156/231] gnu: perl-mro-compat: Update to 0.13. * gnu/packages/perl.scm (perl-mro-compat): Update to 0.13. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c5957a28ee..de1f5149b0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5075,15 +5075,15 @@ and libraries based on OpenSSL.") (define-public perl-mro-compat (package (name "perl-mro-compat") - (version "0.12") + (version "0.13") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/" + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "MRO-Compat-" version ".tar.gz")) (sha256 (base32 - "1mhma2g83ih9f8nkmg2k9l0x6izhhbb6k5lli4rpllxad4wbk9dv")))) + "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/MRO-Compat") (synopsis "MRO interface compatibility for Perls < 5.9.5") From c317f4f907ce49251896d0222c56d78cec5c3f62 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:27:40 -0400 Subject: [PATCH 157/231] gnu: perl-parse-yapp: Update to 1.2. * gnu/packages/perl.scm (perl-parse-yapp): Update to 1.2. [source]: Update URL. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index de1f5149b0..e5c637a372 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7960,17 +7960,17 @@ and memory overhead.") (define-public perl-parse-yapp (package (name "perl-parse-yapp") - (version "1.05") + (version "1.2") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/F/FD/FDESAR/Parse-Yapp-" + "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-" version ".tar.gz")) (sha256 (base32 - "0azjqqf4m7nkfgmmj4q77vy9sdgg01wn8xxv40bq3pis93xnr2i2")))) + "16p4qgqg28cy76ylcf4wq1r693gqpx8xq0w32b3564i67h49zljb")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Parse-Yapp") (synopsis "Generate and use LALR parsers") From 3949b36acc61286f397ceb4f858b23e4d9a1d383 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jul 2017 12:29:01 -0400 Subject: [PATCH 158/231] gnu: perl-test-harness: Update to 3.39. * gnu/packages/perl.scm (perl-test-harness): Update to 3.39. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e5c637a372..2e40021fa1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6598,7 +6598,7 @@ contents of a file is equal to a particular string.") (define-public perl-test-harness (package (name "perl-test-harness") - (version "3.36") + (version "3.39") (source (origin (method url-fetch) @@ -6606,7 +6606,7 @@ contents of a file is equal to a particular string.") "Test-Harness-" version ".tar.gz")) (sha256 (base32 - "0gmnjss0hjkyiwvgby50nl5nzv254pn7fjqqdysjil21n09nymp7")))) + "0chiqnzmna2mglm37nzxvn9qhq2j31iwz3i9isqjs7bf3k449gb9")))) (build-system perl-build-system) (arguments `(#:phases (alist-cons-before From eaca9ff07e4762c3d33e3090bab999c7cf74c98a Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sun, 16 Jul 2017 00:41:17 +0800 Subject: [PATCH 159/231] gnu: go@1.8: Fix test failure. * gnu/packages/golang.scm (go-1.8)[arguments]: Escape braces in test data in 'prebuild' phase. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 70cae6d871..e2d1abbbbf 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016, 2017 Petter ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Sergei Trofimovich +;;; Copyright © 2017 Alex Vong ;;; ;;; This file is part of GNU Guix. ;;; @@ -296,6 +297,13 @@ sequential processes (CSP) concurrent programming features added.") (substitute* "../misc/cgo/testcarchive/carchive_test.go" (("#!/usr/bin/env") (string-append "#!" (which "env")))) + ;; Escape braces in test data to workaround test failure. For + ;; more information: + ;; https://github.com/golang/go/issues/20007 + ;; FIXME: remove this once we upgrade to 1.9 + (substitute* "cmd/vet/testdata/copylock_func.go" + (("struct\\{lock sync.Mutex\\}") "struct\\{lock sync.Mutex\\}")) + (substitute* "net/lookup_unix.go" (("/etc/protocols") (string-append net-base "/etc/protocols"))) (substitute* "net/port_unix.go" From 0e05269a90cafd46cdced92dfb470ffcb5fa8e43 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Jul 2017 11:46:07 +0300 Subject: [PATCH 160/231] gnu: perl-test-script: Update to 1.20. * gnu/packages/perl.scm (perl-test-script): Update to 1.20. [source]: Update uri. [propagated-inputs]: Remove probe-perl, ipc-run3, add perl-capture-tiny, perl-probe-perl. [home-page]: Update homepage. --- gnu/packages/perl.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2e40021fa1..0fd8360905 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jochem Raat -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Coypright © 2016 ng0 ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016 Roel Janssen @@ -6928,25 +6928,24 @@ If this fails, then rather than failing tests this skips all tests.") (define-public perl-test-script (package (name "perl-test-script") - (version "1.07") + (version "1.20") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/" "Test-Script-" version ".tar.gz")) (sha256 (base32 - "15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2")))) + "1msavbi6przkxq3npm90nv925v58iym9jrk677wn46x19whwzwzm")))) (build-system perl-build-system) (propagated-inputs - `(("probe-perl" ,perl-probe-perl) - ("ipc-run3" ,perl-ipc-run3))) + `(("perl-capture-tiny" ,perl-capture-tiny) + ("perl-probe-perl" ,perl-probe-perl))) (synopsis "Basic cross-platform tests for scripts") (description "The intent of the Test::Script module is to provide a series of basic tests for 80% of the testing you will need to do for scripts in the script (or bin as is also commonly used) paths of your Perl distribution.") - (home-page (string-append "http://search.cpan.org/~adamk/" - "Test-Script-" version)) + (home-page "http://search.cpan.org/dist/Test-Script") (license (package-license perl)))) (define-public perl-test-sharedfork From 1a651aa73c23edbb2395f63238122210b4f70d04 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Jul 2017 11:57:04 +0300 Subject: [PATCH 161/231] gnu: perl-unicode-utf8: Update to 0.62. * gnu/packages/perl.scm (perl-unicode-utf8): Update to 0.62. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0fd8360905..58d9d85089 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7776,14 +7776,14 @@ defined by Annex #11 is used to determine breaking positions.") (define-public perl-unicode-utf8 (package (name "perl-unicode-utf8") - (version "0.60") + (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHANSEN/" "Unicode-UTF8-" version ".tar.gz")) (sha256 (base32 - "1g3fp47slsk7wbz3189kpg342lfs7lpsy570jxnx7s9v59dg5k7n")))) + "1xnhazbdvpyfpnxd90krzhxkvabf8fa2ji6xzlrf75j6nz8251zs")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) From 72095389fcfa3fbea1f671264fc8efc608387197 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Jul 2017 13:04:50 +0300 Subject: [PATCH 162/231] gnu: perl-file-homedir: Update to 1.002. * gnu/packages/perl.scm (perl-file-homedir): Update to 1.002. [source]: Update to new uri. [propagated-inputs]: Remove perl-file-temp. --- gnu/packages/perl.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 58d9d85089..73bc91cc76 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2962,19 +2962,18 @@ provide a quick dropin when such functionality is needed.") (define-public perl-file-homedir (package (name "perl-file-homedir") - (version "1.00") + (version "1.002") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "File-HomeDir-" version ".tar.gz")) (sha256 (base32 - "0hvihydd0y4gdxafi8dpybk9ll8q35bz5ycibfic0gh92cslzfc5")))) + "0x62hn8rc7ninf9nlp69h61yh21g4cbq2g81sh64cf2ify2hqk7b")))) (build-system perl-build-system) (propagated-inputs - `(("perl-file-which" ,perl-file-which) - ("perl-file-temp" ,perl-file-temp))) + `(("perl-file-which" ,perl-file-which))) (arguments `(#:tests? #f)) ;Not appropriate for chroot (home-page "http://search.cpan.org/dist/File-HomeDir") (synopsis "Find your home and other directories on any platform") From 588bd05fcee63e6f3c141403d444e0ac4ef4ecdf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Jul 2017 13:36:19 +0300 Subject: [PATCH 163/231] gnu: perl-datetime-format-w3cdtf: Update to 0.07. * gnu/packages/perl.scm (perl-datetime-format-w3cdtf): Update to 0.07. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 73bc91cc76..eb61342a50 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2158,14 +2158,14 @@ This module parses and emits such dates.") (define-public perl-datetime-format-w3cdtf (package (name "perl-datetime-format-w3cdtf") - (version "0.06") + (version "0.07") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GW/GWILLIAMS/" "DateTime-Format-W3CDTF-" version ".tar.gz")) (sha256 (base32 - "0ymxizwd2zfx8b4bmrmv4k439qwfwf2522jrvn4hlay5v6z459dr")))) + "0s32lb1k80p3b3sb7w234zgxnrmadrwbcg41lhaal7dz3dk2p839")))) (build-system perl-build-system) (inputs `(("perl-datetime" ,perl-datetime))) From 679899990d4cda9b7af6f8e4753d727e41c0f65c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 17 Jul 2017 12:43:41 +0300 Subject: [PATCH 164/231] gnu: perl-file-find-rule-perl: Update to 1.15. * gnu/packages/perl.scm (perl-file-find-rule-perl): Update to 1.15. [source]: Update source uri. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index eb61342a50..2672c229e6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2915,15 +2915,15 @@ directories.") (define-public perl-file-find-rule-perl (package (name "perl-file-find-rule-perl") - (version "1.13") + (version "1.15") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "File-Find-Rule-Perl-" version ".tar.gz")) (sha256 (base32 - "0xi4ppqr6r57l5xlkwxpvkvpb9p7dvz053d76v2m9pwdfxqb5v6j")))) + "19iy8spzrvh71x33b5yi16wjw5jjvs12jvjj0f7f3370hqzl6j4s")))) (build-system perl-build-system) (propagated-inputs `(("perl-file-find-rule" ,perl-file-find-rule) From 44455ab95187b029d551d5c4d5a89ea07efc9d69 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 17 Jul 2017 12:48:14 +0300 Subject: [PATCH 165/231] gnu: perl-file-remove: Update to 1.57. * gnu/packages/perl.scm (perl-file-remove): Update to 1.57. [source]: Update source uri. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2672c229e6..3cae8dfa8f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3065,15 +3065,15 @@ matching a regular expression.") (define-public perl-file-remove (package (name "perl-file-remove") - (version "1.52") + (version "1.57") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "File-Remove-" version ".tar.gz")) (sha256 (base32 - "1p8bal9qhwkjbghivxn1d5m3qdj2qwm1agrjbmakm6la9dbxqm21")))) + "1b814lw181kkqh6c1n4p2zlzzsq6ic5pfpr831nphf2w2rhcvgmk")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/File-Remove") (synopsis "Remove files and directories in Perl") From 920f2c42ce3345dc1355a41377ebf01a33fdae51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Jul 2017 14:07:17 +0200 Subject: [PATCH 166/231] gnu: guile: Make relocatable patch version-independent. * gnu/packages/patches/guile-relocatable.patch: Use SCM_EFFECTIVE_VERSION instead of "2.0". --- gnu/packages/patches/guile-relocatable.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/patches/guile-relocatable.patch b/gnu/packages/patches/guile-relocatable.patch index 2431495f24..95bddcce88 100644 --- a/gnu/packages/patches/guile-relocatable.patch +++ b/gnu/packages/patches/guile-relocatable.patch @@ -35,11 +35,11 @@ location of the `guile' binary, allowing it to be relocated. + + module_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); + strcpy (module_dir, prefix); -+ strcat (module_dir, "/share/guile/2.0"); ++ strcat (module_dir, "/share/guile/" SCM_EFFECTIVE_VERSION); + + ccache_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); + strcpy (ccache_dir, prefix); -+ strcat (ccache_dir, "/lib/guile/2.0/ccache"); ++ strcat (ccache_dir, "/lib/guile/" SCM_EFFECTIVE_VERSION "/ccache"); + env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_PATH")); if (env && strcmp (env, "") == 0) From 2acfe022a740f79b593348cc6362cc4ee8f33bb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Jul 2017 14:08:31 +0200 Subject: [PATCH 167/231] gnu: guile-static-stripped: Update to 2.2. * gnu/packages/make-bootstrap.scm (%guile-static): Replace GUILE-2.0 with GUILE-2.2. Use "guile-2.2-default-utf8.patch" instead of "guile-default-utf8.patch". * gnu/packages/patches/guile-2.2-default-utf8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/make-bootstrap.scm | 30 +++---- .../patches/guile-2.2-default-utf8.patch | 78 +++++++++++++++++++ 3 files changed, 94 insertions(+), 15 deletions(-) create mode 100644 gnu/packages/patches/guile-2.2-default-utf8.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e1e14fdf9..8b3caac629 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -657,6 +657,7 @@ dist_patch_DATA = \ %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ + %D%/packages/patches/guile-2.2-default-utf8.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 844b110eb1..492ccb8114 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -502,23 +502,23 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; .scm and .go files relative to its installation directory, rather ;; than in hard-coded configure-time paths. (let* ((patches (cons* (search-patch "guile-relocatable.patch") - (search-patch "guile-default-utf8.patch") + (search-patch "guile-2.2-default-utf8.patch") (search-patch "guile-linux-syscalls.patch") - (origin-patches (package-source guile-2.0)))) - (source (origin (inherit (package-source guile-2.0)) + (origin-patches (package-source guile-2.2)))) + (source (origin (inherit (package-source guile-2.2)) (patches patches))) - (guile (package (inherit guile-2.0) - (name (string-append (package-name guile-2.0) "-static")) + (guile (package (inherit guile-2.2) + (name (string-append (package-name guile-2.2) "-static")) (source source) (synopsis "Statically-linked and relocatable Guile") ;; Remove the 'debug' output (see above for the reason.) - (outputs (delete "debug" (package-outputs guile-2.0))) + (outputs (delete "debug" (package-outputs guile-2.2))) (propagated-inputs `(("bdw-gc" ,libgc) ,@(alist-delete "bdw-gc" - (package-propagated-inputs guile-2.0)))) + (package-propagated-inputs guile-2.2)))) (arguments `(;; When `configure' checks for ltdl availability, it ;; doesn't try to link using libtool, and thus fails @@ -534,7 +534,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (("^guile_LDFLAGS =") "guile_LDFLAGS = -all-static") - ;; Add `-ldl' *after* libguile-2.0.la. + ;; Add `-ldl' *after* libguile-2.2.la. (("^guile_LDADD =(.*)$" _ ldadd) (string-append "guile_LDADD = " (string-trim-right ldadd) @@ -561,13 +561,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (out (assoc-ref %outputs "out")) (guile1 (string-append in "/bin/guile")) (guile2 (string-append out "/bin/guile"))) - (mkdir-p (string-append out "/share/guile/2.0")) - (copy-recursively (string-append in "/share/guile/2.0") - (string-append out "/share/guile/2.0")) + (mkdir-p (string-append out "/share/guile/2.2")) + (copy-recursively (string-append in "/share/guile/2.2") + (string-append out "/share/guile/2.2")) - (mkdir-p (string-append out "/lib/guile/2.0/ccache")) - (copy-recursively (string-append in "/lib/guile/2.0/ccache") - (string-append out "/lib/guile/2.0/ccache")) + (mkdir-p (string-append out "/lib/guile/2.2/ccache")) + (copy-recursively (string-append in "/lib/guile/2.2/ccache") + (string-append out "/lib/guile/2.2/ccache")) (mkdir (string-append out "/bin")) (copy-file guile1 guile2) diff --git a/gnu/packages/patches/guile-2.2-default-utf8.patch b/gnu/packages/patches/guile-2.2-default-utf8.patch new file mode 100644 index 0000000000..3233388874 --- /dev/null +++ b/gnu/packages/patches/guile-2.2-default-utf8.patch @@ -0,0 +1,78 @@ +This hack makes Guile default to UTF-8. This avoids calls to +`iconv_open'; `iconv_open' tries to open shared objects that aren't +available during bootstrap, so using UTF-8 avoids that (and UTF-8 has +built-in conversions in glibc, too.) + +diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c +index 7cd753009..de92653a4 100644 +--- a/libguile/bytevectors.c ++++ b/libguile/bytevectors.c +@@ -1918,7 +1918,7 @@ utf_encoding_name (char *name, size_t utf_width, SCM endianness) + if (scm_i_is_narrow_string (str)) \ + { \ + err = mem_iconveh (scm_i_string_chars (str), c_strlen, \ +- "ISO-8859-1", c_utf_name, \ ++ "UTF-8", c_utf_name, \ + iconveh_question_mark, NULL, \ + &c_utf, &c_utf_len); \ + if (SCM_UNLIKELY (err)) \ +diff --git a/libguile/ports.c b/libguile/ports.c +index 2a25cd58e..bdaf921ca 100644 +--- a/libguile/ports.c ++++ b/libguile/ports.c +@@ -959,7 +959,9 @@ canonicalize_encoding (const char *enc) + char *ret; + int i; + +- if (!enc || encoding_matches (enc, sym_ISO_8859_1)) ++ if (enc == NULL) ++ return sym_UTF_8; ++ if (encoding_matches (enc, sym_ISO_8859_1)) + return sym_ISO_8859_1; + if (encoding_matches (enc, sym_UTF_8)) + return sym_UTF_8; +@@ -4182,7 +4184,7 @@ scm_init_ports (void) + scm_c_define ("%default-port-conversion-strategy", + scm_make_fluid_with_default (sym_substitute)); + /* Use the locale as the default port encoding. */ +- scm_i_set_default_port_encoding (locale_charset ()); ++ scm_i_set_default_port_encoding ("UTF-8"); + + scm_c_register_extension ("libguile-" SCM_EFFECTIVE_VERSION, + "scm_init_ice_9_ports", +diff --git a/libguile/strings.c b/libguile/strings.c +index 5c49e33d8..0131e6dc8 100644 +--- a/libguile/strings.c ++++ b/libguile/strings.c +@@ -1561,7 +1561,7 @@ scm_i_default_string_failed_conversion_handler (void) + SCM + scm_from_locale_stringn (const char *str, size_t len) + { +- return scm_from_stringn (str, len, locale_charset (), ++ return scm_from_stringn (str, len, "UTF-8", + scm_i_default_string_failed_conversion_handler ()); + } + +@@ -1885,7 +1885,7 @@ char * + scm_to_locale_stringn (SCM str, size_t *lenp) + { + return scm_to_stringn (str, lenp, +- locale_charset (), ++ "UTF-8", + scm_i_default_string_failed_conversion_handler ()); + } + +@@ -2216,11 +2216,11 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, + len = 0; + enc = encoding; + if (enc == NULL) +- enc = "ISO-8859-1"; ++ enc = "UTF-8"; + if (scm_i_is_narrow_string (str)) + { + ret = mem_iconveh (scm_i_string_chars (str), ilen, +- "ISO-8859-1", enc, ++ "UTF-8", enc, + (enum iconv_ilseq_handler) handler, NULL, + &buf, &len); + From ef03d8dc3724caf59c7ea4a551084ddc601e4597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Jul 2017 15:29:45 +0200 Subject: [PATCH 168/231] syscalls: Delay resolution of "scm_set_automatic_finalization_enabled". * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!) [guile-2.2]: Wrap in 'delay'. --- guix/build/syscalls.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 549612fa3c..41208e32a8 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -725,15 +725,19 @@ mounted at FILE." (cond-expand (guile-2.2 (define %set-automatic-finalization-enabled?! - (let ((proc (pointer->procedure int - (dynamic-func - "scm_set_automatic_finalization_enabled" - (dynamic-link)) - (list int)))) + ;; When using a statically-linked Guile, for instance in the initrd, we + ;; cannot resolve this symbol, but most of the time we don't need it + ;; anyway. Thus, delay it. + (let ((proc (delay + (pointer->procedure int + (dynamic-func + "scm_set_automatic_finalization_enabled" + (dynamic-link)) + (list int))))) (lambda (enabled?) "Switch on or off automatic finalization in a separate thread. Turning finalization off shuts down the finalization thread as a side effect." - (->bool (proc (if enabled? 1 0)))))) + (->bool ((force proc) (if enabled? 1 0)))))) (define-syntax-rule (without-automatic-finalization exp) "Turn off automatic finalization within the dynamic extent of EXP." From 47ce813f7d94ab8b457a2212dff69b8ed2922b1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Jul 2017 22:37:30 +0200 Subject: [PATCH 169/231] tests: ssh: Use 'guile-ssh'. * gnu/tests/ssh.scm (run-ssh-test): Use GUILE-SSH instead of GUILE2.0-SSH. --- gnu/tests/ssh.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index 9c83a9cd48..0d2b842071 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -51,7 +51,7 @@ When SFTP? is true, run an SFTP server test." (eval-when (expand load eval) ;; Prepare to use Guile-SSH. (set! %load-path - (cons (string-append #+guile2.0-ssh "/share/guile/site/" + (cons (string-append #+guile-ssh "/share/guile/site/" (effective-version)) %load-path))) From b7158b767b7fd9f0379dfe08083c48a0cf0f3d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 Jul 2017 22:59:18 +0200 Subject: [PATCH 170/231] gnu: guile-bash: Add dependency on the "full" Bash. Fixes a regression introduced in 704243e0c6ec5ac86e2f45aaa469717e60b89124. * gnu/packages/guile.scm (guile-bash)[native-inputs]: Add BASH. --- gnu/packages/guile.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f86d7ead80..d077ae992a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1698,7 +1698,11 @@ dictionary and suggesting spelling corrections.") ("automake" ,automake) ("libtool" ,libtool) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. - ("gettext" ,gettext-minimal))) + ("gettext" ,gettext-minimal) + + ;; Bash with loadable module support, for the test + ;; suite. + ("bash-full" ,bash))) (inputs `(("guile" ,guile-2.0) ("bash:include" ,bash "include"))) (synopsis "Extend Bash using Guile") From d3dce32216905a3beab6cdc6ba444d92f934ea29 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sun, 23 Jul 2017 22:35:52 +1000 Subject: [PATCH 171/231] gnu: metabat: Fix boost-related compilation issue. Reported by Leo Famulari. * gnu/packages/patches/metabat-fix-boost-issue.patch: New file. * gnu/packages/bioinformatics.scm (metabat): Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 3 ++- .../patches/metabat-fix-boost-issue.patch | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/metabat-fix-boost-issue.patch diff --git a/gnu/local.mk b/gnu/local.mk index f01ed62ff9..acfd2af36f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -822,6 +822,7 @@ dist_patch_DATA = \ %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ %D%/packages/patches/metabat-remove-compilation-date.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ + %D%/packages/patches/metabat-fix-boost-issue.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3b4cc359ee..60beed8fb3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3480,7 +3480,8 @@ form of assemblies or reads.") (base32 "0ll00l81aflscgggs5nfhj12cbvdiz3gg7f7n5f537a3xhx60vn9")) (patches (search-patches "metabat-remove-compilation-date.patch" - "metabat-fix-compilation.patch")))) + "metabat-fix-compilation.patch" + "metabat-fix-boost-issue.patch")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/metabat-fix-boost-issue.patch b/gnu/packages/patches/metabat-fix-boost-issue.patch new file mode 100644 index 0000000000..3382d84d66 --- /dev/null +++ b/gnu/packages/patches/metabat-fix-boost-issue.patch @@ -0,0 +1,27 @@ +This patch fixes the issue described at +https://bitbucket.org/berkeleylab/metabat/issues/28/compilation-fail-with-boost-164 + +diff --git a/src/metabat.h b/src/metabat.h +index 32ae94c..2292c04 100644 +--- a/src/metabat.h ++++ b/src/metabat.h +@@ -35,6 +35,7 @@ KSEQ_INIT(gzFile, gzread) + + #include + #include ++#include + #include + #include + #include +diff --git a/src/metabat2.h b/src/metabat2.h +index 60a9998..19fa815 100644 +--- a/src/metabat2.h ++++ b/src/metabat2.h +@@ -41,6 +41,7 @@ KSEQ_INIT(gzFile, gzread) + + #include + #include ++#include + #include + #include + #include From e2f24597a9da51ba6739f4fdb44217b41a8bab84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jul 2017 16:33:54 +0200 Subject: [PATCH 172/231] gnu: perl-regexp-common: Update to 2017060201. * gnu/packages/perl.scm (perl-regexp-common): Update to 2017060201. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3cae8dfa8f..6bf82eb61a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5642,14 +5642,14 @@ variables that should not be changed.") (define-public perl-regexp-common (package (name "perl-regexp-common") - (version "2013031301") + (version "2017060201") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" "Regexp-Common-" version ".tar.gz")) (sha256 (base32 - "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj")))) + "16q8d7mx0c4nbjrvj69jdn4q33d1k40imgxn83h11wq6xqx8a1zf")))) (build-system perl-build-system) (synopsis "Provide commonly requested regular expressions") (description From 23212bf9e68d53c18343149eeea9c436ab6f4f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jul 2017 16:36:13 +0200 Subject: [PATCH 173/231] gnu: perl: Work around "dotless @INC" build issues. * gnu/packages/perl.scm (perl-task-weaken)[arguments]: New field. (perl-unicode-normalize): Likewise. * gnu/packages/web.scm (perl-http-server-simple)[arguments]: Add #:phases. --- gnu/packages/perl.scm | 20 +++++++++++++++++++- gnu/packages/web.scm | 11 ++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6bf82eb61a..d9f5fe1377 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015, 2016 Eric Bavier @@ -6161,6 +6161,15 @@ of a system.") (base32 "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7")))) (build-system perl-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'configure 'set-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (home-page "http://search.cpan.org/dist/Task-Weaken") (synopsis "Ensure that a platform has weaken support") (description "One recurring problem in modules that use Scalar::Util's @@ -7722,6 +7731,15 @@ common serialisation formats such as JSON or CBOR.") (base32 "0v04bcyjfcfap4kfpc8q3ikq3j7s68nym4ckw3iasmmksdskmcq0")))) (build-system perl-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'configure 'set-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (home-page "http://search.cpan.org/dist/Unicode-Normalize") (synopsis "Unicode normalization forms") (description "This Perl module provides Unicode normalization forms.") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 69a979eaef..e9c5021617 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2515,7 +2515,16 @@ environment from an HTTP::Request.") (arguments ;; See the discussion of a related tests issue at ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00346.html - `(#:tests? #f)) + `(#:tests? #f + + #:phases (modify-phases %standard-phases + (add-before 'configure 'set-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (home-page "http://search.cpan.org/dist/HTTP-Server-Simple") (synopsis "Lightweight HTTP server") (description "HTTP::Server::Simple is a simple standalone HTTP daemon with From 3e6add96c52fc6c92acc9bb5da3eb5a208c90a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jul 2017 17:11:30 +0200 Subject: [PATCH 174/231] gnu: gnome-mime-data: Do not use the bundled intltool. * gnu/packages/gnome.scm (gnome-mime-data)[arguments]: New field. --- gnu/packages/gnome.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8a9ddf62c7..b560fe816a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1288,6 +1288,17 @@ is intended for user preferences; not arbitrary data storage.") (native-inputs `(("perl" ,perl) ("intltool" ,intltool))) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'configure 'use-our-intltool + (lambda _ + ;; Do not use the bundled intltool commands, which lack + ;; the "dotless @INC" fixes of our 'intltool' package. + (substitute* (find-files "." "^Makefile$") + (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool) + (string-append "INTLTOOL_" tool " = intltool-" + (string-downcase tool) "\n"))) + #t))))) (home-page "http://www.gnome.org") (synopsis "Base MIME and Application database for GNOME") (description "GNOME Mime Data is a module which contains the base MIME From dc4f697f01848019b61ead5e548a4a7aa1a5d97c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jul 2017 17:24:17 +0200 Subject: [PATCH 175/231] gnu: python-pexpect: Add dependency on the full Bash. Fixes a regression introduced in 704243e0c6ec5ac86e2f45aaa469717e60b89124. * gnu/packages/python.scm (python-pexpect)[native-inputs]: Add BASH. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e9196b949e..c903de4c36 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5237,7 +5237,8 @@ cluster without needing to write any wrapper code yourself.") `(("python-nose" ,python-nose) ("python-pytest" ,python-pytest-3.0) ("man-db" ,man-db) - ("which" ,which))) + ("which" ,which) + ("bash-full" ,bash))) ;full Bash for 'test_replwrap.py' (propagated-inputs `(("python-ptyprocess" ,python-ptyprocess))) (home-page "http://pexpect.readthedocs.org/") From 1627ca0494c7ea9cb32731451eac87cf6439c82c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 24 Jul 2017 22:32:00 +0300 Subject: [PATCH 176/231] gnu: perl-context-preserve: Update to 0.02. * gnu/packages/perl.scm (perl-context-preserve): Update to 0.02. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d9f5fe1377..42ac911787 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1286,7 +1286,7 @@ and writing of @code{.ini}-style configuration files.") (define-public perl-context-preserve (package (name "perl-context-preserve") - (version "0.01") + (version "0.02") (source (origin (method url-fetch) @@ -1294,7 +1294,7 @@ and writing of @code{.ini}-style configuration files.") "Context-Preserve-" version ".tar.gz")) (sha256 (base32 - "0gssillawjknqks81x7fg7w2x94bnyklgd8ry2pr1k6ifkjhwz46")))) + "0qkjj1qifr87zlfpfnn21gdyrpfgilh8zp3b53008m2ax02k87gc")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception) From f6062e5432586815dfc2af492a51528b9b5ab710 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 24 Jul 2017 22:32:48 +0300 Subject: [PATCH 177/231] gnu: perl-data-dumper-concise: Update to 2.023. * gnu/packages/perl.scm (perl-data-dumper-concise): Update to 2.023. [source]: Update source uri. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 42ac911787..02670724ed 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1518,15 +1518,15 @@ code that, when \"eval\"ed, produces a deep copy of the original arguments.") (define-public perl-data-dumper-concise (package (name "perl-data-dumper-concise") - (version "2.022") + (version "2.023") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Data-Dumper-Concise-" version ".tar.gz")) (sha256 (base32 - "0z7vxgk1f2kw2zpiimdsyf7jq9f4s5dhh3dlimq5yrirypnk03sc")))) + "0lsqbl1mxhkj0qnjfa1jrvx8wwbyi81bgwfyj1si6cdg7h8jzhm6")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Data-Dumper-Concise") (synopsis "Concise data dumper") From 360f6927838b74e66b8e56341db96cd661131b9f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 26 Jul 2017 09:10:11 +0300 Subject: [PATCH 178/231] gnu: perl-anyevent: Update to 7.14. * gnu/packages/libevent.scm (perl-anyevent): Update to 7.14. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index bda15393f6..4f6064e939 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -163,14 +163,14 @@ resolution, asynchronous file system operations, and threading primitives.") (define-public perl-anyevent (package (name "perl-anyevent") - (version "7.13") + (version "7.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "AnyEvent-" version ".tar.gz")) (sha256 (base32 - "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454")))) + "0akxr9y0q9yjkl614x4clbiiayvh5a67y8gmci54plxs4p95i4sk")))) (build-system perl-build-system) (native-inputs `(("perl-canary-stability" ,perl-canary-stability))) From d39238cf3d71abaacb57317499692217bf24235c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 26 Jul 2017 12:26:04 +0200 Subject: [PATCH 179/231] gnu: synfig: Fix boost build error. * gnu/packages/animation.scm (synfig)[arguments]: Add phase "fix-boost-build-error". --- gnu/packages/animation.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 3c590950fd..faa0d17230 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -78,6 +78,16 @@ C++ @dfn{Standard Template Library} (STL).") "/lib")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-boost-build-error + ;; A chain of Boost headers leads to this error: "make_array" is + ;; not a member of "boost::serialization". This can be avoided by + ;; loading the "array_wrapper" header first. + (lambda _ + (substitute* "src/synfig/valuenodes/valuenode_dynamic.cpp" + (("#include " match) + (string-append + "#include \n" match))) + #t)) (add-after 'unpack 'adapt-to-libxml++-changes (lambda _ (substitute* "configure" From dd54d3d5dafefc5845cec118538d1e07469ca8b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 27 Jul 2017 10:20:23 +0200 Subject: [PATCH 180/231] gnu: po4a: Work around "dotless @INC" build issues. * gnu/packages/gettext.scm (po4a)[arguments]: Add build phase "set-search-path". --- gnu/packages/gettext.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 44535859cb..76c01b1e09 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -144,6 +144,13 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.") (arguments `(#:phases (modify-phases %standard-phases + (add-before 'configure 'set-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t)) ;; FIXME: One test fails as we don't have SGMLS.pm (add-before 'check 'disable-sgml-test (lambda _ From f27954a077244b783f47095710b48375dcc9b2ee Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 15:38:12 -0400 Subject: [PATCH 181/231] gnu: perl-encode-hanextra: Fix build with Perl 5.26.0. * gnu/packages/perl.scm (perl-encode-hanextra)[arguments]: Set PERL_USE_UNSAFE_INC in new 'set-env' phase. --- gnu/packages/perl.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 02670724ed..1d485c4843 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2561,6 +2561,11 @@ also known as JIS 2000.") (base32 "0fj4vd8iva2i0j6s2fyhwgr9afrvhr6gjlzi7805h257mmnb1m0z")))) (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1")))))) (home-page "http://search.cpan.org/dist/Encode-HanExtra") (synopsis "Additional Chinese encodings") (description "This Perl module provides Chinese encodings that are not From 70629b6d9a7fc48fdbe4667f99d004c9a99ba703 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 16:18:07 -0400 Subject: [PATCH 182/231] gnu: perl-feed-find: Fix build with Perl 5.26.0. * gnu/packages/web.scm (perl-feed-find)[arguments]: Set PERL_USE_UNSAFE_INC in new 'set-env' phase. --- gnu/packages/web.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e9c5021617..7baee03185 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1980,7 +1980,11 @@ with Encode::decode(locale => $string).") (build-system perl-build-system) (arguments ;; Tests expect to query files at http://stupidfool.org/perl/feeds/ - `(#:tests? #f)) + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1")))))) (inputs `(("perl-class-errorhandler" ,perl-class-errorhandler) ("perl-html-parser" ,perl-html-parser) From 201c0e72768fa92e2035512e16c17c07f308815b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 16:20:46 -0400 Subject: [PATCH 183/231] gnu: perl-gd-securityimage: Fix build with Perl 5.26.0. * gnu/packages/gd.scm (perl-gd-securityimage)[arguments]: Set PERL_USE_UNSAFE_INC in new 'set-env' phase. --- gnu/packages/gd.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index aac0f9664c..b4e6ce435b 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -154,6 +154,11 @@ you can create PNG images on the fly or modify existing files.") (base32 "1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx")))) (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1")))))) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs From ec5c986e33748be65457a18c52d169c5a622cd1b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 28 Jul 2017 00:55:23 +0200 Subject: [PATCH 184/231] gnu: perl-anyevent-i3: Update to 0.17. * gnu/packages/wm.scm (perl-anyevent-i3): Update to 0.17. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 6e458bfdef..2b6ea4f235 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -225,14 +225,14 @@ developers.") (define-public perl-anyevent-i3 (package (name "perl-anyevent-i3") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSTPLBG/" "AnyEvent-I3-" version ".tar.gz")) (sha256 (base32 - "1qwva5vmmn929l6k9wzhp4h80ad4qm4m1g2dyv4nlas624003hig")))) + "0qvd9bq16jyy7v3ma82qcnvz9j503bw0mh7h55gkjf7ir62ck0jk")))) (build-system perl-build-system) (propagated-inputs `(("perl-anyevent" ,perl-anyevent) From 5890b40bd00b51a095cf9599f3da688be96a290b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 28 Jul 2017 01:22:05 +0200 Subject: [PATCH 185/231] gnu: perl-mousex-nativetraits: Fix build with perl@5.26. * gnu/packages/perl.scm (perl-mousex-nativetraits)[native-inputs]: Add PERL-MODULE-INSTALL. --- gnu/packages/perl.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1d485c4843..08e85ed231 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5044,6 +5044,7 @@ subset of the functionality for reduced startup time.") (build-system perl-build-system) (native-inputs `(("perl-any-moose" ,perl-any-moose) + ("perl-module-install" ,perl-module-install) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-mouse" ,perl-mouse))) From 4685866a94c65c09a1358f39e9d5a629b7baa4be Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 28 Jul 2017 01:25:31 +0200 Subject: [PATCH 186/231] gnu: perl-xs-object-magic: Fix build with perl@5.26. * gnu/packages/perl.scm (perl-xs-object-magic)[native-inputs]: Add PERL-MODULE-INSTALL. --- gnu/packages/perl.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 08e85ed231..e237dba127 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7923,6 +7923,7 @@ attribute names.") (build-system perl-build-system) (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-module-install" ,perl-module-install) ("perl-test-fatal" ,perl-test-fatal))) (home-page "http://search.cpan.org/dist/XS-Object-Magic") (synopsis "Opaque, extensible XS pointer backed objects using sv_magic") From 9dab50179a221050fd40f0ecba9fa3a730a440d4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 30 Jul 2017 14:14:52 +0200 Subject: [PATCH 187/231] gnu: perl: Add missing dependencies on Module::Install. Perl 5.26 and later does not provide this module. * gnu/packages/databases.scm (perl-sql-abstract)[native-inputs]: Add PERL-MODULE-INSTALL. * gnu/packages/perl.scm (perl-moosex-emulate-class-accessor-fast, perl-file-zglob, perl-object-signature, perl-test-utf8, perl-time-duration, perl-benchmark-timer, perl-class-accessor-grouped, perl-class-c3-componentised, perl-term-encoding)[native-inputs]: Likewise. * gnu/packages/web.scm (perl-http-parser-xs, perl-uri-template, perl-www-curl)[native-inputs]: Likewise. * gnu/packages/xml.scm (perl-xml-atom)[native-inputs]: Likewise. --- gnu/packages/databases.scm | 3 ++- gnu/packages/perl.scm | 22 ++++++++++++++++++---- gnu/packages/web.scm | 5 +++++ gnu/packages/xml.scm | 1 + 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 994b8499ff..773a539e57 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1066,7 +1066,8 @@ module, and nothing else.") "17sgwq3mvqjhv3b77cnvrq60xgp8harjhlnvpwmxc914rqc5ckaz")))) (build-system perl-build-system) (native-inputs - `(("perl-test-deep" ,perl-test-deep) + `(("perl-module-install" ,perl-module-install) + ("perl-test-deep" ,perl-test-deep) ("perl-test-exception" ,perl-test-exception) ("perl-test-warn" ,perl-test-warn))) (propagated-inputs diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e237dba127..b298becdc3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -415,6 +415,8 @@ compiling the surrounding scope.") (base32 "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) ;; The optional input module Statistics::PointEstimation (from ;; Statistics-TTest) lists no license. (synopsis "Benchmarking with statistical confidence") @@ -790,7 +792,8 @@ the same mk_accessors interface.") "1zp74yv023q3macrf4rv3i82z8pkffqyhh7xk9xg8fbr63ikwqf4")))) (build-system perl-build-system) (native-inputs - `(("perl-test-exception" ,perl-test-exception))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-class-xsaccessor" ,perl-class-xsaccessor) ("perl-module-runtime" ,perl-module-runtime) @@ -861,7 +864,8 @@ supporting the same interface, but using Class::C3 to do the hard work.") "1nzav8arxll0rya7r2vp032s3acliihbb9mjlfa13rywhh77bzvl")))) (build-system perl-build-system) (native-inputs - `(("perl-test-exception" ,perl-test-exception))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-class-c3" ,perl-class-c3) ("perl-class-inspector" ,perl-class-inspector) @@ -3252,6 +3256,8 @@ shell.") (base32 "16v61rn0yimpv5kp6b20z2f1c93n5kpsyjvr0gq4w2dc43gfvc8w")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (home-page "http://search.cpan.org/dist/File-Zglob") (synopsis "Extended Unix style glob functionality") (description "@code{File::Zglob} provides a traditional Unix @code{glob} @@ -4544,7 +4550,8 @@ sentences.") "1lkn1h4sxr1483jicsgsgzclbfw63g2i2c3m4v4j9ar75yrb0kh8")))) (build-system perl-build-system) (native-inputs - `(("perl-test-exception" ,perl-test-exception))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-moose" ,perl-moose))) (home-page "http://search.cpan.org/dist/MooseX-Emulate-Class-Accessor-Fast") @@ -5207,6 +5214,8 @@ subroutine, which you can call with a value to be tested against.") (base32 "0c8l7195bjvx0v6zmkgdnxvwg7yj2zq8hi7xd25a3iikd12dc4f6")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (home-page "http://search.cpan.org/dist/Object-Signature") (synopsis "Generate cryptographic signatures for objects") (description "Object::Signature is an abstract base class that you can @@ -6245,6 +6254,8 @@ processing in Perl code.") (base32 "1k6g4q7snxggv5fdqnzw29al4mwbwg0hl0skzfnczh508qiyfx7j")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (home-page "http://search.cpan.org/dist/Term-Encoding") (synopsis "Detect encoding of the current terminal") (description "Term::Encoding is a simple module to detect the encoding of @@ -7062,6 +7073,8 @@ from boxed blocks of test code.") (base32 "0yhvf735v334qqvp9zg7i66qyk6r4cbk5s2psv93d3fdd4bindzg")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (home-page "http://search.cpan.org/dist/Test-utf8") (synopsis "UTF-8 testing in Perl") (description "This module is a collection of tests useful for dealing with @@ -7540,7 +7553,8 @@ $object->TIEHASH are avoided.") "0klg33yzb7pr9ra76s6gj5k7nravqnw2lbh022x1xwlj92f43756")))) (build-system perl-build-system) (native-inputs - `(("perl-test-pod" ,perl-test-pod) + `(("perl-module-install" ,perl-module-install) + ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (home-page "http://search.cpan.org/dist/Time-Duration") (synopsis "English expression of durations") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7baee03185..9c3373f8de 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2473,6 +2473,8 @@ supported.") (base32 "02d84xq1mm53c7jl33qyb7v5w4372vydp74z6qj0vc96wcrnhkkr")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (home-page "http://search.cpan.org/dist/HTTP-Parser-XS") (synopsis "Fast HTTP request parser") (description "HTTP::Parser::XS is a fast, primitive HTTP request/response @@ -3230,6 +3232,7 @@ methods for WebSocket URIs as it does for HTTP URIs.") (native-inputs `(("perl-test-pod-coverage" ,perl-test-pod-coverage) ("perl-test-pod" ,perl-test-pod) + ("perl-module-install" ,perl-module-install) ("perl-json" ,perl-json))) (home-page "http://search.cpan.org/dist/URI-Template") (synopsis "Object for handling URI templates") @@ -3253,6 +3256,8 @@ RFC 6570.") (build-system perl-build-system) (arguments '(#:tests? #f)) ;XXX: tests require network access + (native-inputs + `(("perl-module-install" ,perl-module-install))) (inputs `(("curl" ,curl))) (synopsis "Perl extension interface for libcurl") (description diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 28d11efdae..44fa48af8c 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -239,6 +239,7 @@ the @code{Graph} class and write it out in a specific file format.") (native-inputs `(("perl-datetime" ,perl-datetime) ;; TODO package: perl-datetime-format-atom + ("perl-module-install" ,perl-module-install) ("perl-xml-xpath" ,perl-xml-xpath))) (inputs `(("perl-class-data-inheritable" ,perl-class-data-inheritable) From 13d73c42f9c86f59525523112e3726c75faf4261 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 15:05:28 -0400 Subject: [PATCH 188/231] gnu: Add perl-file-sharedir-dist. * gnu/packages/perl.scm (perl-file-sharedir-dist): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b298becdc3..4b038a4837 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -3119,6 +3120,25 @@ correct directory, you can use File::ShareDir to find your files again after the installation.") (license (package-license perl)))) +(define-public perl-file-sharedir-dist + (package + (name "perl-file-sharedir-dist") + (version "0.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/" + "File-ShareDir-Dist-" version ".tar.gz")) + (sha256 + (base32 + "028vnjw3fdmwk540w3b07cmr93ap0s13ni2b4c7iv56mgyy6gfc1")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/File-ShareDir-Dist") + (synopsis "Locate per-dist shared files") + (description "File::ShareDir::Dist finds share directories for +distributions. It is a companion module to File::ShareDir.") + (license (package-license perl)))) + (define-public perl-file-sharedir-install (package (name "perl-file-sharedir-install") From df4fc5217fb6d1f2bd18e20f237393f08c6e9e4a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:43:08 -0400 Subject: [PATCH 189/231] gnu: Add perl-importer. * gnu/packages/perl.scm (perl-importer): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4b038a4837..d24eec3260 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3446,6 +3446,29 @@ merged.") that may contain multiple values per key, inspired by MultiDict of WebOb.") (license (package-license perl)))) +(define-public perl-importer + (package + (name "perl-importer") + (version "0.024") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Importer-" + version ".tar.gz")) + (sha256 + (base32 + "0mx50xds7iphxykbr9b0w2qki92l3gpagsdchm4ncsrnxc67c68x")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Importer/") + (synopsis "Alternative but compatible interface to modules that export symbols") + (description "This module acts as a layer between Exporter and modules which +consume exports. It is feature-compatible with Exporter, plus some much needed +extras. You can use this to import symbols from any exporter that follows +Exporters specification. The exporter modules themselves do not need to use or +inherit from the Exporter module, they just need to set @EXPORT and/or other +variables.") + (license (package-license perl)))) + (define-public perl-import-into (package (name "perl-import-into") From b51f02a94939e7f8a3d85b24f45fc0ea75d7c979 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:44:08 -0400 Subject: [PATCH 190/231] gnu: Add perl-specio. * gnu/packages/perl.scm (perl-specio): New variable. --- gnu/packages/perl.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d24eec3260..c8ea0fd5a5 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5868,6 +5868,38 @@ compact.") arrays by one or multiple calculated keys.") (license (package-license perl)))) +(define-public perl-specio + (package + (name "perl-specio") + (version "0.38") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Specio-" version ".tar.gz")) + (sha256 + (base32 + "1s5xd9awwrzc94ymimjkxqs6jq513wwlmwwarxaklvg2hk4lps0l")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-eval-closure" ,perl-eval-closure) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-role-tiny" ,perl-role-tiny) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-needs" ,perl-test-needs))) + (home-page "http://search.cpan.org/dist/Specio/") + (synopsis "Classes for representing type constraints and coercion") + (description "The Specio distribution provides classes for representing type +constraints and coercion, along with syntax sugar for declaring them. Note that +this is not a proper type system for Perl. Nothing in this distribution will +magically make the Perl interpreter start checking a value's type on assignment +to a variable. In fact, there's no built-in way to apply a type to a variable at +all. Instead, you can explicitly check a value against a type, and optionally +coerce values to that type.") + (license artistic2.0))) + (define-public perl-spiffy (package (name "perl-spiffy") From 6d6646f9326a8c5c853cd41dc74938b899f5cbd5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:44:54 -0400 Subject: [PATCH 191/231] gnu: Add perl-term-table. * gnu/packages/perl.scm (perl-term-table): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c8ea0fd5a5..e3dee0f9b2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6431,6 +6431,27 @@ other terminal related features, including retrieval/modification of the screen size, and retrieval/modification of the control characters.") (license (package-license perl)))) +(define-public perl-term-table + (package + (name "perl-term-table") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-" + version ".tar.gz")) + (sha256 + (base32 + "0gi4lyvs6n8y6hjwmflfpamfl65y7mb1g39zi0rx35nclj8xb370")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-importer" ,perl-importer))) + (home-page "http://search.cpan.org/dist/Term-Table/") + (synopsis "Format a header and rows into a table") + (description "This module is able to generically format rows of data +into tables.") + (license (package-license perl)))) + (define-public perl-test-base (package (name "perl-test-base") From 721fd1779766deb350f5d9b114d6ba167523b9ec Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:49:22 -0400 Subject: [PATCH 192/231] gnu: Add perl-sub-info. * gnu/packages/perl.scm (perl-sub-info): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e3dee0f9b2..bddcab57d5 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6092,6 +6092,27 @@ renaming exports, if they try to use them.") references.") (license (package-license perl)))) +(define-public perl-sub-info + (package + (name "perl-sub-info") + (version "0.002") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-" + version ".tar.gz")) + (sha256 + (base32 + "1snhrmc6gpw2zjnj7zvvqj69mlw711bxah6kk4dg5vxxjvb5cc7a")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-importer" ,perl-importer))) + (home-page "http://search.cpan.org/dist/Sub-Info/") + (synopsis "Tool to inspect subroutines") + (description "This package provides tools for inspecting subroutines +in Perl.") + (license (package-license perl)))) + (define-public perl-sub-install (package (name "perl-sub-install") From 9ad78b2c21738e853986281a5051158fe39d8435 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:49:57 -0400 Subject: [PATCH 193/231] gnu: Add perl-test2-bundle-extended. * gnu/packages/perl.scm (perl-test2-bundle-extended): New variable. --- gnu/packages/perl.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bddcab57d5..54f57a7cb7 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6473,6 +6473,34 @@ screen size, and retrieval/modification of the control characters.") into tables.") (license (package-license perl)))) +(define-public perl-test2-bundle-extended + (package + (name "perl-test2-bundle-extended") + (version "0.000072") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-" + version ".tar.gz")) + (sha256 + (base32 + "0hgd6n29qjh1pwqvbglm2kb852yqshmixqqjhsr2kvvibdr58qpf")))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1")))))) + (propagated-inputs + `(("perl-importer" ,perl-importer) + ("perl-term-table" ,perl-term-table) + ("perl-sub-info" ,perl-sub-info))) + (home-page "http://search.cpan.org/~exodist/Test2-Suite/lib/Test2/Bundle/Extended.pm") + (synopsis "Full set of tools for Test2::Suite") + (description "This package provides a rich set of tools, plugins, bundles, +etc built upon the Test2 testing library.") + (license (package-license perl)))) + (define-public perl-test-base (package (name "perl-test-base") From a4d6a95793b2c98fb11908d6dec85532d6df5613 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:51:38 -0400 Subject: [PATCH 194/231] gnu: Add perl-test2-plugin-nowarnings. * gnu/packages/perl.scm (perl-test2-plugin-nowarnings): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 54f57a7cb7..26ff0458fb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6501,6 +6501,28 @@ into tables.") etc built upon the Test2 testing library.") (license (package-license perl)))) +(define-public perl-test2-plugin-nowarnings + (package + (name "perl-test2-plugin-nowarnings") + (version "0.06") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-" + version ".tar.gz")) + (sha256 + (base32 + "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended))) + (home-page "http://search.cpan.org/dist/Test2-Plugin-NoWarnings/") + (synopsis "Fail if tests warn") + (description "Loading this plugin causes your tests to fail if there any +warnings while they run. Each warning generates a new failing test and the +warning content is outputted via diag.") + (license (package-license perl)))) + (define-public perl-test-base (package (name "perl-test-base") From 00ace8839690e56e9095969cf7c21f288322072e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:53:42 -0400 Subject: [PATCH 195/231] gnu: Add perl-test-file-sharedir-dist. * gnu/packages/perl.scm (perl-test-file-sharedir-dist): New variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 26ff0458fb..714c111392 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6762,6 +6762,32 @@ Test::Exception. It does much less, but should allow greater flexibility in testing exception-throwing code with about the same amount of typing.") (license (package-license perl)))) +(define-public perl-test-file-sharedir-dist + (package + (name "perl-test-file-sharedir-dist") + (version "1.001002") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/" + "Test-File-ShareDir-" version ".tar.gz")) + (sha256 + (base32 + "1bbs6cx69wcinq77gif4i4pmrj8a7lwb92sgvvxzrwmjnk5lfdmk")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-class-tiny" ,perl-class-tiny) + ("perl-file-copy-recursive" ,perl-file-copy-recursive) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-path-tiny" ,perl-path-tiny) + ("perl-scope-guard" ,perl-scope-guard) + ("perl-test-fatal" ,perl-test-fatal))) + (home-page "https://github.com/kentnl/Test-File-ShareDir") + (synopsis "Dist oriented ShareDir tester") + (description "This module creates a Fake ShareDir for your modules +for testing.") + (license (package-license perl)))) + (define-public perl-test-files (package (name "perl-test-files") From ccb38cdc8dd4d268bb345f31cfb98a7629886610 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 17:54:01 -0400 Subject: [PATCH 196/231] gnu: Add perl-params-validationcompiler. * gnu/packages/perl.scm (perl-params-validationcompiler): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 714c111392..e68b2630ed 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5485,6 +5485,36 @@ checking parameters easier.") function call parameters to an arbitrary level of specificity.") (license artistic2.0))) +(define-public perl-params-validationcompiler + (package + (name "perl-params-validationcompiler") + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Params-ValidationCompiler-" version ".tar.gz")) + (sha256 + (base32 + "11s29wd7gci4c7gcksxw7pzxfzganvr8x4f1dsww4676p93kg5m8")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-without-module" ,perl-test-without-module) + ("perl-test2-bundle-extended" ,perl-test2-bundle-extended) + ("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings))) + (propagated-inputs + `(("perl-eval-closure" ,perl-eval-closure) + ("perl-exception-class" ,perl-exception-class) + ("perl-specio" ,perl-specio))) + (home-page "https://github.com/houseabsolute/Params-ValidationCompiler") + (synopsis "Build an optimized subroutine parameter validator") + (description "This module creates a customized, highly efficient +parameter checking subroutine. It can handle named or positional +parameters, and can return the parameters as key/value pairs or a list +of values. In addition to type checks, it also supports parameter +defaults, optional parameters, and extra \"slurpy\" parameters.") + (license artistic2.0))) + (define-public perl-par-dist (package (name "perl-par-dist") From ed9543c0edc4e0e969acc5e06bf9df00b735dbed Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:59:02 -0400 Subject: [PATCH 197/231] gnu: perl-cpan-meta-check: Update to 0.014. * gnu/packages/perl.scm (perl-cpan-meta-check): Update to 0.014. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e68b2630ed..8a9feb86a4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1314,7 +1314,7 @@ the caller.") (define-public perl-cpan-meta-check (package (name "perl-cpan-meta-check") - (version "0.011") + (version "0.014") (source (origin (method url-fetch) @@ -1322,7 +1322,7 @@ the caller.") "CPAN-Meta-Check-" version ".tar.gz")) (sha256 (base32 - "0nxi0xhhd3dwhgri3l8z8gpz2ibvhm5k7jjls8xmnlh0v84p04kh")))) + "07rmdbz1rbnb7w33vswn1wixlyh947sqr93xrvcph1hwzhmmg818")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep))) (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta))) From 1c0c608566e21c00f6df910d67100312934194d9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:49:54 -0400 Subject: [PATCH 198/231] gnu: perl-file-sharedir: Update to 1.104. * gnu/packages/perl.scm (perl-file-sharedir): Update to 1.104. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8a9feb86a4..e0af46bbcd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3096,7 +3096,7 @@ accepts wildcards, * and ?, as arguments for file names.") (define-public perl-file-sharedir (package (name "perl-file-sharedir") - (version "1.102") + (version "1.104") (source (origin (method url-fetch) @@ -3104,7 +3104,7 @@ accepts wildcards, * and ?, as arguments for file names.") "File-ShareDir-" version ".tar.gz")) (sha256 (base32 - "04blqn4cms9zjmhlfvwyx6mrglaaq1mmy4xwv7xqf9c8fjwk8wvw")))) + "1bqwhk3qfg60bkpi5b83bh93sng8jx20i3ka5sixc0prrppjidh7")))) (build-system perl-build-system) (native-inputs `(("perl-file-sharedir-install" ,perl-file-sharedir-install))) From 7ab1833598958f3a1d584fd7bedf7dce158a5b7a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:50:16 -0400 Subject: [PATCH 199/231] gnu: perl-file-sharedir-install: Update to 0.11. * gnu/packages/perl.scm (perl-file-sharedir-install): Update to 0.11. [native-inputs]: Add perl-module-build. --- gnu/packages/perl.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e0af46bbcd..c3bb55d737 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3142,16 +3142,18 @@ distributions. It is a companion module to File::ShareDir.") (define-public perl-file-sharedir-install (package (name "perl-file-sharedir-install") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GW/GWYN/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "File-ShareDir-Install-" version ".tar.gz")) (sha256 (base32 - "1xz60bi7x8755lq24rx7y1jkyk3icssn7s55z665mysdxhfzg2kh")))) + "1j0cw1aq9fdv9kl1a6fnfa4zihsvmcqzy9sb0xk0i9pyx5r8ggrj")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/File-ShareDir-Install") (synopsis "Install shared files") (description "File::ShareDir::Install allows you to install read-only data From 34048030573fc502f536669574087c6c6cd44d2d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:34:03 -0400 Subject: [PATCH 200/231] gnu: perl-datetime: Update to 1.43. * gnu/packages/perl.scm (perl-datetime): Update to 1.43. [native-inputs]: Add perl-cpan-meta-check. [propagated-inputs]: Add perl-file-sharedir. --- gnu/packages/perl.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c3bb55d737..703891f831 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1793,7 +1793,7 @@ hours, minutes, seconds, and time zones.") (define-public perl-datetime (package (name "perl-datetime") - (version "1.18") + (version "1.43") (source (origin (method url-fetch) @@ -1801,15 +1801,17 @@ hours, minutes, seconds, and time zones.") "DateTime-" version ".tar.gz")) (sha256 (base32 - "0fli1ls298qa8nfki15myxqqqfpxvslxk4j5r3vjk577wfgjrnms")))) + "0xgrcqs7zza7646g81j54z3fcxb8rw11ynlfm02afr436lgfnfql")))) (build-system perl-build-system) (native-inputs - `(("perl-module-build" ,perl-module-build) + `(("perl-cpan-meta-check" ,perl-cpan-meta-check) + ("perl-module-build" ,perl-module-build) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-warnings" ,perl-test-warnings))) (propagated-inputs `(("perl-datetime-locale" ,perl-datetime-locale) ("perl-datetime-timezone" ,perl-datetime-timezone) + ("perl-file-sharedir" ,perl-file-sharedir) ("perl-params-validate" ,perl-params-validate) ("perl-try-tiny" ,perl-try-tiny))) (home-page "http://search.cpan.org/dist/DateTime") From d388e4e2929c24389c15c7a4f6f64432bb6b203a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:34:27 -0400 Subject: [PATCH 201/231] gnu: perl-datetime-set: Update to 0.3900. * gnu/packages/perl.scm (perl-datetime-set): Update to 0.3900. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 703891f831..a6773737a4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1848,7 +1848,7 @@ precise.") (define-public perl-datetime-set (package (name "perl-datetime-set") - (version "0.3400") + (version "0.3900") (source (origin (method url-fetch) @@ -1856,7 +1856,7 @@ precise.") "DateTime-Set-" version ".tar.gz")) (sha256 (base32 - "1b27699zkj68w5ll9chjhs52vmf39f9via6x5r5844as30qh9zxb")))) + "0ih9pi6myg5i26hjpmpzqn58s0yljl2qxdd6gzpy9zda4hwirx4l")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From ff3034de5d74b40c87d5f8b23868bac4eb74f7a8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:34:51 -0400 Subject: [PATCH 202/231] gnu: perl-datetime-event-local: Update to 0.13. * gnu/packages/perl.scm (perl-datetime-event-local): Update to 0.13. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a6773737a4..aef8c46595 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1875,7 +1875,7 @@ within a time range.") (define-public perl-datetime-event-ical (package (name "perl-datetime-event-ical") - (version "0.12") + (version "0.13") (source (origin (method url-fetch) @@ -1883,7 +1883,7 @@ within a time range.") "DateTime-Event-ICal-" version ".tar.gz")) (sha256 (base32 - "1rfrjhczfmasf7aaz8rfd89vhwjj2nkxlnirxxrmy75z10nmrpjk")))) + "1skmykxbrf98ldi72d5s1v6228gfdr5iy4y0gpl0xwswxy247njk")))) (build-system perl-build-system) (propagated-inputs `(("perl-datetime" ,perl-datetime) From dc8e21110abffe9e1e28a0cf9e956c9764333325 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:35:16 -0400 Subject: [PATCH 203/231] gnu: perl-datetime-event-recurrence: Update to 0.19. * gnu/packages/perl.scm (perl-datetime-event-recurrence): Update to 0.19. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index aef8c46595..e0c900a433 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1897,7 +1897,7 @@ create DateTime::Set objects for RFC 2445 style recurrences.") (define-public perl-datetime-event-recurrence (package (name "perl-datetime-event-recurrence") - (version "0.16") + (version "0.19") (source (origin (method url-fetch) @@ -1905,7 +1905,7 @@ create DateTime::Set objects for RFC 2445 style recurrences.") "DateTime-Event-Recurrence-" version ".tar.gz")) (sha256 (base32 - "02c6ky3k26r0c8r87rcsd8gbn7rd6j2pylryin8pllnrdh9f0wiq")))) + "19dms2vg9hvfx80p85m8gkn2ww0yxjrjn8qsr9k7f431lj4qfh7r")))) (build-system perl-build-system) (propagated-inputs `(("perl-datetime" ,perl-datetime) From 9e5df71e7dbd2a0817c66b42a141db82f29cfaf9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:36:03 -0400 Subject: [PATCH 204/231] gnu: perl-datetime-format-flexible: Update to 0.28. * gnu/packages/perl.scm (perl-datetime-format-flexible): Update to 0.28. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e0c900a433..ee8c415a05 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1947,7 +1947,7 @@ to do this without writing reams of structural code.") (define-public perl-datetime-format-flexible (package (name "perl-datetime-format-flexible") - (version "0.26") + (version "0.28") (source (origin (method url-fetch) @@ -1955,7 +1955,7 @@ to do this without writing reams of structural code.") "DateTime-Format-Flexible-" version ".tar.gz")) (sha256 (base32 - "0gb9dsn178dpvgbbgwnaf3v2v8zy4xj36i0w5q8qbhvwx32znvj3")))) + "1g63zs0q2x40h29r7in50c55g6kxiw3m2faw2p6c4rg74sj2k2b5")))) (build-system perl-build-system) (propagated-inputs `(("perl-datetime" ,perl-datetime) From 09d94b2babe44d6b6b0a041ff74384e1e9e270fa Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:36:36 -0400 Subject: [PATCH 205/231] gnu: perl-datetime-format-natural: Update to 1.05. * gnu/packages/perl.scm (perl-datetime-format-natural: Update to 1.05. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ee8c415a05..a98d650732 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2001,7 +2001,7 @@ order to create the appropriate objects.") (define-public perl-datetime-format-natural (package (name "perl-datetime-format-natural") - (version "1.02") + (version "1.05") (source (origin (method url-fetch) @@ -2009,7 +2009,7 @@ order to create the appropriate objects.") "DateTime-Format-Natural-" version ".tar.gz")) (sha256 (base32 - "1qq3adq1y08d0jlmwk9059s5d39hb26f3zjag099gjjyvs5c8yal")))) + "10ldrhz5rnpsd8qmqn1a4s0w5hhfbjrr13a93yx7kpp89g85pxqv")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) From e780fde51534c379dfb3e1aa590727343e7ba567 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:36:59 -0400 Subject: [PATCH 206/231] gnu: perl-datetime-format-strptime: Update to 1.73. * gnu/packages/perl.scm (perl-datetime-format-strptime): Update to 1.73. [propagated-inputs]: Add perl-package-deprecationmanager, perl-params-validate, perl-sub-name, perl-test-warnings. --- gnu/packages/perl.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a98d650732..82157c0395 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2034,7 +2034,7 @@ parsing logic.") (define-public perl-datetime-format-strptime (package (name "perl-datetime-format-strptime") - (version "1.56") + (version "1.73") (source (origin (method url-fetch) @@ -2042,13 +2042,16 @@ parsing logic.") "DateTime-Format-Strptime-" version ".tar.gz")) (sha256 (base32 - "0a4bszmff16rw6fz1yr4v9001q9vxrdxnxkj9sqaln83b87rvxig")))) + "1gmjcmvh81cla6yn2pvlkr7i25bspg90pzzsizrfb0c5xc37h1vd")))) (build-system perl-build-system) (propagated-inputs `(("perl-datetime" ,perl-datetime) ("perl-datetime-locale" ,perl-datetime-locale) ("perl-datetime-timezone" ,perl-datetime-timezone) - ("perl-params-validate" ,perl-params-validate))) + ("perl-package-deprecationmanager" ,perl-package-deprecationmanager) + ("perl-params-validate" ,perl-params-validate) + ("perl-sub-name" ,perl-sub-name) + ("perl-test-warnings" ,perl-test-warnings))) (home-page "http://search.cpan.org/dist/DateTime-Format-Strptime") (synopsis "Parse and format strp and strf time patterns") (description "This module implements most of `strptime(3)`, the POSIX From 8ec0877a6bbddf0d82fd09309a79e19bf507a115 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:37:22 -0400 Subject: [PATCH 207/231] gnu: perl-datetime-locale: Update to 1.16. * gnu/packages/perl.scm (perl-datetime-locale): Update to 1.16. [native-inputs]: Add perl-file-sharedir-install, perl-file-sharedir, perl-test-file-sharedir-dist, perl-test-warnings, perl-test-requires, perl-namespace-autoclean, perl-cpan-meta-check. [propagated-inputs]: Add perl-params-validationcompiler. Remove perl-params-validate. --- gnu/packages/perl.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 82157c0395..9d9ca0fae2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2063,7 +2063,7 @@ takes a string and a pattern and returns the `DateTime` object associated.") (define-public perl-datetime-locale (package (name "perl-datetime-locale") - (version "0.45") + (version "1.16") (source (origin (method url-fetch) @@ -2071,13 +2071,20 @@ takes a string and a pattern and returns the `DateTime` object associated.") "DateTime-Locale-" version ".tar.gz")) (sha256 (base32 - "175grkrxiv012n6ch3z1sip4zprcili6m5zqi3njdk5c1gdvi8ca")))) + "1zkc0wggbsczbj4qadahh197imr9fa6knxr10zl241lw2i14rbyz")))) (build-system perl-build-system) (native-inputs - `(("perl-module-build" ,perl-module-build))) + `(("perl-file-sharedir" ,perl-file-sharedir) + ("perl-test-file-sharedir-dist" ,perl-test-file-sharedir-dist) + ("perl-test-warnings" ,perl-test-warnings) + ("perl-test-requires" ,perl-test-requires) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-file-sharedir-install" ,perl-file-sharedir-install) + ("perl-cpan-meta-check" ,perl-cpan-meta-check) + ("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-list-moreutils" ,perl-list-moreutils) - ("perl-params-validate" ,perl-params-validate))) + ("perl-params-validationcompiler" ,perl-params-validationcompiler))) (home-page "http://search.cpan.org/dist/DateTime-Locale") (synopsis "Localization support for DateTime.pm") (description "The DateTime::Locale modules provide localization data for From 1fdf14e1702446fde33e837f40d0548fa2bd4802 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 14:37:43 -0400 Subject: [PATCH 208/231] gnu: perl-datetime-timezone: Update to 2.13. * gnu/packages/perl.scm (perl-datetime-timezone): Update to 2.13. [propagated-inputs]: Remove perl-params-validate. Add perl-namespace-autoclean, perl-params-validationcompiler. --- gnu/packages/perl.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9d9ca0fae2..4a87d0ae63 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2094,7 +2094,7 @@ the DateTime.pm class.") (define-public perl-datetime-timezone (package (name "perl-datetime-timezone") - (version "1.86") + (version "2.13") (source (origin (method url-fetch) @@ -2102,7 +2102,7 @@ the DateTime.pm class.") "DateTime-TimeZone-" version ".tar.gz")) (sha256 (base32 - "1aj5liy9as7yci2s9cqv9gqna5wggah8yg2jqrc89dnrin25s26z")))) + "1371sk4p9clygfwxzvivfqz6q9dy8gn3n4dr1424d0xqsv63jg9k")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) @@ -2111,7 +2111,8 @@ the DateTime.pm class.") `(("perl-class-singleton" ,perl-class-singleton) ("perl-list-allutils" ,perl-list-allutils) ("perl-module-runtime" ,perl-module-runtime) - ("perl-params-validate" ,perl-params-validate) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-params-validationcompiler" ,perl-params-validationcompiler) ("perl-try-tiny" ,perl-try-tiny))) (home-page "http://search.cpan.org/dist/DateTime-TimeZone") (synopsis "Time zone object for Perl") From 6484e82d4ce79b7b5ce72ecf77fb8d450eb0c401 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 27 Jul 2017 19:04:25 -0400 Subject: [PATCH 209/231] gnu: biber-next: Update to 2.7. * gnu/packages/tex.scm (biber): Update to 2.7. --- gnu/packages/tex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 601705e98a..729f9c01bf 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4059,7 +4059,7 @@ values (strings, macros, or numbers) pasted together.") (define-public biber (package (name "biber-next") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/plk/biber/archive/v" @@ -4067,7 +4067,7 @@ values (strings, macros, or numbers) pasted together.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "158smzgjhjvyabdv97si5q88zjj5l8j1zbfnddvzy6fkpfhskgkp")))) + "17wd80jg98qyddhvz4cin8779ycvppaf2va77r1lyvymjz6w9bx0")))) (build-system perl-build-system) (arguments `(#:phases From c8737b1e41f7ef5c730fb0b47c5b478ab58b2341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 3 Aug 2017 22:46:14 +0200 Subject: [PATCH 210/231] gnu: icedtea@3.5.0: Properly handle decoding error while substituting. * gnu/packages/java.scm (icedtea-8)[arguments] : Change 'encoding-error to 'decoding-error, which is what Guile 2.2 raises when failing to decode an input file. --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5744db6ebc..47dd4f256b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1602,7 +1602,7 @@ IcedTea build harness.") (string-append "lib" name ".so"))))) (for-each (lambda (file) - (catch 'encoding-error + (catch 'decoding-error (lambda () (substitute* file (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" From 90ea83ee95ad467fc4a49f4c42d0df94d2952330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 5 Aug 2017 00:02:55 +0200 Subject: [PATCH 211/231] gnu: bluez: Work around test failure on ARM. This aims to skip the segfaulting test at . * gnu/packages/linux.scm (bluez)[arguments]: Add #:make-flags when (%current-system) is "armhf-linux". --- gnu/packages/linux.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 915b4a203b..0ee0a5acd0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2975,7 +2975,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") "1sb4aflgyrl7apricjipa8wx95qm69yja0lmn2f19g560c3v1b2c")))) (build-system gnu-build-system) (arguments - '(#:configure-flags + `(#:configure-flags (let ((out (assoc-ref %outputs "out"))) (list "--sysconfdir=/etc" "--localstatedir=/var" @@ -3004,7 +3004,12 @@ Bluetooth audio output devices like headphones or loudspeakers.") (string-append out "/lib/udev/hid2hci --method")) (("/sbin/udevadm") (string-append (assoc-ref inputs "eudev") "/bin/udevadm"))) - #t)))))) + #t)))) + + ;; FIXME: Skip one test that segfaults on ARM. + ,@(if (string=? (%current-system) "armhf-linux") + '(#:make-flags '("XFAIL_TESTS=unit/test-gatt")) + '()))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal))) From 240d3ceff78464a160d099adfb6463f4f17d6616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 5 Aug 2017 00:12:17 +0200 Subject: [PATCH 212/231] gnu: python-argcomplete: Add dependency on the full Bash. Fixes a regression introduced in 704243e0c6ec5ac86e2f45aaa469717e60b89124. * gnu/packages/python.scm (python-argcomplete)[native-inputs]: Add BASH. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ee2743b028..f8300a1752 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13500,7 +13500,8 @@ specs from your Flask-Restful projects.") (build-system python-build-system) (native-inputs `(("python-pexpect" ,python-pexpect) - ("tcsh" ,tcsh))) + ("tcsh" ,tcsh) + ("bash-full" ,bash))) ;full Bash for 'test_file_completion' (home-page "https://github.com/kislyuk/argcomplete") (synopsis "Shell tab completion for Python argparse") (description "argcomplete provides extensible command line tab completion From a56bf101c603aac3c7e2fc47bd8bd025f2ed44a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 5 Aug 2017 00:11:41 +0200 Subject: [PATCH 213/231] gnu: perl: Work around more "dotless @INC" build issues. * gnu/packages/web.scm (perl-www-curl)[arguments]: Add 'set-search-path' phase. * gnu/packages/bioinformatics.scm (ngs-sdk)[arguments]: Augment 'configure' phase to set PERL5LIB. * gnu/packages/image.scm (steghide)[arguments]: Add #:phases argument. --- gnu/packages/bioinformatics.scm | 4 ++++ gnu/packages/image.scm | 11 ++++++++++- gnu/packages/web.scm | 11 ++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6bbbe33784..2b4b400c19 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4680,6 +4680,10 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.") 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) + ;; Allow 'konfigure.perl' to find 'package.prl'. + (setenv "PERL5LIB" + (string-append ".:" (getenv "PERL5LIB"))) + ;; The 'configure' script doesn't recognize things like ;; '--enable-fast-install'. (zero? (system* "./configure" diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1b230b5700..5bc9a77174 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -986,7 +986,16 @@ differences in file encoding, image quality, and other small variations.") ("libjpeg" ,libjpeg) ("zlib" ,zlib))) (arguments - `(#:make-flags '("CXXFLAGS=-fpermissive"))) ;required for MHashPP.cc + `(#:make-flags '("CXXFLAGS=-fpermissive") ;required for MHashPP.cc + + #:phases (modify-phases %standard-phases + (add-before 'configure 'set-perl-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) "/tests:" + (getenv "PERL5LIB"))) + #t))))) (home-page "http://steghide.sourceforge.net") (synopsis "Image and audio steganography") (description diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 695b7a3b54..096d05c167 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3249,7 +3249,16 @@ RFC 6570.") "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj")))) (build-system perl-build-system) (arguments - '(#:tests? #f)) ;XXX: tests require network access + '(#:tests? #f ;XXX: tests require network access + + #:phases (modify-phases %standard-phases + (add-before 'configure 'set-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (native-inputs `(("perl-module-install" ,perl-module-install))) (inputs `(("curl" ,curl))) From e3df6938acc2ba2d2f7333d911b8bdc3697f0f75 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 6 Aug 2017 00:01:10 -0400 Subject: [PATCH 214/231] gnu: libtasn1: Add replacement to fix CVE-2017-10790. Based on commit 01a61d7040b1794f36547b107abce6e967d59f21 by Leo Famulari . * gnu/packages/patches/libtasn1-CVE-2017-10790.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tls.scm (libtasn1)[replacement]: New field. (libtasn1/fixed): New variable. --- gnu/local.mk | 3 +- .../patches/libtasn1-CVE-2017-10790.patch | 63 +++++++++++++++++++ gnu/packages/tls.scm | 10 ++- 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/libtasn1-CVE-2017-10790.patch diff --git a/gnu/local.mk b/gnu/local.mk index 37ee7f7307..3f27a5f973 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2,7 +2,7 @@ # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès # Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge # Copyright © 2016 Mathieu Lirzin -# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver +# Copyright © 2013, 2014, 2015, 2016, 2017 Mark H Weaver # Copyright © 2016 Chris Marusich # Copyright © 2016, 2017 Kei Kebreau # Copyright © 2016, 2017 Rene Saavedra @@ -767,6 +767,7 @@ dist_patch_DATA = \ %D%/packages/patches/libssh-hostname-parser-bug.patch \ %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ + %D%/packages/patches/libtasn1-CVE-2017-10790.patch \ %D%/packages/patches/libtheora-config-guess.patch \ %D%/packages/patches/libtiff-CVE-2016-10688.patch \ %D%/packages/patches/libtiff-CVE-2017-9936.patch \ diff --git a/gnu/packages/patches/libtasn1-CVE-2017-10790.patch b/gnu/packages/patches/libtasn1-CVE-2017-10790.patch new file mode 100644 index 0000000000..6cec0c8030 --- /dev/null +++ b/gnu/packages/patches/libtasn1-CVE-2017-10790.patch @@ -0,0 +1,63 @@ +Fix CVE-2017-10790: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10790 + +Patch copied from upstream source repository: + +https://git.savannah.nongnu.org/cgit/libtasn1.git/commit/?id=d8d805e1f2e6799bb2dff4871a8598dc83088a39 + +From d8d805e1f2e6799bb2dff4871a8598dc83088a39 Mon Sep 17 00:00:00 2001 +From: Nikos Mavrogiannopoulos +Date: Thu, 22 Jun 2017 16:31:37 +0200 +Subject: [PATCH] _asn1_check_identifier: safer access to values read + +Signed-off-by: Nikos Mavrogiannopoulos +--- + lib/parser_aux.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/lib/parser_aux.c b/lib/parser_aux.c +index 976ab38..786ea64 100644 +--- a/lib/parser_aux.c ++++ b/lib/parser_aux.c +@@ -955,7 +955,7 @@ _asn1_check_identifier (asn1_node node) + if (p2 == NULL) + { + if (p->value) +- _asn1_strcpy (_asn1_identifierMissing, p->value); ++ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p->value); + else + _asn1_strcpy (_asn1_identifierMissing, "(null)"); + return ASN1_IDENTIFIER_NOT_FOUND; +@@ -968,9 +968,15 @@ _asn1_check_identifier (asn1_node node) + if (p2 && (type_field (p2->type) == ASN1_ETYPE_DEFAULT)) + { + _asn1_str_cpy (name2, sizeof (name2), node->name); +- _asn1_str_cat (name2, sizeof (name2), "."); +- _asn1_str_cat (name2, sizeof (name2), (char *) p2->value); +- _asn1_strcpy (_asn1_identifierMissing, p2->value); ++ if (p2->value) ++ { ++ _asn1_str_cat (name2, sizeof (name2), "."); ++ _asn1_str_cat (name2, sizeof (name2), (char *) p2->value); ++ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value); ++ } ++ else ++ _asn1_strcpy (_asn1_identifierMissing, "(null)"); ++ + p2 = asn1_find_node (node, name2); + if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID) || + !(p2->type & CONST_ASSIGN)) +@@ -990,7 +996,8 @@ _asn1_check_identifier (asn1_node node) + _asn1_str_cpy (name2, sizeof (name2), node->name); + _asn1_str_cat (name2, sizeof (name2), "."); + _asn1_str_cat (name2, sizeof (name2), (char *) p2->value); +- _asn1_strcpy (_asn1_identifierMissing, p2->value); ++ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value); ++ + p2 = asn1_find_node (node, name2); + if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID) + || !(p2->type & CONST_ASSIGN)) +-- +2.13.3 + diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 5a94ac6198..7ee341e99b 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès -;;; Copyright © 2014, 2015, 2016 Mark H Weaver +;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015 David Thompson @@ -55,6 +55,7 @@ (package (name "libtasn1") (version "4.12") + (replacement libtasn1/fixed) (source (origin (method url-fetch) @@ -74,6 +75,13 @@ networking, allowing for formal validation of data according to some specifications.") (license license:lgpl2.0+))) +(define libtasn1/fixed + (package + (inherit libtasn1) + (source (origin + (inherit (package-source libtasn1)) + (patches (search-patches "libtasn1-CVE-2017-10790.patch")))))) + (define-public asn1c (package (name "asn1c") From 149f66882125fbf656f194690f6178dfcc8104a1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 5 Aug 2017 17:56:49 -0400 Subject: [PATCH 215/231] gnu: texlive: Update to 2017. * gnu/packages/tex.scm (texlive, texlive-texmf): Update to 2017. (texlive-texmf-src): Update to 20170524. Remove 'texlive-texmf-CVE-2016-10243.patch'. (texlive-bin, texlive-extra-src): Update to 20170524. * gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../texlive-texmf-CVE-2016-10243.patch | 18 --------------- gnu/packages/tex.scm | 22 +++++++++---------- 3 files changed, 11 insertions(+), 30 deletions(-) delete mode 100644 gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch diff --git a/gnu/local.mk b/gnu/local.mk index acdadd6294..e7a870549e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1022,7 +1022,6 @@ dist_patch_DATA = \ %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ - %D%/packages/patches/texlive-texmf-CVE-2016-10243.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/thefuck-test-environ.patch \ diff --git a/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch b/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch deleted file mode 100644 index 3a9ae993f6..0000000000 --- a/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix CVE-2016-10243: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10243 - -Patch adapted from upstream commit: - -https://www.tug.org/svn/texlive?view=revision&revision=42605 - ---- trunk/Master/texmf-dist/web2c/texmf.cnf 2016/11/29 23:10:33 42604 -+++ trunk/Master/texmf-dist/web2c/texmf.cnf 2016/11/29 23:27:53 42605 -@@ -568,7 +568,6 @@ extractbb,\ - gregorio,\ - kpsewhich,\ - makeindex,\ --mpost,\ - repstopdf,\ - - % we'd like to allow: diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 729f9c01bf..60b4a837b3 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Federico Beffa ;;; Copyright © 2016 Thomas Danckaert ;;; Copyright © 2016, 2017 Ricardo Wurmus +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,29 +67,28 @@ (define texlive-extra-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523-extra.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2017/texlive-20170524-extra.tar.xz") (sha256 (base32 - "0q4a92zmwhn4ry6xgrp4k8wq11ax2sg9rg9yrsrdkr719y0x887a")))) + "0zvd2zskk78ig114mfj24g15qys41hzqv59fmqpirdbgq9c9gr5g")))) (define texlive-texmf-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523b-texmf.tar.xz") - (patches (search-patches "texlive-texmf-CVE-2016-10243.patch")) - (patch-flags '("-p2")) + (uri "ftp://tug.org/historic/systems/texlive/2017/texlive-20170524-texmf.tar.xz") (sha256 (base32 - "1dv8vgfzpczqw82hv9g7a8djhhyzywljmrarlcyy6g2qi5q51glr")))) + "1v69y3kgkbk24f7s4dfkknwd317mqmck5jgpyb35wqgqfy5p0qrz")))) (define-public texlive-bin (package (name "texlive-bin") - (version "2016") + (version "20170524") (source (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523b-source.tar.xz") + (uri (string-append "ftp://tug.org/historic/systems/texlive/2017/" + "texlive-" version "-source.tar.xz")) (sha256 (base32 - "1v91vahxlxkdra0qz3f132vvx5d9cx2jy84yl1hkch0agyj2rcx8")))) + "1amjrxyasplv4alfwcxwnw4nrx7dz2ydmddkq16k6hg90i9njq81")))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -3808,7 +3808,7 @@ directly generate PDF documents instead of DVI.") (define texlive-texmf (package (name "texlive-texmf") - (version "2016") + (version "2017") (source texlive-texmf-src) (build-system gnu-build-system) (inputs @@ -3880,7 +3880,7 @@ This package contains the complete tree of texmf-dist data.") (define-public texlive (package (name "texlive") - (version "2016") + (version "2017") (source #f) (build-system trivial-build-system) (inputs `(("bash" ,bash) ; for wrap-program From 1335167a3bbb87ffc200d5f106b9a40e9bd4b90b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 5 Aug 2017 18:34:51 -0400 Subject: [PATCH 216/231] gnu: biber: Update to 2.7. * gnu/packages/tex.scm (biber)[name]: Rename to 'biber'. (biber-2.5): Remove variable. --- gnu/packages/tex.scm | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 60b4a837b3..db08ed8643 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4058,7 +4058,7 @@ values (strings, macros, or numbers) pasted together.") (define-public biber (package - (name "biber-next") + (name "biber") (version "2.7") (source (origin (method url-fetch) @@ -4136,33 +4136,6 @@ values (strings, macros, or numbers) pasted together.") other things it comes with full Unicode support.") (license license:artistic2.0))) -;; Our version of texlive comes with biblatex 3.4, which is only compatible -;; with biber 2.5 according to the compatibility matrix in the biber -;; documentation. -(define-public biber-2.5 - (package (inherit biber) - (name "biber") - (version "2.5") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/plk/biber/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "163sd343wkrzwnvj2003m2j0kz517jmjr4savw6f8bjxhj8fdrqv")))) - (arguments - (substitute-keyword-arguments (package-arguments biber) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'check 'delete-failing-test - (lambda _ - (delete-file "t/sort-order.t") - #t)))))) - (inputs - `(("perl-date-simple" ,perl-date-simple) - ,@(package-inputs biber))))) - (define-public rubber (package (name "rubber") From c97fbf55e7fe6c6dcf5620032f602e2c55592d73 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 6 Aug 2017 16:26:49 -0400 Subject: [PATCH 217/231] gnu: texlive: Remove texlive-minimal. This package is superseded by the modular TeX Live distribution. * gnu/packages/tex.scm (texlive-minimal, texlive-texmf-minimal): Remove variables. --- gnu/packages/tex.scm | 75 -------------------------------------------- 1 file changed, 75 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index db08ed8643..f12746c83f 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3939,81 +3939,6 @@ This package contains the complete TeX Live distribution.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")) (home-page "https://www.tug.org/texlive/"))) - -;; texlive-texmf-minimal is a pruned, small version of the texlive tree, -;; in particular dropping documentation and fonts. It weighs in at 470 MiB -;; instead of 4 GiB. -(define texlive-texmf-minimal - (package (inherit texlive-texmf) - (name "texlive-texmf-minimal") - (arguments - (substitute-keyword-arguments - (package-arguments texlive-texmf) - ((#:modules modules) - `((ice-9 ftw) - (srfi srfi-1) - ,@modules)) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'prune - (lambda _ - (define (delete subdir exclude) - "Delete all files and directories in SUBDIR except for those -given in the list EXCLUDE." - (with-directory-excursion subdir - (for-each delete-file-recursively - (lset-difference equal? - (scandir ".") - (append '("." "..") - exclude))))) - (with-directory-excursion "texmf-dist" - (for-each delete-file-recursively - '("doc" "source" "tex4ht")) - ;; Delete all subdirectories of "fonts", except for "tfm" and - ;; any directories named "cm". - (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1")) - (delete "fonts/afm" '("public")) - (delete "fonts/afm/public" '("amsfonts")) - (delete "fonts/afm/public/amsfonts" '("cm")) - (delete "fonts/map" '("dvips")) - (delete "fonts/map/dvips" '("cm")) - (delete "fonts/source" '("public")) - (delete "fonts/source/public" '("cm")) - (delete "fonts/tfm" '("public")) - (delete "fonts/type1" '("public")) - (delete "fonts/type1/public" '("amsfonts")) - (delete "fonts/type1/public/amsfonts" '("cm"))) - #t)))))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small subset of the texmf-dist data."))) - - -;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal -;; instead of the full texlive-texmf. It can be used, for instance, as a -;; native input to packages that need texlive to build their documentation. -(define-public texlive-minimal - (package (inherit texlive) - (name "texlive-minimal") - (inputs - `(("texlive-texmf" ,texlive-texmf-minimal) - ,@(alist-delete "texlive-texmf" (package-inputs texlive)))) - (native-search-paths - (list (search-path-specification - (variable "TEXMFLOCAL") - (files '("share/texmf-local"))))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small working part of the TeX Live distribution."))) - (define-public perl-text-bibtex (package (name "perl-text-bibtex") From 32b7506c987d8b7281382da4831958a64c048fc1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 8 Aug 2017 16:05:58 +0200 Subject: [PATCH 218/231] profiles: Only check file contents if the file exists. * guix/profiles.scm (fonts-dir-file): Check that files exist before using "empty-file?". --- guix/profiles.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index b3732f61ed..0eb99f40de 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1095,9 +1095,11 @@ files for the fonts of the @var{manifest} entries." (unless (and (zero? (system* mkfontscale)) (zero? (system* mkfontdir))) (exit #f)) - (when (empty-file? fonts-scale-file) + (when (and (file-exists? fonts-scale-file) + (empty-file? fonts-scale-file)) (delete-file fonts-scale-file)) - (when (empty-file? fonts-dir-file) + (when (and (file-exists? fonts-dir-file) + (empty-file? fonts-dir-file)) (delete-file fonts-dir-file)))) directories))))))) From 55cca6ac616275f33988df6a3e6746f921990d5f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Aug 2017 15:26:10 +0200 Subject: [PATCH 219/231] gnu: perl-plack-middleware-reverseproxy: Provide Module::Install. * gnu/packages/web.scm (perl-plack-middleware-reverseproxy)[native-inputs]: Add PERL-MODULE-INSTALL. --- gnu/packages/web.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 54fd410df7..8021366052 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2976,6 +2976,8 @@ required.") (base32 "1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-plack" ,perl-plack))) (home-page "http://search.cpan.org/dist/Plack-Middleware-ReverseProxy") From 1cd5f1776da210b1d2dc0594de3597881d0e0231 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Aug 2017 16:02:51 +0200 Subject: [PATCH 220/231] gnu: perl-moosex-types-datetime: Update to 0.13. * gnu/packages/perl.scm (perl-moosex-types-datetime): Update to 0.13. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2b2b2ea1fe..2baf09e943 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4972,7 +4972,7 @@ prevent name clashes between packages.") (define-public perl-moosex-types-datetime (package (name "perl-moosex-types-datetime") - (version "0.10") + (version "0.13") (source (origin (method url-fetch) @@ -4980,7 +4980,7 @@ prevent name clashes between packages.") "MooseX-Types-DateTime-" version ".tar.gz")) (sha256 (base32 - "03p66rx0qj2p23n2i2rj7c7x41621jzzaxscrpg95mb3mqmravc0")))) + "1iir3mdvz892kbbs2q91vjxnhas7811m3d3872m7x8gn6rka57xq")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny) From f87c1107d60372acc5ff627324e9fdd36278daa3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Aug 2017 16:11:21 +0200 Subject: [PATCH 221/231] gnu: perl: Work around more "dotless @INC" build issues. * gnu/packages/perl.scm (perl-hash-fieldhash, perl-string-camelcase)[arguments]: Add 'set-perl-search-path' phase. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2baf09e943..e6138fcc98 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3432,6 +3432,16 @@ which are tied to the scope exit.") (base32 "1wg8nzczfxif55j2nbymbhyd25pjy7dqs4bvd6jrcds3ll3mflaw")))) (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-perl-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-leaktrace" ,perl-test-leaktrace))) @@ -6087,6 +6097,16 @@ run from within a source-controlled directory.") (base32 "17kh8nap2z5g5rqcvw0m7mvbai7wr7h0al39w8l827zhqad8ss42")))) (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-perl-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) ":" + (getenv "PERL5LIB"))) + #t))))) (home-page "http://search.cpan.org/dist/String-CamelCase") (synopsis "Camelcase and de-camelcase") (description "This module may be used to convert from under_score text to From 68d5906c06edb1bfb0ffdcf35288d7d14f9e7c5e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Aug 2017 16:27:33 +0200 Subject: [PATCH 222/231] gnu: perl-www-mechanize: Update to 1.86. * gnu/packages/web.scm (perl-www-mechanize): Update to 1.86. [native-inputs]: Add PERL-TEST-DEEP, PERL-TEST-FATAL, PERL-TEST-OUTPUT and PERL-TEST-WARNINGS. [propagated-inputs]: Add PERL-HTML-TREE. --- gnu/packages/web.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8021366052..1a37c82d6f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3276,7 +3276,7 @@ library.") (define-public perl-www-mechanize (package (name "perl-www-mechanize") - (version "1.73") + (version "1.86") (source (origin (method url-fetch) @@ -3284,13 +3284,18 @@ library.") "WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 - "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9")))) + "0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f")))) (build-system perl-build-system) (native-inputs ;only for tests - `(("perl-cgi" ,perl-cgi))) + `(("perl-cgi" ,perl-cgi) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-output" ,perl-test-output) + ("perl-test-warnings" ,perl-test-warnings))) (propagated-inputs `(("perl-html-form" ,perl-html-form) ("perl-html-parser" ,perl-html-parser) + ("perl-html-tree" ,perl-html-tree) ("perl-http-message" ,perl-http-message) ("perl-http-server-simple" ,perl-http-server-simple) ("perl-libwww" ,perl-libwww) From 7eb09e39edcaef8fc5e087bdd1d18a8c651cc4bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Aug 2017 16:42:13 +0200 Subject: [PATCH 223/231] gnu: perl-net-server: Update to 2.009. * gnu/packages/web.scm (perl-net-server): Update to 2.009. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 1a37c82d6f..ca6f97a0d6 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2806,7 +2806,7 @@ HTTP/1.1.") (define-public perl-net-server (package (name "perl-net-server") - (version "2.008") + (version "2.009") (source (origin (method url-fetch) @@ -2814,7 +2814,7 @@ HTTP/1.1.") "Net-Server-" version ".tar.gz")) (sha256 (base32 - "182gfikn7r40kmm3d35m2qc6r8g0y1j8gxbn9ffaawf8xmm0a889")))) + "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Net-Server") (synopsis "Extensible Perl server engine") From 128c9b92699c8bd822cca66cd4824fa376625698 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 19 Aug 2017 21:51:24 +0300 Subject: [PATCH 224/231] gnu: perl-www-mechanize: Update source uri. * gnu/packages/web.scm (perl-www-mechanize)[source]: Update to new uri. --- gnu/packages/web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ca6f97a0d6..09c60ac0e4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3280,7 +3280,7 @@ library.") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/" "WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 From 7295a0c020afce1bde1ba9e6186336f5da2c18e1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Aug 2017 17:11:30 +0200 Subject: [PATCH 225/231] gnu: perl-test-trap: Add missing dependency on Test::Simple. * gnu/packages/perl.scm (perl-test-trap)[native-inputs]: Add PERL-TEST-SIMPLE. --- gnu/packages/perl.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e6138fcc98..0395d642f6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7372,7 +7372,8 @@ a minimum of effort.") "05b4zc4087imwphls4yksg4chzx9yavbri301gaxas9kv1yhx13w")))) (build-system perl-build-system) (native-inputs - `(("perl-module-build" ,perl-module-build))) + `(("perl-module-build" ,perl-module-build) + ("perl-test-simple" ,perl-test-simple))) (propagated-inputs `(("perl-test-tester" ,perl-test-tester) ("perl-data-dump" ,perl-data-dump))) From 9c4ce3afac2ad42c832dc7a9f0932744b5fd8892 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Aug 2017 17:13:42 +0200 Subject: [PATCH 226/231] gnu: perl-test-trap: Update to 0.3.2. * gnu/packages/perl.scm (perl-test-trap): Update to 0.3.2. [source, version]: Remove 'v' prefix from version field. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0395d642f6..1a96ee237b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7361,15 +7361,15 @@ a minimum of effort.") (define-public perl-test-trap (package (name "perl-test-trap") - (version "v0.3.0") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EB/EBHANSSEN/" - "Test-Trap-" version ".tar.gz")) + "Test-Trap-v" version ".tar.gz")) (sha256 (base32 - "05b4zc4087imwphls4yksg4chzx9yavbri301gaxas9kv1yhx13w")))) + "0jq54pkm4s61gk8gzxglix1ff9s0m9vi6bpfv7f63lb9qq4r76rr")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) From e4925e00ca420737556e2039b4fa1c40121ee567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 24 Aug 2017 00:41:44 +0200 Subject: [PATCH 227/231] packages: Use Guile 2.0 for grafting. Works around . Reported by Marius Bakke . * guix/packages.scm (guile-2.0): New procedure. (package-derivation, package-cross-derivation): Use it when computing the #:guile argument to 'graft-derivation'. --- guix/packages.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index 3528db442f..f619d9b370 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -414,6 +414,13 @@ derivations." (let ((distro (resolve-interface '(gnu packages commencement)))) (module-ref distro 'guile-final))) +(define (guile-2.0) + "Return Guile 2.0." + ;; FIXME: This is used as a workaround for when + ;; grafting packages. + (let ((distro (resolve-interface '(gnu packages guile)))) + (module-ref distro 'guile-2.0))) + (define* (default-guile-derivation #:optional (system (%current-system))) "Return the derivation for SYSTEM of the default Guile package used to run the build code of derivation." @@ -1145,7 +1152,7 @@ This is an internal procedure." (() drv) (grafts - (let ((guile (package-derivation store (default-guile) + (let ((guile (package-derivation store (guile-2.0) system #:graft? #f))) ;; TODO: As an optimization, we can simply graft the tip ;; of the derivation graph since 'graft-derivation' @@ -1171,7 +1178,7 @@ system identifying string)." (graft-derivation store drv grafts #:system system #:guile - (package-derivation store (default-guile) + (package-derivation store (guile-2.0) system #:graft? #f)))) drv)))) From 05e172ca4e89d39b4e67d7bc728a3f40876f8f5d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 25 Aug 2017 01:53:51 -0400 Subject: [PATCH 228/231] download: Remove a SourceForge mirror that never returns 404. * guix/download.scm (%mirrors)[sourceforge]: Remove nbtelecom.dl.sourceforge.net, which never returns 404 responses. This causes download failures due to hash mismatch, effectively preventing secondary source URLs from being queried. --- guix/download.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/download.scm b/guix/download.scm index bf818e3cdf..ae381ee7ab 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -115,7 +115,7 @@ "http://jaist.dl.sourceforge.net/project/" "http://kent.dl.sourceforge.net/project/" "http://liquidtelecom.dl.sourceforge.net/project/" - "http://nbtelecom.dl.sourceforge.net/project/" + ;; "http://nbtelecom.dl.sourceforge.net/project/" ;never returns 404s "http://nchc.dl.sourceforge.net/project/" "http://ncu.dl.sourceforge.net/project/" "http://netcologne.dl.sourceforge.net/project/" From 1934769ba163caa06816deb97688926130d4395a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 25 Aug 2017 01:45:54 -0400 Subject: [PATCH 229/231] gnu: libmikmod: Add fallback source URL, needed for older versions. * gnu/packages/sdl.scm (libmikmod)[source]: Add a fallback source URL where older versions are kept. --- gnu/packages/sdl.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 9e2d81f182..af598ecb46 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -120,8 +120,13 @@ joystick, and graphics hardware.") (version "3.3.10") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/mikmod/libmikmod/" - version "/libmikmod-" version ".tar.gz")) + (uri (list + (string-append "mirror://sourceforge/mikmod/libmikmod/" + version "/libmikmod-" version ".tar.gz") + ;; Older versions are sometimes moved to: + (string-append "mirror://sourceforge/mikmod/" + "outdated_versions/libmikmod/" + version "/libmikmod-" version ".tar.gz"))) (sha256 (base32 "0j7g4jpa2zgzw7x6s3rldypa7zlwjvn97rwx0sylx1iihhlzbcq0")))) From a21db79e5252e6a3f6b0a85fe2681022b02f6537 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 25 Aug 2017 21:34:47 +0200 Subject: [PATCH 230/231] gnu: perl-catalyst-runtime: Update to 5.90115. * gnu/packages/web.scm (perl-catalyst-runtime): Update to 5.90115. [native-inputs]: Add PERL-MODULE-INSTALL. --- gnu/packages/web.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index d46b6c8ec3..623dad3995 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1564,7 +1564,7 @@ MIME type directly to the browser, without being processed through Catalyst.") (define-public perl-catalyst-runtime (package (name "perl-catalyst-runtime") - (version "5.90082") + (version "5.90115") (source (origin (method url-fetch) @@ -1572,10 +1572,11 @@ MIME type directly to the browser, without being processed through Catalyst.") "Catalyst-Runtime-" version ".tar.gz")) (sha256 (base32 - "1gs70nq4rikpq6siwds9disb1z03vwjzf979xi9kf7saa1drfncs")))) + "0kh3ng6pjpxmndq9vrn515f70x7h44ish5bsgjwj4pjvchcyivzm")))) (build-system perl-build-system) (native-inputs - `(("perl-test-fatal" ,perl-test-fatal))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-cgi-simple" ,perl-cgi-simple) ("perl-cgi-struct" ,perl-cgi-struct) From 2f837cf7fe100b0584fb02cf8f19d4cfb4e14d88 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 25 Aug 2017 22:18:58 +0200 Subject: [PATCH 231/231] gnu: perl: Add more missing dependencies on Module::Install. * gnu/packages/databases.scm (perl-dbix-class, perl-dbix-class-cursor-cached, perl-dbix-class-introspectablem2m, perl-dbix-class-schema-loader)[native-inputs]: Add PERL-MODULE-INSTALL. * gnu/packages/web.scm (perl-catalyst-action-renderview, perl-catalyst-action-rest, perl-catalyst-authentication-store-dbix-class, perl-catalyst-component-instancepercontext, perl-catalyst-model-dbic-schema, perl-catalyst-plugin-authentication, perl-catalyst-plugin-authorization-roles, perl-catalyst-plugin-configloader, perl-catalyst-plugin-session, perl-catalyst-plugin-session-state-cookie, perl-catalyst-plugin-stacktrace, perl-catalyst-plugin-static-simple, perl-catalyst-traitfor-request-proxybase, perl-catalyst-view-download, perl-catalyst-view-json, perl-catalystx-script-server-starman, perl-test-www-mechanize, perl-test-www-mechanize-catalyst)[native-inputs]: Likewise. * gnu/packages/xorg.scm (perl-x11-xcb)[native-inputs]: Likewise. --- gnu/packages/databases.scm | 7 ++++++- gnu/packages/web.scm | 40 ++++++++++++++++++++++++++++++-------- gnu/packages/xorg.scm | 1 + 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6b8695ff04..648ba81aaf 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -861,6 +861,7 @@ extremely small.") (native-inputs `(("perl-dbd-sqlite" ,perl-dbd-sqlite) ("perl-file-temp" ,perl-file-temp) + ("perl-module-install" ,perl-module-install) ("perl-package-stash" ,perl-package-stash) ("perl-test-deep" ,perl-test-deep) ("perl-test-exception" ,perl-test-exception) @@ -914,7 +915,8 @@ single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\", (build-system perl-build-system) (native-inputs `(("perl-cache-cache" ,perl-cache-cache) - ("perl-dbd-sqlite" ,perl-dbd-sqlite))) + ("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-carp-clan" ,perl-carp-clan) ("perl-dbix-class" ,perl-dbix-class))) @@ -937,6 +939,8 @@ built-in caching support.") (base32 "1w47rh2241iy5x3a9bqsyd5kdp9sk43dksr99frzv4qn4jsazfn6")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-dbix-class" ,perl-dbix-class))) (home-page "http://search.cpan.org/dist/DBIx-Class-IntrospectableM2M") @@ -967,6 +971,7 @@ introspected and examined.") ("perl-config-general" ,perl-config-general) ("perl-dbd-sqlite" ,perl-dbd-sqlite) ("perl-dbix-class-introspectablem2m" ,perl-dbix-class-introspectablem2m) + ("perl-module-install" ,perl-module-install) ("perl-moose" ,perl-moose) ("perl-moosex-markasmethods" ,perl-moosex-markasmethods) ("perl-moosex-nonmoose" ,perl-moosex-nonmoose) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 623dad3995..ccba7ce7e6 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1054,7 +1054,8 @@ to perl-code, for faster generation of access_log lines.") "0j1rrld13cjk7ks92b5hv3xw4rfm2lvmksb4rlzd8mx0a0wj0rc5")))) (build-system perl-build-system) (native-inputs - `(("perl-http-request-ascgi" ,perl-http-request-ascgi))) + `(("perl-http-request-ascgi" ,perl-http-request-ascgi) + ("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-data-visitor" ,perl-data-visitor) @@ -1078,7 +1079,8 @@ action, which will forward to the first available view.") "1mpa64p61f3dp24xnhdraswch4sqj5vyv1iivcvvh5h0xi0haiy0")))) (build-system perl-build-system) (native-inputs - `(("perl-test-requires" ,perl-test-requires))) + `(("perl-test-requires" ,perl-test-requires) + ("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-class-inspector" ,perl-class-inspector) @@ -1120,6 +1122,7 @@ regular method.") ("perl-catalyst-plugin-session-state-cookie" ,perl-catalyst-plugin-session-state-cookie) ("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-module-install" ,perl-module-install) ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) @@ -1149,6 +1152,8 @@ DBIx::Class.") (base32 "0wfj4vnn2cvk6jh62amwlg050p37fcwdgrn9amcz24z6w4qgjqvz")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-moose" ,perl-moose))) @@ -1247,6 +1252,7 @@ when the dispatch type is first seen in your application.") (build-system perl-build-system) (native-inputs `(("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-module-install" ,perl-module-install) ("perl-test-exception" ,perl-test-exception) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs @@ -1315,6 +1321,8 @@ for you. It will work even with Catalyst debug logging turned off.") (base32 "0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) ("perl-catalyst-runtime" ,perl-catalyst-runtime) @@ -1350,7 +1358,8 @@ system authorises them to do).") "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f")))) (build-system perl-build-system) (native-inputs - `(("perl-test-exception" ,perl-test-exception))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-catalyst-plugin-authentication" ,perl-catalyst-plugin-authentication) @@ -1403,7 +1412,8 @@ Catalyst.") "19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q")))) (build-system perl-build-system) (native-inputs - `(("perl-path-class" ,perl-path-class))) + `(("perl-path-class" ,perl-path-class) + ("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-config-any" ,perl-config-any) @@ -1430,7 +1440,8 @@ formats.") "171vi9xcl775scjaw4fcfdmqvz0rb1nr0xxg2gb3ng6bjzpslhgv")))) (build-system perl-build-system) (native-inputs - `(("perl-test-deep" ,perl-test-deep) + `(("perl-module-install" ,perl-module-install) + ("perl-test-deep" ,perl-test-deep) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) @@ -1461,6 +1472,8 @@ management in web applications together: the state, and the store.") (base32 "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) ("perl-catalyst-runtime" ,perl-catalyst-runtime) @@ -1519,6 +1532,8 @@ memory interprocess cache. It is based on Cache::FastMmap.") (base32 "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-devel-stacktrace" ,perl-devel-stacktrace) @@ -1544,6 +1559,8 @@ number, file name, and code context surrounding the line number.") (base32 "1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy")))) (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-mime-types" ,perl-mime-types) @@ -1644,7 +1661,8 @@ run an application on the web, either by doing them itself, or by letting you (native-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator) - ("perl-http-message" ,perl-http-message))) + ("perl-http-message" ,perl-http-message) + ("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean) @@ -1673,6 +1691,7 @@ replaced with the contents of the X-Request-Base header.") (build-system perl-build-system) (native-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-module-install" ,perl-module-install) ("perl-test-simple" ,perl-test-simple) ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst) ("perl-text-csv" ,perl-text-csv) @@ -1698,7 +1717,8 @@ table based report in a variety of formats (CSV, HTML, etc.).") "0x943j1n2r0zqanyzdrs1xsnn8ayn2wqskn7h144xcqa6v6gcisl")))) (build-system perl-build-system) (native-inputs - `(("perl-yaml" ,perl-yaml))) + `(("perl-module-install" ,perl-module-install) + ("perl-yaml" ,perl-yaml))) (inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-json-maybexs" ,perl-json-maybexs) @@ -1807,7 +1827,8 @@ application classes.") "0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5")))) (build-system perl-build-system) (native-inputs - `(("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst))) + `(("perl-module-install" ,perl-module-install) + ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst))) (propagated-inputs `(("perl-catalyst-runtime" ,perl-catalyst-runtime) ("perl-moose" ,perl-moose) @@ -3045,6 +3066,8 @@ either mocked HTTP or a locally spawned server.") (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) + (native-inputs + `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-carp-assert-more" ,perl-carp-assert-more) ("perl-html-form" ,perl-html-form) @@ -3077,6 +3100,7 @@ WWW::Mechanize that incorporates features for web application testing.") `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) ("perl-catalyst-plugin-session-state-cookie" ,perl-catalyst-plugin-session-state-cookie) + ("perl-module-install" ,perl-module-install) ("perl-test-exception" ,perl-test-exception) ("perl-test-pod" ,perl-test-pod) ("perl-test-utf8" ,perl-test-utf8))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index af217ef679..1c458831da 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5780,6 +5780,7 @@ programs that cannot use the window system directly.") (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends) ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig) + ("perl-module-install" ,perl-module-install) ("perl-test-deep" ,perl-test-deep) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs