A few months ago, Maxime Devos worked on a new rust-build-system to
handle a few issues we were experiencing with cargo (see discussions on
antioxidant in guix-devel).
A month ago, we discussed about the possibility of the integration in
core guix, and the required steps. Maxime and I had a different
approach. Maxime highlighted the possibility to make a smooth transition
but once that would require many gradual changes and deprecation. My
approach was that since we'll have to eventually migrate all packages to
rust-build-system, and since we can freeze all former rust packages in
an archive channel, I would be clearer to make the transition at once.
Took me quite some time from there, but thanks to the huge work of
Maxime and a few rust patches, I've managed to compile ripgrep properly,
along with more than 350 packages which represent all transitive inputs
and native-inputs. It's basically a package-level copy of Maxime's work
on antioxidant, with more focus on "bootstrapping" properly (very few
packages are missing a test phase), and some work to cut down the number
of dependencies.
It's only a step, but a good one to continue the discussion about the
integration of this build-system (and the way it should be integrated).
You can find it in an archive right here for a 5 days (I would rather
not create a new 8 Gb repo online for 100 kb transferred, sorry).
https://drop.chapril.org/download/696f37be60f243fd/#-j9Nt_xiN9eUBCsHfMDHig
If we manage to continue this to reach 100% builds like the antioxidant
channel, we could indeed switch in one big commit. The workspace
build-system is not included yet.
--
Best regards,
Nicolas Graves