Leo Famulari <l...@famulari.name> writes: > On Thu, Mar 03, 2016 at 05:16:05PM +0100, Ricardo Wurmus wrote: >> >> Ludovic Courtès <l...@gnu.org> writes: >> >> > Ricardo Wurmus <ricardo.wur...@mdc-berlin.de> skribis: >> > >> >> Leo Famulari <l...@famulari.name> writes: >> >> >> >>>> + (build-system gnu-build-system) >> >>>> + ;; Marked as "required" in augeas.pc >> >>>> + (propagated-inputs >> >>>> + `(("libxml2" ,libxml2))) >> > >> > I find it clearer to put the comment right below ‘propagated-inputs’. >> > >> >>> Is there really no way to avoid this? >> >> >> >> I don’t know. >> > >> > The problem is that I don’t think it works to put an absolute file name >> > in the ‘Requires’ field of a ‘.pc’ file, so I don’t think we can avoid >> > it unfortunately. >> > >> > However, since Augeas is a library, the propagated input is acceptable: >> > in practice, people probably won’t have it in their main environment, >> > but rather in a ‘guix environment’ thing, or in a dedicated development >> > profile. >> >> Augeas is both a library and a command line tool. For a command line >> tool propagation is ugly and I’d like to avoid it. >> >> What should I best do in this case? > > What is the effect of a wrapper compared to propagation? My > understanding is that the wrapped environment is only visible to the > wrapped binary. Is that correct? If so, it seems less intrusive to the > user's profile.
A person using the command line tool probably won’t need a wrapper and doesn’t need propagation either. They only just use the tool. However, a programme using augeas as a library *does* need the input to be propagated as pkg-config will otherwise claim that augeas could not be loaded. Such programme would have to add libxml2 to its inputs. We achieve this for all users of augeas by propagating libxml2. As far as I can see there is no way to reconcile these two opposing forces in a single package. We don’t have a way to say that an input should only be propagated if the package is not a leaf node in the graph (i.e. installed directly into a user’s profile). ~~ Ricardo