gnu: glibc: Update to 2.27.

* gnu/packages/base.scm (glibc/linux): Update to 2.27.
[source](patches): Add 'glibc-hidden-visibility-ldconfig.patch' and
'glibc-2.27-git-fixes.patch'.
[native-inputs]: Add BISON.
[arguments]: Remove deprecated "--enable-add-ons" from #:configure-flags.
Also remove unneeded "libc_cv_ssp=no" and "libcv_ssp_strong=no".
(glibc-2.26): New public variable.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add BISON-BOOT0.
* gnu/packages/patches/glibc-2.27-git-fixes.patch,
gnu/packages/patches/glibc-hidden-visibility-ldconfig.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
This commit is contained in:
Marius Bakke 2018-03-15 21:08:37 +01:00
parent e0f9f85f8d
commit 5e8cb5e698
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
5 changed files with 596 additions and 21 deletions

View file

@ -36,6 +36,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
@ -538,26 +539,15 @@ store.")
(define-public glibc/linux
(package
(name "glibc")
;; Glibc has stable branches that continuously pick fixes for each supported
;; release. Unfortunately they do not do point-releases, so we are stuck
;; with copying almost all patches, or use a snapshot of the release branch.
;;
;; This version number corresponds to the output of `git describe` and the
;; archive can be generated by checking out the commit ID and running:
;; git archive --prefix=$(git describe)/ HEAD | xz > $(git describe).tar.xz
;; See <https://bugs.gnu.org/29406> for details.
;;
;; 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.105-g0890d5379c")
(version "2.27")
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
"glibc-" (version-major+minor version) "-"
(caddr (string-split version #\.)) ".tar.xz"))
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
(sha256
(base32
"1jck0c1i248sn02rvsfjykk77qncma34bjq89dyy2irwm50d7s3g"))
"0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
@ -569,6 +559,8 @@ store.")
#t))
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-2.27-git-fixes.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"))))
(build-system gnu-build-system)
@ -595,8 +587,7 @@ store.")
(guix build gnu-build-system))
#:configure-flags
(list "--enable-add-ons"
"--sysconfdir=/etc"
(list "--sysconfdir=/etc"
;; Installing a locale archive with all the locales is to
;; expensive (~100 MiB), so we rely on users to install the
@ -631,10 +622,7 @@ store.")
;; Use our Bash instead of /bin/sh.
(string-append "BASH_SHELL="
(assoc-ref %build-inputs "bash")
"/bin/bash")
;; XXX: Work around "undefined reference to `__stack_chk_guard'".
"libc_cv_ssp=no" "libc_cv_ssp_strong=no")
"/bin/bash"))
#:tests? #f ; XXX
#:phases (modify-phases %standard-phases
@ -745,6 +733,7 @@ store.")
;; install the message catalogs, with 'msgfmt'.
(native-inputs `(("texinfo" ,texinfo)
("perl" ,perl)
("bison" ,bison)
("gettext" ,gettext-minimal)))
(native-search-paths
@ -853,6 +842,26 @@ GLIBC/HURD for a Hurd host"
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
(define-public glibc-2.26
(package
(inherit glibc)
;; This version number corresponds to the output of `git describe` and the
;; archive can be generated by checking out the commit ID and running:
;; git archive --prefix=$(git describe)/ HEAD | xz > $(git describe).tar.xz
;; See <https://bugs.gnu.org/29406> for why this was necessary.
(version "2.26.105-g0890d5379c")
(source (origin
(inherit (package-source glibc))
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
"glibc-" (version-major+minor version) "-"
(caddr (string-split version #\.)) ".tar.xz"))
(sha256
(base32
"1jck0c1i248sn02rvsfjykk77qncma34bjq89dyy2irwm50d7s3g"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"))))))
(define-public glibc-2.25
(package
(inherit glibc)