blob: f1807cab8afd515c3b0af811a1e645d2b5cbe406 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/elisp.eclass,v 1.6 2003/07/22 05:06:33 george Exp $
#
# Author Matthew Kennedy <mkennedy@gentoo.org>
#
# This eclass sets the site-lisp directory for emacs-related packages.
ECLASS=elisp
INHERITED="$INHERITED $ECLASS"
SITELISP=/usr/share/emacs/site-lisp
elisp-install() {
local subdir=$1
dodir ${SITELISP}/${subdir}
insinto ${SITELISP}/${subdir}
shift
doins $@
}
elisp-site-file-install() {
local sitefile=$1
pushd ${S}
cp ${sitefile} .
D=${S}/ dosed "s:@SITELISP@:${SITELISP}/${PN}:g" $(basename ${sitefile})
insinto ${SITELISP}
doins ${S}/$(basename ${sitefile})
popd
}
elisp-site-regen() {
einfo "Regenerating ${SITELISP}/site-start.el..."
einfo ""
cat <<EOF >${SITELISP}/site-start.el
;;; DO NOT EDIT THIS FILE -- IT IS GENERATED AUTOMATICALLY BY PORTAGE
;;; -----------------------------------------------------------------
EOF
ls ${SITELISP}/[0-9][0-9]* |sort -n |grep -vE '~$' | \
while read sf
do
einfo " Adding $sf..."
# Great for debugging, too noisy and slow for users though
# echo "(message \"Loading $sf...\")" >>${SITELISP}/site-start.el
cat $sf >>${SITELISP}/site-start.el
done
einfo ""
}
# DEFAULT OVERRIDES
# SRC_URI should be set to wherever the primary app-emacs/ maintainer
# keeps the local elisp mirror, since most app-emacs packages are
# upstream as a single .el file
SRC_URI="http://cvs.gentoo.org/~mkennedy/app-emacs/${P}.el.bz2"
S="${WORKDIR}/"
newdepend "virtual/emacs"
IUSE=""
src_unpack() {
unpack ${A}
if [ "${SIMPLE_ELISP}" = 't' ]
then
cd ${S} && mv ${P}.el ${PN}.el
fi
}
src_compile() {
emacs --batch -f batch-byte-compile --no-site-file --no-init-file *.el || die
}
src_install() {
elisp-install ${PN} *.el *.elc
elisp-site-file-install ${FILESDIR}/${SITEFILE}
}
pkg_postinst() {
elisp-site-regen
}
pkg_postrm() {
elisp-site-regen
}
|