summaryrefslogtreecommitdiff
path: root/eclass/ecm.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/ecm.eclass')
-rw-r--r--eclass/ecm.eclass51
1 files changed, 27 insertions, 24 deletions
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index e433952903e8..9caaf59cb3fa 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ecm.eclass
@@ -334,6 +334,18 @@ DEPEND+=" ${COMMONDEPEND}"
RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
+# @FUNCTION: _ecm_handbook_optional
+# @DESCRIPTION:
+# Use with ECM_HANDBOOK=optional; ticks either -DBUILD_DOC if available,
+# or -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools
+_ecm_handbook_optional() {
+ if grep -Eq "option.*BUILD_DOC" CMakeLists.txt; then
+ echo "-DBUILD_DOC=$(usex handbook)"
+ else
+ echo "-DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=$(usex !handbook)"
+ fi
+}
+
# @FUNCTION: _ecm_strip_handbook_translations
# @INTERNAL
# @DESCRIPTION:
@@ -465,7 +477,7 @@ ecm_punt_bogus_dep() {
# @DESCRIPTION:
# Disables kdoctools_install(po) call.
_ecm_punt_kdoctools_install() {
- sed -e "s/^ *kdoctools_install.*(po.*)/#& # disabled by ecm.eclass/" \
+ sed -e "s/^ *kdoctools_install.*(\s*po.*)/#& # disabled by ecm.eclass/" \
-i CMakeLists.txt || die
}
@@ -475,7 +487,7 @@ _ecm_punt_kdoctools_install() {
# is outsourcing common files to a ${PN}-common split package.
ecm_punt_po_install() {
_ecm_punt_kdoctools_install
- sed -e "s/^ *ki18n_install.*(po.*)/#& # disabled by ecm.eclass/" \
+ sed -e "s/^ *ki18n_install.*(\s*po.*)/#& # disabled by ecm.eclass/" \
-i CMakeLists.txt || die
}
@@ -488,18 +500,9 @@ _ecm_deprecated_check_gcc_version() {
if ver_test ${KFMIN} -ge 6.9; then
eqawarn "QA notice: ecm_pkg_${1} has become a no-op."
eqawarn "It is no longer being exported with KFMIN >=6.9.0."
- return
- fi
- if [[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] && tc-is-gcc; then
-
- local version=$(gcc-version)
-
- debug-print "GCC version check activated"
- debug-print "Version detected: ${version}"
- debug-print "Version required: ${KDE_GCC_MINIMAL}"
-
- ver_test ${version} -lt ${KDE_GCC_MINIMAL} &&
- die "Sorry, but gcc-${KDE_GCC_MINIMAL} or later is required for this package (found ${version})."
+ else
+ [[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] &&
+ tc-check-min_ver gcc ${KDE_GCC_MINIMAL}
fi
}
@@ -630,7 +633,7 @@ ecm_src_configure() {
fi
if [[ ${ECM_HANDBOOK} = optional ]] ; then
- cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=$(usex !handbook) )
+ cmakeargs+=( $(_ecm_handbook_optional) )
fi
if in_iuse designer && [[ ${ECM_DESIGNERPLUGIN} = true ]]; then
@@ -692,7 +695,7 @@ ecm_src_test() {
fi
# KDE_DEBUG stops crash handlers from launching and hanging the test phase
- KDE_DEBUG=1 cmake_src_test
+ KDE_DEBUG=1 cmake_src_test "$@"
}
local -x QT_QPA_PLATFORM=offscreen
@@ -704,9 +707,9 @@ ecm_src_test() {
unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
if [[ ${EAPI} == 8 ]] && [[ ${VIRTUALX_REQUIRED} = always || ${VIRTUALX_REQUIRED} = test ]]; then
- virtx _test_runner
+ virtx _test_runner "$@"
else
- _test_runner
+ _test_runner "$@"
fi
if [[ -n "${DBUS_SESSION_BUS_PID}" ]] ; then
@@ -725,7 +728,7 @@ ecm_src_test() {
ecm_src_install() {
debug-print-function ${FUNCNAME} "$@"
- cmake_src_install
+ cmake_src_install "$@"
local f
# bug 621970
@@ -746,18 +749,18 @@ ecm_src_install() {
if [[ -n ${_KDE_ORG_ECLASS} && -d "${ED}"/usr/share/metainfo/ ]]; then
if [[ ${KDE_ORG_NAME} != ${PN} ]]; then
- local ecm_metainfo
+ local ecm_metainfo mainslot=${SLOT%/*}
pushd "${ED}"/usr/share/metainfo/ > /dev/null || die
for ecm_metainfo in find * -type f -iname "*metainfo.xml"; do
case ${ecm_metainfo} in
*${KDE_ORG_NAME}*)
- mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME} ${PN}${SLOT/0*/}
+ mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME} ${PN}${mainslot/0*/}
;;
*${KDE_ORG_NAME/-/_}*)
- mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME/-/_} ${PN}${SLOT/0*/}
+ mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME/-/_} ${PN}${mainslot/0*/}
;;
org.kde.*)
- mv_metainfo ${ecm_metainfo} "org.kde." "org.kde.${PN}${SLOT/0*/}-"
+ mv_metainfo ${ecm_metainfo} "org.kde." "org.kde.${PN}${mainslot/0*/}-"
;;
esac
done