summaryrefslogtreecommitdiff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm187
1 files changed, 93 insertions, 94 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 07ae4b70ae..f53dee73ec 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -2,16 +2,17 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -168,16 +169,16 @@ implementation offers several extensions over the standard utility.")
(define-public tar
(package
(name "tar")
- (version "1.29")
+ (version "1.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/tar/tar-"
version ".tar.xz"))
(sha256
(base32
- "097hx7sbzp8qirl4m930lw84kn0wmxhmq7v1qpra3mrg0b8cyba0"))
- (patches (search-patches "tar-CVE-2016-6321.patch"
- "tar-skip-unreliable-tests.patch"))))
+ "1lyjyk8z8hdddsxw0ikchrsfg3i0x3fsh7l63a8jgaz1n7dr5gzi"))
+ (patches (search-patches "tar-skip-unreliable-tests.patch"
+ "tar-remove-wholesparse-check.patch"))))
(build-system gnu-build-system)
;; Note: test suite requires ~1GiB of disk space.
(arguments
@@ -189,7 +190,13 @@ implementation offers several extensions over the standard utility.")
(substitute* "src/system.c"
(("/bin/sh")
(string-append bash "/bin/sh")))
- #t))))))
+ #t))))
+
+ ;; Test #92 "link mismatch" expects "a/z: Not linked to a/y" but gets
+ ;; "a/y: Not linked to a/z" and fails, presumably due to differences in
+ ;; the order in which 'diff' traverses directories. That leads to a
+ ;; test failure even though conceptually the test passes. Skip it.
+ #:make-flags '("TESTSUITEFLAGS=-k '!link mismatch'")))
;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
;; to refer to the target Bash.
@@ -211,14 +218,14 @@ standard utility.")
(define-public patch
(package
(name "patch")
- (version "2.7.5")
+ (version "2.7.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/patch/patch-"
version ".tar.xz"))
(sha256
(base32
- "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))
+ "1zfqy4rdcy279vwn2z1kbv19dcfw25d2aqy9nzvdkq5bjzd0nqdc"))
(patches (search-patches "patch-hurd-path-max.patch"))))
(build-system gnu-build-system)
(native-inputs `(("ed" ,ed)))
@@ -304,14 +311,14 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
- (version "8.28")
+ (version "8.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
- "0r8c1bgm68kl70j1lgd0rv12iykw6143k4m9a56xip9rc2hv25qi"))))
+ "0plm1zs9il6bb5mk881qvbghq4glc8ybbgakk2lfzb0w64fgml4j"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp) ;bignums in 'expr', yay!
@@ -408,16 +415,15 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.28.1")
+ (version "2.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "1sj234nd05cdgga1r36zalvvdkvpfbr12g5mir2n8i1dwsdrj939"))
- (patches (search-patches "binutils-ld-new-dtags.patch"
- "binutils-loongson-workaround.patch"))))
+ "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg"))
+ (patches (search-patches "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
;; TODO: Add dependency on zlib + those for Gold.
@@ -426,6 +432,12 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc"
+ ;; Turn on --enable-new-dtags by default to make the
+ ;; linker set RUNPATH instead of RPATH on binaries.
+ ;; This is important because RUNPATH can be overriden
+ ;; using LD_LIBRARY_PATH at runtime.
+ "--enable-new-dtags"
+
;; Don't search under /usr/lib & co.
"--with-lib-path=/no-ld-lib-path"
@@ -538,7 +550,6 @@ store.")
;; Note: Always use a dot after the minor version since various places rely
;; on "version-major+minor" to determine where locales are found.
(version "2.26.105-g0890d5379c")
- (replacement glibc-2.26-patched)
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
@@ -551,13 +562,15 @@ store.")
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
;; instead of ours.
- '(substitute* "sysdeps/unix/sysv/linux/configure"
- (("use_ldconfig=yes")
- "use_ldconfig=no")))
+ '(begin
+ (substitute* "sysdeps/unix/sysv/linux/configure"
+ (("use_ldconfig=yes")
+ "use_ldconfig=no"))
+ #t))
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"))))
+ "glibc-allow-kernel-2.6.32.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -799,14 +812,13 @@ with the Linux kernel.")
;; Force mach/hurd/libpthread subdirs to build first in order to avoid
;; linking errors.
;; See <https://lists.gnu.org/archive/html/bug-hurd/2016-11/msg00045.html>
- (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)))))))))
+ (let ((flags (list "-j" (number->string (parallel-job-count)))))
+ (define (make target)
+ (apply invoke "make" target flags))
+ (make "mach/subdir_lib")
+ (make "hurd/subdir_lib")
+ (make "libpthread/subdir_lib")
+ (apply invoke "make" flags))))))
((#:configure-flags original-configure-flags)
`(append (list "--host=i586-pc-gnu"
@@ -841,14 +853,6 @@ 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 glibc-2.26-patched
- (package
- (inherit glibc)
- (source (origin
- (inherit (package-source glibc))
- (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")
- (origin-patches (package-source glibc))))))))
-
(define-public glibc-2.25
(package
(inherit glibc)
@@ -862,7 +866,6 @@ GLIBC/HURD for a Hurd host"
"1813dzkgw6v8q8q1m4v96yfis7vjqc9pslqib6j9mrwh6fxxjyq6"))
(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"
@@ -881,7 +884,6 @@ GLIBC/HURD for a Hurd host"
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2017-1000366-pt1.patch"
@@ -901,7 +903,6 @@ GLIBC/HURD for a Hurd host"
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2016-3075.patch"
@@ -923,6 +924,7 @@ GLIBC/HURD for a Hurd host"
(base32
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
(patches (search-patches "glibc-ldd-x86_64.patch"
+ "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2015-7547.patch"
@@ -965,8 +967,8 @@ the 'share/locale' sub-directory of this package.")
`(modify-phases ,phases
(replace 'build
(lambda _
- (zero? (system* "make" "localedata/install-locales"
- "-j" (number->string (parallel-job-count))))))
+ (invoke "make" "localedata/install-locales"
+ "-j" (number->string (parallel-job-count)))))
(delete 'install)
(delete 'move-static-libs)))
((#:configure-flags flags)
@@ -987,8 +989,7 @@ the 'share/locale' sub-directory of this package.")
(arguments
`(#:modules ((guix build utils))
#:builder (begin
- (use-modules (srfi srfi-1)
- (guix build utils))
+ (use-modules (guix build utils))
(let* ((libc (assoc-ref %build-inputs "glibc"))
(gzip (assoc-ref %build-inputs "gzip"))
@@ -999,27 +1000,27 @@ the 'share/locale' sub-directory of this package.")
(setenv "PATH" (string-append libc "/bin:" gzip "/bin"))
(mkdir-p localedir)
- (every (lambda (locale)
- (define file
- ;; Use the "normalized codeset" by
- ;; default--e.g., "en_US.utf8".
- (string-append localedir "/" locale ".utf8"))
-
- (and (zero? (system* "localedef" "--no-archive"
- "--prefix" localedir
- "-i" locale
- "-f" "UTF-8" file))
- (begin
- ;; For backward compatibility with Guix
- ;; <= 0.8.3, add "xx_YY.UTF-8".
- (symlink (string-append locale ".utf8")
- (string-append localedir "/"
- locale ".UTF-8"))
- #t)))
-
- ;; These are the locales commonly used for
- ;; tests---e.g., in Guile's i18n tests.
- '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))))))
+ (for-each (lambda (locale)
+ (define file
+ ;; Use the "normalized codeset" by
+ ;; default--e.g., "en_US.utf8".
+ (string-append localedir "/" locale ".utf8"))
+
+ (invoke "localedef" "--no-archive"
+ "--prefix" localedir
+ "-i" locale
+ "-f" "UTF-8" file)
+
+ ;; For backward compatibility with Guix
+ ;; <= 0.8.3, add "xx_YY.UTF-8".
+ (symlink (string-append locale ".utf8")
+ (string-append localedir "/"
+ locale ".UTF-8")))
+
+ ;; These are the locales commonly used for
+ ;; tests---e.g., in Guile's i18n tests.
+ '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))
+ #t))))
(inputs `(("glibc" ,glibc)
("gzip" ,gzip)))
(synopsis "Small sample of UTF-8 locales")
@@ -1063,30 +1064,25 @@ command.")
"--host=i586-pc-gnu"
"--enable-obsolete-rpc"))
((#:phases _)
- '(alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (and (zero? (system* "make" "install-headers"))
-
- ;; Make an empty stubs.h to work around not being able to
- ;; produce a valid stubs.h and causing the build to fail. See
- ;; <http://lists.gnu.org/archive/html/guix-devel/2014-04/msg00233.html>.
- (let ((out (assoc-ref outputs "out")))
- (close-port
- (open-output-file
- (string-append out "/include/gnu/stubs.h"))))))
-
- ;; Nothing to build.
- (alist-delete
- 'build
-
- (alist-cons-before
- 'configure 'pre-configure
- (lambda _
- ;; Use the right 'pwd'.
- (substitute* "configure"
- (("/bin/pwd") "pwd")))
- %standard-phases))))))))
+ '(modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "install-headers")
+
+ ;; Make an empty stubs.h to work around not being able to
+ ;; produce a valid stubs.h and causing the build to fail. See
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2014-04/msg00233.html>.
+ (let ((out (assoc-ref outputs "out")))
+ (close-port
+ (open-output-file
+ (string-append out "/include/gnu/stubs.h"))))))
+ (delete 'build) ; nothing to build
+ (add-before 'configure 'patch-configure-script
+ (lambda _
+ ;; Use the right 'pwd'.
+ (substitute* "configure"
+ (("/bin/pwd") "pwd"))
+ #t))))))))
(define-public tzdata
(package
@@ -1123,8 +1119,8 @@ command.")
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source inputs #:allow-other-keys)
- (and (zero? (system* "tar" "xvf" source))
- (zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode"))))))
+ (invoke "tar" "xvf" source)
+ (invoke "tar" "xvf" (assoc-ref inputs "tzcode"))))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Move data in the right place.
@@ -1139,7 +1135,8 @@ command.")
(copy-recursively (string-append out "/share/zoneinfo-leaps")
(string-append out "/share/zoneinfo/right"))
(delete-file-recursively
- (string-append out "/share/zoneinfo-leaps")))))
+ (string-append out "/share/zoneinfo-leaps"))
+ #t)))
(delete 'configure))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
@@ -1237,9 +1234,11 @@ and daylight-saving rules.")
(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.*") "")))))
+ '(begin
+ (substitute* "srclib/stdio.in.h"
+ (("^#undef gets") "")
+ (("^_GL_WARN_ON_USE \\(gets.*") ""))
+ #t))))
(build-system gnu-build-system)
(synopsis "Character set conversion library")
(description