From db6190899ea15d3b66d6b2d82bdeaee442423100 Mon Sep 17 00:00:00 2001
From: John Darrington <john@darrington.wattle.id.au>
Date: Tue, 17 Dec 2013 20:33:26 +0100
Subject: gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* guix/build/gnu-build-system.scm: Add new configure flag: CC_FOR_BUILD=gcc

* gnu/packages/gnupg.scm, gnu/packages/guile.scm, gnu/packages/make-bootstrap.scm:
  remove CC_FOR_BUILD from these package descriptions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/gnupg.scm          | 4 ----
 gnu/packages/guile.scm          | 6 +-----
 gnu/packages/make-bootstrap.scm | 5 +----
 3 files changed, 2 insertions(+), 13 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index fb7b4975ac..be13eb0ba0 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -44,10 +44,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 40d9ae7df8..3dbb5d8429 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -150,11 +150,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/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
-- 
cgit v1.2.3


From 8fd6487e1c6ba4b3c8615973389f33335389af13 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Tue, 7 Jan 2014 18:08:51 +0100
Subject: gnu: glibc: Build the Info pages.

* gnu/packages/base.scm (glibc): Add 'native-inputs' field.
  (perl-boot0): New variable.
  (linux-libre-headers-boot0): Use it.
  (texinfo-boot0): New variable.
  (glibc-final-with-bootstrap-bash): Add 'native-inputs' field.
---
 gnu/packages/base.scm | 38 +++++++++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 7 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e17933b36f..45636e3bd3 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,7 @@
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages texinfo)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -473,6 +474,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
@@ -735,6 +741,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 +758,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 +805,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"))
-- 
cgit v1.2.3


From aa6b0d6bf01aba60c6b5524e4422e7a4cebf01e4 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Tue, 7 Jan 2014 18:10:01 +0100
Subject: gnu: make: Build with Guile support.

* gnu/packages/base.scm (gnu-make, gnu-make-boot0): Add 'native-inputs'
  field.
---
 gnu/packages/base.scm | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 45636e3bd3..606ca8325f 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -32,6 +32,7 @@
   #: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)
@@ -285,6 +286,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
@@ -589,6 +591,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
-- 
cgit v1.2.3


From 6c95f363d5af8bd9e6745a58b60fac8c7696b962 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 8 Jan 2014 22:30:33 +0100
Subject: gnu: binutils: Upgrade to 2.24.

* gnu/packages/patches/binutils-loongson-madd-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (binutils): Upgrade to 2.24.  Remove
  'binutils-loongson-madd-fix.patch'.  Remove 'outputs' field.  Pass
  '--enable-install-libbfd'.
---
 gnu-system.am                                      |  3 +-
 gnu/packages/base.scm                              | 18 ++++-----
 .../patches/binutils-loongson-madd-fix.patch       | 44 ----------------------
 3 files changed, 9 insertions(+), 56 deletions(-)
 delete mode 100644 gnu/packages/patches/binutils-loongson-madd-fix.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index fbf61d6ec1..dc840d3dbb 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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 © 2013 Andreas Enge <andreas@enge.fr>
 # Copyright © 2013 Mark H Weaver <mhw@netris.org>
 #
@@ -223,7 +223,6 @@ 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/cdparanoia-fpic.patch			\
   gnu/packages/patches/cmake-fix-tests.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 606ca8325f..c827498273 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -314,24 +314,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
@@ -343,7 +337,11 @@ 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")))
 
    (synopsis "Binary utilities: bfd gas gprof ld")
    (description
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	},
-- 
cgit v1.2.3


From 2a48cd9915cf904718efa196f55a64ef5750052f Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 8 Jan 2014 22:30:57 +0100
Subject: gnu: gettext: Upgrade to 0.18.3.2.

* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.18.3.2.
---
 gnu/packages/gettext.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 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)))
-- 
cgit v1.2.3


From 8e92b6b5b5f64596dda102380de8730416698615 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 8 Jan 2014 22:32:20 +0100
Subject: gnu: grep, coreutils: Upgrade.

* gnu/packages/base.scm (grep): Upgrade to 2.16.
  (coreutils): Upgrade to 8.22.
---
 gnu/packages/base.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index c827498273..aae50d7069 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -70,14 +70,14 @@ command-line arguments, multiple languages, and so on.")
 (define-public grep
   (package
    (name "grep")
-   (version "2.15")
+   (version "2.16")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/grep/grep-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz"))))
+              "0qhiamxyzinmy2409lr8r0aa1in1y8v0kv6c80gz5jfq2d8fppqn"))))
    (build-system gnu-build-system)
    (synopsis "Print lines matching a pattern")
    (description
@@ -232,14 +232,14 @@ 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"))))
    (build-system gnu-build-system)
    (inputs `(("acl"  ,acl)                        ; TODO: add SELinux
              ("gmp"  ,gmp)
-- 
cgit v1.2.3


From fcaa7523d4f37d5b3c4bf459784e826f98252fe8 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Wed, 15 Jan 2014 16:37:54 +0100
Subject: gnu: mpc: Update to 1.0.2.

* gnu/packages/multiprecision.scm (mpc): Update to 1.0.2.
---
 gnu/packages/multiprecision.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

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
-- 
cgit v1.2.3


From d43547f12d4eae19845f3bf13a53a050af965063 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Mon, 27 Jan 2014 13:24:19 +0100
Subject: gnu: libffi: Leave a copy of headers where libffi.pc expects them.

Suggested by Sree Harsha Totakura <sreeharsha@totakura.in>.

* gnu/packages/libffi.scm (libffi): Symlink header files instead of
  moving them.
---
 gnu/packages/libffi.scm | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

(limited to 'gnu/packages')

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"))
-- 
cgit v1.2.3


From 65529e49ff5b9052544271b1b7923feed4312849 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Mon, 27 Jan 2014 23:45:59 +0100
Subject: build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com.

Suggested by John Darrington <john@darrington.wattle.id.au>
and Mark H Weaver <mhw@netris.org>.

* guix/build/gnu-build-system.scm (configure): Pass --localstatedir=/var
  --sharedstatedir=/com.
* gnu/packages/admin.scm (dmd): Remove 'arguments' field.
* gnu/packages/avahi.scm (avahi): Remove --localstatedir flag.
* gnu/packages/glib.scm (dbus): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.
---
 gnu/packages/admin.scm              | 2 --
 gnu/packages/avahi.scm              | 3 +--
 gnu/packages/glib.scm               | 5 +----
 gnu/packages/package-management.scm | 3 +--
 gnu/packages/pulseaudio.scm         | 2 +-
 guix/build/gnu-build-system.scm     | 8 +++++++-
 6 files changed, 11 insertions(+), 12 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index dfbf20d56f..9520cab2d5 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -51,8 +51,6 @@
                "07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
              (patches (list (search-patch "dmd-getpw.patch")))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:configure-flags '("--localstatedir=/var")))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.0)))
     (synopsis "Daemon managing daemons")
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index bc70878d46..d1023cd4b6 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,7 +44,6 @@
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-distro=none"
-                           "--localstatedir=/var" ; for the DBus socket
                            "--disable-python"
                            "--disable-mono"
                            "--disable-doxygen-doc"
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 0560915b24..adaa8aa3aa 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -67,10 +67,7 @@
              (patches (list (search-patch "dbus-localstatedir.patch")))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags (list ;; Install the system bus socket under /var.
-                               "--localstatedir=/var"
-
-                               ;; XXX: Fix the following to allow system-wide
+     '(#:configure-flags (list ;; XXX: Fix the following to allow system-wide
                                ;; config.
                                ;; "--sysconfdir=/etc"
 
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index f94f8fc919..cee372e81c 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,7 +43,6 @@
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list
-                          "--localstatedir=/var"
                           (string-append "--with-libgcrypt-prefix="
                                          (assoc-ref %build-inputs
                                                     "libgcrypt")))
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 8bf48c2a89..859e1d6bca 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -148,7 +148,7 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                              "pulseaudio-volume-test.patch")))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '("--localstatedir=/var" ;"--sysconfdir=/etc"
+     `(#:configure-flags '(;;"--sysconfdir=/etc"
                            "--disable-oss-output")
        #:phases (alist-cons-before
                  'check 'pre-check
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 6d26392c8f..ed870ade88 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.
 ;;;
@@ -142,6 +142,12 @@ makefiles."
                        ,(string-append "CONFIG_SHELL=" bash)
                        ,(string-append "SHELL=" bash)
                        ,(string-append "--prefix=" prefix)
+
+                       ;; Keep modifiable state directories outside of the
+                       ;; store (Autoconf 2.70 will add '--runstatedir'.)
+                       "--localstatedir=/var"
+                       "--sharedstatedir=/com"
+
                        "--enable-fast-install"    ; when using Libtool
 
                        ;; Produce multiple outputs when specific output names
-- 
cgit v1.2.3


From 49a8b80da63a50a1ca3a6b8c14c21b362177dc9f Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Tue, 28 Jan 2014 08:57:37 +0100
Subject: Revert "build-system/gnu: Pass --localstatedir=/var
 --sharedstatedir=/com."

This reverts commit 65529e49ff5b9052544271b1b7923feed4312849.
---
 gnu/packages/admin.scm              | 2 ++
 gnu/packages/avahi.scm              | 3 ++-
 gnu/packages/glib.scm               | 5 ++++-
 gnu/packages/package-management.scm | 3 ++-
 gnu/packages/pulseaudio.scm         | 2 +-
 guix/build/gnu-build-system.scm     | 8 +-------
 6 files changed, 12 insertions(+), 11 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 9520cab2d5..dfbf20d56f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -51,6 +51,8 @@
                "07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
              (patches (list (search-patch "dmd-getpw.patch")))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags '("--localstatedir=/var")))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.0)))
     (synopsis "Daemon managing daemons")
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index d1023cd4b6..bc70878d46 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,6 +44,7 @@
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-distro=none"
+                           "--localstatedir=/var" ; for the DBus socket
                            "--disable-python"
                            "--disable-mono"
                            "--disable-doxygen-doc"
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index adaa8aa3aa..0560915b24 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -67,7 +67,10 @@
              (patches (list (search-patch "dbus-localstatedir.patch")))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags (list ;; XXX: Fix the following to allow system-wide
+     '(#:configure-flags (list ;; Install the system bus socket under /var.
+                               "--localstatedir=/var"
+
+                               ;; XXX: Fix the following to allow system-wide
                                ;; config.
                                ;; "--sysconfdir=/etc"
 
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index cee372e81c..f94f8fc919 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,6 +43,7 @@
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list
+                          "--localstatedir=/var"
                           (string-append "--with-libgcrypt-prefix="
                                          (assoc-ref %build-inputs
                                                     "libgcrypt")))
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 859e1d6bca..8bf48c2a89 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -148,7 +148,7 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                              "pulseaudio-volume-test.patch")))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '(;;"--sysconfdir=/etc"
+     `(#:configure-flags '("--localstatedir=/var" ;"--sysconfdir=/etc"
                            "--disable-oss-output")
        #:phases (alist-cons-before
                  'check 'pre-check
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index ed870ade88..6d26392c8f 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, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -142,12 +142,6 @@ makefiles."
                        ,(string-append "CONFIG_SHELL=" bash)
                        ,(string-append "SHELL=" bash)
                        ,(string-append "--prefix=" prefix)
-
-                       ;; Keep modifiable state directories outside of the
-                       ;; store (Autoconf 2.70 will add '--runstatedir'.)
-                       "--localstatedir=/var"
-                       "--sharedstatedir=/com"
-
                        "--enable-fast-install"    ; when using Libtool
 
                        ;; Produce multiple outputs when specific output names
-- 
cgit v1.2.3


From 2c1dea853d98c16f9f15b731d7d5950e4d79b58b Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Thu, 6 Feb 2014 12:17:16 +0100
Subject: gnu: coreutils: Move Perl to 'native-inputs'.

* gnu/packages/base.scm (coreutils): Add 'native-inputs' field.
  This should allow cross builds to have man pages, and work around this
  'dummy-man' bug:
  <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
---
 gnu/packages/base.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index aae50d7069..ac90b02812 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -242,12 +242,11 @@ used to apply commands with arbitrarily long arguments.")
               "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))))
    (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.
+    `(("perl" ,perl)))
    (outputs '("out" "debug"))
    (arguments
     `(#:parallel-build? #f            ; help2man may be called too early
-- 
cgit v1.2.3


From cc0a12822659d2eadaf0401d1660f558da004b4b Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Thu, 6 Feb 2014 14:06:28 +0100
Subject: gnu: binutils: Build with --enable-deterministic-archives.

* gnu/packages/base.scm (binutils): Add
  '--enable-deterministic-archives' to #:configure-flags.
  Suggestion from Lunar's 2014 FOSDEM talk on reproducible builds.
---
 gnu/packages/base.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index ac90b02812..385acdef98 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -340,7 +340,11 @@ change.  GNU make offers many powerful extensions over the standard utility.")
 
                           ;; Install BFD.  It ends up in a hidden directory,
                           ;; but it's here.
-                          "--enable-install-libbfd")))
+                          "--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
-- 
cgit v1.2.3


From 7f31c71cb8f37e0baadb72e3f205ce55037adfba Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Mon, 10 Feb 2014 18:27:42 +0100
Subject: gnu: coreutils: Fix cross-compilation issue with 'dummy-man'.

This should work around the bug described at
<http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.

* gnu/packages/base.scm (coreutils)[patches]: Add
  'coreutils-dummy-man.patch'.
  [native-inputs]: Don't pass PERL when (%current-target-system) is
  true.
* gnu/packages/patches/coreutils-dummy-man.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                  |  1 +
 gnu/packages/base.scm                          | 11 ++++++++---
 gnu/packages/patches/coreutils-dummy-man.patch | 17 +++++++++++++++++
 3 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/coreutils-dummy-man.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index 1f6fcf24d6..244012037d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -234,6 +234,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/binutils-loongson-workaround.patch	\
   gnu/packages/patches/cdparanoia-fpic.patch			\
   gnu/packages/patches/cmake-fix-tests.patch			\
+  gnu/packages/patches/coreutils-dummy-man.patch		\
   gnu/packages/patches/cpio-gets-undeclared.patch		\
   gnu/packages/patches/dbus-localstatedir.patch			\
   gnu/packages/patches/diffutils-gets-undeclared.patch		\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 385acdef98..d6f75be238 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -239,14 +239,19 @@ used to apply commands with arbitrarily long arguments.")
                                 version ".tar.xz"))
             (sha256
              (base32
-              "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))))
+              "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
+            (patches (list (search-patch "coreutils-dummy-man.patch")))))
    (build-system gnu-build-system)
    (inputs `(("acl"  ,acl)                        ; TODO: add SELinux
              ("gmp"  ,gmp)))
    (native-inputs
     ;; Perl is needed to run tests in native builds, and to run the bundled
-    ;; copy of help2man.
-    `(("perl" ,perl)))
+    ;; 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
diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch
new file mode 100644
index 0000000000..6c43389994
--- /dev/null
+++ b/gnu/packages/patches/coreutils-dummy-man.patch
@@ -0,0 +1,17 @@
+Coreutils commit b3578fc9ffe70b9466687f9f6470a85f1a0ab14f.
+
+   * man/dummy-man: Recognize the option --info-page=... as no-op.
+
+This fixes "dummy-man: too many non-option arguments" when
+cross-compiling.
+
+--- a/man/dummy-man
++++ b/man/dummy-man
+@@ -30,6 +30,7 @@ while test $# -gt 0; do
+     # in the makefile.
+     --include=*);;
+     --include) shift;;
++    --info-page=*);;
+     -*) fatal_ "invalid or unrecognized help2man option '$1'";;
+     --) shift; break;;
+      *) break;;
-- 
cgit v1.2.3


From 99662b8dbf420d0112f83b7daddcecfb1bcb9bad Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Mon, 10 Feb 2014 22:37:08 +0100
Subject: gnu: glibc: Upgrade to 2.19.

* gnu/packages/base.scm (glibc): Upgrade to 2.19.  Remove
  'glibc-make-4.0.patch'.
* gnu/packages/patches/glibc-make-4.0.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
---
 gnu-system.am                             |  1 -
 gnu/packages/base.scm                     |  8 +++-----
 gnu/packages/patches/glibc-make-4.0.patch | 12 ------------
 3 files changed, 3 insertions(+), 18 deletions(-)
 delete mode 100644 gnu/packages/patches/glibc-make-4.0.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index 244012037d..d993571a1a 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -253,7 +253,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/gobject-introspection-cc.patch		\
   gnu/packages/patches/grub-gets-undeclared.patch		\
   gnu/packages/patches/gstreamer-0.10-bison3.patch		\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index d6f75be238..f0fe5caaa3 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -364,14 +364,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
@@ -381,9 +381,7 @@ library for working with executable and object formats is also included.")
                  "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
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;;
-- 
cgit v1.2.3


From 17919a58012c38052133ed029450fdb98d01fb5c Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sat, 22 Feb 2014 00:34:49 +0100
Subject: build-system/gnu: Allow the source to be a directory.

* guix/build/gnu-build-system.scm (unpack): Check if SOURCE is a
  directory, and copy it locally if it is.
* gnu/packages/libwebsockets.scm (libwebsockets)[arguments]: Remove
  'unpack' phase.
---
 gnu/packages/libwebsockets.scm  | 22 ++++++----------------
 guix/build/gnu-build-system.scm | 15 ++++++++++++---
 2 files changed, 18 insertions(+), 19 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/libwebsockets.scm b/gnu/packages/libwebsockets.scm
index 3f900aef72..65aa174355 100644
--- a/gnu/packages/libwebsockets.scm
+++ b/gnu/packages/libwebsockets.scm
@@ -50,22 +50,12 @@
     (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)
                      ("libtool" ,libtool "bin")
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 4cda7fc11a..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
-- 
cgit v1.2.3


From b7db387be3c4f920719e717b6961158434f17624 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sat, 22 Feb 2014 00:37:58 +0100
Subject: gnu: grep: Upgrade to 2.18.

* gnu/packages/base.scm (grep): Upgrade to 2.18.
---
 gnu/packages/base.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f0fe5caaa3..56e688cff8 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -70,14 +70,14 @@ command-line arguments, multiple languages, and so on.")
 (define-public grep
   (package
    (name "grep")
-   (version "2.16")
+   (version "2.18")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/grep/grep-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0qhiamxyzinmy2409lr8r0aa1in1y8v0kv6c80gz5jfq2d8fppqn"))))
+              "08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6"))))
    (build-system gnu-build-system)
    (synopsis "Print lines matching a pattern")
    (description
-- 
cgit v1.2.3


From 3bb33e24bb495d78e6be663b5763245a1d63bc90 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sat, 22 Feb 2014 00:43:50 +0100
Subject: gnu: coreutils: Attempt to really fix cross-compilation.

* gnu/packages/patches/coreutils-dummy-man.patch: Directly take the
  patch from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
---
 gnu/packages/patches/coreutils-dummy-man.patch | 39 +++++++++++++++++---------
 1 file changed, 25 insertions(+), 14 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch
index 6c43389994..b07a92ccf0 100644
--- a/gnu/packages/patches/coreutils-dummy-man.patch
+++ b/gnu/packages/patches/coreutils-dummy-man.patch
@@ -1,17 +1,28 @@
-Coreutils commit b3578fc9ffe70b9466687f9f6470a85f1a0ab14f.
+Patch from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
 
-   * man/dummy-man: Recognize the option --info-page=... as no-op.
+Fix for 'dummy-man' usage, when cross-compiling.
 
-This fixes "dummy-man: too many non-option arguments" when
-cross-compiling.
+The options should be before the final argument, otherwise, the following error
+would appear when compiling:
 
---- a/man/dummy-man
-+++ b/man/dummy-man
-@@ -30,6 +30,7 @@ while test $# -gt 0; do
-     # in the makefile.
-     --include=*);;
-     --include) shift;;
-+    --info-page=*);;
-     -*) fatal_ "invalid or unrecognized help2man option '$1'";;
-     --) shift; break;;
-      *) break;;
+  dummy-man: too many non-option arguments
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ man/local.mk |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/man/local.mk b/man/local.mk
+index 7cef5e3..dc0865f 100644
+--- a/man/local.mk
++++ b/man/local.mk
+@@ -189,8 +189,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' \
-- 
cgit v1.2.3


From 284c004613e704d39e55516305b5c0307509604f Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Thu, 27 Feb 2014 23:59:55 +0100
Subject: gnu: bash, readline: Upgrade.

* gnu/packages/readline.scm (readline): Upgrade to 6.3.
* gnu/packages/bash.scm (bash): Upgrade to 4.3.
---
 gnu/packages/bash.scm     | 4 ++--
 gnu/packages/readline.scm | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'gnu/packages')

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/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)
-- 
cgit v1.2.3


From a3a1417dc715f432fadbefbe9896f56a14236741 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Fri, 28 Feb 2014 10:49:07 +0100
Subject: gnu: Remove now unneeded 'modules' fields from 'origin'
 specifications.

The previous commit has made (guix build utils) imported by default, so
no need to specify it.

* gnu/packages/base.scm (glibc)[source]: Remove 'modules' and
  'imported-modules' fields.
* gnu/packages/lsh.scm (lsh)[source]: Likewise.
---
 gnu/packages/base.scm | 2 --
 gnu/packages/lsh.scm  | 1 -
 2 files changed, 3 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 56e688cff8..831e108520 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -379,8 +379,6 @@ library for working with executable and object formats is also included.")
              '(substitute* "sysdeps/unix/sysv/linux/configure"
                 (("use_ldconfig=yes")
                  "use_ldconfig=no")))
-            (modules '((guix build utils)))
-            (imported-modules modules)
             (patches (list (search-patch "glibc-ldd-x86_64.patch")))))
    (build-system gnu-build-system)
 
diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
index 1c823492c5..56eeb08446 100644
--- a/gnu/packages/lsh.scm
+++ b/gnu/packages/lsh.scm
@@ -68,7 +68,6 @@ basis for almost any application.")
               (sha256
                (base32
                 "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb"))
-              (modules '((guix build utils)))
               (snippet
                '(begin
                   (use-modules (guix build utils))
-- 
cgit v1.2.3


From 664b03103143b5b746e89d8405c0e73d05ad04a7 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Fri, 28 Feb 2014 10:56:45 +0100
Subject: gnu: coreutils: Patch 'Makefile.in', not 'local.mk'.

* gnu/packages/patches/coreutils-dummy-man.patch: Patch 'Makefile.in',
  not 'local.mk'; the latter otherwise requires Automake to regenerate
  the build system.
---
 gnu/packages/patches/coreutils-dummy-man.patch | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch
index b07a92ccf0..f6a6a31002 100644
--- a/gnu/packages/patches/coreutils-dummy-man.patch
+++ b/gnu/packages/patches/coreutils-dummy-man.patch
@@ -1,4 +1,4 @@
-Patch from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
+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.
 
@@ -7,16 +7,9 @@ would appear when compiling:
 
   dummy-man: too many non-option arguments
 
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- man/local.mk |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/man/local.mk b/man/local.mk
-index 7cef5e3..dc0865f 100644
---- a/man/local.mk
-+++ b/man/local.mk
-@@ -189,8 +189,8 @@ man/yes.1:       src/yes
+--- 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			\
-- 
cgit v1.2.3


From 1faca892a35941b6eed2d6c04478f9f77ab81e15 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Fri, 28 Feb 2014 12:22:14 +0100
Subject: Partly revert "gnu: Remove now unneeded 'modules' fields from
 'origin' specifications."

This partly reverts commit a3a1417dc715f432fadbefbe9896f56a14236741.

* gnu/packages/base.scm (glibc)[source]: Re-add 'modules' clause.
* gnu/packages/lsh.scm (lsh)[source]: Remove 'use-modules' form from
  'snippet'.  Add 'modules' field.
---
 gnu/packages/base.scm | 1 +
 gnu/packages/lsh.scm  | 3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 831e108520..f828f3531c 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -379,6 +379,7 @@ library for working with executable and object formats is also included.")
              '(substitute* "sysdeps/unix/sysv/linux/configure"
                 (("use_ldconfig=yes")
                  "use_ldconfig=no")))
+            (modules '((guix build utils)))
             (patches (list (search-patch "glibc-ldd-x86_64.patch")))))
    (build-system gnu-build-system)
 
diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
index 56eeb08446..74857226c4 100644
--- a/gnu/packages/lsh.scm
+++ b/gnu/packages/lsh.scm
@@ -68,10 +68,9 @@ basis for almost any application.")
               (sha256
                (base32
                 "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb"))
+              (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
-- 
cgit v1.2.3


From ff3c0c1b805453990a42f690f148b41b9dff382a Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <tipecaml@gmail.com>
Date: Fri, 7 Mar 2014 00:45:51 +0100
Subject: coreutils: fix test suite

* gnu/packages/patches/coreutils-skip-nohup.patch: patch taken from the git
  repository of coreutils, that makes sure tests/misc/nohup.sh does not fail
  when /dev/tty does not exist.
* gnu/packages/base.scm (coreutils): use it.
* gnu-system.am (dist_patch_DATA): add it.
---
 gnu-system.am                                   |  1 +
 gnu/packages/base.scm                           |  4 +++-
 gnu/packages/patches/coreutils-skip-nohup.patch | 28 +++++++++++++++++++++++++
 3 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/coreutils-skip-nohup.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index b5be893854..97dc92cdfc 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -252,6 +252,7 @@ dist_patch_DATA =						\
   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			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f828f3531c..89d90c989b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -240,7 +240,9 @@ used to apply commands with arbitrarily long arguments.")
             (sha256
              (base32
               "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
-            (patches (list (search-patch "coreutils-dummy-man.patch")))))
+            (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)))
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
-- 
cgit v1.2.3


From 8be3b8a39bae9ffaccf3c9a71104d67e73948b20 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Mon, 10 Mar 2014 23:51:31 +0100
Subject: Change default store values from /nix/store to /gnu/store.

* gnu/packages/ld-wrapper.scm (%store-directory): Change the default to
  /gnu/store.
* guix/build/utils.scm (%store-directory): New procedure.
  (remove-store-references): Use it for the default value of 'store'.
* guix/packages.scm (patch-and-repack)[builder]: Change default store to
  /gnu/store.
---
 gnu/packages/ld-wrapper.scm |  4 ++--
 guix/build/utils.scm        | 15 ++++++++++-----
 guix/packages.scm           |  3 +--
 3 files changed, 13 insertions(+), 9 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/ld-wrapper.scm b/gnu/packages/ld-wrapper.scm
index 41ff3df986..d3eb083f2f 100644
--- a/gnu/packages/ld-wrapper.scm
+++ b/gnu/packages/ld-wrapper.scm
@@ -11,7 +11,7 @@ main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
 exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
 !#
 ;;; 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.
 ;;;
@@ -63,7 +63,7 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
 
 (define %store-directory
   ;; File name of the store.
-  (or (getenv "NIX_STORE") "/nix/store"))
+  (or (getenv "NIX_STORE") "/gnu/store"))
 
 (define %temporary-directory
   ;; Temporary directory.
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index a37ace31af..40af785b88 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.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 © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;;
@@ -29,7 +29,8 @@
   #:use-module (rnrs io ports)
   #:re-export (alist-cons
                alist-delete)
-  #:export (directory-exists?
+  #:export (%store-directory
+            directory-exists?
             executable-file?
             call-with-ascii-input-file
             with-directory-excursion
@@ -62,6 +63,11 @@
 ;;; Directories.
 ;;;
 
+(define (%store-directory)
+  "Return the directory name of the store."
+  (or (getenv "NIX_STORE")
+      "/gnu/store"))
+
 (define (directory-exists? dir)
   "Return #t if DIR exists and is a directory."
   (let ((s (stat dir #f)))
@@ -443,7 +449,7 @@ all subject to the substitutions."
 
 
 ;;;
-;;; Patching shebangs---e.g., /bin/sh -> /nix/store/xyz...-bash/bin/sh.
+;;; Patching shebangs---e.g., /bin/sh -> /gnu/store/xyz...-bash/bin/sh.
 ;;;
 
 (define* (dump-port in out
@@ -630,8 +636,7 @@ for each unmatched character."
                    (unmatched (car matched) result)))))))
 
 (define* (remove-store-references file
-                                  #:optional (store (or (getenv "NIX_STORE")
-                                                        "/nix/store")))
+                                  #:optional (store (%store-directory)))
   "Remove from FILE occurrences of file names in STORE; return #t when
 store paths were encountered in FILE, #f otherwise.  This procedure is
 known as `nuke-refs' in Nixpkgs."
diff --git a/guix/packages.scm b/guix/packages.scm
index f2119bebce..812d6bb991 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -368,8 +368,7 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
 
          ;; SOURCE may be either a directory or a tarball.
          (and (if (file-is-directory? source)
-                  (let* ((store      (or (getenv "NIX_STORE")
-                                         "/nix/store"))
+                  (let* ((store     (or (getenv "NIX_STORE") "/gnu/store"))
                          (len       (+ 1 (string-length store)))
                          (base      (string-drop source len))
                          (dash      (string-index base #\-))
-- 
cgit v1.2.3


From bfb6b1c7b788a5fbcffb089c0df9d254faed4d5b Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Tue, 4 Mar 2014 13:30:43 -0500
Subject: gnu: libgc: Upgrade to 7.2e.

* gnu/packages/bdw-gc.scm (libgc): Upgrade to 7.2e.
---
 gnu/packages/bdw-gc.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 1955cd3ee1..8142b4c4ef 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -26,14 +26,14 @@
 (define-public libgc
   (package
    (name "libgc")
-   (version "7.2d")
+   (version "7.2e")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
+              "0jxgr71rhk58dzc1ihqs51vldh2qs1m154bn41qh6q1dm145nc89"))))
    (build-system gnu-build-system)
    (arguments
     ;; Make it so that we don't rely on /proc.  This is especially useful in
-- 
cgit v1.2.3


From bda1bc6c51a3a0176d19f2b7b66e192fc7e0dc78 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Tue, 18 Mar 2014 15:14:02 +0100
Subject: gnu: Make libgc 7.4 the default.

* gnu/packages/bdw-gc.scm (libgc): Rename to...
  (libgc-7.2): ... this.
  (libgc-7.4): Rename to...
  (libgc): ... this.
* gnu/packages/guile.scm (guile-2.0): Switch to LIBGC.
  (guile-2.0/fixed): Alias GUILE-2.0.
---
 gnu/packages/bdw-gc.scm |  6 +++---
 gnu/packages/guile.scm  | 12 ++----------
 2 files changed, 5 insertions(+), 13 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 8142b4c4ef..fb3c43da89 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -23,7 +23,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages pkg-config))
 
-(define-public libgc
+(define-public libgc-7.2
   (package
    (name "libgc")
    (version "7.2e")
@@ -86,8 +86,8 @@ lock-free code, experiment with thread programming paradigms, etc.")
     ;; Some source files are X11-style, others are GPLv2+.
     (license gpl2+)))
 
-(define-public libgc-7.4
-  (package (inherit libgc)
+(define-public libgc
+  (package (inherit libgc-7.2)
     (version "7.4.0")
     (source (origin
               (method url-fetch)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 29ec1096dc..838833fcf4 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -136,7 +136,7 @@ without requiring the source code to be rewritten.")
 
       ;; The headers and/or `guile-2.0.pc' refer to these packages, so they
       ;; must be propagated.
-      ("bdw-gc" ,libgc-7.4)
+      ("bdw-gc" ,libgc)
       ("gmp" ,gmp)))
 
    (self-native-input? #t)
@@ -175,15 +175,7 @@ without requiring the source code to be rewritten.")
 (define-public guile-2.0/fixed
   ;; A package of Guile 2.0 that's rarely changed.  It is the one used
   ;; in the `base' module, and thus changing it entails a full rebuild.
-  (package (inherit guile-2.0)
-    (location (source-properties->location (current-source-location)))
-
-    ;; Keep using the stable libgc.
-    (propagated-inputs (map (match-lambda
-                             (("bdw-gc" _)
-                              `("bdw-gc" ,libgc))
-                             (x x))
-                            (package-propagated-inputs guile-2.0)))))
+  guile-2.0)
 
 
 ;;;
-- 
cgit v1.2.3


From 39b71fc89b832afa63b969dc2d86f63e1933d9c9 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Tue, 18 Mar 2014 15:17:50 +0100
Subject: gnu: guile: Upgrade to 2.0.10.

* gnu/packages/guile.scm (guile-2.0): Upgrade to 2.0.10.
---
 gnu/packages/guile.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 838833fcf4..8120d0d797 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -108,14 +108,14 @@ without requiring the source code to be rewritten.")
 (define-public guile-2.0
   (package
    (name "guile")
-   (version "2.0.9")
+   (version "2.0.10")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/guile/guile-" version
                                 ".tar.xz"))
             (sha256
              (base32
-              "0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp"))))
+              "0vhvlbpmj560r8xl2r085ww16rlhbyq032am67dija09r63b0zm6"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkgconfig" ,pkg-config)))
    (inputs `(("libffi" ,libffi)
-- 
cgit v1.2.3


From b1d5f5da8417dbd2213b92c1881f9e408d02dad9 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Wed, 19 Mar 2014 05:02:25 -0400
Subject: gnu: ncurses: Install man pages in share/man/man*, not man/man*.

* gnu/packages/ncurses.scm (ncurses): Add --mandir configure flag.
---
 gnu/packages/ncurses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'gnu/packages')

diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 3e968a8ae9..b8f6bc834b 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -99,6 +100,11 @@
           ,(string-append "--includedir=" (assoc-ref %outputs "out")
                           "/include")
 
+          ;; By default man pages land in PREFIX/man, but we want them
+          ;; in PREFIX/share/man.
+          ,(string-append "--mandir=" (assoc-ref %outputs "out")
+                          "/share/man")
+
           ;; C++ bindings fail to build on
           ;; `i386-pc-solaris2.11' with GCC 3.4.3:
           ;; <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>.
-- 
cgit v1.2.3


From afd1cff14831ce85fde4418cc0b98287b0367a9a Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Wed, 19 Mar 2014 05:00:38 -0400
Subject: gnu: bzip2: Install man pages to share/man/man1, not share/man1.

* gnu/packages/compression.scm (bzip2)[fix-man-dir]: Rename "man"
  to "share/man", not "share".
---
 gnu/packages/compression.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 5275b8a8ef..72f80062c1 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -100,7 +101,7 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
          '(lambda* (#:key outputs #:allow-other-keys)
             (with-directory-excursion (assoc-ref outputs "out")
               (mkdir "share")
-              (rename-file "man" "share"))))
+              (rename-file "man" "share/man"))))
         (build-shared-lib
          ;; Build a shared library.
          '(lambda* (#:key inputs #:allow-other-keys)
-- 
cgit v1.2.3


From f6d47eb6d5e046abc8a7a7dc0863c5661197ef0d Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 19 Mar 2014 23:21:26 +0100
Subject: gnu: readline: Fix cross-compilation.

* gnu/packages/readline.scm (readline)[arguments]: Add
  "bash_cv_wcwidth_broken=no" to #:configure-flags
  when (%current-target-system) is true.
---
 gnu/packages/readline.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index cf1bd67ce2..f35a52f614 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.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.
 ;;;
@@ -53,7 +53,13 @@
       (arguments `(#:configure-flags
                    (list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
                                         (assoc-ref %build-inputs "ncurses")
-                                        "/lib"))
+                                        "/lib")
+
+                         ;; This test does an 'AC_TRY_RUN', which aborts when
+                         ;; cross-compiling, so provide the correct answer.
+                         ,@(if (%current-target-system)
+                               '("bash_cv_wcwidth_broken=no")
+                               '()))
 
                    #:phases (alist-cons-after
                              'install 'post-install
-- 
cgit v1.2.3


From 12fa800d7e41e033eeffa1bb555a82b828321f03 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Thu, 20 Mar 2014 03:52:13 -0400
Subject: gnu: util-macros: Install .pc file in lib/pkgconfig; remove INSTALL
 file.

* gnu/packages/xorg.scm (util-macros): Substitute "$(libdir)/pkgconfig"
  for "$(datadir)/pkgconfig" in Makefile.in.  After install, remove
  share/util-macros/INSTALL and share/util-macros.
---
 gnu/packages/xorg.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'gnu/packages')

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index abcbfba88a..13da10d7cb 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1742,6 +1743,22 @@ tracking.")
             "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:phases (alist-cons-after
+                 'unpack 'fix-makefile-in
+                 (lambda _
+                   (substitute* "Makefile.in"
+                     ;; Install xorg-macros.pc in PREFIX/lib/pkgconfig,
+                     ;; not PREFIX/share/pkgconfig.
+                     (("\\$\\(datadir\\)/pkgconfig") "$(libdir)/pkgconfig")))
+                 (alist-cons-after
+                  'install 'post-install-cleanup
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let ((out (assoc-ref outputs "out")))
+                      (with-directory-excursion out
+                        (delete-file "share/util-macros/INSTALL")
+                        (rmdir "share/util-macros"))))
+                  %standard-phases))))
     (home-page "http://www.x.org/wiki/")
     (synopsis "xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
-- 
cgit v1.2.3


From b1a01474ac4f5bae1f2689805105103742178c2b Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Thu, 20 Mar 2014 22:27:43 -0400
Subject: gnu: guile: Upgrade to 2.0.11.

* gnu/packages/guile.scm (guile): Upgrade to 2.0.11.
---
 gnu/packages/guile.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 8120d0d797..d1ea6e8fd0 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -108,14 +109,14 @@ without requiring the source code to be rewritten.")
 (define-public guile-2.0
   (package
    (name "guile")
-   (version "2.0.10")
+   (version "2.0.11")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/guile/guile-" version
                                 ".tar.xz"))
             (sha256
              (base32
-              "0vhvlbpmj560r8xl2r085ww16rlhbyq032am67dija09r63b0zm6"))))
+              "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkgconfig" ,pkg-config)))
    (inputs `(("libffi" ,libffi)
-- 
cgit v1.2.3


From 2ed6aa9e398b99296144dca364012f41764a8e89 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sun, 23 Mar 2014 21:49:20 +0100
Subject: gnu: glibc: Patch mtrace.pl to avoid retaining a reference to Perl.

* gnu/packages/base.scm (glibc)[argument] <pre-configure phase>: Patch
  malloc/mtrace.pl.
---
 gnu/packages/base.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 1f6e86341f..bf1ebfa629 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -474,7 +474,17 @@ library for working with executable and object formats is also included.")
                     ;; Same for `popen'.
                     (substitute* "libio/iopopen.c"
                       (("/bin/sh")
-                       (string-append out "/bin/bash")))))
+                       (string-append out "/bin/bash")))
+
+                    ;; Make sure we don't retain a reference to the
+                    ;; bootstrap Perl.
+                    (substitute* "malloc/mtrace.pl"
+                      (("^#!.*")
+                       ;; The shebang can be omitted, because there's the
+                       ;; "bilingual" eval/exec magic at the top of the file.
+                       "")
+                      (("exec @PERL@")
+                       "exec perl"))))
                 (alist-cons-after
                  'install 'install-locales
                  (lambda _
-- 
cgit v1.2.3


From b10ab7230f80076212ccd454f3648dd6ee7993fb Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <tipecaml@gmail.com>
Date: Sat, 1 Feb 2014 01:39:04 +0100
Subject: gnu: Enable the 'ctypes' module in Python.

* gnu/packages/python.scm (python-2): add libffi to the inputs and use it to
  build the ctypes module.
---
 gnu/packages/python.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'gnu/packages')

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7997618fcf..056956e856 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -28,9 +28,11 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gdbm)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages sqlite)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -99,10 +101,12 @@
        #:configure-flags
         (let ((bz2 (assoc-ref %build-inputs "bzip2"))
               (gdbm (assoc-ref %build-inputs "gdbm"))
+              (libffi (assoc-ref %build-inputs "libffi"))
               (openssl (assoc-ref %build-inputs "openssl"))
               (readline (assoc-ref %build-inputs "readline"))
               (zlib (assoc-ref %build-inputs "zlib")))
          (list "--enable-shared"                  ; allow embedding
+               "--with-system-ffi"                ; build ctypes
                (string-append "CPPFLAGS="
                 "-I" bz2 "/include "
                 "-I" gdbm "/include "
@@ -112,6 +116,7 @@
                (string-append "LDFLAGS="
                 "-L" bz2 "/lib "
                 "-L" gdbm "/lib "
+                "-L" libffi "/lib "
                 "-L" openssl "/lib "
                 "-L" readline "/lib "
                 "-L" zlib "/lib")))
@@ -138,10 +143,13 @@
     (inputs
      `(("bzip2" ,bzip2)
        ("gdbm" ,gdbm)
+       ("libffi" ,libffi)                         ; for ctypes
        ("openssl" ,openssl)
        ("readline" ,readline)
        ("zlib" ,zlib)
        ("patchelf" ,patchelf)))                   ; for (guix build rpath)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (native-search-paths
      (list (search-path-specification
             (variable "PYTHONPATH")
-- 
cgit v1.2.3


From 70318b46722d4c11375148636d3cbae1f01114f1 Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <tipecaml@gmail.com>
Date: Fri, 14 Feb 2014 03:16:46 +0100
Subject: gnu: Python: use /nix/.../sh instead of /bin/sh in the subprocess
 module

* gnu/packages/python.scm (python-2): patch Lib/subprocess.py to use
  /nix/.../sh.
---
 gnu/packages/python.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 056956e856..2c6992692a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -139,7 +139,15 @@
              (with-directory-excursion out
                (for-each (cut augment-rpath <> lib)
                          (find-files "bin" ".*")))))
-         %standard-phases)))
+         (alist-replace
+          'configure
+          (lambda* (#:key outputs #:allow-other-keys #:rest args)
+            (let ((configure (assoc-ref %standard-phases 'configure)))
+             (substitute* "Lib/subprocess.py"
+               (("args = \\[\"/bin/sh")
+                (string-append "args = [\"" (which "sh"))))
+             (apply configure args)))
+          %standard-phases))))
     (inputs
      `(("bzip2" ,bzip2)
        ("gdbm" ,gdbm)
-- 
cgit v1.2.3


From 9a9a3adf66285aba30effdb1565429357c7b6184 Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <tipecaml@gmail.com>
Date: Mon, 3 Mar 2014 01:53:11 +0100
Subject: gnu: Enable tests in Python 3.

* gnu/packages/python.scm: enable tests for Python 3
* gnu/packages/python-fix-tests.patch: New file.
* gnu/packages/gnu-system.am (dist_patch_DATA): add it.
---
 gnu-system.am                               |  1 +
 gnu/packages/patches/python-fix-tests.patch | 66 +++++++++++++++++++++++++++++
 gnu/packages/python.scm                     | 21 ++++++++-
 3 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-fix-tests.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index b47163c1f4..2f240bf388 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -312,6 +312,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
   gnu/packages/patches/procps-make-3.82.patch			\
   gnu/packages/patches/python-fix-dbm.patch			\
+  gnu/packages/patches/python-fix-tests.patch			\
   gnu/packages/patches/qemu-make-4.0.patch			\
   gnu/packages/patches/qemu-multiple-smb-shares.patch		\
   gnu/packages/patches/qt4-tests.patch				\
diff --git a/gnu/packages/patches/python-fix-tests.patch b/gnu/packages/patches/python-fix-tests.patch
new file mode 100644
index 0000000000..fecebdacde
--- /dev/null
+++ b/gnu/packages/patches/python-fix-tests.patch
@@ -0,0 +1,66 @@
+See the discussion about the issues fixed here at:
+http://bugs.python.org/issue20868 .
+
+--- Lib/test/test_shutil.py     2014-03-01 03:02:36.088311000 +0100
++++ Lib/test/test_shutil.py     2014-03-01 04:56:37.768311000 +0100
+@@ -1053,6 +1053,7 @@
+         self.assertRaises(ValueError, make_archive, base_name, 'xxx')
+ 
+     @requires_zlib
++    @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
+     def test_make_archive_owner_group(self):
+         # testing make_archive with owner and group, with various combinations
+         # this works even if there's not gid/uid support
+@@ -1081,6 +1082,7 @@
+ 
+ 
+     @requires_zlib
++    @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
+     @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+     def test_tarfile_root_owner(self):
+         tmpdir, tmpdir2, base_name =  self._create_files()
+
+--- Lib/test/test_posixpath.py	2014-03-01 05:46:56.984311000 +0100
++++ Lib/test/test_posixpath.py	2014-03-07 00:59:20.888311000 +0100
+@@ -319,7 +319,11 @@
+                 del env['HOME']
+                 home = pwd.getpwuid(os.getuid()).pw_dir
+                 # $HOME can end with a trailing /, so strip it (see #17809)
+-                self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
++                # The Guix builders have '/' as a home directory, so
++                # home.rstrip("/") will be an empty string and the test will
++                # fail. Let's just disable it since it does not really make
++                # sense with such a bizarre setup.
++                # self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
+ 
+     def test_normpath(self):
+         self.assertEqual(posixpath.normpath(""), ".")
+--- Lib/test/test_socket.py.orig	2014-03-02 22:14:12.264311000 +0100
++++ Lib/test/test_socket.py	2014-03-21 03:50:45.660311000 +0100
+@@ -819,6 +819,8 @@
+             self.assertRaises(OverflowError, socket.htonl, k)
+             self.assertRaises(OverflowError, socket.htons, k)
+ 
++    @unittest.skipUnless(os.path.exists("/etc/services"),
++                         "getservbyname uses /etc/services, which is not in the chroot")
+     def testGetServBy(self):
+         eq = self.assertEqual
+         # Find one service that exists, then check all the related interfaces.
+@@ -1104,6 +1106,8 @@
+         self.assertRaises(ValueError, s.ioctl, -1, None)
+         s.ioctl(socket.SIO_KEEPALIVE_VALS, (1, 100, 100))
+ 
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     def testGetaddrinfo(self):
+         try:
+             socket.getaddrinfo('localhost', 80)
+@@ -1174,6 +1178,8 @@
+         # only IP addresses are allowed
+         self.assertRaises(socket.error, socket.getnameinfo, ('mail.python.org',0), 0)
+ 
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     @unittest.skipUnless(support.is_resource_enabled('network'),
+                          'network is not enabled')
+     def test_idna(self):
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2c6992692a..01de2f6a4a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -146,8 +146,17 @@
              (substitute* "Lib/subprocess.py"
                (("args = \\[\"/bin/sh")
                 (string-append "args = [\"" (which "sh"))))
+             (substitute*
+               '("Lib/distutils/tests/test_spawn.py"
+                 "Lib/test/test_subprocess.py")
+               (("/bin/sh") (which "sh")))
              (apply configure args)))
-          %standard-phases))))
+          (alist-cons-before
+           'check 'pre-check
+           (lambda _
+             ;; 'Lib/test/test_site.py' needs a valid $HOME
+             (setenv "HOME" (getcwd)))
+           %standard-phases)))))
     (inputs
      `(("bzip2" ,bzip2)
        ("gdbm" ,gdbm)
@@ -183,9 +192,19 @@ data types.")
       (method url-fetch)
       (uri (string-append "https://www.python.org/ftp/python/"
                           version "/Python-" version ".tar.xz"))
+       (patches (list (search-patch "python-fix-tests.patch")))
+       (patch-flags '("-p0"))
       (sha256
        (base32
         "11f6hg9wdhm6hyzj49gxlvvp1s0l5hqgcsq1i4ayygqs1arpb4ik"))))
+    (arguments
+     (let ((args `(#:modules ((guix build gnu-build-system)
+                              (guix build utils)
+                             (srfi srfi-1)
+                              (srfi srfi-26))
+                   ,@(package-arguments python-2))))
+       (substitute-keyword-arguments args
+         ((#:tests? _) #t))))
     (native-search-paths
      (list (search-path-specification
             (variable "PYTHONPATH")
-- 
cgit v1.2.3


From 9214f9bc0a573b475ccc846434a5954ea7838072 Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <tipecaml@gmail.com>
Date: Fri, 21 Mar 2014 05:01:18 +0100
Subject: gnu: remove python-fix-dbm.patch

* gnu/packages/patches/python-fix-dbm.patch: remove file. It is not needed
  anymore, and is probably a left-over of a failed merge.
* gnu-system.am: remove gnu/packages/patches/python-fix-dbm.patch
---
 gnu-system.am                             |  1 -
 gnu/packages/patches/python-fix-dbm.patch | 20 --------------------
 2 files changed, 21 deletions(-)
 delete mode 100644 gnu/packages/patches/python-fix-dbm.patch

(limited to 'gnu/packages')

diff --git a/gnu-system.am b/gnu-system.am
index 2f240bf388..9eda697f64 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -311,7 +311,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/perl-no-sys-dirs.patch			\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
   gnu/packages/patches/procps-make-3.82.patch			\
-  gnu/packages/patches/python-fix-dbm.patch			\
   gnu/packages/patches/python-fix-tests.patch			\
   gnu/packages/patches/qemu-make-4.0.patch			\
   gnu/packages/patches/qemu-multiple-smb-shares.patch		\
diff --git a/gnu/packages/patches/python-fix-dbm.patch b/gnu/packages/patches/python-fix-dbm.patch
deleted file mode 100644
index 29e4521f3f..0000000000
--- a/gnu/packages/patches/python-fix-dbm.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-This patch allows the dbm module to be built using the compatibility mode of
-gdbm. It will not be needed any more with Python 2.7.4.
---- setup.py	2013-04-06 00:53:37.000000000 +0200
-+++ setup.py.new	2013-04-06 19:55:05.000000000 +0200
-@@ -1158,10 +1158,14 @@
-             for cand in dbm_order:
-                 if cand == "ndbm":
-                     if find_file("ndbm.h", inc_dirs, []) is not None:
--                        # Some systems have -lndbm, others don't
-+                        # Some systems have -lndbm, some have -lgdbm_compat,
-+                        # others have no particular linker flags.
-                         if self.compiler.find_library_file(lib_dirs,
-                                                                'ndbm'):
-                             ndbm_libs = ['ndbm']
-+                        elif self.compiler.find_library_file(lib_dirs,
-+                                                             'gdbm_compat'):
-+                            ndbm_libs = ['gdbm_compat']
-                         else:
-                             ndbm_libs = []
-                         print "building dbm using ndbm"
-- 
cgit v1.2.3