diff options
-rw-r--r-- | gnu-system.am | 2 | ||||
-rw-r--r-- | gnu/packages/base.scm | 10 | ||||
-rw-r--r-- | gnu/packages/m4.scm | 16 | ||||
-rw-r--r-- | gnu/packages/patches/glibc-ldd-x86_64.patch | 10 | ||||
-rw-r--r-- | gnu/packages/patches/m4-s_isdir.patch | 14 | ||||
-rw-r--r-- | guix/build/utils.scm | 39 | ||||
-rw-r--r-- | guix/scripts/pull.scm | 4 |
7 files changed, 45 insertions, 50 deletions
diff --git a/gnu-system.am b/gnu-system.am index a7fbb27252..304c51f6cf 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -210,6 +210,7 @@ dist_patch_DATA = \ gnu/packages/patches/glib-tests-homedir.patch \ gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ + gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/glibc-no-ld-so-cache.patch \ gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ @@ -221,7 +222,6 @@ dist_patch_DATA = \ gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/m4-gets-undeclared.patch \ gnu/packages/patches/m4-readlink-EINVAL.patch \ - gnu/packages/patches/m4-s_isdir.patch \ gnu/packages/patches/make-impure-dirs.patch \ gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index b8efb6e9d8..5a32e57535 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -387,14 +387,14 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") (define-public glibc (package (name "glibc") - (version "2.17") + (version "2.18") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "0gmjnn4kma9vgizccw1jv979xw55a8n1nkk94gg0l3hy80vy6539")))) + "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")))) (build-system gnu-build-system) ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc @@ -409,7 +409,8 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") (arguments `(#:out-of-source? #t - #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")) + #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache") + (assoc-ref %build-inputs "patch/ldd")) #:configure-flags (list "--enable-add-ons" "--sysconfdir=/etc" @@ -422,7 +423,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") (assoc-ref %outputs "locales") "/share/locale") - (string-append "--with-headers=" (assoc-ref %build-inputs "linux-headers") "/include") @@ -496,6 +496,8 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") (inputs `(("patch/ld.so.cache" ,(search-patch "glibc-no-ld-so-cache.patch")) + ("patch/ldd" + ,(search-patch "glibc-ldd-x86_64.patch")) ("static-bash" ,(static-package bash-light)))) (synopsis "The GNU C Library") (description diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm index 0be1824382..17ca7c8440 100644 --- a/gnu/packages/m4.scm +++ b/gnu/packages/m4.scm @@ -26,14 +26,14 @@ (define-public m4 (package (name "m4") - (version "1.4.16") + (version "1.4.17") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/m4/m4-" version ".tar.bz2")) (sha256 (base32 - "035r7ma272j2cwni2961jp22k6bn3n9xwn3b3qbcn2yrvlghql22")))) + "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf")))) (build-system gnu-build-system) (arguments ;; XXX: Disable tests on those platforms with know issues. @@ -41,10 +41,8 @@ '("x86_64-darwin" "i686-cygwin" "i686-sunos"))) - #:patches (list (assoc-ref %build-inputs "patch/s_isdir") - (assoc-ref %build-inputs - "patch/readlink-EINVAL") - (assoc-ref %build-inputs "patch/gets")) + #:patches (list (assoc-ref %build-inputs + "patch/readlink-EINVAL")) #:phases (alist-cons-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) @@ -57,10 +55,8 @@ (("/bin/sh") (format #f "~a/bin/bash" bash))))) %standard-phases))) - (inputs `(("patch/s_isdir" ,(search-patch "m4-s_isdir.patch")) - ("patch/readlink-EINVAL" - ,(search-patch "m4-readlink-EINVAL.patch")) - ("patch/gets" ,(search-patch "m4-gets-undeclared.patch")))) + (inputs `(("patch/readlink-EINVAL" + ,(search-patch "m4-readlink-EINVAL.patch")))) (synopsis "Macro processor") (description "GNU M4 is an implementation of the traditional Unix macro processor. It diff --git a/gnu/packages/patches/glibc-ldd-x86_64.patch b/gnu/packages/patches/glibc-ldd-x86_64.patch new file mode 100644 index 0000000000..b1b6d5a548 --- /dev/null +++ b/gnu/packages/patches/glibc-ldd-x86_64.patch @@ -0,0 +1,10 @@ +By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas +it's in 'lib/' for us. This patch fixes that. + +--- glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2012-12-25 04:02:13.000000000 +0100 ++++ glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2013-09-15 23:08:03.000000000 +0200 +@@ -1,3 +1,3 @@ + /LD_TRACE_LOADED_OBJECTS=1/a\ + add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out" +-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_ ++s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \2\4-x86-64\6 \2x32\4-x32\6"_ diff --git a/gnu/packages/patches/m4-s_isdir.patch b/gnu/packages/patches/m4-s_isdir.patch deleted file mode 100644 index a009a4ba44..0000000000 --- a/gnu/packages/patches/m4-s_isdir.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fails to build with glibc 2.12.1 without this patch. - -http://lists.gnu.org/archive/html/bug-m4/2010-05/msg00002.html - ---- a/src/path.c -+++ b/src/path.c -@@ -22,6 +22,7 @@ - /* Handling of path search of included files via the builtins "include" - and "sinclude". */ - - #include "m4.h" -+#include "sys/stat.h" - - struct includes diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 06e88b1ff8..8cc9c1ee1f 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -185,29 +185,32 @@ but ignore errors." lstat)) (define (find-files dir regexp) - "Return the list of files under DIR whose basename matches REGEXP." + "Return the lexicographically sorted list of files under DIR whose basename +matches REGEXP." (define file-rx (if (regexp? regexp) regexp (make-regexp regexp))) - (file-system-fold (const #t) - (lambda (file stat result) ; leaf - (if (regexp-exec file-rx (basename file)) - (cons file result) - result)) - (lambda (dir stat result) ; down - result) - (lambda (dir stat result) ; up - result) - (lambda (file stat result) ; skip - result) - (lambda (file stat errno result) - (format (current-error-port) "find-files: ~a: ~a~%" - file (strerror errno)) - #f) - '() - dir)) + ;; Sort the result to get deterministic results. + (sort (file-system-fold (const #t) + (lambda (file stat result) ; leaf + (if (regexp-exec file-rx (basename file)) + (cons file result) + result)) + (lambda (dir stat result) ; down + result) + (lambda (dir stat result) ; up + result) + (lambda (file stat result) ; skip + result) + (lambda (file stat errno result) + (format (current-error-port) "find-files: ~a: ~a~%" + file (strerror errno)) + #f) + '() + dir) + string<?)) ;;; diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index a1b5cdc991..023b83e6a3 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -115,9 +115,7 @@ files." ;; download), we must build it first to avoid errors since ;; (gnutls) is unavailable. (cons (string-append out "/guix/build/download.scm") - - ;; Sort the file names to get deterministic results. - (sort (find-files out "\\.scm") string<?))) + (find-files out "\\.scm"))) ;; Remove the "fake" (guix config). (delete-file (string-append out "/guix/config.scm")) |