[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29537: Core updates broken
From: |
Marius Bakke |
Subject: |
bug#29537: Core updates broken |
Date: |
Sun, 03 Dec 2017 15:51:08 +0100 |
User-agent: |
Notmuch/0.25.2 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu) |
Marius Bakke <address@hidden> writes:
> Gábor Boskovits <address@hidden> writes:
>
>> It seems, that we have a breakage in current core-updates. m4, gettext, and
>> at least a few other packages fail to build.
>
> Hello!
>
> The problem is that the glibc version string is used a couple of places
> to determine where locales are found.
>
> The attached patch fixes it, though I'm not sure if it's the best
> approach. Thoughts?
Actually, the patch below is not a complete fix. It worked for m4, but
some other packages now fail like this:
--8<---------------cut here---------------start------------->8---
@ build-started
/gnu/store/q0fadqzsg969jz8v11r9j2a07x3h2sl4-perl-5.26.1.tar.xz.drv -
x86_64-linux
/var/log/guix/drvs/q0//fadqzsg969jz8v11r9j2a07x3h2sl4-perl-5.26.1.tar.xz.drv.bz2
Backtrace:
2 (primitive-load "/gnu/store/xjb3g9spv30arffi1296qwdaam4?")
In ice-9/eval.scm:
619:8 1 (_ #f)
In unknown file:
0 (setlocale 6 "en_US.utf8")
ERROR: In procedure setlocale:
ERROR: In procedure setlocale: Invalid argument
builder for
`/gnu/store/q0fadqzsg969jz8v11r9j2a07x3h2sl4-perl-5.26.1.tar.xz.drv' failed
with exit code 1
--8<---------------cut here---------------end--------------->8---
Not sure where it's from yet.
>
> From 41677631be815d58c36052de7b54d297ad496ec1 Mon Sep 17 00:00:00 2001
> From: Marius Bakke <address@hidden>
> Date: Sun, 3 Dec 2017 02:32:16 +0100
> Subject: [PATCH] gnu: glibc: Don't use full version string in locale path.
>
> This is a follow-up to commit ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a.
> Fixes <https://bugs.gnu.org/29537>.
>
> * gnu/packages/base.scm (glibc/linux)[version]: Change to 2.26.91-gaaa2eb83b8.
> [source](uri): Adjust accordingly.
> [arguments]: Use VERSION-MAJOR+MINOR for locales path.
> (glibc-locales, glibc-utf8-locales): Likewise.
> * guix/profiles.scm (ca-certificate-bundle, profile-derivation): Likewise.
> ---
> gnu/packages/base.scm | 15 ++++++++++-----
> guix/profiles.scm | 6 ++++--
> 2 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
> index c8fd8624a..8190a38ed 100644
> --- a/gnu/packages/base.scm
> +++ b/gnu/packages/base.scm
> @@ -523,11 +523,15 @@ store.")
> ;; 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 <https://bugs.gnu.org/29406> 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 @@ store.")
> ;; `--localedir' is not honored, so work around it.
> ;; See
> <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
> (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 @@ the 'share/locale' sub-directory of this package.")
> (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 @@ the 'share/locale' sub-directory of this package.")
> (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/profiles.scm b/guix/profiles.scm
> index 0eb99f40d..51c330b32 100644
> --- a/guix/profiles.scm
> +++ b/guix/profiles.scm
> @@ -812,7 +812,8 @@ MANIFEST. Single-file bundles are required by programs
> such as Git and Lynx."
> ;; 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 @@ are cross-built for TARGET."
> #~(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
> --
> 2.15.1
signature.asc
Description: PGP signature