guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#64708] [PATCH 0/8] Fix cross build and native build for the Hurd.


From: Janneke Nieuwenhuizen
Subject: [bug#64708] [PATCH 0/8] Fix cross build and native build for the Hurd.
Date: Wed, 19 Jul 2023 07:00:06 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Ludovic Courtès writes:

> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>>> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>>>
>>>> +     (name "gnumach-headers-boot0")
>>>> +     (version "1.8+git20221224")
>>>> +     (source
>>>> +      (origin
>>>> +        (method
>>>> +         (git-fetch-from-tarball
>>>> +          (origin
>>>> +            (method url-fetch)
>>>> +            (uri (string-append
>>>> +                  
>>>> "https://git.savannah.gnu.org/cgit/hurd/gnumach.git/snapshot/";
>>>> +                  "gnumach-" version ".tar.gz"))
>>>> +            (sha256
>>>> +             (base32 
>>>> "0vb19ynvrxz302snqxkd0wgizwa5fw2x06a4zjsllqb9ijbq9mc8")))))
>>>> +        (uri (git-reference
>>>> +              (url "https://git.savannah.gnu.org/git/hurd/gnumach.git";)
>>>> +              (commit version)))
>>>> +        (file-name (git-file-name name version))
>>>> +        (sha256
>>>> +         (base32
>>>> +          "0f49zqxf64ds75rmskizpybl2mw7sxs05k59gjp3pgspvr87w7gs"))))
>>>
>>> Since this is the same revision as in hurd.scm, we can reduce
>>> duplication like so:
>>>
>>>   (origin
>>>     (inherit (package-source gnumach-headers))
>>>     (method (git-fetch-from-tarball …)))

Ah, I didn't really read this properly; pretty cool!

>> Eh...no?  Because gnumach-headers uses method git-fetch now!
>
> That’s the whole point: here we override the method with one that’s
> close to the graph root, but the <git-reference> and hash are the same
> as the one from ‘gnumach-headers’.  Inheriting makes the intent
> explicit.

I still wonder a bit if it's a good idea to have commencement packages /
this commencement package inherit from hurd.scm; it means a world
rebuild whenever hurd.scm is updated (unless you put something back like
the verbose origin declaration above).

I'll take with your suggestion and go for the less code duplication
option right now, we can change it again when the need arises.

> Which is pretty cool no?

Yeah!  Sorry for the confusion :)

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com





reply via email to

[Prev in Thread] Current Thread [Next in Thread]