On 7/12/10 Jul 12 -4:39 PM, Peter Busser wrote:
Oliver,
Well, my experience with creating lots of Common Lisp .deb packages on Debian shows that problems in most cases are caused by incorrect placement of the .asd file(s) followed by missing .lisp files or other missing stuff. Sometimes the .asd file tries to be smart by doing things that it shouldn't do (like i.e. compile C source code). The most time consuming part for me is to find the right version of libraries. Especially for larger programs with lots of dependencies like Closure, the McCLIM based web browser. Somehow I never got it to do anything useful.
Well, for the record, compiling C source code is a perfectly legitimate thing for an ASDF system definition to do (at least when not in the context of a .deb).
ASDF system definitions /can/ specify version requirements, but it seems that this fact is not well known among ASDF users, and this feature is not extensively used. If library authors would tag their systems with x.y.z version info that complied with ASDF::VERSION-SATISFIES and would put in :version dependencies, then I bet you would find your life a lot easier. I know mine would be, and I don't try to make .debs!
I think that once people seriously try to understand what kind of problems the Debian (and other packagers) try to solve, that they will understand that it is only logical to choose something like CLC. I can only hope that such an understanding leads to more constructive ideas than just dismissing it by saying that it is evil.
Maybe it's not evil, but it seems like there are two challenges:
1. There is a not well understood subset of valid .asd files that is compatible with CLC.
2. Installing CLC has an effect on the host lisp that is not well understood by people who don't use it; unfortunately those people are the ones who must supply help to CLC users who encounter problems with their libraries.
Best, r