diff options
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 203 |
1 files changed, 116 insertions, 87 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e8150708c0..13bcf7fe9d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,16 +1,16 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.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, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; 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, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -92,14 +92,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "055mqp6vrd0brkygmygb2673qwz409a7kyp1mzbfy6cn94f58q5r")) + "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it @@ -133,14 +133,14 @@ including, for example, recursive directory searching.") (define-public sed (package (name "sed") - (version "4.7") + (version "4.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version - ".tar.xz")) + ".tar.gz")) (sha256 (base32 - "0smxcx66vx29djzb542nxcynl7qnzxqa5032ibazi7x2s267d198")))) + "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk")))) (build-system gnu-build-system) (synopsis "Stream editor") (native-inputs @@ -253,40 +253,29 @@ interactive means to merge two files.") (define-public findutils (package (name "findutils") - (version "4.6.0") + (version "4.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches - "findutils-gnulib-libio.patch" - "findutils-localstatedir.patch" - "findutils-makedev.patch" - "findutils-test-xargs.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; The gnulib test-lock test is prone to writer starvation - ;; with our glibc@2.25, which prefers readers, so disable it. - ;; The gnulib commit b20e8afb0b2 should fix this once - ;; incorporated here. - (substitute* "tests/Makefile.in" - (("test-lock\\$\\(EXEEXT\\) ") "")) - #t)))) + "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5")) + (patches (search-patches "findutils-localstatedir.patch" + "findutils-test-rwlock-threads.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list ;; Tell 'updatedb' to write to /var. - "--localstatedir=/var" - - ;; Work around cross-compilation failure. See - ;; <http://savannah.gnu.org/bugs/?27299#comment1>. - ,@(if (%current-target-system) - '("gl_cv_func_wcwidth_works=yes") - '())))) + "--localstatedir=/var") + #:phases (modify-phases %standard-phases + (add-before 'check 'adjust-test-shebangs + (lambda _ + (substitute* '("tests/xargs/verbose-quote.sh" + "tests/find/exec-plus-last-file.sh") + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + #t))))) (synopsis "Operating on files matching given criteria") (description "Findutils supplies the basic file directory searching utilities of the @@ -371,31 +360,27 @@ functionality beyond that which is outlined in the POSIX standard.") (define-public gnu-make (package (name "make") - (version "4.2.1") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/make/make-" version - ".tar.bz2")) + ".tar.gz")) (sha256 (base32 - "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn")) - (patches (search-patches "make-impure-dirs.patch" - "make-glibc-compat.patch")))) + "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0")) + (patches (search-patches "make-impure-dirs.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) ; to detect Guile - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-3.0))) (outputs '("out" "debug")) (arguments - '(;; Work around faulty glob detection with glibc 2.27. See - ;; <https://lists.nongnu.org/archive/html/bug-make/2017-11/msg00027.html>. - #:configure-flags '("make_cv_sys_gnu_glob=yes") - #:phases + '(#:phases (modify-phases %standard-phases (add-before 'build 'set-default-shell (lambda* (#:key inputs #:allow-other-keys) ;; Change the default shell from /bin/sh. (let ((bash (assoc-ref inputs "bash"))) - (substitute* "job.c" + (substitute* "src/job.c" (("default_shell =.*$") (format #f "default_shell = \"~a/bin/sh\";\n" bash))) @@ -414,14 +399,14 @@ change. GNU make offers many powerful extensions over the standard utility.") (define-public binutils (package (name "binutils") - (version "2.32") + (version "2.34") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "0b8767nyal1bc4cyzg5h9iis8kpkln1i3wkamig75cifj1fb2f6y")) + "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49")) (patches (search-patches "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) @@ -446,7 +431,17 @@ change. GNU make offers many powerful extensions over the standard utility.") ;; Make sure 'ar' and 'ranlib' produce archives in a ;; deterministic fashion. - "--enable-deterministic-archives"))) + "--enable-deterministic-archives") + + ;; XXX: binutils 2.34 was mistakenly released without generated manuals: + ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=25491>. To avoid a + ;; circular dependency on texinfo, prevent the build system from creating + ;; the manuals by calling "true" instead of "makeinfo"... + #:make-flags '("MAKEINFO=true"))) + + ;; ...and "hide" this package so that users who install binutils get the + ;; version with documentation defined below. + (properties '((hidden? . #t))) (synopsis "Binary utilities: bfd gas gprof ld") (description @@ -459,6 +454,37 @@ included.") (license gpl3+) (home-page "https://www.gnu.org/software/binutils/"))) +;; Work around a problem with binutils 2.34 whereby manuals are missing from +;; the release tarball. Remove this and the related code above when updating. +(define-public binutils+documentation + (package/inherit + binutils + (native-inputs + `(("texinfo" ,texinfo))) + (arguments + (substitute-keyword-arguments (package-arguments binutils) + ((#:make-flags _ ''()) ''()))) + (properties '()))) + +;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a +;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream). +;; Keep this version around until the patch is updated. +(define-public binutils-2.33 + (package/inherit + binutils + (version "2.33.1") + (source (origin + (inherit (package-source binutils)) + (uri (string-append "mirror://gnu/binutils/binutils-" + version ".tar.bz2")) + (sha256 + (base32 + "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c")))) + (arguments + (substitute-keyword-arguments (package-arguments binutils) + ((#:make-flags _ ''()) ''()))) + (properties '()))) + (define-public binutils-gold (package (inherit binutils) @@ -567,13 +593,13 @@ the store.") ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.29") + (version "2.31") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj")) (snippet ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is ;; required on LFS distros to avoid loading the distro's libc.so @@ -585,9 +611,6 @@ the store.") #t)) (modules '((guix build utils))) (patches (search-patches "glibc-ldd-x86_64.patch" - "glibc-CVE-2019-7309.patch" - "glibc-CVE-2019-9169.patch" - "glibc-2.29-git-updates.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" @@ -819,6 +842,44 @@ with the Linux kernel.") ;; 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.30 + (package + (inherit glibc) + (version "2.30") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-CVE-2019-19126.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-2.29-supported-locales.patch")))))) + +(define-public glibc-2.29 + (package + (inherit glibc) + (version "2.29") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-CVE-2019-7309.patch" + "glibc-CVE-2019-9169.patch" + "glibc-2.29-git-updates.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-2.29-supported-locales.patch")))))) + (define-public glibc-2.28 (package (inherit glibc) @@ -978,21 +1039,8 @@ with the Linux kernel.") (package-name libc) "-" (package-version libc))) (arguments - (substitute-keyword-arguments - (ensure-keyword-arguments (package-arguments base-gcc) - '(#:implicit-inputs? #f)) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'treat-glibc-as-system-header - (lambda _ - (let ((libc (assoc-ref %build-inputs "libc"))) - ;; GCCs build processes requires that the libc - ;; we're building against is on the system header - ;; search path. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) - #t))))))) + (ensure-keyword-arguments (package-arguments base-gcc) + '(#:implicit-inputs? #f))) (native-inputs `(,@(package-native-inputs base-gcc) ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static"))) @@ -1271,26 +1319,7 @@ and daylight-saving rules.") ;;; package. (define-public tzdata-for-tests (hidden-package - (package - (inherit tzdata) - (version "2019b") - (source (origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzdata" - version ".tar.gz")) - (sha256 - (base32 - "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85")))) - (inputs - `(("tzcode" ,(origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzcode" - version ".tar.gz")) - (sha256 - (base32 - "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf"))))))))) + (package/inherit tzdata))) (define-public libiconv (package |