summary refs log tree commit diff
path: root/distro/packages/gawk.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-12-20 17:59:10 +0100
committerLudovic Courtès <ludo@gnu.org>2012-12-20 17:59:10 +0100
commitc20313637f1676a50c009db6da60d97a93467f2f (patch)
treed58f8ce1990deff61c9ec6dd47b649d6422f55f5 /distro/packages/gawk.scm
parent8ccdbaa827c0be5a8c785f17d1eb5de165190ecd (diff)
downloadguix-c20313637f1676a50c009db6da60d97a93467f2f.tar.gz
distro: gawk: Use the right shell instead of /bin/sh.
* distro/packages/gawk.scm (gawk): Patch shell file name in io.c.
Diffstat (limited to 'distro/packages/gawk.scm')
-rw-r--r--distro/packages/gawk.scm26
1 files changed, 19 insertions, 7 deletions
diff --git a/distro/packages/gawk.scm b/distro/packages/gawk.scm
index fd8f087509..d875386fc2 100644
--- a/distro/packages/gawk.scm
+++ b/distro/packages/gawk.scm
@@ -35,13 +35,25 @@
             (sha256
              (base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
    (build-system gnu-build-system)
-   (arguments (case-lambda
-                ((system)
-                 (if (string=? system "i686-cygwin")
-                     '(#:tests? #f)      ; work around test failure on Cygwin
-                     '(#:parallel-tests? #f))) ; test suite fails in parallel
-                ((system cross-system)
-                 '(#:parallel-tests? #f))))
+   (arguments
+    (case-lambda
+      ((system)
+       `(#:parallel-tests? #f             ; test suite fails in parallel
+
+         ;; Work around test failure on Cygwin.
+         #:tests? ,(not (string=? system "i686-cygwin"))
+
+         #:phases (alist-cons-before
+                   'configure 'set-shell-file-name
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     ;; Refer to the right shell.
+                     (let ((bash (assoc-ref inputs "bash")))
+                       (substitute* "io.c"
+                         (("/bin/sh")
+                          (string-append bash "/bin/bash")))))
+                   %standard-phases)))
+      ((system cross-system)
+       '(#:parallel-tests? #f))))
    (inputs `(("libsigsegv" ,libsigsegv)             ; headers
              ("libsigsegv/lib" ,libsigsegv "lib"))) ; library
    (home-page "http://www.gnu.org/software/gawk/")