~ruther/guix-local

5a6a3ba43a1830c712e29d09e341e3cf14aea507 — Ludovic Courtès 12 years ago ac52e80
gnu: util-linux: Remove dependency on Perl.

* gnu/packages/linux.scm (util-linux)[source](patches): New field.
* gnu/packages/patches/util-linux-perl.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
3 files changed, 25 insertions(+), 9 deletions(-)

M gnu-system.am
M gnu/packages/linux.scm
A gnu/packages/patches/util-linux-perl.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 361,6 361,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/superlu-dist-scotchmetis.patch		\
  gnu/packages/patches/tcsh-fix-autotest.patch			\
  gnu/packages/patches/teckit-cstdio.patch			\
  gnu/packages/patches/util-linux-perl.patch			\
  gnu/packages/patches/valgrind-glibc.patch			\
  gnu/packages/patches/vpnc-script.patch			\
  gnu/packages/patches/w3m-fix-compile.patch			\

M gnu/packages/linux.scm => gnu/packages/linux.scm +9 -9
@@ 317,15 317,15 @@ providing the system administrator with some help in common tasks.")
  (package
    (name "util-linux")
    (version "2.21")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://kernel.org/linux/utils/"
                          name "/v" version "/"
                          name "-" version ".2" ".tar.xz"))
      (sha256
       (base32
        "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))))
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://kernel.org/linux/utils/"
                                  name "/v" version "/"
                                  name "-" version ".2" ".tar.xz"))
              (sha256
               (base32
                "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))
              (patches (list (search-patch "util-linux-perl.patch")))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags '("--disable-use-tty-group"

A gnu/packages/patches/util-linux-perl.patch => gnu/packages/patches/util-linux-perl.patch +15 -0
@@ 0,0 1,15 @@
Use this common trick that exploits similarities between sh and Perl syntax
to avoid a hard dependency on Perl.  Instead, this script will work only
when 'perl' is available in $PATH.

--- util-linux-2.21.2/misc-utils/chkdupexe.pl	2012-05-15 13:51:45.000000000 +0200
+++ util-linux-2.21.2/misc-utils/chkdupexe.pl	2014-06-01 22:46:06.000000000 +0200
@@ -1,5 +1,6 @@
-#!@PERL@ -w
-#
+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+  & eval 'exec perl -wS "$0" $argv:q'
+    if 0;
 # chkdupexe version 2.1.1
 #
 # Simple script to look for and list duplicate executables and dangling