Hi Sage, On Sat, 21 Aug 2021 at 22:18, Sage Gerard <s...@sagegerard.com> 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 host. Oh thanks! :-) > 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. My understanding is that you had to bootstrap your entire > toolchain and address Ken Thompson's compiler hack from a different > angle. Is that right? Well, from my understanding, Guix (package manager) and Guix System (OS on the top) are not about bootstrap. If you give a look at one of the first public presentations: <https://people.bordeaux.inria.fr/lcourtes/doc/guix-ghm-2012.20120721.pdf> then bootstrap the whole toolchain was not on topic (at least not explicitly listed). Reducing the bootstrap seed came later and gradually, for instance see: <https://archive.fosdem.org/2017/schedule/event/guixsdbootstrap/> <https://archive.fosdem.org/2019/schedule/event/gnumes/> > 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. I have read the White Paper and the doc. I am sorry but I miss which problem Xiden is solving and how it does. For instance, I do not understand what a "launcher" is and what its job is. Maybe Xiden is a "workflow" engine? The bootstrap path of Racket in Guix is not clear to me. I miss if a Racket interpreter or compiler in its binary format is used (as Haskell for instance) or if all is compiled from source using tools already bootstrapped. Anyway, I miss what you would like bootstrap? If you mean a trusted seed in order to start a package collection, you could use the current Guix binaires---as a starting point. Well, from my understanding, as Philip said, compile Guile to Racket linklets seems something promising. :-) <https://docs.racket-lang.org/reference/linklets.html> All the best, simon