diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-07-04 23:09:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-05 00:51:17 +0200 |
commit | b1510fd8d252c1ab0d32a32f064513105b99cf39 (patch) | |
tree | eec62843caaa0ef298826f5f7fdefbb698249b1f /guix/ui.scm | |
parent | 87850c05a208f7b4213f632f3f79b59e76880724 (diff) | |
download | patches-b1510fd8d252c1ab0d32a32f064513105b99cf39.tar patches-b1510fd8d252c1ab0d32a32f064513105b99cf39.tar.gz |
derivations: 'derivation-build-plan' recurses on substituables.
This fixes a bug whereby "guix build texlive -n" would report:
0.0 MB would be downloaded:
/gnu/store/…-texlive-20180414
instead of:
The following derivation would be built:
/gnu/store/…-texlive-texmf-20180414.drv
2,595.2 MB would be downloaded:
/gnu/store/…-texlive-20180414-texmf.tar.xz
/gnu/store/…-texlive-20180414
where 'texlive-texmf' is a non-substitutable dependency of 'texlive'.
* guix/derivations.scm (dependencies-of-substitutables): New procedure.
(derivation-build-plan): When 'input-substitutable-info' returns true,
append the subset of DEPS that corresponds to SUBSTITUABLES to the first
argument of 'loop'.
* guix/ui.scm (show-what-to-build): Remove half-baked traversal of
DOWNLOAD.
* tests/derivations.scm ("derivation-build-plan and substitutes,
non-substitutable dep"): New test.
Diffstat (limited to 'guix/ui.scm')
-rw-r--r-- | guix/ui.scm | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 6d243ef041..2ce82ff658 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -844,18 +844,6 @@ check and report what is prerequisites are available for download." #:mode mode #:substitutable-info substitutable-info)) - ((download) ; add the references of DOWNLOAD - (if use-substitutes? - (delete-duplicates - (append download - (filter-map (lambda (item) - (if (valid-path? store item) - #f - (substitutable-info item))) - (append-map - substitutable-references - download)))) - download)) ((graft hook build) (match (fold (lambda (drv acc) (let ((file (derivation-file-name drv))) |