diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c8fd8624af..8190a38ed4 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -523,11 +523,15 @@ (define-public glibc/linux ;; archive can be generated by checking out the commit ID and running: ;; git archive --prefix=$(git describe)/ HEAD | xz -9 > $(git describe).tar.xz ;; See for details. - (version "2.26-91-gaaa2eb83b8") + ;; + ;; Note: Always use a dot after the minor version since various places rely + ;; on "version-major+minor" to determine where locales are found. + (version "2.26.91-gaaa2eb83b8") (source (origin (method url-fetch) (uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/" - "glibc-" version ".tar.xz")) + "glibc-" (version-major+minor version) "-" + (caddr (string-split version #\.)) ".tar.xz")) (sha256 (base32 "1zwz6d0x3ndd0hgqp17fx71miyjvn4dgkl1nzhaz3mbcqxzrprhk")) @@ -585,7 +589,7 @@ (define-public glibc/linux ;; `--localedir' is not honored, so work around it. ;; See . (string-append "libc_cv_complocaledir=/run/current-system/locale/" - ,version) + ,(version-major+minor version)) (string-append "--with-headers=" (assoc-ref ,(if (%current-target-system) @@ -955,7 +959,8 @@ (define-public glibc-locales (list (string-append "libc_cv_complocaledir=" (assoc-ref %outputs "out") "/lib/locale/" - ,(package-version glibc)))))))))) + ,(version-major+minor + (package-version glibc))))))))))) (define-public glibc-utf8-locales (package @@ -973,7 +978,7 @@ (define-public glibc-utf8-locales (gzip (assoc-ref %build-inputs "gzip")) (out (assoc-ref %outputs "out")) (localedir (string-append out "/lib/locale/" - ,version))) + ,(version-major+minor version)))) ;; 'localedef' needs 'gzip'. (setenv "PATH" (string-append libc "/bin:" gzip "/bin")) diff --git a/guix/packages.scm b/guix/packages.scm index f619d9b370..35f9b685a3 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -538,7 +538,8 @@ (define (first-file directory) (setenv "LOCPATH" (string-append #+locales "/lib/locale/" #+(and locales - (package-version locales)))) + (version-major+minor + (package-version locales))))) (setlocale LC_ALL "en_US.utf8")) (setenv "PATH" (string-append #+xz "/bin" ":" diff --git a/guix/profiles.scm b/guix/profiles.scm index 0eb99f40de..51c330b323 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -812,7 +812,8 @@ (define (dump file port) ;; install a UTF-8 locale. (setenv "LOCPATH" (string-append #+glibc-utf8-locales "/lib/locale/" - #+(package-version glibc-utf8-locales))) + #+(version-major+minor + (package-version glibc-utf8-locales)))) (setlocale LC_ALL "en_US.utf8") (match (append-map ca-files '#$(manifest-inputs manifest)) @@ -1256,7 +1257,8 @@ (define set-utf8-locale #~(begin (setenv "LOCPATH" #$(file-append glibc-utf8-locales "/lib/locale/" - (package-version glibc-utf8-locales))) + (version-major+minor + (package-version glibc-utf8-locales)))) (setlocale LC_ALL "en_US.utf8"))) (define builder