[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24886: Why is die "doc" output downloaded when building this package
bug#24886: Why is die "doc" output downloaded when building this package?
Wed, 25 Jan 2017 11:12:09 +0100
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
address@hidden (Ludovic Courtès) skribis:
> Hartmut Goebel <address@hidden> 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
> 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
(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.
|[Prev in Thread]
||[Next in Thread]|
- bug#24886: Why is die "doc" output downloaded when building this package?,
Ludovic Courtès <=