diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2015-09-30 17:06:40 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2015-09-30 17:06:40 +0200 |
| commit | 46bd6edd5af4b4fe1f1d066028a6a84ed17ce96b (patch) | |
| tree | 4344e7879a0de0cbccc4dfdda883866f969822da /gnu/system | |
| parent | c24fff615b5217299246f40d45c230dab933d59b (diff) | |
gnu: libc: Look for locale data under /run/current-system/locale/X.Y.
* gnu/packages/base.scm (glibc)[arguments]: Append VERSION to
'libc_cv_localedir'.
* gnu/system/locale.scm (localedef-command): Write to the sub-directory
called (package-version libc) in #$output.
(locale-directory): Create said directory.
* doc/guix.texi (Locales): Mention the per-version sub-directory.
Diffstat (limited to 'gnu/system')
| -rw-r--r-- | gnu/system/locale.scm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 393dd42354a..010fb452724 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | (define-module (gnu system locale) | 19 | (define-module (gnu system locale) |
| 20 | #:use-module (guix gexp) | 20 | #:use-module (guix gexp) |
| 21 | #:use-module (guix records) | 21 | #:use-module (guix records) |
| 22 | #:use-module (guix packages) | ||
| 22 | #:use-module (gnu packages base) | 23 | #:use-module (gnu packages base) |
| 23 | #:use-module (gnu packages compression) | 24 | #:use-module (gnu packages compression) |
| 24 | #:use-module (srfi srfi-26) | 25 | #:use-module (srfi srfi-26) |
| @@ -57,14 +58,20 @@ | |||
| 57 | "-i" #$(locale-definition-source locale) | 58 | "-i" #$(locale-definition-source locale) |
| 58 | "-f" #$(locale-definition-charset locale) | 59 | "-f" #$(locale-definition-charset locale) |
| 59 | (string-append #$output "/" | 60 | (string-append #$output "/" |
| 61 | #$(package-version libc) "/" | ||
| 60 | #$(locale-definition-name locale)))))) | 62 | #$(locale-definition-name locale)))))) |
| 61 | 63 | ||
| 62 | (define* (locale-directory locales | 64 | (define* (locale-directory locales |
| 63 | #:key (libc (canonical-package glibc))) | 65 | #:key (libc (canonical-package glibc))) |
| 64 | "Return a directory containing all of LOCALES compiled." | 66 | "Return a directory containing all of LOCALES for LIBC compiled. |
| 67 | |||
| 68 | Because locale data formats are incompatible when switching from one libc to | ||
| 69 | another, locale data is put in a sub-directory named after the 'version' field | ||
| 70 | of LIBC." | ||
| 65 | (define build | 71 | (define build |
| 66 | #~(begin | 72 | #~(begin |
| 67 | (mkdir #$output) | 73 | (mkdir #$output) |
| 74 | (mkdir (string-append #$output "/" #$(package-version libc))) | ||
| 68 | 75 | ||
| 69 | ;; 'localedef' executes 'gzip' to access compressed locale sources. | 76 | ;; 'localedef' executes 'gzip' to access compressed locale sources. |
| 70 | (setenv "PATH" (string-append #$gzip "/bin")) | 77 | (setenv "PATH" (string-append #$gzip "/bin")) |
