summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/hydra/gnu-system.scm3
-rw-r--r--gnu-system.am4
-rw-r--r--gnu/packages/base.scm98
-rw-r--r--gnu/packages/bash.scm4
-rw-r--r--gnu/packages/gettext.scm4
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/guile.scm6
-rw-r--r--gnu/packages/libffi.scm20
-rw-r--r--gnu/packages/lsh.scm2
-rw-r--r--gnu/packages/make-bootstrap.scm5
-rw-r--r--gnu/packages/multiprecision.scm4
-rw-r--r--gnu/packages/patches/binutils-loongson-madd-fix.patch44
-rw-r--r--gnu/packages/patches/coreutils-dummy-man.patch21
-rw-r--r--gnu/packages/patches/coreutils-skip-nohup.patch28
-rw-r--r--gnu/packages/patches/glibc-make-4.0.patch12
-rw-r--r--gnu/packages/readline.scm4
-rw-r--r--gnu/packages/web.scm22
-rw-r--r--gnu/system.scm9
-rw-r--r--guix/build/gnu-build-system.scm22
-rw-r--r--guix/derivations.scm6
-rw-r--r--guix/packages.scm67
-rw-r--r--guix/profiles.scm3
-rw-r--r--tests/guix-package.sh2
23 files changed, 218 insertions, 176 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index c004115212..4f6eaf78f2 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -87,7 +87,8 @@ SYSTEM."
(cut package-cross-derivation <> <> target <>))))
(define %core-packages
- (list gmp mpfr mpc coreutils findutils diffutils patch sed grep
+ (list gcc-final glibc-final binutils
+ gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gnu-gettext hello guile-2.0 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
diff --git a/gnu-system.am b/gnu-system.am
index 2eae1483cc..9f4f959d46 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -251,12 +251,13 @@ dist_patch_DATA = \
gnu/packages/patches/avahi-localstatedir.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
- gnu/packages/patches/binutils-loongson-madd-fix.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/bitlbee-fix-tests.patch \
gnu/packages/patches/bitlbee-memset-fix.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/cmake-fix-tests.patch \
+ gnu/packages/patches/coreutils-dummy-man.patch \
+ gnu/packages/patches/coreutils-skip-nohup.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/curl-fix-test172.patch \
gnu/packages/patches/dbus-localstatedir.patch \
@@ -276,7 +277,6 @@ dist_patch_DATA = \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
- gnu/packages/patches/glibc-make-4.0.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e17933b36f..89d90c989b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
@@ -31,6 +31,8 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages pkg-config)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -68,14 +70,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep
(package
(name "grep")
- (version "2.15")
+ (version "2.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
- "052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz"))))
+ "08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6"))))
(build-system gnu-build-system)
(synopsis "Print lines matching a pattern")
(description
@@ -230,22 +232,28 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
- (version "8.21")
+ (version "8.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
- "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"))))
+ "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
+ (patches (list (search-patch "coreutils-dummy-man.patch")
+ ;; TODO: remove this patch for >= 8.23
+ (search-patch "coreutils-skip-nohup.patch")))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
- ("gmp" ,gmp)
-
- ;; Perl is needed to run tests; remove it from cross builds.
- ,@(if (%current-target-system)
- '()
- `(("perl" ,perl)))))
+ ("gmp" ,gmp)))
+ (native-inputs
+ ;; Perl is needed to run tests in native builds, and to run the bundled
+ ;; copy of help2man. However, don't pass it when cross-compiling since
+ ;; that would lead it to try to run programs to get their '--help' output
+ ;; for help2man.
+ (if (%current-target-system)
+ '()
+ `(("perl" ,perl))))
(outputs '("out" "debug"))
(arguments
`(#:parallel-build? #f ; help2man may be called too early
@@ -284,6 +292,7 @@ functionality beyond that which is outlined in the POSIX standard.")
"1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
(patches (list (search-patch "make-impure-dirs.patch")))))
(build-system gnu-build-system)
+ (native-inputs `(("pkg-config", pkg-config))) ; to detect Guile
(inputs `(("guile" ,guile-2.0)))
(outputs '("out" "debug"))
(arguments
@@ -311,24 +320,18 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.23.2")
+ (version "2.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))
+ "0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
(patches (list (search-patch "binutils-ld-new-dtags.patch")
- (search-patch "binutils-loongson-workaround.patch")
- (search-patch "binutils-loongson-madd-fix.patch")))))
+ (search-patch "binutils-loongson-workaround.patch")))))
(build-system gnu-build-system)
- ;; Split Binutils in several outputs, mostly to avoid collisions in
- ;; user profiles with GCC---e.g., libiberty.a.
- (outputs '("out" ; ar, ld, binutils.info, etc.
- "lib")) ; libbfd.a, bfd.h, etc.
-
;; TODO: Add dependency on zlib + those for Gold.
(arguments
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
@@ -340,7 +343,15 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Glibc 2.17 has a "comparison of unsigned
;; expression >= 0 is always true" in wchar.h.
- "--disable-werror")))
+ "--disable-werror"
+
+ ;; Install BFD. It ends up in a hidden directory,
+ ;; but it's here.
+ "--enable-install-libbfd"
+
+ ;; Make sure 'ar' and 'ranlib' produce archives in a
+ ;; deterministic fashion.
+ "--enable-deterministic-archives")))
(synopsis "Binary utilities: bfd gas gprof ld")
(description
@@ -355,14 +366,14 @@ library for working with executable and object formats is also included.")
(define-public glibc
(package
(name "glibc")
- (version "2.18")
+ (version "2.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
- "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))
+ "18m2dssd6ja5arxmdxinc90xvpqcsnqjfwmjl2as07j0i3srff9d"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
@@ -371,10 +382,7 @@ library for working with executable and object formats is also included.")
(("use_ldconfig=yes")
"use_ldconfig=no")))
(modules '((guix build utils)))
- (imported-modules modules)
- (patches (map search-patch
- '("glibc-ldd-x86_64.patch"
- "glibc-make-4.0.patch")))))
+ (patches (list (search-patch "glibc-ldd-x86_64.patch")))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -473,6 +481,11 @@ library for working with executable and object formats is also included.")
%standard-phases))))
(inputs `(("static-bash" ,(static-package bash-light))))
+
+ ;; To build the manual, we need Texinfo and Perl.
+ (native-inputs `(("texinfo" ,texinfo)
+ ("perl" ,perl)))
+
(synopsis "The GNU C Library")
(description
"Any Unix-like operating system needs a C library: the library which
@@ -583,6 +596,7 @@ and daylight-saving rules.")
(copy-file "make"
(string-append bin "/make"))))
,phases))))))
+ (native-inputs '()) ; no need for 'pkg-config'
(inputs %bootstrap-inputs))))
(define diffutils-boot0
@@ -735,6 +749,13 @@ identifier SYSTEM."
(native-inputs (alist-delete "texinfo"
(package-native-inputs gcc-4.8))))))
+(define perl-boot0
+ (package-with-bootstrap-guile
+ (package-with-explicit-inputs perl
+ %boot0-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile)))
+
(define (linux-libre-headers-boot0)
"Return Linux-Libre header files for the bootstrap environment."
;; Note: this is wrapped in a thunk to nicely handle circular dependencies
@@ -745,12 +766,20 @@ identifier SYSTEM."
#:implicit-inputs? #f
,@(package-arguments linux-libre-headers)))
(native-inputs
- (let ((perl (package-with-explicit-inputs perl
- %boot0-inputs
- (current-source-location)
- #:guile %bootstrap-guile)))
- `(("perl" ,perl)
- ,@%boot0-inputs))))))
+ `(("perl" ,perl-boot0)
+ ,@%boot0-inputs)))))
+
+(define texinfo-boot0
+ ;; Texinfo used to build libc's manual.
+ ;; We build without ncurses because it fails to build at this stage, and
+ ;; because we don't need the stand-alone Info reader.
+ ;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
+ (let ((texinfo (package (inherit texinfo)
+ (inputs (alist-delete "ncurses" (package-inputs texinfo))))))
+ (package-with-bootstrap-guile
+ (package-with-explicit-inputs texinfo %boot0-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile))))
(define %boot1-inputs
;; 2nd stage inputs.
@@ -784,6 +813,9 @@ identifier SYSTEM."
"--enable-obsolete-rpc")
,flags)))))
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
+ (native-inputs
+ `(("texinfo" ,texinfo-boot0)
+ ("perl" ,perl-boot0)))
(inputs
`( ;; A native GCC is needed to build `cross-rpcgen'.
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 1cd239a50c..26dfe93099 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -51,14 +51,14 @@
(symlink "bash" "sh"))))))
(package
(name "bash")
- (version "4.2")
+ (version "4.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/bash/bash-" version ".tar.gz"))
(sha256
(base32
- "1n5kbblp5ykbz5q8aq88lsif2z0gnvddg9babk33024wxiwi2ym2"))))
+ "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ; TODO: add texinfo
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index a17b1ea001..e5a2c6e479 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -34,14 +34,14 @@
(define-public gnu-gettext
(package
(name "gettext")
- (version "0.18.3.1")
+ (version "0.18.3.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
- "0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd"))))
+ "1my5njl7mp663abpdn8qsm5i462wlhlnb5q50fmhgd0fsr9f996i"))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index f9f72903c9..16ca8ae661 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -50,10 +50,6 @@
(base32
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
(build-system gnu-build-system)
- (arguments
- (if (%current-target-system)
- '(#:configure-flags '("CC_FOR_BUILD=gcc"))
- '()))
(home-page "http://gnupg.org")
(synopsis
"Libgpg-error, a small library that defines common error values for all GnuPG components")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1f423256f2..29ec1096dc 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -152,11 +152,7 @@ without requiring the source code to be rewritten.")
(substitute* "module/ice-9/popen.scm"
(("/bin/sh")
(string-append bash "/bin/bash")))))
- %standard-phases)
-
- ,@(if (%current-target-system)
- '(#:configure-flags '("CC_FOR_BUILD=gcc"))
- '())))
+ %standard-phases)))
(native-search-paths
(list (search-path-specification
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index d1a834d9c5..c5e265087e 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,18 +25,12 @@
(define-public libffi
(let ((post-install-phase
- ;; Install headers in the right place.
+ ;; Keep headers where libffi.pc expects them, but also make them
+ ;; available in $includedir where some users expect them.
'(lambda* (#:key outputs #:allow-other-keys)
(define out (assoc-ref outputs "out"))
- (mkdir (string-append out "/include"))
- (with-directory-excursion
- (string-append out "/lib/libffi-3.0.13/include")
- (for-each (lambda (h)
- (format #t "moving `~a' to includedir~%" h)
- (rename-file h (string-append out "/include/" h)))
- (scandir "."
- (lambda (x)
- (not (member x '("." ".."))))))))))
+ (symlink (string-append out "/lib/libffi-3.0.13/include")
+ (string-append out "/include")))))
(package
(name "libffi")
(version "3.0.13")
@@ -50,9 +44,7 @@
"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))
- #:phases (alist-cons-after 'install 'post-install
+ (arguments `(#:phases (alist-cons-after 'install 'post-install
,post-install-phase
%standard-phases)))
(outputs '("out" "debug"))
diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
index 1c823492c5..74857226c4 100644
--- a/gnu/packages/lsh.scm
+++ b/gnu/packages/lsh.scm
@@ -71,8 +71,6 @@ basis for almost any application.")
(modules '((guix build utils)))
(snippet
'(begin
- (use-modules (guix build utils))
-
(substitute* "src/testsuite/functions.sh"
(("localhost")
;; Avoid host name lookups since they don't work in
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index d621a634a3..97a13b4b74 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -502,10 +502,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
`(;; When `configure' checks for ltdl availability, it
;; doesn't try to link using libtool, and thus fails
;; because of a missing -ldl. Work around that.
- #:configure-flags '("LDFLAGS=-ldl"
- ,@(if (%current-target-system)
- '("CC_FOR_BUILD=gcc")
- '()))
+ #:configure-flags '("LDFLAGS=-ldl")
#:phases (alist-cons-before
'configure 'static-guile
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 6952f55b80..b77e307aea 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -77,13 +77,13 @@ floating-point computations with correct rounding.")
(define-public mpc
(package
(name "mpc")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/mpc/mpc-" version ".tar.gz"))
(sha256 (base32
- "1zq0fidp1jii2j5k5n9hmx55a6wwid33gjzhimvxq9d5zrf82npd"))))
+ "1264h3ivldw5idph63x35dqqdzqqbxrm5vlir0xyx727i96zaqdm"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(propagated-inputs `(("gmp" ,gmp) ; <mpc.h> refers to both
diff --git a/gnu/packages/patches/binutils-loongson-madd-fix.patch b/gnu/packages/patches/binutils-loongson-madd-fix.patch
deleted file mode 100644
index 364ccd67e3..0000000000
--- a/gnu/packages/patches/binutils-loongson-madd-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-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 <mhw@netris.org>.
-
---- 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/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch
new file mode 100644
index 0000000000..f6a6a31002
--- /dev/null
+++ b/gnu/packages/patches/coreutils-dummy-man.patch
@@ -0,0 +1,21 @@
+Patch adapted from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
+
+Fix for 'dummy-man' usage, when cross-compiling.
+
+The options should be before the final argument, otherwise, the following error
+would appear when compiling:
+
+ dummy-man: too many non-option arguments
+
+--- coreutils-8.22/Makefile.in 2013-12-13 16:20:00.000000000 +0100
++++ coreutils-8.22/Makefile.in 2014-02-28 10:53:27.000000000 +0100
+@@ -9977,8 +9977,8 @@ man/yes.1: src/yes
+ && $(run_help2man) \
+ --source='$(PACKAGE_STRING)' \
+ --include=$(srcdir)/man/$$name.x \
+- --output=$$t/$$name.1 $$t/$$name \
+ --info-page='coreutils \(aq'$$name' invocation\(aq' \
++ --output=$$t/$$name.1 $$t/$$name \
+ && sed \
+ -e 's|$*\.td/||g' \
+ -e '/For complete documentation/d' \
diff --git a/gnu/packages/patches/coreutils-skip-nohup.patch b/gnu/packages/patches/coreutils-skip-nohup.patch
new file mode 100644
index 0000000000..f5283a6b21
--- /dev/null
+++ b/gnu/packages/patches/coreutils-skip-nohup.patch
@@ -0,0 +1,28 @@
+commit 5dce6bdfafc930dfd17d5d16aea7d1add3472066
+Author: Pádraig Brady <P@draigBrady.com>
+Date: Wed Mar 5 15:14:07 2014 +0000
+
+ tests: fix false failure in nohup.sh in non tty builds
+
+ * tests/misc/nohup.sh: When running tests without a controlling tty,
+ an exec failure is triggered in a subshell, which causes POSIX
+ shells to immediately exit the subshell. This was brought
+ to notice by the newly conforming bash 4.3.
+ Fixes http:/bugs.gnu.org/16940
+
+diff --git a/tests/misc/nohup.sh b/tests/misc/nohup.sh
+index 6d2b515..2328b43 100755
+--- a/tests/misc/nohup.sh
++++ b/tests/misc/nohup.sh
+@@ -63,6 +63,11 @@ rm -f nohup.out err
+ # to stderr must be fatal. Requires stdout to be terminal.
+ if test -w /dev/full && test -c /dev/full; then
+ (
++ # POSIX shells immediately exit the subshell on exec error.
++ # So check we can write to /dev/tty before the exec, which
++ # isn't possible if we've no controlling tty for example.
++ test -c /dev/tty && >/dev/tty || exit 0
++
+ exec >/dev/tty
+ test -t 1 || exit 0
+ nohup echo hi 2> /dev/full
diff --git a/gnu/packages/patches/glibc-make-4.0.patch b/gnu/packages/patches/glibc-make-4.0.patch
deleted file mode 100644
index d83de1d33d..0000000000
--- a/gnu/packages/patches/glibc-make-4.0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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;;
diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index 3dca1de4d4..cf1bd67ce2 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.scm
@@ -38,14 +38,14 @@
(find-files lib "\\.a"))))))
(package
(name "readline")
- (version "6.2")
+ (version "6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/readline/readline-"
version ".tar.gz"))
(sha256
(base32
- "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))
+ "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"))
(patches (list (search-patch "readline-link-ncurses.patch")))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 481dca0c66..4eb39069db 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -93,22 +93,12 @@ related documentation.")
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-replace
- 'unpack
- ;; FIXME: Remove this when gnu-build-system handles that
- ;; case correctly.
- (lambda* (#:key source #:allow-other-keys)
- (mkdir "source")
- (chdir "source")
- (copy-recursively source ".")
- #t)
-
- (alist-cons-before
- 'configure 'bootstrap
- (lambda _
- (chmod "libwebsockets-api-doc.html" #o666)
- (zero? (system* "./autogen.sh")))
- %standard-phases))))
+ '(#:phases (alist-cons-before
+ 'configure 'bootstrap
+ (lambda _
+ (chmod "libwebsockets-api-doc.html" #o666)
+ (zero? (system* "./autogen.sh")))
+ %standard-phases)))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/system.scm b/gnu/system.scm
index d28738140f..96f721330f 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -149,7 +149,8 @@ input tuples."
#:system system
#:inputs inputs
#:modules '((guix build union))
- #:guile-for-build guile)))
+ #:guile-for-build guile
+ #:local-build? #t)))
(define* (file-union files
#:key (inputs '()) (name "file-union"))
@@ -187,7 +188,8 @@ as an inputs; additional inputs, such as derivations, are taken from INPUTS."
`(symlink ,target ,name)))
files))
- #:inputs inputs))))
+ #:inputs inputs
+ #:local-build? #t))))
(define (links inputs)
"Return a directory with symbolic links to all of INPUTS. This is
@@ -209,7 +211,8 @@ directories or regular files."
(mlet %store-monad ((inputs (lower-inputs inputs)))
(derivation-expression "links" builder
- #:inputs inputs)))
+ #:inputs inputs
+ #:local-build? #t)))
(define* (etc-directory #:key
(locale "C") (timezone "Europe/Paris")
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 65c9fcd1bd..da6b31c326 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,8 +90,17 @@
#t)
(define* (unpack #:key source #:allow-other-keys)
- (and (zero? (system* "tar" "xvf" source))
- (chdir (first-subdirectory "."))))
+ "Unpack SOURCE in the working directory, and change directory within the
+source. When SOURCE is a directory, copy it in a sub-directory of the current
+working directory."
+ (if (file-is-directory? source)
+ (begin
+ (mkdir "source")
+ (chdir "source")
+ (copy-recursively source ".")
+ #t)
+ (and (zero? (system* "tar" "xvf" source))
+ (chdir (first-subdirectory ".")))))
(define* (patch-source-shebangs #:key source #:allow-other-keys)
"Patch shebangs in all source files; this includes non-executable
@@ -136,7 +145,10 @@ makefiles."
(bash (or (and=> (assoc-ref (or native-inputs inputs) "bash")
(cut string-append <> "/bin/bash"))
"/bin/sh"))
- (flags `(,(string-append "CONFIG_SHELL=" bash)
+ (flags `(,@(if target ; cross building
+ '("CC_FOR_BUILD=gcc")
+ '())
+ ,(string-append "CONFIG_SHELL=" bash)
,(string-append "SHELL=" bash)
,(string-append "--prefix=" prefix)
"--enable-fast-install" ; when using Libtool
@@ -160,7 +172,7 @@ makefiles."
'())
,@(if docdir
(list (string-append "--docdir=" docdir
- "/doc/" (package-name)))
+ "/share/doc/" (package-name)))
'())
,@(if target ; cross building
(list (string-append "--host=" target))
diff --git a/guix/derivations.scm b/guix/derivations.scm
index 82a0173232..b47ab93759 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -870,7 +870,8 @@ system, imported, and appears under FINAL-PATH in the resulting store path."
(build-expression->derivation store name builder
#:system system
#:inputs files
- #:guile-for-build guile)))
+ #:guile-for-build guile
+ #:local-build? #t)))
(define* (imported-modules store modules
#:key (name "module-import")
@@ -936,7 +937,8 @@ they can refer to each other."
(build-expression->derivation store name builder
#:inputs `(("modules" ,module-drv))
#:system system
- #:guile-for-build guile)))
+ #:guile-for-build guile
+ #:local-build? #t)))
(define* (build-expression->derivation store name exp
#:key
diff --git a/guix/packages.scm b/guix/packages.scm
index d345900f79..f2119bebce 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -315,6 +315,20 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
(dash (string-index sans #\-)))
(string-drop sans (+ 1 dash))))
+ (define (numeric-extension? file-name)
+ ;; Return true if FILE-NAME ends with digits.
+ (string-every char-set:hex-digit (file-extension file-name)))
+
+ (define (tarxz-name file-name)
+ ;; Return a '.tar.xz' file name based on FILE-NAME.
+ (let ((base (if (numeric-extension? file-name)
+ original-file-name
+ (file-sans-extension file-name))))
+ (string-append base
+ (if (equal? (file-extension base) "tar")
+ ".xz"
+ ".tar.xz"))))
+
(define patch-inputs
(map (lambda (number patch)
(list (string-append "patch" (number->string number))
@@ -327,7 +341,8 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
(define builder
`(begin
(use-modules (ice-9 ftw)
- (srfi srfi-1))
+ (srfi srfi-1)
+ (guix build utils))
(let ((out (assoc-ref %outputs "out"))
(xz (assoc-ref %build-inputs "xz"))
@@ -342,14 +357,28 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
(format (current-error-port) "applying '~a'...~%" patch*)
(zero? (system* patch "--batch" ,@flags "--input" patch*))))
+ (define (first-file directory)
+ ;; Return the name of the first file in DIRECTORY.
+ (car (scandir directory
+ (lambda (name)
+ (not (member name '("." "..")))))))
+
(setenv "PATH" (string-append xz "/bin" ":"
decomp "/bin"))
- (and (zero? (system* tar "xvf" source))
- (let ((directory (car (scandir "."
- (lambda (name)
- (not
- (member name
- '("." ".."))))))))
+
+ ;; SOURCE may be either a directory or a tarball.
+ (and (if (file-is-directory? source)
+ (let* ((store (or (getenv "NIX_STORE")
+ "/nix/store"))
+ (len (+ 1 (string-length store)))
+ (base (string-drop source len))
+ (dash (string-index base #\-))
+ (directory (string-drop base (+ 1 dash))))
+ (mkdir directory)
+ (copy-recursively source directory)
+ #t)
+ (zero? (system* tar "xvf" source)))
+ (let ((directory (first-file ".")))
(format (current-error-port)
"source is under '~a'~%" directory)
(chdir directory)
@@ -375,23 +404,23 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
(zero? (system* tar "cvfa" out directory))))))))
- (let ((name (string-append (file-sans-extension original-file-name)
- ".xz"))
- (inputs (filter-map (match-lambda
- ((name (? package? p))
- (and (member name (cons decompression-type
- '("tar" "xz" "patch")))
- (list name
- (package-derivation store p
- system)))))
- (or inputs (%standard-patch-inputs)))))
+ (let ((name (tarxz-name original-file-name))
+ (inputs (filter-map (match-lambda
+ ((name (? package? p))
+ (and (member name (cons decompression-type
+ '("tar" "xz" "patch")))
+ (list name
+ (package-derivation store p
+ system)))))
+ (or inputs (%standard-patch-inputs))))
+ (modules (delete-duplicates (cons '(guix build utils) modules))))
- (build-expression->derivation store name builder
+ (build-expression->derivation store name builder
#:inputs `(("source" ,source)
,@inputs
,@patch-inputs)
#:system system
- #:modules imported-modules
+ #:modules modules
#:guile-for-build guile-for-build)))
(define* (package-source-derivation store source
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 1ff6c97f9f..c1fa8272ba 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -257,7 +257,8 @@ the given MANIFEST."
;; already valid.
`((,name ,path) ,@deps)))
(manifest-entries manifest))
- #:modules '((guix build union))))
+ #:modules '((guix build union))
+ #:local-build? #t))
(define (profile-regexp profile)
"Return a regular expression that matches PROFILE's name and number."
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index b79c4951d8..253a9317a6 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -159,7 +159,7 @@ fi
guix package --bootstrap -i guile gcc -p "$profile" -n
# Make sure the `:' syntax works.
-guix package --bootstrap -i "binutils:lib" -p "$profile" -n
+guix package --bootstrap -i "glibc:debug" -p "$profile" -n
# Make sure nonexistent outputs are reported.
guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n