62094477711773b141627c94fab3dbc10e358897
[gentoo.git] / app-emacs / slime / slime-2.21.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit elisp
7
8 DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
9 HOMEPAGE="http://common-lisp.net/project/slime/"
10 SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
11
12 LICENSE="GPL-2 xref? ( xref.lisp )"
13 SLOT="0"
14 KEYWORDS="amd64 ~ppc ~sparc ~x86"
15 IUSE="doc xref"
16 RESTRICT=test # tests fail to contact sbcl
17
18 RDEPEND="virtual/commonlisp
19         dev-lisp/asdf"
20 DEPEND="${RDEPEND}
21         >=sys-apps/texinfo-5.1
22         doc? ( virtual/texi2dvi )"
23
24 CLPACKAGE=swank
25 CLSYSTEMS=swank
26 SITEFILE=70${PN}-gentoo.el
27
28 src_prepare() {
29         default
30         # Remove xref.lisp (which is non-free) unless USE flag is set
31         use xref || rm -f xref.lisp
32 }
33
34 src_compile() {
35         elisp-compile *.el
36         BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
37                 elisp-compile contrib/*.el lib/*.el
38
39         emake -C doc slime.info
40         if use doc ; then
41                 VARTEXFONTS="${T}"/fonts \
42                         emake -C doc all
43         fi
44 }
45
46 src_install() {
47         # Install core
48         elisp-install ${PN} *.{el,elc,lisp}
49
50         # Install contribs
51         elisp-install ${PN}/contrib/ contrib/*.{el,elc,lisp,scm,goo}
52
53         # Install lib
54         elisp-install ${PN}/lib/ lib/*.{el,elc}
55
56         # Install swank
57         elisp-install ${PN}/swank/ swank/*.lisp
58
59         elisp-site-file-install "${FILESDIR}"/${SITEFILE}
60         # Install docs
61         dodoc README.md CONTRIBUTING.md NEWS PROBLEMS
62         newdoc contrib/README.md README-contrib.md
63         doinfo doc/slime.info
64         use doc && dodoc doc/*.pdf
65
66         # Bug #656760
67         touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die
68 }