[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Another load path idea
Re: Another load path idea
Thu, 12 Jan 2006 10:38:42 +0100
Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux)
Neil Jerram <address@hidden> writes:
> The basic idea behind all of the previous proposals was to create some
> kind of config when a package was installed, such that other Guile
> code would be able to find that package automatically. But what if we
> do things the other way round? When a package that has dependencies
> on other Guile modules is installed, we do some work at install time
> to locate the dependencies that the package needs, and save the
> results in a config file under the name of the _using_ package. Then
> when that package is run, it sets up the environment that it needs by
> reading the saved config file.
> I have no idea how to do this yet, but is it a good idea in principle?
Yes, but I think that's (almost) a different issue. I think it solves
the issue of finding the right dependency, not that of finding the right
module. IOW, it's similar to Libtool's `.la' files (which include
information about a library's dependencies), not to /etc/ld.so.conf .
Speaking of that, the analogy of `ld.so.conf' would be something along
the lines of what you originally proposed: storing the initial value
of `%load-path' somewhere in a file (or bunch of file -- the `init.d'
approach), instead of having it hard-wired.
The `init.d' approach was ruled out because of the increased startup
time. However, the single file approach had been considered
unpractical because it is harder to add/remove directories from there,
and to keep track of which packages exactly relied on it.
So, what if we just went ahead with the `init.d' approach, except that
each file would only contain a single Scheme string? This constraint is
critical to address the startup time concern.
Or what about a single init file (again without any code, only data),
somewhat enhanced to keep track of which package rely on a each
particular load path:
((guile-gnome . "/opt/guile-gnome/")
(guile-chbouib . "/usr/local/share/guile-chbouib")
I'm sorry for getting back to this kind of proposal, but I think I'm
getting confused. Since the discussion spanned over several months,
summarizing the key arguments seems important at this point.
- Another load path idea, Neil Jerram, 2006/01/07
- Re: Another load path idea,
Ludovic Courtès <=
- Re: Another load path idea, Neil Jerram, 2006/01/12
- Re: Another load path idea, Ludovic Courtès, 2006/01/19
- Re: Another load path idea, Kevin Ryde, 2006/01/20
- Re: Another load path idea, Neil Jerram, 2006/01/21
- Re: Another load path idea, Ludovic Courtès, 2006/01/23
- Re: Another load path idea, Neil Jerram, 2006/01/23
- Re: Another load path idea, Andy Wingo, 2006/01/24
- Re: Another load path idea, Kevin Ryde, 2006/01/25
- Re: Another load path idea, Ludovic Courtès, 2006/01/26
- Re: Another load path idea, Neil Jerram, 2006/01/26