guix-patches
[Top][All Lists]
Advanced

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

[bug#38390] [core-updates] Scheme-only bootstrap: merge wip-bootstrap


From: Timothy Sample
Subject: [bug#38390] [core-updates] Scheme-only bootstrap: merge wip-bootstrap
Date: Sun, 01 Dec 2019 11:25:03 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi Ludovic,

Ludovic Courtès <address@hidden> writes:

> Hello Janneke & Timothy!
>
> Jan Nieuwenhuizen <address@hidden> skribis:
>
>> Gash has now reached pretty good posix compliance, which really helps to
>> run configure scripts and sh snippets in autotool-generated Makefiles.
>>
>> Gash Core Utils currently comes with
>>
>>    [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
>>    egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
>>    mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
>>    touch, tr, true, uname, uniq, wc, and which.
>
> Woow, excellent!  Do I get it right that “Gash Core Utils” refers to the
> ‘gash-core-utils’ branch at <https://gitlab.com/janneke/gash>?

For now (see below).

> So this is meant to be a Gash extension but separate from Gash.  Looks
> really cool!

My long term plan for it is to be a really, really souped-up version of
“(guix build utils)”.  Hopefully we can get reasonably nice Scheme
interfaces for common shell idioms and then build the utilities on top
of those interfaces.  Then, the library could be useful independent of
the external utilities, Gash, and bootstrapping.  It’s nowhere near
there yet, but that’s the goal.

> Do you plan to eventually merge it on Savannah?  (I expected to find the
> code there.  :-)

Yes!  I plan to add another repo as part of the Gash project.  This will
happen when it’s closer to an initial release.  (I’ll have to audit all
of the copyright notices, etc., which I find easier to do while getting
ready for a release.)

> BTW, I posted (unimportant) patches to
> <https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)

I was not subscribed to gash-devel!  :P  I was an admin, but that
doesn’t mean I was subscribed.  Sorry!

I noticed the install path patch that you added to the Guix package, so
it’s already fixed.  So far I’ve been too busy to test on Guile 3....

> [...]

> How much work would be necessary at first sign to implement what’s
> missing from (gash core-utils awk) to cover what modern-time ‘configure’
> scripts need?
>
> I suppose having a good(-enough) Awk implementation in Gash would be
> more fruitful in the long run than reviving old C packages.  Notably, I
> think you’d rather keep Mes’ libc as small as possible IMO, because it’s
> cumbersome to write and maintain, which means more Scheme and less C.
> But obviously, this all depends on the difficulty of implementing the
> missing bits of Awk.

I agree this is the right way to go in the long run.  I’m pretty sure
we’ll get there, but I haven’t worked on the Awk implementation yet.

In around one week (with the usual caveats around software estimates), I
will make another release of Gash, at which point it will be “good
enough” for the bootstrapping task.  After that, I plan to turn my
attention to the other utilities.  There’s a lot of administrative work
and cleaning to do there, so it will take some time to get a release
out.  Once that happens I’ll move on to removing some intermediate
bootstrapping packages like early versions of Gawk, etc.


-- Tim





reply via email to

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