Ludovic Courtès <l...@gnu.org> writes: > LGTM, please push!
Pushed. > There’s another problem, though. When a dependency is a multiple-output > package, all its outputs are added to the environment, because > ‘package->transitive-inputs’ discards the information of which output is > needed. Yes, I had thought about this, but couldn't think of a way to preserve that information throughout the program. > So for instance, both the ‘out’ and the ‘debug’ output of Coreutils end > up being downloaded and added to the environment, even though only ‘out’ > is an input. > > Now, the problem is that ‘build-derivations’ can only build *all* the > outputs of the given derivation. This could be worked around either: > > 1. by creating a “sink” derivation, for instance with > ‘profile-derivation’, that could refer precisely to the output(s) > needed; not ideal. > > 2. by using (build-things (list "/the/output/path")) and resorting to > ‘build-derivations’ only if the ‘build-things’ call did nothing > (when passed a non-.drv store item, ‘build-things’ tries to > substitute and does nothing if that fails.) > > Thoughts? I don't like option #1. I haven't fully grokked option #2, but I guess that will be the next thing to try. Thanks for the nudge in the right direction. -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate