public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] cmake-multilib.eclass: Drop EAPI-6 support and prepare to drop cmake-utils w/ future EAPI
@ 2021-03-07 15:19 Andreas Sturmlechner
  0 siblings, 0 replies; only message in thread
From: Andreas Sturmlechner @ 2021-03-07 15:19 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 3618 bytes --]

diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass
--- a/eclass/cmake-multilib.eclass
+++ b/eclass/cmake-multilib.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: cmake-multilib.eclass
@@ -6,27 +6,41 @@
 # gx86-multilib team <multilib@gentoo.org>
 # @AUTHOR:
 # Author: Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
-# @BLURB: cmake-utils wrapper for multilib builds
+# @SUPPORTED_EAPIS: 7
+# @BLURB: cmake wrapper for multilib builds
 # @DESCRIPTION:
-# The cmake-multilib.eclass provides a glue between cmake-utils.eclass(5)
+# The cmake-multilib.eclass provides a glue between cmake.eclass(5)
 # and multilib-minimal.eclass(5), aiming to provide a convenient way
 # to build packages using cmake for multiple ABIs.
 #
 # Inheriting this eclass sets IUSE and exports default multilib_src_*()
-# sub-phases that call cmake-utils phase functions for each ABI enabled.
+# sub-phases that call cmake phase functions for each ABI enabled.
 # The multilib_src_*() functions can be defined in ebuild just like
-# in multilib-minimal, yet they ought to call appropriate cmake-utils
+# in multilib-minimal, yet they ought to call appropriate cmake
 # phase rather than 'default'.
 
 # @ECLASS-VARIABLE: CMAKE_ECLASS
 # @DESCRIPTION:
-# Default is "cmake-utils" for compatibility. Specify "cmake" for ebuilds
-# that ported from cmake-utils.eclass to cmake.eclass already.
+# Default is "cmake-utils" for compatibility in EAPI-7. Specify "cmake" for
+# ebuilds that ported to cmake.eclass already. Future EAPI is "cmake" only.
 : ${CMAKE_ECLASS:=cmake-utils}
 
+# @ECLASS-VARIABLE: _CMAKE_ECLASS_IMPL
+# @INTERNAL
+# @DESCRIPTION:
+# Default is "cmake" for future EAPI. Cleanup once EAPI-7 support is gone.
+_CMAKE_ECLASS_IMPL=cmake
+
 case ${EAPI:-0} in
-	[67]) ;;
+	7) case ${CMAKE_ECLASS} in
+			cmake-utils|cmake) ;;
+			*)
+				eerror "Unknown value for \$
{CMAKE_ECLASS}"
+				die "Value ${CMAKE_ECLASS} is not 
supported"
+				;;
+		esac
+		_CMAKE_ECLASS_IMPL=${CMAKE_ECLASS}
+		;;
 	*) die "EAPI=${EAPI} is not supported" ;;
 esac
 
@@ -34,15 +48,7 @@ if [[ ${CMAKE_IN_SOURCE_BUILD} ]]; then
 	die "${ECLASS}: multilib support requires out-of-source builds."
 fi
 
-case ${CMAKE_ECLASS} in
-	cmake-utils|cmake) ;;
-	*)
-		eerror "Unknown value for \${CMAKE_ECLASS}"
-		die "Value ${CMAKE_ECLASS} is not supported"
-		;;
-esac
-
-inherit ${CMAKE_ECLASS} multilib-minimal
+inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal
 
 EXPORT_FUNCTIONS src_configure src_compile src_test src_install
 
@@ -53,7 +59,7 @@ cmake-multilib_src_configure() {
 }
 
 multilib_src_configure() {
-	${CMAKE_ECLASS}_src_configure "${_cmake_args[@]}"
+	${_CMAKE_ECLASS_IMPL}_src_configure "${_cmake_args[@]}"
 }
 
 cmake-multilib_src_compile() {
@@ -63,7 +69,7 @@ cmake-multilib_src_compile() {
 }
 
 multilib_src_compile() {
-	${CMAKE_ECLASS}_src_compile "${_cmake_args[@]}"
+	${_CMAKE_ECLASS_IMPL}_src_compile "${_cmake_args[@]}"
 }
 
 cmake-multilib_src_test() {
@@ -73,7 +79,7 @@ cmake-multilib_src_test() {
 }
 
 multilib_src_test() {
-	${CMAKE_ECLASS}_src_test "${_cmake_args[@]}"
+	${_CMAKE_ECLASS_IMPL}_src_test "${_cmake_args[@]}"
 }
 
 cmake-multilib_src_install() {
@@ -83,5 +89,5 @@ cmake-multilib_src_install() {
 }
 
 multilib_src_install() {
-	${CMAKE_ECLASS}_src_install "${_cmake_args[@]}"
+	${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}"
 }

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-07 15:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-07 15:19 [gentoo-dev] cmake-multilib.eclass: Drop EAPI-6 support and prepare to drop cmake-utils w/ future EAPI Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox