From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1IhMvZ-0002nI-9S for garchives@archives.gentoo.org; Mon, 15 Oct 2007 10:12:01 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.14.1/8.14.0) with SMTP id l9FA1o2B017578; Mon, 15 Oct 2007 10:01:50 GMT Received: from pollux.sshunet.nl (pollux.sshunet.nl [145.97.192.42]) by robin.gentoo.org (8.14.1/8.14.0) with ESMTP id l9FA1o2n017565 for ; Mon, 15 Oct 2007 10:01:50 GMT Received: from localhost (localhost.localdomain [127.0.0.1]) by pollux.sshunet.nl (Postfix) with ESMTP id BA34A580028; Mon, 15 Oct 2007 12:01:49 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at pollux.warande.net Received: from pollux.sshunet.nl ([127.0.0.1]) by localhost (pollux.sshunet.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tr-4OsiFm0eu; Mon, 15 Oct 2007 12:01:49 +0200 (CEST) Received: from [145.97.222.138] (138pc222.sshunet.nl [145.97.222.138]) by pollux.sshunet.nl (Postfix) with ESMTP; Mon, 15 Oct 2007 12:01:49 +0200 (CEST) Message-ID: <47133B20.9050906@gentoo.org> Date: Mon, 15 Oct 2007 12:04:16 +0200 From: "Marijn Schouten (hkBst)" User-Agent: Thunderbird 2.0.0.6 (X11/20070802) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Lisp mail X-BeenThere: gentoo-lisp@gentoo.org MIME-Version: 1.0 To: Stelian Ionescu CC: gentoo-lisp@lists.gentoo.org Subject: Re: [gentoo-lisp] common-lisp.eclass cleanup References: <20071012213031.GA710952@universe.org> <47109876.7070606@gentoo.org> <20071013113045.GB787015@universe.org> In-Reply-To: <20071013113045.GB787015@universe.org> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: b106639c-aedb-412b-88f4-97b2ea37bd75 X-Archives-Hash: ddfcb8f4bca975cff9775d239aafd428 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Stelian Ionescu wrote: > 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 I was thinking of having the variable set before inheriting the eclass, but if you inherit first and set later it works as you intended. Please comment that. >> 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 True. Why does common-lisp-system-symlink check for zero arguments? Is that functionality needed by any ebuild? >>> 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 That is not an answer. Why do we need to have two variables? Why can we not collapse them into one? >>> 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 I don't know about many. A few yes. Having Debian oblige them certainly is a mixed blessing. I don't think I like having code in our eclasss merely to give credit and not nearly enough ebuilds seem to depend on this. Are any of the installed files of practical use? Stelian Ionescu wrote: > On Sat, Oct 13, 2007 at 12:07:39PM +0200, Marijn Schouten (hkBst) wrote: >> Stelian Ionescu wrote: >>> if there are no objections, I'll commit the eclass next evening - Oct. 13 >> I forgot to mention: quote ROOT. > okie, I thought quoting didn't matter in assignments, but only in > commands You are correct. Marijn - -- Marijn Schouten (hkBst), Gentoo Lisp project , #gentoo-lisp on FreeNode -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHEzsgp/VmCx0OL2wRAokeAJ9l3iGrMXT1PJzC1Gm7QYkTA2FhpgCggGtR /DM3Uflv/HxxtY7rWEUzOhM= =RL7O -----END PGP SIGNATURE----- -- gentoo-lisp@gentoo.org mailing list