aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-14 17:41:42 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-16 01:00:08 +0100
commitba48895899a117d6ace2209c3f54411a4a989133 (patch)
tree9b94febd18d37a141f3e5bc95eef3d9b4b19e070
parent8a973abc6f7eebfcd8a904bfbb99cb9f86f66ef0 (diff)
downloadgnu-guix-ba48895899a117d6ace2209c3f54411a4a989133.tar
gnu-guix-ba48895899a117d6ace2209c3f54411a4a989133.tar.gz
self: Bundle 'glibc-utf8-locales'.
This minimizes the risk of locale-related warnings, at least for those who use one of the bundled UTF-8 locales. * guix/self.scm (guix-command)[glibc-utf8-locales]: New variable. In program body, set GUIX_LOCPATH.
-rw-r--r--guix/self.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/guix/self.scm b/guix/self.scm
index a45470a0a6..bcf04a1b28 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -390,6 +390,10 @@ that provide Guile modules."
guile (guile-version (effective-version)))
"Return the 'guix' command such that it adds MODULES and DEPENDENCIES in its
load path."
+ (define glibc-utf8-locales
+ (module-ref (resolve-interface '(gnu packages base))
+ 'glibc-utf8-locales))
+
(define module-directory
;; To minimize the number of 'stat' calls needed to locate a module,
;; create the union of all the module directories.
@@ -410,6 +414,16 @@ load path."
"/site-ccache")
%load-compiled-path))
+ ;; To maximize the chances that locales are set up right
+ ;; out-of-the-box, bundle "common" UTF-8 locales.
+ (let ((locpath (getenv "GUIX_LOCPATH")))
+ (setenv "GUIX_LOCPATH"
+ (string-append (if locpath
+ (string-append locpath ":")
+ "")
+ #$(file-append glibc-utf8-locales
+ "/lib/locale"))))
+
(let ((guix-main (module-ref (resolve-interface '(guix ui))
'guix-main)))
#$(if source