aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/build.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 5ec4cbf66..91156d313 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1066,12 +1066,8 @@ void DerivationGoal::haveDerivation()
/* Reject doing a hash build of anything other than a fixed-output
derivation. */
- if (buildMode == bmHash) {
- if (drv->outputs.size() != 1 ||
- drv->outputs.find("out") == drv->outputs.end() ||
- drv->outputs["out"].hashAlgo == "")
- throw Error(format("cannot do a hash build of non-fixed-output derivation ‘%1%’") % drvPath);
- }
+ if (buildMode == bmHash && !drv->isFixedOutput())
+ throw Error("cannot do a hash build of non-fixed-output derivation ‘%1%’", drvPath);
/* We are first going to try to create the invalid output paths
through substitutes. If that doesn't work, we'll build