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

From: Ludovic Courtès <[email-masked]>
Date: Wed, 19 Jul 2023 00:21:03 +0200

Janneke Nieuwenhuizen <[email-masked]> skribis:

>> Janneke Nieuwenhuizen <[email-masked]> 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 …)))
>
> 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.

Which is pretty cool no?

Ludo’.