~ruther/guix-local

b479c3ddaf85c831e34888229849bc1ce34419de — Ludovic Courtès 11 years ago f586c87
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>.
1 files changed, 6 insertions(+), 2 deletions(-)

M guix/build/gnu-build-system.scm
M guix/build/gnu-build-system.scm => guix/build/gnu-build-system.scm +6 -2
@@ 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.