1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-06 21:41:48 +02:00

Reserve the __contentAddressed derivation parameter

Not implementing anything here, just throwing an error if a derivation
sets `__contentAddressed = true` without
`--experimental-features content-addressed-paths`
(and also with it as there's nothing implemented yet)
This commit is contained in:
regnat 2020-06-17 15:39:10 +02:00
parent ccbea8255c
commit 56d75bf4fc
3 changed files with 18 additions and 0 deletions

View file

@ -809,6 +809,9 @@ private:
/* Whether this is a fixed-output derivation. */
bool fixedOutput;
/* Whether this is a content adressed derivation */
bool contentAddressed = false;
/* Whether to run the build in a private network namespace. */
bool privateNetwork = false;
@ -1195,6 +1198,14 @@ void DerivationGoal::haveDerivation()
parsedDrv = std::make_unique<ParsedDerivation>(drvPath, *drv);
contentAddressed = parsedDrv->contentAddressed();
if (this->contentAddressed) {
settings.requireExperimentalFeature("content-addressed-paths");
throw Error("content-addressed-paths isn't implemented yet");
}
/* We are first going to try to create the invalid output paths
through substitutes. If that doesn't work, we'll build
them. */