subversion.eclass: support for EAPI 6
authorAndrew Savchenko <bircoph@gentoo.org>
Sat, 6 Aug 2016 13:56:52 +0000 (16:56 +0300)
committerAndrew Savchenko <bircoph@gentoo.org>
Sat, 6 Aug 2016 14:01:19 +0000 (17:01 +0300)
- add EAPI 6 support;
- disable automatic support of future eclasses;
- disable bootstrap and src_prepare in EAPI=6 (PATCHES can be used
  instead).

eclass/subversion.eclass

index c45c725cdb50bb6d6387466d4623743e579b544e..766c3f722446f554ec4fac1682ad07d09fb506fb 100644 (file)
@@ -21,10 +21,17 @@ case "${EAPI:-0}" in
                EXPORT_FUNCTIONS src_unpack pkg_preinst
                DEPEND="dev-vcs/subversion"
                ;;
-       *)
+       2|3|4|5)
                EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst
                DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
                ;;
+       6)
+               EXPORT_FUNCTIONS src_unpack pkg_preinst
+               DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
+               ;;
+       *)
+               die "EAPI ${EAPI} is not supported in subversion.eclass"
+               ;;
 esac
 
 DEPEND+=" net-misc/rsync"
@@ -116,7 +123,8 @@ ESVN_PROJECT="${ESVN_PROJECT:-${PN/-svn}}"
 
 # @ECLASS-VARIABLE: ESVN_BOOTSTRAP
 # @DESCRIPTION:
-# bootstrap script or command like autogen.sh or etc..
+# Bootstrap script or command like autogen.sh or etc..
+# Removed in EAPI 6 and later.
 ESVN_BOOTSTRAP="${ESVN_BOOTSTRAP:-}"
 
 # @ECLASS-VARIABLE: ESVN_PATCHES
@@ -127,6 +135,8 @@ ESVN_BOOTSTRAP="${ESVN_BOOTSTRAP:-}"
 #
 # Patches are searched both in ${PWD} and ${FILESDIR}, if not found in either
 # location, the installation dies.
+#
+# Removed in EAPI 6 and later, use PATCHES instead.
 ESVN_PATCHES="${ESVN_PATCHES:-}"
 
 # @ECLASS-VARIABLE: ESVN_RESTRICT
@@ -355,7 +365,10 @@ subversion_fetch() {
 # @FUNCTION: subversion_bootstrap
 # @DESCRIPTION:
 # Apply patches in ${ESVN_PATCHES} and run ${ESVN_BOOTSTRAP} if specified.
+# Removed in EAPI 6 and later.
 subversion_bootstrap() {
+       [[ ${EAPI} == [012345] ]] || die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later"
+
        if has "export" ${ESVN_RESTRICT}; then
                return
        fi
@@ -432,7 +445,9 @@ subversion_src_unpack() {
 # @FUNCTION: subversion_src_prepare
 # @DESCRIPTION:
 # Default src_prepare. Bootstrap.
+# Removed in EAPI 6 and later.
 subversion_src_prepare() {
+       [[ ${EAPI} == [012345] ]] || die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later"
        subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
 }