Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Enhanced support for Gerbil, Gambit #86843
Motivation for this change
As Gerbil releases its v0.16, I have not only tweaked and cleaned up Gerbil support in Nix, but also added support for Gerbil libraries that may depend on each other, including one seed example,
Questions to reviewers:
Mostly. I doubt it makes sense to give a top-level name to
i think it doesn't matter at that size. With more packages new considerations might arise.
In principle, the first sounds like «unstable library code» and the second like «stable library code running on unstable Gerbil». Not sure which is a closer description of the situation.
Is there a plan for stable-Gerbil-using library packages in the foreseeable future?
Hmmm. I have a feeling that we generally claim that installing libraries into profiles does not work and it is not expected to work, one uses nix-shell (that runs
As someone who has stopped using NixOS mainline (and never used
I think updating + creating the infrastructure in one commit, then adding the utils package in the next one is the closest to what people consider best practices here. In this specific case I don't care enough to actually enforce that it should be more than one commit.
Thanks a lot for the guidance.
In the near future, all gerbil library packages will be unstable libraries running on top of unstable gerbil.
In some further future, there might be stable libraries on stable gerbil vs unstable libraries on unstable gerbil, and in a further further future, stable on unstable and unstable on stable. But that's all speculation.
I understand that, but on one hand they are purely unstable and on the other hand
Refactor the build rule: - Put files in $out/gambit instead of $out. - Make the optimization setting easy to override. - Make use of gccStdenv more explicit at this level. - Support new-style runtime options for forcing UTF-8 I/O. - Override the PACKAGE_VERSION and PACKAGE_STRING with git version. - Note that the license is lgpl21, not lpgl2 (Note: also dual asl20). - Try and fail to meaningfully add missing runtimeDeps. - Build using NIX_BUILD_CORES.
- Use the new Gambit support. - Move files from $out to $out/gerbil. - Use new Gerbil configuration and installation scripts. - Move some fixups from preBuild to postPatch. - Give up on previous failed attempts at using static libraries. - Add support for compiling libraries written in Gerbil. - Build using NIX_BUILD_CORES. - Register all those things in all-packages.