aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-12-20 01:37:50 +0100
committerLudovic Courtès <ludo@gnu.org>2012-12-20 01:38:56 +0100
commit8ccdbaa827c0be5a8c785f17d1eb5de165190ecd (patch)
tree25625f4594f869b930cf7c7c1105fad876b7781c
parent49f5a21698f4e47b381c9c1f2ecc13d19d1faaf3 (diff)
downloadpatches-8ccdbaa827c0be5a8c785f17d1eb5de165190ecd.tar
patches-8ccdbaa827c0be5a8c785f17d1eb5de165190ecd.tar.gz
distro: Update `guile-final' to not fail during `patch-source-shebangs' phase.
* distro/packages/base.scm (guile-final): Add workaround on top of GUILE-2.0/FIXED to avoid `patch-source-shebangs' failure on one of the source files.
-rw-r--r--distro/packages/base.scm26
1 files changed, 21 insertions, 5 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 7cb2dc116e..dacf8e46aa 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -967,11 +967,27 @@ store.")
;; FIXME: The Libtool used here, specifically its `bin/libtool' script,
;; holds a dependency on the bootstrap Binutils. Use multiple outputs for
;; Libtool, so that that dependency is isolated in the "bin" output.
- (package-with-bootstrap-guile
- (package-with-explicit-inputs guile-2.0/fixed
- %boot4-inputs
- (current-source-location)
- #:guile %bootstrap-guile)))
+ (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))))))
+ (package-with-bootstrap-guile
+ (package-with-explicit-inputs guile
+ %boot4-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile))))
(define-public ld-wrapper
;; The final `ld' wrapper, which uses the final Guile.