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 inWORKDIR
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
, andFILESDIR
. - 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. IfELISP_TEXINFO
lists any Texinfo sources, callmakeinfo
to generate GNU Info files from them. - elisp_src_install
-
Call
elisp-install
to install all Emacs Lisp (*.el
and*.elc
) files. If theSITEFILE
variable specifies a site-init file, install it withelisp-site-file-install
. Also install any GNU Info files listed inELISP_TEXINFO
and documentation listed in theDOCS
variable. - elisp_pkg_postinst
-
Call
elisp-site-regen
, in order to collect the site initialisation for all installed Emacs Lisp packages in thesite-gentoo.el
file. - elisp_pkg_postrm
-
Call
elisp-site-regen
, in order to collect the site initialisation for all installed Emacs Lisp packages in thesite-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
, 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.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 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/