1
0
Fork 0
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:
Eelco Dolstra 2005-01-20 14:10:19 +00:00
parent 6ff48e77f6
commit 05f0430de1
7 changed files with 70 additions and 32 deletions

View file

@ -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)