all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Federico Beffa <beffa@ieee.org>
Cc: guix-devel@gnu.org
Subject: Re: wrap-program
Date: Sat, 27 Sep 2014 11:20:19 +0200	[thread overview]
Message-ID: <87a95lju7g.fsf@gnu.org> (raw)
In-Reply-To: <CAKrPhPNcoo3p0+LJiM=C47EFfrkKUTqwfrLoAB1nx1z3JBAu6g@mail.gmail.com> (Federico Beffa's message of "Fri, 26 Sep 2014 22:09:15 +0200")

Federico Beffa <beffa@ieee.org> skribis:

> 1. GSettings schemas: More than schemas compilation, the problem is that
> the schemas are by default expected to be in $datadir/glib-2.0/schemas
> (with $datadir usually being /usr/share).  In spite of this, other
> directories can be specified with the help of the environment variable
> $XDG_DATA_DIRS.  Since at glib-2.0 compiled time we can't know the path
> of future application installations, we may want to define

Right, that’s one of the reasons why the ‘glib’ package defines it as
its search path (see glib.scm.)

> 2. gtk-3.0 modules: gtk+ looks for modules (like libcanberra.so) in
> locations specified by
>
>    a. $GTK_PATH,
>
>    b. $libdir/gtk-3.0/modules, with $libdir being the one specified at
>    gtk+-3.0 ./configure time OR $GTK_EXE_PREFIX/lib.
>
> Option a. is inconvenient because that variable is used by both,
> gtk+-2.0 and gtk+-3.0, easily leading applications compiled with one
> version to find incompatible libraries.
>
> Option b. is more attractive.  Again, at compile time we do not know the
> location of future modules installations: Take emacs: it looks in the
> gtk+-3.0 directory $libdir/gtk-3.0/modules.  However, it is looking for
> a module installed by libcanberra which is not even an input to the
> emacs package.  For this reason we should probably define
>
> GTK_EXE_PREFIX="$HOME/.guix-profile"

That would be easy and could be defined in /etc/profile on the
standalone system.

However that would force users to install GTK+ in their profile so that
the modules it comes with are found, right?  This would be inconvenient.

> We may just want to check that: (i) paths defined in environment
> variables are not duplicated by 'wrap-program' definitions (wrap
> launched by wrap) and (ii) if the variable is already defined (for "non
> guix" reasons), we may want to append the existing value.

Yes, this is the preferred solution, I think (and I think it’s this case
it’s OK to have these two variables leak in sub-processes, as discussed
with Mark.)  However, we’d like to factorize the extra phase that does
the wrapping, so we don’t repeat it for each and every program.

> The only problem I see right now is if a program is launched by a user
> which does not have $HOME/.guix-profile (like a service).  In that case
> there could be a default profile.

I think these are mostly GUIs, unlikely to be launched by a service.

> This could also serve the second purpose of providing initial default
> applications (like guix itself!) to all users on "guix on distro"
> systems.

Hmm what do you mean?

Thanks,
Ludo’.

  parent reply	other threads:[~2014-09-27  9:20 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-13 13:13 emacs package Federico Beffa
2014-09-15  7:55 ` Ludovic Courtès
2014-09-16  7:38   ` Federico Beffa
2014-09-16 20:04     ` Federico Beffa
2014-09-17  9:11       ` Ludovic Courtès
2014-09-17 16:57         ` Federico Beffa
2014-09-18 12:01           ` Ludovic Courtès
2014-09-18 18:37             ` Federico Beffa
2014-09-19  7:54               ` Ludovic Courtès
2014-09-19  8:07                 ` Andreas Enge
2014-09-19 17:13                 ` Federico Beffa
2014-09-19 17:32                   ` Andreas Enge
2014-09-20 13:20                   ` Ludovic Courtès
2014-09-20 19:57                     ` Federico Beffa
2014-09-20 20:28                       ` Ludovic Courtès
2014-09-20 22:02                         ` Federico Beffa
2014-09-22  7:38                           ` GSettings schemas Ludovic Courtès
2014-09-23 18:39                             ` Mark H Weaver
2014-09-24  7:11                               ` wrap-program Ludovic Courtès
2014-09-26 20:09                                 ` wrap-program Federico Beffa
2014-09-26 22:17                                   ` wrap-program Federico Beffa
2014-09-27  9:20                                   ` Ludovic Courtès [this message]
2014-09-27 14:53                                     ` wrap-program Federico Beffa
2014-10-02  7:09                                       ` wrap-program Andreas Enge
2014-10-02  8:41                                         ` wrap-program Ludovic Courtès
2014-09-21 13:28                     ` emacs package Ludovic Courtès
2014-09-21 19:40                       ` Federico Beffa

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=87a95lju7g.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=beffa@ieee.org \
    --cc=guix-devel@gnu.org \
    /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.