From a6ac9ca6a506a867a061e39db5c51accc4eb21d3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 13 Apr 2014 23:20:41 +0200 Subject: gnu: gawk: Upgrade to 4.1.1. * gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1. --- gnu/packages/gawk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index 9b22a1e5b8..fe422a2014 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -27,13 +27,13 @@ (define-public gawk (package (name "gawk") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gawk/gawk-" version ".tar.xz")) (sha256 - (base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q")))) + (base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; test suite fails in parallel -- cgit v1.2.3 From 4eb202a3d80bf3129a9b4b8b12f051f8ce184c9e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 13 Apr 2014 23:21:58 +0200 Subject: gnu: gcc-final: Add Texinfo as an input. * gnu/packages/base.scm (gcc-final)[native-inputs]: New field. --- gnu/packages/base.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e6a2242cf0..b986662c3b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1002,6 +1002,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ((#:phases phases) `(alist-delete 'symlink-libgcc_eh ,phases))))) + ;; This time we want Texinfo, so we get the manual. + (native-inputs `(("texinfo" ,texinfo-boot0) + ,@(package-native-inputs gcc-boot0))) + (inputs `(("gmp-source" ,(package-source gmp)) ("mpfr-source" ,(package-source mpfr)) ("mpc-source" ,(package-source mpc)) -- cgit v1.2.3 From 8d846470f2201b47485f6239e8746d5a6ee2c0a9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 14 Apr 2014 00:08:54 +0200 Subject: build-system/gnu: Reset timestamps on build tree when source is a directory. * guix/build/utils.scm (copy-recursively): Add #:keep-mtime? parameter and honor it. * guix/build/gnu-build-system.scm (unpack): Use #:keep-mtime? #t. * gnu/packages/admin.scm (shadow)[arguments]: Remove 'reset-timestamps' phase. --- gnu/packages/admin.scm | 11 +---------- guix/build/gnu-build-system.scm | 6 +++++- guix/build/utils.scm | 18 +++++++++++++----- 3 files changed, 19 insertions(+), 16 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 774194d87b..51b40c889e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -201,16 +201,7 @@ client and server, a telnet client and server, and an rsh client and server.") (delete-file (string-append bin "/groups")) (for-each delete-file (find-files man "^groups\\.")) #t)) - (alist-cons-after - 'unpack 'reset-timestamps - (lambda _ - ;; FIXME: Reset the file timestamps here, until the - ;; 'unpack' phase does it for us. See - ;; . - (for-each (lambda (file) - (utime file 0 0 0)) - (find-files "." ""))) - %standard-phases))))) + %standard-phases)))) (inputs (if (string-suffix? "-linux" (or (%current-target-system) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index da6b31c326..8636931ed9 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -97,7 +97,11 @@ working directory." (begin (mkdir "source") (chdir "source") - (copy-recursively source ".") + + ;; Preserve timestamps (set to the Epoch) on the copied tree so that + ;; things work deterministically. + (copy-recursively source "." + #:keep-mtime? #t) #t) (and (zero? (system* "tar" "xvf" source)) (chdir (first-subdirectory "."))))) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 40af785b88..9779278167 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -134,9 +134,12 @@ return values of applying PROC to the port." (define* (copy-recursively source destination #:key (log (current-output-port)) - (follow-symlinks? #f)) + (follow-symlinks? #f) + keep-mtime?) "Copy SOURCE directory to DESTINATION. Follow symlinks if FOLLOW-SYMLINKS? -is true; otherwise, just preserve them. Write verbose output to the LOG port." +is true; otherwise, just preserve them. When KEEP-MTIME? is true, keep the +modification time of the files in SOURCE on those of DESTINATION. Write +verbose output to the LOG port." (define strip-source (let ((len (string-length source))) (lambda (file) @@ -152,10 +155,15 @@ is true; otherwise, just preserve them. Write verbose output to the LOG port." (let ((target (readlink file))) (symlink target dest))) (else - (copy-file file dest))))) + (copy-file file dest) + (when keep-mtime? + (set-file-time dest stat)))))) (lambda (dir stat result) ; down - (mkdir-p (string-append destination - (strip-source dir)))) + (let ((target (string-append destination + (strip-source dir)))) + (mkdir-p target) + (when keep-mtime? + (set-file-time target stat)))) (lambda (dir stat result) ; up result) (const #t) ; skip -- cgit v1.2.3 From 722111abb7c15b77bc10a2afe0f0fd34106dc250 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 09:36:32 +0200 Subject: gnu: gmp: Upgrade to 6.0.0a. * gnu/packages/multiprecision.scm (gmp): Upgrade to 6.0.0a. * gnu/packages/base.scm (gcc-boot0): Modify symbolic link to point to gmp-6.0.0 instead of the non-existing gmp-6.0.0a. --- gnu/packages/base.scm | 9 +++++++-- gnu/packages/multiprecision.scm | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index b986662c3b..8771d2bf37 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014 Mark H Weaver ;;; @@ -728,9 +729,13 @@ identifier SYSTEM." source))) (list gmp mpfr mpc)) - ;; Create symlinks like `gmp' -> `gmp-5.0.5'. + ;; Create symlinks like `gmp' -> `gmp-x.y.z'. ,@(map (lambda (lib) - `(symlink ,(package-full-name lib) + ;; Drop trailing letters, as gmp-6.0.0a unpacks + ;; into gmp-6.0.0. + `(symlink ,(string-trim-right + (package-full-name lib) + char-set:letter) ,(package-name lib))) (list gmp mpfr mpc)))) (alist-cons-after diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index b77e307aea..377d922a09 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -27,7 +27,7 @@ (define-public gmp (package (name "gmp") - (version "5.1.3") + (version "6.0.0a") (source (origin (method url-fetch) (uri @@ -35,7 +35,7 @@ version ".tar.xz")) (sha256 (base32 - "0wbhn3wih61vjcs94q531fipfvvzqfq2v4qr03rl3xaggyiyvqny")))) + "0r5pp27cy7ch3dg5v0rsny8bib1zfvrza6027g2mp5f6v8pd6mli")))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) (outputs '("out" "debug")) -- cgit v1.2.3 From 6d69a7ed1040cb1f8d7d6910358dc20564314916 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 20 May 2014 14:29:46 +0200 Subject: gnu: ncurses: Set a RUNPATH on the executables and libraries. * gnu/packages/ncurses.scm (ncurses)[arguments]: Add LDFLAGS to #:configure-flags. --- gnu/packages/ncurses.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index b8f6bc834b..de7e6f6721 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -52,7 +52,6 @@ (("cross_compiling:=no") "cross_compiling:=yes")))) (post-install-phase - ;; FIXME: The `tic' binary lacks a RUNPATH; fix it. '(lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) ;; When building a wide-character (Unicode) build, create backward @@ -105,6 +104,11 @@ ,(string-append "--mandir=" (assoc-ref %outputs "out") "/share/man") + ;; Make sure programs like 'tic', 'reset', and 'clear' have a + ;; correct RUNPATH. + ,(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") + "/lib") + ;; C++ bindings fail to build on ;; `i386-pc-solaris2.11' with GCC 3.4.3: ;; . -- cgit v1.2.3 From 953c9fcf8c1a2e0cbebadd9c07591caed7d26f8a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 20 May 2014 14:30:19 +0200 Subject: gnu: ncurses: Build libtinfo. * gnu/packages/ncurses.scm (ncurses)[arguments]: Add --with-termlib to #:configure-flags. --- gnu/packages/ncurses.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index de7e6f6721..95ad57a10c 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -94,6 +94,9 @@ `(#:configure-flags `("--with-shared" "--without-debug" "--enable-widec" + ;; Create a separate libtinfo.so, as many distributions do. + "--with-termlib" + ;; By default headers land in an `ncursesw' subdir, which is not ;; what users expect. ,(string-append "--includedir=" (assoc-ref %outputs "out") -- cgit v1.2.3 From a43da8f90c717db50ecc8bba14193f13c7ad5cf0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 May 2014 23:22:50 +0200 Subject: gnu: gcc-4.8: Upgrade to 4.8.3. * gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.3. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a8d63fc98a..deaf02c6e3 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -218,14 +218,14 @@ Go. It also includes runtime support libraries for these languages.") (define-public gcc-4.8 (package (inherit gcc-4.7) - (version "4.8.2") + (version "4.8.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.bz2")) (sha256 (base32 - "1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09")))))) + "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka")))))) (define-public gcc-4.9 (package (inherit gcc-4.7) -- cgit v1.2.3 From a4d48cc24d0f6bc3c45adf92925d7d901f0763d3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 May 2014 23:23:10 +0200 Subject: gnu: grep: Upgrade to 2.19. * gnu/packages/base.scm (grep): Upgrade to 2.19. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 0139a6b506..3f83ed8d49 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -72,14 +72,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.18") + (version "2.19") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6")))) + "0kf3xvcg2p6lxyzk4ha1x40a0pk2wqa3kkfrcmvazz4cwidjk233")))) (build-system gnu-build-system) (synopsis "Print lines matching a pattern") (description -- cgit v1.2.3 From 0e4e4b1329bcf881620f230fda60b6b63d1f8356 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 00:35:34 +0200 Subject: gnu: gettext: Upgrade to 0.19. * gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19. [arguments] : Remove now unneeded 'link-expat' phase. Patch lang-sh and msgfilter test scripts; patch msginit.c and project-id. Add #:make-flags. --- gnu/packages/gettext.scm | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index e5a2c6e479..c2159db1de 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -34,37 +34,42 @@ (define-public gnu-gettext (package (name "gettext") - (version "0.18.3.2") + (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gettext/gettext-" version ".tar.gz")) (sha256 (base32 - "1my5njl7mp663abpdn8qsm5i462wlhlnb5q50fmhgd0fsr9f996i")))) + "0z44pm0vh4rmj8jq6lww0qhw72r2dkqs31vnlnn851y69dvcgyd9")) + (patches (list (search-patch "gettext.patch"))))) (build-system gnu-build-system) (inputs `(("expat" ,expat))) (arguments `(#:phases (alist-cons-before - 'configure 'link-expat - (lambda _ - (substitute* "gettext-tools/configure" - (("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"") - (("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\""))) - (alist-cons-before 'check 'patch-tests (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (which "sh"))) - (substitute* (find-files "gettext-tools/tests" - "^msgexec-[0-9]") + (let* ((bash (which "sh"))) + (substitute* + (find-files "gettext-tools/tests" + "^(lang-sh|msg(exec|filter)-[0-9])") (("#![[:blank:]]/bin/sh") (format #f "#!~a" bash))) - (substitute* (find-files "gettext-tools/gnulib-tests" - "posix_spawn") + + (substitute* (cons "gettext-tools/src/msginit.c" + (find-files "gettext-tools/gnulib-tests" + "posix_spawn")) (("/bin/sh") - bash)))) - %standard-phases)))) + bash)) + + (substitute* "gettext-tools/src/project-id" + (("/bin/pwd") + "pwd")))) + %standard-phases) + + ;; When tests fail, we want to know the details. + #:make-flags '("VERBOSE=yes"))) (home-page "http://www.gnu.org/software/gettext/") (synopsis "Tools and documentation for translation") (description -- cgit v1.2.3 From 3d78d51d8e069c7f1cb61e201fc072819930ff88 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 00:38:17 +0200 Subject: gnu: Build the final Coreutils before Findutils. This fixes a bug whereby Findutils' 'updatedb' script would retain a reference to the bootstrap binaries ('sort', etc.) * gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables. (%final-inputs): Use them. --- gnu/packages/base.scm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ce95559ba5..937579b7d7 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1114,13 +1114,32 @@ store.") ,@(fold alist-delete (package-inputs ld-wrapper-boot3) '("guile" "bash")))))) +(define coreutils-final + ;; The final Coreutils. Treat them specially because some packages, such as + ;; Findutils, keep a reference to the Coreutils they were built with. + (package-with-bootstrap-guile + (package-with-explicit-inputs coreutils + %boot4-inputs + (current-source-location) + + ;; Use the final Guile, linked against the + ;; final libc with working iconv, so that + ;; 'substitute*' works well when touching + ;; test files in Gettext. + #:guile guile-final))) + +(define %boot5-inputs + ;; Now use the final Coreutils. + `(("coreutils" ,coreutils-final) + ,@%boot4-inputs)) + (define-public %final-inputs ;; Final derivations used as implicit inputs by 'gnu-build-system'. We ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are ;; used for origins that have patches, thereby avoiding circular ;; dependencies. (let ((finalize (compose package-with-bootstrap-guile - (cut package-with-explicit-inputs <> %boot4-inputs + (cut package-with-explicit-inputs <> %boot5-inputs (current-source-location))))) `(,@(map (match-lambda ((name package) @@ -1131,11 +1150,11 @@ store.") ("xz" ,xz) ("diffutils" ,diffutils) ("patch" ,patch) - ("coreutils" ,coreutils) ("sed" ,sed) ("grep" ,grep) ("findutils" ,findutils) ("gawk" ,gawk))) + ("coreutils" ,coreutils-final) ("make" ,gnu-make-final) ("bash" ,bash-final) ("ld-wrapper" ,ld-wrapper) -- cgit v1.2.3 From 1c93be5600fb90a64cbbdf7a55061902d2ff150a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 17:23:53 +0200 Subject: gnu: glibc: Make sure the bootstrap libc is not in $CPATH. This fixes a bug whereby the bootstrap-glibc headers could be picked up when building libc.so, which could be noticed by the fact that the .debug files contained references to bootstrap-glibc. * gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]: Add 'pre-configure' phase. [inputs]: Remove 'alist-delete' call. --- gnu/packages/base.scm | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 937579b7d7..1755ba17e6 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -827,22 +827,37 @@ identifier SYSTEM." ;; Build Sun/ONC RPC support. In particular, ;; install rpc/*.h. "--enable-obsolete-rpc") - ,flags))))) + ,flags)) + ((#:phases phases) + `(alist-cons-before + 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Don't clobber CPATH with the bootstrap libc. + (setenv "NATIVE_CPATH" (getenv "CPATH")) + (unsetenv "CPATH") + + ;; 'rpcgen' needs native libc headers to be built. + (substitute* "sunrpc/Makefile" + (("sunrpc-CPPFLAGS =.*" all) + (string-append "CPATH = $(NATIVE_CPATH)\n" + "export CPATH\n" + all "\n")))) + ,phases))))) (propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0)))) (native-inputs `(("texinfo" ,texinfo-boot0) ("perl" ,perl-boot0))) (inputs - `( ;; A native GCC is needed to build `cross-rpcgen'. + `(;; The boot inputs. That includes the bootstrap libc. We don't want + ;; it in $CPATH, hence the 'pre-configure' phase above. + ,@%boot1-inputs + + ;; A native GCC is needed to build `cross-rpcgen'. ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc")) ;; Here, we use the bootstrap Bash, which is not satisfactory ;; because we don't want to depend on bootstrap tools. - ("static-bash" ,@(assoc-ref %boot0-inputs "bash")) - - ,@%boot1-inputs - ,@(alist-delete "static-bash" - (package-inputs glibc))))))) ; patches + ("static-bash" ,@(assoc-ref %boot0-inputs "bash"))))))) (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC -- cgit v1.2.3 From 2e92375eb1618595df15fd4779eeb3595f919f78 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 19:36:50 +0200 Subject: gnu: glibc-final: Make sure we hold just the right set of references. * gnu/packages/base.scm (glibc-final): Wrap in 'package-with-restricted-references'. --- gnu/packages/base.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1755ba17e6..92c7eb28ef 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -929,12 +929,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define-public glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. - (package (inherit glibc-final-with-bootstrap-bash) - (name "glibc") - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash)))))) + (package-with-restricted-references + (package (inherit glibc-final-with-bootstrap-bash) + (name "glibc") + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash))))) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (cons* gcc-boot0 (linux-libre-headers-boot0) + (package-outputs glibc-final-with-bootstrap-bash)))) (define gcc-boot0-wrapped ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the -- cgit v1.2.3 From 592e8660a167df71488348132b5cd50ef4db662b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 19:39:23 +0200 Subject: gnu: binutils-final: Make sure the output refers only to libc. * gnu/packages/base.scm (binutils-final)[arguments]: Add #:allowed-references. --- gnu/packages/base.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 92c7eb28ef..c4efbbaad3 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -961,6 +961,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (arguments `(#:guile ,%bootstrap-guile #:implicit-inputs? #f + #:allowed-references ("out" ,glibc-final) ,@(package-arguments binutils))) (inputs %boot2-inputs)))) -- cgit v1.2.3 From 2e6a134515b678660beb7fac190b85e41a98e349 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 20:20:09 +0200 Subject: gnu: gcc-final: Make sure the output refers only to libc. * gnu/packages/base.scm (gcc-final)[arguments]: Add #:allowed-references. --- gnu/packages/base.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c4efbbaad3..7423f3c6f1 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1004,6 +1004,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" `(#:guile ,%bootstrap-guile #:implicit-inputs? #f + #:allowed-references ("out" ,glibc-final) + ;; Build again GMP & co. within GCC's build process, because it's hard ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) -- cgit v1.2.3 From a744719d70492f16a7d593902eeec56959fe7f19 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Jun 2014 22:42:57 +0200 Subject: gnu: gettext: Remove debugging leftover. * gnu/packages/gettext.scm (gnu-gettext)[source](patches): Remove. --- gnu/packages/gettext.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index c2159db1de..ce8f76cd5b 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -41,8 +41,7 @@ version ".tar.gz")) (sha256 (base32 - "0z44pm0vh4rmj8jq6lww0qhw72r2dkqs31vnlnn851y69dvcgyd9")) - (patches (list (search-patch "gettext.patch"))))) + "0z44pm0vh4rmj8jq6lww0qhw72r2dkqs31vnlnn851y69dvcgyd9")))) (build-system gnu-build-system) (inputs `(("expat" ,expat))) -- cgit v1.2.3 From 39160232281e393fd3a796807748cc33a2a09eb3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 Jun 2014 10:54:44 +0200 Subject: gnu: libunistring: Work around parallel build issue. * gnu/packages/libunistring.scm (libunistring)[arguments]: New field. --- gnu/packages/libunistring.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index b48cb2d207..a7681009ac 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +36,11 @@ "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1")))) (propagated-inputs '()) ; FIXME: add libiconv when !glibc (build-system gnu-build-system) + (arguments + ;; Work around parallel build issue whereby C files may be compiled before + ;; config.h is built: see and + ;; . + '(#:parallel-build? #f)) (synopsis "C library for manipulating Unicode strings") (description "GNU libunistring is a library providing functions to manipulate -- cgit v1.2.3 From e0a0c84b4f1f1c78cdb444193654471c4971b63a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 Jun 2014 23:24:04 +0200 Subject: gnu: glibc-final: Remove top-level circular dependency. This fixes a top-level circular dependency between linux.scm and base.scm introduced in 2e92375. * gnu/packages/base.scm (glibc-final): Remove call to 'package-with-restricted-references', and use an 'arguments' field instead. --- gnu/packages/base.scm | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7423f3c6f1..3ad2cf4ea0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -929,19 +929,22 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define-public glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. - (package-with-restricted-references - (package (inherit glibc-final-with-bootstrap-bash) - (name "glibc") - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash))))) - - ;; The final libc only refers to itself, but the 'debug' output contains - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great - ;; if 'allowed-references' were per-output. - (cons* gcc-boot0 (linux-libre-headers-boot0) - (package-outputs glibc-final-with-bootstrap-bash)))) + (package (inherit glibc-final-with-bootstrap-bash) + (name "glibc") + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash)))) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (arguments + `(#:allowed-references + ,(cons* gcc-boot0 (linux-libre-headers-boot0) + (package-outputs glibc-final-with-bootstrap-bash)) + + ,@(package-arguments glibc-final-with-bootstrap-bash))))) (define gcc-boot0-wrapped ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the -- cgit v1.2.3 From 84e6756c5734cdfbb79f3b771e8d8fc8f773a795 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 Jun 2014 11:58:43 +0200 Subject: gnu: gcc: Add a "lib" output. * gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add --with-gxx-include-dir. [outputs]: New field. [arguments] : Adjust to use the "lib" output. Add 'substitute*' calls for "libstdc++-v3/python/Makefile.in" and "gcc/config.in". * gnu/packages/base.scm (gcc-boot0) : Use the "lib" output. (cross-gcc-wrapper): Add 'outputs' field. (glibc-final)[arguments]: Adjust #:allowed-references to list '(GCC-BOOT0 "lib"). (libstdc++): Add 'outputs' field. (gcc-final)[arguments]: Add "lib" to #:allowed-references. * gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field. --- gnu/packages/base.scm | 8 +++++--- gnu/packages/gcc.scm | 40 ++++++++++++++++++++++++++++++++++++---- gnu/packages/make-bootstrap.scm | 1 + 3 files changed, 42 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3ad2cf4ea0..499690f666 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -741,7 +741,7 @@ identifier SYSTEM." (alist-cons-after 'install 'symlink-libgcc_eh (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) + (let ((out (assoc-ref outputs "lib"))) ;; Glibc wants to link against libgcc_eh, so provide ;; it. (with-directory-excursion @@ -866,6 +866,7 @@ that makes it available under the native tool names." (name (string-append (package-name gcc) "-wrapped")) (source #f) (build-system trivial-build-system) + (outputs '("out")) (arguments `(#:guile ,%bootstrap-guile #:modules ((guix build utils)) @@ -941,7 +942,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; if 'allowed-references' were per-output. (arguments `(#:allowed-references - ,(cons* gcc-boot0 (linux-libre-headers-boot0) + ,(cons* `(,gcc-boot0 "lib") (linux-libre-headers-boot0) (package-outputs glibc-final-with-bootstrap-bash)) ,@(package-arguments glibc-final-with-bootstrap-bash))))) @@ -993,6 +994,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; "/include/c++/" ;; ,(package-version gcc-4.8) )))) + (outputs '("out")) (inputs %boot2-inputs) (native-inputs '()) (propagated-inputs '()) @@ -1007,7 +1009,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" `(#:guile ,%bootstrap-guile #:implicit-inputs? #f - #:allowed-references ("out" ,glibc-final) + #:allowed-references ("out" "lib" ,glibc-final) ;; Build again GMP & co. within GCC's build process, because it's hard ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index deaf02c6e3..821515f3ed 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -79,6 +79,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC "--with-local-prefix=/no-gcc-local-prefix" + ;; With a separate "lib" output, the build system + ;; incorrectly guesses GPLUSPLUS_INCLUDE_DIR, so force + ;; it. (Don't use a versioned sub-directory, that's + ;; unnecessary.) + ,(string-append "--with-gxx-include-dir=" + (assoc-ref %outputs "out") + "/include/c++") + ,(let ((libc (assoc-ref %build-inputs "libc"))) (if libc (string-append "--with-native-system-header-dir=" libc @@ -103,6 +111,12 @@ where the OS part is overloaded to denote a specific ABI---into GCC (base32 "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g")))) (build-system gnu-build-system) + + ;; Separate out the run-time support libraries because all the + ;; dynamic-linked objects depend on it. + (outputs '("out" ; commands, etc. (60+ MiB) + "lib")) ; libgcc_s, libgomp, etc. (15+ MiB) + (inputs `(("gmp" ,gmp) ("mpfr" ,mpfr) ("mpc" ,mpc) @@ -143,8 +157,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC (alist-cons-before 'configure 'pre-configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc"))) + (let ((libdir (or (assoc-ref outputs "lib") + (assoc-ref outputs "out"))) + (libc (assoc-ref inputs "libc"))) (when libc ;; The following is not performed for `--without-headers' ;; cross-compiler builds. @@ -170,7 +185,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; .) (format #f "#define GNU_USER_TARGET_LIB_SPEC \ \"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a" - libc libc out out suffix)) + libc libc libdir libdir suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" #define STANDARD_STARTFILE_PREFIX_2 \"\" @@ -180,7 +195,24 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; Don't retain a dependency on the build-time sed. (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =.*;") - "static char const sed_cmd_z[] = \"sed\";")))) + "static char const sed_cmd_z[] = \"sed\";")) + + ;; Move libstdc++*-gdb.py to the "lib" output to avoid a + ;; circularity between "out" and "lib". (Note: + ;; --with-python-dir is useless because it imposes $(prefix) as + ;; the parent directory.) + (substitute* "libstdc++-v3/python/Makefile.in" + (("pythondir = .*$") + (string-append "pythondir = " libdir "/share" + "/gcc-$(gcc_version)/python\n"))) + + ;; Avoid another circularity between the outputs: this #define + ;; ends up in auto-host.h in the "lib" output, referring to + ;; "out". (This variable is used to augment cpp's search path, + ;; but there's nothing useful to look for here.) + (substitute* "gcc/config.in" + (("PREFIX_INCLUDE_DIR") + "PREFIX_INCLUDE_DIR_isnt_necessary_here")))) (alist-cons-after 'configure 'post-configure diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2e3e9ec4c1..a6079553cc 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -393,6 +393,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-with-relocatable-glibc (package (inherit gcc-4.8) (name "gcc-static") + (outputs '("out")) ; all in one (arguments `(#:modules ((guix build utils) (guix build gnu-build-system) -- cgit v1.2.3 From b47b2b52759e6c706fb988c220f913eff95c17cd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 Jun 2014 12:22:05 +0200 Subject: gnu: coreutils: Remove run-time dependency on Bash. * gnu/packages/base.scm (coreutils)[arguments] : Leave src/split.c unpatched. Set $SHELL. Use .../bin/sh and not .../bin/bash in tests. --- gnu/packages/base.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 499690f666..cfa9a8ffcd 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -263,14 +263,16 @@ used to apply commands with arbitrarily long arguments.") 'build 'patch-shell-references (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* (cons "src/split.c" - (find-files "gnulib-tests" - "\\.c$")) + ;; 'split' uses either $SHELL or /bin/sh. Set $SHELL so + ;; that tests pass, since /bin/sh isn't in the chroot. + (setenv "SHELL" (which "sh")) + + (substitute* (find-files "gnulib-tests" "\\.c$") (("/bin/sh") (format #f "~a/bin/sh" bash))) (substitute* (find-files "tests" "\\.sh$") (("#!/bin/sh") - (format #f "#!~a/bin/bash" bash))))) + (format #f "#!~a/bin/sh" bash))))) %standard-phases))) (synopsis "Core GNU utilities (file, text, shell)") (description -- cgit v1.2.3 From a49c57a7931589001695397ccf03c4c91b4e1045 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 Jun 2014 22:45:01 +0200 Subject: gnu: cross-gcc: Use a single output. * gnu/packages/cross-base.scm (cross-gcc): Add 'outputs' field. --- gnu/packages/cross-base.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 41128b73cd..bba85e3c0a 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,7 +76,13 @@ GCC that does not target a libc; otherwise, target that libc." target)) (source (origin (inherit (package-source gcc-4.8)) (patches - (list (search-patch "gcc-cross-environment-variables.patch"))))) + (list (search-patch + "gcc-cross-environment-variables.patch"))))) + + ;; For simplicity, use a single output. Otherwise libgcc_s & co. are not + ;; found by default, etc. + (outputs '("out")) + (arguments `(#:implicit-inputs? #f #:modules ((guix build gnu-build-system) -- cgit v1.2.3 From 288a09ca91f1847392d9e7ab47fa059b070a5ee8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 12 Jun 2014 23:27:25 +0200 Subject: gnu: make-bootstrap: Fix compilation of %gcc-static. * gnu/packages/make-bootstrap.scm (%gcc-static)[arguments] <#:configure-flags>: Add --disable-bootstrap --with-stage1-ldflags=-static. Remove #:make-flags. --- gnu/packages/make-bootstrap.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index a6079553cc..a09363a855 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -405,6 +405,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ((#:implicit-inputs? _) #t) ((#:configure-flags flags) `(append (list + ;; We don't need a full bootstrap here. + "--disable-bootstrap" + + ;; Make sure '-static' is passed where it matters. + "--with-stage1-ldflags=-static" + "--disable-shared" "--disable-plugin" "--enable-languages=c" @@ -417,11 +423,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." "--disable-libquadmath" "--disable-decimal-float") (remove (cut string-match "--(.*plugin|enable-languages)" <>) - ,flags))) - ((#:make-flags flags) - (if (%current-target-system) - `(cons "LDFLAGS=-static" ,flags) - `(cons "BOOT_LDFLAGS=-static" ,flags)))))) + ,flags)))))) (native-inputs (if (%current-target-system) `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both -- cgit v1.2.3 From cf02d3a5d727548f214b583a911cc9fda06c4613 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 12 Jun 2014 23:33:15 +0200 Subject: gnu: gettext: Upgrade to 0.19.1. * gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.1. --- gnu/packages/gettext.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index ce8f76cd5b..a4c8ef1a34 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -34,14 +34,14 @@ (define-public gnu-gettext (package (name "gettext") - (version "0.19") + (version "0.19.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gettext/gettext-" version ".tar.gz")) (sha256 (base32 - "0z44pm0vh4rmj8jq6lww0qhw72r2dkqs31vnlnn851y69dvcgyd9")))) + "1ih104j74dw90cb18ym50qlks3k6632zsiv2c94fnpyzbgcp2x18")))) (build-system gnu-build-system) (inputs `(("expat" ,expat))) -- cgit v1.2.3 From df142dd40eae6c8267b3bbe3a16d1f3b9c49c605 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 12 Jun 2014 23:35:02 +0200 Subject: gnu: grep: Upgrade to 2.20. * gnu/packages/base.scm (grep): Upgrade to 2.20. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index cfa9a8ffcd..bbeee3f0cd 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -72,14 +72,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.19") + (version "2.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "0kf3xvcg2p6lxyzk4ha1x40a0pk2wqa3kkfrcmvazz4cwidjk233")))) + "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh")))) (build-system gnu-build-system) (synopsis "Print lines matching a pattern") (description -- cgit v1.2.3 From 37550e67b9e9f70b72752b563028373eae8d99de Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Jun 2014 15:57:23 +0200 Subject: gnu: make-bootstrap: Use single-output GCCs. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]: Add 'outputs' field for the rewritten GCC. (%gcc-stripped): Add 'outputs' field. --- gnu/packages/make-bootstrap.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index a09363a855..eeceb15db3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -103,6 +103,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ,@%final-inputs)) `(("libc" ,(glibc-for-bootstrap)) ("gcc" ,(package (inherit gcc-4.8) + (outputs '("out")) ; all in one so libgcc_s is easily found (inputs `(("libc",(glibc-for-bootstrap)) ,@(package-inputs gcc-4.8))))) @@ -445,6 +446,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "gcc-stripped") (build-system trivial-build-system) (source #f) + (outputs '("out")) ;only one output (arguments `(#:modules ((guix build utils)) #:builder -- cgit v1.2.3 From 97b465feb1e4742a8a85fd9b835d32b7acfe8b41 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Jun 2014 17:57:41 +0200 Subject: gnu: make-bootstrap: Build libstdc++ in '%gcc-static'. * gnu/packages/make-bootstrap.scm (%gcc-static): Re-enable C++. --- gnu/packages/make-bootstrap.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index eeceb15db3..e50d56ed92 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -412,9 +412,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; Make sure '-static' is passed where it matters. "--with-stage1-ldflags=-static" + ;; GCC 4.8+ requires a C++ compiler and library. + "--enable-languages=c,c++" + "--disable-shared" "--disable-plugin" - "--enable-languages=c" "--disable-libmudflap" "--disable-libatomic" "--disable-libsanitizer" -- cgit v1.2.3 From c4873bc4f5354fe4d51750834e56944720422541 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 15:34:56 +0200 Subject: gnu: make-bootstrap: Build %gcc-static with --disable-lto. * gnu/packages/make-bootstrap.scm (%gcc-static): Pass --disable-lto. --- gnu/packages/make-bootstrap.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index e50d56ed92..a9b8457234 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -415,6 +415,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; GCC 4.8+ requires a C++ compiler and library. "--enable-languages=c,c++" + ;; Make sure gcc-nm doesn't require liblto_plugin.so. + "--disable-lto" + "--disable-shared" "--disable-plugin" "--disable-libmudflap" -- cgit v1.2.3 From 6e3ecad6ca547c1a03d62b80be3eac2a0206d52e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 15:58:23 +0200 Subject: gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable. * gnu/packages/make-bootstrap.scm (%gcc-stripped): When (%current-target-system) is false, run gcc, g++, and cpp with --version. --- gnu/packages/make-bootstrap.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index a9b8457234..2808bebee3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -485,7 +485,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; (‘genchecksum’, ‘gcc-nm’, etc.) rely on C++ headers. (copy-recursively (string-append gcc "/include/c++") (string-append includedir "/c++")) - #t)))) + + ;; For native builds, check whether the binaries actually work. + ,(if (%current-target-system) + '#t + '(every (lambda (prog) + (zero? (system* (string-append gcc "/bin/" prog) + "--version"))) + '("gcc" "g++" "cpp"))))))) (inputs `(("gcc" ,%gcc-static))))) (define %guile-static -- cgit v1.2.3 From fd0b276624fdd9aebe9ebf3f64bf9571bed3517d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 16:04:30 +0200 Subject: gnu: gcc: Fix cross-compilation of gcc (Canadian cross). * gnu/packages/gcc.scm (gcc-4.7)[arguments] <#:make-flags>: When (%current-target-system) is true, pass the empty list or '("CFLAGS=-g0 -O2"). --- gnu/packages/gcc.scm | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 821515f3ed..86134811d3 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -133,24 +133,30 @@ where the OS part is overloaded to denote a specific ABI---into GCC #:strip-binaries? ,stripped? #:configure-flags ,(configure-flags) #:make-flags - (let* ((libc (assoc-ref %build-inputs "libc")) - (libc-native (or (assoc-ref %build-inputs "libc-native") - libc))) - `(,@(if libc - (list (string-append "LDFLAGS_FOR_TARGET=" - "-B" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker))) - '()) - - ;; Native programs like 'genhooks' also need that right. - ,(string-append "LDFLAGS=" - "-Wl,-rpath=" libc-native "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc-native ,(glibc-dynamic-linker)) - ,(string-append "BOOT_CFLAGS=-O2 " - ,(if stripped? "-g0" "-g")))) + ;; None of the flags below are needed when doing a Canadian cross. + ;; TODO: Simplify this. + ,(if (%current-target-system) + (if stripped? + ''("CFLAGS=-g0 -O2") + ''()) + `(let* ((libc (assoc-ref %build-inputs "libc")) + (libc-native (or (assoc-ref %build-inputs "libc-native") + libc))) + `(,@(if libc + (list (string-append "LDFLAGS_FOR_TARGET=" + "-B" libc "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc + ,(glibc-dynamic-linker))) + '()) + + ;; Native programs like 'genhooks' also need that right. + ,(string-append "LDFLAGS=" + "-Wl,-rpath=" libc-native "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc-native ,(glibc-dynamic-linker)) + ,(string-append "BOOT_CFLAGS=-O2 " + ,(if stripped? "-g0" "-g"))))) #:tests? #f #:phases -- cgit v1.2.3 From 6b9229ca512a38160156635edc9334eee44470ec Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 22:16:03 +0200 Subject: gnu: gcc: Don't use the 'install-strip' target when cross-compiling. * gnu/packages/gcc.scm (gcc-4.7): Add 'install-target' variable. Use it in the 'install' phase. --- gnu/packages/gcc.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 86134811d3..e845b6ccb4 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -51,6 +51,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC (define-public gcc-4.7 (let* ((stripped? #t) ; TODO: make this a parameter + (install-target + ;; The 'install-strip' rule uses the native 'strip' instead of + ;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that + ;; case. + (if (and stripped? (not (%current-target-system))) + "install-strip" + "install")) (maybe-target-tools (lambda () ;; Return the `_FOR_TARGET' variables that are needed when @@ -231,10 +238,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) (zero? - (system* "make" - ,(if stripped? - "install-strip" - "install")))) + (system* "make" ,install-target))) %standard-phases))))) (native-search-paths -- cgit v1.2.3 From d2e2f142268e32ea2d42990cddfc7df2136741f3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 22:21:29 +0200 Subject: gnu: gcc-4.7: Upgrade to 4.7.4. * gnu/packages/gcc.scm (gcc-4.7): Upgrade to 4.7.4. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index e845b6ccb4..93dc6c0565 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -109,14 +109,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC (maybe-target-tools)))))) (package (name "gcc") - (version "4.7.3") + (version "4.7.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.bz2")) (sha256 (base32 - "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g")))) + "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj")))) (build-system gnu-build-system) ;; Separate out the run-time support libraries because all the -- cgit v1.2.3 From 5c860cec8329cbcf68504791c01b6ebd0571e783 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jun 2014 23:28:28 +0200 Subject: gnu: gcc: Really avoid 'install-strip' when cross-compiling. This is a followup to 6b9229c. * gnu/packages/gcc.scm (gcc-4.7): Turn 'install-target' into a thunk, so (%current-target-system) is current. --- gnu/packages/gcc.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 93dc6c0565..c927e6e49c 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -52,12 +52,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC (define-public gcc-4.7 (let* ((stripped? #t) ; TODO: make this a parameter (install-target - ;; The 'install-strip' rule uses the native 'strip' instead of - ;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that - ;; case. - (if (and stripped? (not (%current-target-system))) - "install-strip" - "install")) + (lambda () + ;; The 'install-strip' rule uses the native 'strip' instead of + ;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that + ;; case. + (if (and stripped? (not (%current-target-system))) + "install-strip" + "install"))) (maybe-target-tools (lambda () ;; Return the `_FOR_TARGET' variables that are needed when @@ -238,7 +239,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) (zero? - (system* "make" ,install-target))) + (system* "make" ,(install-target)))) %standard-phases))))) (native-search-paths -- cgit v1.2.3 From 09ba396c02405eac12215fd2d5d535a70a75c158 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 Jun 2014 11:53:02 +0200 Subject: gnu: Remove dependency from gzip to the bootstrap binaries. * gnu/packages/base.scm (grep-final): New variable. (%boot5-inputs): Add it. (%final-inputs): Use it. --- gnu/packages/base.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index bbeee3f0cd..f14baa9409 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1160,9 +1160,19 @@ store.") ;; test files in Gettext. #:guile guile-final))) +(define grep-final + ;; The final grep. Gzip holds a reference to it (via zgrep), so it must be + ;; built before gzip. + (package-with-bootstrap-guile + (package-with-explicit-inputs grep + %boot4-inputs + (current-source-location) + #:guile guile-final))) + (define %boot5-inputs ;; Now use the final Coreutils. `(("coreutils" ,coreutils-final) + ("grep" ,grep-final) ,@%boot4-inputs)) (define-public %final-inputs @@ -1183,9 +1193,9 @@ store.") ("diffutils" ,diffutils) ("patch" ,patch) ("sed" ,sed) - ("grep" ,grep) ("findutils" ,findutils) ("gawk" ,gawk))) + ("grep" ,grep-final) ("coreutils" ,coreutils-final) ("make" ,gnu-make-final) ("bash" ,bash-final) -- cgit v1.2.3 From c3428a08bef079c107ad3e2cd396192a3eec071e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 Jun 2014 21:10:58 +0200 Subject: gnu: apr: Build sequentially. * gnu/packages/apr.scm (apr)[arguments]: New field. --- gnu/packages/apr.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/apr.scm b/gnu/packages/apr.scm index cfb3b6acd5..93609ad5ca 100644 --- a/gnu/packages/apr.scm +++ b/gnu/packages/apr.scm @@ -40,6 +40,11 @@ (list (search-patch "apr-skip-getservbyname-test.patch"))) (patch-flags '("-p0")))) (build-system gnu-build-system) + (arguments + ;; Sometimes we end up with two processes concurrently trying to make + ;; 'libmod_test.la': . + ;; Thus, build sequentially. + '(#:parallel-build? #f)) (inputs `(("perl" ,perl) ("libtool" ,libtool))) (home-page "http://apr.apache.org/") -- cgit v1.2.3 From 7190ae7743f84c78ec689e0ff1059cfbdcf3cb66 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 Jun 2014 22:18:10 +0200 Subject: Reverting "gnu: ncurses: Build libtinfo." This reverts commit 953c9fcf8c1a2e0cbebadd9c07591caed7d26f8a. It turns out that most packages (guile-ncurses, cursynth, aumix, util-linux, etc.) expect libncurses to provide everything. So they had to be patched to add -ltinfow to their LDFLAGS, which is counterproductive. Other recent distros take that approach---e.g., . --- gnu/packages/ncurses.scm | 3 --- 1 file changed, 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index 95ad57a10c..de7e6f6721 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -94,9 +94,6 @@ `(#:configure-flags `("--with-shared" "--without-debug" "--enable-widec" - ;; Create a separate libtinfo.so, as many distributions do. - "--with-termlib" - ;; By default headers land in an `ncursesw' subdir, which is not ;; what users expect. ,(string-append "--includedir=" (assoc-ref %outputs "out") -- cgit v1.2.3 From b344c505f4dff2ecbe981f0a0a3c3d67b222dcca Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jun 2014 10:47:36 +0200 Subject: gnu: qemu: Remove dependency on Samba. * gnu/packages/qemu.scm (qemu-headless)[inputs]: Remove SAMBA. [arguments]: Remove --smbd configure flag. --- gnu/packages/qemu.scm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index b4a962e888..f3c2ed9d2b 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -34,7 +34,6 @@ #:use-module (gnu packages libjpeg) #:use-module (gnu packages attr) #:use-module (gnu packages linux) - #:use-module (gnu packages samba) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) @@ -59,8 +58,7 @@ (lambda* (#:key inputs outputs #:allow-other-keys) ;; The `configure' script doesn't understand some of the ;; GNU options. Thus, add a new phase that's compatible. - (let ((out (assoc-ref outputs "out")) - (samba (assoc-ref inputs "samba"))) + (let ((out (assoc-ref outputs "out"))) (setenv "SHELL" (which "bash")) ;; While we're at it, patch for tests. @@ -74,9 +72,7 @@ (string-append "--cc=" (which "gcc")) "--disable-debug-info" ; save build space "--enable-virtfs" ; just to be sure - (string-append "--prefix=" out) - (string-append "--smbd=" samba - "/sbin/smbd"))))) + (string-append "--prefix=" out))))) (alist-cons-after 'install 'install-info (lambda* (#:key inputs outputs #:allow-other-keys) @@ -108,8 +104,7 @@ ;; ("pciutils" ,pciutils) ("alsa-lib" ,alsa-lib) ("zlib" ,zlib) - ("attr" ,attr) - ("samba" ,samba))) ; an optional dependency + ("attr" ,attr))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2) ; incompatible with Python 3 according to error message ("texinfo" ,texinfo) -- cgit v1.2.3 From eb705bb3f77eeca38697dac89324d15c22d89f38 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jun 2014 17:17:57 +0200 Subject: gnu: icu4c: Fix failing test. * gnu/packages/patches/icu4c-test-date-format.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[source]: Use it. --- gnu-system.am | 1 + gnu/packages/icu4c.scm | 3 ++- gnu/packages/patches/icu4c-test-date-format.patch | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icu4c-test-date-format.patch (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index 653b99a93d..1e912db230 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -314,6 +314,7 @@ dist_patch_DATA = \ gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ + gnu/packages/patches/icu4c-test-date-format.patch \ gnu/packages/patches/inkscape-stray-comma.patch \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libffi-mips-n32-fix.patch \ diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 45dcfe2466..de1bc1be2c 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -37,7 +37,8 @@ (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) (sha256 (base32 - "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g")))) + "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g"))) + (patches (list (search-patch "icu4c-test-date-format.patch")))) (build-system gnu-build-system) (inputs `(("patchelf" ,patchelf) diff --git a/gnu/packages/patches/icu4c-test-date-format.patch b/gnu/packages/patches/icu4c-test-date-format.patch new file mode 100644 index 0000000000..d7f0df98a6 --- /dev/null +++ b/gnu/packages/patches/icu4c-test-date-format.patch @@ -0,0 +1,17 @@ +Starting with the switch to GCC 4.8.3, we observed this test failure. +Changing "34" to "134" means that we expect the date to be parsed as +"2034", not "1934", which seems consistent with the line above. + +Reported at . + +--- icu/source/test/intltest/dtfmttst.cpp 2014-06-16 10:35:46.000000000 +0200 ++++ icu/source/test/intltest/dtfmttst.cpp 2014-06-16 10:35:52.000000000 +0200 +@@ -1129,7 +1129,7 @@ DateFormatTest::TestTwoDigitYear() + return; + } + parse2DigitYear(fmt, "5/6/17", date(117, UCAL_JUNE, 5)); +- parse2DigitYear(fmt, "4/6/34", date(34, UCAL_JUNE, 4)); ++ parse2DigitYear(fmt, "4/6/34", date(134, UCAL_JUNE, 4)); + } + + // ------------------------------------- -- cgit v1.2.3 From 1319cfe9466da6fcc8b2bad5db7fbb1f9c9ea8cc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jun 2014 17:19:34 +0200 Subject: gnu: icu4c: Upgrade to 53.1. * gnu/packages/icu4c.scm (icu4c): Upgrade to 53.1. --- gnu/packages/icu4c.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index de1bc1be2c..8c54cc915a 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -28,7 +28,7 @@ (define-public icu4c (package (name "icu4c") - (version "52.1") + (version "53.1") (source (origin (method url-fetch) (uri (string-append "http://download.icu-project.org/files/icu4c/" @@ -36,9 +36,9 @@ "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) - (sha256 (base32 - "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g"))) - (patches (list (search-patch "icu4c-test-date-format.patch")))) + (sha256 + (base32 "0a4sg9w054640zncb13lhrcjqn7yg1qilwd1mczc4w60maslz9vg")) + (patches (list (search-patch "icu4c-test-date-format.patch"))))) (build-system gnu-build-system) (inputs `(("patchelf" ,patchelf) -- cgit v1.2.3 From c4e52354c6716bf3630e96c3f142fe6fe6d2896a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jun 2014 21:46:27 +0200 Subject: gnu: guile-ncurses: Work around missing test files. * gnu/packages/patches/guile-ncurses-tests.patch: New file. * gnu/packages/guile.scm (guile-ncurses)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/guile.scm | 3 ++- gnu/packages/patches/guile-ncurses-tests.patch | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/guile-ncurses-tests.patch (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index 1e912db230..9594e117f3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -310,6 +310,7 @@ dist_patch_DATA = \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ gnu/packages/patches/guile-default-utf8.patch \ gnu/packages/patches/guile-linux-syscalls.patch \ + gnu/packages/patches/guile-ncurses-tests.patch \ gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 4c42d82345..173365f635 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -242,7 +242,8 @@ many readers as needed).") version ".tar.gz")) (sha256 (base32 - "070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899")))) + "070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899")) + (patches (list (search-patch "guile-ncurses-tests.patch"))))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("guile" ,guile-2.0))) diff --git a/gnu/packages/patches/guile-ncurses-tests.patch b/gnu/packages/patches/guile-ncurses-tests.patch new file mode 100644 index 0000000000..483b05a4ef --- /dev/null +++ b/gnu/packages/patches/guile-ncurses-tests.patch @@ -0,0 +1,15 @@ +The wide test files are missing from the tarball, so ignore them. +Reported at . + +--- guile-ncurses-1.4/test/Makefile.in 2013-04-27 17:55:19.000000000 +0200 ++++ guile-ncurses-1.4/test/Makefile.in 2014-06-16 21:39:40.000000000 +0200 +@@ -258,8 +258,7 @@ m011_menu_options.test slk_001_init.test + slk_003_init.test slk_004_init.test slk_005_demo.test \ + slk_006_attributes.test + +-WIDETESTS = r037_border_set.test r038_get_wch.test r039_get_wstr.test \ +-r040_term_attrs.test ++WIDETESTS = + + TESTS = $(NOTERMTESTS) $(am__append_1) $(am__append_2) + EXTRA_DIST = $(TESTLIB) $(TESTS) -- cgit v1.2.3 From c8f60748bdb9a42b6c8c93abf7a20aeed28d123f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jun 2014 15:32:17 +0200 Subject: gnu: kbd: Patch buggy makefile. * gnu/packages/linux.scm (kbd)[source]: Add 'modules' and 'snippet' fields. --- gnu/packages/linux.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 518b0e41b9..2c8e3892b6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1137,7 +1137,13 @@ system.") version ".tar.gz")) (sha256 (base32 - "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm")))) + "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm")) + (modules '((guix build utils))) + (snippet + '(substitute* "tests/Makefile.in" + ;; The '%: %.in' rule incorrectly uses @VERSION@. + (("@VERSION@") + "[@]VERSION[@]"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-before -- cgit v1.2.3 From ed4a8816d64ed3e84e61aa1e29866a86e25c72cc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jun 2014 16:23:06 +0200 Subject: gnu: linux-libre: Upgrade to 3.15. * gnu/packages/linux.scm (linux-libre): Upgrade to 3.15. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2c8e3892b6..fb942cb68f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -156,7 +156,7 @@ (license gpl2+))) (define-public linux-libre - (let* ((version "3.13.7") + (let* ((version "3.15") (build-phase '(lambda* (#:key system #:allow-other-keys #:rest args) (let ((arch (car (string-split system #\-)))) @@ -219,7 +219,7 @@ (uri (linux-libre-urls version)) (sha256 (base32 - "0j28dg0zq4vlbk4ady4fq021i8dxx2h8h90n26mzigr9hky86n8d")))) + "125n04rwqmr3bm9slk62w6xcg355hx85rwv2x16nl6qki70hsick")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) -- cgit v1.2.3 From 2c14c6d7cb51409bb2dff923cda3ac197bede5c6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jun 2014 18:04:41 -0400 Subject: gnu: gawk: Apply work around to build system for MIPS. * gnu/packages/gawk.scm (gawk): Work around a build problem on MIPS. --- gnu/packages/gawk.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index fe422a2014..6185409fb7 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,17 @@ '((substitute* "extension/Makefile.in" (("^.*: check-for-shared-lib-support" match) (string-append "### " match)))) + '()) + + ;; XXX FIXME gawk 4.1.1 was bootstrapped with a prerelease + ;; libtool, which fails on MIPS in the absence of + ;; /usr/bin/file. As a temporary workaround, we patch + ;; the configure script to hardcode use of the little + ;; endian N32 ABI on MIPS. + ,@(if (equal? "mips64el-linux" (or (%current-target-system) + (%current-system))) + '((substitute* "extension/configure" + (("\\$emul") "elf32ltsmipn32"))) '()))) %standard-phases))) (inputs `(("libsigsegv" ,libsigsegv) -- cgit v1.2.3 From ae5c6fca26ff12179038a476eba3251f4a665cfe Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jun 2014 17:22:29 +0200 Subject: gnu: privoxy: Use etc/privoxy as the sysconfdir. Reported by "d00000" on #guix. * gnu/packages/tor.scm (privoxy)[arguments]: Add #:configure-flags. --- gnu/packages/tor.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 2b00197a03..e0b1b542c9 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -94,7 +94,12 @@ rejects UDP traffic from the application you're using.") "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before + '(;; The default 'sysconfdir' is $out/etc; change that to + ;; $out/etc/privoxy. + #:configure-flags (list (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc/privoxy")) + #:phases (alist-cons-before 'configure 'autoconf (lambda _ ;; Unfortunately, this is not a tarball produced by -- cgit v1.2.3 From dc34393569aa4e5db4e4da8d8be8e827d2e94ab3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jun 2014 23:07:14 +0200 Subject: gnu: isc-dhcp: In native builds, refer to the final Coreutils and sed. * gnu/packages/admin.scm (isc-dhcp)[inputs]: Add Coreutils and sed only when (%current-target-system) is true. --- gnu/packages/admin.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index a3d600d7be..dc6a83b9e5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -437,11 +437,15 @@ connection alive.") (native-inputs `(("perl" ,perl))) - ;; Even Coreutils and sed are needed here in case we're cross-compiling. - (inputs `(("coreutils" ,coreutils) - ("sed" ,sed) - ("net-tools" ,net-tools) - ("iproute" ,iproute))) + (inputs `(("net-tools" ,net-tools) + ("iproute" ,iproute) + + ;; When cross-compiling, we need the cross Coreutils and sed. + ;; Otherwise just use those from %FINAL-INPUTS. + ,@(if (%current-target-system) + `(("coreutils" ,coreutils) + ("sed" ,sed)) + '()))) (home-page "http://www.isc.org/products/DHCP/") (synopsis "Dynamic Host Configuration Protocol (DHCP) tools") -- cgit v1.2.3 From 9b762b8d7cd6b90bde5bc21c1d63601aad3d3885 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jun 2014 23:28:54 +0200 Subject: system: Prefer packages from %FINAL-INPUTS. * gnu/packages/base.scm (canonical-package): New procedure. * gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS, GREP, and SED through 'canonical-package'. --- gnu/packages/base.scm | 35 +++++++++++++++++++++++++++++++++++ gnu/system.scm | 16 ++++++++++------ 2 files changed, 45 insertions(+), 6 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f14baa9409..c280cff198 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -42,6 +42,7 @@ #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (ice-9 vlist) #:use-module (ice-9 match)) ;;; Commentary: @@ -1204,6 +1205,40 @@ store.") ("gcc" ,gcc-final) ("libc" ,glibc-final)))) +(define-public canonical-package + (let ((name->package (fold (lambda (input result) + (match input + ((_ package) + (vhash-cons (package-full-name package) + package result)))) + vlist-null + `(("guile" ,guile-final) + ,@%final-inputs)))) + (lambda (package) + "Return the 'canonical' variant of PACKAGE---i.e., if PACKAGE is one of +the implicit inputs of 'gnu-build-system', return that one, otherwise return +PACKAGE. + +The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.0, +COREUTILS-FINAL vs. COREUTILS, etc." + ;; XXX: This doesn't handle dependencies of the final inputs, such as + ;; libunistring, GMP, etc. + (match (vhash-assoc (package-full-name package) name->package) + ((_ . canon) + ;; In general we want CANON, except if we're cross-compiling: CANON + ;; uses explicit inputs, so it is "anchored" in the bootstrapped + ;; process, with dependencies on things that cannot be + ;; cross-compiled. + (if (%current-target-system) + package + canon)) + (_ package))))) + + +;;; +;;; GCC toolchain. +;;; + (define (gcc-toolchain gcc) "Return a complete toolchain for GCC." (package diff --git a/gnu/system.scm b/gnu/system.scm index 4dc6ebd5a7..c2be74b6d5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -216,12 +216,16 @@ explicitly appear in OS." (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. - (list bash coreutils findutils grep sed - procps psmisc less zile - guile-final (@ (gnu packages admin) dmd) guix - util-linux inetutils isc-dhcp - net-tools ; XXX: remove when Inetutils suffices - module-init-tools kbd)) + (cons* procps psmisc less zile + guile-final (@ (gnu packages admin) dmd) guix + util-linux inetutils isc-dhcp + net-tools ; XXX: remove when Inetutils suffices + module-init-tools kbd + + ;; The packages below are also in %FINAL-INPUTS, so take them from + ;; there to avoid duplication. + (map canonical-package + (list bash coreutils findutils grep sed)))) (define %default-issue ;; Default contents for /etc/issue. -- cgit v1.2.3