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

Bug#177057: Redoing the clisp package, advice wanted

Hi Peter, this is really good news! Thanks!

On 8/17/10, Peter Van Eynde <pvaneynd at debian.org> wrote:
>  > Note also that the file clisp/unix/INSTALL has a section "Additional
>  > Information for Maintainers of Binary Packages" with a "Module
>  > selection" subsection. I think it would be a good idea for debian to
>  > follow those suggestions.
>  > I am mostly concerned with "offering a uniform experience to all CLISP
>  > users regardless of platform or distribution".
>  Now I've been investigating the other packagings of clisp in Linux and
>  I've been unable to find one that fits this description.
alas, other linux distributions are lagging behind.

>  Could you explain how we can build 'clisp with dynamic modules and offer
>  individual modules a la carte.' and how users would interact with this?
>  I've tried grasping this from the manual but failed to do so I fear.

1. clisp is now built with dynamic modules by default.

2. you build clisp with "./configure --cbc build-base".
now the directory "build-base" contains the "base" clisp linking set.
you can create a package (the "clisp" package) out of it by
"cd build-base; make install DESTDIR=foo; cd foo; tar cf clisp.tar .".

3. now you want to build a module package, e.g., clisp-rawsock or
below, "modname" will be the module name, e.g., "rawsock" or "wildcard".
first, you need to install the prerequisites, e.g., postgresql-dev for
the postgresql module.
now do "cd build-base; make MODULES=modname; rm -rf foo;
CLISP='./clisp -q -norc' DESTDIR=foo ./clisp-link install modname;
cd foo; tag cf clisp-modname.tar ."

4. note that clisp-link in clisp 2.49 does _not_ support DESTDIR yet.
I am working on it now, you will probably have to get it from the cvs.

5. an alternative to step 3 (which, in contrast to step 3, actully
works OOTB) is to do "make install DESTDIR=foo MODULES=...." and then
(a) remove "full" (b) place directory "modname/" and files
"dynmod/*modname*" into the "clisp-modname" package (c) place the rest
into the "clisp" package.
Alternatively, pass '--with-module=rawsock --with-module=... ....' to
the top-level configure and you will not have to pass MODULES=... to

I know this sounds somewhat rough. Let us work together to fix it up!

>  Could you give examples or a distribution that 'does the right thing'?
debian is about to become the first!
Sam Steingold <http://sds.podval.org>

Reply to: