summaryrefslogtreecommitdiff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-09 12:22:05 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-09 12:22:59 +0200
commitb47b2b52759e6c706fb988c220f913eff95c17cd (patch)
treefc590439fd8a66dd77315629d9e35712f9b12181 /gnu/packages/base.scm
parent84e6756c5734cdfbb79f3b771e8d8fc8f773a795 (diff)
gnu: coreutils: Remove run-time dependency on Bash.
* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>: Leave src/split.c unpatched. Set $SHELL. Use .../bin/sh and not .../bin/bash in tests.
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 499690f666..cfa9a8ffcd 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -263,14 +263,16 @@ used to apply commands with arbitrarily long arguments.")
'build 'patch-shell-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
- (substitute* (cons "src/split.c"
- (find-files "gnulib-tests"
- "\\.c$"))
+ ;; 'split' uses either $SHELL or /bin/sh. Set $SHELL so
+ ;; that tests pass, since /bin/sh isn't in the chroot.
+ (setenv "SHELL" (which "sh"))
+
+ (substitute* (find-files "gnulib-tests" "\\.c$")
(("/bin/sh")
(format #f "~a/bin/sh" bash)))
(substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh")
- (format #f "#!~a/bin/bash" bash)))))
+ (format #f "#!~a/bin/sh" bash)))))
%standard-phases)))
(synopsis "Core GNU utilities (file, text, shell)")
(description