summary refs log tree commit diff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-10-30 23:05:52 +0100
committerLudovic Courtès <ludo@gnu.org>2015-10-30 23:05:52 +0100
commit34760ae7031b19529aff2355cc458f61a8daa41f (patch)
tree723dc3e13d5792f01d20cfe2996ba92c87e1a62b /gnu/system.scm
parent137d957ed346547274b09ccf2383a61b5b65cce1 (diff)
downloadguix-34760ae7031b19529aff2355cc458f61a8daa41f.tar.gz
system: Add 'locale-libcs' field.
* gnu/system/locale.scm (localedef-command)[maybe-version-directory]:
  New procedure.
  Use it.
  (locale-directory): Rename to...
  (single-locale-directory): ... this.  Check the version of LIBC to
  determine whether to create a "X.Y" sub-directory or to make it a
  symlink to ".".  Add the version number in the derivation name.
  (locale-directory): New procedure.
  (%default-locale-libcs): New variable.
* gnu/system.scm (<operating-system>)[locale-libcs]: New field.
  (operating-system-locale-directory): Pass it to 'locale-directory'.
* doc/guix.texi (operating-system Reference): Document 'locale-libcs'.
  (Locales)[Locale Data Compatibility Considerations]: New section.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 3d570c0d1f..8fed857b39 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -76,6 +76,7 @@
             operating-system-timezone
             operating-system-locale
             operating-system-locale-definitions
+            operating-system-locale-libcs
             operating-system-mapped-devices
             operating-system-file-systems
             operating-system-activation-script
@@ -144,6 +145,8 @@
             (default "en_US.utf8"))
   (locale-definitions operating-system-locale-definitions ; list of <locale-definition>
                       (default %default-locale-definitions))
+  (locale-libcs operating-system-locale-libcs     ; list of <packages>
+                (default %default-locale-libcs))
   (name-service-switch operating-system-name-service-switch ; <name-service-switch>
                        (default %default-nss))
 
@@ -643,7 +646,8 @@ listed in OS.  The C library expects to find it under
     (raise (condition
             (&message (message "system locale lacks a definition")))))
 
-  (locale-directory (operating-system-locale-definitions os)))
+  (locale-directory (operating-system-locale-definitions os)
+                    #:libcs (operating-system-locale-libcs os)))
 
 (define (kernel->grub-label kernel)
   "Return a label for the GRUB menu entry that boots KERNEL."