summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-12-20 16:31:40 +0100
committerUlrich Müller <ulm@gentoo.org>2015-12-20 16:35:20 +0100
commit32537869bbf98938b76ecd31eea0ffd64cded99e (patch)
tree722e2c8448db043b5914400e3c2249f4172e4941 /eclass/elisp.eclass
parentapp-xemacs/prog-modes: Upstream experimental version bump. (diff)
downloademacs-32537869bbf98938b76ecd31eea0ffd64cded99e.tar.gz
emacs-32537869bbf98938b76ecd31eea0ffd64cded99e.tar.bz2
emacs-32537869bbf98938b76ecd31eea0ffd64cded99e.zip
elisp*.eclass: Merge changes from Portage tree.
Diffstat (limited to 'eclass/elisp.eclass')
-rw-r--r--eclass/elisp.eclass43
1 files changed, 29 insertions, 14 deletions
diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index c24613b..93a7d4b 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: $
+# $Id$
#
# @ECLASS: elisp.eclass
# @MAINTAINER:
@@ -65,13 +65,21 @@
# DOCS="blah.txt ChangeLog" is automatically used to install the given
# files by dodoc in src_install().
-inherit elisp-common eutils
-
-case "${EAPI:-0}" in
- 0|1) EXPORT_FUNCTIONS src_{unpack,compile,install} \
- pkg_{setup,postinst,postrm} ;;
- *) EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
- pkg_{setup,postinst,postrm} ;;
+inherit elisp-common
+
+case ${EAPI:-0} in
+ 0|1)
+ inherit eutils
+ EXPORT_FUNCTIONS src_{unpack,compile,install} \
+ pkg_{setup,postinst,postrm} ;;
+ 2|3|4|5)
+ inherit eutils
+ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
+ pkg_{setup,postinst,postrm} ;;
+ 6)
+ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
+ pkg_{setup,postinst,postrm} ;;
+ *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
esac
DEPEND=">=virtual/emacs-${NEED_EMACS:-23}"
@@ -105,7 +113,7 @@ elisp_src_unpack() {
[[ -d ${S} ]] || S=${WORKDIR}
fi
- case "${EAPI:-0}" in
+ case ${EAPI:-0} in
0|1) [[ -d ${S} ]] && cd "${S}"
elisp_src_prepare ;;
esac
@@ -117,21 +125,28 @@ elisp_src_unpack() {
# for in the current working dir, WORKDIR, and FILESDIR.
elisp_src_prepare() {
- local patch
+ local patch file
for patch in ${ELISP_PATCHES}; do
if [[ -f ${patch} ]]; then
- epatch "${patch}"
+ file="${patch}"
elif [[ -f ${WORKDIR}/${patch} ]]; then
- epatch "${WORKDIR}/${patch}"
+ file="${WORKDIR}/${patch}"
elif [[ -f ${FILESDIR}/${patch} ]]; then
- epatch "${FILESDIR}/${patch}"
+ file="${FILESDIR}/${patch}"
else
die "Cannot find ${patch}"
fi
+ case ${EAPI:-0} in
+ 0|1|2|3|4|5) epatch "${file}" ;;
+ 6) eapply "${file}" ;;
+ esac
done
# apply any user patches
- epatch_user
+ case ${EAPI:-0} in
+ 0|1|2|3|4|5) epatch_user ;;
+ 6) eapply_user ;;
+ esac
if [[ -n ${ELISP_REMOVE} ]]; then
rm ${ELISP_REMOVE} || die