[gambit-list] Gambit installer

Christian Jaeger christian at pflanze.mine.nu
Mon Sep 29 18:23:17 EDT 2008


Adrien Pierard wrote:
> On Mon, Sep 29, 2008 at 11:14:20PM +0200, Christian Jaeger wrote :
>   
>>> $prefix/bin/{gsi-$version,gsc-$version}
>>>       
>> Where will gsi-script and gsc-script be?
>>     
> Well, there, with the version though.
> One may keep the names without versions as symlinks to the latest version.
>   
>> Also, I'm missing where the "gsi" and "gsc" binaries/names will reside.
>>     
> Just above, as explained
>   

But then you can't choose which Gambit binary to use by setting PATH 
anymore.

Environment variables are the best way to choose between alternatives; 
unix environment variables are what |make-parameter| is in Scheme. It 
allows for parametrization of programs without having to pass data 
lexically (for which the pendant in unix would be program arguments), 
and without having to do it by side-effecting globals (which in unix 
would be changing the symlinks you mention above).

>   
>>> $prefix/lib/gambit-c/$version
>>> $prefix/doc/gambit-c/$version
>>> $prefix/share/gambit-c/$version
>>> $prefix/info/gambit-c/$version
>>> $prefix/include/gambit-c/$version
>>>       
>> Why is this better than 
>> /usr/local/Gambit-C/$version/{lib,doc,info,include} ?
>>     
>
> Because that's how the unix tradition is !
>   

What tradition exactly? You mean using $prefix/{lib,doc,share,info}? For 
example apache had (maybe still has, dunno) the tradition to do it like 
Gambit by default, i.e. put all of it's files into one common 
subdirectory (the advantage being that you can easily uninstall the 
whole program by just deleting one directory -- a bit like OS X is doing 
it now I think, btw). If you start creating subdirectories and thus 
deviate from standard places anyway (i.e. once you feel the need to add 
library paths to the ld config to avoid having to set LD_LIBRARY_PATH), 
it doesn't matter anymore?

> Almost all programs follow these rules (at least the fedora of the university,
> all all my BSD OSs).
> As the maintainer of gambit on FreeBSD, I'd like to follow this scheme (as Perl
> and TCL do among many others)
>   

What does it solve for you?

>   
>> Debian does not seem to have a conflict of the gsi and gsc names with 
>> ghostscript
>> so which OS'es do have one?
>>     
>
> BSD's.
>   

What is the conflict there?

> Debian and Ubuntu are well spread, but far from being the only unices around.
> I tend to think that some other linuxes hava this conflict.
>   

I don't intend to refute this, I just don't know, that's why I'm asking.

>   
>> I'm using "~~/lib/_gambit#.scm" and "~~/lib/gambit#.scm" in a number of 
>> places. Also I guess a number of people are using "~~/syntax-case.scm" 
>> currently. If those are to be changed, what are the reasons and aims?
>>     
>
> from "~~", it seems one can only access either syntax-case or lib. What's the
> point? Why not have them packaged together, and then, get rid of the "lib" part
> of this shortcut? I believe that it's the right thing to do to merge them.
>   

So you are proposing two changes:

(a) move files to different installation places in the filesystem, i.e. 
changing the exec and linker paths.
(b) change the include (sub-)paths

> Then, it's just a matter of a sed one liner to fix all the programs

Not quite, if you don't know in advance whether your program is going to 
be used with a Gambit version from before or after your changes.

Christian.




More information about the Gambit-list mailing list