1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-29 19:03:16 +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

@ -28,12 +28,17 @@ struct DerivationOutput
};
typedef map<string, DerivationOutput> DerivationOutputs;
/* For inputs that are sub-derivations, we specify exactly which
output IDs we are interested in. */
typedef map<Path, StringSet> DerivationInputs;
typedef map<string, string> StringPairs;
struct Derivation
{
DerivationOutputs outputs; /* keyed on symbolic IDs */
PathSet inputDrvs; /* inputs that are sub-derivations */
DerivationInputs inputDrvs; /* inputs that are sub-derivations */
PathSet inputSrcs; /* inputs that are sources */
string platform;
Path builder;