From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: Re: [bootstrappable] Re: prototyping the full source bootstrap path Date: Mon, 20 Nov 2017 19:41:56 +0100 Message-ID: <87tvxoiyh7.fsf@gnu.org> References: <877eulkii1.fsf@gnu.org> <87y3n15mru.fsf@gnu.org> <87vai5w50j.fsf@elephly.net> 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]:38605) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGr1N-0008KU-5C for guix-devel@gnu.org; Mon, 20 Nov 2017 13:42:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGr1H-0004Ba-UL for guix-devel@gnu.org; Mon, 20 Nov 2017 13:42:16 -0500 In-Reply-To: <87vai5w50j.fsf@elephly.net> (Ricardo Wurmus's message of "Mon, 20 Nov 2017 12:42:20 +0100") 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: Ricardo Wurmus Cc: guix-devel@gnu.org, bootstrappable@freelists.org Ricardo Wurmus writes: > Ludovic Court=C3=A8s writes: > >> So the next steps in the dependency graph are: >> >> mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc >> >> Do I get this right? That has been my idea for a long time, yes...but it may not be feasible, wise or most fun. It may not be feasible because Mes Scheme is just tooo slow. We could look into fixing that, or try to avoid it by > It=E2=80=99s not clear yet. An alternative approach is to try to build G= uile > first by using mes as the bootstrap Scheme interpreter. ...yeah bootstrapping into to Guile Scheme early! Something like mes-boot -> mescc -> mini-guile -> mescc+/guilecc -> gcc@4.7 That's a very tempting idea that Ricardo came up with in Berlin and we even hacked quite a bit on this. To be precise, we looked if Mes could run ice-9/eval.scm. One of the targets that had on my list for a long time is libguile/eval.c. Now I'm starting to wonder, what would be the fastest path to a minimal Guile, and what would we need for that? IIUC, Guile does not run without at least some bits of libguile, such as libguile/strings.c. Thoughts? > Also: I wonder if we can simplify these bootstrap packages in Guix, so > that they can be built with even fewer build-time features. Yeah, the mean reason to do it in Guix packages is that it becomes impossible to cheat. However, coding the bootstrap path in Guix means that we depend on some form of Guile...hmm. janneke --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com