Gentoo Archives: gentoo-dev

From: kentnl@g.o
To: gentoo-dev@l.g.o
Cc: perl@g.o, "Andreas K. Hüttel" <dilfridge@g.o>
Subject: [gentoo-dev] [PATCH 2/2] perl-module.class: Enable EAPI=7 support
Date: Tue, 13 Aug 2019 15:44:27
Message-Id: 20190813154312.29876-3-kentnl@gentoo.org
In Reply to: [gentoo-dev] [PATCH 0/2] EAPI7 Support for perl-{functions,module}.eclass by kentnl@gentoo.org
From: Andreas K. Hüttel <dilfridge@g.o>

Signed-off-by: Andreas K. Hüttel <dilfridge@g.o>
---
 eclass/perl-module.eclass | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 20b9947caca..81f79992d76 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,19 +1,19 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
 # perl@g.o
 # @AUTHOR:
 # Seemant Kulleen <seemant@g.o>
 # Andreas K. Hüttel <dilfridge@g.o>
-# @SUPPORTED_EAPIS: 5 6
+# @SUPPORTED_EAPIS: 5 6 7
 # @BLURB: eclass for installing Perl module distributions
 # @DESCRIPTION:
 # The perl-module eclass is designed to allow easier installation of Perl
 # module distributions, and their incorporation into the Gentoo Linux system.
 # All exported functions from perl-functions.eclass (inherited here)
 # explicitly also belong to the interface of perl-module.eclass.
 # If your package does not use any Perl-specific build system (as, e.g.,
 # ExtUtils::MakeMaker or Module::Build), we recommend to use perl-functions.eclass
 # instead.
@@ -21,12 +21,12 @@
 case ${EAPI:-0} in
 	5)
 		inherit eutils multiprocessing unpacker perl-functions
 		PERL_EXPF="src_unpack src_prepare src_configure src_compile src_test src_install"
 		;;
-	6)
+	6|7)
 		inherit multiprocessing perl-functions
 		PERL_EXPF="src_prepare src_configure src_compile src_test src_install"
 		;;
 	*)
 		die "EAPI=${EAPI} is not supported by perl-module.eclass"
 		;;
@@ -44,61 +44,61 @@ esac
 case ${EAPI:-0} in
 	5)
 		[[ ${CATEGORY} == perl-core ]] && \
 			PERL_EXPF+=" pkg_postinst pkg_postrm"
 
 		case "${GENTOO_DEPEND_ON_PERL:-yes}" in
 		yes)
 			case "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" in
 			yes)
 				DEPEND="dev-lang/perl:=[-build(-)]"
 				;;
 			*)
 				DEPEND="dev-lang/perl[-build(-)]"
 				;;
 			esac
 			RDEPEND="${DEPEND}"
 			;;
 		esac
 
 		case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
 			yes)
 				EXPORT_FUNCTIONS ${PERL_EXPF}
 				;;
 			no)
 				debug-print "PERL_EXPORT_PHASE_FUNCTIONS=no"
 				;;
 			*)
 				die "PERL_EXPORT_PHASE_FUNCTIONS=${PERL_EXPORT_PHASE_FUNCTIONS} is not supported by perl-module.eclass"
 				;;
 		esac
 		;;
-	6)
+	6|7)
 		[[ ${CATEGORY} == perl-core ]] && \
 			PERL_EXPF+=" pkg_postinst pkg_postrm"
 
 		case "${GENTOO_DEPEND_ON_PERL:-yes}" in
 			yes)
 				DEPEND="dev-lang/perl:="
 				RDEPEND="dev-lang/perl:="
 				;;
 			noslotop)
 				DEPEND="dev-lang/perl"
 				RDEPEND="dev-lang/perl"
 				;;
 		esac
 
 		if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then
-			eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6. If you don't want a slot operator"
+			eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later. If you don't want a slot operator"
 			die    "set GENTOO_DEPEND_ON_PERL=noslotop instead."
 		fi
 
 		if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then
-			eerror "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6. Use perl-module.eclass if you need"
+			eerror "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later. Use perl-module.eclass if you need"
 			die    "phase functions, perl-functions.eclass if not."
 		fi
 
 		EXPORT_FUNCTIONS ${PERL_EXPF}
 		;;
 	*)
 		die "EAPI=${EAPI:-0} is not supported by perl-module.eclass"
 		;;
@@ -107,43 +107,43 @@ esac
 LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 
 # @ECLASS-VARIABLE: DIST_NAME
 # @DESCRIPTION:
-# (EAPI=6) This variable provides a way to override PN for the calculation of S,
+# (EAPI=6 and later) This variable provides a way to override PN for the calculation of S,
 # SRC_URI, and HOMEPAGE. Defaults to PN.
 
 # @ECLASS-VARIABLE: DIST_VERSION
 # @DESCRIPTION:
-# (EAPI=6) This variable provides a way to override PV for the calculation of S and SRC_URI.
+# (EAPI=6 and later) This variable provides a way to override PV for the calculation of S and SRC_URI.
 # Use it to provide the non-normalized, upstream version number. Defaults to PV.
 # Named MODULE_VERSION in EAPI=5.
 
 # @ECLASS-VARIABLE: DIST_A_EXT
 # @DESCRIPTION:
-# (EAPI=6) This variable provides a way to override the distfile extension for the calculation of
+# (EAPI=6 and later) This variable provides a way to override the distfile extension for the calculation of
 # SRC_URI. Defaults to tar.gz. Named MODULE_A_EXT in EAPI=5.
 
 # @ECLASS-VARIABLE: DIST_A
 # @DESCRIPTION:
-# (EAPI=6) This variable provides a way to override the distfile name for the calculation of
+# (EAPI=6 and later) This variable provides a way to override the distfile name for the calculation of
 # SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
 
 # @ECLASS-VARIABLE: DIST_AUTHOR
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# (EAPI=6) This variable sets the module author name for the calculation of
+# (EAPI=6 and later) This variable sets the module author name for the calculation of
 # SRC_URI. Named MODULE_AUTHOR in EAPI=5.
 
 # @ECLASS-VARIABLE: DIST_SECTION
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# (EAPI=6) This variable sets the module section for the calculation of
+# (EAPI=6 and later) This variable sets the module section for the calculation of
 # SRC_URI. Only required in rare cases for very special snowflakes.
 # Named MODULE_SECTION in EAPI=5.
 
 # @ECLASS-VARIABLE: DIST_EXAMPLES
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# (EAPI=6) This Bash array allows passing a list of example files to be installed
+# (EAPI=6 and later) This Bash array allows passing a list of example files to be installed
 # in /usr/share/doc/${PF}/examples. If set before inherit, automatically adds
 # a use-flag examples, if not you'll have to add the useflag in your ebuild.
 # Examples are installed only if the useflag examples exists and is activated.
@@ -287,54 +287,54 @@ perl-module_src_configure() {
 # @FUNCTION: perl-module_src_compile
 # @DESCRIPTION:
 # Compile the ebuild sources.
 # This function is to be called during the ebuild src_compile() phase.
 perl-module_src_compile() {
 	debug-print-function $FUNCNAME "$@"
 	perl_set_version
 
 	if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
 		local mymake_local=(${mymake})
 	else
 		local mymake_local=("${mymake[@]}")
 	fi
 
 	if [[ -f Build ]] ; then
 		./Build build \
 			|| die "Compilation failed"
 	elif [[ -f Makefile ]] ; then
 		set -- \
 			OTHERLDFLAGS="${LDFLAGS}" \
 			"${mymake_local[@]}"
 		einfo "emake" "$@"
 		emake "$@" \
 			|| die "Compilation failed"
 #			OPTIMIZE="${CFLAGS}" \
 	fi
 }
 
 # @ECLASS-VARIABLE: DIST_TEST
 # @DESCRIPTION:
-# (EAPI=6) Variable that controls if tests are run in the test phase
+# (EAPI=6 and later) Variable that controls if tests are run in the test phase
 # at all, and if yes under which conditions. Defaults to "do parallel"
 # If neither "do" nor "parallel" is recognized, tests are skipped.
 # (In EAPI=5 the variable is called SRC_TEST, defaults to "skip", and
 # recognizes fewer options.)
 # The following space-separated keywords are recognized:
 #   do       : run tests
 #   parallel : run tests in parallel
 #   verbose  : increase test verbosity
 #   network  : do not try to disable network tests
 
 # @ECLASS-VARIABLE: DIST_TEST_OVERRIDE
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# (EAPI=6) Variable that controls if tests are run in the test phase
+# (EAPI=6 and later) Variable that controls if tests are run in the test phase
 # at all, and if yes under which conditions. It is intended for use in
 # make.conf or the environment by ebuild authors during testing, and
 # accepts the same values as DIST_TEST. If set, it overrides DIST_TEST
 # completely. DO NOT USE THIS IN EBUILDS!
 
 # @FUNCTION: perl-module_src-test
 # @DESCRIPTION:
 # This code attempts to work out your threadingness and runs tests
 # according to the settings of DIST_TEST using Test::Harness.
-- 
2.22.0

Replies