guix-devel/guix
Ludovic Courtès 482fda2729
grafts: Do not pull derivation outputs not depended on.
Fixes <http://bugs.gnu.org/24886>.

Previously, the grafting derivation of, say, brdf-explorer would pull in
qt:doc even though brdf-explorer depends only on qt:out, not qt:doc.

* guix/grafts.scm (with-cache): Use 'vhash-assoc' and 'vhash-cons'
instead of 'vhash-assq' and 'vhash-consq'.
(cumulative-grafts): Pass #:outputs to 'graft-derivation/shallow'.  Use
OUTPUTS instead of (derivation-output-names drv).
(graft-derivation): Add #:outputs parameter; pass it to
'cumulative-grafts'.
* tests/grafts.scm (make-derivation-input): New variable.
("graft-derivation, replaced derivation has multiple outputs"): Make
sure P2:zzz is not part of the outputs of P3D.
("graft-derivation with #:outputs")
("graft-derivation, unused outputs not depended on"): New tests.
2017-01-25 11:04:25 +01:00
..
build syscalls: Export 'read-utmpx'. 2017-01-24 00:46:37 +01:00
build-system gnu: Add ocaml-build-system. 2017-01-04 16:03:39 +01:00
import import: github: Catch HTTP 403 error during fetch. 2017-01-19 17:17:16 +01:00
scripts lint: Display PACKAGE@VERSION. 2017-01-21 16:43:26 +01:00
tests tests: Move HTTP server to (guix tests http). 2016-11-16 18:00:41 +01:00
base32.scm base32: Use a custom error condition instead of 'misc-error'. 2015-05-31 22:39:48 +02:00
base64.scm base64: Restore original license header. 2016-08-27 08:45:27 -05:00
build-system.scm build-system: Bags record their system and target. 2014-10-05 21:58:42 +02:00
combinators.scm utils: Move combinators to (guix combinators). 2016-05-04 23:35:55 +02:00
config.scm.in pull: Install (guix config) module to override the user's one. 2016-07-20 22:53:02 +02:00
cpio.scm linux-initrd: Produce cpio archives with zeroed timestamps, etc. 2015-06-24 18:05:03 +02:00
cve.scm cve: Use a more compact format for the list of package/versions. 2016-05-28 01:07:12 +02:00
cvs-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
derivations.scm derivations: Make <derivation> record datatype immutable. 2017-01-11 18:55:31 +01:00
docker.scm guix: Add Docker image export. 2017-01-06 16:44:00 +01:00
download.scm derivations: Add 'raw-derivation'. 2016-11-19 18:44:53 +01:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:21:11 +02:00
ftp-client.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
gcrypt.scm Add (guix gcrypt). 2015-01-26 21:58:12 +01:00
gexp.scm gexp: Support 'ungexp' forms in improper lists. 2017-01-01 23:30:30 +01:00
git-download.scm git download: Remove redundant argument in 'gexp->derivation' call. 2017-01-11 18:55:26 +01:00
gnu-maintenance.scm gnu-maintenance: Update ViewVC URLs. 2017-01-01 23:30:30 +01:00
gnupg.scm gnupg: Honor $GUIX_GPG_COMMAND and default to 'gpg'. 2016-09-06 11:12:11 +02:00
grafts.scm grafts: Do not pull derivation outputs not depended on. 2017-01-25 11:04:25 +01:00
graph.scm graph: Add d3js backend. 2016-12-14 21:58:32 +01:00
hash.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
hg-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
http-client.scm http-client: Provide 'User-Agent' header by default. 2017-01-13 18:24:19 +01:00
licenses.scm licenses: Add wtfpl2. 2017-01-13 14:13:01 -05:00
modules.scm Add (guix modules). 2016-09-05 00:06:47 +02:00
monad-repl.scm monad-repl: Close connection when leaving the monad REPL. 2016-01-13 17:43:21 +01:00
monads.scm monads: Fix 'liftN' fallback case. 2015-09-04 18:31:06 +02:00
nar.scm utils: Move 'fcntl-flock' to (guix build syscalls). 2016-05-06 13:25:30 +02:00
packages.scm Merge branch 'master' into core-updates 2016-10-17 16:47:12 -04:00
pk-crypto.scm pk-crypto: Improve documentation of 'key-type'. 2015-03-18 14:43:03 +01:00
pki.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
profiles.scm profiles: Export 'ca-certificate-bundle'. 2017-01-16 11:03:42 +01:00
records.scm records: Improve reporting of invalid field specifiers. 2016-07-14 19:07:07 +02:00
scripts.scm emacs: Disable grafts when dry-run is enabled. 2016-07-30 18:17:03 +03:00
search-paths.scm utils: Have search-path-as-list pattern search for directories. 2015-10-29 17:30:18 -05:00
serialization.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
sets.scm Add (guix sets). 2015-01-11 23:50:01 +01:00
ssh.scm ssh: 'retrieve-files' detects remote export failures. 2016-12-31 18:35:29 +01:00
store.scm daemon: Client settings no longer override daemon settings. 2017-01-15 15:43:22 +01:00
svn-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
tests.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
ui.scm ui: Wrap 'canonicalize-path' for better error reporting. 2017-01-13 18:24:19 +01:00
upstream.scm upstream: Determine archive type correctly. 2016-12-15 05:57:03 +01:00
utils.scm guix package: Fix version and output for 'guix package -i /gnu/store/…'. 2017-01-11 11:58:21 +01:00
zlib.scm zlib: Protect against non-empty port internal buffers. 2016-07-27 12:45:01 +02:00