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'.
This commit is contained in:
Ludovic Courtès 2016-12-16 18:01:08 +01:00
parent 580deec5b4
commit 1af0860e8b
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 11 additions and 0 deletions

View File

@ -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.