guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bootstrap integration strategies


From: Jan Nieuwenhuizen
Subject: bootstrap integration strategies
Date: Mon, 09 Jul 2018 22:55:50 +0200

Hi!

With Mes 0.16 released I felt that after two years of straight hacking
I was pretty much done.  Hmm...

On the wip-bootstrap branch we have these packages

    binutils-2.20.1, gcc-2.95.3, and glibc-2.2.5

built without using any of these 3 main tools from the bootstrap
binaries.

Using these we have built gcc-4.1.0 and glibc-2.3.6.

We do however, use all these bootstrap binaries/binary seeds

    bash, bison, coreutils, diffutils, file, flex, gawk, grep, gzip,
    make, sed, tar

...and guile.

Also: this Mes bootstrap is currently x86-linux only.

And the above is an over-simplification, here's the list of seeds and
packages in order:

    %mescc-tools-seed
    %mes-seed
    %tinycc-seed
    mescc-tools-boot
    mes-boot
    nyacc-boot
    address@hidden
    address@hidden
    address@hidden
    address@hidden
    address@hidden
    address@hidden
    address@hidden
    address@hidden
    address@hidden

I hoped to get gcc-4.7.4 packaged easily but haven't succeeded in two
weeks.  That means I'm stuck[0].  Much has happened: I'm helping to get
mescc-tools, Nyacc and Mes packaged in Debian, am writing some
documentation[1], got a preliminary hello-world on Hurd, worked on Gash[2]
to get it on par with bournish, applied for a GNU evaluation of Mes...

If we get gcc-4.7.4 built for x86 that's nice, but can we bootstrap
other architectures from that?  Do we want that?  We probably do not
want different bootstrap paths for different architectures.  What
about the Hurd?

Let's say we have gcc-4.7.4, then it would be nice to eliminate other
bootstrap binaries.  Obvious places to start are bash and make.  As
Guix we depend on the Guile bootstrap binary most.

That is why I've also been working on Gash--Guile As SHell--by
Rutger[cc] lately.  If we make Gash powerful enough to replace bash to
build make and some of the other bootstrap binaries, that would be
nice.  After a promising re-start it now proved that the heart of
Gash, the SH grammar in PEG and its subsequent transformations needs
an overhaul.  That's being worked on but there is not much visible
progress.

So, where to go?  Integrate the Mes x86 bootstrap and build other
architectures on top of that (is that even possible)?  Add the Mes
bootstrap as an additional, weird `x86-linux' architecture to mature
first?  Add other architectures to Mes and keep one bootstrap path in
Guix?  Finish the x86 bootstrap/gcc-4.7.4 (I need help!)?

Lots I haven't mentioned, hoping to get a discussion going and to create
something of a plan.  Thoughts?

Greetings,
janneke

[0] https://gcc.gnu.org/ml/gcc-help/2018-07/msg00060.html
[1] http://lilypond.org/janneke/mes
[2] http://gitlab.com/rutger.van.beusekom/gash
    friendly fork with bournish commands: http://gitlab.com/janneke/gash

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]