diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-03-01 00:23:07 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-03-01 00:23:07 +0100 |
commit | b479c3ddaf85c831e34888229849bc1ce34419de (patch) | |
tree | 6505a58a617cebd6abaeb3c38c8d2288586e5e9c | |
parent | f586c877054f68d267c29f743933a79bd16b95bb (diff) | |
download | guix-b479c3ddaf85c831e34888229849bc1ce34419de.tar guix-b479c3ddaf85c831e34888229849bc1ce34419de.tar.gz |
build-system/gnu: Keep the sloppy conversion strategy during bootstrap.
* guix/build/gnu-build-system.scm (gnu-build): Leave
%DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector'
fails to convert to ISO-8859-1. This is an attempt to work around the
build failures at <http://hydra.gnu.org/build/263002>.
-rw-r--r-- | guix/build/gnu-build-system.scm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5ae537150f..5ac6b4d43a 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -22,6 +22,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 format) + #:use-module (ice-9 iconv) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%standard-phases @@ -499,8 +500,11 @@ in order. Return #t if all the PHASES succeeded, #f otherwise." (setvbuf (current-output-port) _IOLBF) (setvbuf (current-error-port) _IOLBF) - ;; Encoding/decoding errors shouldn't be silent. - (fluid-set! %default-port-conversion-strategy 'error) + ;; Encoding/decoding errors shouldn't be silent. But our bootstrap Guile + ;; currently doesn't have access to iconv modules, so we have to allow it to + ;; be sloppier (XXX). + (when (false-if-exception (string->bytevector "works?" "ISO-8859-1")) + (fluid-set! %default-port-conversion-strategy 'error)) ;; The trick is to #:allow-other-keys everywhere, so that each procedure in ;; PHASES can pick the keyword arguments it's interested in. |