aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2021-06-23 10:33:25 +0200
committerGitHub <noreply@github.com>2021-06-23 10:33:25 +0200
commit4a5aa1dbf625af795b19badd66c0a0891c9d5b49 (patch)
tree0750ed484406862630c10a64fdc15bf7d93bb230 /src/libstore
parent2ab7c821f310a5b2ccabfe8da3212882825d8a00 (diff)
parenta22755721b51949dbf03bc1eb156d6f37dc10bac (diff)
Merge pull request #4838 from NixOS/ca/recursively-substitute-realisations
Recursively substitute the realisations
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build/drv-output-substitution-goal.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstore/build/drv-output-substitution-goal.cc b/src/libstore/build/drv-output-substitution-goal.cc
index a5ac4c49d..1703e845d 100644
--- a/src/libstore/build/drv-output-substitution-goal.cc
+++ b/src/libstore/build/drv-output-substitution-goal.cc
@@ -53,6 +53,12 @@ void DrvOutputSubstitutionGoal::tryNext()
return;
}
+ for (const auto & [drvOutputDep, _] : outputInfo->dependentRealisations) {
+ if (drvOutputDep != id) {
+ addWaitee(worker.makeDrvOutputSubstitutionGoal(drvOutputDep));
+ }
+ }
+
addWaitee(worker.makePathSubstitutionGoal(outputInfo->outPath));
if (waitees.empty()) outPathValid();