From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] gnu: Add Augeas. Date: Fri, 4 Mar 2016 09:21:05 +0100 Message-ID: <87vb52ac26.fsf@mdc-berlin.de> References: <20160122202934.GB27435@jasmine> <87d1sexhfx.fsf@gnu.org> <20160304030327.GB30676@jasmine> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47247) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abkzA-0002hU-Gd for guix-devel@gnu.org; Fri, 04 Mar 2016 03:21:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abkz5-00006f-FE for guix-devel@gnu.org; Fri, 04 Mar 2016 03:21:20 -0500 In-Reply-To: <20160304030327.GB30676@jasmine> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Leo Famulari Cc: guix-devel Leo Famulari writes: > On Thu, Mar 03, 2016 at 05:16:05PM +0100, Ricardo Wurmus wrote: >>=20 >> Ludovic Court=C3=A8s writes: >>=20 >> > Ricardo Wurmus skribis: >> > >> >> Leo Famulari 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 =E2=80=98propagated= -inputs=E2=80=99. >> > >> >>> Is there really no way to avoid this? >> >> >> >> I don=E2=80=99t know. >> > >> > The problem is that I don=E2=80=99t think it works to put an absolut= e file name >> > in the =E2=80=98Requires=E2=80=99 field of a =E2=80=98.pc=E2=80=99 f= ile, so I don=E2=80=99t think we can avoid >> > it unfortunately. >> > >> > However, since Augeas is a library, the propagated input is acceptab= le: >> > in practice, people probably won=E2=80=99t have it in their main env= ironment, >> > but rather in a =E2=80=98guix environment=E2=80=99 thing, or in a de= dicated development >> > profile. >>=20 >> Augeas is both a library and a command line tool. For a command line >> tool propagation is ugly and I=E2=80=99d like to avoid it. >>=20 >> 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=E2=80=99t need a wrappe= r and doesn=E2=80=99t 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=E2=80=99t have a way to say that an i= nput should only be propagated if the package is not a leaf node in the graph (i.e. installed directly into a user=E2=80=99s profile). ~~ Ricardo