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

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 17 Feb 2022 09:46:33 +0100

Hi,

Am Donnerstag, dem 17.02.2022 um 03:40 -0500 schrieb Philip McGrath:
> 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.
This concerns schez-scheme-for-racket, not the current chez-scheme for
which we are packaging the bootfiles, am I right?  Given that we build
a set of bootfiles that would be enough to go forward, we no longer
need the original bootfiles beyond that point, i.e. the "bootstrap
bootfiles" would only be needed inside chez-bootstrap, but not chez
itself (which can instead use the native-input).  Am I missing
something here?