diff mbox series

[bug#63641,v2,5/8] gnu: Add libc-for-target and glibc/hurd.

Message ID 87y1l2moh1.fsf@gnu.org
State New
Headers show
Series None | expand

Commit Message

Janneke Nieuwenhuizen June 2, 2023, 5:18 a.m. UTC
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

Comments

Janneke Nieuwenhuizen June 8, 2023, 8:17 a.m. UTC | #1
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?
diff mbox series

Patch

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