Skip to content
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

Impure derivations #33

Open
zombiezen opened this issue Sep 7, 2024 · 0 comments
Open

Impure derivations #33

zombiezen opened this issue Sep 7, 2024 · 0 comments
Labels
backend Build server enhancement New feature or request
Milestone

Comments

@zombiezen
Copy link
Collaborator

I'd like to include a feature similar to Nix's impure derivations where any derivation can be marked as impure and will always be run. (And perhaps optionally may be allowed to access the network.) Unlike in Nix, I'm okay with "pure" derivations depending on impure derivations, since if the output has the same content as a previous build, then we can reuse work. (I'm not exactly sure why Nix chose not to permit the same mechanism, but I suspect it's because they don't permit multiple realizations for the same equivalence class.)

The broader reasoning for this is I want to provide users with an "escape hatch" for derivations that they know to be deterministic but can't prove or just want to execute within the build environment. Such derivations can still benefit from all the advantages of the rest of the build system without the user having to boil the ocean to get their build to work.

@zombiezen zombiezen added enhancement New feature or request backend Build server labels Sep 7, 2024
@zombiezen zombiezen added this to the MVP milestone Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Build server enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant