summary refs log tree commit diff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-12-10 00:13:17 +0100
committerLudovic Courtès <ludo@gnu.org>2018-12-10 00:28:11 +0100
commit7e4bc215098f334bc2a11737f2665dd4992fc2da (patch)
treed4667a8bc1fd9abe12647997238328c380a0e0de /gnu/services/base.scm
parent1460e77abf79c8d1b4e2eb8814eff03e5c6d8675 (diff)
downloadguix-7e4bc215098f334bc2a11737f2665dd4992fc2da.tar.gz
services: guix: Run 'guix-daemon' in UTF-8 locale.
Fixes <https://bugs.gnu.org/32942>.
Reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/services/base.scm (guix-shepherd-service) <start>: In
 #:environment-variables, add "GUIX_LOCPATH" and "LC_ALL".
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 89e39f7690..b10f5cbaf1 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1604,7 +1604,15 @@ failed to register public key '~a': ~a~%" key status)))))))
                             '())
                      #$@(if tmpdir
                             (list (string-append "TMPDIR=" tmpdir))
-                            '()))
+                            '())
+
+                     ;; Make sure we run in a UTF-8 locale so that 'guix
+                     ;; offload' correctly restores nars that contain UTF-8
+                     ;; file names such as 'nss-certs'.  See
+                     ;; <https://bugs.gnu.org/32942>.
+                     (string-append "GUIX_LOCPATH="
+                                    #$glibc-utf8-locales "/lib/locale")
+                     "LC_ALL=en_US.utf8")
 
                #:log-file #$log-file))
            (stop #~(make-kill-destructor))))))