Subject: Re: [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles.

From: Philip McGrath <[email-masked]>
Date: Thu, 17 Feb 2022 03:40:43 -0500

Hi,

On 2/17/22 03:19, Liliana Marie Prikler wrote:
> Hi,
> 
> Am Donnerstag, dem 17.02.2022 um 03:06 -0500 schrieb Philip McGrath:
>> Hi,
>>
>> On 2/17/22 02:10, Liliana Marie Prikler wrote:
>>> [...]
>>> I was picturing something like
>>>
>>> (define chez-bootfiles (chez ...)
>>>     (package/inherit chez
>>>       (inputs ...)
>>>       (native-inputs ...)
>>>       (build-system ...)
>>>       (arguments ...)))
>>>
>>
>> Sorry, I still don't think I'm following. Would this rely on the
>> `mative-inputs` being thunked to let the result of this function be
>> an input to `chez-scheme`?
> Yes.
> 
>> What commonality is the function abstracting over, compared to having
>> 'chez-scheme-for-racket-bootstrap-bootfiles' inherit from 'chez-
>> scheme-bootstrap-bootfiles'?
> At the moment version, source, home-page and license.  I don't really
> think bootstrap files ought to be a part of chez' source, so if you
> wanted to do this really cleanly, you'd have to drop them from chez and
> add restrict chez-bootstrap to them, which would imply you'd have to
> use (version (package-version chez-scheme)) explicitly – for now I
> don't want to add too much burden to that patch and you can assume
> source to be the same between the two.
> 

Ok, this helps, I think. I'll give it a try.

In <https://issues.guix.gnu.org/47153#9> you argued---and convinced 
me---that we should keep the pre-built bootfiles in the origin until we 
actually don't need them. With 'chez-scheme-for-racket', that's already 
true, and there aren't bootfiles in that origin anyway. When someday we 
can actually bootstrap upstream Chez Scheme, presumably we'll add a 
snippet to delete the pre-built bootfiles from the origin, at which 
point the it will still be the same origin for both.

-Philip