aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-10-03 18:02:30 +0200
committerLudovic Courtès <ludo@gnu.org>2015-10-03 20:17:09 +0200
commitf2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec (patch)
tree7690676f938c31938dcfcb521fa74fdb53822f07
parentfbb909ac7e947ebc8aea2c2efca7df3a78dfc3c4 (diff)
downloadgnu-guix-f2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec.tar
gnu-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.scm11
-rw-r--r--guix/profiles.scm4
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))