From 1af0860e8be81c01ad405c1226d6bc4516e62863 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 16 Dec 2016 18:01:08 +0100 Subject: profiles: Build profiles in a UTF-8 locale. Fixes . Reported by Christopher Baines . * guix/profiles.scm (profile-derivation)[glibc-utf8-locales]: New variable. [builder]: Use it to set 'LOCPATH'. --- guix/profiles.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'guix') diff --git a/guix/profiles.scm b/guix/profiles.scm index 0b317ef51e..82d8b33c09 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -939,6 +939,10 @@ (define inputs extras) (manifest-inputs manifest))) + (define glibc-utf8-locales ;lazy reference + (module-ref (resolve-interface '(gnu packages base)) + 'glibc-utf8-locales)) + (define builder (with-imported-modules '((guix build profiles) (guix build union) @@ -953,6 +957,13 @@ (define builder (setvbuf (current-output-port) _IOLBF) (setvbuf (current-error-port) _IOLBF) + ;; Some file names (e.g., in 'nss-certs') are UTF-8 encoded so + ;; install a UTF-8 locale. + (setenv "LOCPATH" + (string-append #+glibc-utf8-locales "/lib/locale/" + #+(package-version glibc-utf8-locales))) + (setlocale LC_ALL "en_US.utf8") + (define search-paths ;; Search paths of MANIFEST's packages, converted back to their ;; record form. -- cgit v1.2.3