summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/base.scm45
-rw-r--r--gnu/packages/bootstrap.scm1
-rw-r--r--gnu/packages/cross-base.scm243
-rw-r--r--gnu/packages/curl.scm13
-rw-r--r--gnu/packages/gcc.scm6
-rw-r--r--gnu/packages/linux.scm25
-rw-r--r--gnu/packages/multiprecision.scm15
-rw-r--r--gnu/packages/openldap.scm16
-rw-r--r--gnu/packages/patches/gcc-cross-environment-variables.patch24
-rw-r--r--gnu/packages/wget.scm7
10 files changed, 331 insertions, 64 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 92b94dc035..606e59b851 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -89,14 +89,14 @@ lines.")
 (define-public sed
   (package
    (name "sed")
-   (version "4.2.1")
+   (version "4.2.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/sed/sed-" version
                                 ".tar.bz2"))
             (sha256
              (base32
-              "13wlsb4sf5d5a82xjhxqmdvrrn36rmw5f0pl9qyb9zkvldnb7hra"))))
+              "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))))
    (build-system gnu-build-system)
    (synopsis "GNU sed, a batch stream editor")
    (arguments
@@ -264,14 +264,14 @@ The tools supplied with this package are:
 (define-public coreutils
   (package
    (name "coreutils")
-   (version "8.20")
+   (version "8.21")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/coreutils/coreutils-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "1cly97xdy3v4nbbx631k43smqw0nnpn651kkprs0yyl2cj3pkjyv"))))
+              "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"))))
    (build-system gnu-build-system)
    (inputs `(("acl"  ,acl)
              ("gmp"  ,gmp)
@@ -343,14 +343,14 @@ that it is possible to use Make to build and install the program.")
 (define-public binutils
   (package
    (name "binutils")
-   (version "2.22")
+   (version "2.23.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/binutils/binutils-"
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "1a9w66v5dwvbnawshjwqcgz7km6kw6ihkzp6sswv9ycc3knzhykc"))))
+              "06bs5v5ndb4g5qx96d52lc818gkbskd1m0sz57314v887sqfbcia"))))
    (build-system gnu-build-system)
 
    ;; Split Binutils in several outputs, mostly to avoid collisions in
@@ -368,7 +368,11 @@ that it is possible to use Make to build and install the program.")
                           "LDFLAGS=-static-libgcc"
 
                           ;; Don't search under /usr/lib & co.
-                          "--with-lib-path=/no-ld-lib-path")))
+                          "--with-lib-path=/no-ld-lib-path"
+
+                          ;; Glibc 2.17 has a "comparison of unsigned
+                          ;; expression >= 0 is always true" in wchar.h.
+                          "--disable-werror")))
 
    (synopsis "GNU Binutils, tools for manipulating binaries (linker,
 assembler, etc.)")
@@ -396,13 +400,28 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
    ;; users should automatically pull Linux headers as well.
    (propagated-inputs `(("linux-headers" ,linux-libre-headers)))
 
+   ;; Store the locales separately (~100 MiB).  Note that "out" retains a
+   ;; reference to them anyway, so there's no space savings here.
+   ;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
+   ;; Nixpkgs does.
+   (outputs '("out" "locales"))
+
    (arguments
     `(#:out-of-source? #t
       #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache"))
       #:configure-flags
       (list "--enable-add-ons"
             "--sysconfdir=/etc"
-            "--localedir=/var/run/current-system/sw/lib/locale" ; XXX
+            (string-append "--localedir=" (assoc-ref %outputs "locales")
+                           "/share/locale")
+
+            ;; `--localedir' is not honored, so work around it.
+            ;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
+            (string-append "libc_cv_localedir="
+                           (assoc-ref %outputs "locales")
+                           "/share/locale")
+
+
             (string-append "--with-headers="
                            (assoc-ref %build-inputs "linux-headers")
                            "/include")
@@ -468,7 +487,12 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
                     (substitute* "libio/iopopen.c"
                       (("/bin/sh")
                        (string-append out "/bin/bash")))))
-                %standard-phases)))
+                (alist-cons-after
+                 'install 'install-locales
+                 (lambda _
+                   (zero? (system* "make" "localedata/install-locales")))
+                 %standard-phases))))
+
    (inputs `(("patch/ld.so.cache"
               ,(search-patch "glibc-no-ld-so-cache.patch"))
              ("static-bash" ,(static-package bash-light))))
@@ -571,7 +595,8 @@ identifier SYSTEM."
         #:implicit-inputs? #f
         ,@(substitute-keyword-arguments (package-arguments binutils)
             ((#:configure-flags cf)
-             `(list ,(string-append "--target=" (boot-triplet)))))))
+             `(cons ,(string-append "--target=" (boot-triplet))
+                    ,cf)))))
      (inputs %boot0-inputs))))
 
 (define gcc-boot0
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index ffe1ec6528..82a8db614f 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -135,6 +135,7 @@ check whether everything is alright."
   "Return the name of Glibc's dynamic linker for SYSTEM."
   (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
         ((string=? system "i686-linux") "/lib/ld-linux.so.2")
+        ((string=? system "mips64el-linux") "/lib/ld.so.1")
         (else (error "dynamic linker name not known for this system"
                      system))))
 
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
new file mode 100644
index 0000000000..69dc9f5b0b
--- /dev/null
+++ b/gnu/packages/cross-base.scm
@@ -0,0 +1,243 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cross-base)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages linux)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
+  #:use-module (ice-9 match))
+
+(define (cross p target)
+  (package (inherit p)
+    (location (source-properties->location (current-source-location)))
+    (name (string-append (package-name p) "-cross-" target))
+    (arguments
+     (substitute-keyword-arguments (package-arguments p)
+       ((#:configure-flags flags)
+        `(cons ,(string-append "--target=" target)
+               ,flags))))))
+
+(define cross-binutils
+  (cut cross binutils <>))
+
+(define* (cross-gcc target
+                    #:optional (xbinutils (cross-binutils target)) libc)
+  "Return a cross-compiler for TARGET, where TARGET is a GNU triplet.  Use
+XBINUTILS as the associated cross-Binutils.  If LIBC is false, then build a
+GCC that does not target a libc; otherwise, target that libc."
+  (define args
+    ;; Get the arguments as if we were building for TARGET.  In particular, we
+    ;; want `glibc-dynamic-linker' to return the right thing.
+    (parameterize ((%current-system (gnu-triplet->nix-system target)))
+      (package-arguments gcc-4.7)))
+
+  (package (inherit gcc-4.7)
+    (name (string-append "gcc-cross-"
+                         (if libc "" "sans-libc-")
+                         target))
+    (arguments
+     `(#:implicit-inputs? #f
+       #:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 regex)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))
+
+       ,@(substitute-keyword-arguments args
+           ((#:configure-flags flags)
+            `(append (list ,(string-append "--target=" target)
+                           ,@(if libc
+                                 '()
+                                 `( ;; Disable features not needed at this stage.
+                                   "--disable-shared" "--enable-static"
+
+                                   ;; Disable C++ because libstdc++'s
+                                   ;; configure script otherwise fails with
+                                   ;; "Link tests are not allowed after
+                                   ;; GCC_NO_EXECUTABLES."
+                                   "--enable-languages=c"
+
+                                   "--disable-threads" ; libgcc, would need libc
+                                   "--disable-libmudflap"
+                                   "--disable-libgomp"
+                                   "--disable-libssp"
+                                   "--disable-libquadmath"
+                                   "--disable-decimal-float" ; would need libc
+                                   )))
+
+                     ,(if libc
+                          flags
+                          `(remove (cut string-match "--enable-languages.*" <>)
+                                   ,flags))))
+           ((#:make-flags flags)
+            (if libc
+                `(let ((libc (assoc-ref %build-inputs "libc")))
+                   ;; FLAGS_FOR_TARGET are needed for the target libraries to
+                   ;; receive the -Bxxx for the startfiles.
+                   (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+                         ,flags))
+                flags))
+           ((#:phases phases)
+            (let ((phases
+                   `(alist-cons-after
+                     'install 'make-cross-binutils-visible
+                     (lambda* (#:key outputs inputs #:allow-other-keys)
+                       (let* ((out      (assoc-ref outputs "out"))
+                              (libexec  (string-append out "/libexec/gcc/"
+                                                       ,target))
+                              (binutils (string-append
+                                         (assoc-ref inputs "binutils-cross")
+                                         "/bin/" ,target "-")))
+                         (for-each (lambda (file)
+                                     (symlink (string-append binutils file)
+                                              (string-append libexec "/"
+                                                             file)))
+                                   '("as" "ld" "nm"))
+                         #t))
+                     ,phases)))
+             (if libc
+                 `(alist-cons-before
+                   'configure 'set-cross-path
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     ;; Add the cross Linux headers to CROSS_CPATH, and remove
+                     ;; them from CPATH.
+                     (let ((libc  (assoc-ref inputs "libc"))
+                           (linux (assoc-ref inputs
+                                             "libc/cross-linux-headers")))
+                       (define (cross? x)
+                         ;; Return #t if X is a cross-libc or cross Linux.
+                         (or (string-prefix? libc x)
+                             (string-prefix? linux x)))
+
+                       (setenv "CROSS_CPATH"
+                               (string-append libc "/include:"
+                                              linux "/include"))
+                       (setenv "CROSS_LIBRARY_PATH"
+                               (string-append libc "/lib"))
+
+                       (let ((cpath   (search-path-as-string->list
+                                       (getenv "CPATH")))
+                             (libpath (search-path-as-string->list
+                                       (getenv "LIBRARY_PATH"))))
+                         (setenv "CPATH"
+                                 (list->search-path-as-string
+                                  (remove cross? cpath) ":"))
+                         (setenv "LIBRARY_PATH"
+                                 (list->search-path-as-string
+                                  (remove cross? libpath) ":"))
+                         #t)))
+                   ,phases)
+                 phases)))
+           ((#:strip-binaries? _)
+            ;; Disable stripping as this can break binaries, with object files
+            ;; of libgcc.a showing up as having an unknown architecture.  See
+            ;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
+            ;; for instance.
+            #f))))
+    (inputs
+     `(("patch/cross-env-vars"
+        ,(search-patch "gcc-cross-environment-variables.patch"))
+
+       ("binutils-cross" ,xbinutils)
+
+       ;; Call it differently so that the builder can check whether the "libc"
+       ;; input is #f.
+       ("libc-native" ,@(assoc-ref %final-inputs "libc"))
+
+       ;; Remaining inputs.
+       ,@(let ((inputs (append (package-inputs gcc-4.7)
+                               (alist-delete "libc" %final-inputs))))
+           (if libc
+               `(("libc" ,libc)
+                 ,@inputs)
+               inputs))))))
+
+(define* (cross-libc target
+                     #:optional
+                     (xgcc (cross-gcc target))
+                     (xbinutils (cross-binutils target)))
+  "Return a libc cross-built for TARGET, a GNU triplet.  Use XGCC and
+XBINUTILS and the cross tool chain."
+  (define xlinux-headers
+    (package (inherit linux-libre-headers)
+      (name (string-append (package-name linux-libre-headers)
+                           "-cross-" target))
+      (arguments
+       (substitute-keyword-arguments (package-arguments linux-libre-headers)
+         ((#:phases phases)
+          `(alist-replace
+            'build
+            (lambda _
+              (setenv "ARCH" ,(system->linux-architecture target))
+              (format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
+
+              (and (zero? (system* "make" "defconfig"))
+                   (zero? (system* "make" "mrproper" "headers_check"))))
+            ,phases))))
+      (inputs `(("cross-gcc" ,xgcc)
+                ("cross-binutils" ,xbinutils)
+                ,@(package-inputs linux-libre-headers)))))
+
+  (package (inherit glibc)
+    (name (string-append "glibc-cross-" target))
+    (arguments
+     (substitute-keyword-arguments
+         `(#:strip-binaries? #f                ; disable stripping (see above)
+           ,@(package-arguments glibc))
+       ((#:configure-flags flags)
+        `(cons ,(string-append "--host=" target)
+               ,flags))
+       ((#:phases phases)
+        `(alist-cons-before
+          'configure 'set-cross-linux-headers-path
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let ((linux (assoc-ref inputs "cross-linux-headers")))
+              (setenv "CROSS_CPATH"
+                      (string-append linux "/include"))
+              #t))
+          ,phases))))
+    (propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
+    (inputs `(("cross-gcc" ,xgcc)
+              ("cross-binutils" ,xbinutils)
+              ,@(package-inputs glibc)))))
+
+
+;;;
+;;; Concrete cross toolchains.
+;;;
+
+(define-public xgcc-mips64el
+  (let ((triplet "mips64el-linux-gnu"))
+    (cross-gcc triplet
+               (cross-binutils triplet)
+               (cross-libc triplet))))
+
+;; (define-public xgcc-armel
+;;   (let ((triplet "armel-linux-gnueabi"))
+;;     (cross-gcc triplet
+;;                (cross-binutils triplet)
+;;                (cross-libc triplet))))
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 00fd0f3232..4f5d96087e 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -55,18 +55,7 @@
              ("pkg-config" ,pkg-config)
              ("zlib" ,zlib)))
    (arguments
-    `(#:configure-flags '("--with-gnutls" "--with-gssapi")
-      #:phases
-       (alist-replace
-        'unpack
-        (lambda* (#:key #:allow-other-keys #:rest args)
-         (let ((unpack (assoc-ref %standard-phases 'unpack)))
-           (apply unpack args)
-           ;; The following patch-shebang phase will replace perl
-           ;; by the correct path.
-           (substitute* "tests/runtests.pl"
-                         (("#!/usr/bin/env perl") "#!/usr/bin/perl"))))
-       %standard-phases)))
+    `(#:configure-flags '("--with-gnutls" "--with-gssapi")))
    (synopsis "curl, command line tool for transferring data with URL syntax")
    (description
     "curl is a command line tool for transferring data with URL syntax,
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 116c1859a9..a26dc24a4f 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -64,8 +64,8 @@
         #:make-flags
         (let ((libc (assoc-ref %build-inputs "libc")))
           `(,@(if libc
-                  (list (string-append "LDFLAGS_FOR_BUILD="
-                                       "-L" libc "/lib "
+                  (list (string-append "LDFLAGS_FOR_TARGET="
+                                       "-B" libc "/lib "
                                        "-Wl,-dynamic-linker "
                                        "-Wl," libc
                                        ,(glibc-dynamic-linker)))
@@ -101,7 +101,7 @@
                   ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
                   ;; There's not much that can be done to avoid it, though.
                   (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
-%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a~%"
+%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a"
                           libc libc out out suffix))
                  (("#define STARTFILE_SPEC.*$" line)
                   (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b97315580b..b687e363f6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -31,18 +31,25 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
 
+(define-public (system->linux-architecture arch)
+  "Return the Linux architecture name for ARCH, a Guix system name such as
+\"x86_64-linux\"."
+  (let ((arch (car (string-split arch #\-))))
+    (cond ((string=? arch "i686") "i386")
+          ((string-prefix? "mips" arch) "mips")
+          ((string-prefix? "arm" arch) "arm")
+          (else arch))))
+
 (define-public linux-libre-headers
   (let* ((version* "3.3.8")
          (build-phase
-          '(lambda* (#:key system #:allow-other-keys)
-             (let ((arch (car (string-split system #\-))))
-               (setenv "ARCH"
-                       (cond ((string=? arch "i686") "i386")
-                             (else arch)))
-               (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
+          (lambda (arch)
+            `(lambda _
+               (setenv "ARCH" ,(system->linux-architecture arch))
+               (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
 
-             (and (zero? (system* "make" "defconfig"))
-                  (zero? (system* "make" "mrproper" "headers_check")))))
+               (and (zero? (system* "make" "defconfig"))
+                    (zero? (system* "make" "mrproper" "headers_check"))))))
          (install-phase
           `(lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
@@ -73,7 +80,7 @@
                   (guix build utils)
                   (srfi srfi-1))
        #:phases (alist-replace
-                 'build ,build-phase
+                 'build ,(build-phase (%current-system))
                  (alist-replace
                   'install ,install-phase
                   (alist-delete 'configure %standard-phases)))
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 7778552b40..acff875db1 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -27,18 +27,15 @@
 (define-public gmp
   (package
    (name "gmp")
-   (version "5.1.0")
+   (version "5.1.1")
    (source (origin
             (method url-fetch)
             (uri
-             ;; Note: this version is not available from GNU mirrors
-             ;; because it was made with an Automake affected by
-             ;; CVE-2012-3386.
-             (string-append "ftp://ftp.gmplib.org/pub/gmp-"
-                            version "/gmp-" version ".tar.bz2"))
+             (string-append "mirror://gnu/gmp/gmp-"
+                            version ".tar.xz"))
             (sha256
              (base32
-              "15n7xxgasbxdch8ii8z9ic6fxc2ysk3q8iavf55abjp5iylspnfz"))))
+              "1hili06lcf0clg5qfvz7knm6pmj6ab54yhsvskp1mdny5xw4vmjb"))))
    (build-system gnu-build-system)
    (native-inputs `(("m4" ,m4)))
    (arguments `(#:configure-flags
@@ -73,13 +70,13 @@ faster algorithms.")
 (define-public mpfr
   (package
    (name "mpfr")
-   (version "3.1.1")
+   (version "3.1.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/mpfr/mpfr-" version
                                 ".tar.xz"))
             (sha256 (base32
-                     "0ym1ylcq803n52qrggxqmkz66gbn8ncc3ybawal31v5y5p1srma9"))))
+                     "0fs501qi8l523gs3cpy4jjcnvwxggyfbklcys80wq236xx3hz79r"))))
    (build-system gnu-build-system)
    (propagated-inputs `(("gmp" ,gmp)))            ; <mpfr.h> refers to <gmp.h>
    (synopsis "GNU MPFR, a library for multiple-precision floating-point
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index d2525a6310..a4a28ccf1b 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -55,7 +55,7 @@
              ("libtool" ,libtool "bin")
              ("zlib" ,zlib)))
    (arguments
-    `(#:parallel-tests? #f
+    `(#:tests? #f
       #:phases
        (alist-replace
         'configure
@@ -63,19 +63,7 @@
          (let ((configure (assoc-ref %standard-phases 'configure)))
            (apply configure args)
            (copy-file (which "libtool") "libtool")))
-       (alist-replace
-        'check
-        (lambda* (#:key #:allow-other-keys #:rest args)
-         (let ((check (assoc-ref %standard-phases 'check)))
-           (for-each (lambda (f)
-                       (substitute* (string-append "tests/scripts/" f)
-                                    (("/bin/rm") "rm")))
-                       '("all" "its-all" "passwd-search" "sql-all" "test027-emptydn"))
-           ;; disable especially finicky tests
-           (delete-file "tests/scripts/test058-syncrepl-asymmetric")
-           (delete-file "tests/scripts/test061-syncreplication-initiation")
-           (apply check args)))
-       %standard-phases))))
+       %standard-phases)))
    (synopsis "openldap, an implementation of the Lightweight Directory Access Protocol")
    (description
     "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
diff --git a/gnu/packages/patches/gcc-cross-environment-variables.patch b/gnu/packages/patches/gcc-cross-environment-variables.patch
new file mode 100644
index 0000000000..30a07ec3db
--- /dev/null
+++ b/gnu/packages/patches/gcc-cross-environment-variables.patch
@@ -0,0 +1,24 @@
+Search path environment variables for cross-compilers.  See the discussion
+at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
+
+--- gcc-4.7.2/gcc/incpath.c	2012-01-27 00:34:58.000000000 +0100
++++ gcc-4.7.2/gcc/incpath.c	2013-02-12 10:11:27.000000000 +0100
+@@ -452,7 +452,7 @@ register_include_chains (cpp_reader *pfi
+ 
+   /* CPATH and language-dependent environment variables may add to the
+      include chain.  */
+-  add_env_var_paths ("CPATH", BRACKET);
++  add_env_var_paths ("CROSS_CPATH", BRACKET);
+   add_env_var_paths (lang_env_vars[idx], SYSTEM);
+ 
+   target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
+
+--- gcc-4.7.2/gcc/system.h	2012-02-17 00:16:28.000000000 +0100
++++ gcc-4.7.2/gcc/system.h	2013-02-12 10:22:17.000000000 +0100
+@@ -1023,4 +1023,6 @@ helper_const_non_const_cast (const char
+ #define DEBUG_VARIABLE
+ #endif
+ 
++#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
++
+ #endif /* ! GCC_SYSTEM_H */
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index ea31a1e70d..1f2f53c97f 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -43,13 +43,6 @@
      `(("gnutls" ,gnutls)
        ("perl" ,perl)
        ("gettext" ,guix:gettext)))
-    (arguments
-     '(#:phases
-       (alist-cons-before 'build 'patch-/usr/bin/env
-                          (lambda _
-                            (for-each patch-shebang
-                                      '("doc/texi2pod.pl" "tests/run-px")))
-                          %standard-phases)))
     (home-page "http://www.gnu.org/software/wget/")
     (synopsis
      "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP")