1 |
On Sat, Oct 13, 2007 at 12:05:42PM +0200, Marijn Schouten (hkBst) wrote: |
2 |
[snip] |
3 |
>> I'll try to explain how CL packages work: |
4 |
>> |
5 |
>> 1) a CL package installs exactly one directory under |
6 |
>> /usr/share/common-lisp/source. This is contained in the variable |
7 |
>> $CLPACKAGE and it defaults to $PN. Exception: app-emacs/slime installs a |
8 |
>> package named "swank" |
9 |
> |
10 |
>The code shows this is not really true. I couldn't find where a non-default |
11 |
>use was possible. You probably need to set: |
12 |
> |
13 |
>[[ CLPACKAGE == "" ]] && CLPACKAGE=${PN} |
14 |
|
15 |
there's no need for this construct because setting CLPACKAGE in the |
16 |
ebuild is only meant as an override of the default value |
17 |
|
18 |
>or slime won't be able to install swank. |
19 |
> |
20 |
>> 2) a CL package contains one or more ASDF files(.asd). The variable |
21 |
>> $CLSYSTEMS contains the names of those systems and defaults to $PN |
22 |
>> because in the simplest case there is only one .asd |
23 |
>> The .asd files usually are contained in the toplevel of the source |
24 |
>> directory and get symlinked into /usr/share/common-lisp/systems |
25 |
> |
26 |
>The code shows this is not really true. Therefore you cannot set $CLPACKAGE |
27 |
>and expect it to be used by common-lisp_src_install in its call to |
28 |
>common-lisp-system-symlink. Other eclasses use a construct like this: |
29 |
> |
30 |
>[[ CLSYSTEMS == "" ]] && CLSYSTEMS=${PN} |
31 |
|
32 |
same as before |
33 |
|
34 |
>> The eclass has three explicit "public" functions: |
35 |
>> |
36 |
>> 1) common-lisp-install(): must receive at least one argument. It installs |
37 |
>> files or directories(recursively) into /usr/share/common-lisp/source |
38 |
>> |
39 |
>> 2) common-lisp-system-symlink(): when called with no arguments, it |
40 |
>> installs the systems contained in $CLSYSTEMS. The system names must be |
41 |
>> relative paths. Example: CLSYSTEMS="foo1 foo2 src/bar" |
42 |
>> When called with some arguments, it installs those systems, ignoring |
43 |
>> $CLSYSTEMS |
44 |
> |
45 |
>If I understand correctly the symlinks make it appear like CLPACKAGE contains |
46 |
>what CLSYSTEMS contains. What is the point of that or why does it need to be |
47 |
>that way? |
48 |
|
49 |
most CL packages contain precisely one .asd file, named exactly as the |
50 |
package; for example, kmrcl-1.97 contains only the kmrcl.asd system. |
51 |
Having CLPACKAGE=$PN and CLSYSTEMS=$PN is a good default |
52 |
|
53 |
>> 3) do-debian-credits(): taken from common-lisp-common.eclass, since I've |
54 |
>> dropped the inheritance on it |
55 |
> |
56 |
>Which packages use this |
57 |
|
58 |
cl-aima, cl-irc, cl-sql, png, rt and split-sequence |
59 |
|
60 |
> and what's the point of doing it? |
61 |
|
62 |
as you know, many CL devs don't do releases(or not even versioning) so |
63 |
mkennedy thought well of using the snapshots made by Debian developers |
64 |
instead of making his own snapshots. It's meant as a way to credit |
65 |
Debian for this |
66 |
|
67 |
-- |
68 |
Stelian Ionescu a.k.a. fe[nl]ix |
69 |
Quidquid latine dictum sit, altum videtur. |