Hi Ricardo,
Ricardo Wurmus writes:
> Ricardo Wurmus writes:
>
>> Here’s a patch to graft the glibc to apply the patch to allow the 2.6.32
>> kernel. I’m going to apply this at work now.
>
> That patch had a couple of problems. Here’s a new version.
[...]
> diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
> index b2c1d232f..111bbbcec 100644
> --- a/gnu/packages/base.scm
> +++ b/gnu/packages/base.scm
> @@ -12,6 +12,7 @@
> ;;; Copyright © 2017 Mathieu Othacehe
> ;;; Copyright © 2017 Marius Bakke
> ;;; Copyright © 2017 Eric Bavier
> +;;; Copyright © 2018 Ricardo Wurmus
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -537,6 +538,7 @@ store.")
> ;; 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")
> + (replacement glibc-2.26-patched)
> (source (origin
> (method url-fetch)
> (uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/;
> @@ -839,10 +841,20 @@ 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 glibc-2.26-patched
> + (package
> +(inherit glibc)
> +(replacement #f)
> +(source (origin
> + (inherit (package-source glibc))
> + (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")
> + (origin-patches (package-source glibc
> +
> (define-public glibc-2.25
>(package
> (inherit glibc)
> (version "2.25")
> +(replacement #f)
> (source (origin
>(inherit (package-source glibc))
>(uri (string-append "mirror://gnu/glibc/glibc-"
> @@ -862,6 +874,7 @@ GLIBC/HURD for a Hurd host"
>(package
> (inherit glibc)
> (version "2.24")
> +(replacement #f)
> (source (origin
>(inherit (package-source glibc))
>(uri (string-append "mirror://gnu/glibc/glibc-"
> @@ -882,6 +895,7 @@ GLIBC/HURD for a Hurd host"
>(package
> (inherit glibc)
> (version "2.23")
> +(replacement #f)
> (source (origin
>(inherit (package-source glibc))
>(uri (string-append "mirror://gnu/glibc/glibc-"
> @@ -905,6 +919,7 @@ GLIBC/HURD for a Hurd host"
>(package
> (inherit glibc)
> (version "2.22")
> +(replacement #f)
> (source (origin
>(inherit (package-source glibc))
>(uri (string-append "mirror://gnu/glibc/glibc-"
These (replacement #f) fields should not be needed. 'replacement' is
now an 'innate' field of the package record type, which means that it is
not inherited.
> diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
> index 7286e954c..db43691fd 100644
> --- a/gnu/packages/commencement.scm
> +++ b/gnu/packages/commencement.scm
> @@ -4,6 +4,7 @@
> ;;; Copyright © 2012 Nikita Karetnikov
> ;;; Copyright © 2014, 2015, 2017 Mark H Weaver
> ;;; Copyright © 2017, 2018 Efraim Flashner
> +;;; Copyright © 2018 Ricardo Wurmus
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -486,7 +487,7 @@ the bootstrap environment."
>;; built just below; the only difference is that this one uses the
>;; bootstrap Bash.
>(package-with-bootstrap-guile
> - (package (inherit glibc)
> + (package/inherit glibc
> (name "glibc-intermediate")
> (arguments
>`(#:guile ,%bootstrap-guile
> @@ -664,7 +665,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a
> \"$@\"~%"
>
> (define glibc-final
>;; The final glibc, which embeds the statically-linked Bash built above.
> - (package (inherit glibc-final-with-bootstrap-bash)
> + (package/inherit glibc-final-with-bootstrap-bash
> (name "glibc")
> (inputs `(("static-bash" ,static-bash-for-glibc)
>,@(alist-delete
We seem to be oscillating on the question of whether to graft these
early GLIBCs. In June 2017, I switched to using 'package/inherit' here
in commit 13f7f2fd2b208c29361ef2290f55911879a6adf2, and in October those
changes were reverted in commit 848f550f2c105326dc3be4033c8aaf35ec21cde4
by Efraim, although I'm not sure why.
It'll be painful to have *everything* grafted until the next
core-updates cycle, but I suppose it's necessary.
Thanks,
Mark