From cdecf775011498fabb1f484d59b626e0f1ee408c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 10 Oct 2013 22:16:58 +0200 Subject: gnu: tar: Update to 1.17. * gnu/packages/base.scm (tar): Update to 1.17. Remove 'arguments' and 'inputs'. * gnu/packages/patches/tar-gets-undeclared.patch: Remove. * gnu-system.am (dist_patch_DATA): Remove 'tar-gets-undeclared.patch'. --- gnu/packages/base.scm | 7 ++----- gnu/packages/patches/tar-gets-undeclared.patch | 26 -------------------------- 2 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 gnu/packages/patches/tar-gets-undeclared.patch (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8cee8f850b..17166752fd 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -130,18 +130,15 @@ is often used for substituting text patterns in a stream.") (define-public tar (package (name "tar") - (version "1.26") + (version "1.27") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/tar/tar-" version ".tar.bz2")) (sha256 (base32 - "0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss")))) + "0yrwmx2f721ahpnki4fnzvnmrd3md3bq417icb4wrjky7k3caf12")))) (build-system gnu-build-system) - (inputs `(("patch/gets" ,(search-patch "tar-gets-undeclared.patch")))) - (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) (synopsis "Managing tar archives") (description "Tar provides the ability to create tar archives, as well as the diff --git a/gnu/packages/patches/tar-gets-undeclared.patch b/gnu/packages/patches/tar-gets-undeclared.patch deleted file mode 100644 index 301a09dde1..0000000000 --- a/gnu/packages/patches/tar-gets-undeclared.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -This is a backport of this patch: - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - ---- tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:45.000000000 +0200 -+++ tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:50.000000000 +0200 -@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) -- cgit v1.2.3 From 5fbeb4e6e19856678fa78ee7878e90411d718598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 10 Oct 2013 23:02:33 +0200 Subject: gnu: bootstrap: Use the bootstrap tools for patching. * gnu/packages/bootstrap.scm (bootstrap-origin): Override the 'patch-guile' and 'patch-inputs' fields of SOURCE. --- gnu/packages/bootstrap.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index a1d4c7fc67..86be880cfd 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -64,11 +64,21 @@ #:guile %bootstrap-guile #:system system))) + (define %bootstrap-patch-inputs + ;; Packages used when an has a non-empty 'patches' field. + `(("tar" ,%bootstrap-coreutils&co) + ("xz" ,%bootstrap-coreutils&co) + ("bzip2" ,%bootstrap-coreutils&co) + ("gzip" ,%bootstrap-coreutils&co) + ("patch" ,%bootstrap-coreutils&co))) + (let ((orig-method (origin-method source))) (origin (inherit source) (method (cond ((eq? orig-method url-fetch) (boot url-fetch)) - (else orig-method)))))) + (else orig-method))) + (patch-guile %bootstrap-guile) + (patch-inputs %bootstrap-patch-inputs)))) (define (package-from-tarball name* source* program-to-test description*) "Return a package that correspond to the extraction of SOURCE*. -- cgit v1.2.3 From de80b5045b8467c34a7d53a6b62628202595f089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 10 Oct 2013 23:05:28 +0200 Subject: gnu: Use the 'patches' field of . * gnu/packages/autotools.scm (libtool): Add 'patches' field to the origin. Remove 'inputs' field. * gnu/packages/base.scm (findutils, gnu-make, binutils, glibc): Likewise. * gnu/packages/m4.scm (m4): Likewise. * gnu/packages/perl.scm (perl): Likewise. * gnu/packages/readline.scm (readline): Likewise. --- gnu/packages/autotools.scm | 52 ++++++++++++++++++++++------------------------ gnu/packages/base.scm | 47 ++++++++++++++++------------------------- gnu/packages/m4.scm | 7 ++----- gnu/packages/perl.scm | 5 ++--- gnu/packages/readline.scm | 11 ++++------ 5 files changed, 51 insertions(+), 71 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index ab0c7dcbdf..bcab4e37cd 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -216,7 +216,8 @@ simplifying the entire process for the developer.") version ".tar.gz")) (sha256 (base32 - "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk")))) + "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk")) + (patches (list (search-patch "libtool-skip-tests.patch"))))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4) ("perl" ,perl))) @@ -228,33 +229,30 @@ simplifying the entire process for the developer.") "out")) ; libltdl.so, ltdl.h, etc. (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/skip-tests")) - ,@(if (%current-target-system) - '() ; no `check' phase when cross-building - '(#:phases (alist-cons-before - 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - ;; Run the test suite in parallel, if possible. - (let ((ncores - (cond - ((getenv "NIX_BUILD_CORES") - => - (lambda (n) - (if (zero? (string->number n)) - (number->string (current-processor-count)) - n))) - (else "1")))) - (setenv "TESTSUITEFLAGS" - (string-append "-j" ncores))) + (if (%current-target-system) + '() ; no `check' phase when cross-building + '(#:phases (alist-cons-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Run the test suite in parallel, if possible. + (let ((ncores + (cond + ((getenv "NIX_BUILD_CORES") + => + (lambda (n) + (if (zero? (string->number n)) + (number->string (current-processor-count)) + n))) + (else "1")))) + (setenv "TESTSUITEFLAGS" + (string-append "-j" ncores))) - ;; Path references to /bin/sh. - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "tests/testsuite" - (("/bin/sh") - (string-append bash "/bin/bash"))))) - %standard-phases))))) - (inputs `(("patch/skip-tests" - ,(search-patch "libtool-skip-tests.patch")))) + ;; Path references to /bin/sh. + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "tests/testsuite" + (("/bin/sh") + (string-append bash "/bin/bash"))))) + %standard-phases)))) (synopsis "Generic shared library support tools") (description "Libtool is a script to help in the creation of shared libraries. By diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 17166752fd..c24675598b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -209,19 +209,15 @@ interactive means to merge two files.") version ".tar.gz")) (sha256 (base32 - "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3")))) + "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3")) + (patches (list (search-patch "findutils-absolute-paths.patch"))))) (build-system gnu-build-system) - (native-inputs - `(("patch/absolute-paths" - ,(search-patch "findutils-absolute-paths.patch")))) (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths")) - - ;; Work around cross-compilation failure. - ;; See . - ,@(if (%current-target-system) - '(#:configure-flags '("gl_cv_func_wcwidth_works=yes")) - '()))) + ;; Work around cross-compilation failure. + ;; See . + (if (%current-target-system) + '(#:configure-flags '("gl_cv_func_wcwidth_works=yes")) + '())) (synopsis "Operating on files matching given criteria") (description "Findutils supplies the basic file directory searching utilities of the @@ -287,14 +283,12 @@ functionality beyond that which is outlined in the POSIX standard.") ".tar.bz2")) (sha256 (base32 - "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")))) + "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")) + (patches (list (search-patch "make-impure-dirs.patch"))))) (build-system gnu-build-system) - (native-inputs - `(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch")))) (outputs '("out" "debug")) (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs")) - #:phases (alist-cons-before + '(#:phases (alist-cons-before 'build 'set-default-shell (lambda* (#:key inputs #:allow-other-keys) ;; Change the default shell from /bin/sh. @@ -325,7 +319,8 @@ change.") version ".tar.bz2")) (sha256 (base32 - "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")))) + "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")) + (patches (list (search-patch "binutils-ld-new-dtags.patch"))))) (build-system gnu-build-system) ;; Split Binutils in several outputs, mostly to avoid collisions in @@ -334,11 +329,8 @@ change.") "lib")) ; libbfd.a, bfd.h, etc. ;; TODO: Add dependency on zlib + those for Gold. - (native-inputs - `(("patch/new-dtags" ,(search-patch "binutils-ld-new-dtags.patch")))) (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/new-dtags")) - #:configure-flags '(;; Add `-static-libgcc' to not retain a dependency + `(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency ;; on GCC when bootstrapping. "LDFLAGS=-static-libgcc" @@ -369,7 +361,10 @@ archives.") version ".tar.xz")) (sha256 (base32 - "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")))) + "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")) + (patches (map search-patch + '("glibc-no-ld-so-cache.patch" + "glibc-ldd-x86_64.patch"))))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc @@ -384,8 +379,6 @@ archives.") (arguments `(#:out-of-source? #t - #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache") - (assoc-ref %build-inputs "patch/ldd")) #:configure-flags (list "--enable-add-ons" "--sysconfdir=/etc" @@ -469,11 +462,7 @@ archives.") (zero? (system* "make" "localedata/install-locales"))) %standard-phases)))) - (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)))) + (inputs `(("static-bash" ,(static-package bash-light)))) (synopsis "The GNU C Library") (description "Any Unix-like operating system needs a C library: the library which diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm index f341b246a2..6bfe564148 100644 --- a/gnu/packages/m4.scm +++ b/gnu/packages/m4.scm @@ -33,7 +33,8 @@ version ".tar.bz2")) (sha256 (base32 - "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf")))) + "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf")) + (patches (list (search-patch "m4-readlink-EINVAL.patch"))))) (build-system gnu-build-system) (arguments ;; XXX: Disable tests on those platforms with know issues. @@ -41,8 +42,6 @@ '("x86_64-darwin" "i686-cygwin" "i686-sunos"))) - #:patches (list (assoc-ref %build-inputs - "patch/readlink-EINVAL")) #:phases (alist-cons-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) @@ -55,8 +54,6 @@ (("/bin/sh") (format #f "~a/bin/bash" bash))))) %standard-phases))) - (inputs `(("patch/readlink-EINVAL" - ,(search-patch "m4-readlink-EINVAL.patch")))) (synopsis "Macro processor") (description "GNU M4 is an implementation of the M4 macro language, which features diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c677a1b7e2..21cdc5cea7 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -34,11 +34,11 @@ version ".tar.gz")) (sha256 (base32 - "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km")))) + "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km")) + (patches (list (search-patch "perl-no-sys-dirs.patch"))))) (build-system gnu-build-system) (arguments '(#:tests? #f - #:patches (list (assoc-ref %build-inputs "patch/no-sys-dirs")) #:phases (alist-replace 'configure @@ -62,7 +62,6 @@ (string-append "-Dlocincpth=" libc "/include") (string-append "-Dloclibpth=" libc "/lib"))))) %standard-phases))) - (inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch")))) (native-search-paths (list (search-path-specification (variable "PERL5LIB") (directories '("lib/perl5/site_perl"))))) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 1fbbd69d7e..05343473c7 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -45,15 +45,12 @@ version ".tar.gz")) (sha256 (base32 - "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")))) + "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")) + (patches (search-patch "readline-link-ncurses.patch")) + (patch-flags '("-p0")))) (build-system gnu-build-system) (propagated-inputs `(("ncurses" ,ncurses))) - (inputs `(("patch/link-ncurses" - ,(search-patch "readline-link-ncurses.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs - "patch/link-ncurses")) - #:patch-flags '("-p0") - #:configure-flags + (arguments `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath -Wl," (assoc-ref %build-inputs "ncurses") "/lib")) -- cgit v1.2.3 From 8f557fc8b7dc2f91ec26b6752a7e12a1fb383e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2013 15:51:43 +0200 Subject: gnu: readline: Turn 'patches' into a list. * gnu/packages/readline.scm (readline): Turn 'patches' into a list. --- gnu/packages/readline.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 05343473c7..5e8d7d7003 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -46,7 +46,7 @@ (sha256 (base32 "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")) - (patches (search-patch "readline-link-ncurses.patch")) + (patches (list (search-patch "readline-link-ncurses.patch"))) (patch-flags '("-p0")))) (build-system gnu-build-system) (propagated-inputs `(("ncurses" ,ncurses))) -- cgit v1.2.3 From 63760b5bab223131d3cef39755eaff9ea3c4d70b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2013 16:15:07 +0200 Subject: gnu: base: Fix circular dependency between %final-outputs and inputs. * gnu/packages/base.scm (%final-inputs): Add 'package-with-bootstrap-guile' to 'finalize'. --- gnu/packages/base.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c24675598b..7cf328a80c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1001,9 +1001,13 @@ store.") '("guile" "bash")))))) (define-public %final-inputs - ;; Final derivations used as implicit inputs by `gnu-build-system'. - (let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs - (current-source-location)))) + ;; 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 + (current-source-location))))) `(,@(map (match-lambda ((name package) (list name (finalize package)))) -- cgit v1.2.3 From ed41d48ef195960d784db0e547d5ff6dcaa9b774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2013 16:27:45 +0200 Subject: gnu: make: Update to 4.0, with Guile support. * gnu/packages/base.scm (gnu-make): Update to 4.0. Add Guile as an input. (gnu-make-boot0): Patch 'build.sh' so it does not attempt to build 'guile.c'. (gnu-make-final): New variable. (%final-inputs): Use it. (glibc): Add 'glibc-make-4.0.patch'. * gnu/packages/patches/glibc-make-4.0.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu/packages/base.scm | 24 +++++++++++++++++++----- gnu/packages/patches/glibc-make-4.0.patch | 12 ++++++++++++ 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/glibc-make-4.0.patch (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7cf328a80c..8a9cee1694 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -276,16 +276,17 @@ functionality beyond that which is outlined in the POSIX standard.") (define-public gnu-make (package (name "make") - (version "3.82") + (version "4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/make/make-" version ".tar.bz2")) (sha256 (base32 - "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")) + "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6")) (patches (list (search-patch "make-impure-dirs.patch"))))) (build-system gnu-build-system) + (inputs `(("guile" ,guile-2.0))) (outputs '("out" "debug")) (arguments '(#:phases (alist-cons-before @@ -364,7 +365,8 @@ archives.") "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")) (patches (map search-patch '("glibc-no-ld-so-cache.patch" - "glibc-ldd-x86_64.patch"))))) + "glibc-ldd-x86_64.patch" + "glibc-make-4.0.patch"))))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc @@ -560,6 +562,10 @@ and daylight-saving rules.") ((#:phases phases) `(alist-replace 'build (lambda _ + ;; Don't attempt to build 'guile.c' since we don't + ;; have Guile here. + (substitute* "build.sh" + (("guile\\.\\$\\{OBJEXT\\}") "")) (zero? (system* "./build.sh"))) (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -991,6 +997,14 @@ store.") (current-source-location) #:guile %bootstrap-guile))) +(define-public gnu-make-final + ;; The final GNU Make, which uses the final Guile. + (package-with-bootstrap-guile + (package-with-explicit-inputs gnu-make + `(("guile" ,guile-final) + ,@%boot4-inputs) + (current-source-location)))) + (define-public ld-wrapper ;; The final `ld' wrapper, which uses the final Guile. (package (inherit ld-wrapper-boot3) @@ -1021,8 +1035,8 @@ store.") ("sed" ,sed) ("grep" ,grep) ("findutils" ,findutils) - ("gawk" ,gawk) - ("make" ,gnu-make))) + ("gawk" ,gawk))) + ("make" ,gnu-make-final) ("bash" ,bash-final) ("ld-wrapper" ,ld-wrapper) ("binutils" ,binutils-final) diff --git a/gnu/packages/patches/glibc-make-4.0.patch b/gnu/packages/patches/glibc-make-4.0.patch new file mode 100644 index 0000000000..d83de1d33d --- /dev/null +++ b/gnu/packages/patches/glibc-make-4.0.patch @@ -0,0 +1,12 @@ +Allow libc to be compiled with GNU Make 4.0. + +--- glibc-2.18/configure 2013-08-11 00:52:55.000000000 +0200 ++++ glibc-2.18/configure 2013-10-16 16:53:09.000000000 +0200 +@@ -4772,7 +4772,7 @@ $as_echo_n "checking version of $MAKE... + ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 3.79* | 3.[89]*) ++ 3.79* | 3.[89]* | 4.*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; -- cgit v1.2.3 From e50805251ae7386c2ddbd036885bcc4300cf336e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 24 Oct 2013 17:54:16 +0200 Subject: gnu: gmp: Update to 5.1.3. * gnu/packages/multiprecision.scm (gmp): Update to 5.1.3. --- gnu/packages/multiprecision.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 6692d26b59..c9e691a626 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -27,7 +27,7 @@ (define-public gmp (package (name "gmp") - (version "5.1.2") + (version "5.1.3") (source (origin (method url-fetch) (uri @@ -35,7 +35,7 @@ version ".tar.xz")) (sha256 (base32 - "1hnbxz7a6jrli8ph27i8zb6k2f456zn6l5xi78yhskzbxjk47nf7")))) + "0wbhn3wih61vjcs94q531fipfvvzqfq2v4qr03rl3xaggyiyvqny")))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) (outputs '("out" "debug")) -- cgit v1.2.3 From 67f6491bce972979201e39eb74bc01ab93455a55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 1 Nov 2013 13:01:20 +0100 Subject: gnu: grep: Update to 2.15. * gnu/packages/base.scm (grep): Update to 2.15. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8a9cee1694..f89d618cdf 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -73,14 +73,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "2.14") + (version "2.15") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7")))) + "052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz")))) (build-system gnu-build-system) (synopsis "Print lines matching a pattern") (description -- cgit v1.2.3 From 9ae7cee342db1abe9504ecba90da65c05694ab88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 1 Nov 2013 13:04:38 +0100 Subject: gnu: Switch to GCC 4.8 as the default compiler. * gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base on GCC-4.8. * gnu/packages/cross-base.scm (cross-gcc): Likewise. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc, %gcc-static, %gcc-stripped): Likewise. --- gnu/packages/base.scm | 12 ++++++------ gnu/packages/cross-base.scm | 8 ++++---- gnu/packages/make-bootstrap.scm | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f89d618cdf..f1c43cf288 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -642,7 +642,7 @@ identifier SYSTEM." (define gcc-boot0 (package-with-bootstrap-guile - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name "gcc-cross-boot0") (arguments `(#:guile ,%bootstrap-guile @@ -652,7 +652,7 @@ identifier SYSTEM." (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.7) + ,@(substitute-keyword-arguments (package-arguments gcc-4.8) ((#:configure-flags flags) `(append (list ,(string-append "--target=" (boot-triplet)) @@ -716,7 +716,7 @@ identifier SYSTEM." (with-directory-excursion (string-append out "/lib/gcc/" ,(boot-triplet) - "/" ,(package-version gcc-4.7)) + "/" ,(package-version gcc-4.8)) (symlink "libgcc.a" "libgcc_eh.a")))) ,phases)))))) @@ -732,7 +732,7 @@ identifier SYSTEM." ;; No need for Texinfo at this stage. (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc-4.7)))))) + (package-native-inputs gcc-4.8)))))) (define (linux-libre-headers-boot0) "Return Linux-Libre header files for the bootstrap environment." @@ -798,7 +798,7 @@ identifier SYSTEM." (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC that makes it available under the native tool names." - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name (string-append (package-name gcc) "-wrapped")) (source #f) (build-system trivial-build-system) @@ -904,7 +904,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) ,@(substitute-keyword-arguments (package-arguments gcc-boot0) ((#:configure-flags boot-flags) - (let loop ((args (package-arguments gcc-4.7))) + (let loop ((args (package-arguments gcc-4.8))) (match args ((#:configure-flags normal-flags _ ...) normal-flags) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 0731103bfa..9633e2cbfd 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -70,11 +70,11 @@ "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a GCC that does not target a libc; otherwise, target that libc." - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name (string-append "gcc-cross-" (if libc "" "sans-libc-") target)) - (source (origin (inherit (package-source gcc-4.7)) + (source (origin (inherit (package-source gcc-4.8)) (patches (list (search-patch "gcc-cross-environment-variables.patch"))))) (arguments @@ -85,7 +85,7 @@ GCC that does not target a libc; otherwise, target that libc." (srfi srfi-1) (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.7) + ,@(substitute-keyword-arguments (package-arguments gcc-4.8) ((#:configure-flags flags) `(append (list ,(string-append "--target=" target) ,@(gcc-configure-flags-for-triplet target) @@ -186,7 +186,7 @@ GCC that does not target a libc; otherwise, target that libc." ("libc-native" ,@(assoc-ref %final-inputs "libc")) ;; Remaining inputs. - ,@(let ((inputs (append (package-inputs gcc-4.7) + ,@(let ((inputs (append (package-inputs gcc-4.8) (alist-delete "libc" %final-inputs)))) (if libc `(("libc" ,libc) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 8c148f7086..708cb39bb2 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -94,10 +94,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("cross-binutils" ,(cross-binutils target)) ,@%final-inputs)) `(("libc" ,(glibc-for-bootstrap)) - ("gcc" ,(package (inherit gcc-4.7) + ("gcc" ,(package (inherit gcc-4.8) (inputs `(("libc",(glibc-for-bootstrap)) - ,@(package-inputs gcc-4.7))))) + ,@(package-inputs gcc-4.8))))) ,@(fold alist-delete %final-inputs '("libc" "gcc"))))) (package-with-explicit-inputs p inputs @@ -378,7 +378,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define %gcc-static ;; A statically-linked GCC, with stripped-down functionality. (package-with-relocatable-glibc - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name "gcc-static") (arguments `(#:modules ((guix build utils) @@ -386,7 +386,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (srfi srfi-1) (srfi srfi-26) (ice-9 regex)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.7) + ,@(substitute-keyword-arguments (package-arguments gcc-4.8) ((#:guile _) #f) ((#:implicit-inputs? _) #t) ((#:configure-flags flags) @@ -409,11 +409,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("mpfr-source" ,(package-source mpfr)) ("mpc-source" ,(package-source mpc)) ("binutils" ,binutils) - ,@(package-inputs gcc-4.7)))))) + ,@(package-inputs gcc-4.8)))))) (define %gcc-stripped ;; The subset of GCC files needed for bootstrap. - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name "gcc-stripped") (build-system trivial-build-system) (source #f) -- cgit v1.2.3 From 1670c70a03d8edc1708c05ee47cf990e451145cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 1 Nov 2013 15:31:16 +0100 Subject: gnu: Revert to GCC 4.7 as the default compiler. GCC 4.8 relies on C++ headers (, , etc.) that are missing from the current bootstrap GCC. * gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base on GCC-4.7. This reverts part of commit 9ae7cee. --- gnu/packages/base.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f1c43cf288..f89d618cdf 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -642,7 +642,7 @@ identifier SYSTEM." (define gcc-boot0 (package-with-bootstrap-guile - (package (inherit gcc-4.8) + (package (inherit gcc-4.7) (name "gcc-cross-boot0") (arguments `(#:guile ,%bootstrap-guile @@ -652,7 +652,7 @@ identifier SYSTEM." (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.8) + ,@(substitute-keyword-arguments (package-arguments gcc-4.7) ((#:configure-flags flags) `(append (list ,(string-append "--target=" (boot-triplet)) @@ -716,7 +716,7 @@ identifier SYSTEM." (with-directory-excursion (string-append out "/lib/gcc/" ,(boot-triplet) - "/" ,(package-version gcc-4.8)) + "/" ,(package-version gcc-4.7)) (symlink "libgcc.a" "libgcc_eh.a")))) ,phases)))))) @@ -732,7 +732,7 @@ identifier SYSTEM." ;; No need for Texinfo at this stage. (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc-4.8)))))) + (package-native-inputs gcc-4.7)))))) (define (linux-libre-headers-boot0) "Return Linux-Libre header files for the bootstrap environment." @@ -798,7 +798,7 @@ identifier SYSTEM." (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC that makes it available under the native tool names." - (package (inherit gcc-4.8) + (package (inherit gcc-4.7) (name (string-append (package-name gcc) "-wrapped")) (source #f) (build-system trivial-build-system) @@ -904,7 +904,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) ,@(substitute-keyword-arguments (package-arguments gcc-boot0) ((#:configure-flags boot-flags) - (let loop ((args (package-arguments gcc-4.8))) + (let loop ((args (package-arguments gcc-4.7))) (match args ((#:configure-flags normal-flags _ ...) normal-flags) -- cgit v1.2.3 From 08928e5752ea876bd5db22b4dfec43ce792d3eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Nov 2013 12:58:52 +0100 Subject: gnu: cross-gcc: Fix build of 'gcc-cross-sans-libc'. * gnu/packages/cross-base.scm (cross-gcc): Add "--disable-libatomic". --- gnu/packages/cross-base.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 9633e2cbfd..41128b73cd 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -101,6 +101,7 @@ GCC that does not target a libc; otherwise, target that libc." "--enable-languages=c" "--disable-threads" ; libgcc, would need libc + "--disable-libatomic" "--disable-libmudflap" "--disable-libgomp" "--disable-libssp" -- cgit v1.2.3 From 55a5674f21d1adf4a8b2d0c67f6a6ba51ebb4027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Nov 2013 15:17:08 +0100 Subject: gnu: make-bootstrap: Add C++ header files to the bootstrap GCC. * gnu/packages/make-bootstrap.scm (%gcc-stripped): Add $gcc/include/c++. --- gnu/packages/make-bootstrap.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 708cb39bb2..c79bcc2cf3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -429,6 +429,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (let* ((out (assoc-ref %outputs "out")) (bindir (string-append out "/bin")) (libdir (string-append out "/lib")) + (includedir (string-append out "/include")) (libexecdir (string-append out "/libexec")) (gcc (assoc-ref %build-inputs "gcc"))) (copy-recursively (string-append gcc "/bin") bindir) @@ -444,6 +445,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." libexecdir) (for-each remove-store-references (find-files libexecdir ".*")) + + ;; Starting from GCC 4.8, helper programs built natively + ;; (‘genchecksum’, ‘gcc-nm’, etc.) rely on C++ headers. + (copy-recursively (string-append gcc "/include/c++") + (string-append includedir "/c++")) #t)))) (inputs `(("gcc" ,%gcc-static))))) -- cgit v1.2.3 From c9323eac746e1905f9cacf17408a5678c2bdefbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Nov 2013 22:28:30 +0100 Subject: gnu: make-bootstrap: Allow bit-reproducibility for 'glibc-stripped'. * gnu/packages/make-bootstrap.scm (%glibc-stripped): Remove '.install' and '..install.cmd' files. --- gnu/packages/make-bootstrap.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index c79bcc2cf3..2630ad5ce0 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -363,6 +363,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (string-append incdir "/asm")) (copy-recursively (string-append linux "/include/asm-generic") (string-append incdir "/asm-generic")) + + ;; Remove the '.install' and '..install.cmd' files; the latter + ;; contains store paths, which prevents bit reproducibility. + (for-each delete-file (find-files incdir "\\.install")) + #t)))) (inputs `(("libc" ,(let ((target (%current-target-system))) (if target -- cgit v1.2.3 From 69f777d14caa50a3a0d0167910ddb9a5910d4ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Nov 2013 22:35:17 +0100 Subject: gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink. * gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static): Add 'outputs' field. --- gnu/packages/make-bootstrap.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2630ad5ce0..defc32bc08 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -64,7 +64,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; and can use statically-linked NSS modules. `(cons* "--disable-nscd" "--disable-build-nscd" "--enable-static-nss" - ,flags)))))) + ,flags)))) + + ;; Remove the 'debug' output to allow bit-reproducible builds (when the + ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which + ;; includes a CRC of the corresponding debugging symbols; those symbols + ;; contain store file names, so the CRC changes at every rebuild.) + (outputs (delete "debug" (package-outputs base))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by @@ -127,7 +133,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (#f '()) (x (list x)))) - ;; Remove the `debug' output. + ;; Remove the 'debug' output (see above for the reason.) (outputs '("out")))) (bzip2 (package (inherit bzip2) (arguments @@ -472,6 +478,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name (string-append (package-name guile-2.0) "-static")) (source source) (synopsis "Statically-linked and relocatable Guile") + + ;; Remove the 'debug' output (see above for the reason.) + (outputs (delete "debug" (package-outputs guile-2.0))) + (propagated-inputs `(("bdw-gc" ,libgc) ,@(alist-delete "bdw-gc" -- cgit v1.2.3 From 2c1ceeacdf00c9fa6b4324b693c9998745f84b1c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:08:33 -0500 Subject: gnu: binutils: apply fixes and workarounds for Loongson 2F CPUs. * gnu/packages/patches/binutils-loongson-madd-fix.patch: New file. * gnu/packages/patches/binutils-loongson-workaround.patch: New file. * gnu/packages/base.scm (binutils): Add patches. * gnu-system.am (dist_patch_DATA): Add patches. --- gnu/packages/base.scm | 4 +- .../patches/binutils-loongson-madd-fix.patch | 44 ++++++++++++++++++++++ .../patches/binutils-loongson-workaround.patch | 34 +++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/binutils-loongson-madd-fix.patch create mode 100644 gnu/packages/patches/binutils-loongson-workaround.patch (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f89d618cdf..41e1a8d049 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -321,7 +321,9 @@ change.") (sha256 (base32 "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")) - (patches (list (search-patch "binutils-ld-new-dtags.patch"))))) + (patches (list (search-patch "binutils-ld-new-dtags.patch") + (search-patch "binutils-loongson-workaround.patch") + (search-patch "binutils-loongson-madd-fix.patch"))))) (build-system gnu-build-system) ;; Split Binutils in several outputs, mostly to avoid collisions in diff --git a/gnu/packages/patches/binutils-loongson-madd-fix.patch b/gnu/packages/patches/binutils-loongson-madd-fix.patch new file mode 100644 index 0000000000..364ccd67e3 --- /dev/null +++ b/gnu/packages/patches/binutils-loongson-madd-fix.patch @@ -0,0 +1,44 @@ +Fix the Loongson 2F specific fused multiply-add instructions on paired singles to +use the encoding recognized by the processor, as opposed to the mistaken english +Loongson 2F documentation. + +Patch by Mark H Weaver . + +--- binutils/opcodes/mips-opc.c.orig 2012-09-04 10:21:10.000000000 -0400 ++++ binutils/opcodes/mips-opc.c 2013-10-06 02:23:33.679983766 -0400 +@@ -931,7 +931,7 @@ + {"madd.s", "D,S,T", 0x72000018, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"madd.ps", "D,R,S,T", 0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"madd.ps", "D,S,T", 0x72c00018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, + {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, + {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, +@@ -1041,7 +1041,7 @@ + {"msub.s", "D,S,T", 0x72000019, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"msub.ps", "D,R,S,T", 0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"msub.ps", "D,S,T", 0x72c00019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, + {"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, + {"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, +@@ -1157,7 +1157,7 @@ + {"nmadd.s", "D,S,T", 0x7200001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"nmadd.ps","D,R,S,T", 0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"nmadd.ps", "D,S,T", 0x4560001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"nmadd.ps", "D,S,T", 0x7160001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"nmadd.ps", "D,S,T", 0x72c0001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"nmsub.d", "D,R,S,T", 0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I4_33 }, + {"nmsub.d", "D,S,T", 0x4620001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, + {"nmsub.d", "D,S,T", 0x7220001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, +@@ -1166,7 +1166,7 @@ + {"nmsub.s", "D,S,T", 0x7200001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"nmsub.ps","D,R,S,T", 0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"nmsub.ps", "D,S,T", 0x4560001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"nmsub.ps", "D,S,T", 0x7160001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"nmsub.ps", "D,S,T", 0x72c0001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + /* nop is at the start of the table. */ + {"nor", "d,v,t", 0x00000027, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 }, + {"nor", "t,r,I", 0, (int) M_NOR_I, INSN_MACRO, 0, I1 }, diff --git a/gnu/packages/patches/binutils-loongson-workaround.patch b/gnu/packages/patches/binutils-loongson-workaround.patch new file mode 100644 index 0000000000..f43572a53d --- /dev/null +++ b/gnu/packages/patches/binutils-loongson-workaround.patch @@ -0,0 +1,34 @@ +Enable the workaround for the Loongson 2F bug by default. + +Patch by Mark H Weaver . + +--- binutils/gas/config/tc-mips.c.orig 2012-09-04 10:21:03.000000000 -0400 ++++ binutils/gas/config/tc-mips.c 2013-10-06 02:23:21.651983768 -0400 +@@ -910,10 +910,10 @@ + }; + + /* ...likewise -mfix-loongson2f-jump. */ +-static bfd_boolean mips_fix_loongson2f_jump; ++static bfd_boolean mips_fix_loongson2f_jump = FALSE; + + /* ...likewise -mfix-loongson2f-nop. */ +-static bfd_boolean mips_fix_loongson2f_nop; ++static bfd_boolean mips_fix_loongson2f_nop = TRUE; + + /* True if -mfix-loongson2f-nop or -mfix-loongson2f-jump passed. */ + static bfd_boolean mips_fix_loongson2f; +--- binutils/gas/testsuite/gas/mips/mips.exp.orig 2012-09-04 10:17:13.000000000 -0400 ++++ binutils/gas/testsuite/gas/mips/mips.exp 2013-10-06 02:23:21.663983768 -0400 +@@ -91,6 +91,12 @@ + + # Catch because the variable won't be set the first time through. + catch {unset mips_arches} ++ ++ # Disable the loongson2f nop fix by default, because most of the ++ # existing test cases for mips will fail otherwise. ++ global ASFLAGS ++ set old_ASFLAGS "$ASFLAGS" ++ set ASFLAGS "$ASFLAGS -mno-fix-loongson2f-nop" + } + + # mips_arch_create ARCH GPRSIZE EXTENDS PROPS AS_FLAGS OBJDUMP_FLAGS \ -- cgit v1.2.3 From bf2cc1e5d14df7d8ff0c9456798d48fba65de317 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:15:00 -0500 Subject: gnu: libtool: skip a test that fails on MIPS N32. * gnu/packages/patches/libtool-skip-tests-for-mips.patch: New file. * gnu/packages/autotools.scm (libtool): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/autotools.scm | 4 +++- gnu/packages/patches/libtool-skip-tests-for-mips.patch | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libtool-skip-tests-for-mips.patch (limited to 'gnu') diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index bcab4e37cd..90f80872ed 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -217,7 +217,9 @@ simplifying the entire process for the developer.") (sha256 (base32 "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk")) - (patches (list (search-patch "libtool-skip-tests.patch"))))) + (patches + (list (search-patch "libtool-skip-tests.patch") + (search-patch "libtool-skip-tests-for-mips.patch"))))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4) ("perl" ,perl))) diff --git a/gnu/packages/patches/libtool-skip-tests-for-mips.patch b/gnu/packages/patches/libtool-skip-tests-for-mips.patch new file mode 100644 index 0000000000..36587d23c2 --- /dev/null +++ b/gnu/packages/patches/libtool-skip-tests-for-mips.patch @@ -0,0 +1,12 @@ +TEMPORARY HACK: Disable a test that fails on MIPS. + +--- libtool/Makefile.in.orig 2011-10-17 06:18:55.000000000 -0400 ++++ libtool/Makefile.in 2013-10-12 20:41:50.669067382 -0400 +@@ -890,7 +890,6 @@ + tests/demo-pic-make.test \ + tests/demo-pic-exec.test \ + tests/demo-nopic.test \ +- tests/demo-nopic-make.test \ + tests/demo-nopic-exec.test \ + tests/cdemo-shared.test \ + tests/cdemo-shared-make.test \ -- cgit v1.2.3 From 1602fcea18879f855f906cf21bb6ee849cbf62c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:20:00 -0500 Subject: gnu: libffi: fix handling of uint32_t arguments on MIPS N32. * gnu/packages/patches/libffi-mips-n32-fix.patch: New file. * gnu/packages/libffi.scm (libffi): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/libffi.scm | 4 +++- gnu/packages/patches/libffi-mips-n32-fix.patch | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libffi-mips-n32-fix.patch (limited to 'gnu') diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index e4a2761273..d1a834d9c5 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -17,6 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages libffi) + #:use-module (gnu packages) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -46,7 +47,8 @@ name "-" version ".tar.gz")) (sha256 (base32 - "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x")))) + "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x")) + (patches (list (search-patch "libffi-mips-n32-fix.patch"))))) (build-system gnu-build-system) (arguments `(#:modules ((guix build utils) (guix build gnu-build-system) (ice-9 ftw) (srfi srfi-26)) diff --git a/gnu/packages/patches/libffi-mips-n32-fix.patch b/gnu/packages/patches/libffi-mips-n32-fix.patch new file mode 100644 index 0000000000..87ec48f883 --- /dev/null +++ b/gnu/packages/patches/libffi-mips-n32-fix.patch @@ -0,0 +1,21 @@ +Fix handling of uint32_t arguments on the MIPS N32 ABI. + +Patch by Mark H Weaver . + +--- libffi/src/mips/ffi.c.orig 2013-03-16 07:19:39.000000000 -0400 ++++ libffi/src/mips/ffi.c 2013-10-22 01:11:03.111985247 -0400 +@@ -170,7 +170,14 @@ + break; + + case FFI_TYPE_UINT32: ++#ifdef FFI_MIPS_N32 ++ /* The N32 ABI requires that 32-bit integers ++ be sign-extended to 64-bits, regardless of ++ whether they are signed or unsigned. */ ++ *(ffi_arg *)argp = *(SINT32 *)(* p_argv); ++#else + *(ffi_arg *)argp = *(UINT32 *)(* p_argv); ++#endif + break; + + /* This can only happen with 64bit slots. */ -- cgit v1.2.3 From b20441f22887a09e52d843e9b44bd7668c8a468c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:23:38 -0500 Subject: gnu: gdb: Fix opcode table for Loongson fused multiply-add. * gnu/packages/patches/gdb-loongson-madd-fix.patch: New file. * gnu/packages/gdb.scm (gdb): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/gdb.scm | 4 ++- gnu/packages/patches/gdb-loongson-madd-fix.patch | 44 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gdb-loongson-madd-fix.patch (limited to 'gnu') diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 09e00aaeb1..2033c628d7 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -17,6 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gdb) + #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (gnu packages readline) #:use-module (gnu packages dejagnu) @@ -39,7 +40,8 @@ version ".tar.bz2")) (sha256 (base32 - "1r32s6vqgskw6pz9pmp41b8injd51c4bbxr6ifdpyid52j5a7pz3")))) + "1r32s6vqgskw6pz9pmp41b8injd51c4bbxr6ifdpyid52j5a7pz3")) + (patches (list (search-patch "gdb-loongson-madd-fix.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after diff --git a/gnu/packages/patches/gdb-loongson-madd-fix.patch b/gnu/packages/patches/gdb-loongson-madd-fix.patch new file mode 100644 index 0000000000..0d50dd2dd4 --- /dev/null +++ b/gnu/packages/patches/gdb-loongson-madd-fix.patch @@ -0,0 +1,44 @@ +Fix the Loongson 2F specific fused multiply-add instructions on paired singles to +use the encoding recognized by the processor, as opposed to the mistaken english +Loongson 2F documentation. + +Patch by Mark H Weaver . + +--- gdb/opcodes/mips-opc.c.orig 2013-02-09 05:24:18.000000000 -0500 ++++ gdb/opcodes/mips-opc.c 2013-10-27 23:35:20.191997541 -0400 +@@ -956,7 +956,7 @@ + {"madd.s", "D,S,T", 0x4600001c, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, EE }, + {"madd.ps", "D,R,S,T", 0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"madd.ps", "D,S,T", 0x72c00018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, + {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, + {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, +@@ -1084,7 +1084,7 @@ + {"msub.s", "D,S,T", 0x4600001d, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, EE }, + {"msub.ps", "D,R,S,T", 0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"msub.ps", "D,S,T", 0x72c00019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, + {"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, + {"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, +@@ -1218,7 +1218,7 @@ + {"nmadd.s", "D,S,T", 0x7200001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"nmadd.ps","D,R,S,T", 0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"nmadd.ps", "D,S,T", 0x4560001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"nmadd.ps", "D,S,T", 0x7160001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"nmadd.ps", "D,S,T", 0x72c0001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + {"nmsub.d", "D,R,S,T", 0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I4_33 }, + {"nmsub.d", "D,S,T", 0x4620001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, + {"nmsub.d", "D,S,T", 0x7220001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, +@@ -1227,7 +1227,7 @@ + {"nmsub.s", "D,S,T", 0x7200001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F }, + {"nmsub.ps","D,R,S,T", 0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 }, + {"nmsub.ps", "D,S,T", 0x4560001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, +-{"nmsub.ps", "D,S,T", 0x7160001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, ++{"nmsub.ps", "D,S,T", 0x72c0001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, + /* nop is at the start of the table. */ + {"nor", "d,v,t", 0x00000027, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 }, + {"nor", "t,r,I", 0, (int) M_NOR_I, INSN_MACRO, 0, I1 }, -- cgit v1.2.3 From 1475a351f66f214bf279b870421e31c082704864 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:25:27 -0500 Subject: gnu: gdb: patch-makefile-SHELL for all Makefile.in files. * gnu/packages/gdb.scm (gdb): patch-makefile-SHELL for all Makefile.in files after configure. --- gnu/packages/gdb.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 2033c628d7..ddf94f9eaa 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -47,7 +47,8 @@ '(#:phases (alist-cons-after 'configure 'post-configure (lambda _ - (patch-makefile-SHELL "gdb/gdbserver/Makefile.in")) + (for-each patch-makefile-SHELL + (find-files "." "Makefile\\.in"))) %standard-phases))) (inputs `(("expat" ,expat) -- cgit v1.2.3 From bcd94e192a8459107ba43f03694fc82a35af6447 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 3 Nov 2013 18:28:03 -0500 Subject: gnu: alsa-lib: fix atomic op declarations for MIPS. * gnu/packages/patches/alsa-lib-mips-atomic-fix.patch: New file. * gnu/packages/linux.scm (alsa-lib): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/linux.scm | 3 +- .../patches/alsa-lib-mips-atomic-fix.patch | 42 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/alsa-lib-mips-atomic-fix.patch (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cd1c921626..eab4280324 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -473,7 +473,8 @@ trace of all the system calls made by a another process/program.") version ".tar.bz2")) (sha256 (base32 - "0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9")))) + "0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9")) + (patches (list (search-patch "alsa-lib-mips-atomic-fix.patch"))))) (build-system gnu-build-system) (home-page "http://www.alsa-project.org/") (synopsis "The Advanced Linux Sound Architecture libraries") diff --git a/gnu/packages/patches/alsa-lib-mips-atomic-fix.patch b/gnu/packages/patches/alsa-lib-mips-atomic-fix.patch new file mode 100644 index 0000000000..8c37bd3ac4 --- /dev/null +++ b/gnu/packages/patches/alsa-lib-mips-atomic-fix.patch @@ -0,0 +1,42 @@ +Fix the declarations of inlined atomic ops for mips. + +This patch was copied from Debian. + +--- alsa-lib/include/iatomic.h.orig 2013-05-21 04:48:28.000000000 -0400 ++++ alsa-lib/include/iatomic.h 2013-10-29 13:01:37.055995968 -0400 +@@ -720,7 +720,7 @@ + * Atomically adds @i to @v. Note that the guaranteed useful range + * of an atomic_t is only 24 bits. + */ +-extern __inline__ void atomic_add(int i, atomic_t * v) ++static __inline__ void atomic_add(int i, atomic_t * v) + { + unsigned long temp; + +@@ -744,7 +744,7 @@ + * Atomically subtracts @i from @v. Note that the guaranteed + * useful range of an atomic_t is only 24 bits. + */ +-extern __inline__ void atomic_sub(int i, atomic_t * v) ++static __inline__ void atomic_sub(int i, atomic_t * v) + { + unsigned long temp; + +@@ -763,7 +763,7 @@ + /* + * Same as above, but return the result value + */ +-extern __inline__ int atomic_add_return(int i, atomic_t * v) ++static __inline__ int atomic_add_return(int i, atomic_t * v) + { + unsigned long temp, result; + +@@ -784,7 +784,7 @@ + return result; + } + +-extern __inline__ int atomic_sub_return(int i, atomic_t * v) ++static __inline__ int atomic_sub_return(int i, atomic_t * v) + { + unsigned long temp, result; + -- cgit v1.2.3 From 46acd054010134eba293c3b978e82edb9ebc21fb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 31 Oct 2013 23:59:00 -0400 Subject: gnu: libtheora: patch ancient config.guess to support mips64. * gnu/packages/patches/libtheora-config-guess.patch: New file. * gnu/packages/oggvorbis.scm (libtheora): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/oggvorbis.scm | 3 +- gnu/packages/patches/libtheora-config-guess.patch | 37 +++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libtheora-config-guess.patch (limited to 'gnu') diff --git a/gnu/packages/oggvorbis.scm b/gnu/packages/oggvorbis.scm index 1b1630e1fb..e2084b06b3 100644 --- a/gnu/packages/oggvorbis.scm +++ b/gnu/packages/oggvorbis.scm @@ -100,7 +100,8 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to version ".tar.xz")) (sha256 (base32 - "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk")))) + "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk")) + (patches (list (search-patch "libtheora-config-guess.patch"))))) (build-system gnu-build-system) (inputs `(("libvorbis" ,libvorbis))) ;; The .pc files refer to libogg. diff --git a/gnu/packages/patches/libtheora-config-guess.patch b/gnu/packages/patches/libtheora-config-guess.patch new file mode 100644 index 0000000000..9529ea7101 --- /dev/null +++ b/gnu/packages/patches/libtheora-config-guess.patch @@ -0,0 +1,37 @@ +Minimally patch libtheora's ancient config.guess to support mips64. + +--- libtheora/config.guess.orig 2009-02-23 22:50:50.000000000 -0500 ++++ libtheora/config.guess 2013-10-31 23:49:48.155999944 -0400 +@@ -798,25 +798,24 @@ + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; +- mips:Linux:*:*) ++ mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU +- #undef mips +- #undef mipsel ++ #undef ${UNAME_MACHINE} ++ #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mipsel ++ CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips ++ CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` +- rm -f $dummy.c && rmdir $tmpdir +- test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` ++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit 0; } + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu -- cgit v1.2.3 From dd863f1f39858bf9d3f1a9de4b4eccc8d3f75d62 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 1 Nov 2013 00:15:16 -0400 Subject: gnu: libmad: Fix MIPS assembler code to work with new GCC. * gnu/packages/patches/libmad-mips-newgcc.patch: New file. * gnu/packages/mp3.scm (libmad): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/mp3.scm | 3 ++- gnu/packages/patches/libmad-mips-newgcc.patch | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libmad-mips-newgcc.patch (limited to 'gnu') diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index b604a36291..5f69255d2a 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -44,7 +44,8 @@ version ".tar.gz")) (sha256 (base32 - "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv")))) + "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv")) + (patches (list (search-patch "libmad-mips-newgcc.patch"))))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/libmad-mips-newgcc.patch b/gnu/packages/patches/libmad-mips-newgcc.patch new file mode 100644 index 0000000000..d22c51255e --- /dev/null +++ b/gnu/packages/patches/libmad-mips-newgcc.patch @@ -0,0 +1,16 @@ +Fix MIPS assembly code to work with newer GCC, where the "=h" +constraint is no longer supported. + +--- libmad/fixed.h.orig 2004-02-16 21:02:03.000000000 -0500 ++++ libmad/fixed.h 2011-10-29 18:47:21.000000000 -0400 +@@ -304,8 +304,8 @@ + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). + */ + # define MAD_F_MLX(hi, lo, x, y) \ +- asm ("mult %2,%3" \ +- : "=l" (lo), "=h" (hi) \ ++ asm ("mult %2,%3\n\tmfhi %1" \ ++ : "=l" (lo), "=r" (hi) \ + : "%r" (x), "r" (y)) + + # if defined(HAVE_MADD_ASM) -- cgit v1.2.3 From fdbd19ea6b784d164986856414a0fd6c25dab7b2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 2 Nov 2013 18:04:45 -0400 Subject: gnu: gd: fix deplibs check method for mips64. * gnu/packages/patches/gd-mips64-deplibs-fix.patch: New file. * gnu/packages/gd.scm (gd): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/gd.scm | 5 ++++- gnu/packages/patches/gd-mips64-deplibs-fix.patch | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-mips64-deplibs-fix.patch (limited to 'gnu') diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 13bcd45f77..ce3db6709c 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -20,6 +20,7 @@ #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (gnu packages) #:use-module (gnu packages libpng) #:use-module (gnu packages libjpeg) #:use-module (gnu packages fontutils) @@ -40,7 +41,9 @@ (uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz") (sha256 (base32 - "0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw")))) + "0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw")) + (patches + (list (search-patch "gd-mips64-deplibs-fix.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after diff --git a/gnu/packages/patches/gd-mips64-deplibs-fix.patch b/gnu/packages/patches/gd-mips64-deplibs-fix.patch new file mode 100644 index 0000000000..6231310cdb --- /dev/null +++ b/gnu/packages/patches/gd-mips64-deplibs-fix.patch @@ -0,0 +1,17 @@ +Patch configure script to choose pass_all deplibs check method for +linux-gnu* systems on mips64. This is a temporary hack until libgd +bootstraps their build system with a newer libtool. + +Patch by Mark H Weaver . + +--- libgd-gd/src/configure.orig 2006-04-05 11:56:57.000000000 -0400 ++++ libgd-gd/src/configure 2013-11-02 17:56:19.123995838 -0400 +@@ -4457,7 +4457,7 @@ + # This must be Linux ELF. + linux-gnu*) + case $host_cpu in +- alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | s390* | x86_64*) ++ alpha* | hppa* | i*86 | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | ia64* | s390* | x86_64*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM -- cgit v1.2.3 From c5916538fdf57c93dc8a5880c9eb4e2ca88aa760 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 2 Nov 2013 18:12:36 -0400 Subject: gnu: liboop: fix deplibs check method for mips64. * gnu/packages/patches/liboop-mips64-deplibs-fix.patch: New file. * gnu/packages/lsh.scm (liboop): Add patch. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/lsh.scm | 3 ++- gnu/packages/patches/liboop-mips64-deplibs-fix.patch | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/liboop-mips64-deplibs-fix.patch (limited to 'gnu') diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm index 58040839e1..7d9ba78a5e 100644 --- a/gnu/packages/lsh.scm +++ b/gnu/packages/lsh.scm @@ -43,7 +43,8 @@ version ".tar.gz")) (sha256 (base32 - "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")))) + "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")) + (patches (list (search-patch "liboop-mips64-deplibs-fix.patch"))))) (build-system gnu-build-system) (home-page "http://www.lysator.liu.se/liboop/") (synopsis "Event loop library") diff --git a/gnu/packages/patches/liboop-mips64-deplibs-fix.patch b/gnu/packages/patches/liboop-mips64-deplibs-fix.patch new file mode 100644 index 0000000000..b91754a8cc --- /dev/null +++ b/gnu/packages/patches/liboop-mips64-deplibs-fix.patch @@ -0,0 +1,17 @@ +Patch configure script to choose pass_all deplibs check method for +linux-gnu* systems on mips64. This is a temporary hack until liboop +bootstraps their build system with a newer libtool. + +Patch by Mark H Weaver . + +--- liboop/configure.orig 2003-10-26 11:41:19.000000000 -0500 ++++ liboop/configure 2013-11-02 18:09:11.079995796 -0400 +@@ -3395,7 +3395,7 @@ + # This must be Linux ELF. + linux*) + case $host_cpu in +- alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) ++ alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | s390* | sh*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM -- cgit v1.2.3 From f57ff219ad9e08427e06d9c95fb71cc0764564c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 17 Oct 2013 15:47:56 -0400 Subject: gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI. * .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz. * gnu-system.am (bootstrap_mips64el_linuxdir, dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA): New variables. (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA). (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target. * build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux bootstrap tarballs. * gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer mips64el-linux bootstrap tarballs. * gnu/packages/bootstrap/mips64el-linux/bash: * gnu/packages/bootstrap/mips64el-linux/mkdir: * gnu/packages/bootstrap/mips64el-linux/tar: * gnu/packages/bootstrap/mips64el-linux/xz: New files. --- gnu/packages/bootstrap.scm | 51 +++++++++++++++++++++++----- gnu/packages/bootstrap/mips64el-linux/bash | Bin 0 -> 1409080 bytes gnu/packages/bootstrap/mips64el-linux/mkdir | Bin 0 -> 698500 bytes gnu/packages/bootstrap/mips64el-linux/tar | Bin 0 -> 1283708 bytes gnu/packages/bootstrap/mips64el-linux/xz | Bin 0 -> 851736 bytes 5 files changed, 42 insertions(+), 9 deletions(-) create mode 100755 gnu/packages/bootstrap/mips64el-linux/bash create mode 100755 gnu/packages/bootstrap/mips64el-linux/mkdir create mode 100755 gnu/packages/bootstrap/mips64el-linux/tar create mode 100755 gnu/packages/bootstrap/mips64el-linux/xz (limited to 'gnu') diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 2a8af36ad6..d369edb8b6 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -180,7 +180,12 @@ check whether everything is alright." (xz (->store "xz")) (mkdir (->store "mkdir")) (bash (->store "bash")) - (guile (->store "guile-2.0.7.tar.xz")) + (guile (->store + (match (%current-system) + ("mips64el-linux" + "guile-2.0.9.tar.xz") + (_ + "guile-2.0.7.tar.xz")))) (builder (add-text-to-store store "build-bootstrap-guile.sh" @@ -219,7 +224,11 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" system - "/20130105/static-binaries.tar.xz") + (match system + ("mips64el-linux" + "/20131017/static-binaries.tar.xz") + (_ + "/20130105/static-binaries.tar.xz"))) %bootstrap-base-urls)) (sha256 (match system @@ -228,7 +237,10 @@ $out/bin/guile --version~%" "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) ("i686-linux" (base32 - "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")))))) + "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")) + ("mips64el-linux" + (base32 + "17k5f1322b7n1difhlyw4cghxvq8fxj7wlhzghh4y362fshvvw1c")))))) "true" ; the program to test "Bootstrap binaries of Coreutils, Awk, etc.")) @@ -238,7 +250,11 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" system - "/20130105/binutils-2.22.tar.xz") + (match system + ("mips64el-linux" + "/20131017/binutils-2.23.2.tar.xz") + (_ + "/20130105/binutils-2.22.tar.xz"))) %bootstrap-base-urls)) (sha256 (match system @@ -247,7 +263,10 @@ $out/bin/guile --version~%" "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) ("i686-linux" (base32 - "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")))))) + "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")) + ("mips64el-linux" + (base32 + "1dpnmscgg1fxg9xmlbvcm1d8h8brjgqwaal748w3v3qf33is4sl6")))))) "ld" ; the program to test "Bootstrap binaries of the GNU Binutils")) @@ -289,7 +308,11 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" (%current-system) - "/20130105/glibc-2.17.tar.xz") + (match (%current-system) + ("mips64el-linux" + "/20131017/glibc-2.18.tar.xz") + (_ + "/20130105/glibc-2.17.tar.xz"))) %bootstrap-base-urls)) (sha256 (match (%current-system) @@ -298,7 +321,10 @@ $out/bin/guile --version~%" "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) ("i686-linux" (base32 - "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))) + "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")) + ("mips64el-linux" + (base32 + "1w9x8r2him7qbqlm7ah1aq04kk2ydma44jzgdzsdj3kjx36sqyq1"))))))))) (synopsis "Bootstrap binaries and headers of the GNU C Library") (description #f) (home-page #f) @@ -357,7 +383,11 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ (origin (method url-fetch) (uri (map (cut string-append <> "/" (%current-system) - "/20130105/gcc-4.7.2.tar.xz") + (match (%current-system) + ("mips64el-linux" + "/20131017/gcc-4.7.3.tar.xz") + (_ + "/20130105/gcc-4.7.2.tar.xz"))) %bootstrap-base-urls)) (sha256 (match (%current-system) @@ -366,7 +396,10 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) ("i686-linux" (base32 - "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) + "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")) + ("mips64el-linux" + (base32 + "0g9z8cdlnlzbg67607rxxfk5vi4xjsdc7c2agvdnyzlp0shib6rb"))))))))) (native-search-paths (list (search-path-specification (variable "CPATH") diff --git a/gnu/packages/bootstrap/mips64el-linux/bash b/gnu/packages/bootstrap/mips64el-linux/bash new file mode 100755 index 0000000000..403671d2fa Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/bash differ diff --git a/gnu/packages/bootstrap/mips64el-linux/mkdir b/gnu/packages/bootstrap/mips64el-linux/mkdir new file mode 100755 index 0000000000..c8d3285b38 Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/mkdir differ diff --git a/gnu/packages/bootstrap/mips64el-linux/tar b/gnu/packages/bootstrap/mips64el-linux/tar new file mode 100755 index 0000000000..0cdf7cce2c Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/tar differ diff --git a/gnu/packages/bootstrap/mips64el-linux/xz b/gnu/packages/bootstrap/mips64el-linux/xz new file mode 100755 index 0000000000..b0622ba946 Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/xz differ -- cgit v1.2.3 From 7a78cc7af24a1303dd0117cb977e15ca89a5dad8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 4 Nov 2013 13:33:49 -0500 Subject: gnu: mit-krb5: don't assume arguments are evaluated right-to-left. * gnu/packages/patches/mit-krb5-init-fix.patch: New file. * gnu/packages/mit-krb5.scm (mit-krb5): Apply patch at the end of the custom unpack phase. * gnu-system.am (dist_patch_DATA): Add patch. --- gnu/packages/mit-krb5.scm | 9 ++++++++- gnu/packages/patches/mit-krb5-init-fix.patch | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mit-krb5-init-fix.patch (limited to 'gnu') diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 8222212d95..361cd36f25 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -37,6 +37,8 @@ (sha256 (base32 "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs")))) (build-system gnu-build-system) + (native-inputs + `(("patch/init-fix" ,(search-patch "mit-krb5-init-fix.patch")))) (inputs `(("bison" ,bison) ("perl" ,perl))) (arguments @@ -51,7 +53,12 @@ (and (zero? (system* "tar" "xvf" source)) (zero? (system* "tar" "xvf" (string-append inner ".tar.gz"))) (chdir inner) - (chdir "src")))) + (chdir "src") + ;; XXX The current patch system does not support unusual + ;; source unpack methods, so we have to apply this patch in a + ;; non-standard way. + (zero? (system* "patch" "-p1" "--batch" "-i" + (assoc-ref %build-inputs "patch/init-fix")))))) (alist-replace 'check (lambda* (#:key inputs #:allow-other-keys #:rest args) diff --git a/gnu/packages/patches/mit-krb5-init-fix.patch b/gnu/packages/patches/mit-krb5-init-fix.patch new file mode 100644 index 0000000000..13e49c2789 --- /dev/null +++ b/gnu/packages/patches/mit-krb5-init-fix.patch @@ -0,0 +1,18 @@ +Fix the early context initialization code to avoid assuming that +arguments will be evaluated from right to left. + +Patch by Mark H Weaver . + +--- src/lib/krb5/krb/t_cc_config.c.orig 2012-12-17 21:47:05.000000000 -0500 ++++ src/lib/krb5/krb/t_cc_config.c 2013-10-29 18:19:16.547994590 -0400 +@@ -117,8 +117,8 @@ + int c; + unsigned int i; + +- bail_on_err(context, "Error initializing Kerberos library", +- krb5_init_context(&context)); ++ ret = krb5_init_context(&context); ++ bail_on_err(context, "Error initializing Kerberos library", ret); + bail_on_err(context, "Error getting location of default ccache", + krb5_cc_default(context, &ccache)); + server = NULL; -- cgit v1.2.3 From 062134985802d85066418f6ee2f327122166a567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Nov 2013 00:10:10 +0100 Subject: gnu: Switch to GCC 4.8 as the default compiler. * build-aux/download.scm (file-name->uri): Update URL to /20131110. * gnu-system.am (nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA): Change base name to 'guile-2.0.9.tar.xz'. (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz, gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets. (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz, gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove. (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update hash. * gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8. Enable C++, and add a few --disable flags. Remove MPFR workaround. (cross-gcc-wrapper): Base upon GCC-4.8. Wrap both 'gcc' and 'g++'. (libstdc++): New variable. (gcc-final): Add it as an input; pass corresponding -I and -L flags. * gnu/packages/bootstrap.scm (%bootstrap-guile): Always use "guile-2.0.9.tar.xz. (%bootstrap-coreutils&co): Update hashes. (%bootstrap-binutils): Update URL and hashes. (%bootstrap-glibc): Likewise. (%bootstrap-gcc): Likewise. * gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS. Add --disable-libstdcxx-pch. Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw _SPEC macros. --- gnu/packages/base.scm | 113 ++++++++++++++++++++++++++++++--------------- gnu/packages/bootstrap.scm | 55 +++++++--------------- gnu/packages/gcc.scm | 25 +++++++--- 3 files changed, 111 insertions(+), 82 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 41e1a8d049..0fa7b3f137 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -644,7 +644,7 @@ identifier SYSTEM." (define gcc-boot0 (package-with-bootstrap-guile - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name "gcc-cross-boot0") (arguments `(#:guile ,%bootstrap-guile @@ -654,7 +654,7 @@ identifier SYSTEM." (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.7) + ,@(substitute-keyword-arguments (package-arguments gcc-4.8) ((#:configure-flags flags) `(append (list ,(string-append "--target=" (boot-triplet)) @@ -663,8 +663,18 @@ identifier SYSTEM." ;; Disable features not needed at this stage. "--disable-shared" - "--enable-languages=c" + "--enable-languages=c,c++" + + ;; libstdc++ cannot be built at this stage + ;; ("Link tests are not allowed after + ;; GCC_NO_EXECUTABLES."). + "--disable-libstdc++-v3" + + "--disable-threads" "--disable-libmudflap" + "--disable-libatomic" + "--disable-libsanitizer" + "--disable-libitm" "--disable-libgomp" "--disable-libssp" "--disable-libquadmath" @@ -691,24 +701,7 @@ identifier SYSTEM." ,@(map (lambda (lib) `(symlink ,(package-full-name lib) ,(package-name lib))) - (list gmp mpfr mpc)) - - ;; MPFR headers/lib are found under $(MPFR)/src, but - ;; `configure' wrongfully tells MPC too look under - ;; $(MPFR), so fix that. - (substitute* "configure" - (("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr" - _ equals include middle lib) - (string-append "extra_mpc_mpfr_configure_flags" equals - "--with-mpfr-include=" include - "/mpfr/src" middle - "--with-mpfr-lib=" lib - "/mpfr/src")) - (("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b) - (string-append "gmpinc='-I" a "/mpfr/src " - "-I" b "/mpfr/src")) - (("gmplibs='-L([^ ]+)/mpfr" _ a) - (string-append "gmplibs='-L" a "/mpfr/src"))))) + (list gmp mpfr mpc)))) (alist-cons-after 'install 'symlink-libgcc_eh (lambda* (#:key outputs #:allow-other-keys) @@ -718,7 +711,7 @@ identifier SYSTEM." (with-directory-excursion (string-append out "/lib/gcc/" ,(boot-triplet) - "/" ,(package-version gcc-4.7)) + "/" ,(package-version gcc-4.8)) (symlink "libgcc.a" "libgcc_eh.a")))) ,phases)))))) @@ -734,7 +727,7 @@ identifier SYSTEM." ;; No need for Texinfo at this stage. (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc-4.7)))))) + (package-native-inputs gcc-4.8)))))) (define (linux-libre-headers-boot0) "Return Linux-Libre header files for the bootstrap environment." @@ -800,7 +793,7 @@ identifier SYSTEM." (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC that makes it available under the native tool names." - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (name (string-append (package-name gcc) "-wrapped")) (source #f) (build-system trivial-build-system) @@ -817,27 +810,29 @@ that makes it available under the native tool names." (out (assoc-ref %outputs "out")) (bindir (string-append out "/bin")) (triplet ,(boot-triplet))) - (mkdir-p bindir) - (with-directory-excursion bindir - (for-each (lambda (tool) - (symlink (string-append binutils "/bin/" - triplet "-" tool) - tool)) - '("ar" "ranlib")) - + (define (wrap-program program) ;; GCC-BOOT0 is a libc-less cross-compiler, so it ;; needs to be told where to find the crt files and ;; the dynamic linker. - (call-with-output-file "gcc" + (call-with-output-file program (lambda (p) (format p "#!~a/bin/bash -exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" +exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" bash - gcc triplet + gcc triplet program libc libc ,(glibc-dynamic-linker)))) - (chmod "gcc" #o555)))))) + (chmod program #o555)) + + (mkdir-p bindir) + (with-directory-excursion bindir + (for-each (lambda (tool) + (symlink (string-append binutils "/bin/" + triplet "-" tool) + tool)) + '("ar" "ranlib")) + (for-each wrap-program '("gcc" "g++"))))))) (native-inputs `(("binutils" ,binutils) ("gcc" ,gcc) @@ -893,6 +888,36 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(package-arguments binutils))) (inputs %boot2-inputs)))) +(define libstdc++ + ;; Intermediate libstdc++ that will allow us to build the final GCC + ;; (remember that GCC-BOOT0 cannot build libstdc++.) + (package-with-bootstrap-guile + (package (inherit gcc-4.8) + (name "libstdc++") + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + + #:out-of-source? #t + #:phases (alist-cons-before + 'configure 'chdir + (lambda _ + (chdir "libstdc++-v3")) + %standard-phases) + #:configure-flags `("--disable-shared" + "--disable-libstdcxx-threads" + "--disable-libstdcxx-pch" + ,(string-append "--with-gxx-include-dir=" + (assoc-ref %outputs "out") + "/include" + ;; "/include/c++/" + ;; ,(package-version gcc-4.8) + )))) + (inputs %boot2-inputs) + (native-inputs '()) + (propagated-inputs '()) + (synopsis "GNU C++ standard library (intermediate)")))) + (define-public gcc-final ;; The final GCC. (package (inherit gcc-boot0) @@ -906,12 +931,25 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) ,@(substitute-keyword-arguments (package-arguments gcc-boot0) ((#:configure-flags boot-flags) - (let loop ((args (package-arguments gcc-4.7))) + (let loop ((args (package-arguments gcc-4.8))) (match args ((#:configure-flags normal-flags _ ...) normal-flags) ((_ rest ...) (loop rest))))) + ((#:make-flags flags) + ;; Since $LIBRARY_PATH and $CPATH are not honored, add the + ;; relevant flags. + `(cons (string-append "CPPFLAGS=-I" + (assoc-ref %build-inputs "libstdc++") + "/include") + (map (lambda (flag) + (if (string-prefix? "LDFLAGS=" flag) + (string-append flag " -L" + (assoc-ref %build-inputs "libstdc++") + "/lib") + flag)) + ,flags))) ((#:phases phases) `(alist-delete 'symlink-libgcc_eh ,phases))))) @@ -919,6 +957,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("mpfr-source" ,(package-source mpfr)) ("mpc-source" ,(package-source mpc)) ("binutils" ,binutils-final) + ("libstdc++" ,libstdc++) ,@%boot2-inputs)))) (define ld-wrapper-boot3 diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index d369edb8b6..981cde9f2b 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -180,12 +180,7 @@ check whether everything is alright." (xz (->store "xz")) (mkdir (->store "mkdir")) (bash (->store "bash")) - (guile (->store - (match (%current-system) - ("mips64el-linux" - "guile-2.0.9.tar.xz") - (_ - "guile-2.0.7.tar.xz")))) + (guile (->store "guile-2.0.9.tar.xz")) (builder (add-text-to-store store "build-bootstrap-guile.sh" @@ -224,23 +219,19 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" system - (match system - ("mips64el-linux" - "/20131017/static-binaries.tar.xz") - (_ - "/20130105/static-binaries.tar.xz"))) + "/20131110/static-binaries.tar.xz") %bootstrap-base-urls)) (sha256 (match system ("x86_64-linux" (base32 - "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) + "0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4")) ("i686-linux" (base32 - "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")) + "0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak")) ("mips64el-linux" (base32 - "17k5f1322b7n1difhlyw4cghxvq8fxj7wlhzghh4y362fshvvw1c")))))) + "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) "true" ; the program to test "Bootstrap binaries of Coreutils, Awk, etc.")) @@ -250,23 +241,19 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" system - (match system - ("mips64el-linux" - "/20131017/binutils-2.23.2.tar.xz") - (_ - "/20130105/binutils-2.22.tar.xz"))) + "/20131110/binutils-2.23.2.tar.xz") %bootstrap-base-urls)) (sha256 (match system ("x86_64-linux" (base32 - "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) + "1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20")) ("i686-linux" (base32 - "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")) + "14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9")) ("mips64el-linux" (base32 - "1dpnmscgg1fxg9xmlbvcm1d8h8brjgqwaal748w3v3qf33is4sl6")))))) + "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) "ld" ; the program to test "Bootstrap binaries of the GNU Binutils")) @@ -308,23 +295,19 @@ $out/bin/guile --version~%" (origin (method url-fetch) (uri (map (cut string-append <> "/" (%current-system) - (match (%current-system) - ("mips64el-linux" - "/20131017/glibc-2.18.tar.xz") - (_ - "/20130105/glibc-2.17.tar.xz"))) + "/20131110/glibc-2.18.tar.xz") %bootstrap-base-urls)) (sha256 (match (%current-system) ("x86_64-linux" (base32 - "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) + "0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v")) ("i686-linux" (base32 - "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")) + "1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w")) ("mips64el-linux" (base32 - "1w9x8r2him7qbqlm7ah1aq04kk2ydma44jzgdzsdj3kjx36sqyq1"))))))))) + "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) (synopsis "Bootstrap binaries and headers of the GNU C Library") (description #f) (home-page #f) @@ -383,23 +366,19 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ (origin (method url-fetch) (uri (map (cut string-append <> "/" (%current-system) - (match (%current-system) - ("mips64el-linux" - "/20131017/gcc-4.7.3.tar.xz") - (_ - "/20130105/gcc-4.7.2.tar.xz"))) + "/20131110/gcc-4.8.2.tar.xz") %bootstrap-base-urls)) (sha256 (match (%current-system) ("x86_64-linux" (base32 - "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) + "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls")) ("i686-linux" (base32 - "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")) + "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw")) ("mips64el-linux" (base32 - "0g9z8cdlnlzbg67607rxxfk5vi4xjsdc7c2agvdnyzlp0shib6rb"))))))))) + "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) (native-search-paths (list (search-path-specification (variable "CPATH") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index bbc0a134d2..db1984306e 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -73,6 +73,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC "--enable-languages=c,c++" "--disable-multilib" + ;; No pre-compiled libstdc++ headers, to save space. + "--disable-libstdcxx-pch" + "--with-local-prefix=/no-gcc-local-prefix" ,(let ((libc (assoc-ref %build-inputs "libc"))) @@ -115,7 +118,9 @@ 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"))) + (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 " @@ -123,6 +128,12 @@ where the OS part is overloaded to denote a specific ABI---into GCC "-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")))) @@ -148,18 +159,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; Tell where to find libstdc++, libc, and `?crt*.o', except ;; `crt{begin,end}.o', which come with GCC. (substitute* (find-files "gcc/config" - "^(gnu-user(64)?|linux-elf)\\.h$") - (("#define LIB_SPEC (.*)$" _ suffix) + "^gnu-user.*\\.h$") + (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) ;; Note that with this "lib" spec, we may still add a ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED. ;; There's not much that can be done to avoid it, though. - (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \ -%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a" + (format #f "#define GNU_USER_TARGET_LIB_SPEC \ +\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a" libc libc out out suffix)) - (("#define STARTFILE_SPEC.*$" line) + (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" #define STANDARD_STARTFILE_PREFIX_2 \"\" -~a~%" +~a" libc line)))) ;; Don't retain a dependency on the build-time sed. -- cgit v1.2.3 From 13990c7343b93190716edb967ecd0159ddc1b6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Nov 2013 23:14:28 +0100 Subject: gnu: glibc: Really disable 'ldconfig' and /etc/ld.so.cache. * gnu/packages/base.scm (glibc): Add 'snippet' to set use_ldconfig=no. Remove "glibc-no-ld-so-cache.patch"; that patch would still build 'ldconfig', and ld.so would still contain ld.so.cache-related code, and would look for info in /etc/etc/ld.so.cache (sic). * gnu/packages/patches/glibc-no-ld-so-cache.patch: Remove. * gnu-system.am (dist_patch_DATA): Adjust accordingly. --- gnu/packages/base.scm | 12 +++++- gnu/packages/patches/glibc-no-ld-so-cache.patch | 53 ------------------------- 2 files changed, 10 insertions(+), 55 deletions(-) delete mode 100644 gnu/packages/patches/glibc-no-ld-so-cache.patch (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 0fa7b3f137..d32f617ceb 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -365,9 +365,17 @@ archives.") (sha256 (base32 "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")) + (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. + '(substitute* "sysdeps/unix/sysv/linux/configure" + (("use_ldconfig=yes") + "use_ldconfig=no"))) + (modules '((guix build utils))) + (imported-modules modules) (patches (map search-patch - '("glibc-no-ld-so-cache.patch" - "glibc-ldd-x86_64.patch" + '("glibc-ldd-x86_64.patch" "glibc-make-4.0.patch"))))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/glibc-no-ld-so-cache.patch b/gnu/packages/patches/glibc-no-ld-so-cache.patch deleted file mode 100644 index 75fff50b47..0000000000 --- a/gnu/packages/patches/glibc-no-ld-so-cache.patch +++ /dev/null @@ -1,53 +0,0 @@ -Disable attempts to use the system-wide /etc/ld.so.cache. This is -required on LFS distros to avoid loading the distro's libc.so instead -of ours. - -Patch from Nixpkgs. Idea by Eelco Dolstra, initial patch by Jack -Cummings, minor fixups by Shea Levy. - -diff -Naur glibc-2.13-orig/elf/ldconfig.c glibc-2.13/elf/ldconfig.c ---- glibc-2.13-orig/elf/ldconfig.c 2011-01-17 23:34:07.000000000 -0500 -+++ glibc-2.13/elf/ldconfig.c 2012-04-10 23:28:45.957492340 -0400 -@@ -51,7 +51,7 @@ - #endif - - #ifndef LD_SO_CONF --# define LD_SO_CONF SYSCONFDIR "/ld.so.conf" -+# define LD_SO_CONF PREFIX "/etc/ld.so.conf" - #endif - - /* Get libc version number. */ - ---- glibc-2.16.0/elf/Makefile 2012-06-30 21:12:34.000000000 +0200 -+++ glibc-2.16.0/elf/Makefile 2012-11-12 23:52:21.000000000 +0100 -@@ -415,12 +415,12 @@ $(objpfx)ldconfig: $(ldconfig-modules:%= - - $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o) - --SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' --CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ -+PREFIX-FLAGS := -D'PREFIX="$(sysconfdir)"' -+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \ - -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 --CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) --CFLAGS-cache.c = $(SYSCONF-FLAGS) --CFLAGS-rtld.c = $(SYSCONF-FLAGS) -+CFLAGS-dl-cache.c = $(PREFIX-FLAGS) -+CFLAGS-cache.c = $(PREFIX-FLAGS) -+CFLAGS-rtld.c = $(PREFIX-FLAGS) - - CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ - -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld) - -diff -Naur glibc-2.13-orig/sysdeps/generic/dl-cache.h glibc-2.13/sysdeps/generic/dl-cache.h ---- glibc-2.13-orig/sysdeps/generic/dl-cache.h 2011-01-17 23:34:07.000000000 -0500 -+++ glibc-2.13/sysdeps/generic/dl-cache.h 2012-04-10 23:28:20.077488815 -0400 -@@ -29,7 +29,7 @@ - #endif - - #ifndef LD_SO_CACHE --# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache" -+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache" - #endif - - #ifndef add_system_dir -- cgit v1.2.3 From 9ca8b5ac559735af29ab04c9f0797e6549e6f3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Nov 2013 00:07:35 +0100 Subject: gnu: tar: Upgrade to 1.27.1. * gnu/packages/base.scm (tar): Upgrade to 1.27.1. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d32f617ceb..7de7689b24 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -130,14 +130,14 @@ is often used for substituting text patterns in a stream.") (define-public tar (package (name "tar") - (version "1.27") + (version "1.27.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/tar/tar-" version ".tar.bz2")) (sha256 (base32 - "0yrwmx2f721ahpnki4fnzvnmrd3md3bq417icb4wrjky7k3caf12")))) + "1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv")))) (build-system gnu-build-system) (synopsis "Managing tar archives") (description -- cgit v1.2.3 From 65d3b7c31ddda37fd721cf4ee1e538d3dc9727c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Nov 2013 00:09:45 +0100 Subject: gnu: gcc: Always link against libgcc_s.so. * gnu/packages/gcc.scm (gcc-4.7)[pre-configure]: Add snippet to #undef USE_LD_AS_NEEDED. --- gnu/packages/gcc.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index db1984306e..f11e506bc7 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -173,6 +173,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC ~a" libc line)))) + ;; Use '-lgcc_s' rather than '--as-needed -lgcc_s', so that + ;; libgcc_s.so is always found by those programs that use + ;; 'pthread_cancel' (glibc dlopens libgcc_s.so when + ;; pthread_cancel support is needed, but having it in the + ;; application's RUNPATH isn't enough; see + ;; .) + ;; Also, "gcc_cv_ld_as_needed=no" as a configure flag doesn't + ;; work. + (substitute* "gcc/gcc.c" + (("#ifndef USE_LD_AS_NEEDED.*$" line) + (string-append "#undef USE_LD_AS_NEEDED\n" line))) + ;; Don't retain a dependency on the build-time sed. (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =.*;") -- cgit v1.2.3 From 0129c94832a9fdd8c901848dd9e963e7c20063eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Nov 2013 00:20:56 +0100 Subject: gnu: gettext: Upgrade to 0.18.3.1. * gnu/packages/gettext.scm (gettext): Upgrade to 0.18.3.1. --- gnu/packages/gettext.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 07d2b0d8cb..b6ea3a3f10 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -26,14 +26,14 @@ (define-public gettext (package (name "gettext") - (version "0.18.3") + (version "0.18.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gettext/gettext-" version ".tar.gz")) (sha256 (base32 - "0j7rp56c61j4k1bz1xdc041hzv7186yyzhbp95fmc0zq7l2c3wrn")))) + "0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-before -- cgit v1.2.3 From a7bf595fffd3db97b14ab3d5a5703497de266cb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Nov 2013 14:06:47 +0100 Subject: gnu: gcc: Really always link against libgcc_s.so. * gnu/packages/gcc.scm (gcc-4.7): Add snippet to add -lgcc_s to the "lib" spec. Remove --as-needed trick from 65d3b7c: it had no effect in cases where we have !static-libgcc && !shared-libgcc. --- gnu/packages/gcc.scm | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index f11e506bc7..aa3b48692e 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -161,11 +161,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC (substitute* (find-files "gcc/config" "^gnu-user.*\\.h$") (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) - ;; Note that with this "lib" spec, we may still add a - ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED. - ;; There's not much that can be done to avoid it, though. + ;; Help libgcc_s.so be found (see also below.) Always use + ;; '-lgcc_s' so that libgcc_s.so is always found by those + ;; programs that use 'pthread_cancel' (glibc dlopens + ;; libgcc_s.so when pthread_cancel support is needed, but + ;; having it in the application's RUNPATH isn't enough; see + ;; .) (format #f "#define GNU_USER_TARGET_LIB_SPEC \ -\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a" +\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a" libc libc out out suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" @@ -173,18 +176,6 @@ where the OS part is overloaded to denote a specific ABI---into GCC ~a" libc line)))) - ;; Use '-lgcc_s' rather than '--as-needed -lgcc_s', so that - ;; libgcc_s.so is always found by those programs that use - ;; 'pthread_cancel' (glibc dlopens libgcc_s.so when - ;; pthread_cancel support is needed, but having it in the - ;; application's RUNPATH isn't enough; see - ;; .) - ;; Also, "gcc_cv_ld_as_needed=no" as a configure flag doesn't - ;; work. - (substitute* "gcc/gcc.c" - (("#ifndef USE_LD_AS_NEEDED.*$" line) - (string-append "#undef USE_LD_AS_NEEDED\n" line))) - ;; Don't retain a dependency on the build-time sed. (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =.*;") -- cgit v1.2.3 From c42a4b76c400fd8cf30e145061637c70a2b12a02 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 18 Nov 2013 21:11:49 +0100 Subject: gnu: gettext: Enable "xgettext --language=glade". * gnu/packages/gettext.scm (gettext): Add input expat, explicitly link with it. --- gnu/packages/gettext.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index b6ea3a3f10..7edbfa023c 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -17,11 +17,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gettext) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:select (gpl3)) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages xml)) (define-public gettext (package @@ -35,8 +36,16 @@ (base32 "0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd")))) (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"))) @@ -48,7 +57,7 @@ "posix_spawn") (("/bin/sh") bash)))) - %standard-phases))) + %standard-phases)))) (home-page "http://www.gnu.org/software/gettext/") (synopsis "Tools and documentation for translation") (description -- cgit v1.2.3 From f39298004162b94447a301d582e3f73892c99953 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 17 Nov 2013 18:30:50 +0100 Subject: gnu: pspp: Add input cairo. * gnu/packages/maths.scm (pspp): Add cairo and further necessary inputs. * gnu/packages/patches/pspp-tests.patch: New file, thanks to John Darrington . * gnu-system.am (dist_patch_DATA): Register patch. --- gnu/packages/maths.scm | 13 +++++++++---- gnu/packages/patches/pspp-tests.patch | 13 +++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/pspp-tests.patch (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9b2b052a52..2531285048 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -26,9 +26,11 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages gcc) + #:use-module (gnu packages gtk) #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -132,12 +134,16 @@ LP/MIP solver is included in the package.") version ".tar.gz")) (sha256 (base32 - "0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x")))) + "0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x")) + (patches (list (search-patch "pspp-tests.patch"))))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("gettext" ,gnu:gettext) ("gsl" ,gsl) ("libxml2" ,libxml2) + ("pango" ,pango) ("readline" ,readline) ("zlib" ,zlib))) (native-inputs @@ -145,8 +151,7 @@ LP/MIP solver is included in the package.") ("pkg-config" ,pkg-config))) (arguments `(#:configure-flags - `("--without-cairo" ; FIXME: tests currently fail for lack of font - "--without-gui"))) ; FIXME: package missing dependencies + `("--without-gui"))) ; FIXME: package missing dependencies (home-page "http://www.gnu.org/software/pspp/") (synopsis "Statistical analysis") (description diff --git a/gnu/packages/patches/pspp-tests.patch b/gnu/packages/patches/pspp-tests.patch new file mode 100644 index 0000000000..3e61b68804 --- /dev/null +++ b/gnu/packages/patches/pspp-tests.patch @@ -0,0 +1,13 @@ +diff --git a/tests/output/render-test.c b/tests/output/render-test.c +index 5f4c1da..e9df96c 100644 +--- a/tests/output/render-test.c ++++ b/tests/output/render-test.c +@@ -142,7 +142,7 @@ configure_drivers (int width, int length) + string_map_insert (&options, "left-margin", "0"); + string_map_insert (&options, "right-margin", "0"); + string_map_insert_nocopy (&options, xstrdup ("paper-size"), +- xasprintf ("%dx%dpt", width * 5, length * 8)); ++ xasprintf ("%dx%dpt", width * 5, length * 16)); + driver = output_driver_create (&options); + if (driver == NULL) + exit (EXIT_FAILURE); -- cgit v1.2.3 From 953ab5030f1ee870944a291f9e8edc491b198969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Nov 2013 19:01:27 +0100 Subject: gnu: make-bootstrap: Simplify '%gcc-static'. * gnu/packages/make-bootstrap.scm (%gcc-static): Add a bunch of --disable configure flags. Remove useless 'inputs' field. --- gnu/packages/make-bootstrap.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index defc32bc08..7f7a808542 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -406,6 +406,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." "--disable-plugin" "--enable-languages=c" "--disable-libmudflap" + "--disable-libatomic" + "--disable-libsanitizer" + "--disable-libitm" "--disable-libgomp" "--disable-libssp" "--disable-libquadmath" @@ -415,12 +418,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ((#:make-flags flags) (if (%current-target-system) `(cons "LDFLAGS=-static" ,flags) - `(cons "BOOT_LDFLAGS=-static" ,flags)))))) - (inputs `(("gmp-source" ,(package-source gmp)) - ("mpfr-source" ,(package-source mpfr)) - ("mpc-source" ,(package-source mpc)) - ("binutils" ,binutils) - ,@(package-inputs gcc-4.8)))))) + `(cons "BOOT_LDFLAGS=-static" ,flags))))))))) (define %gcc-stripped ;; The subset of GCC files needed for bootstrap. -- cgit v1.2.3 From 1dba64079c5aaa1fb40e4b1d989f1f06efd6cb63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Nov 2013 22:12:49 +0100 Subject: gnu: gettext: Rename binding to 'gnu-gettext'. * gnu/packages/gettext.scm (gettext): Rename to... (gnu-gettext): ... this. This is used to work around the circular dependency introduced in commit c42a4b7, which users with a #:renamer cannot cope with. * gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/cdrom.scm, gnu/packages/fdisk.scm, gnu/packages/gkrellm.scm, gnu/packages/glib.scm, gnu/packages/gnunet.scm, gnu/packages/grub.scm, gnu/packages/linux.scm, gnu/packages/maths.scm, gnu/packages/nano.scm, gnu/packages/parted.scm, gnu/packages/system.scm, gnu/packages/version-control.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/wget.scm: Adjust accordingly. --- gnu/packages/acl.scm | 5 ++--- gnu/packages/attr.scm | 5 ++--- gnu/packages/cdrom.scm | 4 ++-- gnu/packages/fdisk.scm | 5 ++--- gnu/packages/gettext.scm | 9 ++++++++- gnu/packages/gkrellm.scm | 5 ++--- gnu/packages/glib.scm | 7 +++---- gnu/packages/gnunet.scm | 5 ++--- gnu/packages/grub.scm | 4 ++-- gnu/packages/linux.scm | 7 +++---- gnu/packages/maths.scm | 5 ++--- gnu/packages/nano.scm | 5 ++--- gnu/packages/parted.scm | 5 ++--- gnu/packages/system.scm | 5 ++--- gnu/packages/version-control.scm | 7 +++---- gnu/packages/vpn.scm | 5 ++--- gnu/packages/w3m.scm | 5 ++--- gnu/packages/wget.scm | 5 ++--- gnu/packages/xorg.scm | 7 +++---- 19 files changed, 48 insertions(+), 57 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index dde9ac4f34..37c0b71dc9 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -20,8 +20,7 @@ #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages perl) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -62,7 +61,7 @@ '() `(("perl" ,perl))))) (native-inputs - `(("gettext" ,guix:gettext))) + `(("gettext" ,gnu-gettext))) (home-page "http://savannah.nongnu.org/projects/acl") diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 3108a9072a..f4f6c46642 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -20,8 +20,7 @@ (define-module (gnu packages attr) #:use-module (guix licenses) #:use-module (gnu packages perl) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -75,7 +74,7 @@ '() `(("perl" ,perl)))) (native-inputs - `(("gettext" ,guix:gettext))) + `(("gettext" ,gnu-gettext))) (home-page "http://savannah.nongnu.org/projects/attr/") (synopsis "Library and tools for manipulating extended attributes") diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 49840ad69f..4580af807b 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -25,7 +25,7 @@ #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages compression) - #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) #:use-module (gnu packages help2man) #:use-module (gnu packages ncurses) @@ -179,7 +179,7 @@ reconstruction capability.") "0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("gtk+" ,gtk+-2) ("pkg-config" ,pkg-config) ("which" ,which))) diff --git a/gnu/packages/fdisk.scm b/gnu/packages/fdisk.scm index dca77c4d6e..8272c45aab 100644 --- a/gnu/packages/fdisk.scm +++ b/gnu/packages/fdisk.scm @@ -18,8 +18,7 @@ (define-module (gnu packages fdisk) #:use-module ((guix licenses) #:select (gpl3+)) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages guile) #:use-module (gnu packages linux) #:use-module (gnu packages parted) @@ -41,7 +40,7 @@ "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) (build-system gnu-build-system) (inputs - `(("gettext" ,guix:gettext) + `(("gettext" ,gnu-gettext) ("guile" ,guile-1.8) ("util-linux" ,util-linux) ("parted" ,parted))) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 7edbfa023c..6b056055b8 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -24,7 +24,14 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages xml)) -(define-public gettext +;; Use that name to avoid clashes with Guile's 'gettext' procedure. +;; +;; We used to resort to #:renamer on the user side, but that prevented +;; circular dependencies involving (gnu packages gettext). This is because +;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used +;; module when there's a #:renamer, and that module may be empty at that point +;; in case or circular dependencies. +(define-public gnu-gettext (package (name "gettext") (version "0.18.3.1") diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm index f53b4fc891..610af418b4 100644 --- a/gnu/packages/gkrellm.scm +++ b/gnu/packages/gkrellm.scm @@ -22,8 +22,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg)) @@ -42,7 +41,7 @@ "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("gtk+" ,gtk+-2) ("libice" ,libice) ("libsm" ,libsm))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 61ba0b944e..fc65f304fc 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -29,8 +29,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) #:use-module (gnu packages perl) @@ -124,7 +123,7 @@ shared NFS home directories.") "doc")) ; 20 MiB of GTK-Doc reference (inputs `(("coreutils" ,coreutils) - ("gettext" ,guix:gettext) + ("gettext" ,gnu-gettext) ("libffi" ,libffi) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) @@ -224,7 +223,7 @@ bindings to call into the C library.") (propagated-inputs `(;; Propagate gettext because users expect it to be there, and so does ;; the `intltool-update' script. - ("gettext" ,guix:gettext) + ("gettext" ,gnu-gettext) ;; `file' is used by `intltool-update' too. ("file" ,file) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 83278583b7..35be20a3af 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -20,8 +20,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) @@ -68,7 +67,7 @@ ;; * libsmf ;; * libtidy (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("flac" ,flac) ("glib" ,glib) ("libjpeg" ,libjpeg) diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index ba1fd8fabc..c24dcaefd9 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -24,7 +24,7 @@ #:use-module (gnu packages) #:use-module (gnu packages flex) #:use-module (gnu packages bison) - #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages fontutils) #:use-module (gnu packages linux) #:use-module (gnu packages qemu) @@ -84,7 +84,7 @@ %standard-phases))) (inputs `(;; ("lvm2" ,lvm2) - ("gettext" ,gnu:gettext) + ("gettext" ,gnu-gettext) ("freetype" ,freetype) ;; ("libusb" ,libusb) ("ncurses" ,ncurses))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index eab4280324..7176c37a87 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -30,8 +30,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages algebra) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'g:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages attr) #:use-module (gnu packages xml) @@ -514,7 +513,7 @@ MIDI functionality to the Linux-based operating system.") ("ncurses" ,ncurses) ("alsa-lib" ,alsa-lib) ("xmlto" ,xmlto) - ("gettext" ,g:gettext))) + ("gettext" ,gnu-gettext))) (home-page "http://www.alsa-project.org/") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (description @@ -677,7 +676,7 @@ manpages.") (sha256 (base32 "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))) - (native-inputs `(("gettext" ,g:gettext))) + (native-inputs `(("gettext" ,gnu-gettext))) (synopsis "Tools for controlling the network subsystem in Linux") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 2531285048..c1c78d5ce3 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,8 +27,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gtk) #:use-module (gnu packages multiprecision) @@ -140,7 +139,7 @@ LP/MIP solver is included in the package.") (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) - ("gettext" ,gnu:gettext) + ("gettext" ,gnu-gettext) ("gsl" ,gsl) ("libxml2" ,libxml2) ("pango" ,pango) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index c936ca552c..662cf4184f 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -18,8 +18,7 @@ (define-module (gnu packages nano) #:use-module (guix licenses) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages ncurses) #:use-module (guix packages) #:use-module (guix download) @@ -39,7 +38,7 @@ "1s3b21h5p7r8xafw0gahswj16ai6k2vnjhmd15b491hl0x494c7z")))) (build-system gnu-build-system) (inputs - `(("gettext" ,guix:gettext) + `(("gettext" ,gnu-gettext) ("ncurses" ,ncurses))) (home-page "http://www.nano-editor.org/") (synopsis "Small, user-friendly console text editor") diff --git a/gnu/packages/parted.scm b/gnu/packages/parted.scm index 9d835d6b6c..25f021b6fd 100644 --- a/gnu/packages/parted.scm +++ b/gnu/packages/parted.scm @@ -22,8 +22,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages check) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages readline)) @@ -54,7 +53,7 @@ (inputs ;; XXX: add 'lvm2'. `(("check" ,check) - ("gettext" ,guix:gettext) + ("gettext" ,gnu-gettext) ("readline" ,readline) ("util-linux" ,util-linux))) (home-page "http://www.gnu.org/software/parted/") diff --git a/gnu/packages/system.scm b/gnu/packages/system.scm index 9c06e6b61e..2f1eab3806 100644 --- a/gnu/packages/system.scm +++ b/gnu/packages/system.scm @@ -28,8 +28,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages linux) #:use-module (gnu packages guile) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'g:)) + #:use-module (gnu packages gettext) #:use-module ((gnu packages base) #:select (tar)) #:use-module ((gnu packages compression) @@ -76,7 +75,7 @@ is based on GNU Guile.") "1b4hfqv23l87cb37fxwzfk2sgspkyxpr3ig2hsd23hr6mm982j7z")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; There are no tests. - (native-inputs `(("gettext" ,g:gettext))) + (native-inputs `(("gettext" ,gnu-gettext))) (home-page "http://projects.gw-computing.net/projects/dfc") (synopsis "Display file system space usage using graphs and colors") (description diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index cc6e3d3111..6c0328556e 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -26,8 +26,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build utils) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages apr) #:use-module (gnu packages curl) #:use-module (gnu packages nano) @@ -58,7 +57,7 @@ (inputs ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh' ;; require Zsh. - `(("gettext" ,guix:gettext))) + `(("gettext" ,gnu-gettext))) (arguments `(#:tests? #f ; no test target #:python ,python-2)) ; Python 3 apparently not yet supported, see @@ -87,7 +86,7 @@ from a command line or use a GUI application.") (inputs `(("curl" ,curl) ("expat" ,expat) - ("gettext" ,guix:gettext) + ("gettext" ,gnu-gettext) ("openssl" ,openssl) ("perl" ,perl) ("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 0b733550be..dbdfa227e9 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -24,8 +24,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages compression) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) @@ -81,7 +80,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("libxml2" ,libxml2) ("openssl" ,openssl) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index b5122d4f23..64fa78ab1b 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -18,8 +18,7 @@ (define-module (gnu packages w3m) #:use-module ((guix licenses) #:select (x11-style)) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) @@ -61,7 +60,7 @@ (("@PERL@") (which "perl")))) %standard-phases))) (inputs - `(("gettext" ,guix:gettext) + `(("gettext" ,gnu-gettext) ("libgc" ,libgc) ("ncurses" ,ncurses) ("openssl" ,openssl) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index ab7170a73c..29bb725d3b 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -18,8 +18,7 @@ (define-module (gnu packages wget) #:use-module (guix licenses) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages gnutls) #:use-module (gnu packages perl) #:use-module (guix packages) @@ -42,7 +41,7 @@ (inputs `(("gnutls" ,gnutls) ("perl" ,perl) - ("gettext" ,guix:gettext))) + ("gettext" ,gnu-gettext))) (home-page "http://www.gnu.org/software/wget/") (synopsis "Non-interactive command-line utility for downloading files") (description diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8ff1532879..3a53fdf3a6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -26,8 +26,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) @@ -1303,7 +1302,7 @@ tracking.") "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("libxt" ,libxt) ("xproto" ,xproto) ("libxext" ,libxext) @@ -3236,7 +3235,7 @@ tracking.") "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu:gettext) + `(("gettext" ,gnu-gettext) ("intltool" ,intltool) ("libx11" ,libx11) ("pkg-config" ,pkg-config) -- cgit v1.2.3 From d321bf4c27d7a40954f15061c16335bf3035a194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 21 Nov 2013 00:21:12 +0100 Subject: gnu: apl: Adjust to gettext renaming. * gnu/packages/apl.scm (apl): Use GNU-GETTEXT. --- gnu/packages/apl.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 5750abbddf..a2ef71f37f 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -21,8 +21,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module ((gnu packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gettext) #:use-module (gnu packages maths) #:use-module (gnu packages readline)) @@ -40,7 +39,7 @@ (build-system gnu-build-system) (home-page "http://www.gnu.org/software/apl/") (inputs - `(("gettext" ,guix:gettext) + `(("gettext" ,gnu-gettext) ("lapack" ,lapack) ("readline" ,readline))) (synopsis "APL interpreter") -- cgit v1.2.3 From 0ece70747028ee88c58dc90b1089b4f74f243015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 23 Nov 2013 16:07:29 +0100 Subject: gnu: make-bootstrap: Add missing inputs for Canadian cross of '%gcc-static'. * gnu/packages/make-bootstrap.scm (%gcc-static): Add 'native-inputs' field. --- gnu/packages/make-bootstrap.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 7f7a808542..d621a634a3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -418,7 +418,21 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ((#:make-flags flags) (if (%current-target-system) `(cons "LDFLAGS=-static" ,flags) - `(cons "BOOT_LDFLAGS=-static" ,flags))))))))) + `(cons "BOOT_LDFLAGS=-static" ,flags)))))) + (native-inputs + (if (%current-target-system) + `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both + ;; as target inputs and as native inputs; the latter is + ;; needed when building build-time tools ('genconstants', + ;; etc.) Failing to do that leads to misdetections of + ;; declarations by 'gcc/configure', and eventually to + ;; duplicate declarations as reported in + ;; . + ("gmp-native" ,gmp) + ("mpfr-native" ,mpfr) + ("mpc-native" ,mpc) + ,@(package-native-inputs gcc-4.8)) + (package-native-inputs gcc-4.8)))))) (define %gcc-stripped ;; The subset of GCC files needed for bootstrap. -- cgit v1.2.3 From cd143df018f11fa8143bbbab219fe0a50f10c48e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 23 Nov 2013 22:17:48 +0100 Subject: gnu: net-tools: Adjust to removal of the 'patch' phase. * gnu/packages/linux.scm (net-tools): Adjust to removal of the 'patch' phase. Reported by Mark H. Weaver . --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e1f8b4f46d..c1550550a7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -626,8 +626,8 @@ manpages.") "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'patch + '(#:phases (alist-cons-after + 'unpack 'patch (lambda* (#:key inputs #:allow-other-keys) (define (apply-patch file) (zero? (system* "patch" "-p1" "--batch" -- cgit v1.2.3