~ruther/guix-local

01eafd38fbeb49d8167d99569eb624ab404bbeb2 — Ludovic Courtès 12 years ago ac10e0e
gnu: Use the 'patches' field of <origin>.

* gnu/packages/apr.scm,
  gnu/packages/autotools.scm,
  gnu/packages/avahi.scm,
  gnu/packages/cdrom.scm,
  gnu/packages/cmake.scm,
  gnu/packages/cpio.scm,
  gnu/packages/cross-base.scm,
  gnu/packages/emacs.scm,
  gnu/packages/flex.scm,
  gnu/packages/fontutils.scm,
  gnu/packages/glib.scm,
  gnu/packages/grub.scm,
  gnu/packages/guile.scm,
  gnu/packages/idutils.scm,
  gnu/packages/libevent.scm,
  gnu/packages/linux.scm,
  gnu/packages/mail.scm,
  gnu/packages/make-bootstrap.scm,
  gnu/packages/mp3.scm,
  gnu/packages/oggvorbis.scm,
  gnu/packages/pdf.scm,
  gnu/packages/plotutils.scm,
  gnu/packages/qemu.scm,
  gnu/packages/recutils.scm,
  gnu/packages/rush.scm,
  gnu/packages/scheme.scm,
  gnu/packages/system.scm,
  gnu/packages/tcsh.scm,
  gnu/packages/valgrind.scm,
  gnu/packages/vpn.scm,
  gnu/packages/w3m: Use the 'patches' field of <origin> instead of
  adding a patch as input plus using #:patches.
M gnu/packages/apr.scm => gnu/packages/apr.scm +5 -8
@@ 35,16 35,13 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
               "0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))))
               "0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))
             (patches
              (list (search-patch "apr-skip-getservbyname-test.patch")))
             (patch-flags '("-p0"))))
    (build-system gnu-build-system)
    (arguments
      `(#:patches (list (assoc-ref %build-inputs
                                   "patch/skip-test"))
        #:patch-flags '("-p0")))
    (inputs `(("perl" ,perl)
              ("libtool" ,libtool)
              ("patch/skip-test"
               ,(search-patch "apr-skip-getservbyname-test.patch"))))
              ("libtool" ,libtool)))
    (home-page "http://apr.apache.org/")
    (synopsis "The Apache Portable Runtime Library")
    (description

M gnu/packages/autotools.scm => gnu/packages/autotools.scm +5 -6
@@ 141,20 141,19 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
                                 version ".tar.xz"))
             (sha256
              (base32
               "0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))))
               "0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))
             (patches
              (list (search-patch "automake-skip-amhello-tests.patch")))))
    (build-system gnu-build-system)
    (inputs
     `(("autoconf" ,autoconf-wrapper)
       ("perl" ,perl)
       ("patch/skip-amhello"
        ,(search-patch "automake-skip-amhello-tests.patch"))))
       ("perl" ,perl)))
    (native-search-paths
     (list (search-path-specification
            (variable "ACLOCAL_PATH")
            (directories '("share/aclocal")))))
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/skip-amhello"))
       #:modules ((guix build gnu-build-system)
     '(#:modules ((guix build gnu-build-system)
                  (guix build utils)
                  (srfi srfi-1)
                  (srfi srfi-26)

M gnu/packages/avahi.scm => gnu/packages/avahi.scm +4 -7
@@ 39,7 39,8 @@
                                 version ".tar.gz"))
             (sha256
              (base32
               "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))))
               "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))
             (patches (list (search-patch "avahi-localstatedir.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags '("--with-distro=none"


@@ 50,8 51,7 @@
                           "--disable-xmltoman"
                           "--enable-tests"
                           "--disable-qt3" "--disable-qt4"
                           "--disable-gtk" "--disable-gtk3")
       #:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
                           "--disable-gtk" "--disable-gtk3")))
    (inputs
     `(("expat" ,expat)
       ("glib" ,glib)


@@ 59,10 59,7 @@
       ("libdaemon" ,libdaemon)
       ("intltool" ,intltool)
       ("pkg-config" ,pkg-config)
       ("gdbm" ,gdbm)

       ("patch/localstatedir"
        ,(search-patch "avahi-localstatedir.patch"))))
       ("gdbm" ,gdbm)))
    (synopsis "Avahi, an mDNS/DNS-SD implementation")
    (description
     "Avahi is a system which facilitates service discovery on a local

M gnu/packages/cdrom.scm => gnu/packages/cdrom.scm +3 -4
@@ 129,14 129,13 @@ filesystems.")
                                 version ".src.tgz"))
             (sha256
              (base32
               "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))))
               "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
             (patches (list (search-patch "cdparanoia-fpic.patch")))))
    (build-system gnu-build-system)
    (inputs
     `(("patch/fpic" ,(search-patch "cdparanoia-fpic.patch"))
       ("patchelf" ,patchelf)))
     `(("patchelf" ,patchelf)))
    (arguments
     `(#:tests? #f ; there is no check target
       #:patches (list (assoc-ref %build-inputs "patch/fpic"))
       #:modules ((guix build gnu-build-system)
                  (guix build utils)
                  (guix build rpath)

M gnu/packages/cmake.scm => gnu/packages/cmake.scm +3 -4
@@ 36,11 36,11 @@
                    (string-index version #\. (+ 1 (string-index version #\.))))
                   "/cmake-" version ".tar.gz"))
             (sha256
              (base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))))
              (base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))
             (patches (list (search-patch "cmake-fix-tests.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:test-target "test"
       #:patches (list (assoc-ref %build-inputs "fix-tests"))
       #:patch-flags '("-p0")
       #:phases (alist-replace
                 'configure


@@ 66,8 66,7 @@
                             (string-append "--prefix=" out)))))
                 %standard-phases)))
    (inputs
     `(("file" ,file)
       ("fix-tests" ,(search-patch "cmake-fix-tests.patch"))))
     `(("file" ,file)))
    (home-page "http://www.cmake.org/")
    (synopsis "A cross-platform, open-source build system")
    (description

M gnu/packages/cpio.scm => gnu/packages/cpio.scm +8 -13
@@ 27,20 27,15 @@
  (package
    (name "cpio")
    (version "2.11")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/cpio/cpio-"
                          version ".tar.bz2"))
      (sha256
       (base32
        "1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))))
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/cpio/cpio-"
                                 version ".tar.bz2"))
             (sha256
              (base32
               "1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))
             (patches (list (search-patch "cpio-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (arguments
     `(#:patches (list (assoc-ref %build-inputs
                                  "patch/gets"))))
    (inputs
     `(("patch/gets" ,(search-patch "cpio-gets-undeclared.patch"))))
    (home-page "https://www.gnu.org/software/cpio/")
    (synopsis "Manage cpio and tar file archives")
    (description

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +4 -5
@@ 74,6 74,9 @@ GCC that does not target a libc; otherwise, target that libc."
    (name (string-append "gcc-cross-"
                         (if libc "" "sans-libc-")
                         target))
    (source (origin (inherit (package-source gcc-4.7))
              (patches
               (list (search-patch "gcc-cross-environment-variables.patch")))))
    (arguments
     `(#:implicit-inputs? #f
       #:modules ((guix build gnu-build-system)


@@ 81,7 84,6 @@ GCC that does not target a libc; otherwise, target that libc."
                  (ice-9 regex)
                  (srfi srfi-1)
                  (srfi srfi-26))
       #:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))

       ,@(substitute-keyword-arguments (package-arguments gcc-4.7)
           ((#:configure-flags flags)


@@ 177,10 179,7 @@ GCC that does not target a libc; otherwise, target that libc."
            #f))))

    (native-inputs
     `(("patch/cross-env-vars"
        ,(search-patch "gcc-cross-environment-variables.patch"))

       ("binutils-cross" ,xbinutils)
     `(("binutils-cross" ,xbinutils)

       ;; Call it differently so that the builder can check whether the "libc"
       ;; input is #f.

M gnu/packages/emacs.scm => gnu/packages/emacs.scm +3 -6
@@ 48,14 48,14 @@
                                 version ".tar.xz"))
             (sha256
              (base32
               "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))))
               "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))
             (patches (list (search-patch "emacs-configure-sh.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags
       (list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc")
                            "/lib")
             "--with-gif=no")                     ; XXX: add libungif
       #:patches (list (assoc-ref %build-inputs "patch/epaths"))
       #:phases (alist-cons-before
                 'configure 'fix-/bin/pwd
                 (lambda _


@@ 85,10 85,7 @@

       ("libXpm" ,libxpm)
       ("libxml2" ,libxml2)
       ("dbus" ,dbus)

       ("patch/epaths" ,(search-patch "emacs-configure-sh.patch"))
       ))
       ("dbus" ,dbus)))
    (home-page "http://www.gnu.org/software/emacs/")
    (synopsis "The extensible, customizable, self-documenting text editor")
    (description

M gnu/packages/flex.scm => gnu/packages/flex.scm +3 -5
@@ 38,10 38,9 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
               "0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp"))))
               "0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp"))
             (patches (list (search-patch "flex-bison-tests.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/bison-tests"))))
    (inputs
     (let ((bison-for-tests
            ;; Work around an incompatibility with Bison 3.0:


@@ 59,8 58,7 @@
              ;; Unlike Bison 3.0, this version did not need Flex for its
              ;; tests, so it allows us to break the cycle.
              (inputs (alist-delete "flex" (package-inputs bison))))))
       `(("patch/bison-tests" ,(search-patch "flex-bison-tests.patch"))
         ("bison" ,bison-for-tests)
       `(("bison" ,bison-for-tests)
         ("indent" ,indent))))
    (propagated-inputs `(("m4" ,m4)))
    (home-page "http://flex.sourceforge.net/")

M gnu/packages/fontutils.scm => gnu/packages/fontutils.scm +3 -5
@@ 141,12 141,10 @@ X11-system or any other graphical user interface. ")
                   (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
                   ".tar.gz"))
            (sha256 (base32
                     "0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))))
                     "0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))
            (patches (list (search-patch "teckit-cstdio.patch")))))
   (build-system gnu-build-system)
   (inputs `(("patch/teckit" ,(search-patch "teckit-cstdio.patch"))
             ("zlib" ,zlib)))
   (arguments
    `(#:patches (list (assoc-ref %build-inputs "patch/teckit"))))
   (inputs `(("zlib" ,zlib)))
   (synopsis "TECkit, a toolkit for encoding conversions")
   (description
    "TECkit is a low-level toolkit intended to be used by other applications

M gnu/packages/glib.scm => gnu/packages/glib.scm +9 -17
@@ 64,7 64,8 @@
                             version ".tar.gz"))
             (sha256
              (base32
               "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))))
               "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))
             (patches (list (search-patch "dbus-localstatedir.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags (list ;; Install the system bus socket under /var.


@@ 74,13 75,10 @@
                               ;; config.
                               ;; "--sysconfdir=/etc"

                               "--with-session-socket-dir=/tmp")
       #:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
                               "--with-session-socket-dir=/tmp")))
    (inputs
     `(("expat" ,expat)
       ("pkg-config" ,pkg-config)
       ("patch/localstatedir"
        ,(search-patch "dbus-localstatedir.patch"))

       ;; Add a dependency on libx11 so that 'dbus-launch' has support for
       ;; '--autolaunch'.


@@ 116,7 114,10 @@ shared NFS home directories.")
                                name "/" (string-take version 4) "/"
                                name "-" version ".tar.xz"))
            (sha256
             (base32 "0cpzqadqk6z6bmb79p04pykxc8x57rvshh33414cnk41bvgaf4vm"))))
             (base32 "0cpzqadqk6z6bmb79p04pykxc8x57rvshh33414cnk41bvgaf4vm"))
            (patches (list (search-patch "glib-tests-homedir.patch")
                           (search-patch "glib-tests-desktop.patch")
                           (search-patch "glib-tests-prlimit.patch")))))
   (build-system gnu-build-system)
   (outputs '("out"                        ; everything
              "doc"))                      ; 20 MiB of GTK-Doc reference


@@ 131,18 132,9 @@ shared NFS home directories.")
      ("dbus" ,dbus)                              ; for GDBus tests
      ("bash" ,bash)
      ("tzdata" ,tzdata)                          ; for tests/gdatetime.c

      ("patch/tests-homedir"
       ,(search-patch "glib-tests-homedir.patch"))
      ("patch/tests-desktop"
       ,(search-patch "glib-tests-desktop.patch"))
      ("patch/tests-prlimit"
       ,(search-patch "glib-tests-prlimit.patch"))))
      ))
   (arguments
    '(#:patches (list (assoc-ref %build-inputs "patch/tests-homedir")
                      (assoc-ref %build-inputs "patch/tests-desktop")
                      (assoc-ref %build-inputs "patch/tests-prlimit"))
      #:phases (alist-cons-before
    '(#:phases (alist-cons-before
                'build 'pre-build
                (lambda* (#:key inputs outputs #:allow-other-keys)
                  ;; For tests/gdatetime.c.

M gnu/packages/grub.scm => gnu/packages/grub.scm +4 -6
@@ 67,11 67,11 @@
                                 version ".tar.xz"))
             (sha256
              (base32
               "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))))
               "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
             (patches (list (search-patch "grub-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/gets"))
       #:configure-flags '("--disable-werror")
     '(#:configure-flags '("--disable-werror")
       #:phases (alist-cons-before
                 'patch-source-shebangs 'patch-stuff
                 (lambda _


@@ 87,9 87,7 @@
       ("gettext" ,gnu:gettext)
       ("freetype" ,freetype)
       ;; ("libusb" ,libusb)
       ("ncurses" ,ncurses)

       ("patch/gets" ,(search-patch "grub-gets-undeclared.patch"))))
       ("ncurses" ,ncurses)))
    (native-inputs
     `(("bison" ,bison)
       ("flex" ,flex)

M gnu/packages/guile.scm => gnu/packages/guile.scm +6 -9
@@ 53,10 53,10 @@
                                ".tar.gz"))
            (sha256
             (base32
              "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))))
              "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))
            (patches (list (search-patch "guile-1.8-cpp-4.5.patch")))))
   (build-system gnu-build-system)
   (arguments '(#:configure-flags '("--disable-error-on-warning")
                #:patches (list (assoc-ref %build-inputs "patch/snarf"))

                ;; Insert a phase before `configure' to patch things up.
                #:phases (alist-cons-before


@@ 77,8 77,7 @@
                             (substitute* "ice-9/popen.scm"
                               (("/bin/sh") (which "sh"))))
                           %standard-phases)))
   (inputs `(("patch/snarf" ,(search-patch "guile-1.8-cpp-4.5.patch"))
             ("gawk" ,gawk)
   (inputs `(("gawk" ,gawk)
             ("readline" ,readline)))

   ;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be


@@ 281,13 280,11 @@ menu.")
                                 version ".tar.gz"))
             (sha256
              (base32
               "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))))
               "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))
             (patches (list (search-patch "mcron-install.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/install"))))
    (inputs
     `(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)
       ("patch/install" ,(search-patch "mcron-install.patch"))))
     `(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)))
    (home-page "http://www.gnu.org/software/mcron/")
    (synopsis "Run jobs at scheduled times")
    (description

M gnu/packages/idutils.scm => gnu/packages/idutils.scm +11 -12
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 27,20 27,19 @@
  (package
    (name "idutils")
    (version "4.6")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/idutils/idutils-"
                          version ".tar.xz"))
      (sha256
       (base32
        "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))))
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/idutils/idutils-"
                                 version ".tar.xz"))
             (sha256
              (base32
               "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
             (patches (list
                       (search-patch "diffutils-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (inputs `(;; TODO: Add Emacs as an input for byte-compilation.
              ;; ("emacs" ,emacs)
              ("patch/gets"
               ,(search-patch "diffutils-gets-undeclared.patch"))))
    (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
              ))
    (home-page "http://www.gnu.org/software/idutils/")
    (synopsis "Identifier database utilities")
    (description

M gnu/packages/libevent.scm => gnu/packages/libevent.scm +3 -6
@@ 37,16 37,13 @@
                   "-stable.tar.gz"))
             (sha256
              (base32
               "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"))))
               "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"))
             (patches (list (search-patch "libevent-dns-tests.patch")))))
    (build-system gnu-build-system)
    (inputs
     `(("patch/dns-tests" ,(search-patch "libevent-dns-tests.patch"))

       ;; Dependencies used for the tests and for `event_rpcgen.py'.
     `(;; Dependencies used for the tests and for `event_rpcgen.py'.
       ("which" ,which)
       ("python" ,python-wrapper)))
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/dns-tests"))))
    (home-page "http://libevent.org/")
    (synopsis
     "libevent, an event notification library")

M gnu/packages/linux.scm => gnu/packages/linux.scm +4 -5
@@ 333,13 333,12 @@ providing the system administrator with some help in common tasks.")
                                 version ".tar.gz"))
             (sha256
              (base32
               "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"))))
               "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"))
             (patches (list (search-patch "procps-make-3.82.patch")))))
    (build-system gnu-build-system)
    (inputs `(("ncurses" ,ncurses)
              ("patch/make-3.82" ,(search-patch "procps-make-3.82.patch"))))
    (inputs `(("ncurses" ,ncurses)))
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/make-3.82"))
       #:phases (alist-replace
     '(#:phases (alist-replace
                 'configure
                 (lambda* (#:key outputs #:allow-other-keys)
                   ;; No `configure', just a single Makefile.

M gnu/packages/mail.scm => gnu/packages/mail.scm +3 -6
@@ 49,12 49,11 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
               "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))))
               "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
             (patches (list (search-patch "m4-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(;; TODO: Add `--with-sql'.
       #:patches (list (assoc-ref %build-inputs
                                  "patch/gets-undeclared"))
       #:phases (alist-cons-before
                 'build 'pre-build
                 (lambda _


@@ 83,9 82,7 @@
       ("readline" ,readline)
       ("linux-pam" ,linux-pam)
       ("libtool" ,libtool)
       ("gdbm" ,gdbm)
       ("patch/gets-undeclared"
        ,(search-patch "m4-gets-undeclared.patch"))))
       ("gdbm" ,gdbm)))
    (home-page "http://www.gnu.org/software/mailutils/")
    (synopsis "Utilities and library for reading and serving mail")
    (description

M gnu/packages/make-bootstrap.scm => gnu/packages/make-bootstrap.scm +20 -29
@@ 54,19 54,17 @@
  "Return a libc deriving from BASE whose `system' and `popen' functions looks
for `sh' in $PATH, and without nscd, and with static NSS modules."
  (package (inherit base)
    (source (origin (inherit (package-source base))
              (patches (cons (search-patch "glibc-bootstrap-system.patch")
                             (origin-patches (package-source base))))))
    (arguments
     (substitute-keyword-arguments (package-arguments base)
       ((#:patches patches)
        `(cons (assoc-ref %build-inputs "patch/system") ,patches))
       ((#:configure-flags flags)
        ;; Arrange so that getaddrinfo & co. do not contact the nscd,
        ;; and can use statically-linked NSS modules.
        `(cons* "--disable-nscd" "--disable-build-nscd"
                "--enable-static-nss"
                ,flags))))
    (inputs
     `(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
       ,@(package-inputs base)))))
                ,flags))))))

(define (package-with-relocatable-glibc p)
  "Return a variant of P that uses the libc as defined by


@@ 154,10 152,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                "xz_LDADD = -all-static")))
                           %standard-phases)))))
        (gawk (package (inherit gawk)
                (source (origin (inherit (package-source gawk))
                          (patches (cons (search-patch "gawk-shell.patch")
                                         (origin-patches
                                          (package-source gawk))))))
                (arguments
                 `(#:patches (list (assoc-ref %build-inputs "patch/sh"))

                   ;; Starting from gawk 4.1.0, some of the tests for the
                 `(;; Starting from gawk 4.1.0, some of the tests for the
                   ;; plug-in mechanism just fail on static builds:
                   ;;
                   ;; ./fts.awk:1: error: can't open shared library `filefuncs' for reading (No such file or directory)


@@ 173,10 173,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                            (substitute* "configure"
                              (("-export-dynamic") "")))
                          ,phases)))))
                (inputs `(("patch/sh" ,(search-patch "gawk-shell.patch"))
                          ,@(if (%current-target-system)
                                `(("bash" ,%bash-static))
                                '())))))
                (inputs (if (%current-target-system)
                            `(("bash" ,%bash-static))
                            '()))))
        (finalize (compose static-package
                           package-with-relocatable-glibc)))
    `(,@(map (match-lambda


@@ 452,17 451,16 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
  ;; A statically-linked Guile that is relocatable--i.e., it can search
  ;; .scm and .go files relative to its installation directory, rather
  ;; than in hard-coded configure-time paths.
  (let* ((guile (package (inherit guile-2.0)
  (let* ((patches* (cons* (search-patch "guile-relocatable.patch")
                          (search-patch "guile-default-utf8.patch")
                          (search-patch "guile-linux-syscalls.patch")
                          (origin-patches (package-source guile-2.0))))
         (source*  (origin (inherit (package-source guile-2.0))
                     (patches patches*)))
         (guile (package (inherit guile-2.0)
                  (name (string-append (package-name guile-2.0) "-static"))
                  (source source*)
                  (synopsis "Statically-linked and relocatable Guile")
                  (inputs
                   `(("patch/relocatable"
                      ,(search-patch "guile-relocatable.patch"))
                     ("patch/utf8"
                      ,(search-patch "guile-default-utf8.patch"))
                     ("patch/syscalls"
                      ,(search-patch "guile-linux-syscalls.patch"))
                     ,@(package-inputs guile-2.0)))
                  (propagated-inputs
                   `(("bdw-gc" ,libgc)
                     ,@(alist-delete "bdw-gc"


@@ 492,13 490,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                                   " -ldl\n"))))
                               %standard-phases)

                     ;; Allow Guile to be relocated, as is needed during
                     ;; bootstrap.
                     #:patches
                     (list (assoc-ref %build-inputs "patch/relocatable")
                           (assoc-ref %build-inputs "patch/utf8")
                           (assoc-ref %build-inputs "patch/syscalls"))

                     ;; There are uses of `dynamic-link' in
                     ;; {foreign,coverage}.test that don't fly here.
                     #:tests? #f)))))

M gnu/packages/mp3.scm => gnu/packages/mp3.scm +5 -7
@@ 239,7 239,10 @@ use with CD-recording software).")
                                version ".tar.gz"))
            (sha256
             (base32
              "130rsb2ly0l6hz728m9qr605ir4073xfl2acvf83id63kxfzjn3x"))))
              "130rsb2ly0l6hz728m9qr605ir4073xfl2acvf83id63kxfzjn3x"))
            (patches
             ;; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713684
             (list (search-patch "ripperx-libm.patch")))))
   (build-system gnu-build-system)
   (propagated-inputs
    `(("gs-fonts" ,gs-fonts)


@@ 248,15 251,10 @@ use with CD-recording software).")
      ("lame" ,lame)
      ("vorbis-tools" ,vorbis-tools)))
   (inputs
    `(("patch/libm" ,(search-patch "ripperx-libm.patch"))
      ("glib" ,glib)
    `(("glib" ,glib)
      ("gtk+" ,gtk+-2)
      ("id3lib" ,id3lib)
      ("pkg-config" ,pkg-config)))
   (arguments
    `(#:patches
      ;; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713684
      (list (assoc-ref %build-inputs "patch/libm"))))
   (synopsis "GTK program to rip and encode CD audio tracks")
   (description
    "RipperX is a GTK program to rip CD audio tracks and encode them to the

M gnu/packages/oggvorbis.scm => gnu/packages/oggvorbis.scm +5 -7
@@ 168,16 168,14 @@ OpenBSD's sndio.")
                                version ".tar.gz"))
            (sha256
             (base32
              "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"))))
              "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"))
            (patches
             (list (search-patch "flac-fix-memcmp-not-declared.patch")))))
   (build-system gnu-build-system)
   (arguments
    `(#:parallel-tests? #f
      #:patches (list (assoc-ref %build-inputs
                                 "patch/memcmp"))))
    `(#:parallel-tests? #f))
   ;; FIXME: configure also looks for xmms, input could be added once it exists
   (inputs `(("libogg" ,libogg)
             ("patch/memcmp"
                 ,(search-patch "flac-fix-memcmp-not-declared.patch"))))
   (inputs `(("libogg" ,libogg)))
   (synopsis "flac free lossless audio codec")
   (description
"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,

M gnu/packages/pdf.scm => gnu/packages/pdf.scm +3 -6
@@ 79,7 79,8 @@
            (uri (string-append "ftp://ftp.foolabs.com/pub/xpdf/xpdf-"
                                version ".tar.gz"))
            (sha256 (base32
                     "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2"))))
                     "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2"))
            (patches (list (search-patch "xpdf-constchar.patch")))))
   (build-system gnu-build-system)
   (inputs `(("freetype" ,freetype)
             ("gs-fonts" ,gs-fonts)


@@ 90,13 91,9 @@
             ("libxp" ,libxp)
             ("libxpm" ,libxpm)
             ("libxt" ,libxt)
             ("zlib" ,zlib)
             ("patch/constchar"
                 ,(search-patch "xpdf-constchar.patch"))))
             ("zlib" ,zlib)))
   (arguments
    `(#:tests? #f ; there is no check target
      #:patches (list (assoc-ref %build-inputs
                                 "patch/constchar"))
      #:phases
       (alist-replace
        'install

M gnu/packages/plotutils.scm => gnu/packages/plotutils.scm +3 -5
@@ 35,15 35,13 @@
                                 version ".tar.gz"))
             (sha256
              (base32
               "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg"))))
               "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg"))
             (patches (list (search-patch "plotutils-libpng-jmpbuf.patch")))))
    (build-system gnu-build-system)
    (arguments '(#:patches (list (assoc-ref %build-inputs "patch/jmpbuf"))))
    (inputs `(("libpng" ,libpng)
              ("libx11" ,libx11)
              ("libxt" ,libxt)
              ("libxaw" ,libxaw)
              ("patch/jmpbuf"
               ,(search-patch "plotutils-libpng-jmpbuf.patch"))))
              ("libxaw" ,libxaw)))
    (home-page
     "http://www.gnu.org/software/plotutils/")
    (synopsis "Plotting utilities and library")

M gnu/packages/qemu.scm => gnu/packages/qemu.scm +2 -6
@@ 134,9 134,5 @@ server and embedded PowerPC, and S390 guests.")
  ;; the store, and another one for exchanges with the host.
  (package (inherit qemu)
    (name "qemu-with-multiple-smb-shares")
    (inputs `(,@(package-inputs qemu)
              ("patch/smb-shares"
               ,(search-patch "qemu-multiple-smb-shares.patch"))))
    (arguments
     `(#:patches (list (assoc-ref %build-inputs "patch/smb-shares"))
       ,@(package-arguments qemu)))))
    (source (origin (inherit (package-source qemu))
              (patches (search-patch "qemu-multiple-smb-shares.patch"))))))

M gnu/packages/recutils.scm => gnu/packages/recutils.scm +4 -5
@@ 36,16 36,15 @@
                                version ".tar.gz"))
            (sha256
             (base32
              "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky"))))
              "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky"))
            (patches
             (list (search-patch "diffutils-gets-undeclared.patch")))))
   (build-system gnu-build-system)
   (inputs `(;; TODO: Enable optional deps when they're packaged.
             ;; ("curl" ,(nixpkgs-derivation "curl"))
             ("emacs" ,emacs)
             ("check" ,check)
             ("bc" ,bc)
             ("patch/gets"
              ,(search-patch "diffutils-gets-undeclared.patch"))))
   (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
             ("bc" ,bc)))
   (synopsis "Manipulate plain text files as databases")
   (description
    "GNU recutils is a set of tools and libraries to access human-editable,

M gnu/packages/rush.scm => gnu/packages/rush.scm +2 -5
@@ 35,12 35,9 @@
                   ".tar.gz"))
             (sha256
              (base32
               "0fh0gbbp0iiq3wbkf503xb40r8ljk42vyj9bnlflbz82d6ipy1rm"))))
               "0fh0gbbp0iiq3wbkf503xb40r8ljk42vyj9bnlflbz82d6ipy1rm"))
             (patches (list (search-patch "cpio-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/gets-undeclared"))))
    (inputs `(("patch/gets-undeclared"
               ,(search-patch "cpio-gets-undeclared.patch"))))
    (home-page "http://www.gnu.org/software/rush/")
    (synopsis "Restricted user (login) shell")
    (description

M gnu/packages/scheme.scm => gnu/packages/scheme.scm +8 -13
@@ 125,11 125,11 @@ development cycle.")
                                 version ".tar.gz"))
             (sha256
              (base32
               "1fck2h48f0bvh8fl437cagmp0syfxy9lqacy1zwsis20fc76jvzi"))))
               "1fck2h48f0bvh8fl437cagmp0syfxy9lqacy1zwsis20fc76jvzi"))
             (patches (list (search-patch "bigloo-gc-shebangs.patch")))))
    (build-system gnu-build-system)
    (arguments
     `(#:patches (list (assoc-ref %build-inputs "patch/shebangs"))
       #:test-target "test"
     `(#:test-target "test"
       #:phases (alist-replace
                 'configure
                 (lambda* (#:key outputs #:allow-other-keys)


@@ 178,7 178,6 @@ development cycle.")
                  %standard-phases))))
    (inputs
     `(("emacs" ,emacs)
       ("patch/shebangs" ,(search-patch "bigloo-gc-shebangs.patch"))

       ;; Optional APIs for which Bigloo has bindings.
       ("avahi" ,avahi)


@@ 211,7 210,8 @@ between Scheme and C# programs.")
                                 version ".tar.gz"))
             (sha256
              (base32
               "1v2r4ga58kk1sx0frn8qa8ccmjpic9csqzpk499wc95y9c4b1wy3"))))
               "1v2r4ga58kk1sx0frn8qa8ccmjpic9csqzpk499wc95y9c4b1wy3"))
             (patches (list (search-patch "hop-bigloo-4.0b.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases


@@ 251,7 251,6 @@ between Scheme and C# programs.")
                                        "\\.so$")))))
         %standard-phases))
       #:tests? #f                                ; no test suite
       #:patches (list (assoc-ref %build-inputs "patch/bigloo-4.0b"))
       #:modules ((guix build gnu-build-system)
                  (guix build utils)
                  (ice-9 popen)


@@ 260,10 259,7 @@ between Scheme and C# programs.")
                  (srfi srfi-1))))
    (inputs `(("bigloo" ,bigloo)
              ("which" ,which)
              ("patchelf" ,patchelf)

              ("patch/bigloo-4.0b"
               ,(search-patch "hop-bigloo-4.0b.patch"))))
              ("patchelf" ,patchelf)))
    (home-page "http://hop.inria.fr/")
    (synopsis "A multi-tier programming language for the Web 2.0")
    (description


@@ 324,10 320,9 @@ language standard, and includes many enhancements and extensions.")
                                 "/scheme48-" version ".tgz"))
             (sha256
              (base32
               "0rw2lz5xgld0klvld292ds6hvfk5l12vskzgf1hhwjdpa38r3fnw"))))
               "0rw2lz5xgld0klvld292ds6hvfk5l12vskzgf1hhwjdpa38r3fnw"))
             (patches (list (search-patch "scheme48-tests.patch")))))
    (build-system gnu-build-system)
    (arguments `(#:patches (list (assoc-ref %build-inputs "patch/tests"))))
    (inputs `(("patch/tests" ,(search-patch "scheme48-tests.patch"))))
    (home-page "http://s48.org/")
    (synopsis "Scheme implementation using a bytecode interpreter")
    (description

M gnu/packages/system.scm => gnu/packages/system.scm +11 -13
@@ 143,22 143,20 @@ it can replace the inetd utility!")
  (package
    (name "inetutils")
    (version "1.9.1")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/inetutils/inetutils-"
                          version ".tar.gz"))
      (sha256
       (base32
        "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82"))))
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/inetutils/inetutils-"
                                 version ".tar.gz"))
             (sha256
              (base32
               "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82"))
             (patches
              (list (search-patch "diffutils-gets-undeclared.patch")))))
    (build-system gnu-build-system)
    (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))

                 ;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
    (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
                 ;; which is currently missing.
                 #:tests? #f))
    (inputs `(("patch/gets" ,(search-patch "diffutils-gets-undeclared.patch"))
              ("ncurses" ,ncurses)))
    (inputs `(("ncurses" ,ncurses)))
    (home-page "http://www.gnu.org/software/inetutils/")
    (synopsis "Basic networking utilities")
    (description

M gnu/packages/tcsh.scm => gnu/packages/tcsh.scm +5 -7
@@ 35,14 35,14 @@
             (uri (string-append "ftp://ftp.astron.com/pub/tcsh/tcsh-"
                                 version ".tar.gz"))
             (sha256
              (base32 "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q"))))
              (base32 "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q"))
             (patches (list (search-patch "tcsh-fix-autotest.patch")))
             (patch-flags '("-p0"))))
    (build-system gnu-build-system)
    (inputs
     `(("autoconf" ,autoconf)
       ("coreutils" ,coreutils)
       ("ncurses" ,ncurses)
       ("patch/skip-tests"
        ,(search-patch "tcsh-fix-autotest.patch"))))
       ("ncurses" ,ncurses)))
    (arguments
     `(#:phases
       (alist-replace


@@ 69,9 69,7 @@
                 (bin (string-append out "/bin")))
           (with-directory-excursion bin
             (symlink "tcsh" "csh"))))
         %standard-phases))
        #:patches (list (assoc-ref %build-inputs "patch/skip-tests"))
        #:patch-flags '("-p0")))
         %standard-phases))))
    (home-page "http://www.tcsh.org/")
    (synopsis "A Unix shell based on csh")
    (description

M gnu/packages/valgrind.scm => gnu/packages/valgrind.scm +4 -7
@@ 35,11 35,11 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
               "1nsqk70ry3221sd62s4f0njcrncppszs4xxjcak13lxyfq2y0fs7"))))
               "1nsqk70ry3221sd62s4f0njcrncppszs4xxjcak13lxyfq2y0fs7"))
             (patches (list (search-patch "valgrind-glibc.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:patches (list (assoc-ref %build-inputs "patch/glibc-2.17"))
       #:phases (alist-cons-after
     '(#:phases (alist-cons-after
                 'install 'patch-suppression-files
                 (lambda* (#:key outputs #:allow-other-keys)
                   ;; Don't assume the FHS.


@@ 52,10 52,7 @@
                     #t))
                 %standard-phases)))
    (inputs `(;; GDB is needed to provide a sane default for `--db-command'.
              ("gdb" ,gdb)

              ("patch/glibc-2.17"
               ,(search-patch "valgrind-glibc.patch"))))
              ("gdb" ,gdb)))
    (native-inputs `(("perl" ,perl)))
    (home-page "http://www.valgrind.org/")
    (synopsis "Debugging and profiling tool suite")

M gnu/packages/vpn.scm => gnu/packages/vpn.scm +3 -6
@@ 41,16 41,13 @@
            (uri (string-append "http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-"
                                version ".tar.gz"))
            (sha256 (base32
                     "1128860lis89g1s21hqxvap2nq426c9j4bvgghncc1zj0ays7kj6"))))
                     "1128860lis89g1s21hqxvap2nq426c9j4bvgghncc1zj0ays7kj6"))
            (patches (list (search-patch "vpnc-script.patch")))))
   (build-system gnu-build-system)
   (inputs `(("libgcrypt" ,libgcrypt)
             ("perl" ,perl)
             ("patch/script"
                 ,(search-patch "vpnc-script.patch"))))
             ("perl" ,perl)))
   (arguments
    `(#:tests? #f ; there is no check target
      #:patches (list (assoc-ref %build-inputs
                                 "patch/script"))
      #:phases
      (alist-replace
       'configure

M gnu/packages/w3m.scm => gnu/packages/w3m.scm +13 -15
@@ 35,14 35,17 @@
  (package
    (name "w3m")
    (version "0.5.3")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://sourceforge/w3m/w3m-"
                          version ".tar.gz"))
      (sha256
       (base32
        "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))))
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://sourceforge/w3m/w3m-"
                                 version ".tar.gz"))
             (sha256
              (base32
               "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))

             ;; cf. https://bugs.archlinux.org/task/33397
             (patches (list (search-patch "w3m-fix-compile.patch")))
             (patch-flags '("-p0"))))
    (build-system gnu-build-system)
    (arguments `(#:tests? #f  ; no check target
                 #:phases (alist-cons-before


@@ 56,11 59,7 @@
                             (substitute* '("scripts/w3mmail.cgi.in"
                                            "scripts/dirlist.cgi.in")
                               (("@PERL@") (which "perl"))))
                           %standard-phases)
                 ;; cf. https://bugs.archlinux.org/task/33397
                 #:patches (list (assoc-ref %build-inputs
                                            "patch/fix-compile"))
                 #:patch-flags '("-p0")))
                           %standard-phases)))
    (inputs
     `(("gettext" ,guix:gettext)
       ("libgc" ,libgc)


@@ 68,8 67,7 @@
       ("openssl" ,openssl)
       ("perl" ,perl)
       ("pkg-config" ,pkg-config)
       ("zlib" ,zlib)
       ("patch/fix-compile" ,(search-patch "w3m-fix-compile.patch"))))
       ("zlib" ,zlib)))
    (home-page "http://w3m.sourceforge.net/")
    (synopsis "w3m, a text-mode web browser")
    (description