| 1 | # Copyright 1999-2003 Gentoo Technologies, Inc. |
1 | # Copyright 1999-2004 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.3 2003/11/03 10:01:22 mkennedy Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.7 2004/06/25 00:39:48 vapier Exp $ |
| 4 | # |
4 | # |
| 5 | # Copyright 2002-2003 Matthew Kennedy <mkennedy@gentoo.org> |
5 | # Copyright 2002-2003 Matthew Kennedy <mkennedy@gentoo.org> |
| 6 | # Copyright 2003 Jeremy Maitin-Shepard <jbms@attbi.com> |
6 | # Copyright 2003 Jeremy Maitin-Shepard <jbms@attbi.com> |
| 7 | # |
7 | # |
| 8 | # This is not an eclass, but it does provide emacs-related |
8 | # This is not an eclass, but it does provide emacs-related |
| … | |
… | |
| 24 | shift |
24 | shift |
| 25 | doins $@ |
25 | doins $@ |
| 26 | } |
26 | } |
| 27 | |
27 | |
| 28 | elisp-site-file-install() { |
28 | elisp-site-file-install() { |
| 29 | local sitefile=$1 |
29 | local sitefile=$1 my_pn=${2:-${PN}} |
| 30 | pushd ${S} |
30 | pushd ${S} |
| 31 | cp ${sitefile} . |
31 | cp ${sitefile} ${T} |
| 32 | D=${S}/ dosed "s:@SITELISP@:${SITELISP}/${PN}:g" $(basename ${sitefile}) |
32 | sed -i "s:@SITELISP@:${SITELISP}/${my_pn}:g" ${T}/$(basename ${sitefile}) |
| 33 | insinto ${SITELISP} |
33 | insinto ${SITELISP} |
| 34 | doins ${S}/$(basename ${sitefile}) |
34 | doins ${T}/$(basename ${sitefile}) |
| 35 | popd |
35 | popd |
| 36 | } |
36 | } |
| 37 | |
37 | |
| 38 | elisp-site-regen() { |
38 | elisp-site-regen() { |
| 39 | einfo "Regenerating ${SITELISP}/site-start.el..." |
39 | einfo "Regenerating ${SITELISP}/site-gentoo.el..." |
| 40 | einfo "" |
40 | einfo "" |
| 41 | cat <<EOF >${SITELISP}/site-start.el |
41 | cat <<EOF >${SITELISP}/site-gentoo.el |
| 42 | ;;; DO NOT EDIT THIS FILE -- IT IS GENERATED AUTOMATICALLY BY PORTAGE |
42 | ;;; DO NOT EDIT THIS FILE -- IT IS GENERATED AUTOMATICALLY BY PORTAGE |
| 43 | ;;; ----------------------------------------------------------------- |
43 | ;;; ----------------------------------------------------------------- |
| 44 | |
44 | |
| 45 | EOF |
45 | EOF |
| 46 | ls ${SITELISP}/[0-9][0-9]* |sort -n |grep -vE '~$' | \ |
46 | ls ${SITELISP}/[0-9][0-9]*-gentoo.el |sort -n | \ |
| 47 | while read sf |
47 | while read sf |
| 48 | do |
48 | do |
| 49 | einfo " Adding $sf..." |
49 | einfo " Adding $(basename $sf)..." |
| 50 | # Great for debugging, too noisy and slow for users though |
50 | # Great for debugging, too noisy and slow for users though |
| 51 | # echo "(message \"Loading $sf...\")" >>${SITELISP}/site-start.el |
51 | # echo "(message \"Loading $sf...\")" >>${SITELISP}/site-start.el |
| 52 | cat $sf >>${SITELISP}/site-start.el |
52 | cat $sf >>${SITELISP}/site-gentoo.el |
| 53 | done |
53 | done |
| 54 | einfo "" |
54 | while read line; do einfo "${line}"; done <<EOF |
|
|
55 | |
|
|
56 | All site initialization for Gentoo-installed packages is now added to |
|
|
57 | /usr/share/emacs/site-lisp/site-gentoo.el; site-start.el is no longer |
|
|
58 | managed by Gentoo. You may want to remove the generated |
|
|
59 | site-start.el. |
|
|
60 | |
|
|
61 | In order for this site initialization to be loaded for all users |
|
|
62 | automatically, as was done previously, you can add a line like this: |
|
|
63 | |
|
|
64 | (load "/usr/share/emacs/site-lisp/site-gentoo") |
|
|
65 | |
|
|
66 | to /usr/share/emacs/site-lisp/site-start.el. Alternatively, that line |
|
|
67 | can be added by individual users to their initialization files, or for |
|
|
68 | greater flexibility, users can select which of the package-specific |
|
|
69 | initialization files in /usr/share/emacs/site-lisp to load. |
|
|
70 | EOF |
|
|
71 | echo |
| 55 | } |
72 | } |
| 56 | |
73 | |
| 57 | # The following Emacs Lisp compilation routine is taken from GNU |
74 | # The following Emacs Lisp compilation routine is taken from GNU |
| 58 | # autotools. |
75 | # autotools. |
| 59 | |
76 | |
| … | |
… | |
| 66 | # the Free Software Foundation; either version 2, or (at your option) |
83 | # the Free Software Foundation; either version 2, or (at your option) |
| 67 | # any later version. |
84 | # any later version. |
| 68 | # |
85 | # |
| 69 | # This program is distributed in the hope that it will be useful, |
86 | # This program is distributed in the hope that it will be useful, |
| 70 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
87 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 71 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
88 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 72 | # GNU General Public License for more details. |
89 | # GNU General Public License for more details. |
| 73 | # |
90 | # |
| 74 | # You should have received a copy of the GNU General Public License |
91 | # You should have received a copy of the GNU General Public License |
| 75 | # along with this program; if not, write to the Free Software |
92 | # along with this program; if not, write to the Free Software |
| 76 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
93 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| … | |
… | |
| 92 | if test $# = 0; then |
109 | if test $# = 0; then |
| 93 | echo 1>&2 "No files given to $0" |
110 | echo 1>&2 "No files given to $0" |
| 94 | exit 1 |
111 | exit 1 |
| 95 | else |
112 | else |
| 96 | if test -z "$EMACS" || test "$EMACS" = "t"; then |
113 | if test -z "$EMACS" || test "$EMACS" = "t"; then |
| 97 | # Value of "t" means we are running in a shell under Emacs. |
114 | # Value of "t" means we are running in a shell under Emacs. |
| 98 | # Just assume Emacs is called "emacs". |
115 | # Just assume Emacs is called "emacs". |
| 99 | EMACS=emacs |
116 | EMACS=emacs |
| 100 | fi |
117 | fi |
| 101 | |
118 | |
| 102 | tempdir=elc.$$ |
119 | tempdir=elc.$$ |
| 103 | mkdir $tempdir |
120 | mkdir $tempdir |