diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-10-03 18:02:30 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-10-03 20:17:09 +0200 |
commit | f2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec (patch) | |
tree | 7690676f938c31938dcfcb521fa74fdb53822f07 | |
parent | fbb909ac7e947ebc8aea2c2efca7df3a78dfc3c4 (diff) | |
download | guix-f2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec.tar guix-f2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec.tar.gz |
gnu: glibc: Look for locale data in versioned sub-directories.
* gnu/packages/base.scm (glibc)[native-search-paths]: Add
'lib/locale/VERSION' for 'GUIX_LOCPATH'.
(glibc-locales, glibc-utf8-locales): Write to a VERSION
sub-directory.
* guix/profiles.scm (ca-certificate-bundle): Adjust LOCPATH value
accordingly.
-rw-r--r-- | gnu/packages/base.scm | 11 | ||||
-rw-r--r-- | guix/profiles.scm | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5fa8beb26a..80b0332de7 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -620,7 +620,8 @@ store.") ;; distros. (list (search-path-specification (variable "GUIX_LOCPATH") - (files '("lib/locale"))))) + (files (list (string-append "lib/locale/" version) + "lib/locale"))))) (synopsis "The GNU C Library") (description @@ -663,7 +664,8 @@ the 'share/locale' sub-directory of this package.") ;; Use $(libdir)/locale as is the case by default. (list (string-append "libc_cv_localedir=" (assoc-ref %outputs "out") - "/lib/locale"))))))))) + "/lib/locale/" + ,(package-version glibc)))))))))) (define-public glibc-utf8-locales (package @@ -672,7 +674,7 @@ the 'share/locale' sub-directory of this package.") (source #f) (build-system trivial-build-system) (arguments - '(#:modules ((guix build utils)) + `(#:modules ((guix build utils)) #:builder (begin (use-modules (srfi srfi-1) (guix build utils)) @@ -680,7 +682,8 @@ the 'share/locale' sub-directory of this package.") (let* ((libc (assoc-ref %build-inputs "glibc")) (gzip (assoc-ref %build-inputs "gzip")) (out (assoc-ref %outputs "out")) - (localedir (string-append out "/lib/locale"))) + (localedir (string-append out "/lib/locale/" + ,version))) ;; 'localedef' needs 'gzip'. (setenv "PATH" (string-append libc "/bin:" gzip "/bin")) diff --git a/guix/profiles.scm b/guix/profiles.scm index 0b417a64de..c56ebb145b 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -573,7 +573,9 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx." ;; Some file names in the NSS certificates are UTF-8 encoded so ;; install a UTF-8 locale. - (setenv "LOCPATH" (string-append #+glibc-utf8-locales "/lib/locale")) + (setenv "LOCPATH" + (string-append #+glibc-utf8-locales "/lib/locale/" + #+(package-version glibc-utf8-locales))) (setlocale LC_ALL "en_US.UTF-8") (match (append-map ca-files '#$(manifest-inputs manifest)) |