Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: eclass/
Date: Sat, 21 Aug 2021 13:11:37
Message-Id: 1629551411.40e9ac8f62c95c5d991148d8912422e8eaa8813d.asturm@gentoo
1 commit: 40e9ac8f62c95c5d991148d8912422e8eaa8813d
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 18 18:02:54 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sat Aug 21 13:10:11 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=40e9ac8f
7
8 cmake.eclass: Enforce CMAKE_REMOVE_MODULES_LIST be an array
9
10 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
11
12 eclass/cmake.eclass | 26 +++++++++++++++++++-------
13 1 file changed, 19 insertions(+), 7 deletions(-)
14
15 diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
16 index b78441bfaa..3c61107182 100644
17 --- a/eclass/cmake.eclass
18 +++ b/eclass/cmake.eclass
19 @@ -66,11 +66,23 @@ _CMAKE_ECLASS=1
20 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
21
22 # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST
23 +# @PRE_INHERIT
24 +# @DEFAULT_UNSET
25 # @DESCRIPTION:
26 -# Space-separated list of CMake modules to be removed in ${CMAKE_USE_DIR}
27 -# (in EAPI-7: ${S}) during src_prepare, in order to force packages to use the
28 -# system version. Set to empty to disable removing modules entirely.
29 -: ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK}
30 +# Array of .cmake modules to be removed in ${CMAKE_USE_DIR} (in EAPI-7: ${S})
31 +# during src_prepare, in order to force packages to use the system version.
32 +# By default, contains "FindBLAS" and "FindLAPACK".
33 +# Set to empty to disable removing modules entirely.
34 +if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then
35 + if [[ ${EAPI} != 7 ]]; then
36 + [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] ||
37 + die "CMAKE_REMOVE_MODULES_LIST must be an array"
38 + fi
39 +else
40 + if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* && ${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then
41 + CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK )
42 + fi
43 +fi
44
45 # @ECLASS-VARIABLE: CMAKE_USE_DIR
46 # @DESCRIPTION:
47 @@ -355,10 +367,10 @@ cmake_src_prepare() {
48 fi
49
50 local modules_list
51 - if [[ $(declare -p CMAKE_REMOVE_MODULES_LIST) == "declare -a"* ]]; then
52 - modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" )
53 - else
54 + if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then
55 modules_list=( ${CMAKE_REMOVE_MODULES_LIST} )
56 + else
57 + modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" )
58 fi
59
60 local name