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>.
This commit is contained in:
Ludovic Courtès 2015-03-01 00:23:07 +01:00
parent f586c87705
commit b479c3ddaf

View file

@ -22,6 +22,7 @@ (define-module (guix build gnu-build-system)
#: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 @@ (define* (gnu-build #:key (source #f) (outputs #f) (inputs #f)
(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.