elisp.eclass
Description
This eclass is designed to install elisp files of Emacs related packages into the site-lisp directory. The majority of elisp packages will only need to define the standard ebuild variables (like SRC_URI) and optionally SITEFILE for successful installation.
Emacs support for other than pure elisp packages is handled by elisp-common.eclass where you won't have a dependency on Emacs itself. All elisp-* functions are documented there.
If the package's source is a single (in whatever way) compressed elisp file with the file name ${P}.el, then this eclass will move ${P}.el to ${PN}.el in src_unpack().
Exported Phases
-
pkg_setup
-
pkg_postrm
-
pkg_postinst
-
src_unpack
-
src_compile
-
src_install
-
src_prepare
-
src_configure
Functions
- elisp_pkg_setup
-
Test if the eselected Emacs version is sufficient to fulfil the version requirement of the NEED_EMACS variable.
- elisp_src_unpack
-
Unpack the sources; also handle the case of a single *.el file in WORKDIR for packages distributed that way.
- elisp_src_prepare
-
Apply any patches listed in ELISP_PATCHES. Patch files are searched for in the current working dir, WORKDIR, and FILESDIR.
- elisp_src_configure
-
Do nothing, because Emacs packages seldomly bring a full build system.
- elisp_src_compile
-
Call elisp-compile to byte-compile all Emacs Lisp (*.el) files. If ELISP_TEXINFO lists any Texinfo sources, call makeinfo to generate GNU Info files from them.
- elisp_src_install
-
Call elisp-install to install all Emacs Lisp (*.el and *.elc) files. If the SITEFILE variable specifies a site-init file, install it with elisp-site-file-install. Also install any GNU Info files listed in ELISP_TEXINFO and documentation listed in the DOCS variable.
- elisp_pkg_postinst
-
Call elisp-site-regen, in order to collect the site initialisation for all installed Emacs Lisp packages in the site-gentoo.el file.
- elisp_pkg_postrm
-
Call elisp-site-regen, in order to collect the site initialisation for all installed Emacs Lisp packages in the site-gentoo.el file.
Variables
- NEED_EMACS (SET BEFORE INHERIT)
-
If you need anything different from Emacs 23, use the NEED_EMACS variable before inheriting elisp.eclass. Set it to the version your package uses and the dependency will be adjusted.
- ELISP_PATCHES
-
Space separated list of patches to apply after unpacking the sources. Patch files are searched for in the current working dir, WORKDIR, and FILESDIR. This variable is semi-deprecated, preferably use the PATCHES array instead.
- ELISP_REMOVE
-
Space separated list of files to remove after unpacking the sources.
- SITEFILE
-
Name of package's site-init file. The filename must match the shell pattern "[1-8][0-9]*-gentoo.el"; numbers below 10 and above 89 are reserved for internal use. "50${PN}-gentoo.el" is a reasonable choice in most cases.
- ELISP_TEXINFO
-
Space separated list of Texinfo sources. Respective GNU Info files will be generated in src_compile() and installed in src_install().
Authors
Matthew Kennedy <mkennedy@gentoo.org>
Jeremy Maitin-Shepard <jbms@attbi.com>
Christian Faulhammer <fauli@gentoo.org>
Ulrich Müller <ulm@gentoo.org>
Maintainers
Gentoo GNU Emacs project <gnu-emacs@gentoo.org>
Reporting Bugs
Please report bugs via https://bugs.gentoo.org/