grafts: Graft recursively.
authorLudovic Courtès <ludo@gnu.org>
Sat, 27 Feb 2016 22:06:50 +0000 (23:06 +0100)
committerLudovic Courtès <ludo@gnu.org>
Tue, 1 Mar 2016 15:00:46 +0000 (16:00 +0100)
commitc22a1324e64d6906be5e9a8e64b8716ad763434a
treea85accaeaa4c727c703f208e01a9296821832de7
parentd06fc008bdb86169d951721bbb4604948368d7c2
grafts: Graft recursively.

Fixes <http://bugs.gnu.org/22139>.

* guix/grafts.scm (graft-derivation): Rename to...
(graft-derivation/shallow): ... this.
(graft-origin-file-name, item->deriver, non-self-references)
(cumulative-grafts, graft-derivation): New procedures
* tests/grafts.scm ("graft-derivation, grafted item is a direct
dependency"): Clarify title.  Use 'grafted' instead of 'graft' to refer
to the grafted derivation.
("graft-derivation, grafted item is an indirect dependency")
("graft-derivation, no dependencies on grafted output"): New tests.
* guix/packages.scm (input-graft): Change to take a package instead of
an input.
(input-cross-graft): Likewise.
(fold-bag-dependencies): New procedure.
(bag-grafts): Rewrite in terms of 'fold-bag-dependencies'.
* tests/packages.scm ("package-derivation, indirect grafts"): Comment out.
* doc/guix.texi (Security Updates): Mention run-time dependencies and
recursive grafting.
doc/guix.texi
guix/grafts.scm
guix/packages.scm
guix/scripts/graph.scm
tests/grafts.scm
tests/packages.scm