-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: make: Support Nix and Guix with reproducible builds #29
base: main
Are you sure you want to change the base?
Conversation
Building on Nix and Guix require a reproduible build process. The auto-download feature of our build process violates this constraint. Furthermore, Nix and Guix builds typically occur in a network-isolated environment.
Initial discussion started here: #22. |
You can see how I took a different approach than Also, note that we introduce a host dependency of |
@ingydotnet What's your dev process around updating/changing dependencies? BTW, Nix/Guix don't really have off-the-shelf support for packaging Clojure projects at the moment, so this PR will require more time and work than anticipated. |
There is a PR for As a first step, it packages the standalone jar from the release page as a native binary using GraalVM. We could update this derivation to be a source build later of course. |
I don't believe GraalVM supports reproducible binaries :-/ |
Right, that's what I imagined would be the blocking issue. (thanks for weighing in @stigtsp ) I assume that's a deal breaker for Guix. Babashka is a software that is built very similar to YS. @xelxebar would that be a possible way to do ys for guix? |
Building on Nix and Guix require a reproduible build process. The auto-download feature of our build process violates this constraint. Furthermore, Nix and Guix builds typically occur in a network-isolated environment.