diff options
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 166 |
1 files changed, 77 insertions, 89 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9aa69cfe77..09cf401617 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,11 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 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, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> @@ -15,6 +15,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com> +;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages algebra) + #:use-module (gnu packages attr) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages ed) @@ -96,14 +98,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "3.4") + (version "3.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq")) + "0gipv6bzkm1aihj0ncqpyh164xrzgcxcv9r1kwzyk2g1mzl1azk6")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it @@ -120,8 +122,7 @@ command-line arguments, multiple languages, and so on.") (substitute* (list (string-append bin "/egrep") (string-append bin "/fgrep")) (("^exec grep") - (string-append "exec " bin "/grep"))) - #t)))))) + (string-append "exec " bin "/grep"))))))))) (synopsis "Print lines matching a pattern") (description "grep is a tool for finding text inside files. Text is found by @@ -144,7 +145,19 @@ including, for example, recursive directory searching.") ".tar.gz")) (sha256 (base32 - "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk")))) + "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk")) + ;; Remove this snippet once upstream releases a fixed version. + ;; This snippet changes Makefile.in, even though the upstream + ;; patch changes testsuite/local.mk, since we build sed from a + ;; release tarball. See: https://bugs.gnu.org/36150 + (snippet + '(begin + (substitute* "Makefile.in" + (("^ abs_srcdir='\\$\\(abs_srcdir\\)'.*" previous-line) + (string-append + previous-line + " CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n"))))) + (modules '((guix build utils))))) (build-system gnu-build-system) (synopsis "Stream editor") (native-inputs @@ -161,14 +174,14 @@ implementation offers several extensions over the standard utility.") (define-public tar (package (name "tar") - (version "1.32") + (version "1.33") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/tar/tar-" version ".tar.xz")) (sha256 (base32 - "1n7xy657ii0sa42zx6944v2m4v9qrh6sqgmw17l3nch3y43sxlyh")) + "0zh6v6rsykgq615fk3pj271nrrbn05z59l8v64fl2fn83m5k9a36")) (patches (search-patches "tar-skip-unreliable-tests.patch" "tar-remove-wholesparse-check.patch")))) (build-system gnu-build-system) @@ -196,8 +209,7 @@ implementation offers several extensions over the standard utility.") (let ((bash (assoc-ref inputs "bash"))) (substitute* "src/system.c" (("/bin/sh") - (string-append bash "/bin/sh"))) - #t)))))) + (string-append bash "/bin/sh"))))))))) ;; When cross-compiling, the 'set-shell-file-name' phase needs to be able ;; to refer to the target Bash. @@ -272,16 +284,15 @@ interactive means to merge two files.") (define-public findutils (package (name "findutils") - (version "4.7.0") + (version "4.8.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/findutils/findutils-" version ".tar.xz")) (sha256 (base32 - "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5")) - (patches (search-patches "findutils-localstatedir.patch" - "findutils-test-rwlock-threads.patch")))) + "0r3i72hnw0a30khlczi9k2c51aamaj6kfmp5mk3844nrjxz7n4jp")) + (patches (search-patches "findutils-localstatedir.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list @@ -293,8 +304,7 @@ interactive means to merge two files.") (substitute* '("tests/xargs/verbose-quote.sh" "tests/find/exec-plus-last-file.sh") (("#!/bin/sh") - (string-append "#!" (which "sh")))) - #t))))) + (string-append "#!" (which "sh"))))))))) (synopsis "Operating on files matching given criteria") (description "Findutils supplies the basic file directory searching utilities of the @@ -320,6 +330,7 @@ used to apply commands with arbitrarily long arguments.") (patches (search-patches "coreutils-ls.patch")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux + ("attr" ,attr) ;for xattrs in ls, mv, etc ("gmp" ,gmp) ;bignums in 'expr', yay! ;; Do not use libcap when cross-compiling since it's not quite @@ -365,15 +376,13 @@ used to apply commands with arbitrarily long arguments.") (substitute* (find-files "gnulib-tests" "\\.c$") (("/bin/sh") (which "sh"))) (substitute* (find-files "tests" "\\.sh$") - (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) + (("#!/bin/sh") (string-append "#!" (which "sh")))))) ,@(if (hurd-target?) `((add-after 'unpack 'remove-tests (lambda _ (substitute* "Makefile.in" ;; this test hangs - (("^ *tests/misc/timeout-group.sh.*") "")) - #t))) + (("^ *tests/misc/timeout-group.sh.*") ""))))) '())))) (synopsis "Core GNU utilities (file, text, shell)") (description @@ -418,8 +427,7 @@ standard.") ;; specific issue, but "env-S.pl" is not adjusted for build ;; environments with long prefixes (/tmp/guix-build-...). (substitute* "Makefile" - (("^.*tests/misc/env-S.pl.*$") "")) - #t))))))))) + (("^.*tests/misc/env-S.pl.*$") ""))))))))))) (define-public gnu-make (package @@ -451,8 +459,7 @@ standard.") (substitute* "src/job.c" (("default_shell =.*$") (format #f "default_shell = \"~a/bin/sh\";\n" - bash))) - #t)))))) + bash))))))))) (synopsis "Remake files automatically") (description "Make is a program that is used to control the production of @@ -486,20 +493,19 @@ change. GNU make offers many powerful extensions over the standard utility.") (substitute* "job.c" (("default_shell =.*$") (format #f "default_shell = \"~a/bin/sh\";\n" - bash))) - #t)))))))) + bash))))))))))) (define-public binutils (package (name "binutils") - (version "2.34") + (version "2.36") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49")) + "13cfscz165p0spals44nzdhjl8l9c9yyixysjajqrhksvj8gd7i0")) (patches (search-patches "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) @@ -524,17 +530,7 @@ 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") - - ;; 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))) + "--enable-deterministic-archives"))) (synopsis "Binary utilities: bfd gas gprof ld") (description @@ -547,18 +543,6 @@ 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. @@ -579,7 +563,7 @@ included.") (properties '()))) (define-public binutils-gold - (package/inherit binutils+documentation + (package/inherit binutils (name "binutils-gold") (arguments `(#:phases @@ -587,8 +571,7 @@ included.") (add-after 'patch-source-shebangs 'patch-more-shebangs (lambda _ (substitute* "gold/Makefile.in" - (("/bin/sh") (which "sh"))) - #t))) + (("/bin/sh") (which "sh")))))) ,@(substitute-keyword-arguments (package-arguments binutils) ; Upstream is aware of unrelocatable test failures on arm*. ((#:tests? _ #f) @@ -687,24 +670,15 @@ the store.") ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.31") + (version "2.32") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj")) - (snippet - ;; 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. - '(begin - (substitute* "sysdeps/unix/sysv/linux/configure" - (("use_ldconfig=yes") - "use_ldconfig=no")) - #t)) - (modules '((guix build utils))) + "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn")) (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-dl-cache.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" @@ -712,7 +686,9 @@ the store.") "glibc-supported-locales.patch" "glibc-hurd-clock_t_centiseconds.patch" "glibc-hurd-clock_gettime_monotonic.patch" - "glibc-hurd-signal-sa-siginfo.patch")))) + "glibc-hurd-signal-sa-siginfo.patch" + "glibc-hurd-mach-print.patch" + "glibc-hurd-gettyent.patch")))) (build-system gnu-build-system) ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc @@ -785,6 +761,11 @@ the store.") '("--disable-werror") '())) + ;; Arrange so that /etc/rpc & co. go to $out/etc. + #:make-flags (list (string-append "sysconfdir=" + (assoc-ref %outputs "out") + "/etc")) + #:tests? #f ; XXX #:phases (modify-phases %standard-phases (add-before @@ -812,6 +793,11 @@ the store.") ;; 4.7.1. ((" -lgcc_s") "")) + ;; Tell the ld.so cache code where the store is. + (substitute* "elf/dl-cache.c" + (("@STORE_DIRECTORY@") + (string-append "\"" (%store-directory) "\""))) + ;; Have `system' use that Bash. (substitute* "sysdeps/posix/system.c" (("#define[[:blank:]]+SHELL_PATH.*$") @@ -847,9 +833,7 @@ the store.") ;; "bilingual" eval/exec magic at the top of the file. "") (("exec @PERL@") - "exec perl")) - - #t))) + "exec perl"))))) (add-after 'install 'move-static-libs (lambda* (#:key outputs #:allow-other-keys) @@ -887,8 +871,7 @@ the store.") ((out) static))) (filter linker-script? (map (cut string-append slib "/" <>) - files))) - #t))) + files)))))) ,@(if (hurd-target?) '((add-after 'install 'augment-libc.so @@ -897,8 +880,7 @@ the store.") (substitute* (string-append out "/lib/libc.so") (("/[^ ]+/lib/libc.so.0.3") (string-append out "/lib/libc.so.0.3" - " libmachuser.so libhurduser.so")))) - #t))) + " libmachuser.so libhurduser.so"))))))) '())))) (inputs `(("static-bash" ,static-bash))) @@ -939,6 +921,17 @@ 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.31 + (package + (inherit glibc) + (version "2.31") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj")))))) + (define-public glibc-2.30 (package (inherit glibc) @@ -1096,8 +1089,7 @@ to the @code{share/locale} sub-directory of this package.") (string-append (dirname directory) "/" name "." normalized))))) - locales) - #t))) + locales)))) (delete 'install) (delete 'move-static-libs))) ((#:configure-flags flags) @@ -1237,8 +1229,7 @@ command.") (let ((out (assoc-ref outputs "out"))) (close-port (open-output-file - (string-append out "/include/gnu/stubs.h")))) - #t)) + (string-append out "/include/gnu/stubs.h")))))) (delete 'build))))))) ; nothing to build (define-public tzdata @@ -1302,8 +1293,7 @@ command.") (copy-recursively (string-append out "/share/zoneinfo-leaps") (string-append out "/share/zoneinfo/right")) (delete-file-recursively - (string-append out "/share/zoneinfo-leaps")) - #t))) + (string-append out "/share/zoneinfo-leaps"))))) (delete 'configure)))) (inputs `(("tzcode" ,(origin (method url-fetch) @@ -1331,7 +1321,7 @@ and daylight-saving rules.") (hidden-package (package (inherit tzdata) - (version "2019c") + (version "2020d") (source (origin (method url-fetch) (uri (string-append @@ -1339,7 +1329,7 @@ and daylight-saving rules.") version ".tar.gz")) (sha256 (base32 - "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr")))) + "1wxskk9mh1x2073n99qna2mq58mgi648mbq5dxlqfcrnvrbkk0cd")))) (inputs `(("tzcode" ,(origin (method url-fetch) @@ -1348,7 +1338,7 @@ and daylight-saving rules.") version ".tar.gz")) (sha256 (base32 - "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn"))))))))) + "1mgsckixmmk9qxzsflfxnp3999qi3ls72bgksclk01g852x51w3c"))))))))) (define-public libiconv (package @@ -1365,11 +1355,9 @@ and daylight-saving rules.") (snippet ;; Work around "declared gets" error on glibc systems (fixed by ;; Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348.) - '(begin - (substitute* "srclib/stdio.in.h" - (("^#undef gets") "") - (("^_GL_WARN_ON_USE \\(gets.*") "")) - #t)))) + '(substitute* "srclib/stdio.in.h" + (("^#undef gets") "") + (("^_GL_WARN_ON_USE \\(gets.*") ""))))) (build-system gnu-build-system) (synopsis "Character set conversion library") (description |