mirror of
https://github.com/NixOS/nix
synced 2025-07-07 06:01:48 +02:00
Recursively substitute the realisations
Make sure that whenever we substitute a realisation, we also substitute its entire closure
This commit is contained in:
parent
ce1a6c6b13
commit
a22755721b
3 changed files with 15 additions and 3 deletions
|
@ -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();
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
}
|
||||
#define GENERATE_EQUAL(args...) GENERATE_ONE_CMP(==, args)
|
||||
#define GENERATE_LEQ(args...) GENERATE_ONE_CMP(<, args)
|
||||
#define GENERATE_NEQ(args...) GENERATE_ONE_CMP(!=, args)
|
||||
#define GENERATE_CMP(args...) \
|
||||
GENERATE_EQUAL(args) \
|
||||
GENERATE_LEQ(args)
|
||||
GENERATE_LEQ(args) \
|
||||
GENERATE_NEQ(args)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue