Common Lisp apps in Fedora

Jerry James loganjerry at gmail.com
Mon Jan 4 16:29:32 UTC 2010


I was asked [1] to start a thread about the packaging of Common Lisp
applications for Fedora.  The person who made that request feels that
the existing guidelines are lacking detail.  Who else is interested in
packaging such applications?  We should get a group together and start
hashing through the issues.

One of the first issues we'll have to face is the use of common-lisp-controller.

First, it postpones compilation to the first time the application is
executed by a particular Common Lisp engine.  For the application I
packaged, PVS [2], compilation takes a significant amount of time.
This approach may be fine for small libraries and applications, but
will it really scale up to the some of the big applications people
want to package?

Second, common-lisp-controller is only used by SBCL right now, as far
as I can tell.  Is anybody working on hooking it up for the other CLs
in Fedora?  I am the GCL maintainer, and I've tried, but GCL is
missing multiple bits of functionality used by common-lisp-controller,
so I think that one is a no-go without significant upstream support.
I think that support is unlikely to appear, given that upstream
appears to be, not dead, but not very healthy either.  How about
clisp, ecl, or cmucl?

Third, common-lisp-controller support in SBCL is broken [3].  This
means that common-lisp-controller currently works for ZERO Common Lisp
implementations in Fedora, yet the guidelines mandate its use.

The next issue is that some applications selectively load certain Lisp
files at runtime on a demand-driven basis.  They do so because any
particular run tends to load only a fraction of the available files,
thereby reducing memory pressure.  How should this be accomplished
with ASDF?  We need guidelines to help packagers who are working with
libraries whose upstreams do not use ASDF.

Another issue is that some RPM macros would come in handy.  I have
found myself defining macros like this for nearly every ASDF-using
Common Lisp package I have put together so far:

%global clname trivial-features
%global cldir %{_datadir}/common-lisp
%global sysdir %{cldir}/systems
%global srcdir %{cldir}/source/%{clname}

Examples can be found at [4], [5], and [6].

Yet another issue is that nobody appears to be minding the Common Lisp
store in Fedora.  In a recent thread [7], I twice asked who is
responsible for maintaining the Common Lisp packaging guidelines, with
no response.  That makes me suspect that nobody is currently
maintaining them, so any group of interested parties would have to
include people willing to do that work.

Finally, there are more Common Lisp engines out there in the world
that have not been packaged for Fedora.  Is there any need to do so?
I'm interested in packaging up one application whose upstream favors
Clozure.  Is anybody working on a Clozure package?

References:
[1] https://bugzilla.redhat.com/show_bug.cgi?id=548607#c30
[2] http://pvs.csl.sri.com/
[3] https://bugzilla.redhat.com/show_bug.cgi?id=499182#c7
[4] http://jjames.fedorapeople.org/cl-trivial-features/
[5] http://jjames.fedorapeople.org/cl-trivial-gray-streams/
[6] http://jjames.fedorapeople.org/cl-alexandria/
[7] https://www.redhat.com/archives/fedora-devel-list/2009-December/msg00801.html
-- 
Jerry James
http://www.jamezone.org/




More information about the fedora-devel-list mailing list