Ludovic Courtès writes: > The choice was made to allow package definitions to explicitly state > which outputs of their dependencies they’re interested in. So it you > have > > `("boost" ,boost) > > that’s only boost:out; if you have: > > `("boost" ,boost "lib") > > that’s only boost:lib. If you want both, you need to specify both. > > So far I don’t think this was considered a problem; on the contrary, you > could get fine-grain control, as in glib:out vs. glib:bin. In this > particular case, I agree that it’s annoying to have to specify both. > > If this “particular case” happens to be common enough, we can always > revisit the above decision and chance `("boost" ,boost) to mean “all the > outputs of boost.” It looks to me that it will be common if you want to reduce closures. Also, in other distributions you know that you can build-depend on the -dev(el) package and get what you need without having to know about various sub-packages (outputs), and the runtime requirements should be minimal (although there are sometimes problems with unnecessary dependencies). As far as I know, Guix doesn't have an easy way to find what provides particular files to determine the inputs. I don't think these things are fundamental, obviously, and I may just be too set in my ways from other systems. It's all meant as constructive criticism, of course.