summary refs log tree commit diff
path: root/gnu
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
parent84e6756c5734cdfbb79f3b771e8d8fc8f773a795 (diff)
downloadguix-b47b2b52759e6c706fb988c220f913eff95c17cd.tar.gz
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')
-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