Ludovic Courtès 5cf4b26d52
derivations: <derivation-input> now aggregates a <derivation>.
Consequently, the whole graph of <derivation> object is readily
available without having to go through 'read-derivation-from-file',
which could have cache misses if the requested <derivation> object had
been GC'd in the meantime.  This is an important property for the
performance of things like 'derivation-build-plan' that traverse the
derivation graph.

* guix/derivations.scm (<derivation-input>): Replace 'path' field by
'derivation'.
(derivation-input-path): Adjust accordingly.
(derivation-input-key): New procedure.
(derivation-input-output-paths): Adjust accordingly.
(coalesce-duplicate-inputs): Likewise.
(derivation-prerequisites): Use 'derivation-input-key' to compute keys
for INPUT-SET.
(derivation-build-plan): Likewise.
(read-derivation): Add optional 'read-derivation-from-file' parameter.
[make-input-drvs]: Call it.
(write-derivation)[write-input]: Adjust to new <derivation-input>.
(derivation/masked-inputs): Likewise, and remove redundant
'coalesce-duplicate-inputs' call.
(derivation)[input->derivation-input]: Change to consider only the
derivation case.  Update call to 'make-derivation-input'.
[input->source]: New procedure.
Separate sources from inputs.
(map-derivation): Adjust to new <derivation-input>.
* tests/derivations.scm ("parse & export"): Pass a second argument to
'read-derivation'.
("build-expression->derivation and derivation-prerequisites")
("derivation-prerequisites and valid-derivation-input?"): Adjust to new
<derivation-input>.
2019-06-27 11:14:41 +02:00
..
2018-09-04 17:25:11 +02:00
2019-03-16 18:15:13 +01:00
2018-09-04 17:25:11 +02:00
2018-09-04 17:25:11 +02:00
2015-11-26 22:35:01 +01:00
2018-09-04 17:25:11 +02:00
2019-03-23 18:15:36 +01:00
2018-09-07 11:40:22 +02:00
2019-04-10 17:09:47 +02:00
2019-05-22 00:09:41 +02:00
2019-02-05 22:33:06 +01:00
2018-09-04 17:25:11 +02:00
2018-10-29 00:13:38 +01:00
2018-10-18 23:46:33 -04:00
2019-03-24 00:13:53 +01:00
2019-04-10 17:09:47 +02:00
2019-06-27 11:14:40 +02:00
2017-06-15 17:03:19 +02:00
2018-05-10 14:53:56 +02:00
2017-11-17 10:47:49 +01:00