summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2018-11-24 14:06:40 +0900
committerLudovic Courtès <ludo@gnu.org>2019-01-17 14:04:21 +0100
commit6b48825e4ba6435c2e3bbc85857ade16552be9c3 (patch)
tree9c1870338202f9e787ca96f5456820b9e744d2ed
parenta49d633c0c65975263270f5ac0050482ca6a5513 (diff)
downloadguix-6b48825e4ba6435c2e3bbc85857ade16552be9c3.tar.gz
installer: Fix locale installation.
For some mysterious reason, calling 'setlocale' as first instruction of
installer-builder does not install unicode support correctly. So set LANG env
variable and start the installer until this is understood.

* gnu/installer.scm (installer-program): Wrap installer-builder to have the
opportunity to set LANG environment variable before starting the installer.
-rw-r--r--gnu/installer.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/gnu/installer.scm b/gnu/installer.scm
index 9e773ee8f0..b3eb2a6b08 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -261,9 +261,6 @@ selected keymap."
                          (guix build utils)
                          (ice-9 match))
 
-            ;; Set the default locale to install unicode support.
-            (setlocale LC_ALL "en_US.utf8")
-
             ;; Initialize gettext support so that installers can use
             ;; (guix i18n) module.
             #$init-gettext
@@ -295,4 +292,11 @@ selected keymap."
                   (primitive-exit 1))))
             ((installer-exit current-installer))))))
 
-  (program-file "installer" installer-builder))
+  (program-file
+   "installer"
+   #~(begin
+       ;; Set the default locale to install unicode support.  For
+       ;; some reason, unicode support is not correctly installed
+       ;; when calling this in 'installer-builder'.
+       (setenv "LANG" "en_US.UTF-8")
+       (system #$(program-file "installer-real" installer-builder)))))