diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-06-19 14:59:05 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-06-19 14:59:05 +0000 |
commit | 01dc8b0bab913718c89062c6514c3e8bfdbf8853 (patch) | |
tree | d5727524a552c6d5e1caae9e7dadf73fdbc5686a /src/libstore/build.cc | |
parent | 145d88cb2a160871968285fb1898732090f4e14c (diff) | |
parent | 2886c92aefc3b38b8b39e212268f286b5caff4e4 (diff) |
Merge remote-tracking branch 'upstream/master' into no-stringly-typed-derivation-output
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r-- | src/libstore/build.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 077217b79..a33a9434a 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -86,7 +86,7 @@ struct HookInstance; /* A pointer to a goal. */ -class Goal; +struct Goal; class DerivationGoal; typedef std::shared_ptr<Goal> GoalPtr; typedef std::weak_ptr<Goal> WeakGoalPtr; @@ -1195,6 +1195,12 @@ void DerivationGoal::haveDerivation() parsedDrv = std::make_unique<ParsedDerivation>(drvPath, *drv); + if (parsedDrv->contentAddressed()) { + settings.requireExperimentalFeature("ca-derivations"); + throw Error("ca-derivations 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. */ |