diff options
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 072f401fc3..e896dbe2e1 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -361,6 +362,29 @@ 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 @@ -642,6 +666,19 @@ 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.*$") @@ -685,7 +722,15 @@ store.") ;; install the message catalogs, with 'msgfmt'. (native-inputs `(("texinfo" ,texinfo) ("perl" ,perl) - ("gettext" ,gettext-minimal))) + ("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"))) + '()))) (native-search-paths ;; Search path for packages that provide locale data. This is useful |