| 1 | # Copyright 1999-2010 Gentoo Foundation |
1 | # Copyright 1999-2011 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.eclass,v 1.46 2010/09/17 07:39:58 ulm Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/elisp.eclass,v 1.50 2011/08/22 06:13:14 ulm Exp $ |
| 4 | # |
|
|
| 5 | # Copyright 2002-2003 Matthew Kennedy <mkennedy@gentoo.org> |
|
|
| 6 | # Copyright 2003 Jeremy Maitin-Shepard <jbms@attbi.com> |
|
|
| 7 | # Copyright 2007-2010 Christian Faulhammer <fauli@gentoo.org> |
|
|
| 8 | # Copyright 2007-2010 Ulrich Müller <ulm@gentoo.org> |
|
|
| 9 | # |
4 | # |
| 10 | # @ECLASS: elisp.eclass |
5 | # @ECLASS: elisp.eclass |
| 11 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 12 | # Feel free to contact the Emacs team through <emacs@gentoo.org> if you |
7 | # Feel free to contact the Emacs team through <emacs@gentoo.org> if you |
| 13 | # have problems, suggestions or questions. |
8 | # have problems, suggestions or questions. |
|
|
9 | # @AUTHOR: |
|
|
10 | # Matthew Kennedy <mkennedy@gentoo.org> |
|
|
11 | # Jeremy Maitin-Shepard <jbms@attbi.com> |
|
|
12 | # Christian Faulhammer <fauli@gentoo.org> |
|
|
13 | # Ulrich Müller <ulm@gentoo.org> |
| 14 | # @BLURB: Eclass for Emacs Lisp packages |
14 | # @BLURB: Eclass for Emacs Lisp packages |
| 15 | # @DESCRIPTION: |
15 | # @DESCRIPTION: |
| 16 | # |
16 | # |
| 17 | # This eclass is designed to install elisp files of Emacs related |
17 | # This eclass is designed to install elisp files of Emacs related |
| 18 | # packages into the site-lisp directory. The majority of elisp packages |
18 | # packages into the site-lisp directory. The majority of elisp packages |
| … | |
… | |
| 77 | # @DESCRIPTION: |
77 | # @DESCRIPTION: |
| 78 | # Test if the eselected Emacs version is sufficient to fulfil the major |
78 | # Test if the eselected Emacs version is sufficient to fulfil the major |
| 79 | # version requirement of the NEED_EMACS variable. |
79 | # version requirement of the NEED_EMACS variable. |
| 80 | |
80 | |
| 81 | elisp_pkg_setup() { |
81 | elisp_pkg_setup() { |
| 82 | local need_emacs=${NEED_EMACS:-21} |
82 | elisp-need-emacs "${NEED_EMACS:-21}" || die "Emacs version too low" |
| 83 | local have_emacs=$(elisp-emacs-version) |
|
|
| 84 | if [ "${have_emacs%%.*}" -lt "${need_emacs%%.*}" ]; then |
|
|
| 85 | eerror "This package needs at least Emacs ${need_emacs%%.*}." |
|
|
| 86 | eerror "Use \"eselect emacs\" to select the active version." |
|
|
| 87 | die "Emacs version ${have_emacs} is too low." |
|
|
| 88 | fi |
|
|
| 89 | einfo "Emacs version: ${have_emacs}" |
|
|
| 90 | } |
83 | } |
| 91 | |
84 | |
| 92 | # @FUNCTION: elisp_src_unpack |
85 | # @FUNCTION: elisp_src_unpack |
| 93 | # @DESCRIPTION: |
86 | # @DESCRIPTION: |
| 94 | # Unpack the sources; also handle the case of a single *.el file in |
87 | # Unpack the sources; also handle the case of a single *.el file in |
| … | |
… | |
| 137 | |
130 | |
| 138 | # @FUNCTION: elisp_src_compile |
131 | # @FUNCTION: elisp_src_compile |
| 139 | # @DESCRIPTION: |
132 | # @DESCRIPTION: |
| 140 | # Call elisp-compile to byte-compile all Emacs Lisp (*.el) files. |
133 | # Call elisp-compile to byte-compile all Emacs Lisp (*.el) files. |
| 141 | # If ELISP_TEXINFO lists any Texinfo sources, call makeinfo to generate |
134 | # If ELISP_TEXINFO lists any Texinfo sources, call makeinfo to generate |
| 142 | # GNU Info files from then. |
135 | # GNU Info files from them. |
| 143 | |
136 | |
| 144 | elisp_src_compile() { |
137 | elisp_src_compile() { |
| 145 | elisp-compile *.el || die |
138 | elisp-compile *.el || die |
| 146 | if [ -n "${ELISP_TEXINFO}" ]; then |
139 | if [ -n "${ELISP_TEXINFO}" ]; then |
| 147 | makeinfo ${ELISP_TEXINFO} || die |
140 | makeinfo ${ELISP_TEXINFO} || die |
| … | |
… | |
| 160 | if [ -n "${SITEFILE}" ]; then |
153 | if [ -n "${SITEFILE}" ]; then |
| 161 | elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die |
154 | elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die |
| 162 | fi |
155 | fi |
| 163 | if [ -n "${ELISP_TEXINFO}" ]; then |
156 | if [ -n "${ELISP_TEXINFO}" ]; then |
| 164 | set -- ${ELISP_TEXINFO} |
157 | set -- ${ELISP_TEXINFO} |
|
|
158 | set -- ${@##*/} |
| 165 | doinfo ${@/%.*/.info*} || die |
159 | doinfo ${@/%.*/.info*} || die |
| 166 | fi |
160 | fi |
| 167 | if [ -n "${DOCS}" ]; then |
161 | if [ -n "${DOCS}" ]; then |
| 168 | dodoc ${DOCS} || die |
162 | dodoc ${DOCS} || die |
| 169 | fi |
163 | fi |