mirror of
https://github.com/NixOS/nix
synced 2025-06-28 22:01:15 +02:00
* Another change to low-level derivations. The last one this year, I
promise :-) This allows derivations to specify on *what* output paths of input derivations they are dependent. This helps to prevent unnecessary downloads. For instance, a build might be dependent on the `devel' and `lib' outputs of some library component, but not the `docs' output.
This commit is contained in:
parent
6ff48e77f6
commit
05f0430de1
7 changed files with 70 additions and 32 deletions
|
@ -39,9 +39,12 @@ void storePathRequisites(const Path & storePath,
|
|||
|
||||
Derivation drv = derivationFromPath(storePath);
|
||||
|
||||
for (PathSet::iterator i = drv.inputDrvs.begin();
|
||||
for (DerivationInputs::iterator i = drv.inputDrvs.begin();
|
||||
i != drv.inputDrvs.end(); ++i)
|
||||
storePathRequisites(*i, includeOutputs, paths);
|
||||
/* !!! Maybe this is too strict, since it will include
|
||||
*all* output paths of the input derivation, not just
|
||||
the ones needed by this derivation. */
|
||||
storePathRequisites(i->first, includeOutputs, paths);
|
||||
|
||||
for (PathSet::iterator i = drv.inputSrcs.begin();
|
||||
i != drv.inputSrcs.end(); ++i)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue