Subject: bug#66305: Error with recursive git checkout

From: Ludovic Courtès <[email-masked]>
Date: Thu, 05 Oct 2023 11:28:58 +0200

Hello,

Simon Tournier <[email-masked]> skribis:

> On Wed, 04 Oct 2023 at 18:25, Ludovic Courtès <[email-masked]> wrote:
>
>> diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm
>> index 045dd84ad6..c869f19502 100644
>> --- a/guix/scripts/perform-download.scm
>> +++ b/guix/scripts/perform-download.scm
>> @@ -108,6 +108,10 @@ (define* (perform-git-download drv output
>>             (drv-output (assoc-ref (derivation-outputs drv) "out"))
>>             (algo       (derivation-output-hash-algo drv-output))
>>             (hash       (derivation-output-hash drv-output)))
>> +      ;; Commands such as 'git submodule' expect Coreutils and sed (among
>> +      ;; others) to be in $PATH.
>> +      (setenv "PATH" "/run/current-system/profile/bin:/bin:/usr/bin")
>> +
>>        (git-fetch-with-fallback url commit output
>>                                 #:recursive? recursive?
>>                                 #:git-command %git))))
>
> LGTM.
>
> Well, I would add a comment explicitly mentioning that’s a temporary fix
> pointing this issue #66305.

It’s not temporary in that it will still be needed for example by the
Debian package of Guix.  But yeah, I’ll clarify that in the comment.

> And I have tested with:
>
> $ guix build  ocaml-ansiterminal -S --no-substitutes
> $ guix build volk --no-substitutes --check -S

Awesome, thanks for checking!

Ludo’.