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 1IgdzR-00042q-CS for garchives@archives.gentoo.org; Sat, 13 Oct 2007 10:13: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 l9DA2xIa022771; Sat, 13 Oct 2007 10:02:59 GMT Received: from castor.sshunet.nl (castor.sshunet.nl [145.97.192.41]) by robin.gentoo.org (8.14.1/8.14.0) with ESMTP id l9DA2xLg022766 for ; Sat, 13 Oct 2007 10:02:59 GMT Received: from localhost (localhost.localdomain [127.0.0.1]) by castor.sshunet.nl (Postfix) with ESMTP id 6483757C011; Sat, 13 Oct 2007 12:02:59 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at castor.sshunet.nl Received: from castor.sshunet.nl ([127.0.0.1]) by localhost (castor.sshunet.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4-Zn7DaKrIUS; Sat, 13 Oct 2007 12:02:59 +0200 (CEST) Received: from [145.97.223.120] (120pc223.sshunet.nl [145.97.223.120]) by castor.sshunet.nl (Postfix) with ESMTP; Sat, 13 Oct 2007 12:02:59 +0200 (CEST) Message-ID: <47109876.7070606@gentoo.org> Date: Sat, 13 Oct 2007 12:05:42 +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 mailing list Subject: Re: [gentoo-lisp] common-lisp.eclass cleanup References: <20071012213031.GA710952@universe.org> In-Reply-To: <20071012213031.GA710952@universe.org> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: dc292fb4-8012-461d-b894-6bcf581c0f22 X-Archives-Hash: 22e376ac8a055c5fb68648318e268690 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Stelian Ionescu wrote: > hello, I've attached a cleaned up version of common-lisp.eclass. The > purpose of this change is to remove dependency on > dev-lisp/common-lisp-controller and to help reduce code duplication in > ebuilds. Thank you very much Stelian. > 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} 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} > 3) in order to find the systems, ASDF must be aware of the > /usr/share/common-lisp/systems directory, which must be added to the > list contained in the variable asdf:*central-registry*; > dev-lisp/gentoo-init takes care of setting up everything for the user > > 4) to load a system, one must start a Lisp and eval > (asdf:oos 'asdf:load-op ) > > > 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? > 3) do-debian-credits(): taken from common-lisp-common.eclass, since I've > dropped the inheritance on it Which packages use this and what's the point of doing it? > and an exported function, common-lisp_src_install, which is sufficient > for a good share of CL packages in the tree > > > if there are no objections, I'll commit the eclass next evening - Oct. 13 Sure, that's what the overlay is for. 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 iD8DBQFHEJh2p/VmCx0OL2wRAiJcAJ40LXIIIyWiqACIWKFZO/5/PBacVACaA7FH SKD5swy4qwHAn5FxgWJI0mY= =jk9S -----END PGP SIGNATURE----- -- gentoo-lisp@gentoo.org mailing list