guile-gtk-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The last piece in parallel-install


From: Andy Wingo
Subject: Re: The last piece in parallel-install
Date: Mon, 15 Nov 2004 19:37:19 +0200

Yo,

On Fri, 2004-11-12 at 09:26 -0500, Greg Troxel wrote:
>   Greg suggested that the module be named (gnome gnome-N), where N is a
>   version. I think this is suboptimal because it requires that there be
>   two directories in the load path that have a gnome/ subdirectory, which
>   could lead to ambiguities.
[...]
> By ambiguity, I think you mean [...]

What I really meant was...

> [...] that it could be or later become confusing.

Not a strong point, but people poking around /usr/share/guile could get
confused.

> Just (gnome-n) is fine; the actual number installed at any time is
> unlikely to be more than three, even if guile-gnome achieves World
> Domination.  So the gnome-turds level in the standard path will be
> small, and they'll sort near each other, so it won't annoy people.

Hah! gnome-turds is funny. I agree they would be ugly, but also that
they wouldn't be too many.

>   The fact that the
>   module can be used at all indicates that it must be installed in a dir
>   of the standard load path, regardless of what the user's prefix is. This
>   also hacks around the default-inst-dir-not-in-the-default-load-path
>   problem. 
> 
> This is combining two issues, about one of which we do not appear to
> have consensus.  One is how a module installed in a prefix different
> from guile is accessed.  The other is how module-version-specific
> paths get added.  (With guile-gnome-0, the user has to put the
> $prefix/bin dir in their PATH.)   The versioned libs are intentionally
> put someplace that essentially cannot be in a normal load path, and
> that's fine.

> (BTW why are they in $prefix/share/guile-gnome-0, instead of
> $prefix/share/guile/guile-gnome-0?  Is that to keep them from being
> invoked as (guile-gnome-0 gnome glib), which would be a mess?
> Actually that seems like a very good reason.)

Neil's idea that guile modules should be "discoverable" is a nice one,
but until it's clear what modules are versioned and what ones aren't I'd
rather not invite this mess. (Although (use-modules (foo gnome gobject))
would raise a "no code for module" error.)

> So putting gnome-n  in the standard place (site or not :) in guile-gnome's
> prefix solves the version issue, leaving the different-prefix issue
> to be solved.  Whatever solves that will work with the version plan,
> so it's not necessary to have a joint solution 

I wanted to kill two birds with one, er, module. But I buckle! My real
priority is that I don't have to deal with a lot of crap bug reports
about "I tried (use-modules (gnome gobject)) but it didn't work." I'll
solve this in the 1.6 era by requiring that the user pass --prefix to
configure, erroring out with a note explaining the situation otherwise.
This will make sure that that naive user (it's a state I aspire to,
actually ;) won't get screwed by autoconf defaults. No more /usr/local
hacks.

>   It
>   can also munge the LD_LIBRARY_PATH with getenv and setenv, so that the
>   libs are found. Which means, it subsumes all of the functionality of the
>   guile-gnome-0 script!
> 
> I view this as only a workaround until the scheme code is fixed to
> load things from the right place.  In general as we get more
> complexity adding searching rather than 'look in the right place'
> seems to be asking for trouble, and thus searching should be avoided
> when the right place can be programmatically known (which it can for
> the libs).

I also see it as a workaround, but fixing it is a low priority for me.
See the other mail.

> Perhaps gnome-n can use some variable (in the (gnome) module?) as a
> flag that gnome-n has been used for some value of n, and error out if
> a different version is tried.

I'm ahead of you ;) It's already implemented. (Note that when you
use-modules (foo), a (foo) module must actually be defined, though.)

The current version is attached, pre-substitution. (It will be output to
gnome-$version.scm.)

Cheers,
-- 
Andy Wingo <address@hidden>
http://ambient.2y.net/wingo/

Attachment: gnome.scm.in
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]