From: "Marijn Schouten (hkBst)" <hkBst@gentoo.org>
To: Stelian Ionescu <sionescu@common-lisp.net>
Cc: Gentoo Lisp mailing list <gentoo-lisp@lists.gentoo.org>
Subject: Re: [gentoo-lisp] common-lisp.eclass cleanup
Date: Sat, 13 Oct 2007 12:05:42 +0200 [thread overview]
Message-ID: <47109876.7070606@gentoo.org> (raw)
In-Reply-To: <20071012213031.GA710952@universe.org>
-----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 <system>)
>
>
> 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
<http://www.gentoo.org/proj/en/lisp/>, #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
next prev parent reply other threads:[~2007-10-13 10:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-12 21:30 [gentoo-lisp] common-lisp.eclass cleanup Stelian Ionescu
2007-10-13 10:05 ` Marijn Schouten (hkBst) [this message]
2007-10-13 11:30 ` Stelian Ionescu
2007-10-15 10:04 ` Marijn Schouten (hkBst)
2007-10-15 13:39 ` Stelian Ionescu
2007-10-13 10:07 ` Marijn Schouten (hkBst)
2007-10-13 10:48 ` Stelian Ionescu
2007-10-15 8:45 ` Christian Faulhammer
2007-10-15 13:14 ` Stelian Ionescu
2007-10-15 22:28 ` Stelian Ionescu
2007-10-16 11:04 ` Marijn Schouten (hkBst)
2007-10-16 11:27 ` Christian Faulhammer
2007-10-18 14:46 ` Stelian Ionescu
2007-10-18 17:15 ` Marijn Schouten (hkBst)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47109876.7070606@gentoo.org \
--to=hkbst@gentoo.org \
--cc=gentoo-lisp@lists.gentoo.org \
--cc=sionescu@common-lisp.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox