commit:     d0d5ea0dfc160d2e86a2f5ac5684ca8cf7f65fa9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 19 12:08:36 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 12:19:40 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0d5ea0d

elisp.eclass: Support EAPI 6.

 eclass/elisp.eclass | 35 +++++++++++++++++++++++++----------
 1 file changed, 25 insertions(+), 10 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 1178880..93a7d4b 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -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
+inherit elisp-common
 
 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} ;;
+       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}"
@@ -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

Reply via email to