From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: Re: New Gash build Bash without Bash, Coreutils, and a few others Date: Sat, 22 Dec 2018 19:39:14 +0100 Message-ID: <87ftupv225.fsf@gnu.org> References: <87k1k2b0df.fsf@ngyro.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60824) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gamBU-0000YZ-1j for guix-devel@gnu.org; Sat, 22 Dec 2018 13:39:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gamBQ-0002Vy-Tw for guix-devel@gnu.org; Sat, 22 Dec 2018 13:39:36 -0500 In-Reply-To: <87k1k2b0df.fsf@ngyro.com> (Timothy Sample's message of "Sat, 22 Dec 2018 00:23:40 -0500") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Timothy Sample Cc: guix-devel@gnu.org Timothy Sample writes: > Here=E2=80=99s an update about bootstrapping for you. Yay! > I am very pleased to announce that Gash (having absorbed Geesh) is now > capable of building Bash without Bash, Coreutils, Grep, Sed, or Tar. > That is, Gash provides alternatives, written in Scheme, to all the > utilities needed by the =E2=80=9Cgnu-build-system=E2=80=9D that are norma= lly provided by > those packages. Note, however, that this work is still very much at the > =E2=80=9Cproof of concept=E2=80=9D level. > > This is exciting because it means that we are within sight of removing > each of those packages from the set of bootstrap binaries (in the > context Jan=E2=80=99s work on MES and the Guix =E2=80=9Creduced binary se= ed bootstrap=E2=80=9D). > AIUI, that means that, besides Guile and MES, the set of bootstrap > binaries need only contain AWK, Patch, Bzip2, Gzip, and XZ. On my--because of this great merger--already bitrotten wip-bootstrap branch, I managed to build make using the earlier Gash (without bash or any bootstrap binaries except xz or bootstrap-guile). So my hope for the Scheme-only bootstrap is work up to a gash 0.1 and then build make, patch (awk?), gzip and possibly xz. At the R-B summit we have expressed the wish to create a single-binary fat bootstrap Guile, probably coming with Gash. Great possibilities ahead! > There is still a lot to do. Concretely, Gash itself has to be > bootstrapped. There is some mildly bit-rotten code for this that will > have to be revived. Gash should also be ported to Guile 2.0, since that > is the current bootstrap Guile, and it would be nice not to change it. > (This shouldn=E2=80=99t be too hard.) ...yes. > As for the other utilities, I don=E2=80=99t really have a strategy for th= em. I > would imagine that writing a good-enough =E2=80=9Cpatch.scm=E2=80=9D woul= d not be too > hard. AWK is difficult, but after spending (way too much) time reading > =E2=80=9Cconfigure=E2=80=9D scripts, I think it could be avoided. That's another option too. I still hope that with `make' built, gash will be able to build patch. > You can see the latest code at (yes, > the URL needs an update). The work described in this message is on the > =E2=80=9Cwip-bootstrap=E2=80=9D branch. I think we should really rename our `geesh' archives to gash, and try to define a 0.1 target -- WDYT? Thanks for your amazing work! janneke --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com