summaryrefslogtreecommitdiff
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
parent8ccdbaa827c0be5a8c785f17d1eb5de165190ecd (diff)
distro: gawk: Use the right shell instead of /bin/sh.
* distro/packages/gawk.scm (gawk): Patch shell file name in io.c.
-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/")