From ba48895899a117d6ace2209c3f54411a4a989133 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 14 Feb 2019 17:41:42 +0100 Subject: 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. --- guix/self.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'guix/self.scm') 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 @@ (define* (guix-command 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 @@ (define module-directory "/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 -- cgit v1.2.3