4 ms·
How is this concept different from the concept of "deterministic builds"? To break that down, first: Can you get a determinisitc build from using a functional
by javert 13y ago
How is this concept different from the concept of "deterministic builds"?
To break that down, first: Can you get a determinisitc build from using a functional package manager?
Second, is a functional package manager a better way to get deterministic builds than whatever else is used (and what that is, I have no clue)?
- xiaomai 13y agoRead the paper from the Nix people, it's fantastic: http://nixos.org/~eelco/pubs/nixos-jfp-final.pdf http://nixos.org/~eelco/pubs/nixos-jfp-final.pdf
- tel 13y agoI don't know that Nix [0] is up to building crypto-safe deterministic builds, but it certainly works to be more deterministic than most other build methodologies. Nix works very hard to ensure that during build the only resources visible to the builder are those specified in the build script. Then that build information is hashed and carried along with the result of the Nix build as its fingerprint. The fingerprint is passed on to anything which depends on the build results. The end result is that the final fingerprint of a build artifact is extremely sensitive to absolutely every choice made during the build and it's very hard for the artifact to depend on anything that hasn't been deliberately chosen in the build scripts. Together these facts help to ensure a kind of global, repeatable build determinism pretty much unheard of outside of Nix. [0] The project Guix is forking