From b7a5a4821f4dd48aaa69a87eddfe7ee10c9486c6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 27 Nov 2016 10:23:59 +0200 Subject: gnu: grep: Update to 2.26. * gnu/packages/base.scm (grep): Update to 2.26. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1c01874bb0..52b035f385 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -77,14 +77,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.25") + (version "2.26") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "0c38b67cnwchwzv4wq2gpz6smkhdxrac2hhssv8f0l04qnx867p2")) + "0w38cdw1xc41mj75667qn2d06k4rmgyj4z5hjpa37al2gsrqysi4")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it -- cgit v1.2.3 From 51c8e2996c63311efc60e92743df21cd07044544 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 27 Nov 2016 10:25:45 +0200 Subject: gnu: sed: Use 'modify-phases' syntax. * gnu/packages/base.scm (sed)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/base.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 52b035f385..8aa426959f 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -131,16 +131,17 @@ including, for example, recursive directory searching.") (arguments (if (%current-target-system) '() - `(#:phases (alist-cons-before - 'patch-source-shebangs 'patch-test-suite - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (patch-makefile-SHELL "testsuite/Makefile.tests") - (substitute* '("testsuite/bsd.sh" - "testsuite/bug-regex9.c") - (("/bin/sh") - (string-append bash "/bin/bash"))))) - %standard-phases)))) + `(#:phases + (modify-phases %standard-phases + (add-before 'patch-source-shebangs 'patch-test-suite + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (patch-makefile-SHELL "testsuite/Makefile.tests") + (substitute* '("testsuite/bsd.sh" + "testsuite/bug-regex9.c") + (("/bin/sh") + (string-append bash "/bin/bash"))) + #t))))))) (description "Sed is a non-interactive, text stream editor. It receives a text input from a file or from standard input and it then applies a series of text -- cgit v1.2.3 From 9b5f498deff516a9799a132fb04b40fb9ccfd7a6 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 13 Nov 2016 15:19:46 +0200 Subject: gnu: glibc-hurd: Force mach/hurd/libpthread subdirs to build first. * gnu/packages/base.scm (glibc/hurd)[arguments]: Replace 'build' phase. Co-authored-by: Ludovic Courts --- gnu/packages/base.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8aa426959f..9fb8c3a56d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -715,7 +715,21 @@ with the Linux kernel.") ;; Use the right 'pwd'. (substitute* "configure" (("/bin/pwd") "pwd"))) - ,original-phases))) + (alist-replace + 'build + (lambda _ + ;; Force mach/hurd/libpthread subdirs to build first in order to avoid + ;; linking errors. + ;; See + (let ((-j (list "-j" (number->string (parallel-job-count))))) + (let-syntax ((make (syntax-rules () + ((_ target) + (zero? (apply system* "make" target -j)))))) + (and (make "mach/subdir_lib") + (make "hurd/subdir_lib") + (make "libpthread/subdir_lib") + (zero? (apply system* "make" -j)))))) + ,original-phases)))) ((#:configure-flags original-configure-flags) `(append (list "--host=i586-pc-gnu" -- cgit v1.2.3 From bec5022ffe6456e1e94d944aaaa5dcdd314208e2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 3 Dec 2016 17:30:33 +0200 Subject: gnu: coreutils: Update to 8.26. * gnu/packages/base.scm (coreutils): Update to 8.26. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9fb8c3a56d..44475cae64 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -277,14 +277,14 @@ used to apply commands with arbitrarily long arguments.") (define-public coreutils (package (name "coreutils") - (version "8.25") + (version "8.26") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/coreutils/coreutils-" version ".tar.xz")) (sha256 (base32 - "11yfrnb94xzmvi4lhclkcmkqsbhww64wf234ya1aacjvg82prrii")))) + "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! -- cgit v1.2.3 From 78636f0b8ce0fa7c3483a378ef31832f38a3d19a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 10 Dec 2016 22:10:30 +0200 Subject: gnu: grep: Update to 2.27. * gnu/packages/base.scm (grep): Update to 2.27. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 44475cae64..30364f373c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -77,14 +77,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.26") + (version "2.27") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "0w38cdw1xc41mj75667qn2d06k4rmgyj4z5hjpa37al2gsrqysi4")) + "1syadppgpxpfhpwhhqcsibrn131azypzps5aicx1qjh74d6w8k5d")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it -- cgit v1.2.3 From 20be64dcf7d4d08e75eb56c34890420bea7882ec Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sat, 31 Dec 2016 00:05:49 +0800 Subject: gnu: tar: Fix CVE-2016-6321. * gnu/packages/patches/tar-CVE-2016-6321.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (tar)[source]: Use it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/base.scm | 3 +- gnu/packages/patches/tar-CVE-2016-6321.patch | 51 ++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/tar-CVE-2016-6321.patch (limited to 'gnu/packages/base.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 79d6b14a2b..00f47e3165 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -857,6 +857,7 @@ dist_patch_DATA = \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ %D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch \ + %D%/packages/patches/tar-CVE-2016-6321.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcl-mkindex-deterministic.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 30364f373c..1962086169 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -162,7 +162,8 @@ implementation offers several extensions over the standard utility.") (sha256 (base32 "097hx7sbzp8qirl4m930lw84kn0wmxhmq7v1qpra3mrg0b8cyba0")) - (patches (search-patches "tar-skip-unreliable-tests.patch")))) + (patches (search-patches "tar-CVE-2016-6321.patch" + "tar-skip-unreliable-tests.patch")))) (build-system gnu-build-system) ;; Note: test suite requires ~1GiB of disk space. (arguments diff --git a/gnu/packages/patches/tar-CVE-2016-6321.patch b/gnu/packages/patches/tar-CVE-2016-6321.patch new file mode 100644 index 0000000000..b79be9bc94 --- /dev/null +++ b/gnu/packages/patches/tar-CVE-2016-6321.patch @@ -0,0 +1,51 @@ +Fix CVE-2016-6321: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6321 +https://security-tracker.debian.org/tracker/CVE-2016-6321 + +Patch adapted from upstream source repository (the changes to 'NEWS' +don't apply to the Tar 1.29 release tarball). + +http://git.savannah.gnu.org/cgit/tar.git/commit/?id=7340f67b9860ea0531c1450e5aa261c50f67165d + +From 7340f67b9860ea0531c1450e5aa261c50f67165d Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sat, 29 Oct 2016 21:04:40 -0700 +Subject: [PATCH] When extracting, skip ".." members + +* NEWS: Document this. +* src/extract.c (extract_archive): Skip members whose names +contain "..". +--- + NEWS | 8 +++++++- + src/extract.c | 8 ++++++++ + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/src/extract.c b/src/extract.c +index f982433..7904148 100644 +--- a/src/extract.c ++++ b/src/extract.c +@@ -1629,12 +1629,20 @@ extract_archive (void) + { + char typeflag; + tar_extractor_t fun; ++ bool skip_dotdot_name; + + fatal_exit_hook = extract_finish; + + set_next_block_after (current_header); + ++ skip_dotdot_name = (!absolute_names_option ++ && contains_dot_dot (current_stat_info.orig_file_name)); ++ if (skip_dotdot_name) ++ ERROR ((0, 0, _("%s: Member name contains '..'"), ++ quotearg_colon (current_stat_info.orig_file_name))); ++ + if (!current_stat_info.file_name[0] ++ || skip_dotdot_name + || (interactive_option + && !confirm ("extract", current_stat_info.file_name))) + { +-- +2.11.0 + -- cgit v1.2.3 From 7d7ea947f56e5080c9913f311ede71475045b9d6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Jan 2017 16:47:48 +0100 Subject: gnu: sed: Update to 4.3. * gnu/packages/base.scm (sed): Update to 4.3. [source]: Use xz tarball. Remove upstreamed patch. [arguments]: Fix '/bin/sh' -> 'bash' substitution. [home-page]: Use https. [native-inputs]: Add perl. * gnu/packages/patches/sed-hurd-path-max.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/base.scm | 13 ++++++----- gnu/packages/patches/sed-hurd-path-max.patch | 34 ---------------------------- 3 files changed, 7 insertions(+), 41 deletions(-) delete mode 100644 gnu/packages/patches/sed-hurd-path-max.patch (limited to 'gnu/packages/base.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 00f47e3165..55d56e1852 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -835,7 +835,6 @@ dist_patch_DATA = \ %D%/packages/patches/ruby-symlinkfix.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/ruby-yard-fix-skip-of-markdown-tests.patch \ - %D%/packages/patches/sed-hurd-path-max.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-test-threading.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1962086169..66c5e0cdcb 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -117,15 +117,14 @@ including, for example, recursive directory searching.") (define-public sed (package (name "sed") - (version "4.2.2") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version - ".tar.bz2")) + ".tar.xz")) (sha256 (base32 - "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h")) - (patches (search-patches "sed-hurd-path-max.patch")))) + "1anhdgah8h423hlmn9hwzxzr7hjbqjm6hxq3z1p7p7nf8640vhj7")))) (build-system gnu-build-system) (synopsis "Stream editor") (arguments @@ -140,8 +139,10 @@ including, for example, recursive directory searching.") (substitute* '("testsuite/bsd.sh" "testsuite/bug-regex9.c") (("/bin/sh") - (string-append bash "/bin/bash"))) + (string-append bash "/bin/sh"))) #t))))))) + (native-inputs + `(("perl" ,perl))) ; for build-aux/help2man (description "Sed is a non-interactive, text stream editor. It receives a text input from a file or from standard input and it then applies a series of text @@ -149,7 +150,7 @@ editing commands to the stream and prints its output to standard output. It is often used for substituting text patterns in a stream. The GNU implementation offers several extensions over the standard utility.") (license gpl3+) - (home-page "http://www.gnu.org/software/sed/"))) + (home-page "https://www.gnu.org/software/sed/"))) (define-public tar (package diff --git a/gnu/packages/patches/sed-hurd-path-max.patch b/gnu/packages/patches/sed-hurd-path-max.patch deleted file mode 100644 index 5226cba4cb..0000000000 --- a/gnu/packages/patches/sed-hurd-path-max.patch +++ /dev/null @@ -1,34 +0,0 @@ -7bb8d35d0330161a5af5341471d0c183a067e8c2 -Author: Jose E. Marchesi -Date: Sun Oct 6 14:43:38 2013 +0200 - - Set PATH_MAX to some constant in case it is not defined in system - headers. - - 2013-10-06 Jose E. Marchesi - - * basicdefs.h (PATH_MAX): Defined to some constant in case it is - not defined by system headers. - * sed/utils.c: Do not include pathmax.h anymore. - * bootstrap.conf (gnulib_modules): Do not use the gnulib module - pathmax. - -diff --git a/basicdefs.h b/basicdefs.h -index 0d28a97..09f5beb 100644 ---- a/basicdefs.h -+++ b/basicdefs.h -@@ -40,6 +41,13 @@ typedef unsigned long countT; - #define obstack_chunk_alloc ck_malloc - #define obstack_chunk_free free - -+/* MAX_PATH is not defined in some platforms, most notably GNU/Hurd. -+ In that case we define it here to some constant. Note however that -+ this relies in the fact that sed does reallocation if a buffer -+ needs to be larger than PATH_MAX. */ -+#ifndef PATH_MAX -+# define PATH_MAX 200 -+#endif - - /* handle misdesigned macros (snarfed from lib/regex.c) */ - /* Jim Meyering writes: - -- cgit v1.2.3 From 60f3ad8c073bba0a4672752f4b73ddd5ebd6b011 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Jan 2017 03:02:08 -0500 Subject: gnu: gnu-make: Don't replace 'sh' reference with 'bash'. * gnu/packages/base.scm (gnu-make)[arguments]: Use /bin/sh instead of /bin/bash in 'set-default-shell' phase. --- gnu/packages/base.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 93b598f808..1483cd3421 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -365,7 +365,7 @@ functionality beyond that which is outlined in the POSIX standard.") (let ((bash (assoc-ref inputs "bash"))) (substitute* "job.c" (("default_shell =.*$") - (format #f "default_shell = \"~a/bin/bash\";\n" + (format #f "default_shell = \"~a/bin/sh\";\n" bash))))))))) (synopsis "Remake files automatically") (description -- cgit v1.2.3 From 11b6687609f24e3f238314c4b40a54341f96ab3c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Jan 2017 11:11:18 -0500 Subject: gnu: glibc/linux: Don't replace 'sh' reference with 'bash'. * gnu/packages/base.scm (glibc/linux)[arguments]: Use /bin/sh instead of /bin/bash in 'pre-configure' phase. --- gnu/packages/base.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1483cd3421..3457c79bbc 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -622,7 +622,7 @@ store.") ;; Same for `popen'. (substitute* "libio/iopopen.c" (("/bin/sh") - (string-append bash "/bin/bash"))) + (string-append bash "/bin/sh"))) ;; Same for the shell used by the 'exec' functions for ;; scripts that lack a shebang. -- cgit v1.2.3 From e483139141c170131cca6589dc7942d7186329da Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Jan 2017 11:11:38 -0500 Subject: gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default shell. * gnu/packages/base.scm (glibc/linux)[arguments]: Use /bin/sh for scripts that lack a shebang. --- gnu/packages/base.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3457c79bbc..4898b181e9 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -629,7 +629,7 @@ store.") (substitute* (find-files "." "^paths\\.h$") (("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$") (string-append "#define _PATH_BSHELL \"" - bash "/bin/bash\"\n"))) + bash "/bin/sh\"\n"))) ;; Nscd uses __DATE__ and __TIME__ to create a string to ;; make sure the client and server come from the same -- cgit v1.2.3 From 8a296947a6bdd173faeb5d7defba7069b537ddd4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 21 Jan 2017 22:37:06 +0100 Subject: gnu: sed: Use the same phases whether or not we're cross-compiling. * gnu/packages/base.scm (sed)[arguments]: Make #:phases argument unconditional. In 'patch-test-suite' phase, use (which "sh") instead of referring to the "bash" input. --- gnu/packages/base.scm | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4898b181e9..dc6ce4f3d4 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.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 © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -129,19 +129,16 @@ including, for example, recursive directory searching.") (build-system gnu-build-system) (synopsis "Stream editor") (arguments - (if (%current-target-system) - '() - `(#:phases - (modify-phases %standard-phases - (add-before 'patch-source-shebangs 'patch-test-suite - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (patch-makefile-SHELL "testsuite/Makefile.tests") - (substitute* '("testsuite/bsd.sh" - "testsuite/bug-regex9.c") - (("/bin/sh") - (string-append bash "/bin/sh"))) - #t))))))) + `(#:phases + (modify-phases %standard-phases + (add-before 'patch-source-shebangs 'patch-test-suite + (lambda* (#:key inputs #:allow-other-keys) + (patch-makefile-SHELL "testsuite/Makefile.tests") + (substitute* '("testsuite/bsd.sh" + "testsuite/bug-regex9.c") + (("/bin/sh") + (which "sh"))) + #t))))) (native-inputs `(("perl" ,perl))) ; for build-aux/help2man (description -- cgit v1.2.3 From c8b44fc10717a106b305d66e95ea27d1a3be45f5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 22 Jan 2017 13:10:56 +0100 Subject: gnu: sed: Do not attempt to rebuild 'doc/sed.1'. * gnu/packages/base.scm (sed)[arguments]: Add 'dont-rebuild-sed.1' phase. [native-inputs]: Remove. --- gnu/packages/base.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index dc6ce4f3d4..f6946f3c9e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -131,6 +131,15 @@ including, for example, recursive directory searching.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'dont-rebuild-sed.1 + (lambda _ + ;; Make sure we do not attempt to rebuild 'doc/sed.1', which does + ;; not work when cross-compiling because we cannot run 'sed'. + ;; This is fixed upstream as commit a0a25e3. + (substitute* "Makefile.in" + (("^doc/sed\\.1:.*") + "doc/sed.1:\n")) + #t)) (add-before 'patch-source-shebangs 'patch-test-suite (lambda* (#:key inputs #:allow-other-keys) (patch-makefile-SHELL "testsuite/Makefile.tests") @@ -139,8 +148,6 @@ including, for example, recursive directory searching.") (("/bin/sh") (which "sh"))) #t))))) - (native-inputs - `(("perl" ,perl))) ; for build-aux/help2man (description "Sed is a non-interactive, text stream editor. It receives a text input from a file or from standard input and it then applies a series of text -- cgit v1.2.3 From 82a7a8c6671cb50a7886983af0c2d58d1cf62bc9 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Wed, 18 Jan 2017 20:48:27 +0200 Subject: gnu: coreutils: Fix cross-compilation. * gnu/packages/patches/coreutils-fix-cross-compilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (coreutils)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 3 ++- .../patches/coreutils-fix-cross-compilation.patch | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/coreutils-fix-cross-compilation.patch (limited to 'gnu/packages/base.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 19048561dd..8c915741bc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -510,6 +510,7 @@ dist_patch_DATA = \ %D%/packages/patches/clx-remove-demo.patch \ %D%/packages/patches/cmake-fix-tests.patch \ %D%/packages/patches/coda-use-system-libs.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 f6946f3c9e..703274d0cd 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -291,7 +291,8 @@ used to apply commands with arbitrarily long arguments.") version ".tar.xz")) (sha256 (base32 - "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm")))) + "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm")) + (patches (search-patches "coreutils-fix-cross-compilation.patch")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! diff --git a/gnu/packages/patches/coreutils-fix-cross-compilation.patch b/gnu/packages/patches/coreutils-fix-cross-compilation.patch new file mode 100644 index 0000000000..3f0d35c33e --- /dev/null +++ b/gnu/packages/patches/coreutils-fix-cross-compilation.patch @@ -0,0 +1,15 @@ +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 \ + -- cgit v1.2.3 From d6592d84ca754d65d821d2a22179da690054e58c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 4 Feb 2017 10:49:54 +0100 Subject: gnu: sed: Update to 4.4. * gnu/packages/base.scm (sed): Update to 4.4. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 703274d0cd..ad086f8976 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -118,14 +118,14 @@ including, for example, recursive directory searching.") (define-public sed (package (name "sed") - (version "4.3") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version ".tar.xz")) (sha256 (base32 - "1anhdgah8h423hlmn9hwzxzr7hjbqjm6hxq3z1p7p7nf8640vhj7")))) + "0fv88bcnraixc8jvpacvxshi30p5x9m7yb8ns1hfv07hmb2ypmnb")))) (build-system gnu-build-system) (synopsis "Stream editor") (arguments -- cgit v1.2.3 From 0cd3e445776ab3138cf59637c2a9050cab574655 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 7 Feb 2017 17:01:23 +0100 Subject: gnu: grep: Update to 2.28. * gnu/packages/base.scm (grep): Update to 2.28. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ad086f8976..931311a585 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -78,14 +78,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.27") + (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "1syadppgpxpfhpwhhqcsibrn131azypzps5aicx1qjh74d6w8k5d")) + "1181nsjzpxwy7fw1shfy9gaxqpzpk21kdgndhkxa5pxqxqilrb9v")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it -- cgit v1.2.3 From 242c09274588d6f747b666da5e693f0f526460eb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 7 Feb 2017 19:26:00 +0200 Subject: gnu: glibc: Update to 2.25. * gnu/packages/base.scm (glibc): Update to 2.25 --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 931311a585..a2efa32500 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -509,14 +509,14 @@ store.") (define-public glibc/linux (package (name "glibc") - (version "2.24") + (version "2.25") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r")) + "1813dzkgw6v8q8q1m4v96yfis7vjqc9pslqib6j9mrwh6fxxjyq6")) (snippet ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is ;; required on LFS distros to avoid loading the distro's libc.so -- cgit v1.2.3 From 7ca72ec44bf52d459f1fbd994037b792999fe0eb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 7 Feb 2017 19:40:46 +0200 Subject: gnu: glibc: Add version 2.24. * gnu/packages/base.scm (glibc-2.24): New variable. --- gnu/packages/base.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index a2efa32500..62f105613e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -772,6 +772,18 @@ GLIBC/HURD for a Hurd host" ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) +(define-public glibc-2.24 + (package + (inherit glibc) + (version "2.24") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" + version ".tar.xz")) + (sha256 + (base32 + "1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r")))))) + (define-public glibc-2.23 (package (inherit glibc) -- cgit v1.2.3 From f3a79f88e51d367c5e5668bfbf7fb433260b1fd6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Feb 2017 16:16:17 +0100 Subject: gnu: grep: Update to 3.0. * gnu/packages/base.scm (grep): Update to 3.0. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 62f105613e..8dbec90a67 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -78,14 +78,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.28") + (version "3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "1181nsjzpxwy7fw1shfy9gaxqpzpk21kdgndhkxa5pxqxqilrb9v")) + "1dcasjp3a578nrvzrcn38mpizb8w1q6mvfzhjmcqqgkf0nsivj72")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it -- cgit v1.2.3 From e74796442095370259df714c7700b8412459e804 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Feb 2017 10:56:32 +0200 Subject: gnu: coreutils: Don't run tests in parallel. * gnu/packages/base.scm (coreutils)[arguments]: Add '#:parallel-tests? #f' to address a race contition in the test suite. --- gnu/packages/base.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8dbec90a67..8be9c88abb 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -313,6 +313,7 @@ used to apply commands with arbitrarily long arguments.") (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) -- cgit v1.2.3 From 8ea0700d231a8819fc7e8332e9685f0ce15c174e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 8 Mar 2017 18:03:16 -0500 Subject: gnu: tzdata: Update to 2017a. * gnu/packages/base.scm (tzdata): Update to 2017a. --- gnu/packages/base.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8be9c88abb..c452385a90 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -978,7 +978,7 @@ command.") (define-public tzdata (package (name "tzdata") - (version "2016j") + (version "2017a") (source (origin (method url-fetch) (uri (string-append @@ -986,7 +986,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "1j4xycpwhs57qnkcxwh3np8wnf3km69n3cf4w6p2yv2z247lxvpm")))) + "1mmv4rvcs12lrvgghw4fidczvb69yv69cmzknghcvw1c196mqfnz")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -1034,7 +1034,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "1dxhrk4z0n2di8p0yd6q00pa6bwyz5xqbrfbasiz8785ni7zrvxr")))))) + "1b1q7gnlsh5hjgs5065pvajd37rmbc3k9b8cgzad1vcrifswdwh2")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) -- cgit v1.2.3 From 3ffaec136fab017e6cc094287da207cf30f05974 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 8 Mar 2017 18:03:38 -0500 Subject: gnu: Add a tzdata variant for testing purposes. * gnu/packages/base.scm (tzdata-2017a): New variable. * gnu/packages/glib.scm (glib)[inputs]: Remove tzdata. [native-inputs]: Add tzdata-2017a. [arguments]: Add tzdata-2017a to #:disallowed-references. * gnu/packages/statistics.scm (r)[inputs]: Remove tzdata. [native-inputs]: Add tzdata-2017a. [arguments]: Add tzdata-2017a to #:disallowed-references. --- gnu/packages/base.scm | 25 +++++++++++++++++++++++++ gnu/packages/glib.scm | 9 +++++---- gnu/packages/statistics.scm | 5 +++-- 3 files changed, 33 insertions(+), 6 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c452385a90..ba9c820efa 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1044,6 +1044,31 @@ reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules.") (license public-domain))) +;;; A "fixed" version of tzdata, which is used in the test suites of +;;; glib and R. We can update this whenever we are able to rebuild +;;; thousands of packages (for example, in a core-updates rebuild). +(define-public tzdata-2017a + (package + (inherit tzdata) + (version "2017a") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.iana.org/time-zones/repository" + "/releases/tzdata" version ".tar.gz")) + (sha256 + (base32 + "1mmv4rvcs12lrvgghw4fidczvb69yv69cmzknghcvw1c196mqfnz")))) + (inputs `(("tzcode" ,(origin + (method url-fetch) + (uri (string-append + "http://www.iana.org/time-zones/repository/releases/tzcode" + version ".tar.gz")) + (sha256 + (base32 + "1b1q7gnlsh5hjgs5065pvajd37rmbc3k9b8cgzad1vcrifswdwh2")))))))) + + (define-public libiconv (package (name "libiconv") diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 45f4631f9f..6de9cce0b7 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -157,17 +157,18 @@ shared NFS home directories.") `(("coreutils" ,coreutils) ("util-linux" ,util-linux) ; for libmount ("libffi" ,libffi) - ("zlib" ,zlib) - ("tzdata" ,tzdata))) ; for tests/gdatetime.c + ("zlib" ,zlib))) (native-inputs `(("gettext" ,gettext-minimal) ("dbus" ,dbus) ; for GDBus tests ("pkg-config" ,pkg-config) ("python" ,python-wrapper) ("perl" ,perl) ; needed by GIO tests - ("bash" ,bash))) + ("bash" ,bash) + ("tzdata" ,tzdata-2017a))) ; for tests/gdatetime.c (arguments - '(#:phases + `(#:disallowed-references (,tzdata-2017a) + #:phases (modify-phases %standard-phases (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e02c342c6f..64b0b0e940 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -113,7 +113,8 @@ be output in text, PostScript, PDF or HTML.") "0v7wpj89b0i3ad3fi1wak5c93hywmbxv8sdnixhq8l17782nidss")))) (build-system gnu-build-system) (arguments - `(#:make-flags + `(#:disallowed-references (,tzdata-2017a) + #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/R/lib") @@ -187,6 +188,7 @@ be output in text, PostScript, PDF or HTML.") ("pkg-config" ,pkg-config) ("texinfo" ,texinfo) ; for building HTML manuals ("which" ,which) ; for tests/Examples/base-Ex.R + ("tzdata" ,tzdata-2017a) ("xz" ,xz))) (inputs `(;; We need not only cairo here, but pango to ensure that tests for the @@ -194,7 +196,6 @@ be output in text, PostScript, PDF or HTML.") ("pango" ,pango) ("coreutils" ,coreutils) ("curl" ,curl) - ("tzdata" ,tzdata) ("openblas" ,openblas) ("gfortran" ,gfortran) ("icu4c" ,icu4c) -- cgit v1.2.3 From d1e3f59c9b8d1be79eded04fe23cceb56b4372f0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 25 Mar 2017 23:28:54 +0100 Subject: gnu: coreutils: Patch 'cut' unit test on ARM. Fixes . * gnu/packages/patches/coreutils-cut-huge-range-test.patch: New file. * gnu/packages/base.scm (coreutils)[native-inputs]: Add it as an input. [arguments] <#:phases>: On ARM, add 'patch-cut-test' phase. * gnu/local.mk (dist_patch_DATA): Add 'coreutils-cut-huge-range-test.patch'. --- gnu/local.mk | 1 + gnu/packages/base.scm | 31 +++++++++++++++++++--- .../patches/coreutils-cut-huge-range-test.patch | 22 +++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/coreutils-cut-huge-range-test.patch (limited to 'gnu/packages/base.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 6df3e58465..ba908cd4aa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -514,6 +514,7 @@ dist_patch_DATA = \ %D%/packages/patches/clx-remove-demo.patch \ %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 \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ba9c820efa..2a6f6a43ed 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -307,9 +307,17 @@ 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)))) + `(,@(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"))) + '()))) (outputs '("out" "debug")) (arguments `(#:parallel-build? #f ; help2man may be called too early @@ -328,7 +336,22 @@ used to apply commands with arbitrarily long arguments.") (substitute* (find-files "tests" "\\.sh$") (("#!/bin/sh") (format #f "#!~a/bin/sh" bash))))) - %standard-phases))) + + ,@(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))))) (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 new file mode 100644 index 0000000000..0be2cef2b8 --- /dev/null +++ b/gnu/packages/patches/coreutils-cut-huge-range-test.patch @@ -0,0 +1,22 @@ +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: + + commit 28803c8a3144d5d4363cdbd148bbe067af1a67c2 + Author: Pádraig Brady + Date: Fri Mar 3 00:25:54 2017 -0800 + + tests: avoid a spurious failure on older debian + +... which appeared to be insufficient. + +--- a/tests/misc/cut-huge-range.sh ++++ b/tests/misc/cut-huge-range.sh +@@ -22,6 +22,7 @@ getlimits_ + + vm=$(get_min_ulimit_v_ cut -b1 /dev/null) \ + || skip_ "this shell lacks ulimit support" ++vm=$(($vm + $(getconf PAGESIZE))) # avoid spurious failures + + # sed script to subtract one from the input. + # Each input line should consist of a positive decimal number. -- cgit v1.2.3