diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-12-16 18:01:08 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-12-16 18:01:08 +0100 |
commit | 1af0860e8be81c01ad405c1226d6bc4516e62863 (patch) | |
tree | ecdb8e5debee806888eed9c26ee24d1c30e9dd2d | |
parent | 580deec5b44d623e994e59ef07e9e0c5496762fd (diff) | |
download | guix-1af0860e8be81c01ad405c1226d6bc4516e62863.tar.gz guix-1af0860e8be81c01ad405c1226d6bc4516e62863.zip |
profiles: Build profiles in a UTF-8 locale.
Fixes <http://bugs.gnu.org/25213>.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/profiles.scm (profile-derivation)[glibc-utf8-locales]: New
variable.
[builder]: Use it to set 'LOCPATH'.
-rw-r--r-- | guix/profiles.scm | 11 |
1 files changed, 11 insertions, 0 deletions
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 @@ the monadic procedures listed in HOOKS--such as an Info 'dir' file, etc." 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 @@ the monadic procedures listed in HOOKS--such as an Info 'dir' file, etc." (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. |