[plt-scheme] Unix install (was Version Check)
As someone who embeds mzscheme into an application, the changes below would
make it much, *much* easier to work with in terms of writing configure tests
and linking and testing. The current locations of the shared libraries made
it hard to get other people using the software and turned many people off.
To give you another reference point I use Debain's apt/dpkg packaging system.
Regards
Lee Begg
On Tuesday 02 May 2006 20:39, Lauri Alanko wrote:
> On Thu, Apr 27, 2006 at 08:44:47PM -0600, Matthew Flatt wrote:
<snip>
> But, for what it's worth, here's how I think the PLT software _should_,
> in an ideal world, be installed on a "standard" (FHS-compliant) Un*xish
> filesystem hierarchy. Here "..." is stands for the installation prefix,
> typically /usr or /usr/local.
>
>
> Binaries: .../bin/
<snip>
> Common native libraries: .../lib/
<snip>
> Common headers: .../include/plt
<snip>
> Man pages: .../man
<snip>
> That's about it. To me it seems that most of this can be accomplished
> just by changing installation paths a bit. Locating the native code for
> collections requires some extra work.
>
>
> Someone mentioned that the "one application-specific directory" approach
> is better because it is easier to uninstall, but this argument doesn't
> really hold, since there are various package management systems to take
> care of this. I use one of the very simplest, GNU Stow. With most
> autotools-based software, all I have to do is:
>
> ./configure --prefix=$HOME/local
> make
> make install prefix=$HOME/local/stow/this-app
> cd $HOME/local/stow
> stow this-app
>
> and everything just works.
>
> However, with PLT it's not quite this simple. I do (approximately):
>
> ./configure --prefix=$HOME/local
> make
> make install prefix=$HOME/local/stow/plt-lib
>
> cd $HOME/local/stow/
> mkdir -p plt/lib
> mv plt-lib plt/lib/plt
> cd plt
> ln -s lib/include lib/man lib/bin .
> cd lib
> ln -s plt/lib/* .
> cd ../..
> stow plt
>
> And then I probably run setup-plt at some point. This works reasonably
> well for my purposes: I get mzscheme into my path ($HOME/local/bin)
> which is usually all that matters to me. Still, it's a bit awkward.
>
> So, before we start talking about "fixing" the file layout, we need to
> know what it should be changed to. I'd be rather surprised if everyone
> agreed that the layout I suggested would be an improvement...
>
>
> Lauri