From 10ae8fabf1e7e7bd8817b93560df7484c3bd18b8 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <edolstra@gmail.com>
Date: Mon, 14 Nov 2016 15:00:17 +0100
Subject: [PATCH] buildPaths(): Handle ecIncompleteClosure

buildPaths() on a non-derivation would incorrectly not throw an error
if the path didn't have a substitute.
---
 src/libstore/build.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 61286ceac..d488cda37 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -3783,7 +3783,7 @@ void LocalStore::buildPaths(const PathSet & drvPaths, BuildMode buildMode)
 
     PathSet failed;
     for (auto & i : goals)
-        if (i->getExitCode() == Goal::ecFailed) {
+        if (i->getExitCode() != Goal::ecSuccess) {
             DerivationGoal * i2 = dynamic_cast<DerivationGoal *>(i.get());
             if (i2) failed.insert(i2->getDrvPath());
             else failed.insert(dynamic_cast<SubstitutionGoal *>(i.get())->getStorePath());
-- 
GitLab