~ruther/guix-local

f2d7bbb537dd3e3fa3b0215549640d2d9c0aeaec — Ludovic Courtès 10 years ago fbb909a
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.
2 files changed, 10 insertions(+), 5 deletions(-)

M gnu/packages/base.scm
M guix/profiles.scm
M gnu/packages/base.scm => gnu/packages/base.scm +7 -4
@@ 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"))


M guix/profiles.scm => guix/profiles.scm +3 -1
@@ 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))