Subject: Re: [bug#31952] [PATCH] gnu: git: Update to 2.18.0.

From: [email-masked] (Ludovic Courtès)
Date: Mon, 25 Jun 2018 10:54:50 +0200

Marius Bakke <[email-masked]> skribis:

> [email-masked] (Ludovic Courtès) writes:
>
>>>> Removing this phase altogether sounds a bit risky.  Another option would
>>>> have been to replace it with one that moves the “right” Bash to the
>>>> front of PATH and then calls the original ‘patch-shebangs’ phase.
>>>
>>> The problem is that 'patch-shebangs' does not use PATH, but instead
>>> iterates over inputs directly.  It's supposed to prefer 'inputs' to
>>> 'native-inputs' (according to a comment), yet in this case it picks the
>>> native "full" bash rather than bash-minimal.
>>
>> OK.
>>
>>> If you read closely, you'll notice that 'bash-for-tests' is not in PATH
>>> at all.  'patch-source-shebangs' and other things that use (which "sh")
>>> works okay due to that.
>>
>> It may be that moving “bash-for-tests” to ‘inputs’ actually solves the
>> problem (and we don’t have to worry about cross-compilation since “make
>> check” does nothing when cross-compiling) and we can keep the
>> ‘patch-shebangs’ phase.
>
> Moving it to 'inputs' worked, though I'm not sure why!

It’s because of the order in which ‘native-inputs’ and ‘inputs’ are
concatenated somewhere (presumably in ‘bag->derivation’.)

Thanks,
Ludo’.