<FromGitter>
<Blacksmoke16> so anytime someone wants to install/upgrade crystal they'd have to go thru the whole bootstrap process again?
<FromGitter>
<jgarte:matrix.org> nope
<FromGitter>
<jgarte:matrix.org> They would just install the binary
<FromGitter>
<Blacksmoke16> gotcha
<FromGitter>
<jgarte:matrix.org> But the whole process would be encoded with Guix as a Guile scheme program that is reproducible
<FromGitter>
<Blacksmoke16> sounds like a plan, have to see how it turns out
<FromGitter>
<jgarte:matrix.org> I have to find the time to understand the bootstrap scripts
<FromGitter>
<jgarte:matrix.org> and then to figure out how/what parts would need to be handled by Guile and how
<FromGitter>
<jgarte:matrix.org> might be a rabbit hole
<FromGitter>
<Blacksmoke16> could you just start off with a pre-built 1.x binary
<FromGitter>
<Blacksmoke16> like is it really necessary to go thru the whole bootstrapping process when the existing linux binaries on the GH release would prob work just fine
<FromGitter>
<jgarte:matrix.org> Not sure what you mean by start off
<FromGitter>
<Blacksmoke16> i.e. use that as a fallback if the user doesnt already have crystal installed
<FromGitter>
<Blacksmoke16> or the system*
<FromGitter>
<jgarte:matrix.org> I can use that already yes
<FromGitter>
<jgarte:matrix.org> It's available
<FromGitter>
<Blacksmoke16> so then what do you need the bootstrap script for then?
<FromGitter>
<jgarte:matrix.org> The idea is to have the whole bootstrap story
<FromGitter>
<jgarte:matrix.org> In GNU Guix
<FromGitter>
<jgarte:matrix.org> I don't have to have it
<FromGitter>
<jgarte:matrix.org> I can just use the binary and not worry about it
<FromGitter>
<Blacksmoke16> is prob safe to not worry about pre 1.x versions, in which case you just need a 1.x binary to compile the latest version of the code directly
<FromGitter>
<Blacksmoke16> if that makes things easier
<FromGitter>
<jgarte:matrix.org> Why would it be safe to not worry about pre 1.x versions?
<FromGitter>
<Blacksmoke16> just that it prob wouldnt be real common for someone to need to use one of those versions
<FromGitter>
<jgarte:matrix.org> If there is a source code history for the compiler then Guix wants to capture that
<FromGitter>
<jgarte:matrix.org> Yup it's not common
<FromGitter>
<jgarte:matrix.org> most package managers do not go through this level of reproducible detail
<FromGitter>
<jgarte:matrix.org> Guix wants to eliminate depending on binaries
<FromGitter>
<jgarte:matrix.org> having to trust binaries
<FromGitter>
<Blacksmoke16> kinda the con of self hosted compilers
<FromGitter>
<jgarte:matrix.org> like chicken scheme?
<FromGitter>
<jgarte:matrix.org> ya
<FromGitter>
<Blacksmoke16> so yea, that bootstrap script prob your best bet then
<FromGitter>
<jgarte:matrix.org> Yup, it's the starting point for making the Guix package
<FromGitter>
<jgarte:matrix.org> Not sure if I have the motivation to do it though tbh
<FromGitter>
<Blacksmoke16> my understanding is it starts off with a very early crystal version when it was written in Ruby, and slowly works its way up thru the Crystal/llvm versions up until the last pre 1.x release
<FromGitter>
<Blacksmoke16> i.e. i imagine it takes quite a long time
<FromGitter>
<jgarte:matrix.org> Maybe someday
<FromGitter>
<jgarte:matrix.org> Or someone else will do it
<FromGitter>
<jgarte:matrix.org> I maintain a Guix channel with some friends: https://whereis.みんな/
<FromGitter>
<jgarte:matrix.org> cool things about Guix versus Nix is that Guix uses a full fledged programming language
<FromGitter>
<jgarte:matrix.org> So I was able to generate that website with Guix pretty nicely since Guile has a pretty good standard library
<FromGitter>
<Blacksmoke16> nice one
<FromGitter>
<jgarte:matrix.org> 162 steps ha
<FromGitter>
<jgarte:matrix.org> I might try to run the bootstrap script first
<FromGitter>
<jgarte:matrix.org> and study those first
<FromGitter>
<jgarte:matrix.org> just to understand the process
<FromGitter>
<Blacksmoke16> 👍
<FromGitter>
<Blacksmoke16> sounds like a plan
<FromGitter>
<jgarte:matrix.org> then once I hack on that without Guix and understand it then I can think about how the heck I can invent a solution with the Guix infrastructure
<FromGitter>
<jgarte:matrix.org> maybe macros could be used or something to facilitate the process
<FromGitter>
<Blacksmoke16> most of it is the same thing over and over, but with certain core updates every while
<FromGitter>
<jgarte:matrix.org> Have you tried running the bootstrap scripts before?
<FromGitter>
<Blacksmoke16> nope
<FromGitter>
<jgarte:matrix.org> Who maintains them?
<FromGitter>
<jgarte:matrix.org> I wonder if someone is still maintaining the scripts
<FromGitter>
<Blacksmoke16> i dont see why it *wouldnt* work, it seems up to date, at least until the version before 1.x