Gentoo Archives: gentoo-lisp

From: "Marijn Schouten (hkBst)" <hkBst@g.o>
To: Stelian Ionescu <sionescu@×××××××××××.net>
Cc: gentoo-lisp@l.g.o
Subject: Re: [gentoo-lisp] common-lisp.eclass cleanup
Date: Mon, 15 Oct 2007 10:12:01
Message-Id: 47133B20.9050906@gentoo.org
In Reply to: Re: [gentoo-lisp] common-lisp.eclass cleanup by Stelian Ionescu
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Stelian Ionescu wrote:
5 > On Sat, Oct 13, 2007 at 12:05:42PM +0200, Marijn Schouten (hkBst) wrote:
6 > [snip]
7 >>> I'll try to explain how CL packages work:
8 >>>
9 >>> 1) a CL package installs exactly one directory under
10 >>> /usr/share/common-lisp/source. This is contained in the variable
11 >>> $CLPACKAGE and it defaults to $PN. Exception: app-emacs/slime installs a
12 >>> package named "swank"
13 >> The code shows this is not really true. I couldn't find where a non-default
14 >> use was possible. You probably need to set:
15 >>
16 >> [[ CLPACKAGE == "" ]] && CLPACKAGE=${PN}
17 >
18 > there's no need for this construct because setting CLPACKAGE in the
19 > ebuild is only meant as an override of the default value
20
21 I was thinking of having the variable set before inheriting the eclass, but if
22 you inherit first and set later it works as you intended. Please comment that.
23
24 >> or slime won't be able to install swank.
25 >>
26 >>> 2) a CL package contains one or more ASDF files(.asd). The variable
27 >>> $CLSYSTEMS contains the names of those systems and defaults to $PN
28 >>> because in the simplest case there is only one .asd
29 >>> The .asd files usually are contained in the toplevel of the source
30 >>> directory and get symlinked into /usr/share/common-lisp/systems
31 >> The code shows this is not really true. Therefore you cannot set $CLPACKAGE
32 >> and expect it to be used by common-lisp_src_install in its call to
33 >> common-lisp-system-symlink. Other eclasses use a construct like this:
34 >>
35 >> [[ CLSYSTEMS == "" ]] && CLSYSTEMS=${PN}
36 >
37 > same as before
38
39 True. Why does common-lisp-system-symlink check for zero arguments? Is that
40 functionality needed by any ebuild?
41
42 >>> The eclass has three explicit "public" functions:
43 >>>
44 >>> 1) common-lisp-install(): must receive at least one argument. It installs
45 >>> files or directories(recursively) into /usr/share/common-lisp/source
46 >>>
47 >>> 2) common-lisp-system-symlink(): when called with no arguments, it
48 >>> installs the systems contained in $CLSYSTEMS. The system names must be
49 >>> relative paths. Example: CLSYSTEMS="foo1 foo2 src/bar"
50 >>> When called with some arguments, it installs those systems, ignoring
51 >>> $CLSYSTEMS
52 >> If I understand correctly the symlinks make it appear like CLPACKAGE contains
53 >> what CLSYSTEMS contains. What is the point of that or why does it need to be
54 >> that way?
55 >
56 > most CL packages contain precisely one .asd file, named exactly as the
57 > package; for example, kmrcl-1.97 contains only the kmrcl.asd system.
58 > Having CLPACKAGE=$PN and CLSYSTEMS=$PN is a good default
59
60 That is not an answer. Why do we need to have two variables? Why can we not
61 collapse them into one?
62
63 >>> 3) do-debian-credits(): taken from common-lisp-common.eclass, since I've
64 >>> dropped the inheritance on it
65 >> Which packages use this
66 >
67 > cl-aima, cl-irc, cl-sql, png, rt and split-sequence
68 >
69 >> and what's the point of doing it?
70 >
71 > as you know, many CL devs don't do releases(or not even versioning) so
72 > mkennedy thought well of using the snapshots made by Debian developers
73 > instead of making his own snapshots. It's meant as a way to credit
74 > Debian for this
75
76 I don't know about many. A few yes. Having Debian oblige them certainly is a
77 mixed blessing. I don't think I like having code in our eclasss merely to give
78 credit and not nearly enough ebuilds seem to depend on this. Are any of the
79 installed files of practical use?
80
81 Stelian Ionescu wrote:
82 > On Sat, Oct 13, 2007 at 12:07:39PM +0200, Marijn Schouten (hkBst) wrote:
83 >> Stelian Ionescu wrote:
84 >>> if there are no objections, I'll commit the eclass next evening - Oct. 13
85 >> I forgot to mention: quote ROOT.
86 > okie, I thought quoting didn't matter in assignments, but only in
87 > commands
88
89 You are correct.
90
91 Marijn
92
93 - --
94 Marijn Schouten (hkBst), Gentoo Lisp project
95 <http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
96 -----BEGIN PGP SIGNATURE-----
97 Version: GnuPG v2.0.7 (GNU/Linux)
98 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
99
100 iD8DBQFHEzsgp/VmCx0OL2wRAokeAJ9l3iGrMXT1PJzC1Gm7QYkTA2FhpgCggGtR
101 /DM3Uflv/HxxtY7rWEUzOhM=
102 =RL7O
103 -----END PGP SIGNATURE-----
104 --
105 gentoo-lisp@g.o mailing list

Replies

Subject Author
Re: [gentoo-lisp] common-lisp.eclass cleanup Stelian Ionescu <sionescu@×××××××××××.net>