Subject: Re: bug#63416: [PATCH 0/2] Fix more derivation builder gexp issues.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Mon, 15 May 2023 09:51:19 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Christopher Baines <[email-masked]> writes:

> Ludovic Courtès <[email-masked]> writes:
>
>> Christopher Baines <[email-masked]> skribis:
>>
>>> As this seems to be generating broken derivations for i586-gnu otherwise.
>>
>> “Seems” isn’t confidence-inspiring.  ;-)
>>
>> Here’s one:
>>
>> $ ./pre-inst-env guix build gccgo -s i586-gnu -d 
>> /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv
>> $ guix gc --references /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv |grep builder
>> /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder
>> $ grep -q '#<' /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder ; echo $?
>> 0
>>
>>> * gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
>>> arguments.
>>
>> [...]
>>
>>> As otherwise this seems to generate broken derivations for i586-gnu.
>>>
>>> * gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
>>
>>
>> [...]
>>
>>> +++ b/gnu/packages/gcc.scm
>>> @@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
>>>        (arguments
>>>         (substitute-keyword-arguments (package-arguments gccgo)
>>>           ((#:phases phases)
>>> -          `(modify-phases ,phases
>>> -             (add-after 'install 'wrap-go-with-tool-path
>>
>> If ‘phases’ might be a gexp, then this should be a gexp as well.
>>
>> Put differently, if one of the gcc* packages starts using gexps, then
>> all those that inherit from it should switch as well.
>>
>> Since ‘gcc-11’ uses gexps (only when targeting the Hurd), all the other
>> ones should use gexps.  That probably includes all those in gcc.scm and
>> all those in commencement.scm.
>
> Yep, I think these changes were sufficient, but I missed replacing a few
> unquote bits with ungexp, so as QA shows this affected a bunch of
> derivations for all systems.
>
> I've fixed those bits now and sent a v2.

v2 looked good in QA, so I pushed this to master as
70986f052a2b60ccb5f3bd5da520f9cdf5ea60ad.