summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-12-20 23:07:46 +0100
committerLudovic Courtès <ludo@gnu.org>2012-12-20 23:07:46 +0100
commit8ffaa93bffdb08dfe175854863462211d61261be (patch)
tree5674eeea3e4ad18d4a15b447f6d0f4696a250bf6
parenteca63d3df8642587c35765af8446c1669e192789 (diff)
downloadguix-8ffaa93bffdb08dfe175854863462211d61261be.tar.gz
distro: guile: Patch (ice-9 popen) to use the right shell.
* distro/packages/guile.scm (guile-2.0): Add `pre-configure'.
* distro/packages/base.scm (guile-final): Adjust to preserve the
  `pre-configure' phase.
-rw-r--r--distro/packages/base.scm30
-rw-r--r--distro/packages/guile.scm10
2 files changed, 26 insertions, 14 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index dacf8e46aa..971190ed6a 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -969,20 +969,22 @@ store.")
   ;; Libtool, so that that dependency is isolated in the "bin" output.
   (let ((guile (package (inherit guile-2.0/fixed)
                  (arguments
-                  `(#:phases
-                    (alist-cons-before
-                     'patch-source-shebangs 'delete-encoded-test
-                     (lambda* (#:key inputs #:allow-other-keys)
-                       ;; %BOOTSTRAP-GUILE doesn't know about encodings other
-                       ;; than UTF-8.  That test declares an ISO-8859-1
-                       ;; encoding, which prevents `patch-shebang' from
-                       ;; working, so skip it.
-                       (call-with-output-file
-                           "test-suite/standalone/test-command-line-encoding2"
-                         (lambda (p)
-                           (format p "#!~a/bin/bash\nexit 77"
-                                   (assoc-ref inputs "bash")))))
-                     %standard-phases))))))
+                  (substitute-keyword-arguments
+                      (package-arguments guile-2.0/fixed)
+                    ((#:phases phases)
+                     `(alist-cons-before
+                       'patch-source-shebangs 'delete-encoded-test
+                       (lambda* (#:key inputs #:allow-other-keys)
+                         ;; %BOOTSTRAP-GUILE doesn't know about encodings other
+                         ;; than UTF-8.  That test declares an ISO-8859-1
+                         ;; encoding, which prevents `patch-shebang' from
+                         ;; working, so skip it.
+                         (call-with-output-file
+                             "test-suite/standalone/test-command-line-encoding2"
+                           (lambda (p)
+                             (format p "#!~a/bin/bash\nexit 77"
+                                     (assoc-ref inputs "bash")))))
+                       ,phases)))))))
     (package-with-bootstrap-guile
      (package-with-explicit-inputs guile
                                    %boot4-inputs
diff --git a/distro/packages/guile.scm b/distro/packages/guile.scm
index a5d37eb40b..68c2fcc2ef 100644
--- a/distro/packages/guile.scm
+++ b/distro/packages/guile.scm
@@ -120,6 +120,16 @@ extensible.  It supports many SRFIs.")
 
    (self-native-input? #t)
 
+   (arguments
+    '(#:phases (alist-cons-before
+                'configure 'pre-configure
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let ((bash (assoc-ref inputs "bash")))
+                    (substitute* "module/ice-9/popen.scm"
+                      (("/bin/sh")
+                       (string-append bash "/bin/bash")))))
+                %standard-phases)))
+
    (synopsis "GNU Guile 2.0, an embeddable Scheme implementation")
    (description
 "GNU Guile is an implementation of the Scheme programming language, with