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_EMACSvariable. - elisp_src_unpack
-
Unpack the sources; also handle the case of a single
*.elfile inWORKDIRfor 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, andFILESDIR. - elisp_src_configure
-
Do nothing, because Emacs packages seldomly bring a full build system.
- elisp_src_compile
-
Call
elisp-compileto byte-compile all Emacs Lisp (*.el) files. IfELISP_TEXINFOlists any Texinfo sources, callmakeinfoto generate GNU Info files from them. - elisp_src_install
-
Call
elisp-installto install all Emacs Lisp (*.eland*.elc) files. If theSITEFILEvariable specifies a site-init file, install it withelisp-site-file-install. Also install any GNU Info files listed inELISP_TEXINFOand documentation listed in theDOCSvariable. - elisp_pkg_postinst
-
Call
elisp-site-regen, in order to collect the site initialisation for all installed Emacs Lisp packages in thesite-gentoo.elfile. - elisp_pkg_postrm
-
Call
elisp-site-regen, in order to collect the site initialisation for all installed Emacs Lisp packages in thesite-gentoo.elfile.
Variables
- NEED_EMACS (SET BEFORE INHERIT)
-
If you need anything different from Emacs 23, use the
NEED_EMACSvariable 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, andFILESDIR. 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.elis 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 insrc_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/