all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
To: Leo Famulari <leo@famulari.name>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] gnu: Add Augeas.
Date: Fri, 4 Mar 2016 09:21:05 +0100	[thread overview]
Message-ID: <87vb52ac26.fsf@mdc-berlin.de> (raw)
In-Reply-To: <20160304030327.GB30676@jasmine>


Leo Famulari <leo@famulari.name> writes:

> On Thu, Mar 03, 2016 at 05:16:05PM +0100, Ricardo Wurmus wrote:
>> 
>> Ludovic Courtès <ludo@gnu.org> writes:
>> 
>> > Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
>> >
>> >> Leo Famulari <leo@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

      reply	other threads:[~2016-03-04  8:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-21 15:05 [PATCH] gnu: Add Augeas Ricardo Wurmus
2016-01-22 20:29 ` Leo Famulari
2016-02-02 15:50   ` Ricardo Wurmus
2016-02-02 17:13     ` Tobias Geerinckx-Rice
2016-02-02 19:11       ` Ricardo Wurmus
2016-02-03  9:37     ` Ludovic Courtès
2016-03-03 16:16       ` Ricardo Wurmus
2016-03-04  3:03         ` Leo Famulari
2016-03-04  8:21           ` Ricardo Wurmus [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87vb52ac26.fsf@mdc-berlin.de \
    --to=ricardo.wurmus@mdc-berlin.de \
    --cc=guix-devel@gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.