summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2021-03-11 20:05:52 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2021-03-11 20:05:52 +0000
commitde30532705a04f0c7638b94b361be1b9aaa2e13b (patch)
treeed6933b98f7a008e9650d54a7fc936e43f481e2e
parent2021-03-11 19:50:53 UTC (diff)
parentcmake-multilib.eclass: Prepare for cmake.eclass default in future EAPI (diff)
downloadgentoo-de30532705a04f0c7638b94b361be1b9aaa2e13b.tar.gz
gentoo-de30532705a04f0c7638b94b361be1b9aaa2e13b.tar.bz2
gentoo-de30532705a04f0c7638b94b361be1b9aaa2e13b.zip
Merge updates from master
-rw-r--r--eclass/cmake-multilib.eclass51
1 files changed, 29 insertions, 22 deletions
diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass
index 2693d9c72e2b..e6d8fe64a02f 100644
--- 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,42 @@
# 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 +49,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 +60,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 +70,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 +80,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 +90,5 @@ cmake-multilib_src_install() {
}
multilib_src_install() {
- ${CMAKE_ECLASS}_src_install "${_cmake_args[@]}"
+ ${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}"
}