From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timothy Sample Subject: New Gash build Bash without Bash, Coreutils, and a few others Date: Sat, 22 Dec 2018 00:23:40 -0500 Message-ID: <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]:36823) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gaZlM-0004lN-UF for guix-devel@gnu.org; Sat, 22 Dec 2018 00:23:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gaZlI-0005Rx-FI for guix-devel@gnu.org; Sat, 22 Dec 2018 00:23:48 -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: guix-devel@gnu.org Hi Guix, Here=E2=80=99s an update about bootstrapping for you. 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 normall= y 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 seed= 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. 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.) As for the other utilities, I don=E2=80=99t really have a strategy for them= . I would imagine that writing a good-enough =E2=80=9Cpatch.scm=E2=80=9D would = 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. 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. -- Tim