From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id mBYQKI7HImHF8wAAgWs5BA (envelope-from ) for ; Sun, 22 Aug 2021 23:54:22 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id kEKWI47HImGIBgAAbx9fmQ (envelope-from ) for ; Sun, 22 Aug 2021 21:54:22 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 5406B1EE49 for ; Sun, 22 Aug 2021 23:54:22 +0200 (CEST) Received: from localhost ([::1]:52714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mHvQ5-0001bb-E3 for larch@yhetil.org; Sun, 22 Aug 2021 17:54:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHvPv-0001a5-HT for guix-devel@gnu.org; Sun, 22 Aug 2021 17:54:11 -0400 Received: from mail1.protonmail.ch ([185.70.40.18]:55723) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHvPt-0004J2-7u for guix-devel@gnu.org; Sun, 22 Aug 2021 17:54:11 -0400 Date: Sun, 22 Aug 2021 21:53:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sagegerard.com; s=protonmail; t=1629669239; bh=lXeD3IhJ6k1JggonMHWUTM4WV5TutfwF4xsIXjKAlac=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:From; b=eD/AFbbsFX5E24njFnjRGGNiX9UmLB7/IuZPafd9IstMzoFevjQMGRBbYBkJZMzFA NzVEm6A6bCu4oTMdIs9UugZEn6j7n0+4f2NILFvlKkpMdA+Dj67j75TxIB6tAIdf/7 jl1GnGAmXVcC5aL42WNU2Wk6RWopv493TtLPbQ+k= To: guix-devel@gnu.org From: Sage Gerard Subject: Re: How did you handle making a GNU/Linux distribution? Message-ID: In-Reply-To: References: <73f02b09-6983-7535-b71d-69ff0b0124f4@sagegerard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.18; envelope-from=sage@sagegerard.com; helo=mail1.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Sage Gerard Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1629669262; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=lXeD3IhJ6k1JggonMHWUTM4WV5TutfwF4xsIXjKAlac=; b=Kir/FpWWuJMXNv59GXyuRGRhcn6VPGgxPietAbwdly/dhScY8ZxXa4a/jp1kPr0oA3FNPC 44h6NMcPUOgQe+WJyB6A3Fy5YpOY5PDgdukU4Pla4NT9k9opNG7BYacGhSfdJ1IgO06fSr Zfq0u9cnvwnbHf1fyilqZ51ZOstwbBA0Ovf05O8rxEsfEZiwhzZEN9yMbNGFUSZ86amuD5 oEQR7WcR5hX4VSsBMDYMN8RWceoyzkY8GDVSjD/6OB+XCVSUu+iQaJKHUVeF2u21jdfPTC znn1EykocWHsFAuWz4PZ4pY6Q6g9f7s2z3PZxbjAe46KaE8R9RRLH3e7gk1ojg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1629669262; a=rsa-sha256; cv=none; b=dvGBYZGf3G5armN3T+bxgDwlIPnEGsPN/P248+qDkt9sT1P6zQZ1HMlkDWQdfpErsVhMVp SQ49eFawJtgjMCpLXIgSvre4EWJu3ujY19djtZKYsS7RPhJ/iVTrrF48/fdpHKPqOLKc3b maOaqwJz5pxG7rrgjix6O5OJS+/CcjFi5slT4b+0L9AOTvrK17GbFIpUM8EwGCSOElfi0P bB0PXxzwc/j1WmCabYU2KWuvA4kfeOEuncC8sQwuiWrZTthR0r4a3uYETCIWNQDxX7sE6Q RfIdBRe0qIZY6HIJ4V6jXULJHu9YgSB8FoPA+WvjlM9puVMWXjRdq+ppvUsJaQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=sagegerard.com header.s=protonmail header.b="eD/AFbbs"; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -0.13 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=sagegerard.com header.s=protonmail header.b="eD/AFbbs"; dmarc=pass (policy=none) header.from=sagegerard.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 5406B1EE49 X-Spam-Score: -0.13 X-Migadu-Scanner: scn0.migadu.com X-TUID: A3iZIjnNQZol Thanks for the detailed answer! It seems wise to adapt GNU Mes towards Racket or Chez Scheme instead of Guile to bring GNU's benefits to more Scheme and Racket programmers. Has someone already tried something like that? On 8/21/21 5:18 PM, Leo Famulari wrote: > On Sat, Aug 21, 2021 at 04:43:34PM +0000, Sage Gerard wrote: >> My name is Sage. I wrote a cross-platform Guix-like package manager >> called Xiden. It applies functional package management to the Racket >> ecosystem. It is also free software under the GPLv3. The source is >> available at zyrolasting/xiden on Github, pending migration to a new hos= t. > Hi! Cool! > >> I'm at the point where users are requesting a GNU/Linux distribution for >> Xiden, such that Racket is the primary language for day-to-day >> operation. I'm ignorant of the scope of work, and am unsure if I can do >> it alone.=C2=A0 My understanding is that you had to bootstrap your entir= e >> toolchain and address Ken Thompson's compiler hack from a different >> angle. Is that right? > At the time that Guix was founded, it was not considered possible to > bootstrap a GNU/Linux system from source; on which OS would you perform > the first compilation? How would you bootstrap that OS? Ad infinitum. > Stage0 and mes and friends are fixing that now. [0] > > So, some binary "seeds" were created, which are compiled binaries of > core tools such as GCC and binutils, and the system was based on those > seeds. And we gave instructions for reproducing these seeds; you could > use any commonly available distro as a host. Maybe that sounds icky in > 2021, since the situation has improved radically, but it's how every OS > was created since decades ago [1], except that most operating systems (an= d > even language ecosystems) did not keep track of their seeds or give > instructions for reproducing them. So Guix was better than all the rest > from its beginning :) > > https://guix.gnu.org/manual/en/html_node/Bootstrapping.html > > I was not involved at that stage of Guix. I'm sure others can give more > detailed answers. > >> I'd greatly appreciate learning how you all built Guix's GNU/Linux >> distribution so that I can prepare a realistic roadmap and recruit help >> where necessary. I'm bad at both of those things, but if there is any >> opportunity to collaborate on implementation details based on Xiden's >> progress, I am happy to give back. > [0] https://bootstrappable.org/ > https://bootstrappable.org/projects/mes.html > https://www.gnu.org/software/mes/ > Also visit the #bootstrappable channel on Libera.chat > > [1] It would be interesting to know the last truly bootstrapped OS