diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-03-05 18:38:05 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-03-05 18:38:05 +0100 |
commit | 7f614e49e877cbf3e909ed74b3e6822dc39eabe5 (patch) | |
tree | 91a1cdd59b7c87c322f778d11fb525d192a986ba | |
parent | 81eec00cb221231123b74d14245ef7caa9d89ff6 (diff) | |
download | guix-7f614e49e877cbf3e909ed74b3e6822dc39eabe5.tar.gz |
gnu: glibc: Install locale data.
* gnu/packages/base.scm (glibc): Add `outputs' field. Pass `--localedir' and set `libc_cv_localedir'. Add `install-locales' phase.
-rw-r--r-- | gnu/packages/base.scm | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5aeb050863..537bd5af6d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -508,13 +508,28 @@ used in the GNU system including the GNU/Linux variant.") ;; users should automatically pull Linux headers as well. (propagated-inputs `(("linux-headers" ,linux-libre-headers))) + ;; Store the locales separately (~100 MiB). Note that "out" retains a + ;; reference to them anyway, so there's no space savings here. + ;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like + ;; Nixpkgs does. + (outputs '("out" "locales")) + (arguments `(#:out-of-source? #t #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")) #:configure-flags (list "--enable-add-ons" "--sysconfdir=/etc" - "--localedir=/var/run/current-system/sw/lib/locale" ; XXX + (string-append "--localedir=" (assoc-ref %outputs "locales") + "/share/locale") + + ;; `--localedir' is not honored, so work around it. + ;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>. + (string-append "libc_cv_localedir=" + (assoc-ref %outputs "locales") + "/share/locale") + + (string-append "--with-headers=" (assoc-ref %build-inputs "linux-headers") "/include") @@ -580,7 +595,12 @@ used in the GNU system including the GNU/Linux variant.") (substitute* "libio/iopopen.c" (("/bin/sh") (string-append out "/bin/bash"))))) - %standard-phases))) + (alist-cons-after + 'install 'install-locales + (lambda _ + (zero? (system* "make" "localedata/install-locales"))) + %standard-phases)))) + (inputs `(("patch/ld.so.cache" ,(search-patch "glibc-no-ld-so-cache.patch")) ("static-bash" ,(static-package bash-light)))) |