| 1 |
# Copyright 1999-2012 Gentoo Foundation
|
| 2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
# $Header: /var/cvsroot/gentoo-x86/app-emacs/slime/slime-2.0_p20101103.ebuild,v 1.1 2010/11/21 11:13:48 ulm Exp $
|
| 4 |
|
| 5 |
EAPI=3
|
| 6 |
|
| 7 |
inherit common-lisp elisp eutils
|
| 8 |
|
| 9 |
DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
|
| 10 |
HOMEPAGE="http://common-lisp.net/project/slime/"
|
| 11 |
SRC_URI="mirror://gentoo/${P}.tar.bz2
|
| 12 |
mirror://gentoo/${P}-patches.tar.bz2"
|
| 13 |
|
| 14 |
LICENSE="GPL-2 xref? ( xref.lisp )"
|
| 15 |
SLOT="0"
|
| 16 |
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
|
| 17 |
IUSE="doc xref"
|
| 18 |
|
| 19 |
RDEPEND="virtual/commonlisp
|
| 20 |
dev-lisp/asdf"
|
| 21 |
DEPEND="${RDEPEND}
|
| 22 |
doc? ( virtual/texi2dvi )"
|
| 23 |
|
| 24 |
CLPACKAGE=swank
|
| 25 |
SITEFILE="70${PN}-gentoo.el"
|
| 26 |
|
| 27 |
src_prepare() {
|
| 28 |
EPATCH_SUFFIX=patch epatch
|
| 29 |
mv "${WORKDIR}/swank.asd" "${S}" || die
|
| 30 |
|
| 31 |
# extract date of last update from ChangeLog, bug 233270
|
| 32 |
SLIME_CHANGELOG_DATE=$(awk '/^[-0-9]+ / { print $1; exit; }' ChangeLog)
|
| 33 |
[ -n "${SLIME_CHANGELOG_DATE}" ] || die "cannot determine ChangeLog date"
|
| 34 |
|
| 35 |
sed -i '/^section :=/d' doc/Makefile || die
|
| 36 |
sed -i "/(defvar \*swank-wire-protocol-version\*/s:nil:\"${SLIME_CHANGELOG_DATE}\":" swank.lisp || die
|
| 37 |
sed -i "s:@SLIME-CHANGELOG-DATE@:${SLIME_CHANGELOG_DATE}:" slime.el || die
|
| 38 |
|
| 39 |
# Remove xref.lisp (which is non-free) unless USE flag is set
|
| 40 |
use xref || rm -f xref.lisp
|
| 41 |
}
|
| 42 |
|
| 43 |
src_compile() {
|
| 44 |
elisp-compile *.el || die
|
| 45 |
BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
|
| 46 |
elisp-compile contrib/*.el || die
|
| 47 |
emake -j1 -C doc slime.info || die
|
| 48 |
|
| 49 |
if use doc; then
|
| 50 |
VARTEXFONTS="${T}/fonts" emake -j1 -C doc slime.pdf || die
|
| 51 |
fi
|
| 52 |
}
|
| 53 |
|
| 54 |
src_install() {
|
| 55 |
## install core
|
| 56 |
elisp-install ${PN} *.{el,elc} "${FILESDIR}/swank-loader.lisp" || die
|
| 57 |
sed "s:/usr/:${EPREFIX}&:g" "${FILESDIR}/${SITEFILE}" >"${T}/${SITEFILE}" \
|
| 58 |
|| die
|
| 59 |
elisp-site-file-install "${T}/${SITEFILE}" || die
|
| 60 |
|
| 61 |
# remove upstream swank-loader, since it won't be used
|
| 62 |
rm "${S}/swank-loader.lisp"
|
| 63 |
|
| 64 |
insinto "${CLSOURCEROOT%/}/swank"
|
| 65 |
doins *.lisp swank.asd || die
|
| 66 |
dodir "${CLSYSTEMROOT}" || die
|
| 67 |
dosym "${CLSOURCEROOT%/}/swank/swank.asd" "${CLSYSTEMROOT}" || die
|
| 68 |
|
| 69 |
## install contribs
|
| 70 |
elisp-install ${PN}/contrib/ contrib/*.{el,elc,scm,goo} || die
|
| 71 |
insinto "${CLSOURCEROOT%/}/swank/contrib"
|
| 72 |
doins contrib/*.lisp || die
|
| 73 |
|
| 74 |
## install docs
|
| 75 |
doinfo doc/slime.info || die
|
| 76 |
dodoc README* ChangeLog HACKING NEWS PROBLEMS
|
| 77 |
newdoc contrib/README README.contrib
|
| 78 |
newdoc contrib/ChangeLog ChangeLog.contrib
|
| 79 |
use doc && dodoc doc/slime.pdf
|
| 80 |
}
|