Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-lisp
Navigation:
Lists: gentoo-lisp: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-lisp@g.o
From: Stelian Ionescu <sionescu@...>
Subject: Re: common-lisp.eclass cleanup
Date: Sat, 13 Oct 2007 13:30:45 +0200
On Sat, Oct 13, 2007 at 12:05:42PM +0200, Marijn Schouten (hkBst) wrote:
[snip]
>> I'll try to explain how CL packages work:
>> 
>> 1) a CL package installs exactly one directory under
>> /usr/share/common-lisp/source. This is contained in the variable
>> $CLPACKAGE and it defaults to $PN. Exception: app-emacs/slime installs a
>> package named "swank"
>
>The code shows this is not really true. I couldn't find where a non-default
>use was possible. You probably need to set:
>
>[[ CLPACKAGE == "" ]] && CLPACKAGE=${PN}

there's no need for this construct because setting CLPACKAGE in the
ebuild is only meant as an override of the default value

>or slime won't be able to install swank.
>
>> 2) a CL package contains one or more ASDF files(.asd). The variable
>> $CLSYSTEMS contains the names of those systems and defaults to $PN
>> because in the simplest case there is only one .asd
>> The .asd files usually are contained in the toplevel of the source
>> directory and get symlinked into /usr/share/common-lisp/systems
>
>The code shows this is not really true. Therefore you cannot set $CLPACKAGE
>and expect it to be used by common-lisp_src_install in its call to
>common-lisp-system-symlink. Other eclasses use a construct like this:
>
>[[ CLSYSTEMS == "" ]] && CLSYSTEMS=${PN}

same as before

>> The eclass has three explicit "public" functions:
>> 
>> 1) common-lisp-install(): must receive at least one argument. It installs
>> files or directories(recursively) into /usr/share/common-lisp/source
>> 
>> 2) common-lisp-system-symlink(): when called with no arguments, it
>> installs the systems contained in $CLSYSTEMS. The system names must be
>> relative paths. Example: CLSYSTEMS="foo1 foo2 src/bar"
>> When called with some arguments, it installs those systems, ignoring
>> $CLSYSTEMS
>
>If I understand correctly the symlinks make it appear like CLPACKAGE contains
>what CLSYSTEMS contains. What is the point of that or why does it need to be
>that way?

most CL packages contain precisely one .asd file, named exactly as the
package; for example, kmrcl-1.97 contains only the kmrcl.asd system.
Having CLPACKAGE=$PN and CLSYSTEMS=$PN is a good default

>> 3) do-debian-credits(): taken from common-lisp-common.eclass, since I've
>> dropped the inheritance on it
>
>Which packages use this 

cl-aima, cl-irc, cl-sql, png, rt and split-sequence

> and what's the point of doing it?

as you know, many CL devs don't do releases(or not even versioning) so
mkennedy thought well of using the snapshots made by Debian developers
instead of making his own snapshots. It's meant as a way to credit
Debian for this

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
Attachment:
pgpkz7G7Xy3NC.pgp (PGP signature)
Replies:
Re: common-lisp.eclass cleanup
-- Marijn Schouten (hkBst)
References:
common-lisp.eclass cleanup
-- Stelian Ionescu
Re: common-lisp.eclass cleanup
-- Marijn Schouten (hkBst)
Navigation:
Lists: gentoo-lisp: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: common-lisp.eclass cleanup
Next by thread:
Re: common-lisp.eclass cleanup
Previous by date:
Re: common-lisp.eclass cleanup
Next by date:
Re: common-lisp.eclass cleanup


Updated Jun 17, 2009

Summary: Archive of the gentoo-lisp mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.