summaryrefslogtreecommitdiff
path: root/guix/ui.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-07-04 23:09:11 +0200
committerLudovic Courtès <ludo@gnu.org>2019-07-05 00:51:17 +0200
commitb1510fd8d252c1ab0d32a32f064513105b99cf39 (patch)
treeeec62843caaa0ef298826f5f7fdefbb698249b1f /guix/ui.scm
parent87850c05a208f7b4213f632f3f79b59e76880724 (diff)
downloadpatches-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.scm12
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)))