diff options
Diffstat (limited to 'gs_elpa/data/gs-elpa.eclass')
-rw-r--r-- | gs_elpa/data/gs-elpa.eclass | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gs_elpa/data/gs-elpa.eclass b/gs_elpa/data/gs-elpa.eclass new file mode 100644 index 0000000..2a621f4 --- /dev/null +++ b/gs_elpa/data/gs-elpa.eclass @@ -0,0 +1,63 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# automatically generated by gs-elpa +# please do not edit this file +# +# Original Author: Jauhien Piatlicki <piatlicki@gmail.com> +# Purpose: support installation of elisp packages for emacs +# from overlays generated by gs-elpa +# +# Bugs to piatlicki@gmail.com +# +# @ECLASS: gs-elpa.eclass +# +# @ECLASS-VARIABLE: REPO_URI +# @DESCRIPTION: address of a repository of elisp packages +# +# @ECLASS-VARIABLE: SOURCE_TYPE +# @DESCRIPTION: type of a package (single or tar) +# +# @ECLASS-VARIABLE: DIGEST_SOURCES +# @DESCRIPTION: whether manifest for sources exists +# +# @ECLASS-VARIABLE: REALNAME +# @DESCRIPTION: real name of a package in the repository +# + +inherit elisp g-sorcery + +EXPORT_FUNCTIONS src_{unpack,compile,install} + +if [[ ${SOURCE_TYPE} != "single" ]]; then + SUFFIX="${SOURCE_TYPE}" +else + SUFFIX="el" +fi + +SOURCEFILE=${REALNAME}-${PV}.${SUFFIX} + +gs-elpa_src_unpack() { + g-sorcery_src_unpack + if [[ ${SOURCE_TYPE} = "single" ]]; then + mkdir ${P} || die + mv ./${SOURCEFILE} ./${P} || die + fi +} + +gs-elpa_src_compile() { + rm -f ${PN}-pkg.el || die + elisp-make-autoload-file || die + elisp_src_compile || die +} + +gs-elpa_src_install() { + local sitefile="50${PN}-gentoo.el" + cat <<EOF >> ${sitefile} || die +(add-to-list 'load-path "@SITELISP@") +(load "${PN}-autoloads" nil t) +EOF + elisp-site-file-install ${sitefile} || die + rm -f ${sitefile} || die + elisp_src_install || die +} |