* Re: Why is die "doc" output downloaded when building this package? [not found] <e8b061e0-9a62-a65e-4051-33152c3c1516@crazy-compilers.com> @ 2016-11-05 21:53 ` Ludovic Courtès 2016-11-06 15:25 ` Hartmut Goebel 2017-01-25 10:12 ` bug#24886: " Ludovic Courtès 0 siblings, 2 replies; 3+ messages in thread From: Ludovic Courtès @ 2016-11-05 21:53 UTC (permalink / raw) To: Hartmut Goebel; +Cc: bug-guix, help-guix Hi, (Adding a bug at bug-guix@gnu.org.) Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: > when building this package, qt-4.8.7-doc (the doc-output of qt-4.7.8) > will be downloaded. I do not understand why. Most likely this is due to a limitation of the current implementation of grafts: all the outputs of packages on a “grafting path” need to be downloaded, even if some of these outputs are unused. This is because ‘graft-derivation’ takes a derivation, such as Qt’s, and returns a derivation with as many outputs, but marked as non-substitutable (locally built). Because it’s locally built, all the outputs of the original derivation must be fetched just to be able to build the grafted derivation, even if only one of those outputs is needed. I think we could fix that by creating one graft derivation for each output of the original derivation. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Why is die "doc" output downloaded when building this package? 2016-11-05 21:53 ` Why is die "doc" output downloaded when building this package? Ludovic Courtès @ 2016-11-06 15:25 ` Hartmut Goebel 2017-01-25 10:12 ` bug#24886: " Ludovic Courtès 1 sibling, 0 replies; 3+ messages in thread From: Hartmut Goebel @ 2016-11-06 15:25 UTC (permalink / raw) To: Ludovic Courtès; +Cc: bug-guix, help-guix Am 05.11.2016 um 22:53 schrieb Ludovic Courtès: > Most likely this is due to a limitation of the current implementation of > grafts: all the outputs of packages on a “grafting path” need to be > downloaded, even if some of these outputs are unused. IC. Thanks for the explanation. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | ^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#24886: Why is die "doc" output downloaded when building this package? 2016-11-05 21:53 ` Why is die "doc" output downloaded when building this package? Ludovic Courtès 2016-11-06 15:25 ` Hartmut Goebel @ 2017-01-25 10:12 ` Ludovic Courtès 1 sibling, 0 replies; 3+ messages in thread From: Ludovic Courtès @ 2017-01-25 10:12 UTC (permalink / raw) To: Hartmut Goebel; +Cc: 24886-done ludo@gnu.org (Ludovic Courtès) skribis: > Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: > >> when building this package, qt-4.8.7-doc (the doc-output of qt-4.7.8) >> will be downloaded. I do not understand why. > > Most likely this is due to a limitation of the current implementation of > grafts: all the outputs of packages on a “grafting path” need to be > downloaded, even if some of these outputs are unused. > > This is because ‘graft-derivation’ takes a derivation, such as Qt’s, and > returns a derivation with as many outputs, but marked as > non-substitutable (locally built). Because it’s locally built, all the > outputs of the original derivation must be fetched just to be able to > build the grafted derivation, even if only one of those outputs is > needed. > > I think we could fix that by creating one graft derivation for each > output of the original derivation. Done in 482fda2729c3e76999892cb8f9a0391a7bd37119. To take a concrete example, “guix build brdf-explorer” would previously trigger a download of qt:doc, even though only qt:out is used. This is no longer the case. This commit does not fix situations like: guix package -i qt In this case, qt:doc still gets downloaded for nothing. This is because the underlying (package-derivation store qt #:graft? #t) call does not know that only “out” is needed. This can be addressed with “lazy grafting” as discussed in <https://bugs.gnu.org/22990>, where we’d delay grafting until the profile is built instead of grafting each individual package eagerly. Ludo’. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-25 10:13 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <e8b061e0-9a62-a65e-4051-33152c3c1516@crazy-compilers.com> 2016-11-05 21:53 ` Why is die "doc" output downloaded when building this package? Ludovic Courtès 2016-11-06 15:25 ` Hartmut Goebel 2017-01-25 10:12 ` bug#24886: " Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).