guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

21/155: profiles: Build profiles in a UTF-8 locale.


From: John Darrington
Subject: 21/155: profiles: Build profiles in a UTF-8 locale.
Date: Wed, 21 Dec 2016 20:48:30 +0000 (UTC)

jmd pushed a commit to branch wip-installer
in repository guix.

commit 827a84a75872831dcef07cd2cdfb51da34bc3627
Author: Ludovic Court├Ęs <address@hidden>
Date:   Fri Dec 16 18:01:08 2016 +0100

    profiles: Build profiles in a UTF-8 locale.
    
    Fixes <http://bugs.gnu.org/25213>.
    Reported by Christopher Baines <address@hidden>.
    
    * 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(+)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 0b317ef..82d8b33 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]