[bootstrappable] Re: rb-general@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  • From: Ludovic Courtès <ludo@xxxxxxx>
  • To: Jan Nieuwenhuizen <janneke@xxxxxxx>
  • Date: Mon, 28 Jan 2019 14:54:30 +0100

Hi,

Jan Nieuwenhuizen <janneke@xxxxxxx> skribis:

Ludovic Courtès writes:

Now also bash, bzip2, coreutils, gawk, grep, gzip, patch, sed, tar, and
xz have been removed from the bootstrap binaries.  This again halves the
size of the bootstrap seed we need to build Guix, bringing it down to
60MB.


Woohoo!  Kudos on this!

Thanks!

Looking at the graph, I’m surprise to see ‘gash-bootstrap’ as a root.
Given that Gash is Guile code, I would (naively) expect to have
something like:

   guile-bootstrap -> gash -> make/coreutils/whatever

Why is it this way?

Yes, good question.  Currently the bootstrap-gash package is built using
the gnu-build-system (autoconf etc) which would need coreutils, awk sed
etc to build.

Oh, I see.

For the previous (historical) Gash packaging I used the
guile-build-system together with some scripting in Guile for the Guile
executable scripts.  Your question prompted me to try to resurrect that
packaging to the new, merged Gash...

...however, as input it would probably take a gash source tarball...and
how would we unpack that?  Gash comes with tar, but we don't have that
yet.  We have been talking about a scheme payload on the initial Guile.
If that payload would include Gash' tar implementation we might be
able to do away with a bootstrap-gash.  Otoh, maybe it's better to put
efforts towards running Gash on Mes.  So many great choices :-)

As a first step, what about unpacking the tarball with the ‘tar’ and
‘xz’ binaries we already have (with ‘search-bootstrap-binary’)?

And then indeed, we’d need a pure-Guile build system like you described.

Ludo’.

Other related posts: