* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components @ 2023-05-22 9:00 Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators Josselin Poiret via Guix-patches via ` (9 more replies) 0 siblings, 10 replies; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:00 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret Hi everyone, Since Janneke is working on the rumpkernel and needed some additional patches to our libc, I thought that we could bring back the libc specific to the Hurd, also because the newer versions of Hurd only work with glibc 2.37. This will let us experiment with newer Hurds without impacting the rest of Guix. There are also a couple of additions and clean-ups. I'm still trying to fix native compilation, but it's not going as fast as I would like. Best, Josselin Poiret (8): hurd-boot: Add urandom and default-pager translators. gnu: glibc/hurd-headers: Properly cross-build. gnu: gnumach-headers: Cross-build without relying on x86. gnu: hurd: Update supported systems. gnu: Add libc-for-target and glibc/hurd. gnu: gnumach: Update to 1.8+git20221224. gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3. gnu: hurd: Update to v0.9.git20230216. gnu/build/hurd-boot.scm | 3 + gnu/packages/base.scm | 51 ++++++++++++---- gnu/packages/commencement.scm | 66 ++++++++++---------- gnu/packages/cross-base.scm | 28 ++++++++- gnu/packages/hurd.scm | 109 +++++++++++++++------------------- 5 files changed, 151 insertions(+), 106 deletions(-) base-commit: 849286ba66c96534bddc04df1a47d5692cbc977e -- 2.40.1 ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-23 21:28 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build Josselin Poiret via Guix-patches via ` (8 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/build/hurd-boot.scm (set-hurd-device-translators): Set up urandom and default-pager on boot. --- gnu/build/hurd-boot.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index 95c15907dd..14bfc5e809 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm @@ -188,6 +188,7 @@ (define* (set-hurd-device-translators #:optional (root "/")) ("servers/crash-suspend" ("/hurd/crash" "--suspend")) ("servers/password" ("/hurd/password")) ("servers/socket/1" ("/hurd/pflocal")) + ("servers/default-pager" ("/hurd/proxy-defpager")) ;; /servers/socket/2 and /26 are created by 'static-networking-service'. ;; XXX: Spawn pfinet without arguments on these nodes so that a DHCP ;; client has someone to talk to? @@ -198,6 +199,8 @@ (define* (set-hurd-device-translators #:optional (root "/")) ("dev/null" ("/hurd/null") #o666) ("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed") #o644) + ("dev/urandom" ("/hurd/random" "--seed-file" "/var/lib/random-seed" + "--fast") #o644) ("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666) ("dev/console" ("/hurd/term" "/dev/console" "device" "console")) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators. 2023-05-22 9:04 ` [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators Josselin Poiret via Guix-patches via @ 2023-05-23 21:28 ` Janneke Nieuwenhuizen 2023-05-28 8:26 ` Janneke Nieuwenhuizen 0 siblings, 1 reply; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-23 21:28 UTC (permalink / raw) To: 63641; +Cc: dev Josselin Poiret via Guix-patches via writes: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/build/hurd-boot.scm (set-hurd-device-translators): Set up urandom and > default-pager on boot. > --- > gnu/build/hurd-boot.scm | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm > index 95c15907dd..14bfc5e809 100644 > --- a/gnu/build/hurd-boot.scm > +++ b/gnu/build/hurd-boot.scm Please add your copyright line at the top of the file. Otherwise, LGTM! -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators. 2023-05-23 21:28 ` Janneke Nieuwenhuizen @ 2023-05-28 8:26 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-28 8:26 UTC (permalink / raw) To: dev; +Cc: 63641 Janneke Nieuwenhuizen writes: > Josselin Poiret via Guix-patches via writes: > >> From: Josselin Poiret <dev@jpoiret.xyz> >> >> * gnu/build/hurd-boot.scm (set-hurd-device-translators): Set up urandom and >> default-pager on boot. >> --- >> gnu/build/hurd-boot.scm | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm >> index 95c15907dd..14bfc5e809 100644 >> --- a/gnu/build/hurd-boot.scm >> +++ b/gnu/build/hurd-boot.scm > > Please add your copyright line at the top of the file. > > Otherwise, LGTM! ...other than /dev/urandom gets created as a symlink too, so I guess this should be included too: modified gnu/build/hurd-boot.scm @@ -282,7 +282,6 @@ (define* (set-hurd-device-translators #:optional (root "/")) (rename-file (scope "dev/console") (scope "dev/console-"))) (for-each scope-set-translator devices) - (false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom"))) (false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin"))) (false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout"))) (false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr"))) (I'm trying to support multiple boots, well a second boot, from the same device and got hit by this. Still testing if the removal fixes it for me.) Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-23 16:11 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86 Josselin Poiret via Guix-patches via ` (7 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove hardcoded configure flag `--host=i586-pc-gnu`. * gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and `--build` configure flags. --- gnu/packages/base.scm | 13 ++++++------- gnu/packages/cross-base.scm | 6 +++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d2f276c447..f944ab5d47 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1423,17 +1423,15 @@ (define-public glibc/hurd-headers (native-inputs (modify-inputs (package-native-inputs glibc) (prepend (if (%current-target-system) - ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, - ;; hence this hack. - (package (inherit mig) - (arguments `(#:system "i686-linux"))) - mig)))) + (let* ((cross-base (resolve-interface '(gnu packages cross-base))) + (cross-mig (module-ref cross-base 'cross-mig))) + (cross-mig (%current-target-system))) + mig)))) (arguments (substitute-keyword-arguments (package-arguments glibc) ;; We just pass the flags really needed to build the headers. ((#:configure-flags flags) `(list "--enable-add-ons" - "--host=i586-pc-gnu" ,@%glibc/hurd-configure-flags)) ((#:phases _) '(modify-phases %standard-phases @@ -1448,7 +1446,8 @@ (define-public glibc/hurd-headers (close-port (open-output-file (string-append out "/include/gnu/stubs.h")))))) - (delete 'build))))))) ; nothing to build + (delete 'build))))) ; nothing to build + (supported-systems %hurd-systems))) (define-public tzdata (package diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 8d0b41180b..50e86083c3 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -492,7 +492,11 @@ (define* (cross-kernel-headers* target hurd "/include"))) (for-each (cut setenv <> cpath) ',%gcc-cross-include-paths) - #t))))))) + #t))))) + ((#:configure-flags flags) + `(cons* ,(string-append "--build=" (%current-system)) + ,(string-append "--host=" target) + ,flags)))) (propagated-inputs `(("gnumach-headers" ,xgnumach-headers) ("hurd-headers" ,xhurd-headers))) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build. 2023-05-22 9:04 ` [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build Josselin Poiret via Guix-patches via @ 2023-05-23 16:11 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-23 16:11 UTC (permalink / raw) To: 63641; +Cc: dev Josselin Poiret via Guix-patches via writes: Hi! > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove > hardcoded configure flag `--host=i586-pc-gnu`. > * gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and > `--build` configure flags. [..] > --- > gnu/packages/base.scm | 13 ++++++------- > gnu/packages/cross-base.scm | 6 +++++- > 2 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm > index d2f276c447..f944ab5d47 100644 > --- a/gnu/packages/base.scm > +++ b/gnu/packages/base.scm > @@ -1423,17 +1423,15 @@ (define-public glibc/hurd-headers > (native-inputs > (modify-inputs (package-native-inputs glibc) > (prepend (if (%current-target-system) > - ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, > - ;; hence this hack. > - (package (inherit mig) > - (arguments `(#:system "i686-linux"))) > - mig)))) > + (let* ((cross-base (resolve-interface '(gnu packages cross-base))) > + (cross-mig (module-ref cross-base 'cross-mig))) > + (cross-mig (%current-target-system))) > + mig)))) I believe you can just do --8<---------------cut here---------------start------------->8--- diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 59c9632551..cdeb3f0a4e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -53,6 +53,7 @@ (define-module (gnu packages base) #:use-module (gnu packages guile) #:use-module (gnu packages multiprecision) #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #:use-module (gnu packages perl) #:use-module (gnu packages linux) #:use-module (gnu packages pcre) @@ -1446,9 +1447,7 @@ (define-public glibc/hurd-headers (native-inputs (modify-inputs (package-native-inputs glibc/hurd) (prepend (if (%current-target-system) - (let* ((cross-base (resolve-interface '(gnu packages cross-base))) - (cross-mig (module-ref cross-base 'cross-mig))) - (cross-mig (%current-target-system))) + (cross-mig (%current-target-system)) mig)))) (arguments (substitute-keyword-arguments (package-arguments glibc/hurd) --8<---------------cut here---------------end--------------->8--- (Learnt that from "someone" https://issues.guix.gnu.org/63527#27 ;) Otherwise, LGTM! Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-23 21:32 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems Josselin Poiret via Guix-patches via ` (6 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we say the builder is running x86. * gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation of build system, by manually changing the target host_cpu without relying on --host, because we don't have a working cross-compiler yet. --- gnu/packages/cross-base.scm | 18 ++++++++++++++++++ gnu/packages/hurd.scm | 10 ---------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 50e86083c3..01c2295853 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -374,6 +374,24 @@ (define* (cross-gnumach-headers target (inherit gnumach-headers) (name (string-append (package-name gnumach-headers) "-cross-" target)) + (arguments + (substitute-keyword-arguments (package-arguments gnumach-headers) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + ;; Cheat by setting the host_cpu variable manually, since using + ;; --host= would require a working cross-compiler, which we don't + ;; have yet. + (add-after 'unpack 'substitute-host-cpu + (lambda _ + (substitute* "configure.ac" + (("AC_CANONICAL_HOST") + #$(string-append + "host_cpu=" + (match target + ((? target-x86-32?) + "i386") + ((? target-x86-64?) + "x86_64"))))))))))) (native-inputs (modify-inputs (package-native-inputs gnumach-headers) (prepend xgcc xbinutils))))) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 34c7c00f2d..a6f0f76009 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -88,16 +88,6 @@ (define-public gnumach-headers (lambda _ (invoke "make" "install-data"))) (delete 'build)) - - ;; GNU Mach supports only IA32 currently, so cheat so that we can at - ;; least install its headers. - ,@(if (%current-target-system) - '() - ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html> - ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html> - '(#:configure-flags '("--build=i586-pc-gnu" - "--host=i686-linux-gnu"))) - #:tests? #f)) (native-inputs (list autoconf automake texinfo-4)) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86. 2023-05-22 9:04 ` [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86 Josselin Poiret via Guix-patches via @ 2023-05-23 21:32 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-23 21:32 UTC (permalink / raw) To: 63641; +Cc: dev Josselin Poiret via Guix-patches via writes: Hi! > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we > say the builder is running x86. > * gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation > of build system, by manually changing the target host_cpu without relying on > --host, because we don't have a working cross-compiler yet. [..] Please add your copyright to both files, otherwise LGTM! -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (2 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86 Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd Josselin Poiret via Guix-patches via ` (5 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal, hurd-core-headers, gnumach): Update supported systems to %hurd-systems. --- gnu/packages/hurd.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index a6f0f76009..314e2b5a3c 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -91,6 +91,7 @@ (define-public gnumach-headers #:tests? #f)) (native-inputs (list autoconf automake texinfo-4)) + (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") (synopsis "GNU Mach kernel headers") (description @@ -201,6 +202,7 @@ (define-public hurd-headers "ac_cv_func_file_futimens=no") #:tests? #f)) + (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "GNU Hurd headers") (description @@ -236,6 +238,7 @@ (define-public hurd-minimal ;; Build libihash. (invoke "make" "-Clibihash" "libihash.a"))))))) + (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "GNU Hurd libraries") (description @@ -268,6 +271,7 @@ (define-public hurd-core-headers directories) #t)))))) (inputs (list gnumach-headers hurd-headers hurd-minimal)) + (supported-systems %hurd-systems) (synopsis "Union of the Hurd headers and libraries") (description "This package contains the union of the Mach and Hurd headers and the @@ -303,7 +307,7 @@ (define-public gnumach mig) perl texinfo-4)) - (supported-systems (cons "i686-linux" %hurd-systems)) + (supported-systems %hurd-systems) (synopsis "Microkernel of the GNU system") (description "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems. 2023-05-22 9:04 ` [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems Josselin Poiret via Guix-patches via @ 2023-05-24 8:11 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-24 8:11 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Josselin Poiret via Guix-patches via writes: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal, > hurd-core-headers, gnumach): Update supported systems to %hurd-systems. LGTM! -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (3 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-22 9:37 ` Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224 Josselin Poiret via Guix-patches via ` (4 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. (glibc/hurd-headers): Use glibc/hurd. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, glibc-final): Use libc-for-target. * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use libc-for-target. --- gnu/packages/base.scm | 38 ++++++++++++++++++-- gnu/packages/commencement.scm | 66 +++++++++++++++++------------------ gnu/packages/cross-base.scm | 4 +-- 3 files changed, 70 insertions(+), 38 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f944ab5d47..59c9632551 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -75,6 +75,7 @@ (define-module (gnu packages base) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (glibc + libc-for-target make-ld-wrapper libiconv-if-needed)) @@ -1415,20 +1416,42 @@ (define-public which command.") (license gpl3+))) ; some files are under GPLv2+ +(define-public glibc/hurd + (package/inherit glibc + (name "glibc-hurd") + (version "2.37") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0hqsp4dzrjx0iga6jv0magjw26dh82pxlmk8yis5v0d127qyymr2")) + (patches (search-patches "glibc-ldd-powerpc.patch" + "glibc-2.37-ldd-x86_64.patch" + "glibc-dl-cache.patch" + "glibc-2.37-versioned-locpath.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-supported-locales.patch" + "glibc-2.37-hurd-clock_t_centiseconds.patch" + "glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch" + "glibc-hurd-mach-print.patch" + "glibc-hurd-gettyent.patch")))) + (supported-systems %hurd-systems))) + (define-public glibc/hurd-headers - (package (inherit glibc) + (package/inherit glibc/hurd (name "glibc-hurd-headers") (outputs '("out")) (propagated-inputs (list gnumach-headers hurd-headers)) (native-inputs - (modify-inputs (package-native-inputs glibc) + (modify-inputs (package-native-inputs glibc/hurd) (prepend (if (%current-target-system) (let* ((cross-base (resolve-interface '(gnu packages cross-base))) (cross-mig (module-ref cross-base 'cross-mig))) (cross-mig (%current-target-system))) mig)))) (arguments - (substitute-keyword-arguments (package-arguments glibc) + (substitute-keyword-arguments (package-arguments glibc/hurd) ;; We just pass the flags really needed to build the headers. ((#:configure-flags flags) `(list "--enable-add-ons" @@ -1449,6 +1472,15 @@ (define-public glibc/hurd-headers (delete 'build))))) ; nothing to build (supported-systems %hurd-systems))) +(define* (libc-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (match target + ((? target-hurd?) + glibc/hurd) + (_ + glibc))) + (define-public tzdata (package (name "tzdata") diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ab07fb37ab..a24c60ebf8 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2816,13 +2816,13 @@ (define (%boot1-inputs) ("binutils-cross" ,binutils-boot0) ,@(alist-delete "binutils" (%boot0-inputs)))) -(define glibc-final-with-bootstrap-bash +(define/system-dependent glibc-final-with-bootstrap-bash ;; The final libc, "cross-built". If everything went well, the resulting ;; store path has no dependencies. Actually, the really-final libc is ;; built just below; the only difference is that this one uses the ;; bootstrap Bash. (package - (inherit glibc) + (inherit (libc-for-target)) (name "glibc-intermediate") (outputs (delete "debug" (package-outputs glibc))) (source (bootstrap-origin (package-source glibc))) @@ -2991,39 +2991,39 @@ (define gettext-boot0 (("^PROGRAMS =.*$") "PROGRAMS =\n"))))))))) -(define glibc-final +(define/system-dependent glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. - (package/inherit - glibc - (name "glibc") - (source (bootstrap-origin (package-source glibc))) - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash)))) - - ;; This time we need 'msgfmt' to install all the libc.mo files. - (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) - ("gettext" ,gettext-boot0))) - - (propagated-inputs - (package-propagated-inputs glibc-final-with-bootstrap-bash)) - - ;; The final libc only refers to itself, but the 'debug' output contains - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great - ;; if 'allowed-references' were per-output. - (arguments - `(#:allowed-references - (,(gexp-input gcc-boot0 "lib") - ,(kernel-headers-boot0) - ,static-bash-for-glibc - ,@(if (hurd-system?) - `(,gnumach-headers-boot0 - ,hurd-headers-boot0) - '()) - ,@(package-outputs glibc-final-with-bootstrap-bash)) - ,@(package-arguments glibc-final-with-bootstrap-bash))))) + (let ((libc (libc-for-target))) + (package/inherit libc + (name "glibc") + (source (bootstrap-origin (package-source glibc))) + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash)))) + + ;; This time we need 'msgfmt' to install all the libc.mo files. + (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) + ("gettext" ,gettext-boot0))) + + (propagated-inputs + (package-propagated-inputs glibc-final-with-bootstrap-bash)) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (arguments + `(#:allowed-references + (,(gexp-input gcc-boot0 "lib") + ,(kernel-headers-boot0) + ,static-bash-for-glibc + ,@(if (hurd-system?) + `(,gnumach-headers-boot0 + ,hurd-headers-boot0) + '()) + ,@(package-outputs glibc-final-with-bootstrap-bash)) + ,@(package-arguments glibc-final-with-bootstrap-bash)))))) (define/system-dependent gcc-boot0-wrapped ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 01c2295853..b2823c73c5 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -577,7 +577,7 @@ (define* (cross-libc . args) (define* (cross-libc/deprecated target #:optional - (libc glibc) + (libc (libc-for-target target)) (xgcc (cross-gcc target)) (xbinutils (cross-binutils target)) (xheaders (cross-kernel-headers target))) @@ -590,7 +590,7 @@ (define* (cross-libc/deprecated target (define* (cross-libc* target #:key - (libc glibc) + (libc (libc-for-target target)) (xgcc (cross-gcc target)) (xbinutils (cross-binutils target)) (xheaders (cross-kernel-headers target))) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-05-22 9:04 ` [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd Josselin Poiret via Guix-patches via @ 2023-05-22 9:37 ` Josselin Poiret via Guix-patches via 2023-05-22 9:42 ` [bug#63641] [PATCH v2 " Josselin Poiret via Guix-patches via 0 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:37 UTC (permalink / raw) To: 63641 [-- Attachment #1: Type: text/plain, Size: 9182 bytes --] Hum, seems I forgot to add the corresponding patches. Will send a partial v2 of this one, my bad. Josselin Poiret <dev@jpoiret.xyz> writes: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. > (glibc/hurd-headers): Use glibc/hurd. > * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, > glibc-final): Use libc-for-target. > * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use > libc-for-target. > --- > gnu/packages/base.scm | 38 ++++++++++++++++++-- > gnu/packages/commencement.scm | 66 +++++++++++++++++------------------ > gnu/packages/cross-base.scm | 4 +-- > 3 files changed, 70 insertions(+), 38 deletions(-) > > diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm > index f944ab5d47..59c9632551 100644 > --- a/gnu/packages/base.scm > +++ b/gnu/packages/base.scm > @@ -75,6 +75,7 @@ (define-module (gnu packages base) > #:use-module (srfi srfi-1) > #:use-module (srfi srfi-26) > #:export (glibc > + libc-for-target > make-ld-wrapper > libiconv-if-needed)) > > @@ -1415,20 +1416,42 @@ (define-public which > command.") > (license gpl3+))) ; some files are under GPLv2+ > > +(define-public glibc/hurd > + (package/inherit glibc > + (name "glibc-hurd") > + (version "2.37") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) > + (sha256 > + (base32 > + "0hqsp4dzrjx0iga6jv0magjw26dh82pxlmk8yis5v0d127qyymr2")) > + (patches (search-patches "glibc-ldd-powerpc.patch" > + "glibc-2.37-ldd-x86_64.patch" > + "glibc-dl-cache.patch" > + "glibc-2.37-versioned-locpath.patch" > + "glibc-reinstate-prlimit64-fallback.patch" > + "glibc-supported-locales.patch" > + "glibc-2.37-hurd-clock_t_centiseconds.patch" > + "glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch" > + "glibc-hurd-mach-print.patch" > + "glibc-hurd-gettyent.patch")))) > + (supported-systems %hurd-systems))) > + > (define-public glibc/hurd-headers > - (package (inherit glibc) > + (package/inherit glibc/hurd > (name "glibc-hurd-headers") > (outputs '("out")) > (propagated-inputs (list gnumach-headers hurd-headers)) > (native-inputs > - (modify-inputs (package-native-inputs glibc) > + (modify-inputs (package-native-inputs glibc/hurd) > (prepend (if (%current-target-system) > (let* ((cross-base (resolve-interface '(gnu packages cross-base))) > (cross-mig (module-ref cross-base 'cross-mig))) > (cross-mig (%current-target-system))) > mig)))) > (arguments > - (substitute-keyword-arguments (package-arguments glibc) > + (substitute-keyword-arguments (package-arguments glibc/hurd) > ;; We just pass the flags really needed to build the headers. > ((#:configure-flags flags) > `(list "--enable-add-ons" > @@ -1449,6 +1472,15 @@ (define-public glibc/hurd-headers > (delete 'build))))) ; nothing to build > (supported-systems %hurd-systems))) > > +(define* (libc-for-target #:optional > + (target (or (%current-target-system) > + (%current-system)))) > + (match target > + ((? target-hurd?) > + glibc/hurd) > + (_ > + glibc))) > + > (define-public tzdata > (package > (name "tzdata") > diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm > index ab07fb37ab..a24c60ebf8 100644 > --- a/gnu/packages/commencement.scm > +++ b/gnu/packages/commencement.scm > @@ -2816,13 +2816,13 @@ (define (%boot1-inputs) > ("binutils-cross" ,binutils-boot0) > ,@(alist-delete "binutils" (%boot0-inputs)))) > > -(define glibc-final-with-bootstrap-bash > +(define/system-dependent glibc-final-with-bootstrap-bash > ;; The final libc, "cross-built". If everything went well, the resulting > ;; store path has no dependencies. Actually, the really-final libc is > ;; built just below; the only difference is that this one uses the > ;; bootstrap Bash. > (package > - (inherit glibc) > + (inherit (libc-for-target)) > (name "glibc-intermediate") > (outputs (delete "debug" (package-outputs glibc))) > (source (bootstrap-origin (package-source glibc))) > @@ -2991,39 +2991,39 @@ (define gettext-boot0 > (("^PROGRAMS =.*$") > "PROGRAMS =\n"))))))))) > > -(define glibc-final > +(define/system-dependent glibc-final > ;; The final glibc, which embeds the statically-linked Bash built above. > ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. > - (package/inherit > - glibc > - (name "glibc") > - (source (bootstrap-origin (package-source glibc))) > - (inputs `(("static-bash" ,static-bash-for-glibc) > - ,@(alist-delete > - "static-bash" > - (package-inputs glibc-final-with-bootstrap-bash)))) > - > - ;; This time we need 'msgfmt' to install all the libc.mo files. > - (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) > - ("gettext" ,gettext-boot0))) > - > - (propagated-inputs > - (package-propagated-inputs glibc-final-with-bootstrap-bash)) > - > - ;; The final libc only refers to itself, but the 'debug' output contains > - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great > - ;; if 'allowed-references' were per-output. > - (arguments > - `(#:allowed-references > - (,(gexp-input gcc-boot0 "lib") > - ,(kernel-headers-boot0) > - ,static-bash-for-glibc > - ,@(if (hurd-system?) > - `(,gnumach-headers-boot0 > - ,hurd-headers-boot0) > - '()) > - ,@(package-outputs glibc-final-with-bootstrap-bash)) > - ,@(package-arguments glibc-final-with-bootstrap-bash))))) > + (let ((libc (libc-for-target))) > + (package/inherit libc > + (name "glibc") > + (source (bootstrap-origin (package-source glibc))) > + (inputs `(("static-bash" ,static-bash-for-glibc) > + ,@(alist-delete > + "static-bash" > + (package-inputs glibc-final-with-bootstrap-bash)))) > + > + ;; This time we need 'msgfmt' to install all the libc.mo files. > + (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) > + ("gettext" ,gettext-boot0))) > + > + (propagated-inputs > + (package-propagated-inputs glibc-final-with-bootstrap-bash)) > + > + ;; The final libc only refers to itself, but the 'debug' output contains > + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great > + ;; if 'allowed-references' were per-output. > + (arguments > + `(#:allowed-references > + (,(gexp-input gcc-boot0 "lib") > + ,(kernel-headers-boot0) > + ,static-bash-for-glibc > + ,@(if (hurd-system?) > + `(,gnumach-headers-boot0 > + ,hurd-headers-boot0) > + '()) > + ,@(package-outputs glibc-final-with-bootstrap-bash)) > + ,@(package-arguments glibc-final-with-bootstrap-bash)))))) > > (define/system-dependent gcc-boot0-wrapped > ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the > diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm > index 01c2295853..b2823c73c5 100644 > --- a/gnu/packages/cross-base.scm > +++ b/gnu/packages/cross-base.scm > @@ -577,7 +577,7 @@ (define* (cross-libc . args) > > (define* (cross-libc/deprecated target > #:optional > - (libc glibc) > + (libc (libc-for-target target)) > (xgcc (cross-gcc target)) > (xbinutils (cross-binutils target)) > (xheaders (cross-kernel-headers target))) > @@ -590,7 +590,7 @@ (define* (cross-libc/deprecated target > > (define* (cross-libc* target > #:key > - (libc glibc) > + (libc (libc-for-target target)) > (xgcc (cross-gcc target)) > (xbinutils (cross-binutils target)) > (xheaders (cross-kernel-headers target))) > -- > 2.40.1 > -- Josselin Poiret [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 682 bytes --] ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-05-22 9:37 ` Josselin Poiret via Guix-patches via @ 2023-05-22 9:42 ` Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen ` (2 more replies) 0 siblings, 3 replies; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:42 UTC (permalink / raw) To: Josselin Poiret, 63641 From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch * gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch * gnu/packages/patches/glibc-2.37-ldd-x86_64.patch * gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. (glibc/hurd-headers): Use glibc/hurd. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, glibc-final): Use libc-for-target. * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use libc-for-target. --- gnu/local.mk | 4 + gnu/packages/base.scm | 38 ++- gnu/packages/commencement.scm | 66 ++--- gnu/packages/cross-base.scm | 4 +- ...glibc-2.37-hurd-clock_t_centiseconds.patch | 59 +++++ ...7-hurd-local-clock_gettime_MONOTONIC.patch | 133 ++++++++++ .../patches/glibc-2.37-ldd-x86_64.patch | 8 + .../glibc-2.37-versioned-locpath.patch | 247 ++++++++++++++++++ 8 files changed, 521 insertions(+), 38 deletions(-) create mode 100644 gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch create mode 100644 gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch create mode 100644 gnu/packages/patches/glibc-2.37-ldd-x86_64.patch create mode 100644 gnu/packages/patches/glibc-2.37-versioned-locpath.patch diff --git a/gnu/local.mk b/gnu/local.mk index 17b07a1102..2a09d44506 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1248,6 +1248,10 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \ %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \ %D%/packages/patches/glibc-2.31-hurd-clock_gettime_monotonic.patch \ + %D%/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch \ + %D%/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch \ + %D%/packages/patches/glibc-2.37-ldd-x86_64.patch \ + %D%/packages/patches/glibc-2.37-versioned-locpath.patch \ %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ %D%/packages/patches/glibc-hurd-gettyent.patch \ %D%/packages/patches/glibc-hurd-mach-print.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f944ab5d47..59c9632551 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -75,6 +75,7 @@ (define-module (gnu packages base) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (glibc + libc-for-target make-ld-wrapper libiconv-if-needed)) @@ -1415,20 +1416,42 @@ (define-public which command.") (license gpl3+))) ; some files are under GPLv2+ +(define-public glibc/hurd + (package/inherit glibc + (name "glibc-hurd") + (version "2.37") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0hqsp4dzrjx0iga6jv0magjw26dh82pxlmk8yis5v0d127qyymr2")) + (patches (search-patches "glibc-ldd-powerpc.patch" + "glibc-2.37-ldd-x86_64.patch" + "glibc-dl-cache.patch" + "glibc-2.37-versioned-locpath.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-supported-locales.patch" + "glibc-2.37-hurd-clock_t_centiseconds.patch" + "glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch" + "glibc-hurd-mach-print.patch" + "glibc-hurd-gettyent.patch")))) + (supported-systems %hurd-systems))) + (define-public glibc/hurd-headers - (package (inherit glibc) + (package/inherit glibc/hurd (name "glibc-hurd-headers") (outputs '("out")) (propagated-inputs (list gnumach-headers hurd-headers)) (native-inputs - (modify-inputs (package-native-inputs glibc) + (modify-inputs (package-native-inputs glibc/hurd) (prepend (if (%current-target-system) (let* ((cross-base (resolve-interface '(gnu packages cross-base))) (cross-mig (module-ref cross-base 'cross-mig))) (cross-mig (%current-target-system))) mig)))) (arguments - (substitute-keyword-arguments (package-arguments glibc) + (substitute-keyword-arguments (package-arguments glibc/hurd) ;; We just pass the flags really needed to build the headers. ((#:configure-flags flags) `(list "--enable-add-ons" @@ -1449,6 +1472,15 @@ (define-public glibc/hurd-headers (delete 'build))))) ; nothing to build (supported-systems %hurd-systems))) +(define* (libc-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (match target + ((? target-hurd?) + glibc/hurd) + (_ + glibc))) + (define-public tzdata (package (name "tzdata") diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ab07fb37ab..a24c60ebf8 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2816,13 +2816,13 @@ (define (%boot1-inputs) ("binutils-cross" ,binutils-boot0) ,@(alist-delete "binutils" (%boot0-inputs)))) -(define glibc-final-with-bootstrap-bash +(define/system-dependent glibc-final-with-bootstrap-bash ;; The final libc, "cross-built". If everything went well, the resulting ;; store path has no dependencies. Actually, the really-final libc is ;; built just below; the only difference is that this one uses the ;; bootstrap Bash. (package - (inherit glibc) + (inherit (libc-for-target)) (name "glibc-intermediate") (outputs (delete "debug" (package-outputs glibc))) (source (bootstrap-origin (package-source glibc))) @@ -2991,39 +2991,39 @@ (define gettext-boot0 (("^PROGRAMS =.*$") "PROGRAMS =\n"))))))))) -(define glibc-final +(define/system-dependent glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. - (package/inherit - glibc - (name "glibc") - (source (bootstrap-origin (package-source glibc))) - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash)))) - - ;; This time we need 'msgfmt' to install all the libc.mo files. - (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) - ("gettext" ,gettext-boot0))) - - (propagated-inputs - (package-propagated-inputs glibc-final-with-bootstrap-bash)) - - ;; The final libc only refers to itself, but the 'debug' output contains - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great - ;; if 'allowed-references' were per-output. - (arguments - `(#:allowed-references - (,(gexp-input gcc-boot0 "lib") - ,(kernel-headers-boot0) - ,static-bash-for-glibc - ,@(if (hurd-system?) - `(,gnumach-headers-boot0 - ,hurd-headers-boot0) - '()) - ,@(package-outputs glibc-final-with-bootstrap-bash)) - ,@(package-arguments glibc-final-with-bootstrap-bash))))) + (let ((libc (libc-for-target))) + (package/inherit libc + (name "glibc") + (source (bootstrap-origin (package-source glibc))) + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash)))) + + ;; This time we need 'msgfmt' to install all the libc.mo files. + (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) + ("gettext" ,gettext-boot0))) + + (propagated-inputs + (package-propagated-inputs glibc-final-with-bootstrap-bash)) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (arguments + `(#:allowed-references + (,(gexp-input gcc-boot0 "lib") + ,(kernel-headers-boot0) + ,static-bash-for-glibc + ,@(if (hurd-system?) + `(,gnumach-headers-boot0 + ,hurd-headers-boot0) + '()) + ,@(package-outputs glibc-final-with-bootstrap-bash)) + ,@(package-arguments glibc-final-with-bootstrap-bash)))))) (define/system-dependent gcc-boot0-wrapped ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 01c2295853..b2823c73c5 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -577,7 +577,7 @@ (define* (cross-libc . args) (define* (cross-libc/deprecated target #:optional - (libc glibc) + (libc (libc-for-target target)) (xgcc (cross-gcc target)) (xbinutils (cross-binutils target)) (xheaders (cross-kernel-headers target))) @@ -590,7 +590,7 @@ (define* (cross-libc/deprecated target (define* (cross-libc* target #:key - (libc glibc) + (libc (libc-for-target target)) (xgcc (cross-gcc target)) (xbinutils (cross-binutils target)) (xheaders (cross-kernel-headers target))) diff --git a/gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch b/gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch new file mode 100644 index 0000000000..27db59ec40 --- /dev/null +++ b/gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch @@ -0,0 +1,59 @@ +Some applications assume centisecond precision, or at most millisecond precision +(e.g. guile). This is a work-around for them. + +--- + getclktck.c | 5 ++--- + setitimer.c | 2 +- + times.c | 2 +- + 4 files changed, 8 insertions(+), 9 deletions(-) +commit d57f2f9b4bd007846af2fb4217486ea572579010 +Author: Richard Braun <rbraun@sceen.net> +Date: Tue Aug 27 11:35:31 2013 +0200 + + Express CPU time (clock_t of times(2)) in centiseconds + +diff --git a/sysdeps/mach/hurd/getclktck.c b/sysdeps/mach/hurd/getclktck.c +index 69be2cc..5f7d946 100644 +--- a/sysdeps/mach/hurd/getclktck.c ++++ b/sysdeps/mach/hurd/getclktck.c +@@ -18,12 +18,11 @@ + + #include <time.h> + +-/* Return frequency of `times'. +- Since Mach reports CPU times in microseconds, we always use 1 million. */ ++/* Return frequency of `times'. */ + int + __getclktck (void) + { +- return 1000000; ++ return 100; + } + + /* Before glibc 2.2, the Hurd actually did this differently, so we +diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c +index 39b6b16..4992c89 100644 +--- a/sysdeps/mach/hurd/setitimer.c ++++ b/sysdeps/mach/hurd/setitimer.c +@@ -42,7 +42,7 @@ quantize_timeval (struct timeval *tv) + static time_t quantum = -1; + + if (quantum == -1) +- quantum = 1000000 / __getclktck (); ++ quantum = 100 / __getclktck (); + + tv->tv_usec = ((tv->tv_usec + (quantum - 1)) / quantum) * quantum; + if (tv->tv_usec >= 1000000) +diff --git a/sysdeps/mach/hurd/times.c b/sysdeps/mach/hurd/times.c +index 9e13a75..593c33a 100644 +--- a/sysdeps/mach/hurd/times.c ++++ b/sysdeps/mach/hurd/times.c +@@ -29,7 +29,7 @@ + static inline clock_t + clock_from_time_value (const time_value_t *t) + { +- return t->seconds * 1000000 + t->microseconds; ++ return t->seconds * 100 + t->microseconds / 10000; + } + + /* Store the CPU time used by this process and all its diff --git a/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch b/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch new file mode 100644 index 0000000000..3207a94550 --- /dev/null +++ b/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch @@ -0,0 +1,133 @@ +Use the realtime clock for the monotonic clock. This is of course not a proper +implementation (which is being done in Mach), but will permit to fix at least +the iceweasel stack. + +vlc however doesn't build when _POSIX_CLOCK_SELECTION is enabled but +_POSIX_TIMERS is not, and they refuse to fix that (see #765578), so disable the +former. + +--- + sysdeps/mach/hurd/bits/posix_opt.h | 2 +- + sysdeps/unix/clock_gettime.c | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) +Index: glibc-2.27/sysdeps/mach/clock_gettime.c +=================================================================== +--- glibc-2.27.orig/sysdeps/mach/clock_gettime.c ++++ glibc-2.27/sysdeps/mach/clock_gettime.c +@@ -31,6 +31,10 @@ __clock_gettime (clockid_t clock_id, str + switch (clock_id) { + + case CLOCK_REALTIME: ++ case CLOCK_MONOTONIC: ++ case CLOCK_MONOTONIC_RAW: ++ case CLOCK_REALTIME_COARSE: ++ case CLOCK_MONOTONIC_COARSE: + { + /* __host_get_time can only fail if passed an invalid host_t. + __mach_host_self could theoretically fail (producing an +Index: glibc-2.27/rt/timer_create.c +=================================================================== +--- glibc-2.27.orig/rt/timer_create.c ++++ glibc-2.27/rt/timer_create.c +@@ -48,7 +48,7 @@ timer_create (clockid_t clock_id, struct + return -1; + } + +- if (clock_id != CLOCK_REALTIME) ++ if (clock_id != CLOCK_REALTIME && clock_id != CLOCK_MONOTONIC && clock_id != CLOCK_MONOTONIC_RAW && clock_id != CLOCK_REALTIME_COARSE && clock_id != CLOCK_MONOTONIC_COARSE) + { + __set_errno (EINVAL); + return -1; +Index: glibc-2.27/sysdeps/mach/hurd/bits/posix_opt.h +=================================================================== +--- glibc-2.27.orig/sysdeps/mach/hurd/bits/posix_opt.h ++++ glibc-2.27/sysdeps/mach/hurd/bits/posix_opt.h +@@ -163,10 +163,10 @@ + #define _POSIX_THREAD_PROCESS_SHARED -1 + + /* The monotonic clock might be available. */ +-#define _POSIX_MONOTONIC_CLOCK 0 ++#define _POSIX_MONOTONIC_CLOCK 200809L + +-/* The clock selection interfaces are available. */ +-#define _POSIX_CLOCK_SELECTION 200809L ++/* The clock selection interfaces are not really available yet. */ ++#define _POSIX_CLOCK_SELECTION -1 + + /* Advisory information interfaces could be available in future. */ + #define _POSIX_ADVISORY_INFO 0 +Index: glibc-upstream/sysdeps/posix/clock_getres.c +=================================================================== +--- glibc-upstream.orig/sysdeps/posix/clock_getres.c ++++ glibc-upstream/sysdeps/posix/clock_getres.c +@@ -52,6 +52,10 @@ __clock_getres (clockid_t clock_id, stru + switch (clock_id) + { + case CLOCK_REALTIME: ++ case CLOCK_MONOTONIC: ++ case CLOCK_MONOTONIC_RAW: ++ case CLOCK_REALTIME_COARSE: ++ case CLOCK_MONOTONIC_COARSE: + retval = realtime_getres (res); + break; + +--- ./sysdeps/mach/clock_nanosleep.c.original 2020-07-21 00:31:35.226113142 +0200 ++++ ./sysdeps/mach/clock_nanosleep.c 2020-07-21 00:31:49.026185761 +0200 +@@ -62,7 +62,7 @@ + __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, + struct timespec *rem) + { +- if (clock_id != CLOCK_REALTIME ++ if ((clock_id != CLOCK_REALTIME && clock_id != CLOCK_MONOTONIC && clock_id != CLOCK_MONOTONIC_RAW && clock_id != CLOCK_REALTIME_COARSE && clock_id != CLOCK_MONOTONIC_COARSE) + || !valid_nanoseconds (req->tv_nsec) + || (flags != 0 && flags != TIMER_ABSTIME)) + return EINVAL; +Index: glibc-2.32/hurd/hurdlock.c +=================================================================== +--- glibc-2.32.orig/hurd/hurdlock.c ++++ glibc-2.32/hurd/hurdlock.c +@@ -47,7 +47,7 @@ int + __lll_abstimed_wait (void *ptr, int val, + const struct timespec *tsp, int flags, int clk) + { +- if (clk != CLOCK_REALTIME) ++ if (clk != CLOCK_REALTIME && clk != CLOCK_MONOTONIC) + return EINVAL; + + int mlsec = compute_reltime (tsp, clk); +@@ -59,7 +59,7 @@ int + __lll_abstimed_wait_intr (void *ptr, int val, + const struct timespec *tsp, int flags, int clk) + { +- if (clk != CLOCK_REALTIME) ++ if (clk != CLOCK_REALTIME && clk != CLOCK_MONOTONIC) + return EINVAL; + + int mlsec = compute_reltime (tsp, clk); +@@ -79,7 +79,7 @@ int + __lll_abstimed_xwait (void *ptr, int lo, int hi, + const struct timespec *tsp, int flags, int clk) + { +- if (clk != CLOCK_REALTIME) ++ if (clk != CLOCK_REALTIME && clk != CLOCK_MONOTONIC) + return EINVAL; + + int mlsec = compute_reltime (tsp, clk); +@@ -91,7 +91,7 @@ int + __lll_abstimed_lock (void *ptr, + const struct timespec *tsp, int flags, int clk) + { +- if (clk != CLOCK_REALTIME) ++ if (clk != CLOCK_REALTIME && clk != CLOCK_MONOTONIC) + return EINVAL; + + if (__lll_trylock (ptr) == 0) +@@ -177,7 +177,7 @@ __lll_robust_abstimed_lock (void *ptr, + int wait_time = 25; + unsigned int val; + +- if (clk != CLOCK_REALTIME) ++ if (clk != CLOCK_REALTIME && clk != CLOCK_MONOTONIC) + return EINVAL; + + while (1) diff --git a/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch b/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch new file mode 100644 index 0000000000..078cb38bd0 --- /dev/null +++ b/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch @@ -0,0 +1,8 @@ +By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas +it's in 'lib/' for us. This patch fixes that. + +--- glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2012-12-25 04:02:13.000000000 +0100 ++++ glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2013-09-15 23:08:03.000000000 +0200 +@@ -1,1 +1,1 @@ +-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_ ++s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \2\4-x86-64\6 \2x32\4-x32\6"_ diff --git a/gnu/packages/patches/glibc-2.37-versioned-locpath.patch b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch new file mode 100644 index 0000000000..1964be4b4b --- /dev/null +++ b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch @@ -0,0 +1,247 @@ +From d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279 Mon Sep 17 00:00:00 2001 +Message-Id: <d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279.1683980025.git.dev@jpoiret.xyz> +From: Josselin Poiret <dev@jpoiret.xyz> +Date: Sat, 13 May 2023 14:10:43 +0200 +Subject: [PATCH] Add versioned locpath + +From: Josselin Poiret <dev@jpoiret.xyz> + +--- + locale/newlocale.c | 15 ++-------- + locale/setlocale.c | 68 +++++++++++++++++++++++++++++++++++++------- + string/Makefile | 1 + + string/argz-suffix.c | 56 ++++++++++++++++++++++++++++++++++++ + string/argz.h | 10 +++++++ + 5 files changed, 127 insertions(+), 23 deletions(-) + create mode 100644 string/argz-suffix.c + +diff --git a/locale/newlocale.c b/locale/newlocale.c +index 108d2428bf..6218e0fa77 100644 +--- a/locale/newlocale.c ++++ b/locale/newlocale.c +@@ -29,6 +29,7 @@ + /* Lock for protecting global data. */ + __libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden) + ++extern error_t compute_locale_search_path (char **, size_t *); + + /* Use this when we come along an error. */ + #define ERROR_RETURN \ +@@ -47,7 +48,6 @@ __newlocale (int category_mask, const char *locale, locale_t base) + locale_t result_ptr; + char *locale_path; + size_t locale_path_len; +- const char *locpath_var; + int cnt; + size_t names_len; + +@@ -101,17 +101,8 @@ __newlocale (int category_mask, const char *locale, locale_t base) + locale_path = NULL; + locale_path_len = 0; + +- locpath_var = getenv ("LOCPATH"); +- if (locpath_var != NULL && locpath_var[0] != '\0') +- { +- if (__argz_create_sep (locpath_var, ':', +- &locale_path, &locale_path_len) != 0) +- return NULL; +- +- if (__argz_add_sep (&locale_path, &locale_path_len, +- _nl_default_locale_path, ':') != 0) +- return NULL; +- } ++ if (compute_locale_search_path (&locale_path, &locale_path_len) != 0) ++ return NULL; + + /* Get the names for the locales we are interested in. We either + allow a composite name or a single name. */ +diff --git a/locale/setlocale.c b/locale/setlocale.c +index dd73fa4248..d8eb799384 100644 +--- a/locale/setlocale.c ++++ b/locale/setlocale.c +@@ -213,12 +213,65 @@ setdata (int category, struct __locale_data *data) + } + } + ++/* Return in *LOCALE_PATH and *LOCALE_PATH_LEN the locale data search path as ++ a colon-separated list. Return ENOMEN on error, zero otherwise. */ ++error_t ++compute_locale_search_path (char **locale_path, size_t *locale_path_len) ++{ ++ char* guix_locpath_var = getenv ("GUIX_LOCPATH"); ++ char *locpath_var = getenv ("LOCPATH"); ++ ++ if (guix_locpath_var != NULL && guix_locpath_var[0] != '\0') ++ { ++ /* Entries in 'GUIX_LOCPATH' take precedence over 'LOCPATH'. These ++ entries are systematically prefixed with "/X.Y" where "X.Y" is the ++ libc version. */ ++ if (__argz_create_sep (guix_locpath_var, ':', ++ locale_path, locale_path_len) != 0 ++ || __argz_suffix_entries (locale_path, locale_path_len, ++ "/" VERSION) != 0) ++ goto bail_out; ++ } ++ ++ if (locpath_var != NULL && locpath_var[0] != '\0') ++ { ++ char *reg_locale_path = NULL; ++ size_t reg_locale_path_len = 0; ++ ++ if (__argz_create_sep (locpath_var, ':', ++ ®_locale_path, ®_locale_path_len) != 0) ++ goto bail_out; ++ ++ if (__argz_append (locale_path, locale_path_len, ++ reg_locale_path, reg_locale_path_len) != 0) ++ goto bail_out; ++ ++ free (reg_locale_path); ++ } ++ ++ if (*locale_path != NULL) ++ { ++ /* Append the system default locale directory. */ ++ if (__argz_add_sep (locale_path, locale_path_len, ++ _nl_default_locale_path, ':') != 0) ++ goto bail_out; ++ } ++ ++ return 0; ++ ++ bail_out: ++ free (*locale_path); ++ *locale_path = NULL; ++ *locale_path_len = 0; ++ ++ return ENOMEM; ++} ++ + char * + setlocale (int category, const char *locale) + { + char *locale_path; + size_t locale_path_len; +- const char *locpath_var; + char *composite; + + /* Sanity check for CATEGORY argument. */ +@@ -249,17 +302,10 @@ setlocale (int category, const char *locale) + locale_path = NULL; + locale_path_len = 0; + +- locpath_var = getenv ("LOCPATH"); +- if (locpath_var != NULL && locpath_var[0] != '\0') ++ if (compute_locale_search_path (&locale_path, &locale_path_len) != 0) + { +- if (__argz_create_sep (locpath_var, ':', +- &locale_path, &locale_path_len) != 0 +- || __argz_add_sep (&locale_path, &locale_path_len, +- _nl_default_locale_path, ':') != 0) +- { +- __libc_rwlock_unlock (__libc_setlocale_lock); +- return NULL; +- } ++ __libc_rwlock_unlock (__libc_setlocale_lock); ++ return NULL; + } + + if (category == LC_ALL) +diff --git a/string/Makefile b/string/Makefile +index 3eced0d027..a7e68729ad 100644 +--- a/string/Makefile ++++ b/string/Makefile +@@ -51,6 +51,7 @@ routines := \ + argz-next \ + argz-replace \ + argz-stringify \ ++ argz-suffix \ + basename \ + bcopy \ + bzero \ +diff --git a/string/argz-suffix.c b/string/argz-suffix.c +new file mode 100644 +index 0000000000..505b0f248c +--- /dev/null ++++ b/string/argz-suffix.c +@@ -0,0 +1,56 @@ ++/* Copyright (C) 2015 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Ludovic Courtès <ludo@gnu.org>. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++#include <argz.h> ++#include <errno.h> ++#include <stdlib.h> ++#include <string.h> ++ ++ ++error_t ++__argz_suffix_entries (char **argz, size_t *argz_len, const char *suffix) ++ ++{ ++ size_t suffix_len = strlen (suffix); ++ size_t count = __argz_count (*argz, *argz_len); ++ size_t new_argz_len = *argz_len + count * suffix_len; ++ char *new_argz = malloc (new_argz_len); ++ ++ if (new_argz) ++ { ++ char *p = new_argz, *entry; ++ ++ for (entry = *argz; ++ entry != NULL; ++ entry = argz_next (*argz, *argz_len, entry)) ++ { ++ p = stpcpy (p, entry); ++ p = stpcpy (p, suffix); ++ p++; ++ } ++ ++ free (*argz); ++ *argz = new_argz; ++ *argz_len = new_argz_len; ++ ++ return 0; ++ } ++ else ++ return ENOMEM; ++} ++weak_alias (__argz_suffix_entries, argz_suffix_entries) +diff --git a/string/argz.h b/string/argz.h +index cbc588a8e6..bc6e484c9d 100644 +--- a/string/argz.h ++++ b/string/argz.h +@@ -108,6 +108,16 @@ extern error_t argz_replace (char **__restrict __argz, + const char *__restrict __str, + const char *__restrict __with, + unsigned int *__restrict __replace_count); ++ ++/* Suffix each entry of ARGZ & ARGZ_LEN with SUFFIX. Return 0 on success, ++ and ENOMEN if memory cannot be allocated. */ ++extern error_t __argz_suffix_entries (char **__restrict __argz, ++ size_t *__restrict __argz_len, ++ const char *__restrict __suffix); ++extern error_t argz_suffix_entries (char **__restrict __argz, ++ size_t *__restrict __argz_len, ++ const char *__restrict __suffix); ++ + \f + /* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there + are no more. If entry is NULL, then the first entry is returned. This +-- +2.40.1 + base-commit: 849286ba66c96534bddc04df1a47d5692cbc977e prerequisite-patch-id: bf9f6c2efa2216af0f1787dc1582e2cec821f19e prerequisite-patch-id: 69acf79d4013ebdc3e7dfb4882bbe19498c820a5 prerequisite-patch-id: 900de3149fa074c39e463d859ccdf208ce120a76 prerequisite-patch-id: 196fd00997b26669da59cf6495fa390f42be05f4 -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-05-22 9:42 ` [bug#63641] [PATCH v2 " Josselin Poiret via Guix-patches via @ 2023-05-24 8:11 ` Janneke Nieuwenhuizen 2023-05-24 8:57 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 2023-06-02 5:18 ` [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd Janneke Nieuwenhuizen 2 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-24 8:11 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Josselin Poiret via Guix-patches via writes: Hi! > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch > * gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch > * gnu/packages/patches/glibc-2.37-ldd-x86_64.patch > * gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches. > * gnu/local.mk (dist_patch_DATA): Register them. > > * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. > (glibc/hurd-headers): Use glibc/hurd. > * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, > glibc-final): Use libc-for-target. > * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use > libc-for-target. Very nice! [..] > diff --git a/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch b/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch > new file mode 100644 > index 0000000000..3207a94550 > --- /dev/null > +++ b/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch > @@ -0,0 +1,133 @@ > +Use the realtime clock for the monotonic clock. This is of course not a proper > +implementation (which is being done in Mach), but will permit to fix at least > +the iceweasel stack. > + > +vlc however doesn't build when _POSIX_CLOCK_SELECTION is enabled but > +_POSIX_TIMERS is not, and they refuse to fix that (see #765578), so disable the > +former. Maybe add a note about upstream status/url for this patch (taken from upstream, I guess). > diff --git a/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch b/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch > new file mode 100644 > index 0000000000..078cb38bd0 > --- /dev/null > +++ b/gnu/packages/patches/glibc-2.37-ldd-x86_64.patch > @@ -0,0 +1,8 @@ > +By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas > +it's in 'lib/' for us. This patch fixes that. Maybe add something like: "Upstream status: Not presented upstream"? > diff --git a/gnu/packages/patches/glibc-2.37-versioned-locpath.patch b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch > new file mode 100644 > index 0000000000..1964be4b4b > --- /dev/null > +++ b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch > @@ -0,0 +1,247 @@ > +From d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279 Mon Sep 17 00:00:00 2001 > +Message-Id: <d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279.1683980025.git.dev@jpoiret.xyz> > +From: Josselin Poiret <dev@jpoiret.xyz> > +Date: Sat, 13 May 2023 14:10:43 +0200 > +Subject: [PATCH] Add versioned locpath Likewise, please add a note about upstream status of this patch. Otherwise, L--more-than--GTM, awesome! Plus, this most probably fixed my rumpdisk! Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-05-22 9:42 ` [bug#63641] [PATCH v2 " Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen @ 2023-05-24 8:57 ` Ludovic Courtès 2023-06-02 5:18 ` [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd Janneke Nieuwenhuizen 2 siblings, 0 replies; 28+ messages in thread From: Ludovic Courtès @ 2023-05-24 8:57 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Josselin Poiret <dev@jpoiret.xyz> skribis: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch > * gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch > * gnu/packages/patches/glibc-2.37-ldd-x86_64.patch > * gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches. > * gnu/local.mk (dist_patch_DATA): Register them. > > * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. > (glibc/hurd-headers): Use glibc/hurd. > * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, > glibc-final): Use libc-for-target. > * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use > libc-for-target. [...] > +(define-public glibc/hurd > + (package/inherit glibc > + (name "glibc-hurd") > + (version "2.37") Could you add a comment stating why we’re using this version so we know when to unify the two libcs again? > +(define* (libc-for-target #:optional > + (target (or (%current-target-system) > + (%current-system)))) > + (match target > + ((? target-hurd?) > + glibc/hurd) > + (_ > + glibc))) Removed in 2d546858b139e5fcf2cbdf9958a17fd98803ac4c (when we unified the two glibc packages) was also this macro: (define-syntax glibc (identifier-syntax (glibc-for-target))) Maybe we can live without it though. > +++ b/gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch > @@ -0,0 +1,59 @@ > +Some applications assume centisecond precision, or at most millisecond precision > +(e.g. guile). This is a work-around for them. [...] > +++ b/gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch > @@ -0,0 +1,133 @@ > +Use the realtime clock for the monotonic clock. This is of course not a proper > +implementation (which is being done in Mach), but will permit to fix at least > +the iceweasel stack. > + > +vlc however doesn't build when _POSIX_CLOCK_SELECTION is enabled but > +_POSIX_TIMERS is not, and they refuse to fix that (see #765578), so disable the > +former. These are from Debian, right? Are they submitted upstream? Would be nice to have it mentioned in the comment (the build farms will soon rebuild for you :-)). > +++ b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch > @@ -0,0 +1,247 @@ > +From d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279 Mon Sep 17 00:00:00 2001 > +Message-Id: <d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279.1683980025.git.dev@jpoiret.xyz> > +From: Josselin Poiret <dev@jpoiret.xyz> > +Date: Sat, 13 May 2023 14:10:43 +0200 > +Subject: [PATCH] Add versioned locpath > + > +From: Josselin Poiret <dev@jpoiret.xyz> Could you preserve the header that’s at the top of ‘glibc-versioned-locpath.patch’? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-05-22 9:42 ` [bug#63641] [PATCH v2 " Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen 2023-05-24 8:57 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès @ 2023-06-02 5:18 ` Janneke Nieuwenhuizen 2023-06-08 8:17 ` Janneke Nieuwenhuizen 2 siblings, 1 reply; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-06-02 5:18 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 [-- Attachment #1: Type: text/plain, Size: 1803 bytes --] Josselin Poiret via Guix-patches via writes: Hello again! > From: Josselin Poiret <dev@jpoiret.xyz> > [..] > * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, > glibc-final): Use libc-for-target. As discussed on IRC, I found that we're still building glibc-2.35 during commencement. I overlooked that this recent patch of yours made these changes in commencement, so I already made patches for this (attached). So, apart from my earlier comments [..] > diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm > index ab07fb37ab..a24c60ebf8 100644 > --- a/gnu/packages/commencement.scm > +++ b/gnu/packages/commencement.scm > @@ -2816,13 +2816,13 @@ (define (%boot1-inputs) > ("binutils-cross" ,binutils-boot0) > ,@(alist-delete "binutils" (%boot0-inputs)))) > > -(define glibc-final-with-bootstrap-bash > +(define/system-dependent glibc-final-with-bootstrap-bash > ;; The final libc, "cross-built". If everything went well, the resulting > ;; store path has no dependencies. Actually, the really-final libc is > ;; built just below; the only difference is that this one uses the > ;; bootstrap Bash. > (package > - (inherit glibc) > + (inherit (libc-for-target)) > (name "glibc-intermediate") > (outputs (delete "debug" (package-outputs glibc))) We probably want this to be (libc-for-target), even though they're bound to be similar, and more importantly, > (source (bootstrap-origin (package-source glibc))) I believe this needs to be (libc-for-target) to actually use glibc-2.37. [..] > + (let ((libc (libc-for-target))) > + (package/inherit libc > + (name "glibc") > + (source (bootstrap-origin (package-source glibc))) Likewise, I think we need to use "libc" here. Greetings, Janneke [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-commencement-glibc-final-with-bootstrap-bash-Use.patch --] [-- Type: text/x-patch, Size: 33422 bytes --] From ee989048c46b4123232aeb49c4b1bfe14cb10037 Mon Sep 17 00:00:00 2001 Message-Id: <ee989048c46b4123232aeb49c4b1bfe14cb10037.1685682827.git.janneke@gnu.org> From: Janneke Nieuwenhuizen <janneke@gnu.org> Date: Thu, 1 Jun 2023 23:39:50 +0200 Subject: [PATCH 1/2] gnu: commencement: glibc-final-with-bootstrap-bash: Use libc-for-target. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[outputs, source, arguments]: Use (libc-for-target) instead of glibc. --- gnu/packages/commencement.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 81b6d68979..7df5c9b5c9 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2899,13 +2899,13 @@ (define/system-dependent glibc-final-with-bootstrap-bash (package (inherit (libc-for-target)) (name "glibc-intermediate") - (outputs (delete "debug" (package-outputs glibc))) - (source (bootstrap-origin (package-source glibc))) + (outputs (delete "debug" (package-outputs (libc-for-target)))) + (source (bootstrap-origin (package-source (libc-for-target)))) (arguments `(#:guile ,%bootstrap-guile #:implicit-inputs? #f - ,@(substitute-keyword-arguments (package-arguments glibc) + ,@(substitute-keyword-arguments (package-arguments (libc-for-target)) ((#:configure-flags flags) `(append (list ,(string-append "--host=" (boot-triplet)) ,(string-append "--build=" base-commit: 7b00b155d8f474d493a22ff7cccbeec311b9bbc8 prerequisite-patch-id: b96b7fc07560b67bb954891c08b07874050bd815 prerequisite-patch-id: 661334c882030b404c16aa87af52696275d57f66 prerequisite-patch-id: 48af5fd9f6821f907331afb9657df63c8b14ec4b prerequisite-patch-id: 27ee469438c657694caf0908fffb2dd04004b338 prerequisite-patch-id: faf77d8c8f5b334c592be0de177500c5ed48253d prerequisite-patch-id: 4cf543b05e46babd5744f11a034b06a69a8f586d prerequisite-patch-id: 3203da98fdcebf54be372d646376ac0c1ed3561d prerequisite-patch-id: b302b87c50035242fa5842449a8502aa26650e46 prerequisite-patch-id: 8b731aee2f3632e6a6c154991a049ceba6471191 prerequisite-patch-id: a1ab14d78cd7ebeb490c31f627b9ae1fa61c2c80 prerequisite-patch-id: 49e32295a422d95c22a8ca4c8b5a3888a1f1c3d1 prerequisite-patch-id: fa0634162bbb2a3c681573cfa54ed14da3040140 prerequisite-patch-id: eff2e90da0ddb61cdc94d6eb083d79623a8f3b06 prerequisite-patch-id: 2501018d2afba9cc91e8f1f9725940e8f1c4ee83 prerequisite-patch-id: 280fe3f9c895825f4b0762ac60a52b358b605cf6 prerequisite-patch-id: eea541992403b758a104b5af27c8badae3baf2f4 prerequisite-patch-id: a6c0a342e46e36b906eee63d257fc0af6427b15a prerequisite-patch-id: 1a2fe0f10be9134fb07bb38554117e0f19fe1707 prerequisite-patch-id: 7d5103573db8f4d608bd95b892a18fc6b24b4757 prerequisite-patch-id: 2c9b8e3516c69d9930890a365274be74d7dec6c3 prerequisite-patch-id: d8861b9abda988879d67b2541870a453dc7be77e prerequisite-patch-id: ae35edf508ae2e7469ff949ebc8854df4e1ffbc1 prerequisite-patch-id: a1be1fe7e65cf971934ad3c67701c3b14ca519d7 prerequisite-patch-id: c50b89c0c9e5cd5bbcc0105923d9bd5526f472ca prerequisite-patch-id: dcf223c4462a67f98274e2b378afbdb640299d40 prerequisite-patch-id: 7193aab88f198d8cbc6760702bdd4faaa0b5a106 prerequisite-patch-id: b2bbb543bfa2ad8ca8b75cb988b78ef15788aaab prerequisite-patch-id: 47715253b05bbeb2296d837565d789d4f4cece1f prerequisite-patch-id: fe888c22279f21ed573d97cb3c32fd750e64bc7f prerequisite-patch-id: c083d6e7b08eec3f0954d5596505128a782109d6 prerequisite-patch-id: a77cce5da6fe87ee3e61d45bfe3195315ac1a3bc prerequisite-patch-id: 3b252fe9479e356c6cfb871eea9ad460a915416b prerequisite-patch-id: 7464ce27b2f36ce538f2dfd1560a0c4e6f073601 prerequisite-patch-id: 90b006b2c5ea686a9ce9a8a4121428e0305899a7 prerequisite-patch-id: 55705deea1dbe21c08590341520d791e0a834f3a prerequisite-patch-id: 2ec7651ffafe201aee13039f1ee897aeef38620a prerequisite-patch-id: 8cd269bb138d5dc79f41612cc18a2a4228e496d0 prerequisite-patch-id: 2e6bc6077534d8954f2ab9068749dc4108a85ff7 prerequisite-patch-id: be84acc08610f5733e484a725a208b89c7466602 prerequisite-patch-id: d1e78442c660bb1450164105310c2473c52e7c52 prerequisite-patch-id: 96a39877f8e21fd8a85dbd59f82f2e5697147bc0 prerequisite-patch-id: 068a494d14fe8f7a32c9572a94cf31459e3fb037 prerequisite-patch-id: 85b1f68a51008deca677e811fde9b29b6c15032e prerequisite-patch-id: 9c4357ee94237511a6abeafaa7b9775e042b8de5 prerequisite-patch-id: 88118d60e5c823f06d66dd2f0533f1164b27acbf prerequisite-patch-id: 384bc8886bffe4ccbbec8a0d1ab28d6b6084b21c prerequisite-patch-id: cece1d586bbe314abab4bbe3f15b8299d9bcc0cd prerequisite-patch-id: af099a015eb8ac396ea8d937f178c3bbf25083da prerequisite-patch-id: 3aacc3d6b5c739573b2f9dd78c10f939f439167f prerequisite-patch-id: d2fb05b6b2d56db8336f139b6306db6bb76ded2f prerequisite-patch-id: 31695aaf8968f8204007acf156763e1b2ecf917a prerequisite-patch-id: 49d979efa4b1a41929484f14d4b5c0dd8f21f5ba prerequisite-patch-id: c6c977b826e398a9ebd1348d96acf560a450612f prerequisite-patch-id: 491d9ffbeb3f43882128465c37ff5488e4c632e7 prerequisite-patch-id: 23a9f3aa13e30e8a6721f596b16bd85ee70ec2c3 prerequisite-patch-id: d3241549d78da53af38729a85b7929808845d6c7 prerequisite-patch-id: 78c1a029ca7c53a1fcb416d122493f84af07b304 prerequisite-patch-id: 02d981d60649b804752f7b80919d58edb741e262 prerequisite-patch-id: e6131a0105e714b43a362a715b621e9020614308 prerequisite-patch-id: 0faf15c9db3aabfc6a621cd1f69d83037a295f88 prerequisite-patch-id: 0ea4eec5324d23be536909870972a0adc0568762 prerequisite-patch-id: afa4f727e5f1d95e4bcbe7cda323038b0a20adf1 prerequisite-patch-id: eb15c6fe043ba091ff09421b800a5c64c6fadbc4 prerequisite-patch-id: 3e926d814690c5d141dfdd4b4e73610ab40bc705 prerequisite-patch-id: f40fbc063f8b0dcfe7ab163a2f88024e0c227c18 prerequisite-patch-id: a6331e2375e48f7b33e5188d45bc36aafccc91fa prerequisite-patch-id: a66e65fb61a233ef27d193aa431de94562b8cd57 prerequisite-patch-id: a45b7540996ac9a1e12de02e1d5278b193acd8aa prerequisite-patch-id: 336252fc9dfc52aa24e8505fc502928d10ce3181 prerequisite-patch-id: 27200425d13134cd13d50909ae8c0051464e8f54 prerequisite-patch-id: 255d49a4185a7b66db8c69b8b18e133e7b659d67 prerequisite-patch-id: a2e0e8c621eda0421bf4149982a2b3e08bac7033 prerequisite-patch-id: dbb134d66fc76750199688ba1bd32b24ccc4b2b1 prerequisite-patch-id: 19bcb1efc1e67fbdafc3ecee0298721a096816d3 prerequisite-patch-id: 630518c61c5de8a41481a6f617b8167999b7501c prerequisite-patch-id: 3b1362b01bb2bb4893600ce0d6f5ae27456f13fe prerequisite-patch-id: 1f163827836c5cf29da978c91bf574670a67adb8 prerequisite-patch-id: c1bbe29954e1655e045e7eae1e6548a0a918173c prerequisite-patch-id: c333d68199f3d244b2b4b6db0a818564bf6093a5 prerequisite-patch-id: bdd15e0c8560fd1746cd2438010da548b348b0a9 prerequisite-patch-id: 5758218e08bfc71a81b208ea9b66081ee5d82de0 prerequisite-patch-id: b1ad8b53894b531291240c763a584ef75946c6bc prerequisite-patch-id: ff64b29fbf19c172e651dd60b19977e94b687571 prerequisite-patch-id: 63f2bb2fee730b2d2877c3d9425b7dd3154dbadb prerequisite-patch-id: d73808aeccb4802cd2d742e9b905a1060be435e1 prerequisite-patch-id: 3bb2c68f61077b84496c0a8809a48ac769e0fe7f prerequisite-patch-id: 36cfcb34718d61b4193e24a4edb838b37907f0cb prerequisite-patch-id: d30f224ccc74c419df33c960987c8951113a1670 prerequisite-patch-id: affa3cbfb5d6879ff11f4a7d030dc8796abcdd87 prerequisite-patch-id: 8e99169701284be360d303b8b24fa7d9a5754292 prerequisite-patch-id: 7a66fe96b5a30efabd331ccc038451ca2516a427 prerequisite-patch-id: 441c7a24e456631522572991244c49b48738d118 prerequisite-patch-id: 2ed5a5b07853d30d9575a144eecba2f4a86d0907 prerequisite-patch-id: b047430c30ba9ea274aea33a467cdb49d769884e prerequisite-patch-id: 8a03c5e8bcd4c526b93c558d550725887f932e41 prerequisite-patch-id: 89400c29b4c30dfbe8492aff1751ca583397b4f0 prerequisite-patch-id: c068d5c98389992badbc1ab7714de4ee0921c09e prerequisite-patch-id: 6de41cdca3442bf7ed5ec9b9b637cd708544b7d7 prerequisite-patch-id: 7eeadb75f4d144f35d7efcdc8378b27fe3c5e081 prerequisite-patch-id: 80aca78175e59e6de1a312a79337e9e841f41261 prerequisite-patch-id: 0e46f6ae7eb7a87dbe704fd2d7934bf9811b615d prerequisite-patch-id: 611636fc38fe413039a494c4b900f60cf5dffa03 prerequisite-patch-id: 81152a28167c5753792b6ac435f46dd43dadcb13 prerequisite-patch-id: 99a98f6d0a97f74d541080a789602715964e162e prerequisite-patch-id: 17991be339a2f7fdd69b8674cd193a592cbf3dc4 prerequisite-patch-id: 0513586ef61aef7195532855404afe1d3466242c prerequisite-patch-id: c6070b7f04fe8616d12d62da921c9894b5c71a76 prerequisite-patch-id: f8c455a58ca730f66c0b589591fe9ee8e6733ec9 prerequisite-patch-id: 693421f009c957365346d143184d4a6d2b6cc727 prerequisite-patch-id: 1cdf7c68bd7c74ad9ec5bc9f4c129bfea1c11be3 prerequisite-patch-id: 099217b842eb48e79a59d2f2fa5c490602a056b8 prerequisite-patch-id: f23965b234cadbcc690f54e92180a0ac52d5db7e prerequisite-patch-id: e5857f0a4bd5112443f90bb70188f62d23cb4183 prerequisite-patch-id: aaa2d82b279cebf88098a96f5d3271ec690dceb4 prerequisite-patch-id: 63e912653dfdadee75143008ce1c9f2a639b44c6 prerequisite-patch-id: 095f03f24e4dfe3692bca7feceedc05310f1bc97 prerequisite-patch-id: e14aa692ef4e2e069be249a88aaee7db4afeb8aa prerequisite-patch-id: c3e6caa73c9acab3a688c0f9772f3e41c3fee683 prerequisite-patch-id: fbcf6a8e3550e9b8a7c18f67f02e1b82bae8e9e1 prerequisite-patch-id: 9d5499d6bc33d541bb0b4519b2cb9f404fee27cb prerequisite-patch-id: 91e3ceed5e0502e3d92e343c191b52561f983bfa prerequisite-patch-id: 41d1a36f721b9947542a6786f07ccf70968e9a2f prerequisite-patch-id: 86f2d1a38f0e37569f7f8137ba1e613198c91c43 prerequisite-patch-id: 95f948376d7e747d7dd3e4ba23cddb587b17dada prerequisite-patch-id: 8f871fea11a893f46200c5ce913f186f644676ba prerequisite-patch-id: 4e9276dd27f5a0fbea1f87b3f8e2c5b1b413b468 prerequisite-patch-id: 5383b123921e5e09014c20e8c24172723ae93c03 prerequisite-patch-id: 71e04113564cf21297df3db17f79903eeeb8c3d1 prerequisite-patch-id: a8c48526e20f77ce6099b40e5cc78c420623090e prerequisite-patch-id: 0d6d9d90956133e15e88e0841207cdd9f2da4260 prerequisite-patch-id: 1f6e628dc3861c33ffbe17f8581e1178b729b954 prerequisite-patch-id: 24c7014f95af29b20d61e41699442100f9f9cdda prerequisite-patch-id: db308b1c39fb9b7ea77a2595a32fd8ec2f09df85 prerequisite-patch-id: d100c00aebbd8471a9886ae813ff3cea244b5139 prerequisite-patch-id: 87648b45656f8555cc6a633c88355d4fc24251cd prerequisite-patch-id: 34fdbf06c49e0e12643cee018592bcde448b03fb prerequisite-patch-id: 71492d07a460d2127f0ca3e79074b96ec0600dae prerequisite-patch-id: 365c01108dbc214e0da77f7e86b28cadcde47c2c prerequisite-patch-id: e864903614cd799d4efa78b2bf5949d969cc8b83 prerequisite-patch-id: 6b900621f04d1f16ab06c0bb69a7ddea70b3c1e0 prerequisite-patch-id: e8cc85ba90f929d1667f4b332b334a7a1d85ead6 prerequisite-patch-id: b92f1221d04fa5e8b0c67e9b2ebde85671673a19 prerequisite-patch-id: 8036b97f29f4e181c836a277bcf8f9d0a6b69d90 prerequisite-patch-id: 0d31991f2aeaab68c609fc8ca4286055cd86988c prerequisite-patch-id: 804da8732d2c9b07f0b35f683226b731ee55e25f prerequisite-patch-id: fe51d6314b54cfaa32cfaa9bf95b3f943c759465 prerequisite-patch-id: 5e3f9795cba8d97ab37b55fcb63a350c39f8c730 prerequisite-patch-id: e3c21cb3fd26347a317a8696625a9e74bc4a1fa2 prerequisite-patch-id: 8d3044ba8b424e3bd68a1c7e1e197cf882b50be5 prerequisite-patch-id: 5807b64f53658b123f3aad1d921e41822d833922 prerequisite-patch-id: b30fcb0acf847d05dc50fa0d9c172831137f0fd3 prerequisite-patch-id: 8e67e3ed93ee982f83f9f0c3a9d0ae2aa8b107dd prerequisite-patch-id: 39ef6cc42688d806514087bb51fa4f3ad2346c0b prerequisite-patch-id: 350ada556e8bf5c3f353de2d706cc65b2aad6ec3 prerequisite-patch-id: 0b8976feabc9ae7553e6806c79dc048b20f5afa3 prerequisite-patch-id: 1d892c6b36737f4fa6c98a376a5bd240d4f20921 prerequisite-patch-id: fcf1e96ff1e4b219d72910ac62e7fa7c15aa4edc prerequisite-patch-id: 12c01806b669b53f92f9e5048d0678796b972e0c prerequisite-patch-id: 686779fa483606cf0cc369a6bce56c067ac6492e prerequisite-patch-id: 457030a85cb1ebff3a133cb822673803411528e3 prerequisite-patch-id: ac3cf405eac2afe984a5c4bc6c31f46734b0d16e prerequisite-patch-id: 4b967cb66bf08b0a64a78d25237297b41aa76f03 prerequisite-patch-id: 3543b86b56555c8c9982506e5bbd77ba57579653 prerequisite-patch-id: 79e28d84f2b98c4147b14668d971b4dc9e1b3c5e prerequisite-patch-id: 2056b44efb40f2f85b0320570a4e709257dd103a prerequisite-patch-id: 93e43e1a1a4b5fb3e2af4432c292803ed7ce30a7 prerequisite-patch-id: 6995e4b4ae05a71a83adc1025b030c7e845e7a3f prerequisite-patch-id: 346cc64c11d594a6be6e8a8eed4e45125f6b659b prerequisite-patch-id: 8aa8ef133dbc09276705af46fc35962b357321b9 prerequisite-patch-id: 9a0ff6c2fd7f0803d8203d478d035b75c715a727 prerequisite-patch-id: 8103299e688c6cabce45fc1e58af6647c6a1acc9 prerequisite-patch-id: cf949768a1a14ff4ba29e1e3eb4281e862d952d3 prerequisite-patch-id: c3267351583e1001b6079928e5c0f854b84d1cf4 prerequisite-patch-id: 021cb16f9504e43e8f4576bd6fb7f2f35fb2ced9 prerequisite-patch-id: 3d62e88a6a43e92ca64b7acc2cade97d6ec330be prerequisite-patch-id: 7db0a6d2acfea4ce571de0a5491ff62df047bdf7 prerequisite-patch-id: 8c0512a3f14776ca7e2fdede7fe537b081686374 prerequisite-patch-id: 62adf61c5849d37628b3bf53d32cd5dd1b8cc0ab prerequisite-patch-id: 322a87d7e1f8b5022e7723a8247d4c9ed34890d6 prerequisite-patch-id: dc07cf5970a3f50574ad54054a47a8b3ec6fe736 prerequisite-patch-id: fb48d87a7faf36d010010f7684fe82b461d14565 prerequisite-patch-id: 27944c7fb41b4f18a23a77c3193bf0cd8d56341e prerequisite-patch-id: 5be926043cb8750446368564ca3817483e1cbba4 prerequisite-patch-id: 3947f849fc90103e1ae4f66891349047e688fbc1 prerequisite-patch-id: ea791ee66138c17800811ece3b3dc045e9b78582 prerequisite-patch-id: bc8cff73bb93328e7ebad03ae19e0ff500eab5c1 prerequisite-patch-id: 11467c89e974cdaba5430690b96b8212d98c8bf2 prerequisite-patch-id: 5ac600592361488a364f29625cdc2f4b1825fefe prerequisite-patch-id: 83aa016abad79c609c26360d75fed03c8c6a62ce prerequisite-patch-id: cd4f80e21434f00b7121bc47b31ed2497a96738a prerequisite-patch-id: bde021d358061ddf7418cf9007728e29b0a484e7 prerequisite-patch-id: d036219d9808390a95ce79eab308394a35fb11f4 prerequisite-patch-id: b5a5ddc30aa4c6eab627e90bfea924b549e72f65 prerequisite-patch-id: d60f368cd1bc31306ecd174a426dadd7d8c99c30 prerequisite-patch-id: dc5475a7173f78da07abee9e12f678be9c130324 prerequisite-patch-id: 32c40bb389b4fe60717a74f0e1d4f85027b6c536 prerequisite-patch-id: 1399adfffe1dc58ddfd8c576de8a35dc0cba686c prerequisite-patch-id: a98d8fd12f3f0e29cacff0e635627bef17e7b340 prerequisite-patch-id: 51a5ae56b1f2adfb2c32863fae668575eabd0459 prerequisite-patch-id: 33981018a5333b547be6e792f8254d53e60c6528 prerequisite-patch-id: 21b2102fe7004d64c33c560042d806c65b54c85d prerequisite-patch-id: 3b4fb2c60fe043b041d76aee56c3979439fbdc3e prerequisite-patch-id: c12d40b1babc901b613d731a2f1769ed1fd44fb4 prerequisite-patch-id: 17bb1afa675ba8929ae6b35138432aa176bec594 prerequisite-patch-id: 7181cbce5bb938f93e539a54f1b062cb40a84e50 prerequisite-patch-id: 5ddd2c15a8b6972d71bf23868fdb7e403b02f1a1 prerequisite-patch-id: a1557107aaaa0ea314daced5dddac5432573fb8e prerequisite-patch-id: 1bb4ff40995d453529bcf08bf04e96a2251e0e67 prerequisite-patch-id: a58b350e2933ca918441512081bd86f07c0e7689 prerequisite-patch-id: e5e4b5078457272c40136083ada87084b7cf789c prerequisite-patch-id: 04959264b838474b05ccfe8459daa74ea0b60345 prerequisite-patch-id: 48fad5111c84540939ce092d05894c2a7b7043d9 prerequisite-patch-id: 913efa97fcf5f87a8ea36987321fb2a4789f8456 prerequisite-patch-id: 8c7d814de0854f22e3b492f7eef9e59a586485a0 prerequisite-patch-id: 126e8575449ac1e62ec7ce8c229939caa7a8b9c4 prerequisite-patch-id: f3b43fe639f8d4bff9d019244592f9ffb48b07ff prerequisite-patch-id: 70f1a13fc509ab6b2af92c8deef537154b8f430c prerequisite-patch-id: 5544eab70ffc2eb4521bec1d9ee6b74c71f3844c prerequisite-patch-id: de4c46d605075aa3223b6aaed403ece4d66fba8e prerequisite-patch-id: 592de527a3e0f924732b7727c4b853cadce3cd9e prerequisite-patch-id: 5b6e0e030c6b1c973d747f1ca27368d1537392de prerequisite-patch-id: 33950bd38744331ed6fee227923ae2a096e6464b prerequisite-patch-id: 053f0b22e7bcaf2b55a2dfd7a77aab1fb217d083 prerequisite-patch-id: 2357c7b9b15fa3d96be0045f5f52451027fc6252 prerequisite-patch-id: 14a012c5d972452eef7a5645239b386c7d5e8c31 prerequisite-patch-id: 48b4936aca8407e6777ae731017bbec2935cc1a9 prerequisite-patch-id: aca9740b2ee2c511494b07683934a1de89e7d86f prerequisite-patch-id: 099c86a514fe01cb2a2032e7dad8f320399b8601 prerequisite-patch-id: 8479b436aa6c9da9001f7c3811d6a4a00e2aada0 prerequisite-patch-id: 1e77d57e073ac4d793b762f65f42ca76b2b57dbf prerequisite-patch-id: 656ce95c6c468774ed867c47f2d50aea8015931b prerequisite-patch-id: 90cfe32c9ca296bd41c88b6e4976789be8eab475 prerequisite-patch-id: 7e3b1cf15def469e96500b6240d03ff5e9b8c05a prerequisite-patch-id: a5ccf23a54a847cfd2d6173db9d06358d5b9c90f prerequisite-patch-id: 336ff855889a73b0153ed01b8b4a24b32b064642 prerequisite-patch-id: c4946d3e866c5ea5e29e9f260aec92d34da2582f prerequisite-patch-id: 7ea48a611e423c41d07d4023cc8a5e0933c507dc prerequisite-patch-id: ed3d2760b946edce50ea1ffacbb8f2f4e1715ab1 prerequisite-patch-id: d621c9fdf9204a7ff2a4c9a8f1107195736823a1 prerequisite-patch-id: e0aa95f44a76443f74f651fc4dd03accff527a90 prerequisite-patch-id: 279414ae4ffc8337c99cdd9fa8ab73eb68e6dc99 prerequisite-patch-id: c721eceedb3dfbba481fdcd7b3160a92f4290f5a prerequisite-patch-id: 3301643ef15b68b5476c66bff2bc431eab29fce6 prerequisite-patch-id: 2a092dc3672bd23fed9024ba86ade0197cce3204 prerequisite-patch-id: 146e8f8f3ee111997f7c92faca4985a111ecf216 prerequisite-patch-id: 0a2a5a919432f16893190a4a33246f55c1047ec2 prerequisite-patch-id: e0a2465a60391a44e688d29d00a30d72799c273e prerequisite-patch-id: f7ab2df40b9bef7967ed7ad5d9ae2264b3f2d9e2 prerequisite-patch-id: d882b8889ccc46a19b86ccedb6badafa60c555c3 prerequisite-patch-id: db26e7f4b5b15c3d4a6d7055accf4976f535ba5f prerequisite-patch-id: 3635ae4888836aaaae3f0fb64346ed51b3f12685 prerequisite-patch-id: b8bb72e2b04cec36b0238cb01938c715b4db6ad7 prerequisite-patch-id: f1130d8fb5cacda4f646e2106b087fc6d7d9d76a prerequisite-patch-id: 872802ad9bccc0f994af014558cae8deea7682a2 prerequisite-patch-id: c1dd599c33b6399b2a763e0a519413da9e2dc3fa prerequisite-patch-id: a8b65cdf7c2ce523c025090729321757bdf6f2c8 prerequisite-patch-id: 515b23018f9bf84a22ef96781de2bc0c7eae5450 prerequisite-patch-id: fe8b8168cee6cbf0aaca377f2c8e30592e6be024 prerequisite-patch-id: 608aee50b30e72d47ec152d9da2ddc38898ed2d6 prerequisite-patch-id: 63ae21dd4c9b0f033a990dc6ac681403abd0c10a prerequisite-patch-id: 1d825c30fcd43304b588297c5a0a3af7ee3a4ded prerequisite-patch-id: 5fdc7f299f5a9bff1d348e37131b72d0dcbf0957 prerequisite-patch-id: b29bd90a570449472d7820bfc503c36aede4aedc prerequisite-patch-id: 6aa35c82798141c6c1db5f0c853f0c6969fcc60a prerequisite-patch-id: 869474c4a668654613ef4e10abe9e58bbdb94bfb prerequisite-patch-id: ba103a5868dcaa23914c010a5732c9634dea51b9 prerequisite-patch-id: b3ff6608987e76a168f042a7df2deeda3b39f043 prerequisite-patch-id: 18952c1609610a5a65785b1fd35d3914b21bf3fc prerequisite-patch-id: 21173fdcb9424eda751e321fc02038f0bca17885 prerequisite-patch-id: afcde87ee923b020a729465ec6e887e3671b6602 prerequisite-patch-id: 07a0f8b4d0c7da1ec8f4bea46f70d698b19962a8 prerequisite-patch-id: 410426d26c4fe66e763214911ef1e36166761990 prerequisite-patch-id: c109d7214c9323f488fbf9b27b9c6ba598e441a3 prerequisite-patch-id: 6c30f7d0e92fe2a2ce985742aabb582ad626354a prerequisite-patch-id: a4081ca27e79b384fda669f2cb10efb7756d74b5 prerequisite-patch-id: 209103619494cbafce398646f176a1ea1e311acf prerequisite-patch-id: 04f8bde6e526c9c523fb6cd7aa3d40c3082d26f7 prerequisite-patch-id: dd5ee982f2aab771f5554a7cf193ece7324230d3 prerequisite-patch-id: 34f4213ce12ec83d772af370013251ed4f76531b prerequisite-patch-id: 0a1eadb906bbe1f5b244615bf09e90e6699d37d8 prerequisite-patch-id: 1971b249d7461d5517d086fa7339367dc5a86a00 prerequisite-patch-id: 2bbe0e9f93bef45c3e4324e1f19af6bd7aeb22ae prerequisite-patch-id: 2909f8a9d601765156261d9112a04ecf0061a68b prerequisite-patch-id: 2ef7bbb1368c47c60c0d98e83015f1ba33248e33 prerequisite-patch-id: 9058aef72f371151cef4340fdcc3e24295ebf5e5 prerequisite-patch-id: e88baf6ed04ce63125bedf1fa5228ce1ddd51f22 prerequisite-patch-id: 213a34855b0bd766b4c15f8ec48ae9c58007bcc0 prerequisite-patch-id: bf7635176955568c1d14efbc8a1c3b50eb47f83d prerequisite-patch-id: ea5d0190c1ec371565717f921892c8a2b81b42e5 prerequisite-patch-id: da1587732aed31173c82bfa3cee5b0bb1a8f9b0f prerequisite-patch-id: 54c22426e31d7e3c83bf66d73f7175d46ee60611 prerequisite-patch-id: 42ee868752b874fd1c1bb7731569fdd18029d25b prerequisite-patch-id: 33294ea8607f6b838c7dfb5abce4d92dd0563a95 prerequisite-patch-id: 9a7304ec616c171eb47832910754876cfa582fe6 prerequisite-patch-id: b20461e1d9754f34dbfe2fa33f6b3d4c68aa2151 prerequisite-patch-id: 791731294d342a2202403eed7b14c39daaaf308d prerequisite-patch-id: 7cf71b237ef4bc950f021babc045d8612cd4df82 prerequisite-patch-id: b4ca9d68148cbea4cacae600f236e88626f88d11 prerequisite-patch-id: a6e78d05393dc688b3cc7fcd6a031a8a22c9e26e prerequisite-patch-id: c031c498adb588fddf066c04075814f103f6938f prerequisite-patch-id: 05aec8a29d0829334f4154fb0b5e8b3a4616220f prerequisite-patch-id: 6cd4e6464ae30439a0aa16fb9e52e37800a13592 prerequisite-patch-id: e9e926b1779a3d8efa098fe42f480323a65d6dfc prerequisite-patch-id: c49d7353122586ca994b9b25409e6c09290fea72 prerequisite-patch-id: 8bf104d25fd46844d61b492af108b6ba8e14b5d4 prerequisite-patch-id: 1efbaca60b47b64d23565b155cbcf1d9c5486a96 prerequisite-patch-id: 41b748922287424d13077855af188c655cc147be prerequisite-patch-id: fa6049e749c5ad049b7105ffae7ac8dfbbb6f3c9 prerequisite-patch-id: 52bdd5289b12ea261922d452df37db0580e4d96e prerequisite-patch-id: 0a18c2762b105f6633c760025a867e02596565c9 prerequisite-patch-id: 3505577abcb8932ea71f535ac8884bc5dfd96329 prerequisite-patch-id: bbb6b3b2aef4d2bd6fe2665d3178d740a14573e0 prerequisite-patch-id: f68b5fa49c82b67d74a70c0ec3f2f4927ec5f829 prerequisite-patch-id: ed81d5b1e56d04df68267feb6ae30b3a48cadd88 prerequisite-patch-id: 4faca8c3b8f065d0248963e5fbbd3f013b6254d8 prerequisite-patch-id: 0614f3cfc31f6f525dcfd88e5ebe0373dec0b751 prerequisite-patch-id: 07c75a0097bb74cef8937af62ff8426f154b2eea prerequisite-patch-id: 9e22a37caa302aa414f96db471257a8256c460c6 prerequisite-patch-id: e609f3c850c07096e94ff4b6765c5d835341f85c prerequisite-patch-id: 6c114d1e8c940bb1efb7be6f4789a9ce2482e9b0 prerequisite-patch-id: d4dcbbbffb59ec82ad750c6c2fafd242b820029a prerequisite-patch-id: 3686f018ca4987d5ba8e3e715edfe6bb60f2986a prerequisite-patch-id: 25665d4233ea2eae4652f8601862dee016ce01a3 prerequisite-patch-id: 3293dfa5766a90fde8d833ec6fae3bdedbd2b743 prerequisite-patch-id: 07bf0800af901b2c198baef2508a1e46e29b0548 prerequisite-patch-id: 976625eb80128d2b7be4f80e5e90049101d1795a prerequisite-patch-id: 528cf98a1b9b6535bc57f6421abb907bc84c3adc prerequisite-patch-id: 441d09e8f03f6aac841a84298f096514dcce4a14 prerequisite-patch-id: 029dab5e89ccd9f4032c6f72b9539dcdfefdd516 prerequisite-patch-id: 49512b60feb1fafdd4d26327def1952c5152a837 prerequisite-patch-id: 70a4090bae40170ac75a93a608967b978c40803e prerequisite-patch-id: f766ed31d9efb069a1efd0d583564df531881760 prerequisite-patch-id: c21da95463701ee1d3d77cc81ac056660644b663 prerequisite-patch-id: 4b98c2dfd33a7c7a162ab38a5d154659bf0f99c4 prerequisite-patch-id: be06360abd25d921904cf9636e2d7e5a8c10d202 prerequisite-patch-id: 935ac21bed09286b34e7e2432841c1456e95c076 prerequisite-patch-id: 89cd2f96db2d13130f9e4301389eae707bc66ea1 prerequisite-patch-id: 3576be703371d049aa43170dc47ec8285b8f739e prerequisite-patch-id: cf17133079bca2eab28dde7c3515db1cf845b923 prerequisite-patch-id: 6e4fda9fcb8a50eb38e92856b8cb8c8f563c0cc4 prerequisite-patch-id: 6bc98c1ce019151b894c168e69bb7ee4d8b2a219 prerequisite-patch-id: 2e7075a9c694f760b0619caba8cda13696713cb2 prerequisite-patch-id: c46b69d250cbd9d7465f60a4ddd4f5ed01aee954 prerequisite-patch-id: 168fd29a48d93126fa9b012b8039f2e1a85d9e16 prerequisite-patch-id: d81aff46fd115579f95452bf7196aaee39a7f2fc prerequisite-patch-id: 114e7e961146ad2334544bd0898c20f78b77ad92 prerequisite-patch-id: 03cf1b9527a95cf52ea0cd0321e72cbdf0d4b30b prerequisite-patch-id: 9f5e697fcedecec18d761f70fef2efe6ed9c40d7 prerequisite-patch-id: 796351eab813d571b37151a2f26a30473f63c072 prerequisite-patch-id: 0ce1d63034dc5f93d386dde5553ce336b5a50fb8 prerequisite-patch-id: 5a1ba48be7dc0df38dcf34a8c199ef06caea1741 prerequisite-patch-id: 69678a77e1b849c4213d81fee3726117a746387f prerequisite-patch-id: abbf0c45f36b0ef5e62781155781376a49d9651a prerequisite-patch-id: 1d98ac5489f94e0255e4a94afd79ca45b378375c prerequisite-patch-id: cbbf3755e2b5d960ad5a85485f3100e38d10d2f9 prerequisite-patch-id: 5bac7e79f93043039569159ff9dd3a711a3cf30b prerequisite-patch-id: 973ee09300f370a69b2f5c19351dd39029dec0e1 prerequisite-patch-id: c244af405961146f4b8cb6887a055f43bfcd157b prerequisite-patch-id: 71cea16d858d66b2a6efe625bb9ed354dc5acd6a prerequisite-patch-id: 4022d1b2e13b49b7f5faeffdd77eda7de04c81b6 prerequisite-patch-id: ca15cbd1f60158faa8f6a14f087b8c6b78360a7a prerequisite-patch-id: 014f3899b539232d7360f5d737893ff96dd3c73f prerequisite-patch-id: b8283c0823abf7d450a52c5de8f48199e6f3dcf7 prerequisite-patch-id: ccad167002f058af95a49f414d0734b95a24acbc prerequisite-patch-id: 54f759daef66caf36be9d74d3135b0433c5c94c6 prerequisite-patch-id: 9af5b7587b09645c73a960b170c1e6aeac719d51 prerequisite-patch-id: dd641bd41e17a63b9803dbc429bd29c26a2dbbf5 prerequisite-patch-id: 231797d786c127f14cac709f202b683733d22f16 prerequisite-patch-id: d82f7c639abad96af28cfa929180505f2c2cd940 prerequisite-patch-id: 55af926f8d1b0e2457698431b409b9e092be82a7 prerequisite-patch-id: 87fd4fb8ae7fc19942d98efd072f4eec03c31541 prerequisite-patch-id: e8f9a6ee99d7d49e9c35150319f3c69f64d4a007 prerequisite-patch-id: 14a4835027453d93e94c3e17ce5371fbe81bd511 prerequisite-patch-id: 281804b2eaa91b74a2ee6a9f45a9c5e9c62c827d prerequisite-patch-id: ad46227428bed01e38f7d69ccb1fbaac36b2bf05 prerequisite-patch-id: 8daa8baf98b530196316b883d6a3c80b579c9f94 prerequisite-patch-id: f26424fcd7bebb346689764b4c101cf9094264ae prerequisite-patch-id: e9f0d76d26a2990463d8684deb333c58056fed78 prerequisite-patch-id: c9ec8361cb05ee702067635af97203a7bbbeb028 prerequisite-patch-id: 320f2bdb2a1781541bf1cdc002683549ccb684af prerequisite-patch-id: f9821fbdcc0e3e1c2ba9f866fb195b23a5c9c35c prerequisite-patch-id: a6f251ecb9f42674b3a24f09150a5887c3c35bea prerequisite-patch-id: b59957c9fc79336288816e1ac2118f5cdab6920c prerequisite-patch-id: 2c7a475818b37028fe54565ea812627afe8ac85e prerequisite-patch-id: 0db1b943d147a077174296c049482482a488f459 prerequisite-patch-id: 0d7309668668bf3266c258aa0cd2842b94dd5489 prerequisite-patch-id: 5169abeb79281614711d6c3715e9c49877d73f4f prerequisite-patch-id: af6e888a3a4375bd32ffc8edc687b258282a42ea prerequisite-patch-id: e4397b5e364d100b2c9b04fe1aebfe32175fe2b7 prerequisite-patch-id: be777c2072c3b225c64c5ed6d895d8ce11a120b6 prerequisite-patch-id: b4ccca6e576dd459217958b62c5c393261bea75b prerequisite-patch-id: e8a0cc043b8f7d5c05f13cf794f0e93b3fb12a55 prerequisite-patch-id: eea7a05f17854a8d5be8e53878b7840eaf02eb6c prerequisite-patch-id: b722ded9432b3b07ec630348442ec3e3cb6c50c8 prerequisite-patch-id: 7b644d85bfbf8c04d7aee2b92a6c46fe81a93ad5 prerequisite-patch-id: cfd8b8565e899462281b67e2581cce3aa9b332d5 prerequisite-patch-id: 1e696f94cbb6f93ae93783065ba9c93dacda0722 prerequisite-patch-id: 43b559ed2bab572ee55d81e99aa81b0834bb732c prerequisite-patch-id: be04ad663d83ebcc5ba1602f0782f35f4e066f9e prerequisite-patch-id: 402f5894d37f014365a91d32ee28b3f8f3928549 prerequisite-patch-id: e5e5d9b49560ed554393e216d4d1147b8c4378eb prerequisite-patch-id: b8ae60b05e1c5186e96bb1377c921acca86b576a prerequisite-patch-id: 8da60c42419cd5c53d5a585553c3268e7db6d26d prerequisite-patch-id: d1ede4f2ec20039b36f834021d5efa86639a7ea3 prerequisite-patch-id: c9f5d4fd8c87ac067c27f37dd8284a2fa1b15199 prerequisite-patch-id: 499b2ee76da91480d91fc75eb698323cb1bd313d prerequisite-patch-id: c8972689a39e49ba123b346cfcc924511530a15f prerequisite-patch-id: 70e1bc7731a09423f427b80a04dfbd6c3c48f5a0 prerequisite-patch-id: 601cadeeb22e344ab56d4b9f2be8695f3765ab4e prerequisite-patch-id: 98ec373cfee948eb7ad7ffbb4eccbe67cfcec51c prerequisite-patch-id: dcdacd4ac1d22f1aa4e2bbb98fe2111e63074d73 prerequisite-patch-id: 956dc0c212ef6b83a3ac9c630d619604950d586f prerequisite-patch-id: 9021232e0741e282cff0609feecde4c33f65219f prerequisite-patch-id: ffc7db8709aef629fd09c4806c4ffa482efd2df6 prerequisite-patch-id: 56c4f39138f16a9c0aee966eaee9d473476d318e prerequisite-patch-id: 24884a6be2069b416cb40e0ae043311cf8ccc30a prerequisite-patch-id: 380f69b6e753edc999c6563ec497361871281990 prerequisite-patch-id: e28fef63466afe1858ad3ce78da29f151c2816db prerequisite-patch-id: e18cad4d63e0a2b095f194bd9ba8fbcb77f53089 prerequisite-patch-id: 49644ea418292af8fce2deba2b8a6983b65ac9cd prerequisite-patch-id: f22eaa8313393749b6e6cced30f453663838a3a2 prerequisite-patch-id: fec92df6c855506a7f63cf43734790c6ce4dfacf prerequisite-patch-id: bc372c8ea2b9237e543a485ea1887a077b2d8071 prerequisite-patch-id: 15ec70795e4ff5aea575ff250d89d80b030671f1 prerequisite-patch-id: f9d9836657af636c14e875755423357c58830026 prerequisite-patch-id: e96ad68560b4551e0ad1bfb9f7e9474a35ac5bdf prerequisite-patch-id: b50b946c2912ed91dd6d7858ee8138b02fad552e prerequisite-patch-id: 3497e5bf3146adb95bafbb8f494619ef54284e9f prerequisite-patch-id: 42b6d6088d8b0cd19965cb0d70247d787f8720bf prerequisite-patch-id: d8bffd0020c35f610988b6ca985c84b84d859f55 prerequisite-patch-id: 61d9dfa91c3a0ed58f16d84dc411aa4bbbcda647 prerequisite-patch-id: 6f14f4c6db9d14c8c04ca76bcc4f304dd1f0b2d4 prerequisite-patch-id: 4d6047a747eb362061ea8c06511c8ce2d6f3e35b prerequisite-patch-id: d657fb62bb289f69dc4e862847ebf669a7aa17e9 prerequisite-patch-id: a8f5f6d5d334b9ac87eead6720a0a95e3b3926cc prerequisite-patch-id: 99ddc8c1addecb4878a5953e049f60f81869efc0 prerequisite-patch-id: e638366c69485e91a9a041d316062382fe309f7e prerequisite-patch-id: 3f812a81c190fda806e0b5928d31a4b48170ca2a prerequisite-patch-id: 1b8be8654ba06d1983dde80fe8ecf5b56966ea70 prerequisite-patch-id: 7a36f3a7e25bd07528e36a120245c9087d5fa474 prerequisite-patch-id: 61b79c8526f84173aa2457a0340af1854a9fdf29 prerequisite-patch-id: bf942c5ada8278ac0a4e6cc54fab9b0125da8bd7 prerequisite-patch-id: a7a6b9166ead25edf3522a3795e547e1209b6208 prerequisite-patch-id: 7c569bbec258ce9163c2b3e8a29247235a0e9fef prerequisite-patch-id: cdc5330f6ed28b3e6945f940f8bb29095a261de8 prerequisite-patch-id: 39c1d970ce8100d15b69f28d67d9b5ed2e760b0b prerequisite-patch-id: 032758962b70516d8cd96c3bd8e9f8d00ae3c4e8 prerequisite-patch-id: 3ed44f3489f102b25c235dae077ff179c03ff58c prerequisite-patch-id: af5035a0fb9b05deaf36e26e0e7be17744a91a6d prerequisite-patch-id: a0b75560254c4c566e9e42205f49f75ce8418dfc prerequisite-patch-id: b0c905d0b580fa6cab405b90d3374c822f516da6 prerequisite-patch-id: 0c326c89151085faf9834f0a2bbf7f8232c250a5 prerequisite-patch-id: 3205d8fd807091417244c64dde37a8400cd62452 prerequisite-patch-id: e4e41d97224762638671e64677edcde404157e85 prerequisite-patch-id: 225ede112091f9218b7e9bcc56eabf38b618391c prerequisite-patch-id: 1fc27c5ced2534e10ddc25dc82dfb71bcfaaa909 prerequisite-patch-id: bf9f6c2efa2216af0f1787dc1582e2cec821f19e prerequisite-patch-id: 69acf79d4013ebdc3e7dfb4882bbe19498c820a5 prerequisite-patch-id: 900de3149fa074c39e463d859ccdf208ce120a76 prerequisite-patch-id: 196fd00997b26669da59cf6495fa390f42be05f4 prerequisite-patch-id: 8abd87da6210c054402d24e15d1b97d586f40815 prerequisite-patch-id: 5c561982f22f68875142001ea5ff12e4d205297e prerequisite-patch-id: d8b8d605ae1bdff6a21466d03630142b976ba66b prerequisite-patch-id: 8e48f249db6a690de197dc8374579b3794de3c88 prerequisite-patch-id: f642d0473e901d52cc03cf4865b99adc992d45bd prerequisite-patch-id: 594b94ded0193cbdb95472ecfa5c2475d8b555c8 prerequisite-patch-id: 1122b34d719074190f7b33d0d67ff5d1d3e7f5db prerequisite-patch-id: 1ce897362b190842dcd9a7877c705171fdd8ade4 prerequisite-patch-id: 20f0d87857211e3951ddbc86eea58150c0d8dcaf prerequisite-patch-id: 22baa06d890ddd086562432ce444abd789eec2d0 prerequisite-patch-id: effedb461bf07207195201682fb9813fc17d6a85 prerequisite-patch-id: ab70003679195a1dd4a64c5c1213c6739d1acdea prerequisite-patch-id: ec7d2e38795d4c81640b33dff7b3c26ac3042735 prerequisite-patch-id: d57c87225c6807cd6b5a49440d966ff82be2153d prerequisite-patch-id: 22b233d97093f5e14419893ed434a9b12bec252c prerequisite-patch-id: adc1a53f933b395000482937c3aea200e17868e4 prerequisite-patch-id: 315d800dc49e65f6a814116b442f06c66d9e8cf8 prerequisite-patch-id: 25a2ac89a85ef047f409348d57ebe7abeb9fe9fd prerequisite-patch-id: db75dca32b49336a1eecf6e23f88d300cecb4921 prerequisite-patch-id: c9a72ac043afbc123fd8f88d48882cfc23113fe1 prerequisite-patch-id: e51c974df61f6e45a0b6e378935a1e9d96e78b70 prerequisite-patch-id: 75fea1aad424875aa83d08decd7157d906089d17 prerequisite-patch-id: a2409b936bff7968ec1dd058e9a3820adbe347d1 prerequisite-patch-id: 0260f7cb7484c8f81ebf82472b8cf183d50b2d42 prerequisite-patch-id: 5f8b7850e95530fe96a6c5cdd32fd5b21beb5515 prerequisite-patch-id: 868b7feb1c99883f3237752e4809a364ce156683 prerequisite-patch-id: 6f6d4d9f2af20032c8701c58817e7b6936b2ab71 prerequisite-patch-id: 4a9174d8f8621df93d33a3dbf27c162375de2b73 prerequisite-patch-id: 8d293bfeee3dfde2791076595ff41afe587cbc7b prerequisite-patch-id: 2477df553856797d1c83032d459a8969a3aa7ed3 prerequisite-patch-id: e88a50fafd7a64f2b6b6f4c18f23e435df1ee70e prerequisite-patch-id: 6a41833a45886c45cc8b2558214c9d7e66f9df9a prerequisite-patch-id: a04b426a01b37a850241890c608f7ef786542812 prerequisite-patch-id: ff2e6388d3b57a45324d0f6092ac925aaee2768f prerequisite-patch-id: 9174bbe91735dc9c6a808b029ed16a494753ff79 prerequisite-patch-id: 949fec4f42bcbdbd953996ca3d003cc42ae72e42 prerequisite-patch-id: 338c112c7fd7d029a7aa2ee9a71983fd99aeafa1 -- 2.40.1 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-gnu-commencement-glibc-final-Use-libc-for-target-for.patch --] [-- Type: text/x-patch, Size: 1271 bytes --] From 380aaa334c89af68f1183e5120dc238b18f0cd6e Mon Sep 17 00:00:00 2001 Message-Id: <380aaa334c89af68f1183e5120dc238b18f0cd6e.1685682827.git.janneke@gnu.org> In-Reply-To: <ee989048c46b4123232aeb49c4b1bfe14cb10037.1685682827.git.janneke@gnu.org> References: <ee989048c46b4123232aeb49c4b1bfe14cb10037.1685682827.git.janneke@gnu.org> From: Janneke Nieuwenhuizen <janneke@gnu.org> Date: Thu, 1 Jun 2023 23:40:49 +0200 Subject: [PATCH 2/2] gnu: commencement: glibc-final: Use libc-for-target for source too. * gnu/packages/commencement.scm (glibc-final)[source]: Use libc (libc-for-target), instead of glibc. --- gnu/packages/commencement.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7df5c9b5c9..2477114ed7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3072,7 +3072,7 @@ (define/system-dependent glibc-final (let ((libc (libc-for-target))) (package/inherit libc (name "glibc") - (source (bootstrap-origin (package-source glibc))) + (source (bootstrap-origin (package-source libc))) (inputs `(("static-bash" ,static-bash-for-glibc) ,@(alist-delete "static-bash" -- 2.40.1 [-- Attachment #4: Type: text/plain, Size: 164 bytes --] -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd. 2023-06-02 5:18 ` [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd Janneke Nieuwenhuizen @ 2023-06-08 8:17 ` Janneke Nieuwenhuizen 2023-06-14 9:29 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 0 siblings, 1 reply; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-06-08 8:17 UTC (permalink / raw) To: Josselin Poiret; +Cc: Ludovic Courtès, 63641 Janneke Nieuwenhuizen writes: Hi! > Josselin Poiret via Guix-patches via writes: > > Hello again! > >> From: Josselin Poiret <dev@jpoiret.xyz> >> > [..] > >> * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash, >> glibc-final): Use libc-for-target. > > As discussed on IRC, I found that we're still building glibc-2.35 during > commencement. I overlooked that this recent patch of yours made these > changes in commencement, so I already made patches for this (attached). Even with these patches (on wip-hurd now), gcc-toolchain still depends on glibc-2.35 for offload builds, as you can see when doing ./pre-inst-env guix build --system=i568-gnu -d gcc-toolchain from GNU/Linux. When running this same build in a childhurd, the glibc-2.35 dependency is gone. Note that gcc-final, i.e. ./pre-inst-env guix build --system=i568-gnu -d \ -e '(@@ (gnu packages commencement) gcc-final)' does not depend ond glibc-2.35, but both glibc-final and glibc-final-with-bootstrap-bash build 2.35 when using --system. I've tried some things and don't know how to fix this. Greetings, Janneke PS: I have patches for glibc-locales/hurd and glibc-utf8-locales/hurd that seem to work OK, but I'm not sure if we even want/need those? -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-06-08 8:17 ` Janneke Nieuwenhuizen @ 2023-06-14 9:29 ` Ludovic Courtès 2023-06-14 10:33 ` Janneke Nieuwenhuizen 0 siblings, 1 reply; 28+ messages in thread From: Ludovic Courtès @ 2023-06-14 9:29 UTC (permalink / raw) To: Janneke Nieuwenhuizen; +Cc: Josselin Poiret, 63641 [-- Attachment #1: Type: text/plain, Size: 1340 bytes --] Hello Janneke & Josselin, Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > Janneke Nieuwenhuizen writes: [...] >> As discussed on IRC, I found that we're still building glibc-2.35 during >> commencement. I overlooked that this recent patch of yours made these >> changes in commencement, so I already made patches for this (attached). > > Even with these patches (on wip-hurd now), gcc-toolchain still depends > on glibc-2.35 for offload builds, as you can see when doing > > ./pre-inst-env guix build --system=i568-gnu -d gcc-toolchain > > from GNU/Linux. When running this same build in a childhurd, the > glibc-2.35 dependency is gone. Note that gcc-final, i.e. > > ./pre-inst-env guix build --system=i568-gnu -d \ > -e '(@@ (gnu packages commencement) gcc-final)' > > does not depend ond glibc-2.35, but both glibc-final and > glibc-final-with-bootstrap-bash build 2.35 when using --system. Turns out that this was because ‘%final-inputs’ now also needs to be parameterized by system type so it returns the right ‘glibc-final’ package. Patch below. Josselin, Janneke: could you squash this with the original ‘libc-for-target’ patch? (Eventually we should update callers of ‘standard-packages’ so they pass the ‘system’ argument.) Thanks, Ludo’. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 7555 bytes --] diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9435161969..7fb02cb3e8 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1677,6 +1677,6 @@ (define-public (%final-inputs) "Return the list of \"final inputs\"." ;; Avoid circular dependency by lazily resolving 'commencement'. (let ((iface (resolve-interface '(gnu packages commencement)))) - (module-ref iface '%final-inputs))) + ((module-ref iface '%final-inputs) (%current-system)))) ;;; base.scm ends here diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 055e14ba68..fb67b272a1 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3406,45 +3406,49 @@ (define sed-final (package/inherit sed (native-inputs `(("perl" ,perl-boot0)))))) (define-public %final-inputs - ;; Final derivations used as implicit inputs by 'gnu-build-system'. We - ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are - ;; used for origins that have patches, thereby avoiding circular - ;; dependencies. - (let ((finalize (compose with-boot6 - package-with-bootstrap-guile))) - `(,@(map (match-lambda - ((name package) - (list name (finalize package)))) - `(("tar" ,tar) - ("gzip" ,gzip) - ("bzip2" ,bzip2) - ("file" ,file) - ("diffutils" ,diffutils) - ("patch" ,patch) - ("findutils" ,findutils) - ("gawk" ,gawk))) - ("sed" ,sed-final) - ("grep" ,grep-final) - ("xz" ,xz-final) - ("coreutils" ,coreutils-final) - ("make" ,gnu-make-final) - ("bash" ,bash-final) - ("ld-wrapper" ,ld-wrapper) - ("binutils" ,binutils-final) - ("gcc" ,gcc-final) - ("libc" ,glibc-final) - ("libc:static" ,glibc-final "static") - ("locales" ,glibc-utf8-locales-final)))) + ;; The 'glibc-final' package is not the same depending on what system is + ;; targeted, so this whole list must be parameterized. + (mlambda (system) + ;; Final derivations used as implicit inputs by 'gnu-build-system'. We + ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are + ;; used for origins that have patches, thereby avoiding circular + ;; dependencies. + (let ((finalize (compose with-boot6 + package-with-bootstrap-guile))) + `(,@(map (match-lambda + ((name package) + (list name (finalize package)))) + `(("tar" ,tar) + ("gzip" ,gzip) + ("bzip2" ,bzip2) + ("file" ,file) + ("diffutils" ,diffutils) + ("patch" ,patch) + ("findutils" ,findutils) + ("gawk" ,gawk))) + ("sed" ,sed-final) + ("grep" ,grep-final) + ("xz" ,xz-final) + ("coreutils" ,coreutils-final) + ("make" ,gnu-make-final) + ("bash" ,bash-final) + ("ld-wrapper" ,ld-wrapper) + ("binutils" ,binutils-final) + ("gcc" ,gcc-final) + ("libc" ,glibc-final) + ("libc:static" ,glibc-final "static") + ("locales" ,glibc-utf8-locales-final))))) (define-public canonical-package - (let ((name->package (fold (lambda (input result) - (match input - ((_ package . outputs) - (vhash-cons (package-full-name package) - package result)))) - vlist-null - `(("guile" ,guile-final) - ,@%final-inputs)))) + (let ((name->package (mlambda (system) + (fold (lambda (input result) + (match input + ((_ package . outputs) + (vhash-cons (package-full-name package) + package result)))) + vlist-null + `(("guile" ,guile-final) + ,@(%final-inputs system)))))) (lambda (package) "Return the 'canonical' variant of PACKAGE---i.e., if PACKAGE is one of the implicit inputs of 'gnu-build-system', return that one, otherwise return @@ -3454,7 +3458,8 @@ (define-public canonical-package COREUTILS-FINAL vs. COREUTILS, etc." ;; XXX: This doesn't handle dependencies of the final inputs, such as ;; libunistring, GMP, etc. - (match (vhash-assoc (package-full-name package) name->package) + (match (vhash-assoc (package-full-name package) + (name->package (%current-system))) ((_ . canon) ;; In general we want CANON, except if we're cross-compiling: CANON ;; uses explicit inputs, so it is "anchored" in the bootstrapped @@ -3536,7 +3541,8 @@ (define* (make-gcc-toolchain gcc ;; install everything that we need, and (2) to make sure ld-wrapper comes ;; before Binutils' ld in the user's profile. (inputs `(("gcc" ,gcc) - ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper"))) + ("ld-wrapper" ,(car (assoc-ref (%final-inputs (%current-system)) + "ld-wrapper"))) ("binutils" ,binutils-final) ("libc" ,libc) ("libc-debug" ,libc "debug") diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3308302472..c1aa187c42 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -266,13 +266,13 @@ (define (package-with-restricted-references p refs) p)) \f -(define (standard-packages) +(define* (standard-packages #:optional (system (%current-system))) "Return the list of (NAME PACKAGE OUTPUT) or (NAME PACKAGE) tuples of standard packages used as implicit inputs of the GNU build system." ;; Resolve (gnu packages commencement) lazily to hide circular dependency. (let ((distro (resolve-module '(gnu packages commencement)))) - (module-ref distro '%final-inputs))) + ((module-ref distro '%final-inputs) system))) (define* (lower name #:key source inputs native-inputs outputs target @@ -303,7 +303,7 @@ (define* (lower name (standard-cross-packages target 'host) '()) ,@(if implicit-inputs? - (standard-packages) + (standard-packages system) '()))) (host-inputs (if target inputs '())) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 9676271542..02716abc12 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -228,7 +228,8 @@ (define (options->update-specs opts) (let* ((input->package (match-lambda ((name (? package? package) _ ...) package) (_ #f))) - (final-inputs (map input->package %final-inputs)) + (final-inputs (map input->package + (%final-inputs (%current-system)))) (core (append final-inputs (append-map (compose (cut filter-map input->package <>) package-transitive-inputs) ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-06-14 9:29 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès @ 2023-06-14 10:33 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-06-14 10:33 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Josselin Poiret, 63641 Ludovic Courtès writes: Hello Ludo, Josselin, >>> As discussed on IRC, I found that we're still building glibc-2.35 during >>> commencement. I overlooked that this recent patch of yours made these >>> changes in commencement, so I already made patches for this (attached). >> >> Even with these patches (on wip-hurd now), gcc-toolchain still depends >> on glibc-2.35 for offload builds, as you can see when doing >> >> ./pre-inst-env guix build --system=i568-gnu -d gcc-toolchain >> >> from GNU/Linux. When running this same build in a childhurd, the >> glibc-2.35 dependency is gone. Note that gcc-final, i.e. >> >> ./pre-inst-env guix build --system=i568-gnu -d \ >> -e '(@@ (gnu packages commencement) gcc-final)' >> >> does not depend ond glibc-2.35, but both glibc-final and >> glibc-final-with-bootstrap-bash build 2.35 when using --system. > > Turns out that this was because ‘%final-inputs’ now also needs to be > parameterized by system type so it returns the right ‘glibc-final’ > package. Patch below. > > Josselin, Janneke: could you squash this with the original > ‘libc-for-target’ patch? > > (Eventually we should update callers of ‘standard-packages’ so they pass > the ‘system’ argument.) Beautiful, thanks! As libc-for-target is Josselin's patch, I kept it as a separate "squash! ..." commit right now, adding a changelog message https://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-hurd&id=1d3b66230f7d5730ce50b654f4b3a83cc28859e7 and put it on top of of my earlier "squash! ..." commit for the libc-for-target patch https://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-hurd&id=81455d49bac2c8cf3f0f1663773a95b22e6ebc7d for easier reading/revieving by Josselin, and squashing should be trivial. I have reset the "wip-hurd" branch, and as discussed on IRC plan to would like to rename it to "hurd-team", possibly later today. In other news, I have built all dependencies needed for `guix' natively using (the previous) "wip-hurd" branch. Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (4 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-24 8:12 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3 Josselin Poiret via Guix-patches via ` (3 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/hurd.scm (gnumach-headers): Update to 1.8+git20221224. --- gnu/packages/hurd.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 314e2b5a3c..d44962ae55 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -68,7 +68,7 @@ (define (hurd-source-url version) (define-public gnumach-headers (package (name "gnumach-headers") - (version "1.8+git20220827") ;; This is an upstream tag + (version "1.8+git20221224") ;; This is an upstream tag (source (origin (method git-fetch) @@ -78,8 +78,7 @@ (define-public gnumach-headers (file-name (git-file-name "gnumach" version)) (sha256 (base32 - "07qlaf8vw029y7xdnhjyiiyn788zjzwmyzj79inz7idpswqsnyhf")) - (patches (search-patches "gnumach-add-missing-const_mach_port_name_array_t-type.patch")))) + "0f49zqxf64ds75rmskizpybl2mw7sxs05k59gjp3pgspvr87w7gs")))) (build-system gnu-build-system) (arguments `(#:phases -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224. 2023-05-22 9:04 ` [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224 Josselin Poiret via Guix-patches via @ 2023-05-24 8:12 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-24 8:12 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Josselin Poiret via Guix-patches via writes: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/hurd.scm (gnumach-headers): Update to 1.8+git20221224. > --- > gnu/packages/hurd.scm | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) LGTM! -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (5 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224 Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-23 12:17 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216 Josselin Poiret via Guix-patches via ` (2 subsequent siblings) 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/hurd.scm (mig): Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3. --- gnu/packages/hurd.scm | 74 +++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index d44962ae55..61d8774075 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -98,49 +98,47 @@ (define-public gnumach-headers (license gpl2+))) (define-public mig - (package - (name "mig") - (version "1.8+git20220827") - (source (origin - (method url-fetch) - ;; XXX: Version 2.35 of glibc can only be built with an - ;; unreleased version of MiG: - ;; <https://lists.gnu.org/archive/html/bug-hurd/2023-03/msg00025.html>. - ;; It cannot be fetched from Git though, as the extra dependency - ;; on Autoconf/Automake would complicate bootstrapping. - (uri (string-append "mirror://gnu/guix/mirror/mig-" - version ".tar.gz")) - (sha256 - (base32 - "163d37s9lscd6zxyfng421m9nl857464mgjj90xsrcl5ykbng5p2")) - (patches (search-patches "mig-cpu.h-generation.patch")))) - (build-system gnu-build-system) - ;; Flex is needed both at build and run time. - (inputs (list gnumach-headers flex)) - (native-inputs (list flex bison)) - (arguments - (list #:tests? #f - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'avoid-perl-dependency - (lambda* (#:key build inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - ;; By default 'mig' (or 'TARGET-mig') uses Perl to - ;; compute 'libexecdir_rel'. Avoid it. - (substitute* (find-files bin "mig$") - (("^libexecdir_rel=.*") - "libexecdir_rel=../libexec\n")))))))) - (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html") - (synopsis "Mach 3.0 interface generator for the Hurd") - (description - "GNU MIG is the GNU distribution of the Mach 3.0 interface generator + (let ((revision "1") + (commit "04bfe7a91223ba15d868f7165e49328b1c6e86c3")) + (package + (name "mig") + (version (git-version "1.8" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/mig.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zw2w3hnz76f9602znshciqabylmvavx0h04y01qjlmhd9wh8iw5")))) + (build-system gnu-build-system) + ;; Flex is needed both at build and run time. + (inputs (list gnumach-headers flex)) + (native-inputs (list autoconf automake flex bison)) + (arguments + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'avoid-perl-dependency + (lambda* (#:key build inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + ;; By default 'mig' (or 'TARGET-mig') uses Perl to + ;; compute 'libexecdir_rel'. Avoid it. + (substitute* (find-files bin "mig$") + (("^libexecdir_rel=.*") + "libexecdir_rel=../libexec\n")))))))) + (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html") + (synopsis "Mach 3.0 interface generator for the Hurd") + (description + "GNU MIG is the GNU distribution of the Mach 3.0 interface generator MIG, as maintained by the GNU Hurd developers for the GNU project. You need this tool to compile the GNU Mach and GNU Hurd distributions, and to compile the GNU C library for the Hurd. Also, you will need it for other software in the GNU system that uses Mach-based inter-process communication.") - (license gpl2+))) + (license gpl2+)))) (define-public hurd-headers ;; This commit is now slightly behind 0.9.git20220818 as this one needs a -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3. 2023-05-22 9:04 ` [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3 Josselin Poiret via Guix-patches via @ 2023-05-23 12:17 ` Janneke Nieuwenhuizen 0 siblings, 0 replies; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-23 12:17 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 [-- Attachment #1: Type: text/plain, Size: 445 bytes --] Josselin Poiret via Guix-patches via writes: Hi, > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/hurd.scm (mig): Update to > 04bfe7a91223ba15d868f7165e49328b1c6e86c3. Did you have a specific reason not to use v1.8+git20230520, or was that tagged after you created the patch set? I've tested with that version (see https://gitlab.com/janneke/guix/-/tree/wip-hurd22) and it seems to work fine (see attached). Greetings, Janneke [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: mig-v1.8+git20230520.patch --] [-- Type: text/x-patch, Size: 3978 bytes --] diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index ae8aff3760..5479940326 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -100,47 +100,45 @@ (define-public gnumach-headers (license gpl2+))) (define-public mig - (let ((revision "1") - (commit "04bfe7a91223ba15d868f7165e49328b1c6e86c3")) - (package - (name "mig") - (version (git-version "1.8" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/hurd/mig.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0zw2w3hnz76f9602znshciqabylmvavx0h04y01qjlmhd9wh8iw5")))) - (build-system gnu-build-system) - ;; Flex is needed both at build and run time. - (inputs (list gnumach-headers flex)) - (native-inputs (list autoconf automake flex bison)) - (arguments - (list #:tests? #f - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'avoid-perl-dependency - (lambda* (#:key build inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - ;; By default 'mig' (or 'TARGET-mig') uses Perl to - ;; compute 'libexecdir_rel'. Avoid it. - (substitute* (find-files bin "mig$") - (("^libexecdir_rel=.*") - "libexecdir_rel=../libexec\n")))))))) - (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html") - (synopsis "Mach 3.0 interface generator for the Hurd") - (description - "GNU MIG is the GNU distribution of the Mach 3.0 interface generator + (package + (name "mig") + (version "1.8+git20230520") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/mig.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10r0fdjqjzqsy6ajb21rifvhw0wpjvrw6a1zdyliqlzqny5k0qlz")))) + (build-system gnu-build-system) + ;; Flex is needed both at build and run time. + (inputs (list gnumach-headers flex)) + (native-inputs (list autoconf automake flex bison)) + (arguments + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'avoid-perl-dependency + (lambda* (#:key build inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + ;; By default 'mig' (or 'TARGET-mig') uses Perl to + ;; compute 'libexecdir_rel'. Avoid it. + (substitute* (find-files bin "mig$") + (("^libexecdir_rel=.*") + "libexecdir_rel=../libexec\n")))))))) + (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html") + (synopsis "Mach 3.0 interface generator for the Hurd") + (description + "GNU MIG is the GNU distribution of the Mach 3.0 interface generator MIG, as maintained by the GNU Hurd developers for the GNU project. You need this tool to compile the GNU Mach and GNU Hurd distributions, and to compile the GNU C library for the Hurd. Also, you will need it for other software in the GNU system that uses Mach-based inter-process communication.") - (license gpl2+)))) + (license gpl2+))) (define-public hurd-headers ;; This commit is now slightly behind 0.9.git20220818 as this one needs a [-- Attachment #3: Type: text/plain, Size: 164 bytes --] -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216. 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (6 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3 Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 ` Josselin Poiret via Guix-patches via 2023-05-24 8:48 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 2023-05-23 12:17 ` Janneke Nieuwenhuizen 2023-07-13 17:12 ` Josselin Poiret via Guix-patches via 9 siblings, 1 reply; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-05-22 9:04 UTC (permalink / raw) To: 63641; +Cc: Josselin Poiret From: Josselin Poiret <dev@jpoiret.xyz> * gnu/packages/hurd.scm (hurd-headers): Update to v0.9.git20230216. --- gnu/packages/hurd.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 61d8774075..a0133482b7 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -144,10 +144,10 @@ (define-public hurd-headers ;; This commit is now slightly behind 0.9.git20220818 as this one needs a ;; newer glibc (let ((revision "2") - (commit "3ff70531ee672f431dbb0c11f286bfe85dce98fc")) + (commit "v0.9.git20230216")) (package (name "hurd-headers") - (version (git-version "0.9" revision commit)) + (version commit) (source (origin (method git-fetch) (uri (git-reference @@ -155,11 +155,8 @@ (define-public hurd-headers (commit commit))) (sha256 (base32 - "1jb9f2h2v4lf6acsji1c12aqg3pixkvjdyb4q6axkd8jp22fdgc0")) - (file-name (git-file-name name version)) - (patches (search-patches "hurd-add-without-rump-configure-option.patch" - "hurd-fix-types-of-read-write-and-readables-methods.patch" - "hurd-fix-types-of-read-write-and-readables-methods-2.patch")))) + "0jm1dnqkx4kdwmby0z5w0yqp9m5qp4hbxd4jxlyhiqm8nkw9mkvv")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs (list autoconf @@ -196,7 +193,8 @@ (define-public hurd-headers "ac_cv_func_exec_exec_paths=no" "ac_cv_func__hurd_exec_paths=no" "ac_cv_func__hurd_libc_proc_init=no" - "ac_cv_func_file_futimens=no") + "ac_cv_func_file_futimens=no" + "ac_cv_lib_acpica_acpi_init=no") #:tests? #f)) (supported-systems %hurd-systems) -- 2.40.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-05-22 9:04 ` [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216 Josselin Poiret via Guix-patches via @ 2023-05-24 8:48 ` Ludovic Courtès 0 siblings, 0 replies; 28+ messages in thread From: Ludovic Courtès @ 2023-05-24 8:48 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Hi, Josselin Poiret <dev@jpoiret.xyz> skribis: > From: Josselin Poiret <dev@jpoiret.xyz> > > * gnu/packages/hurd.scm (hurd-headers): Update to v0.9.git20230216. [...] > +++ b/gnu/packages/hurd.scm > @@ -144,10 +144,10 @@ (define-public hurd-headers > ;; This commit is now slightly behind 0.9.git20220818 as this one needs a > ;; newer glibc > (let ((revision "2") > - (commit "3ff70531ee672f431dbb0c11f286bfe85dce98fc")) > + (commit "v0.9.git20230216")) Could you update or remove the comment above? Also I wonder if we should use the actual commit ID rather than this tag, since the tag doesn’t even denote a release. Ludo’. ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (7 preceding siblings ...) 2023-05-22 9:04 ` [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216 Josselin Poiret via Guix-patches via @ 2023-05-23 12:17 ` Janneke Nieuwenhuizen 2023-05-24 9:02 ` Ludovic Courtès 2023-07-13 17:12 ` Josselin Poiret via Guix-patches via 9 siblings, 1 reply; 28+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-23 12:17 UTC (permalink / raw) To: Josselin Poiret; +Cc: 63641 Josselin Poiret via Guix-patches via writes: Hi Josselin! > Since Janneke is working on the rumpkernel and needed some additional patches to > our libc, I thought that we could bring back the libc specific to the Hurd, also > because the newer versions of Hurd only work with glibc 2.37. This will let us > experiment with newer Hurds without impacting the rest of Guix. There are also > a couple of additions and clean-ups. Awesome patch series, thank you! Works for me, and it also brings the rumpdisk patch series a big step further, WD0 is now being detected by rumpdisk. Still no success actually using it though (see https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00404.html). > I'm still trying to fix native compilation, but it's not going as fast > as I would like. Good luck with that, let me know if I can do something to help. Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-05-23 12:17 ` Janneke Nieuwenhuizen @ 2023-05-24 9:02 ` Ludovic Courtès 0 siblings, 0 replies; 28+ messages in thread From: Ludovic Courtès @ 2023-05-24 9:02 UTC (permalink / raw) To: Josselin Poiret; +Cc: Janneke Nieuwenhuizen, 63641 Hi! This looks great to me as well! The suggestions I made in this thread are purely cosmetic, mostly so our future selves know why things are done this way. I agree with the suggestions Janneke made, too. So OK for me with changes along the lines of those suggestions! Thank you! Ludo’. ^ permalink raw reply [flat|nested] 28+ messages in thread
* [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via ` (8 preceding siblings ...) 2023-05-23 12:17 ` Janneke Nieuwenhuizen @ 2023-07-13 17:12 ` Josselin Poiret via Guix-patches via 9 siblings, 0 replies; 28+ messages in thread From: Josselin Poiret via Guix-patches via @ 2023-07-13 17:12 UTC (permalink / raw) To: 63641 [-- Attachment #1: Type: text/plain, Size: 942 bytes --] Hi, Josselin Poiret <dev@jpoiret.xyz> writes: > Josselin Poiret (8): > hurd-boot: Add urandom and default-pager translators. > gnu: glibc/hurd-headers: Properly cross-build. > gnu: gnumach-headers: Cross-build without relying on x86. > gnu: hurd: Update supported systems. > gnu: Add libc-for-target and glibc/hurd. > gnu: gnumach: Update to 1.8+git20221224. > gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3. > gnu: hurd: Update to v0.9.git20230216. > > gnu/build/hurd-boot.scm | 3 + > gnu/packages/base.scm | 51 ++++++++++++---- > gnu/packages/commencement.scm | 66 ++++++++++---------- > gnu/packages/cross-base.scm | 28 ++++++++- > gnu/packages/hurd.scm | 109 +++++++++++++++------------------- > 5 files changed, 151 insertions(+), 106 deletions(-) Pushed modified series as 1f19387ca7500ecef114e4c41802633658358313. Best, -- Josselin Poiret [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 682 bytes --] ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2023-07-13 17:13 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-22 9:00 [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Josselin Poiret via Guix-patches via 2023-05-22 9:04 ` [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators Josselin Poiret via Guix-patches via 2023-05-23 21:28 ` Janneke Nieuwenhuizen 2023-05-28 8:26 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build Josselin Poiret via Guix-patches via 2023-05-23 16:11 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86 Josselin Poiret via Guix-patches via 2023-05-23 21:32 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd Josselin Poiret via Guix-patches via 2023-05-22 9:37 ` Josselin Poiret via Guix-patches via 2023-05-22 9:42 ` [bug#63641] [PATCH v2 " Josselin Poiret via Guix-patches via 2023-05-24 8:11 ` Janneke Nieuwenhuizen 2023-05-24 8:57 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 2023-06-02 5:18 ` [bug#63641] [PATCH v2 5/8] gnu: Add libc-for-target and glibc/hurd Janneke Nieuwenhuizen 2023-06-08 8:17 ` Janneke Nieuwenhuizen 2023-06-14 9:29 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 2023-06-14 10:33 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224 Josselin Poiret via Guix-patches via 2023-05-24 8:12 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3 Josselin Poiret via Guix-patches via 2023-05-23 12:17 ` Janneke Nieuwenhuizen 2023-05-22 9:04 ` [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216 Josselin Poiret via Guix-patches via 2023-05-24 8:48 ` [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components Ludovic Courtès 2023-05-23 12:17 ` Janneke Nieuwenhuizen 2023-05-24 9:02 ` Ludovic Courtès 2023-07-13 17:12 ` Josselin Poiret via Guix-patches via
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).