[gentoo-commits] proj/kde:master commit in: eclass/
commit: 67249e6b2492cbe4b0edd2609321bc6355686b37 Author: Sam James gentoo org> AuthorDate: Sat Mar 14 10:35:17 2026 + Commit: Sam James gentoo org> CommitDate: Sat Mar 14 10:35:28 2026 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=67249e6b frameworks.kde.org.eclass: Mark 6.24.0 released Signed-off-by: Sam James gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 2b3537504d..5cde157ab7 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.24.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: e80c113f856501b0c1e8068056b59fbcd3941f58 Author: Sam James gentoo org> AuthorDate: Fri Mar 13 18:12:37 2026 + Commit: Sam James gentoo org> CommitDate: Fri Mar 13 18:12:37 2026 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=e80c113f frameworks.kde.org.eclass: Mark 6.24.0 unreleased Signed-off-by: Sam James gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 5cde157ab7..2b3537504d 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( ) +KDE_PV_UNRELEASED=( 6.24.0 ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d3fae683ff90b9fd4cb394e51130f2c9a3e3a0df Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Mar 5 17:26:35 2026 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Mar 5 17:26:35 2026 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d3fae683 gear.kde.org.eclass: Mark 25.12.3 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index 8f90e39a74..28cee53db3 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ esac # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.12.3 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: efe269a9b980e55794fa4f478e074946744d8e2b
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Feb 22 18:33:36 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Feb 28 21:18:58 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=efe269a9
kde.org.eclass: Drop Qt5PatchCollection (live ebuild/snapshot) support
Unused for quite a while, no change for release ebuilds.
Cleanup some duplications at the same time.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/kde.org.eclass | 16 +---
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass
index a522bb07c1..7184d99657 100644
--- a/eclass/kde.org.eclass
+++ b/eclass/kde.org.eclass
@@ -160,20 +160,10 @@ has ${PV} "${KDE_PV_UNRELEASED[*]}" &&
KDE_ORG_UNRELEASED=true
HOMEPAGE="https://kde.org/";
-if [[ ${CATEGORY} == dev-qt ]]; then
- KDE_ORG_NAME=${QT5_MODULE:-${PN}}
- HOMEPAGE="https://community.kde.org/Qt5PatchCollection
- https://invent.kde.org/qt/qt/ https://www.qt.io/";
-fi
-
case ${KDE_BUILD_TYPE} in
live)
EGIT_MIRROR=${EGIT_MIRROR:=https://invent.kde.org/${KDE_ORG_CATEGORY}}
EGIT_REPO_URI="${EGIT_MIRROR}/${EGIT_REPONAME:=$KDE_ORG_NAME}.git"
-
- if [[ ${PV} == 5.15.*. && ${CATEGORY} == dev-qt ]]; then
- EGIT_BRANCH="kde/$(ver_cut 1-2)"
- fi
;;
*)
if [[ -n ${KDE_ORG_COMMIT} ]]; then
@@ -182,15 +172,11 @@ case ${KDE_BUILD_TYPE} in
SRC_URI+="
https://invent.kde.org/${KDE_ORG_CATEGORY}/${KDE_ORG_NAME}/-/";
SRC_URI+="archive/${KDE_ORG_COMMIT}/${KDE_ORG_NAME}-${KDE_ORG_COMMIT}.tar.gz"
SRC_URI+=" -> ${_KDE_ORG_TARFILE}"
- fi
- [[ ${KDE_ORG_UNRELEASED} == true ]] && RESTRICT+=" fetch"
- debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is
${SRC_URI}"
- if [[ -n ${KDE_ORG_COMMIT} ]]; then
S=${WORKDIR}/${KDE_ORG_NAME}-${KDE_ORG_COMMIT}
- [[ ${CATEGORY} == dev-qt ]] &&
QT5_BUILD_DIR="${S}_build"
else
S=${WORKDIR}/${KDE_ORG_TAR_PN}-${PV}
fi
+ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is
${SRC_URI}"
;;
esac
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 376121db22a7b8cd7664dc31f1ca897c54539753
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Feb 22 18:27:57 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Feb 28 20:58:00 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=376121db
frameworks.kde.org.eclass: Drop KF5 (SLOT 5) support
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/frameworks.kde.org.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass
index 4797d1701e..5cde157ab7 100644
--- a/eclass/frameworks.kde.org.eclass
+++ b/eclass/frameworks.kde.org.eclass
@@ -43,9 +43,6 @@ inherit kde.org
HOMEPAGE="https://develop.kde.org/products/frameworks/";
SLOT=6
-if ver_test ${PV} -lt 5.240; then
- SLOT=5
-fi
case ${PN} in
extra-cmake-modules|kapidox)
SLOT=0
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 92cb4183bc2f0885ab438666242524e3e2ff59bc
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Feb 21 15:25:25 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Feb 28 20:57:59 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=92cb4183
ecm.eclass: Cleanup KF5 support
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 144 --
1 file changed, 41 insertions(+), 103 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 0b64e1c24a..8d675ad953 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -49,10 +49,9 @@ fi
# @ECLASS_VARIABLE: ECM_NONGUI
# @DESCRIPTION:
-# By default, for all CATEGORIES except kde-frameworks, assume we are building
-# a GUI application. Add dependency on kde-frameworks/breeze-icons or
-# kde-frameworks/oxygen-icons. With KFMIN lower than 6.9.0, inherit xdg.eclass,
-# run pkg_preinst, pkg_postinst and pkg_postrm. If set to "true", do nothing.
+# By default, for all CATEGORIES except kde-frameworks, set to "false", which
+# assumes we are building a GUI application, and depend on breeze-icons or
+# oxygen-icons. If set to "true", do nothing.
: "${ECM_NONGUI:=false}"
if [[ ${CATEGORY} == kde-frameworks ]]; then
ECM_NONGUI=true
@@ -81,28 +80,27 @@ fi
# Will accept "true", "false", "optional", "forceoptional", "forceoff".
# If set to "false" (default), do nothing.
# Otherwise, add "+handbook" to IUSE, add the appropriate dependency, and let
-# KF${_KFSLOT}DocTools generate and install the handbook from docbook file(s)
-# found in ECM_HANDBOOK_DIR. However if !handbook, disable build of
-# ECM_HANDBOOK_DIR in CMakeLists.txt.
-# If set to "optional", build with
-# -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=ON when !handbook. In case
-# package requires KF5KDELibs4Support, see next:
-# If set to "forceoptional", remove a KF${_KFSLOT}DocTools dependency from the
-# root CMakeLists.txt in addition to the above.
+# KF6DocTools generate and install the handbook from docbook file(s) found in
+# ECM_HANDBOOK_DIR. However if !handbook, disable build of ECM_HANDBOOK_DIR in
+# CMakeLists.txt.
+# If set to "optional", build with -DCMAKE_DISABLE_FIND_PACKAGE_KF6DocTools=ON
+# when !handbook.
+# If set to "forceoptional", remove a KF6DocTools dependency from the root
+# CMakeLists.txt in addition to the above.
: "${ECM_HANDBOOK:=false}"
# @ECLASS_VARIABLE: ECM_HANDBOOK_DIR
# @DESCRIPTION:
# Specifies the directory containing the docbook file(s) relative to ${S} to
-# be processed by KF${_KFSLOT}DocTools (kdoctools_install).
+# be processed by KF6DocTools (kdoctools_install).
: "${ECM_HANDBOOK_DIR:=doc}"
# @ECLASS_VARIABLE: ECM_PO_DIRS
# @PRE_INHERIT
# @DESCRIPTION:
# Specifies directories of l10n files relative to ${S} to be processed by
-# KF${_KFSLOT}I18n (ki18n_install). If IUSE nls exists and is disabled then
-# disable build of these directories in CMakeLists.txt.
+# KF6I18n (ki18n_install). If IUSE nls exists and is disabled then disable
+# build of these directories in CMakeLists.txt.
if [[ ${ECM_PO_DIRS} ]]; then
[[ ${ECM_PO_DIRS@a} == *a* ]] ||
die "ECM_PO_DIRS must be an array"
@@ -124,10 +122,10 @@ fi
# If set to "true", add "doc" to IUSE, add the appropriate dependency, let
# -DBUILD_QCH=ON generate and install Qt compressed help files when USE=doc.
# If set to "false", do nothing.
-if [[ ${CATEGORY} = kde-frameworks && ${_KFSLOT} == 5 ]]; then
+if [[ ${CATEGORY} = kde-frameworks ]]; then
# TODO: Implement KF 6.15 changes how API documentation is built. See also:
# https://mail.kde.org/pipermail/distributions/2025-June/001595.html
- : "${ECM_QTHELP:=true}"
+ : "${ECM_QTHELP:=false}"
fi
: "${ECM_QTHELP:=false}"
@@ -144,20 +142,14 @@ fi
# @DEFAULT_UNSET
# @DESCRIPTION:
# Will accept "true", "false", "forceoptional", and "forceoptional-recursive".
-# For KF5-based ebuilds, additionally accepts "optional".
# Default value is "false", except for CATEGORY=kde-frameworks where it is
# set to "true". If set to "false", do nothing.
# For any other value, add "test" to IUSE. If set to "forceoptional", ignore
-# "autotests", "test", "tests" subdirs from top-level CMakeLists.txt when
-# USE=!test. If set to "forceoptional-recursive", make autotest(s), unittest(s)
+# "appiumtests", "autotests", "test", "tests" subdirs from root CMakeLists.txt
+# when USE=!test. If set to "forceoptional-recursive", make autotest(s),
unittest(s)
# and test(s) subdirs from *any* CMakeLists.txt in ${S} and below conditional
# on BUILD_TESTING when USE=!test. This is always meant as a short-term fix and
# creates ${T}/${P}-tests-optional.patch to refine and submit upstream.
-# For KF5-based ebuilds:
-# Additionally DEPEND on dev-qt/qttest:5 if USE=test, but punt Qt5Test
-# dependency if set to "forceoptional*" with USE=!test.
-# If set to "optional", build with -DCMAKE_DISABL
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 559f25bc6fa0fe7f525f157f658fc5597d494245
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Feb 22 18:26:05 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Feb 28 20:58:00 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=559f25bc
ecm-common.eclass: Cleanup KF5 support
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm-common.eclass | 160 +++
1 file changed, 38 insertions(+), 122 deletions(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index 3278a3d175..7ab333de84 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -28,47 +28,16 @@ inherit cmake
# @ECLASS_VARIABLE: KFMIN
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Minimum version of Frameworks to require. Default value is 6.0.0.
-# If set to <5.240, it is assumed dependencies are fulfilled by KF5/Qt5
-# alternatively, thus a block of SLOT=5 shadow dependencies added.
-: "${KFMIN:=6.0.0}"
+# Minimum version of Frameworks to require. Baseline value is 6.22.0.
+: "${KFMIN:=6.22.0}"
-# @ECLASS_VARIABLE: _KFSLOT
-# @INTERNAL
-# @DESCRIPTION:
-# KDE Frameworks main slot dependency for consistently finding all KF5 or KF6
-# in CMakeLists.txt. Consistency over installed KF packages is established via
-# BDEPEND, then detected in pkg_setup().
-# Is passed as -DQT_MAJOR_VERSION=${_KFSLOT} in src_configure() too.
-_KFSLOT=6
-
-# @ECLASS_VARIABLE: KF5_BDEPEND
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Dynamic KF5 dependency list.
-if [[ ${KF5_BDEPEND} ]]; then
- [[ ${KF5_BDEPEND@a} == *a* ]] ||
- die "KF5_BDEPEND must be an array"
-else
- KF5_BDEPEND=( )
-fi
-
-# @ECLASS_VARIABLE: KF6_BDEPEND
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Dynamic KF6 dependency list.
-if [[ ${KF6_BDEPEND} ]]; then
- [[ ${KF6_BDEPEND@a} == *a* ]] ||
- die "KF6_BDEPEND must be an array"
-else
- KF6_BDEPEND=( )
-fi
+ver_test ${KFMIN} -lt 5.240 && die "KF5 is unsupported!"
# @ECLASS_VARIABLE: ECM_I18N
# @PRE_INHERIT
# @DESCRIPTION:
# Will accept "true" (default) or "false". If set to "false", do nothing.
-# Otherwise, add kde-frameworks/ki18n:* to BDEPEND, find KF[56]I18n and let
+# Otherwise, add kde-frameworks/ki18n:6 to BDEPEND, find KF6I18n and let
# ki18n_install(po) generate and install translations.
: "${ECM_I18N:=true}"
@@ -76,8 +45,8 @@ fi
# @PRE_INHERIT
# @DESCRIPTION:
# Will accept "true" or "false" (default). If set to "false", do nothing.
-# Otherwise, add "+handbook" to IUSE, add kde-frameworks/kdoctools:* to BDEPEND
-# find KF[56]DocTools in CMake, call add_subdirectory(ECM_HANDBOOK_DIRS)
+# Otherwise, add "+handbook" to IUSE, add kde-frameworks/kdoctools:6 to BDEPEND
+# find KF6DocTools in CMake, call add_subdirectory(ECM_HANDBOOK_DIRS)
# and let let kdoctools_install(po) generate and install translated docbook
# files.
: "${ECM_HANDBOOK:=false}"
@@ -119,9 +88,11 @@ fi
# @DEFAULT_UNSET
# @PRE_INHERIT
# @DESCRIPTION:
+# If empty, do nothing. Otherwise, add kde-frameworks/kcmutils:6 to BDEPEND
+# and set up the CMaḱeLists.txt according to the content of ECM_KCM_TARGETS:
# Array of : tuples to feed to ECMInstallIcons via
-# ecmcommon_generate_desktop_file( ), which is this
-# eclass adaptation of kcmutils_generate_desktop_file.
+# ecmcommon_generate_desktop_file( ), which is this eclass'
+# adaptation of kcmutils_generate_desktop_file.
if [[ ${ECM_KCM_TARGETS} ]]; then
[[ ${ECM_KCM_TARGETS@a} == *a* ]] ||
die "ECM_KCM_TARGETS must be an array"
@@ -129,12 +100,14 @@ fi
DESCRIPTION="Common files for ${PN/-common/}"
-BDEPEND=">=kde-frameworks/extra-cmake-modules-${KFMIN}:*"
+BDEPEND="
+ dev-qt/qtbase:6
+ >=kde-frameworks/extra-cmake-modules-${KFMIN}:*
+"
case ${ECM_I18N} in
true)
- KF5_BDEPEND+=( "kde-frameworks/ki18n:5" )
- KF6_BDEPEND+=( "kde-frameworks/ki18n:6" )
+ BDEPEND+=" kde-frameworks/ki18n:6"
;;
false) ;;
*)
@@ -146,8 +119,7 @@ esac
case ${ECM_HANDBOOK} in
true)
IUSE+=" +handbook"
- KF5_BDEPEND+=( "handbook? ( kde-frameworks/kdoctools:5 )" )
- KF6_BDEPEND+=( "handbook? ( kde-frameworks/kdoctools:6 )" )
+ BDEPEND+=" handbook? ( kde-frameworks/kdoctools:6 )"
;;
false) ;;
*)
@@ -157,22 +129,7 @@ case ${ECM_HANDBOOK} in
esac
if [[ ${ECM_KCM_TARGETS} ]]; then
- KF5_BDEPEND+=( "kde-frameworks/kcmutils:5" )
- KF6_BDEPEND+=( "kde-frameworks/kcmutils:6" )
-fi
-
-KF6_BDEPEND+=( "dev-qt/qtbase:6" )
-
-if $(ver_test ${KFMIN} -lt 5.240) && [[ ${KF6_BDEPEND} && ${KF5_BDEPEND} ]];
then
- BDEPEND+=" || (
- ( ${KF6_BDEPEND[*]} )
- (
- ${KF5_BDEPEND[*]}
- dev-qt/qtcore:5
- )
- )"
-else
- BDEPEND+=" ${KF6_BDEPEND[*]}"
+
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 85090ab2fd1d546306205faab526f5ab452a27dc
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Feb 21 18:22:24 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Feb 28 20:57:59 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=85090ab2
ecm.eclass: Unconditionally set BUILD_WITH_QT6 to ON
...instead of setting QT_MAJOR_VERSION=6, which upstream have discouraged.
This could lead to Qt5 preference in case a build system finds Qt5Core
before including any module that inits QtVersionOption.cmake, but almost
none of those should be left at this point [that we package].
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 8d675ad953..7436afd2bd 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -581,7 +581,7 @@ ecm_src_configure() {
append-cppflags -DQT_NO_DEBUG
fi
- local cmakeargs=( -DQT_MAJOR_VERSION=6 )
+ local cmakeargs
if in_iuse test; then
cmakeargs+=( $(usev !test -DBUILD_TESTING=OFF) )
@@ -611,6 +611,7 @@ ecm_src_configure() {
set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "") #
*-disable-appstreamtest.patch
set(ECM_DISABLE_GIT ON CACHE BOOL "") #
*-disable-git-commit-hooks.patch
+ set(BUILD_WITH_QT6 ON CACHE BOOL "") # QtVersionOption.cmake:
Hard-require Qt6
# KDEInstallDirs6 section
set(KDE_INSTALL_USE_QT_SYS_PATHS ON CACHE BOOL "") # install
mkspecs in same dir as Qt stuff
# move handbook outside of doc dir, bug #667138
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0bbf3623f7765cada13abda01b03396bc0a6f56c Author: Sam James gentoo org> AuthorDate: Wed Feb 18 13:49:41 2026 + Commit: Sam James gentoo org> CommitDate: Wed Feb 18 13:49:44 2026 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0bbf3623 plasma.kde.org.eclass: 6.6.0 has been released Signed-off-by: Sam James gentoo.org> eclass/plasma.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 4a61d978be..ce4242285b 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.6.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 50b34c77ae6da8dbf074590ad8e0ef03b6965bf2 Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Feb 5 14:19:43 2026 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Feb 5 14:19:43 2026 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=50b34c77 gear.kde.org.eclass: Mark 25.12.2 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index a7d38f5165..28cee53db3 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ esac # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.12.2 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 2fe27742b4f5e9d03e6043604f1f6202dfeb4645
Author: Sv. Lockal gmail com>
AuthorDate: Sat Jan 10 16:23:21 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jan 12 19:39:07 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=2fe27742
cmake.eclass: fix removal of FindBLAS.cmake during cmake-4.2.1 upgrade
Change done in 3f8ff6b53f4c9d048cb677b0e41a4f5089951d5d had a logic
mistake. Original logic was: if CMAKE_REMOVE_MODULES_LIST is not empty,
then validate that it is array. Otherwise (emty string or unset), set
it to remove FindBLAS.cmake and FindLAPACK.cmake. After change
if effectively always set any non-empty CMAKE_REMOVE_MODULES_LIST array
to ( FindBLAS FindLAPACK ), if https://bugs.gentoo.org/968511
Signed-off-by: Sv. Lockal gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45321
Signed-off-by: Sam James gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 68d4bb5e57..f54f371889 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -493,7 +493,7 @@ cmake_prepare() {
die "FATAL: Unable to find CMakeLists.txt"
fi
- if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* &&
${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then
+ if [[ ${CMAKE_REMOVE_MODULES_LIST@a} != *a* ]]; then
if has_version -b "
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 502671adb21132bba72bafa112900d42e9ea3c90
Author: Arsen Arsenović gentoo org>
AuthorDate: Sun Nov 23 12:47:29 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jan 5 16:31:18 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=502671ad
cmake.eclass: fix MYCMAKEARGS not being listed under variables
This variable is a user-variable similar to ECONF_EXTRA in nature.
Document it as such.
Signed-off-by: Arsen Arsenović gentoo.org>
Signed-off-by: Sam James gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d412fcf1df..68d4bb5e57 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -529,8 +529,8 @@ cmake_src_prepare() {
cmake_prepare
}
-# @VARIABLE: MYCMAKEARGS
-# @DEFAULT_UNSET
+# @ECLASS_VARIABLE: MYCMAKEARGS
+# @USER_VARIABLE
# @DESCRIPTION:
# User-controlled environment variable containing arguments to be passed to
# cmake in cmake_src_configure.
[gentoo-commits] proj/kde:master commit in: eclass/
commit: c7689fb6a59de73bbbdf4e45b40aa841fe35a37f
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Jan 3 22:48:02 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jan 5 15:47:18 2026 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=c7689fb6
cmake.eclass: Restrict default rm Find{BLAS,LAPACK}.cmake to CMake <4.2.1
This goes back to ancient cmake-utils.eclass,v 1.70 in CVS of 2011, or
historical.git commit 70230d8d15c0d287b5e81b09a6e78b6aff01b1d6, and it was
done to ensure use of downstream-modified versions of these modules shipped
by Gentoo's cmake package over consumer packages' own copy overriding them.
After commit 04ce4a03554e3541c587db60013b9b796613c2c7 finally dropped this
downstream modification for CMake >=4.2.1, we can also stop removing these
modules by default.
Bug: https://bugs.gentoo.org/736547
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index e7caa82b3a..d412fcf1df 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -77,10 +77,6 @@ inherit flag-o-matic multiprocessing ninja-utils
toolchain-funcs xdg-utils
if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then
[[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] ||
die "CMAKE_REMOVE_MODULES_LIST must be an array"
-else
- if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* &&
${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then
- CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK )
- fi
fi
# @ECLASS_VARIABLE: CMAKE_USE_DIR
@@ -497,6 +493,11 @@ cmake_prepare() {
die "FATAL: Unable to find CMakeLists.txt"
fi
+ if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* &&
${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then
+ if has_version -b "
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d224480df8358b5c4a7f0b22e80de8d338aa82f1
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Dec 29 21:54:01 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Dec 29 22:03:17 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d224480d
cmake.eclass: cmake_comment_add_subdirectory: Work w/ macro args
As of 3.25, CMake allows 3 optional arguments to pass in addition to
source_dir: [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM]
The eclass function so far did not cope with that.
See also:
https://cmake.org/cmake/help/latest/command/add_subdirectory.html
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 6fa083b2ff..9260a7c07f 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -250,7 +250,7 @@ cmake_comment_add_subdirectory() {
for d in "$@"; do
d=${d//\//\\/}
- sed -e
"/add_subdirectory[[:space:]]*([[:space:]]*${d}[[:space:]]*)/I s/^/#DONOTBUILD
/" \
+ sed -e
"/add_subdirectory[[:space:]]*([[:space:]]*${d}\([[:space:]][a-Z_
]*\|[[:space:]]*\))/I s/^/#DONOTBUILD /" \
-i ${filename} || die "failed to comment
add_subdirectory(${d})"
done
}
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d02db5c8cb03adf4c1acd60c5c2cf8e0df9b95fd
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Dec 19 15:12:28 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Fri Dec 19 15:20:07 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d02db5c8
gear.kde.org.eclass: Cleanup obsolete blockers
Packages were last-rited.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/gear.kde.org.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass
index 0bf17c2105..26e2cd0dfa 100644
--- a/eclass/gear.kde.org.eclass
+++ b/eclass/gear.kde.org.eclass
@@ -71,7 +71,6 @@ if $(ver_test -gt 24.01.75); then
akonadi-contacts | \
akonadi-import-wizard | \
akonadi-mime | \
- akonadi-notes | \
akonadi-search | \
akonadiconsole | \
akregator | \
@@ -173,7 +172,6 @@ if $(ver_test -gt 24.01.75); then
knavalbattle | \
knetwalk | \
knights | \
- knotes | \
kolf | \
kollision | \
konqueror | \
@@ -255,7 +253,6 @@ if $(ver_test -gt 24.04.75); then
itinerary | \
kio-perldoc | \
kolourpaint | \
- libkcompactdisc | \
signon-kwallet-extension)
RDEPEND+=" !${CATEGORY}/${PN}:5" ;;
*) ;;
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 246137e78431ea54ed9f96036dc46d9dbeba3965
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Dec 19 14:49:26 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Fri Dec 19 15:20:06 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=246137e7
plasma.kde.org: Drop _PSLOT, there are no Plasma 5 remnants left
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/plasma.kde.org.eclass | 44
1 file changed, 16 insertions(+), 28 deletions(-)
diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass
index bbcc677a83..0a9c5a746a 100644
--- a/eclass/plasma.kde.org.eclass
+++ b/eclass/plasma.kde.org.eclass
@@ -38,16 +38,6 @@ readonly KDE_CATV
# For proper description see kde.org.eclass manpage.
KDE_PV_UNRELEASED=( )
-# @ECLASS_VARIABLE: _PSLOT
-# @INTERNAL
-# @DESCRIPTION:
-# KDE Plasma major version mapping, implied by package version. This is being
-# used throughout the eclass as a switch between Plasma 5 and 6 packages.
-_PSLOT=6
-if $(ver_test -lt 5.27.50); then
- _PSLOT=5
-fi
-
inherit kde.org
HOMEPAGE="https://kde.org/plasma-desktop";
@@ -56,7 +46,7 @@ HOMEPAGE="https://kde.org/plasma-desktop";
# @INTERNAL
# @DESCRIPTION:
# For proper description see kde.org.eclass manpage.
-KDE_ORG_SCHEDULE_URI+="/Plasma_${_PSLOT}"
+KDE_ORG_SCHEDULE_URI+="/Plasma_6"
# @ECLASS_VARIABLE: _KDE_SRC_URI
# @INTERNAL
@@ -80,22 +70,20 @@ elif [[ -z ${KDE_ORG_COMMIT} ]]; then
SRC_URI="${_KDE_SRC_URI}${KDE_ORG_TAR_PN}-${PV}.tar.xz"
fi
-if [[ ${_PSLOT} == 6 ]]; then
- case ${PN} in
- breeze | \
- kglobalacceld | \
- kwayland | \
- kwayland-integration | \
- libplasma | \
- ocean-sound-theme | \
- oxygen | \
- plasma-activities | \
- plasma-activities-stats | \
- plasma-integration | \
- plasma5support | \
- print-manager) ;;
- *) RDEPEND+=" !kde-plasma/${PN}:5" ;;
- esac
-fi
+case ${PN} in
+ breeze | \
+ kglobalacceld | \
+ kwayland | \
+ kwayland-integration | \
+ libplasma | \
+ ocean-sound-theme | \
+ oxygen | \
+ plasma-activities | \
+ plasma-activities-stats | \
+ plasma-integration | \
+ plasma5support | \
+ print-manager) ;;
+ *) RDEPEND+=" !kde-plasma/${PN}:5" ;;
+esac
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 70e2fe09d478d46e44a56dd451650efdb62389ac Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:37 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Dec 19 15:20:05 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=70e2fe09 frameworks.kde.org.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index fae6b5a4fe..ec69a2b508 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -4,7 +4,7 @@ # @ECLASS: frameworks.kde.org.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 8 +# @SUPPORTED_EAPIS: 8 9 # @PROVIDES: kde.org # @BLURB: Support eclass for KDE Frameworks packages. # @DESCRIPTION: @@ -17,14 +17,14 @@ # variables and helper functions (not phase functions) may be considered as # part of this eclass's API. +if [[ -z ${_FRAMEWORKS_KDE_ORG_ECLASS} ]]; then +_FRAMEWORKS_KDE_ORG_ECLASS=1 + case ${EAPI} in - 8) ;; + 8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_FRAMEWORKS_KDE_ORG_ECLASS} ]]; then -_FRAMEWORKS_KDE_ORG_ECLASS=1 - # @ECLASS_VARIABLE: KDE_CATV # @DESCRIPTION: # Holds main Frameworks release number (major.minor) for use on same-category
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0563077dbd2bad4e52ee02fe9457d39e2842be27 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:38 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Dec 19 15:20:05 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0563077d gear.kde.org.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index a9654557be..0bf17c2105 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -4,7 +4,7 @@ # @ECLASS: gear.kde.org.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 8 +# @SUPPORTED_EAPIS: 8 9 # @PROVIDES: kde.org # @BLURB: Support eclass for KDE Gear packages. # @DESCRIPTION: @@ -17,14 +17,14 @@ # variables and helper functions (not phase functions) may be considered as # part of this eclass's API. +if [[ -z ${_GEAR_KDE_ORG_ECLASS} ]]; then +_GEAR_KDE_ORG_ECLASS=1 + case ${EAPI} in - 8) ;; + 8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_GEAR_KDE_ORG_ECLASS} ]]; then -_GEAR_KDE_ORG_ECLASS=1 - # @ECLASS_VARIABLE: KDE_PV_UNRELEASED # @INTERNAL # @DESCRIPTION:
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 5d2ca680299ef75633443e714660793202cf9b51 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:30:01 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Dec 19 15:20:06 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=5d2ca680 plasma.kde.org.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 4b21d4f60b..bbcc677a83 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -4,7 +4,7 @@ # @ECLASS: plasma.kde.org.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 8 +# @SUPPORTED_EAPIS: 8 9 # @PROVIDES: kde.org # @BLURB: Support eclass for KDE Plasma packages. # @DESCRIPTION: @@ -17,14 +17,14 @@ # variables and helper functions (not phase functions) may be considered as # part of this eclass's API. +if [[ -z ${_PLASMA_KDE_ORG_ECLASS} ]]; then +_PLASMA_KDE_ORG_ECLASS=1 + case ${EAPI} in - 8) ;; + 8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_PLASMA_KDE_ORG_ECLASS} ]]; then -_PLASMA_KDE_ORG_ECLASS=1 - # @ECLASS_VARIABLE: KDE_CATV # @DESCRIPTION: # Holds main Plasma release number (major.minor.micro) for use on same-category
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 9beb5cd332c2eba275641cb8da8f416bd0b8560e Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:45 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Dec 19 15:20:03 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=9beb5cd3 kde.org.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/kde.org.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass index 31dc727485..d8c867085b 100644 --- a/eclass/kde.org.eclass +++ b/eclass/kde.org.eclass @@ -4,7 +4,7 @@ # @ECLASS: kde.org.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 8 +# @SUPPORTED_EAPIS: 8 9 # @BLURB: Support eclass for packages that are hosted on kde.org infrastructure. # @DESCRIPTION: # This eclass is mainly providing facilities for the three upstream release @@ -15,14 +15,14 @@ # It also contains default meta variables for settings not specific to any # particular build system. +if [[ -z ${_KDE_ORG_ECLASS} ]]; then +_KDE_ORG_ECLASS=1 + case ${EAPI} in - 8) ;; + 8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_KDE_ORG_ECLASS} ]]; then -_KDE_ORG_ECLASS=1 - # @ECLASS_VARIABLE: KDE_BUILD_TYPE # @DESCRIPTION: # If PV matches "**", this is automatically set to "live".
[gentoo-commits] proj/kde:master commit in: eclass/, kde-plasma/breeze/
commit: 1fb077bd8065ce7bbe2932388943c70f77afdf18
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Nov 5 21:56:53 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Nov 18 19:46:40 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=1fb077bd
kde-plasma/breeze: IUSE qt5 got split off into SLOT:5
No IUSE mask makes handling the final cleanup of KF5/Qt5 a bit nicer.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/plasma.kde.org.eclass| 1 +
kde-plasma/breeze/breeze-6.5.49..ebuild | 33 ++---
kde-plasma/breeze/breeze-.ebuild| 33 ++---
3 files changed, 13 insertions(+), 54 deletions(-)
diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass
index dfbaea88b0..9f16c6520b 100644
--- a/eclass/plasma.kde.org.eclass
+++ b/eclass/plasma.kde.org.eclass
@@ -82,6 +82,7 @@ fi
if [[ ${_PSLOT} == 6 ]]; then
case ${PN} in
+ breeze | \
kglobalacceld | \
kwayland | \
kwayland-integration | \
diff --git a/kde-plasma/breeze/breeze-6.5.49..ebuild
b/kde-plasma/breeze/breeze-6.5.49..ebuild
index b0864c0876..acca6756b0 100644
--- a/kde-plasma/breeze/breeze-6.5.49..ebuild
+++ b/kde-plasma/breeze/breeze-6.5.49..ebuild
@@ -3,9 +3,7 @@
EAPI=8
-KF5MIN=5.116.0
KFMIN=6.18.0
-QT5MIN=5.15.17
QTMIN=6.9.1
inherit ecm plasma.kde.org xdg
@@ -15,10 +13,10 @@ HOMEPAGE="https://invent.kde.org/plasma/breeze";
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
KEYWORDS=""
-IUSE="qt5"
+IUSE=""
# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
-RDEPEND="
+DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
>=dev-qt/qtsvg-${QTMIN}:6
@@ -35,36 +33,17 @@ RDEPEND="
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
>=kde-plasma/kdecoration-${KDE_CATV}:6
- qt5? (
- >=dev-qt/qtdbus-${QT5MIN}:5
- >=dev-qt/qtdeclarative-${QT5MIN}:5
- >=dev-qt/qtgui-${QT5MIN}:5
- >=dev-qt/qtwidgets-${QT5MIN}:5
- >=dev-qt/qtx11extras-${QT5MIN}:5
- >=kde-frameworks/frameworkintegration-${KF5MIN}:5
- >=kde-frameworks/kcmutils-${KF5MIN}:5
- >=kde-frameworks/kconfig-${KF5MIN}:5
- >=kde-frameworks/kconfigwidgets-${KF5MIN}:5
- >=kde-frameworks/kcoreaddons-${KF5MIN}:5
- >=kde-frameworks/kguiaddons-${KF5MIN}:5
- >=kde-frameworks/ki18n-${KF5MIN}:5
- >=kde-frameworks/kiconthemes-${KF5MIN}:5
- >=kde-frameworks/kirigami-${KF5MIN}:5
- >=kde-frameworks/kwidgetsaddons-${KF5MIN}:5
- >=kde-frameworks/kwindowsystem-${KF5MIN}:5
- )
"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=kde-frameworks/kcmutils-${KFMIN}:6
- qt5? ( >=kde-frameworks/kcmutils-${KF5MIN}:5 )
+RDEPEND="${DEPEND}
+ !<${CATEGORY}/${PN}-6.5.0:5
"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
PDEPEND=">=kde-frameworks/breeze-icons-${KFMIN}:*"
src_configure() {
local mycmakeargs=(
-DBUILD_QT6=ON
- -DBUILD_QT5=$(usex qt5)
+ -DBUILD_QT5=OFF
)
ecm_src_configure
}
diff --git a/kde-plasma/breeze/breeze-.ebuild
b/kde-plasma/breeze/breeze-.ebuild
index 9c0d32ce60..ff66ae2607 100644
--- a/kde-plasma/breeze/breeze-.ebuild
+++ b/kde-plasma/breeze/breeze-.ebuild
@@ -3,9 +3,7 @@
EAPI=8
-KF5MIN=5.116.0
KFMIN=
-QT5MIN=5.15.17
QTMIN=6.9.1
inherit ecm plasma.kde.org xdg
@@ -15,10 +13,10 @@ HOMEPAGE="https://invent.kde.org/plasma/breeze";
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
KEYWORDS=""
-IUSE="qt5"
+IUSE=""
# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
-RDEPEND="
+DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
>=dev-qt/qtsvg-${QTMIN}:6
@@ -35,36 +33,17 @@ RDEPEND="
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
>=kde-plasma/kdecoration-${KDE_CATV}:6
- qt5? (
- >=dev-qt/qtdbus-${QT5MIN}:5
- >=dev-qt/qtdeclarative-${QT5MIN}:5
- >=dev-qt/qtgui-${QT5MIN}:5
- >=dev-qt/qtwidgets-${QT5MIN}:5
- >=dev-qt/qtx11extras-${QT5MIN}:5
- >=kde-frameworks/frameworkintegration-${KF5MIN}:5
- >=kde-frameworks/kcmutils-${KF5MIN}:5
- >=kde-frameworks/kconfig-${KF5MIN}:5
- >=kde-frameworks/kconfigwidgets-${KF5MIN}:5
- >=kde-frameworks/kcoreaddons-${KF5MIN}:5
- >=kde-frameworks/kguiaddons-${KF5MIN}:5
- >=kde-frameworks/ki18n-${KF5MIN}:5
- >=kde-frameworks/kiconthemes-${KF5MIN}:5
-
[gentoo-commits] proj/kde:master commit in: eclass/
commit: c1132185191d82a0542293acfef0642c3bc1671f
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Nov 8 20:37:14 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Nov 16 15:38:48 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=c1132185
cmake.eclass: Introduce cmake_prepare-per-cmakelists
Override this to be provided with a hook into the cmake_src_prepare loop
over all CMakeLists.txt below CMAKE_USE_DIR. Will be called from inside
that loop with as single argument.
Used for recursive CMakeLists.txt detections and modifications.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 12
1 file changed, 12 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 20a02768c8..6fa083b2ff 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -409,6 +409,17 @@ _cmake_minreqver-info() {
fi
}
+# @FUNCTION: cmake_prepare-per-cmakelists
+# @USAGE:
+# @DESCRIPTION:
+# Override this to be provided with a hook into the cmake_src_prepare loop
+# over all CMakeLists.txt below CMAKE_USE_DIR. Will be called from inside
+# that loop with as single argument.
+# Used for recursive CMakeLists.txt detections and modifications.
+cmake_prepare-per-cmakelists() {
+ return
+}
+
# @FUNCTION: _cmake_modify-cmakelists
# @INTERNAL
# @DESCRIPTION:
@@ -450,6 +461,7 @@ _cmake_modify-cmakelists() {
_CMAKE_MINREQVER_CMAKE316+=(
"${file#"${CMAKE_USE_DIR}/"}":"${ver}" )
fi
fi
+ cmake_prepare-per-cmakelists ${file}
done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0 || die)
# NOTE Append some useful summary here
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 7f971baba135bcc13130926a27209847613c0a5d
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Nov 9 11:05:26 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Nov 16 15:39:05 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=7f971bab
ecm.eclass: Handle ECM_TEST=forceoptional in cmake_prepare-per-cmakelists
- Make ECM_TEST=forceoptional recursive by default
- Leave ECM_TEST=forceoptional-recursive for BUILD_TESTING patch creation
- Unrelated: Drop obsolete extra-cmake-modules condition, it uses cmake.eclass
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 62 ---
1 file changed, 36 insertions(+), 26 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 298a06bdd2..85cbdf9027 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -526,6 +526,30 @@ ecm_pkg_setup() {
}
fi
+# @FUNCTION: cmake_prepare-per-cmakelists
+# @DESCRIPTION:
+# For proper description see cmake.eclass manpage.
+cmake_prepare-per-cmakelists() {
+ debug-print-function ${FUNCNAME} "$@"
+ local cm="$1"
+
+ # only build unit tests when required - forceoptional, also cover
non-kde categories
+ if ! { in_iuse test && use test; } ; then
+ if [[ ${ECM_TEST} == forceoptional ]]; then
+ cmake_comment_add_subdirectory -f "${cm}" appiumtests
autotests test tests
+ elif [[ ${ECM_TEST} == forceoptional-recursive ]] ; then
+ local pf="${T}/${P}"-tests-optional.patch
+ touch ${pf} || die "Failed to touch patch file"
+ cp ${cm} ${cm}.old || die "Failed to prepare patch
origfile"
+ sed -i ${cm} -e \
+ "/^#/!
s/add_subdirectory\s*\(\s*.*\(appium|auto|unit\)\?tests\?\s*)\s*\)/if(BUILD_TESTING)\n&\nendif()/I"
\
+ || die
+ diff -Naur ${cm}.old ${cm} 1>>${pf}
+ rm ${cm}.old || die "Failed to clean up"
+ fi
+ fi
+}
+
# @FUNCTION: ecm_src_prepare
# @DESCRIPTION:
# Wrapper for cmake_src_prepare with lots of extra logic for magic
@@ -575,39 +599,25 @@ ecm_src_prepare() {
# only build unit tests when required
if ! { in_iuse test && use test; } ; then
- if [[ ${ECM_TEST} = forceoptional ]] ; then
- [[ ${_KFSLOT} = 5 ]] && ecm_punt_qt_module Test
- # if forceoptional, also cover non-kde categories
- cmake_comment_add_subdirectory appiumtests autotests
test tests
- elif [[ ${ECM_TEST} = forceoptional-recursive ]] ; then
- [[ ${_KFSLOT} = 5 ]] && ecm_punt_qt_module Test
- local f pf="${T}/${P}"-tests-optional.patch
- touch ${pf} || die "Failed to touch patch file"
- for f in $(find . -type f -name "CMakeLists.txt" -exec \
- grep -li
"^\s*add_subdirectory\s*\(\s*.*\(auto|unit\)\?tests\?\s*)\s*\)" {} \;); do
- cp ${f} ${f}.old || die "Failed to prepare
patch origfile"
- pushd ${f%/*} > /dev/null || die
- ecm_punt_qt_module Test
- sed -i CMakeLists.txt -e \
- "/^#/!
s/add_subdirectory\s*\(\s*.*\(auto|unit\)\?tests\?\s*)\s*\)/if(BUILD_TESTING)\n&\nendif()/I"
\
- || die
- popd > /dev/null || die
- diff -Naur ${f}.old ${f} 1>>${pf}
- rm ${f}.old || die "Failed to clean up"
- done
- eqawarn "QA Notice: Build system modified by
ECM_TEST=forceoptional-recursive."
- eqawarn "Unified diff file ready for pickup in:"
- eqawarn " ${pf}"
- eqawarn "Push it upstream to make this message go away."
- elif [[ -n ${_KDE_ORG_ECLASS} ]] ; then
+ if [[ ${ECM_TEST} == forceoptional* && ${_KFSLOT} == 5 ]]; then
+ ecm_punt_qt_module Test
+ fi
+ if [[ -n ${_KDE_ORG_ECLASS} && ${ECM_TEST} != forceoptional ]];
then
cmake_comment_add_subdirectory appiumtests autotests
test tests
fi
fi
# in frameworks, tests = manual tests so never build them
- if [[ -n ${_FRAMEWORKS_KDE_ORG_ECLASS} ]] && [[ ${PN} !=
extra-cmake-modules ]]; then
+ if [[ -n ${_FRAMEWORKS_KDE_ORG_ECLASS} ]]; then
cmake_comment_add_subdirectory tests
fi
+
+ if ! { in_iuse test && use test; } && [[ ${ECM_TEST} ==
forceoptional-r
[gentoo-commits] proj/kde:master commit in: eclass/
commit: dda3706e6a267ecabe3fdf940db95d37928f740c Author: Andreas Sturmlechner gentoo org> AuthorDate: Fri Nov 14 17:30:05 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Nov 14 17:30:44 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=dda3706e frameworks.kde.org.eclass: Mark 6.20.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 311e68c68e..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.20.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: cac4ab5c25df356f4c0f75d31995683267223f54
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Nov 11 21:26:51 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Nov 13 20:31:04 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=cac4ab5c
cmake.eclass: Add warning for installed CMake modules w/ <3.10 minimum
These are even more important, as they can break any number of revdeps.
Deduplicate _cmake_minreqver-info() and reuse it from src_install().
Properly fixes 4e35968ea53138d8b2726f8f2b9b1804dc291767.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 127 +---
1 file changed, 62 insertions(+), 65 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index a0fc487df1..20a02768c8 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -321,82 +321,83 @@ _cmake_minreqver-get() {
# @FUNCTION: _cmake_minreqver-info
# @INTERNAL
# @DESCRIPTION:
-# QA Notice and file listings for any CMakeLists.txt file not meeting various
-# minimum standards for cmake_minimum_required.
+# QA Notice and file listings for any CMake file not meeting various minimum
+# standards for cmake_minimum_required. May be called from prepare or install
+# phase, adjusts QA notice accordingly (build or installed files warning).
_cmake_minreqver-info() {
local warnlvl
- [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && warnlvl=305
- [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]] || [[ ${warnlvl} ]] &&
warnlvl=310
+ [[ ${#_CMAKE_MINREQVER_CMAKE305[@]} != 0 ]] && warnlvl=305
+ [[ ${#_CMAKE_MINREQVER_CMAKE310[@]} != 0 ]] || [[ -n ${warnlvl} ]] &&
warnlvl=310
[[ ${CMAKE_ECM_MODE} == true ]] &&
- { [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]] || [[ ${warnlvl} ]];
} && warnlvl=316
+ { [[ ${#_CMAKE_MINREQVER_CMAKE316[@]} != 0 ]] || [[ -n
${warnlvl} ]]; } && warnlvl=316
local weak_qaw="QA Notice: "
minreqver_qanotice() {
+ bug() {
+ case ${1} in
+ 305) echo "951350" ;;
+ 310) echo "964405" ;;
+ 316) echo "964407" ;;
+ esac
+ }
+ minreqver_qanotice_prepare() {
+ case ${1} in
+ 305)
+ eqawarn "${weak_qaw}Compatibility with
CMake < 3.5 has been removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to
build w/o a fix."
+ ;;
+ 310) eqawarn "${weak_qaw}Compatibility with
CMake < 3.10 will be removed in a future release." ;;
+ 316) eqawarn "${weak_qaw}Compatibility w/ CMake
< 3.16 will be removed in future ECM release." ;;
+ esac
+ }
+ minreqver_qanotice_install() {
+ case ${1} in
+ 305)
+ eqawarn "${weak_qaw}Package installs
CMake module(s) incompatible with CMake 4,"
+ eqawarn "breaking any packages relying
on it."
+ ;;
+ 31[06])
+ eqawarn "${weak_qaw}Package installs
CMake module(s) w/ <${1/3/3.} minimum version that will"
+ eqawarn "be unsupported by future
releases and is going to break any packages relying on it."
+ ;;
+ esac
+ }
+ minreqver_qanotice_${EBUILD_PHASE} ${1}
+ eqawarn "See also tracker bug #$(bug ${1}); check existing or
file a new bug for this package."
case ${1} in
- 305)
- eqawarn "${weak_qaw}Compatibility with CMake <
3.5 has been removed from CMake 4,"
- eqawarn "${CATEGORY}/${PN} will fail to build
w/o a fix."
- eqawarn "See also tracker bug #951350; check
existing bug or file a new one for"
- eqawarn "this package, and take it upstream."
- ;;
- 310)
- eqawarn "${weak_qaw}Compatibility with CMake <
3.10 will be removed in a future release."
- eqawarn "If not fixed in upstream's code
repository, we should make sure they are aware."
- eqawarn "See also tracker bug #964405; check
existing or file a new bug for this package."
- ;;
- 316)
- eqawarn "${weak_qaw}Compatibility w/ CMake <
3.16 will
[gentoo-commits] proj/kde:master commit in: eclass/
commit: c0672834974030ccdaa6caf56e8c016feefa9a8b
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Nov 11 22:47:27 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Nov 13 20:30:55 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=c0672834
cmake.eclass: Simplify _cmake_minreqver_check into _cmake_minreqver-get
The original function was convoluted and simply did too much. Make it
reusable by having it do exactly one thing and deal with the results from
the calling function. The refactoring pays for itself by losing 18 lines.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 88 +
1 file changed, 35 insertions(+), 53 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d483d4b324..a0fc487df1 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -130,7 +130,7 @@ fi
# @DEFAULT_UNSET
# @DESCRIPTION:
# Internal array containing : tuples detected by
-# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# _cmake_minreqver-get() for any CMake file with cmake_minimum_required
# version lower than 3.5.
_CMAKE_MINREQVER_CMAKE305=()
@@ -138,7 +138,7 @@ _CMAKE_MINREQVER_CMAKE305=()
# @DEFAULT_UNSET
# @DESCRIPTION:
# Internal array containing : tuples detected by
-# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# _cmake_minreqver-get() for any CMake file with cmake_minimum_required
# version lower than 3.10 (causes CMake warnings as of 4.0) on top of those
# already added to _CMAKE_MINREQVER_CMAKE305.
_CMAKE_MINREQVER_CMAKE310=()
@@ -147,7 +147,7 @@ _CMAKE_MINREQVER_CMAKE310=()
# @DEFAULT_UNSET
# @DESCRIPTION:
# Internal array containing : tuples detected by
-# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# _cmake_minreqver-get() for any CMake file with cmake_minimum_required
# version lower than 3.16 (causes ECM warnings since 5.100), on top of those
# already added to _CMAKE_MINREQVER_CMAKE305 and _CMAKE_MINREQVER_CMAKE310.
_CMAKE_MINREQVER_CMAKE316=()
@@ -302,49 +302,20 @@ _cmake_check_build_dir() {
mkdir -p "${BUILD_DIR}" || die
}
-# @FUNCTION: _cmake_minreqver-check
-# @USAGE: or
+# @FUNCTION: _cmake_minreqver-get
+# @USAGE:
# @INTERNAL
# @DESCRIPTION:
-# Internal function for flagging any deprecated or unsupported
-# cmake_minimum_required version in a given CMake file .
-# If is specified as second arg, only check against that value.
-# Returns 0 if the regex matched (a lower-than-specified version found).
-_cmake_minreqver-check() {
- local ver chk=1
- if [[ "$#" == 2 ]]; then
- local file="${1}"
- local lt_version="${2}"
- elif [[ "$#" == 1 ]]; then
- local file="${1}"
- else
- die "${FUNCNAME[0]} must be passed either one or two arguments"
+# Internal function for extracting cmake_minimum_required version from a
+# given CMake file . Echos minimum version if found.
+_cmake_minreqver-get() {
+ if [[ $# -ne 1 ]]; then
+ die "${FUNCNAME[0]} must be passed exactly one argument"
fi
- ver=$(sed -ne
"/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
- "${file}" 2>/dev/null \
+ local ver=$(sed -ne
"/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
+ "${1}" 2>/dev/null \
)
- if [[ -z ${ver} ]]; then
- return 1 # no cmake_minimum_required found
- fi
- if [[ -n ${lt_version} ]]; then
- chk=$(ver_test "${ver}" -lt "${lt_version}")
- else
- if ver_test "${ver}" -lt "3.5"; then
- _CMAKE_MINREQVER_CMAKE305+=( "${file}":"${ver}" )
- chk=0
- fi
- # we don't want duplicates that were already flagged
- if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.10"; then
- _CMAKE_MINREQVER_CMAKE310+=( "${file}":"${ver}" )
- chk=0
- fi
- # we don't want duplicates that were already flagged
- if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.16"; then
- _CMAKE_MINREQVER_CMAKE316+=( "${file}":"${ver}" )
- chk=0
- fi
- fi
- return ${chk}
+ [[ -n ${ver} ]] && echo ${ver}
}
# @FUNCTION: _cmake_minreqver-info
@@ -389,7 +360,7 @@ _cmake_minreqver-info() {
305)
eqawarn "The following CMakeLists.txt files are
causing errors:"
for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
- eqawarn " ${info#"${CMAKE_USE_DIR}/"}";
+ eqawarn " ${info}";
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 01243361d06bf087535b26afa3c04ce5df24d630
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Nov 11 20:25:28 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Nov 11 20:29:45 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=01243361
cmake.eclass: Improve cmake_comment_add_subdirectory, fix min arg check
Thanks-to: Zurab Kvachadze gmail.com>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 069a332bd9..d483d4b324 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -223,11 +223,11 @@ cmake_run_in() {
cmake_comment_add_subdirectory() {
local d filename="CMakeLists.txt"
if [[ $# -lt 1 ]]; then
- die "${FUNCNAME} must be passed at least one subdirectory name
to comment"
+ die "${FUNCNAME[0]} must be passed at least one subdirectory
name to comment"
fi
case ${1} in
-f)
- if [[ $# -ge 2 ]]; then
+ if [[ $# -ge 3 ]]; then
filename="${2}"
if [[ -d ${filename} ]]; then
filename+="/CMakeLists.txt"
@@ -239,7 +239,7 @@ cmake_comment_add_subdirectory() {
die "${FUNCNAME}: called on
non-existing ${filename}"
fi
else
- die "${FUNCNAME}: bad number of arguments: -f
expected"
+ die "${FUNCNAME[0]}: bad number of arguments:
-f expected"
fi
shift 2
;;
@@ -248,7 +248,7 @@ cmake_comment_add_subdirectory() {
;;
esac
- for d in $@; do
+ for d in "$@"; do
d=${d//\//\\/}
sed -e
"/add_subdirectory[[:space:]]*([[:space:]]*${d}[[:space:]]*)/I s/^/#DONOTBUILD
/" \
-i ${filename} || die "failed to comment
add_subdirectory(${d})"
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 39a29e24c123065dcdcc8abadc346e8fd9de09cd
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Nov 1 12:24:33 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Nov 11 16:16:43 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=39a29e24
cmake.eclass: Wipe default optimization flags unconditionally
Mark CMAKE_BUILD_TYPE=Gentoo as no-op. This was obsolete a long time ago,
the last two ebuilds setting it in ::gentoo were not using it for that
purpose either and were since fixed.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 33 +++--
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 98f10f8d9a..069a332bd9 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -165,6 +165,13 @@ _CMAKE_MINREQVER_CMAKE316=()
# @DESCRIPTION:
# Array of tests that should be skipped when running CTest.
+case ${CMAKE_BUILD_TYPE} in
+ Gentoo)
+ ewarn "\${CMAKE_BUILD_TYPE} \"Gentoo\" is a no-op. Default is
RelWithDebInfo."
+ ;;
+ *) ;;
+esac
+
case ${CMAKE_ECM_MODE} in
auto|true|false) ;;
*)
@@ -676,20 +683,18 @@ cmake_src_configure() {
fi
# Wipe the default optimization flags out of CMake
- if [[ ${CMAKE_BUILD_TYPE} != Gentoo ]]; then
- cat >> ${common_config} <<- _EOF_ || die
- set(CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
- set(CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
- set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING
"")
- set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
- set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
- set(CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} ""
CACHE STRING "")
- set(CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} ""
CACHE STRING "")
- set(CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} ""
CACHE STRING "")
- set(CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} ""
CACHE STRING "")
- set(CMAKE_INSTALL_ALWAYS 1) # see Gentoo-bug 735820
- _EOF_
- fi
+ cat >> ${common_config} <<- _EOF_ || die
+ set(CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING
"")
+ set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING
"")
+ set(CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
+ set(CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
+ set(CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
+ set(CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE
STRING "")
+ set(CMAKE_INSTALL_ALWAYS 1) # see Gentoo-bug 735820
+ _EOF_
# Make the array a local variable since <=portage-2.1.6.x does not
support
# global arrays (see bug #297255). But first make sure it is
initialised.
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 05e860b77eb752ec90b106ee0ceebe92ddb3e38a
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Nov 9 09:38:30 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Nov 11 15:59:53 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=05e860b7
cmake.eclass: cmake_comment_add_subdirectory: optionally accept "-f "
New function description:
Comment out one or more add_subdirectory calls with #DONOTBUILD in
a) a given file path (error out on nonexisting path)
b) a CMakeLists.txt file inside a given directory (ewarn if not found)
c) CMakeLists.txt in current directory (do nothing if not found).
c) is unchanged prior behaviour.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 41 -
1 file changed, 32 insertions(+), 9 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index b853727b47..98f10f8d9a 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -207,21 +207,44 @@ cmake_run_in() {
}
# @FUNCTION: cmake_comment_add_subdirectory
-# @USAGE:
+# @USAGE: [-f ] []
# @DESCRIPTION:
-# Comment out one or more add_subdirectory calls in CMakeLists.txt in the
current directory
+# Comment out one or more add_subdirectory calls with #DONOTBUILD in
+# a) a given file path (error out on nonexisting path)
+# b) a CMakeLists.txt file inside a given directory (ewarn if not found)
+# c) CMakeLists.txt in current directory (do nothing if not found).
cmake_comment_add_subdirectory() {
- if [[ -z ${1} ]]; then
- die "${FUNCNAME[0]} must be passed at least one directory name
to comment"
+ local d filename="CMakeLists.txt"
+ if [[ $# -lt 1 ]]; then
+ die "${FUNCNAME} must be passed at least one subdirectory name
to comment"
fi
+ case ${1} in
+ -f)
+ if [[ $# -ge 2 ]]; then
+ filename="${2}"
+ if [[ -d ${filename} ]]; then
+ filename+="/CMakeLists.txt"
+ if [[ ! -e ${filename} ]]; then
+ ewarn "You've given me nothing
to work with in ${filename}!"
+ return
+ fi
+ elif [[ ! -e ${filename} ]]; then
+ die "${FUNCNAME}: called on
non-existing ${filename}"
+ fi
+ else
+ die "${FUNCNAME}: bad number of arguments: -f
expected"
+ fi
+ shift 2
+ ;;
+ *)
+ [[ -e ${filename} ]] || return
+ ;;
+ esac
- [[ -e "CMakeLists.txt" ]] || return
-
- local d
for d in $@; do
d=${d//\//\\/}
- sed -e
"/add_subdirectory[[:space:]]*([[:space:]]*${d}[[:space:]]*)/I
s/^/#DONOTCOMPILE /" \
- -i CMakeLists.txt || die "failed to comment
add_subdirectory(${d})"
+ sed -e
"/add_subdirectory[[:space:]]*([[:space:]]*${d}[[:space:]]*)/I s/^/#DONOTBUILD
/" \
+ -i ${filename} || die "failed to comment
add_subdirectory(${d})"
done
}
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 2b6a5a8cfcd297e9e740c7730645a61bf001222a Author: Andreas Sturmlechner gentoo org> AuthorDate: Wed Oct 1 19:47:15 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Oct 30 10:26:48 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=2b6a5a8c cmake.eclass: Drop EAPI-7 support Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/cmake.eclass | 107 ++-- 1 file changed, 20 insertions(+), 87 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index d187fc0649..b853727b47 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -10,7 +10,7 @@ # Maciej Mrozowski # (undisclosed contributors) # Original author: Zephyrus ([email protected]) -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 8 # @PROVIDES: ninja-utils # @BLURB: common ebuild functions for cmake-based packages # @DESCRIPTION: @@ -19,10 +19,6 @@ # out-of-source builds (default) and in-source builds. case ${EAPI} in - 7) - ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!" - ewarn "${CATEGORY}/${PF}: Support will be removed on 2025-11-14. Please port to newer EAPI." - ;; 8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -38,16 +34,13 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # Build directory where all cmake processed files should be generated. # For in-source build it's fixed to ${CMAKE_USE_DIR}. # For out-of-source build it can be overridden, by default it uses -# ${CMAKE_USE_DIR}_build (in EAPI-7: ${WORKDIR}/${P}_build). -[[ ${EAPI} == 7 ]] && : "${BUILD_DIR:=${WORKDIR}/${P}_build}" -# EAPI-8: set inside _cmake_check_build_dir +# ${CMAKE_USE_DIR}_build (set inside _cmake_check_build_dir). # @ECLASS_VARIABLE: CMAKE_BINARY # @DESCRIPTION: # Eclass can use different cmake binary than the one provided in by system. : "${CMAKE_BINARY:=cmake}" -[[ ${EAPI} == 7 ]] && : "${CMAKE_BUILD_TYPE:=Gentoo}" # @ECLASS_VARIABLE: CMAKE_BUILD_TYPE # @DESCRIPTION: # Set to override default CMAKE_BUILD_TYPE. Only useful for packages @@ -57,8 +50,6 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # The default is RelWithDebInfo as that is least likely to append undesirable # flags. However, you may still need to sed CMake files or choose a different # build type to achieve desirable results. -# -# In EAPI 7, the default was non-standard build type of Gentoo. : "${CMAKE_BUILD_TYPE:=RelWithDebInfo}" # @ECLASS_VARIABLE: CMAKE_IN_SOURCE_BUILD @@ -79,15 +70,13 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: -# Array of .cmake modules to be removed in ${CMAKE_USE_DIR} (in EAPI-7: ${S}) -# during src_prepare, in order to force packages to use the system version. +# Array of .cmake modules to be removed in ${CMAKE_USE_DIR} during +# src_prepare, in order to force packages to use the system version. # By default, contains "FindBLAS" and "FindLAPACK". # Set to empty to disable removing modules entirely. if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then - if [[ ${EAPI} != 7 ]]; then - [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] || - die "CMAKE_REMOVE_MODULES_LIST must be an array" - fi + [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] || + die "CMAKE_REMOVE_MODULES_LIST must be an array" else if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* && ${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK ) @@ -98,7 +87,7 @@ fi # @DESCRIPTION: # Sets the directory where we are working with cmake, for example when # application uses autotools and only one plugin needs to be done by cmake. -# By default it uses current working directory (in EAPI-7: ${S}). +# By default it uses current working directory. # @ECLASS_VARIABLE: CMAKE_VERBOSE # @USER_VARIABLE @@ -167,9 +156,9 @@ _CMAKE_MINREQVER_CMAKE316=() # @USER_VARIABLE # @DEFAULT_UNSET # @DESCRIPTION: -# After running cmake_src_prepare, sets ${CMAKE_USE_DIR} (in EAPI-7: ${S}) to -# read-only. This is a user flag and should under _no circumstances_ be set in -# the ebuild. Helps in improving QA of build systems that write to source tree. +# After running cmake_src_prepare, sets ${CMAKE_USE_DIR} to read-only. +# This is a user flag and should under _no circumstances_ be set in the +# ebuild. Helps in improving QA of build systems that write to source tree. # @ECLASS_VARIABLE: CMAKE_SKIP_TESTS # @DEFAULT_UNSET @@ -259,13 +248,8 @@ cmake_use_find_package() { # @DESCRIPTION: # Determine using IN or OUT source build _cmake_check_build_dir() { - if [[ ${EAPI} == 7 ]]; then - : "${CMAKE_USE_DIR:=${S}}" - else - # Since EAPI-8 we use current working dire
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 4c5963673a3033979a57c10215257ed4a35751ab
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Thu Oct 30 09:18:54 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Oct 30 10:17:44 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=4c596367
cmake.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index faf9f805ba..d187fc0649 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -19,7 +19,11 @@
# out-of-source builds (default) and in-source builds.
case ${EAPI} in
- 7|8) ;;
+ 7)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated
EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on
2025-11-14. Please port to newer EAPI."
+ ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -549,7 +553,6 @@ cmake_src_prepare() {
chmod -R a-w "${S}"
fi
_CMAKE_PREPARE_HAS_RUN=1
- eqawarn "QA Notice: cmake.eclass will throw unsupported EAPI=7
error after 2025-11-01."
else
default_src_prepare
cmake_prepare
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d43843594b9d8d67e349f7cc54a6911a9bd2067a
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Oct 24 20:12:23 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Oct 30 09:26:33 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d4384359
ecm.eclass: Drop obsolete KF version quirks
ECM_PYTHON_BINDINGS was only used since KF6.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 14 ++
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 45ebb114c7..298a06bdd2 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -113,8 +113,7 @@ fi
# @ECLASS_VARIABLE: ECM_PYTHON_BINDINGS
# @DESCRIPTION:
# Default value is "false", which means do nothing.
-# If set to "off", pass -DBUILD_PYTHON_BINDINGS=OFF to mycmakeargs, and also
-# disable cmake finding Python3, PySide6 and Shiboken6 to make it quiet.
+# If set to "off", pass -DBUILD_PYTHON_BINDINGS=OFF to mycmakeargs.
# No other value is implemented as python bindings are not supported in Gentoo.
: "${ECM_PYTHON_BINDINGS:=false}"
@@ -125,7 +124,9 @@ fi
# If set to "true", add "doc" to IUSE, add the appropriate dependency, let
# -DBUILD_QCH=ON generate and install Qt compressed help files when USE=doc.
# If set to "false", do nothing.
-if [[ ${CATEGORY} = kde-frameworks ]] && ver_test -lt 6.15; then
+if [[ ${CATEGORY} = kde-frameworks && ${_KFSLOT} == 5 ]]; then
+# TODO: Implement KF 6.15 changes how API documentation is built. See also:
+# https://mail.kde.org/pipermail/distributions/2025-June/001595.html
: "${ECM_QTHELP:=true}"
fi
: "${ECM_QTHELP:=false}"
@@ -562,12 +563,12 @@ ecm_src_prepare() {
# limit playing field of locale stripping to kde-*/ categories
if [[ ${CATEGORY} = kde-* ]] ; then
- # TODO: cleanup after KF5 removal and pre-KF-6.16 cleanup:
+ # TODO: cleanup after KF5 removal:
# always install unconditionally for
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0035b2113518fa6f4725189eea916d24f4193d4d
Author: Sam James gentoo org>
AuthorDate: Tue Oct 28 06:37:13 2025 +
Commit: Sam James gentoo org>
CommitDate: Tue Oct 28 06:37:36 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0035b211
ecm.eclass: fix 2 option conversions to cache vars
Bug: https://bugs.gentoo.org/963981
Fixes: f8c7af1b51019f5101457b35ccdd38d52e4cf1bb
Signed-off-by: Sam James gentoo.org>
eclass/ecm.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index c93eb5dd6f..45ebb114c7 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -664,7 +664,7 @@ ecm_src_configure() {
# KDEInstallDirs[56] section
set(KDE_INSTALL_USE_QT_SYS_PATHS ON CACHE BOOL "") # install
mkspecs in same dir as Qt stuff
# move handbook outside of doc dir, bug #667138
- set(KDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" CACHE
PATH "")
+ set(KDE_INSTALL_DOCBUNDLEDIR "${EPREFIX}/usr/share/help" CACHE
PATH "")
set(KDE_INSTALL_INFODIR "${EPREFIX}/usr/share/info" CACHE PATH
"")
set(KDE_INSTALL_LIBDIR $(get_libdir) CACHE PATH "Output
directory for libraries")
set(KDE_INSTALL_MANDIR "${EPREFIX}/usr/share/man" CACHE PATH "")
@@ -673,7 +673,7 @@ ecm_src_configure() {
if [[ ${_KFSLOT} == 6 ]]; then
cat >> ${ecm_config} <<- _EOF_ || die
# TODO: Ask upstream why LIBEXECDIR is set to
EXECROOTDIR/LIBDIR/libexec, bug #928345
- set(KDE_INSTALL_LIBEXECDIR="${EPREFIX}/usr/libexec"
CACHE PATH "")
+ set(KDE_INSTALL_LIBEXECDIR "${EPREFIX}/usr/libexec"
CACHE PATH "")
_EOF_
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: f8c7af1b51019f5101457b35ccdd38d52e4cf1bb
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Oct 24 17:28:12 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Oct 27 18:33:52 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=f8c7af1b
ecm.eclass: Use our own initial-cache file on top of cmake.eclass'
Define KDEInstallDirs variables to fix ECM >=6.19 warnings.
Use the opportunity and cleanup some quirks including ECM_KDEINSTALLDIRS.
Bug: https://bugs.gentoo.org/963981
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 45 ++---
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index e2a8654539..c93eb5dd6f 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -58,12 +58,6 @@ if [[ ${CATEGORY} == kde-frameworks ]]; then
ECM_NONGUI=true
fi
-# @ECLASS_VARIABLE: ECM_KDEINSTALLDIRS
-# @DESCRIPTION:
-# Assume the package is using KDEInstallDirs macro and switch
-# KDE_INSTALL_USE_QT_SYS_PATHS to ON. If set to "false", do nothing.
-: "${ECM_KDEINSTALLDIRS:=true}"
-
# @ECLASS_VARIABLE: ECM_DEBUG
# @DESCRIPTION:
# Add "debug" to IUSE. If !debug, add -DQT_NO_DEBUG to CPPFLAGS. If set to
@@ -659,23 +653,36 @@ ecm_src_configure() {
cmakeargs+=( -DBUILD_QCH=$(usex doc) )
fi
- if [[ ${ECM_KDEINSTALLDIRS} = true ]] ; then
- cmakeargs+=(
- # install mkspecs in the same directory as Qt stuff
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
- # move handbook outside of doc dir, bug 667138
- -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help"
- )
+ # Common ECM configure parameters (invariants)
+ local ecm_config=${BUILD_DIR}/gentoo_ecm_config.cmake
+ cat > ${ecm_config} <<- _EOF_ || die
+ # Gentoo downstream-added ECM options
+ set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "") # bug #835995,
*-disable-qmlplugindump.patch
+ set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "") #
*-disable-appstreamtest.patch
+ set(ECM_DISABLE_GIT ON CACHE BOOL "") #
*-disable-git-commit-hooks.patch
- # bug 928345
- # TODO: Eventually it should be put to upstream as to why
LIBEXECDIR
- # in KDEInstallDirsCommon.cmake is set to
EXECROOTDIR/LIBDIR/libexec
- [[ ${_KFSLOT} == 6 ]] && \
- cmakeargs+=(
-DKDE_INSTALL_LIBEXECDIR="${EPREFIX}/usr/libexec" )
+ # KDEInstallDirs[56] section
+ set(KDE_INSTALL_USE_QT_SYS_PATHS ON CACHE BOOL "") # install
mkspecs in same dir as Qt stuff
+ # move handbook outside of doc dir, bug #667138
+ set(KDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" CACHE
PATH "")
+ set(KDE_INSTALL_INFODIR "${EPREFIX}/usr/share/info" CACHE PATH
"")
+ set(KDE_INSTALL_LIBDIR $(get_libdir) CACHE PATH "Output
directory for libraries")
+ set(KDE_INSTALL_MANDIR "${EPREFIX}/usr/share/man" CACHE PATH "")
+ _EOF_
+
+ if [[ ${_KFSLOT} == 6 ]]; then
+ cat >> ${ecm_config} <<- _EOF_ || die
+ # TODO: Ask upstream why LIBEXECDIR is set to
EXECROOTDIR/LIBDIR/libexec, bug #928345
+ set(KDE_INSTALL_LIBEXECDIR="${EPREFIX}/usr/libexec"
CACHE PATH "")
+ _EOF_
fi
# allow the ebuild to override what we set here
- mycmakeargs=("${cmakeargs[@]}" "${mycmakeargs[@]}")
+ mycmakeargs=(
+ -C "${ecm_config}"
+ "${cmakeargs[@]}"
+ "${mycmakeargs[@]}"
+ )
cmake_src_configure
}
[gentoo-commits] proj/kde:master commit in: eclass/
commit: ec4e2c413583ed40cef7cb1cd13b88f5661774c2
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Thu Oct 23 21:57:36 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Oct 27 18:33:52 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=ec4e2c41
cmake.eclass: Drop ECM related initial-cache vars, moved to ecm.eclass
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 8
1 file changed, 8 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index a4b0e5b4e0..faf9f805ba 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -697,14 +697,6 @@ cmake_src_configure() {
set(CMAKE_LINK_WARNING_AS_ERROR OFF CACHE BOOL "")
_EOF_
- if [[ ${CMAKE_ECM_MODE} == true ]]; then
- cat >> ${common_config} <<- _EOF_ || die
- set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")
- set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "")
- set(ECM_DISABLE_GIT ON CACHE BOOL "")
- _EOF_
- fi
-
# See bug 689410
if [[ "${ARCH}" == riscv ]]; then
echo 'set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX
'"${libdir#lib}"' CACHE STRING "library search suffix" FORCE)' >>
"${common_config}" || die
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 796fc345bf4253e15018f504d9efb3ea310bc6f2 Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Oct 21 11:29:35 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Oct 21 11:29:35 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=796fc345 plasma.kde.org.eclass: Declare 6.5.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 47202dc927..dfbaea88b0 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.5.0 ) +KDE_PV_UNRELEASED=( ) # @ECLASS_VARIABLE: _PSLOT # @INTERNAL
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 4e35968ea53138d8b2726f8f2b9b1804dc291767
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Oct 19 21:45:48 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Oct 19 21:45:48 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=4e35968e
cmake.eclass: _cmake_modify-cmakelists(): Fix _cmake_minreqver-check call
_cmake_minreqver-check may be called from any phase, so path must be
absolute. As a quick fix, push the path mangling into the output function
_cmake_minreqver-info which (currently) is only called from cmake_prepare.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index eba47d2405..f214ec36c2 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -370,20 +370,26 @@ _cmake_minreqver-info() {
case ${1} in
305)
eqawarn "The following CMakeLists.txt files are
causing errors:"
- for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
eqawarn " ${info}"; done
+ for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
+ eqawarn " ${info#"${CMAKE_USE_DIR}/"}";
+ done
eqawarn
;;
310)
if [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]];
then
eqawarn "The following CMakeLists.txt
files are causing warnings:"
- for info in
${_CMAKE_MINREQVER_CMAKE310[*]}; do eqawarn " ${info}"; done
+ for info in
${_CMAKE_MINREQVER_CMAKE310[*]}; do
+ eqawarn "
${info#"${CMAKE_USE_DIR}/"}";
+ done
eqawarn
fi
;;
316)
if [[ ${warnlvl} -ge 316 ]] && [[ -n
${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
eqawarn "The following CMakeLists.txt
files are causing warnings:"
- for info in
${_CMAKE_MINREQVER_CMAKE316[*]}; do eqawarn " ${info}"; done
+ for info in
${_CMAKE_MINREQVER_CMAKE316[*]}; do
+ eqawarn "
${info#"${CMAKE_USE_DIR}/"}";
+ done
eqawarn
fi
;;
@@ -444,7 +450,7 @@ _cmake_modify-cmakelists() {
fi
# Detect unsupported minimum CMake versions unless
CMAKE_QA_COMPAT_SKIP is set
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
- _cmake_minreqver-check "${file#"${CMAKE_USE_DIR}/"}"
+ _cmake_minreqver-check "${file}"
fi
done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0 || die)
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 657dc69cdd68546003b7877321bc1d2db0ddc849
Author: Alfred Wingate protonmail com>
AuthorDate: Sat Jan 25 22:35:42 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Sep 30 21:12:57 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=657dc69c
cmake.eclass: allow nonfatal cmake_src_test
This is already expected in tree via virtx use.
$ qgrep 'virtx cmake_src_test' | wc -l
57
Bug: https://bugs.gentoo.org/961929
Closes: https://github.com/gentoo/gentoo/pull/40307
Signed-off-by: Alfred Wingate protonmail.com>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 230bca97d0..54f9b8918f 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -728,9 +728,9 @@ cmake_src_test() {
eerror "--START TEST
LOG--"
cat "${BUILD_DIR}/Testing/Temporary/LastTest.log"
eerror "--END TEST
LOG"
- die "Tests failed."
+ die -n "Tests failed."
else
- die "Tests failed. When you file a bug, please attach
the following file: \n\t${BUILD_DIR}/Testing/Temporary/LastTest.log"
+ die -n "Tests failed. When you file a bug, please
attach the following file: \n\t${BUILD_DIR}/Testing/Temporary/LastTest.log"
fi
# die might not die due to nonfatal
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 4e7e9cff9f24cb157523934eb56753a2437f8a1e
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Oct 7 17:15:18 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 7 17:24:02 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=4e7e9cff
cmake.eclass: Raise dev-build/cmake minimum to 3.31.9-r1
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 5becf073d7..976352b748 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -157,7 +157,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in
esac
if [[ ${PN} != cmake ]]; then
- BDEPEND+=" >=dev-build/cmake-3.28.5"
+ BDEPEND+=" >=dev-build/cmake-3.31.9-r1"
fi
# @FUNCTION: cmake_run_in
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 5401ce33a07308e687f46dd163fc049f14286d11
Author: Petr Vaněk gentoo org>
AuthorDate: Fri Oct 3 11:54:00 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Oct 5 21:38:12 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=5401ce33
cmake.eclass: Update CMAKE_WARN_UNUSED_CLI default value description
This commit updates the CMAKE_WARN_UNUSED_CLI variable description to
accurately reflect the default value set to "yes".
The CMAKE_WARN_UNUSED_CLI default value was changed to "yes" in
cmake-utils.eclass in commit 3600c714eb86 ("cmake-utils.eclass: enable
CMAKE_WARN_UNUSED_CLI for EAPI 6"), but the description did not reflect
it. This description was later reused in the new cmake.eclass [1]
without reflecting the default value either.
Fixes: 9053737a4e16 ("cmake.eclass: New eclass, EAPI-7 only cleanup of
cmake-utils") [1]
Signed-off-by: Petr Vaněk gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 9339d2401d..6d387b233b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -106,7 +106,8 @@ fi
# @DESCRIPTION:
# Warn about variables that are declared on the command line
# but not used. Might give false-positives.
-# "no" to disable (default) or anything else to enable.
+# "no" to disable or anything else to enable.
+# The default is set to "yes" (enabled).
: "${CMAKE_WARN_UNUSED_CLI:=yes}"
# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 2ce938a9bb5f7ea13e00598930efeb2e10de6f3e
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat Sep 27 19:29:09 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Sep 27 19:29:09 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=2ce938a9
cmake.eclass: Reorder arguments in cmake_src_install cmake_build call
Bug: https://bugs.gentoo.org/963428
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index e5f972c203..51bcb57653 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -706,7 +706,7 @@ cmake_src_test() {
cmake_src_install() {
debug-print-function ${FUNCNAME} "$@"
- DESTDIR="${D}" cmake_build install "$@"
+ DESTDIR="${D}" cmake_build "$@" install
if [[ ${EAPI} == 7 ]]; then
pushd "${S}" > /dev/null || die
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 24eb26d71e799d2ce170a3b7f636c9f506280439
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Sep 28 12:12:34 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Sep 30 21:07:36 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=24eb26d7
cmake.eclass: Provide cmake_prepare() to solve conflicts w/ other eclass
Split out what we need from cmake_src_prepare into new cmake_prepare().
cmake_src_prepare henceforth just calls default_src_prepare(),
then cmake_prepare(). This change was made for >=EAPI-8 only.
Bug: https://bugs.gentoo.org/853805
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 127 ++--
1 file changed, 83 insertions(+), 44 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 51bcb57653..230bca97d0 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -220,6 +220,8 @@ _cmake_check_build_dir() {
if [[ ${EAPI} == 7 ]]; then
: "${CMAKE_USE_DIR:=${S}}"
else
+ # Since EAPI-8 we use current working directory, bug #704524
+ # esp. test with 'special' pkgs like: app-arch/brotli,
net-libs/quiche
: "${CMAKE_USE_DIR:=${PWD}}"
fi
if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then
@@ -311,22 +313,41 @@ _cmake_modify-cmakelists() {
_EOF_
}
-# @FUNCTION: cmake_src_prepare
+# @FUNCTION: _cmake4_callout
+# @INTERNAL
# @DESCRIPTION:
-# Apply ebuild and user patches. *MUST* be run or cmake_src_configure will
fail.
-cmake_src_prepare() {
+# QA notice printout for build systems unsupported w/ CMake-4.
+_cmake4_callout() {
+ if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
+ eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
+ eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
+ eqawarn "this package, and take it upstream."
+ if has_version -b ">=dev-build/cmake-4"; then
+ eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ eqawarn "This is merely a workaround and *not* a
permanent fix."
+ fi
+ if [[ ${EAPI} == 7 ]]; then
+ eqawarn "QA Notice: EAPI=7 detected; this package is
now a prime last-rites target."
+ fi
+ fi
+}
+
+# @FUNCTION: cmake_prepare
+# @DESCRIPTION:
+# Check existence of and sanitise CMake files, then make ${CMAKE_USE_DIR}
+# read-only. *MUST* be run or cmake_src_configure will fail. EAPI-8 only.
+cmake_prepare() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${EAPI} == 7 ]]; then
- pushd "${S}" > /dev/null || die # workaround from cmake-utils
- # in EAPI-8, we use current working directory instead, bug
#704524
- # esp. test with 'special' pkgs like: app-arch/brotli,
media-gfx/gmic, net-libs/quiche
+ eerror "${FUNCNAME} is EAPI-8 only. Call cmake_src_prepare
instead."
+ die "FATAL: Forbidden function call."
fi
- _cmake_check_build_dir
- default_src_prepare
+ _cmake_check_build_dir
- # check if CMakeLists.txt exists and if not then die
+ # Check if CMakeLists.txt exists and if not then die
if [[ ! -e ${CMAKE_USE_DIR}/CMakeLists.txt ]] ; then
eerror "Unable to locate CMakeLists.txt under:"
eerror "\"${CMAKE_USE_DIR}/CMakeLists.txt\""
@@ -334,54 +355,67 @@ cmake_src_prepare() {
die "FATAL: Unable to find CMakeLists.txt"
fi
- local modules_list
- if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) !=
"declare -a"* ]]; then
- modules_list=( ${CMAKE_REMOVE_MODULES_LIST} )
- else
- modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" )
- fi
+ local modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" )
local name
for name in "${modules_list[@]}" ; do
- if [[ ${EAPI} == 7 ]]; then
- find "${S}" -name "${name}.cmake" -exec rm -v {} + ||
die
- else
- find -name "${name}.cmake" -exec rm -v {} + || die
- fi
+ find -name "${name}.cmake" -exec rm -v {} + || die
done
# Remove dangerous things.
_cmake_modify-cmakelists
+ _cmake4_callout
- if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
- eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
- eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
- eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
- eqawarn "this package, and take it upstr
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3e44ffd14411f5d336be9ed0e223d11af3af923b
Author: Sam James gentoo org>
AuthorDate: Thu Oct 9 21:55:50 2025 +
Commit: Sam James gentoo org>
CommitDate: Thu Oct 9 21:55:52 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3e44ffd1
cmake.eclass: set -DCMAKE_LINK_WARNING_AS_ERROR=OFF
As we already do for compiler -Werror.
Bug: https://bugs.gentoo.org/963830
Signed-off-by: Sam James gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 976352b748..a6cc3d9bd3 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -554,6 +554,7 @@ cmake_src_configure() {
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "")
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
+ set(CMAKE_LINK_WARNING_AS_ERROR OFF CACHE BOOL "")
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 417a78d6fd0219f0fc85426a1bb981bdc4e4442e
Author: Sam James gentoo org>
AuthorDate: Sun Oct 5 20:34:28 2025 +
Commit: Sam James gentoo org>
CommitDate: Sun Oct 5 20:35:01 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=417a78d6
cmake.eclass: disable automagic LTO
Pass -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF to avoid automagically
enabling LTO if the compiler supports it.
Note that unlike what we do w/ meson.eclass, we can't do some magic
with `tc-is-lto` here because CMake doesn't allow refining the parallelism
used. But that's fine.
This change still allows using LTO via *FLAGS which is what we tell
people to do.
Bug: https://bugs.gentoo.org/927157
Signed-off-by: Sam James gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 57334ae29c..9339d2401d 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -550,6 +550,7 @@ cmake_src_configure() {
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
+ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "")
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
_EOF_
[gentoo-commits] proj/kde:master commit in: eclass/
commit: c585d3e8e81e7ec338ae004e90bfe4d39b874881
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Thu Oct 16 19:42:40 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Oct 16 19:42:40 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=c585d3e8
cmake.eclass: Add bug tracker info to CMake minreqver warnings
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 5ce56bc461..eba47d2405 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -353,10 +353,12 @@ _cmake_minreqver-info() {
310)
eqawarn "${weak_qaw}Compatibility with CMake <
3.10 will be removed in a future release."
eqawarn "If not fixed in upstream's code
repository, we should make sure they are aware."
+ eqawarn "See also tracker bug #964405; check
existing or file a new bug for this package."
;;
316)
eqawarn "${weak_qaw}Compatibility w/ CMake <
3.16 will be removed in future ECM release."
eqawarn "If not fixed in upstream's code
repository, we should make sure they are aware."
+ eqawarn "See also tracker bug #964407; check
existing or file a new bug for this package."
;;
esac
eqawarn
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 584bf0280f7d4f8f33b1bf4e9ab52dd8b0831378
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Oct 12 21:06:22 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 21:55:04 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=584bf028
cmake.eclass: _cmake_minreqver-lt() -> _cmake_minreqver-check()
- Prepare for future cmake_minimum_version checks
- Function now optionally takes one or two args:
: runs all version checks over
: only checks against
- _CMAKE_MINREQVER_UNSUPPORTED is gone
- _CMAKE_MINREQVER_CMAKE305 is empty (package "passed") or contains a list
of : tuples
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 52 +++-
1 file changed, 35 insertions(+), 17 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 8fdd585381..cf9c72e9af 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -124,11 +124,13 @@ fi
# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
# false positives (e.g. unused outdated bundled libs).
-# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED
+# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE305
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Internal status set by _cmake_minreqver-lt(); is true if an unsupported
-# cmake_minimum_required value was detected.
+# Internal array containing : tuples detected by
+# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# version lower than 3.5.
+_CMAKE_MINREQVER_CMAKE305=()
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
@@ -247,21 +249,37 @@ _cmake_check_build_dir() {
mkdir -p "${BUILD_DIR}" || die
}
-# @FUNCTION: _cmake_minreqver-lt
-# @USAGE:
+# @FUNCTION: _cmake_minreqver-check
+# @USAGE: or
# @INTERNAL
# @DESCRIPTION:
-# Internal function for detecting occurrence of lower-than-specified
-# in cmake_minimum_required of a given CMake file .
+# Internal function for flagging any deprecated or unsupported
+# cmake_minimum_required version in a given CMake file .
+# If is specified as second arg, only check against that value.
# Returns 0 if the regex matched (a lower-than-specified version found).
-_cmake_minreqver-lt() {
+_cmake_minreqver-check() {
local ver chk=1
+ if [[ "$#" == 2 ]]; then
+ local file="${1}"
+ local lt_version="${2}"
+ elif [[ "$#" == 1 ]]; then
+ local file="${1}"
+ else
+ die "${FUNCNAME[0]} must be passed either one or two arguments"
+ fi
ver=$(sed -ne
"/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
- "${2}" 2>/dev/null \
+ "${file}" 2>/dev/null \
)
- if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then
- _CMAKE_MINREQVER_UNSUPPORTED=true
- chk=0
+ if [[ -z ${ver} ]]; then
+ return 1 # no cmake_minimum_required found
+ fi
+ if [[ -n ${lt_version} ]]; then
+ chk=$(ver_test "${ver}" -lt "${lt_version}")
+ else
+ if ver_test "${ver}" -lt "3.5"; then
+ _CMAKE_MINREQVER_CMAKE305+=( "${file}":"${ver}" )
+ chk=0
+ fi
fi
return ${chk}
}
@@ -293,8 +311,8 @@ _cmake_modify-cmakelists() {
done
fi
# Detect unsupported minimum CMake versions unless
CMAKE_QA_COMPAT_SKIP is set
- if [[ -z ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && ! [[
${CMAKE_QA_COMPAT_SKIP} ]]; then
- _cmake_minreqver-lt "3.5" "${file}"
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
+ _cmake_minreqver-check "${file#"${CMAKE_USE_DIR}/"}"
fi
done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0 || die)
@@ -319,7 +337,7 @@ _cmake_modify-cmakelists() {
# @DESCRIPTION:
# QA notice printout for build systems unsupported w/ CMake-4.
_cmake4_callout() {
- if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
@@ -637,7 +655,7 @@ cmake_src_configure() {
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
fi
- if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && has_version -b
">=dev-build/cmake-4"; then
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && has_version -b
">=dev-build/cmake-4"; then
cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
fi
@@ -765,7 +783,7 @@ cmake_src_install() {
while read -d '' -r file ; do
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 6115e4d819a27949f3d2faff742d9ad1990d15dd
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Oct 15 14:46:43 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Oct 15 14:51:19 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=6115e4d8
ecm-common.eclass: Raise CMake minimum to 3.31
Aligns with cmake.eclass minimum.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm-common.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index 37243817a7..3e96ebc9f5 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -181,7 +181,7 @@ fi
# Create a CMakeLists.txt file with minimum ECM setup.
_ecm-common_preamble() {
cat > CMakeLists.txt <<- _EOF_ || die
- cmake_minimum_required(VERSION 3.16)
+ cmake_minimum_required(VERSION 3.31)
project(${PN} VERSION ${PV})
find_package(ECM "${KFMIN}" REQUIRED NO_MODULE)
[gentoo-commits] proj/kde:master commit in: eclass/
commit: bc4d5d0944cb44e5d6de4a7af34ff5cd6ea3a53f
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Oct 12 21:34:57 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 22:03:20 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=bc4d5d09
cmake.eclass: Check and warn about <3.10 CMake minimum versions
- _cmake_minreqver-check():
Results are stored in new _CMAKE_MINREQVER_CMAKE310 array.
- _cmake_minreqver-info():
Dump _CMAKE_MINREQVER_CMAKE310 array as eqawarn
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 77ba1ccfac..dfa59bf06f 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -132,6 +132,15 @@ fi
# version lower than 3.5.
_CMAKE_MINREQVER_CMAKE305=()
+# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE310
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Internal array containing : tuples detected by
+# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# version lower than 3.10 (causes CMake warnings as of 4.0) on top of those
+# already added to _CMAKE_MINREQVER_CMAKE305.
+_CMAKE_MINREQVER_CMAKE310=()
+
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -280,6 +289,11 @@ _cmake_minreqver-check() {
_CMAKE_MINREQVER_CMAKE305+=( "${file}":"${ver}" )
chk=0
fi
+ # we don't want duplicates that were already flagged
+ if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.10"; then
+ _CMAKE_MINREQVER_CMAKE310+=( "${file}":"${ver}" )
+ chk=0
+ fi
fi
return ${chk}
}
@@ -287,8 +301,13 @@ _cmake_minreqver-check() {
# @FUNCTION: _cmake_minreqver-info
# @INTERNAL
# @DESCRIPTION:
-# QA notice printout for build systems unsupported w/ CMake-4.
+# QA Notice and file listings for any CMakeLists.txt found with
+# cmake_minimum_required versions lower than supported or deprecated by CMake
4.
_cmake_minreqver-info() {
+ if [[ -z ${_CMAKE_MINREQVER_CMAKE305[@]} ]] &&
+ [[ -z ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
+ return
+ fi
local info
if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
@@ -306,7 +325,24 @@ _cmake_minreqver-info() {
eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
eqawarn "there may be new build or runtime bugs as a
result."
fi
+ eqawarn
+ fi
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] ||
+ [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
+ eqawarn "QA Notice: Compatibility with CMake < 3.10 will be
removed in a future release."
+ eqawarn "If not fixed in upstream's code repository, we should
make sure they are aware."
+ eqawarn
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
+ eqawarn "The following CMakeLists.txt files are causing
warnings:"
+ for info in ${_CMAKE_MINREQVER_CMAKE310[*]}; do
+ eqawarn " ${info}"
+ done
+ eqawarn
+ fi
fi
+ eqawarn "An upstreamable patch should take any resulting CMake policy
changes"
+ eqawarn "into account. See also:"
+ eqawarn "
https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html";
}
# @FUNCTION: _cmake_modify-cmakelists
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3c09fa4c55e4f2b0493fca5622c23857b4a6a281
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Oct 13 20:21:49 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 22:06:11 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3c09fa4c
ecm.eclass: Set CMAKE_ECM_MODE=true pre-inheriting cmake
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 5 +
1 file changed, 5 insertions(+)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 1cc71bcbef..e2a8654539 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -29,6 +29,11 @@ esac
if [[ -z ${_ECM_ECLASS} ]]; then
_ECM_ECLASS=1
+# @ECLASS_VARIABLE: CMAKE_ECM_MODE
+# @DESCRIPTION:
+# For proper description see cmake.eclass manpage.
+CMAKE_ECM_MODE=true
+
inherit cmake flag-o-matic
if [[ ${EAPI} == 8 ]]; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 1bbfb06f49714ef2eac2f25d2354dd40e00be703
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Oct 12 21:17:28 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 21:58:19 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=1bbfb06f
cmake.eclass: cmake4_callout() -> _cmake_minreqver-info()
- Dump _CMAKE_MINREQVER_CMAKE305 array as eqawarn message
- CMake 4 workaround warning resharpening
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 46 +++---
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index cf9c72e9af..01954d972f 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -284,6 +284,31 @@ _cmake_minreqver-check() {
return ${chk}
}
+# @FUNCTION: _cmake_minreqver-info
+# @INTERNAL
+# @DESCRIPTION:
+# QA notice printout for build systems unsupported w/ CMake-4.
+_cmake_minreqver-info() {
+ local info
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
+ eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
+ eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
+ eqawarn "this package, and take it upstream."
+ eqawarn
+ eqawarn "The following CMakeLists.txt files are causing errors:"
+ for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
+ eqawarn " ${info}"
+ done
+ eqawarn
+ if has_version -b ">=dev-build/cmake-4"; then
+ eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
+ eqawarn "there may be new build or runtime bugs as a
result."
+ fi
+ fi
+}
+
# @FUNCTION: _cmake_modify-cmakelists
# @INTERNAL
# @DESCRIPTION:
@@ -332,23 +357,6 @@ _cmake_modify-cmakelists() {
_EOF_
}
-# @FUNCTION: _cmake4_callout
-# @INTERNAL
-# @DESCRIPTION:
-# QA notice printout for build systems unsupported w/ CMake-4.
-_cmake4_callout() {
- if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
- eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
- eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
- eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
- eqawarn "this package, and take it upstream."
- if has_version -b ">=dev-build/cmake-4"; then
- eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
- eqawarn "This is merely a workaround and *not* a
permanent fix."
- fi
- fi
-}
-
# @FUNCTION: cmake_prepare
# @DESCRIPTION:
# Check existence of and sanitise CMake files, then make ${CMAKE_USE_DIR}
@@ -380,7 +388,7 @@ cmake_prepare() {
# Remove dangerous things.
_cmake_modify-cmakelists
- _cmake4_callout
+ _cmake_minreqver-info
# Make ${CMAKE_USE_DIR} read-only in order to detect broken build
systems
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]];
then
@@ -421,7 +429,7 @@ cmake_src_prepare() {
find "${S}" -name "${name}.cmake" -exec rm -v
{} + || die
done
_cmake_modify-cmakelists # Remove dangerous things.
- _cmake4_callout
+ _cmake_minreqver-info
popd > /dev/null || die
# Make ${S} read-only in order to detect broken build systems
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && !
${CMAKE_IN_SOURCE_BUILD} ]]; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: f68abd232109351587b983e7962a6c864aa0721b
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Oct 5 19:54:43 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Oct 5 21:38:19 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=f68abd23
cmake.eclass: Raise minimum dev-build/cmake version to 3.28.5
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 6d387b233b..5becf073d7 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -157,7 +157,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in
esac
if [[ ${PN} != cmake ]]; then
- BDEPEND+=" >=dev-build/cmake-3.20.5"
+ BDEPEND+=" >=dev-build/cmake-3.28.5"
fi
# @FUNCTION: cmake_run_in
[gentoo-commits] proj/kde:master commit in: eclass/
commit: e0b61b46f7124b3804aad58c57974fae615f4693
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Oct 15 19:25:44 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Oct 15 19:56:52 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=e0b61b46
cmake.eclass: Tweak _cmake_minreqver-info() some more
Move "CMake 4 detected" message around, with bigger file listings,
and logically, it is better placed at the end, before the upstream
policy changes research link.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 45 -
1 file changed, 28 insertions(+), 17 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 72212d0fd9..5ce56bc461 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -363,37 +363,48 @@ _cmake_minreqver-info() {
weak_qaw="" # weak notice: no "QA Notice" starting with second
call
}
+ local info
minreqver_listing() {
- local info
- eqawarn "${2}"
case ${1} in
- 305) for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
eqawarn " ${info}"; done ;;
- 310) for info in ${_CMAKE_MINREQVER_CMAKE310[*]}; do
eqawarn " ${info}"; done ;;
- 316) for info in ${_CMAKE_MINREQVER_CMAKE316[*]}; do
eqawarn " ${info}"; done ;;
+ 305)
+ eqawarn "The following CMakeLists.txt files are
causing errors:"
+ for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
eqawarn " ${info}"; done
+ eqawarn
+ ;;
+ 310)
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]];
then
+ eqawarn "The following CMakeLists.txt
files are causing warnings:"
+ for info in
${_CMAKE_MINREQVER_CMAKE310[*]}; do eqawarn " ${info}"; done
+ eqawarn
+ fi
+ ;;
+ 316)
+ if [[ ${warnlvl} -ge 316 ]] && [[ -n
${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
+ eqawarn "The following CMakeLists.txt
files are causing warnings:"
+ for info in
${_CMAKE_MINREQVER_CMAKE316[*]}; do eqawarn " ${info}"; done
+ eqawarn
+ fi
+ ;;
esac
- eqawarn
}
# CMake 4-caused error is highest priority and must always be shown
if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
minreqver_qanotice 305
- minreqver_listing 305 "The following CMakeLists.txt files are
causing errors:"
- if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]] && has_version -b
">=dev-build/cmake-4"; then
- eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
- eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
- eqawarn "there may be new build or runtime bugs as a
result."
- fi
- eqawarn
+ minreqver_listing 305
fi
# for warnings, we only want the latest relevant one, but list all
flagged files
if [[ ${warnlvl} -ge 310 ]]; then
minreqver_qanotice ${warnlvl}
- [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]] &&
- minreqver_listing 310 "The following CMakeLists.txt
files are causing warnings:"
- [[ ${warnlvl} -ge 316 ]] && [[ -n
${_CMAKE_MINREQVER_CMAKE316[@]} ]] &&
- minreqver_listing 316 "The following CMakeLists.txt
files are causing warnings:"
+ for info in 310 316; do minreqver_listing ${info}; done
fi
if [[ ${warnlvl} ]]; then
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && has_version -b
">=dev-build/cmake-4"; then
+ eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
+ eqawarn "there may be new build or runtime bugs as a
result."
+ eqawarn
+ fi
eqawarn "An upstreamable patch should take any resulting CMake
policy changes"
eqawarn "into account. See also:"
eqawarn "
https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html";
[gentoo-commits] proj/kde:master commit in: eclass/
commit: a5ba16934e157aa49e248958c55292774871472b
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Oct 13 21:07:55 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 22:01:14 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=a5ba1693
cmake.eclass: No -DCMAKE_POLICY_VERSION_MINIMUM=3.5 w/ CMAKE_QA_COMPAT_SKIP
If QA checks are skipped, then it is counterproductive to hide
resulting errors.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 01954d972f..77ba1ccfac 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -301,7 +301,7 @@ _cmake_minreqver-info() {
eqawarn " ${info}"
done
eqawarn
- if has_version -b ">=dev-build/cmake-4"; then
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]] && has_version -b
">=dev-build/cmake-4"; then
eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
eqawarn "there may be new build or runtime bugs as a
result."
@@ -663,7 +663,9 @@ cmake_src_configure() {
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
fi
- if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && has_version -b
">=dev-build/cmake-4"; then
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]] &&
+ [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] &&
+ has_version -b ">=dev-build/cmake-4"; then
cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: b960cde88dd0639c92c428e906ca4cd0cff839d1
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Oct 13 20:15:45 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 22:06:06 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=b960cde8
cmake.eclass: For ECM, check and warn about <3.16 CMake minimum version
- New variable CMAKE_ECM_MODE (values: auto,true,false)
Also use instead of _ECM_ECLASS check in cmake_src_configure
- _cmake_minreqver-check():
Results are stored in new _CMAKE_MINREQVER_CMAKE316 array.
- _cmake_minreqver-info():
Dump _CMAKE_MINREQVER_CMAKE316 array as eqawarn
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 59 +
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index dfa59bf06f..046136d600 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -110,6 +110,15 @@ fi
# The default is set to "yes" (enabled).
: "${CMAKE_WARN_UNUSED_CLI:=yes}"
+# @ECLASS_VARIABLE: CMAKE_ECM_MODE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Default value is "auto", which means _cmake_modify-cmakelists will make an
+# effort to detect find_package(ECM) in CMakeLists.txt. If set to true, make
+# extra checks and add common config settings related to ECM (KDE Extra CMake
+# Modules). If set to false, do nothing.
+: "${CMAKE_ECM_MODE:=auto}"
+
# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -141,6 +150,15 @@ _CMAKE_MINREQVER_CMAKE305=()
# already added to _CMAKE_MINREQVER_CMAKE305.
_CMAKE_MINREQVER_CMAKE310=()
+# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE316
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Internal array containing : tuples detected by
+# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
+# version lower than 3.16 (causes ECM warnings since 5.100), on top of those
+# already added to _CMAKE_MINREQVER_CMAKE305 and _CMAKE_MINREQVER_CMAKE310.
+_CMAKE_MINREQVER_CMAKE316=()
+
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -154,6 +172,14 @@ _CMAKE_MINREQVER_CMAKE310=()
# @DESCRIPTION:
# Array of tests that should be skipped when running CTest.
+case ${CMAKE_ECM_MODE} in
+ auto|true|false) ;;
+ *)
+ eerror "Unknown value for \${CMAKE_ECM_MODE}"
+ die "Value ${CMAKE_ECM_MODE} is not supported"
+ ;;
+esac
+
case ${CMAKE_MAKEFILE_GENERATOR} in
emake)
BDEPEND="dev-build/make"
@@ -294,6 +320,11 @@ _cmake_minreqver-check() {
_CMAKE_MINREQVER_CMAKE310+=( "${file}":"${ver}" )
chk=0
fi
+ # we don't want duplicates that were already flagged
+ if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.16"; then
+ _CMAKE_MINREQVER_CMAKE316+=( "${file}":"${ver}" )
+ chk=0
+ fi
fi
return ${chk}
}
@@ -301,11 +332,12 @@ _cmake_minreqver-check() {
# @FUNCTION: _cmake_minreqver-info
# @INTERNAL
# @DESCRIPTION:
-# QA Notice and file listings for any CMakeLists.txt found with
-# cmake_minimum_required versions lower than supported or deprecated by CMake
4.
+# QA Notice and file listings for any CMakeLists.txt file not meeting various
+# minimum standards for cmake_minimum_required.
_cmake_minreqver-info() {
if [[ -z ${_CMAKE_MINREQVER_CMAKE305[@]} ]] &&
- [[ -z ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
+ [[ -z ${_CMAKE_MINREQVER_CMAKE310[@]} ]] &&
+ [[ -z ${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
return
fi
local info
@@ -340,6 +372,22 @@ _cmake_minreqver-info() {
eqawarn
fi
fi
+ if [[ ${CMAKE_ECM_MODE} == true ]]; then
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] ||
+ [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]] ||
+ [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
+ eqawarn "QA Notice: Compatibility w/ CMake < 3.16 will
be removed in future ECM release."
+ eqawarn "If not fixed in upstream's code repository, we
should make sure they are aware."
+ eqawarn
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
+ eqawarn "The following CMakeLists.txt files are
causing warnings:"
+ for info in ${_CMAKE_MINREQVER_CMAKE316[*]}; do
+ eqawarn " ${info}"
+ done
+ eqawarn
+ fi
+ fi
+ fi
eqawarn "An upstreamable patch should take any resulting CMake policy
changes"
eqawarn "into account. See also:"
eqaw
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 9e0719e3610832047be3a30f969624937f098329
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Oct 14 20:22:03 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Oct 14 22:06:11 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=9e0719e3
cmake.eclass: _cmake_minreqver-info(): Warn only on highest flagged level
Print "QA Notice" only on first (highest priority) warning, but still show
the relevant message.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 97 -
1 file changed, 52 insertions(+), 45 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 046136d600..72212d0fd9 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -335,23 +335,49 @@ _cmake_minreqver-check() {
# QA Notice and file listings for any CMakeLists.txt file not meeting various
# minimum standards for cmake_minimum_required.
_cmake_minreqver-info() {
- if [[ -z ${_CMAKE_MINREQVER_CMAKE305[@]} ]] &&
- [[ -z ${_CMAKE_MINREQVER_CMAKE310[@]} ]] &&
- [[ -z ${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
- return
- fi
- local info
- if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
- eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
- eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
- eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
- eqawarn "this package, and take it upstream."
+ local warnlvl
+ [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && warnlvl=305
+ [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]] || [[ ${warnlvl} ]] &&
warnlvl=310
+ [[ ${CMAKE_ECM_MODE} == true ]] &&
+ { [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]] || [[ ${warnlvl} ]]
} && warnlvl=316
+
+ local weak_qaw="QA Notice: "
+ minreqver_qanotice() {
+ case ${1} in
+ 305)
+ eqawarn "${weak_qaw}Compatibility with CMake <
3.5 has been removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to build
w/o a fix."
+ eqawarn "See also tracker bug #951350; check
existing bug or file a new one for"
+ eqawarn "this package, and take it upstream."
+ ;;
+ 310)
+ eqawarn "${weak_qaw}Compatibility with CMake <
3.10 will be removed in a future release."
+ eqawarn "If not fixed in upstream's code
repository, we should make sure they are aware."
+ ;;
+ 316)
+ eqawarn "${weak_qaw}Compatibility w/ CMake <
3.16 will be removed in future ECM release."
+ eqawarn "If not fixed in upstream's code
repository, we should make sure they are aware."
+ ;;
+ esac
eqawarn
- eqawarn "The following CMakeLists.txt files are causing errors:"
- for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
- eqawarn " ${info}"
- done
+ weak_qaw="" # weak notice: no "QA Notice" starting with second
call
+ }
+
+ minreqver_listing() {
+ local info
+ eqawarn "${2}"
+ case ${1} in
+ 305) for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
eqawarn " ${info}"; done ;;
+ 310) for info in ${_CMAKE_MINREQVER_CMAKE310[*]}; do
eqawarn " ${info}"; done ;;
+ 316) for info in ${_CMAKE_MINREQVER_CMAKE316[*]}; do
eqawarn " ${info}"; done ;;
+ esac
eqawarn
+ }
+
+ # CMake 4-caused error is highest priority and must always be shown
+ if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
+ minreqver_qanotice 305
+ minreqver_listing 305 "The following CMakeLists.txt files are
causing errors:"
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]] && has_version -b
">=dev-build/cmake-4"; then
eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
eqawarn "This is merely a workaround to avoid CMake
Error and *not* a permanent fix;"
@@ -359,38 +385,19 @@ _cmake_minreqver-info() {
fi
eqawarn
fi
- if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] ||
- [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
- eqawarn "QA Notice: Compatibility with CMake < 3.10 will be
removed in a future release."
- eqawarn "If not fixed in upstream's code repository, we should
make sure they are aware."
-
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0a2aa6eb558c120f88d5ac1e913c53b002ad56d7
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Oct 13 15:44:49 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Oct 13 20:24:44 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0a2aa6eb
cmake.eclass: Set CMAKE_POLICY_DEFAULT_CMP0094=NEW to fix FindPython
See also:
https://cmake.org/cmake/help/latest/policy/CMP0094.html
Bug: https://bugs.gentoo.org/959154
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index a6cc3d9bd3..8fdd585381 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -548,7 +548,8 @@ cmake_src_configure() {
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE
FILEPATH "Gentoo override rules")
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE
PATH "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
- set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
+ set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") #
FindPythonInterp, Gentoo-bug #835799
+ set(CMAKE_POLICY_DEFAULT_CMP0094 NEW CACHE STRING "" ) #
FindPython, Gentoo-bug #959154
set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "")
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d5559a6684be3dc072d8aea1b92a1e4473951179
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Oct 1 15:52:25 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Oct 2 16:23:51 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d5559a66
cmake.eclass: Really warn all EAPI-7 consumers that support will be dropped
... after 2025-11-01.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d62d552abc..57334ae29c 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -327,9 +327,6 @@ _cmake4_callout() {
eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
eqawarn "This is merely a workaround and *not* a
permanent fix."
fi
- if [[ ${EAPI} == 7 ]]; then
- eqawarn "QA Notice: EAPI=7 detected; this package is
now a prime last-rites target."
- fi
fi
}
@@ -412,6 +409,7 @@ cmake_src_prepare() {
chmod -R a-w "${S}"
fi
_CMAKE_PREPARE_HAS_RUN=1
+ eqawarn "QA Notice: cmake.eclass will throw unsupported EAPI=7
error after 2025-11-01."
else
default_src_prepare
cmake_prepare
[gentoo-commits] proj/kde:master commit in: eclass/
commit: ae57eab324d55a4a0a6fb890d8039e53a7a8930a
Author: Paul Zander gmail com>
AuthorDate: Fri Nov 15 18:54:23 2024 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Sep 30 21:12:57 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=ae57eab3
cmake.eclass: fix pms violation
Escape sequences are not allowed for `die`, use eerror instead.
Signed-off-by: Paul Zander gmail.com>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 54f9b8918f..d62d552abc 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -730,7 +730,9 @@ cmake_src_test() {
eerror "--END TEST
LOG"
die -n "Tests failed."
else
- die -n "Tests failed. When you file a bug, please
attach the following file: \n\t${BUILD_DIR}/Testing/Temporary/LastTest.log"
+ eerror "Tests failed. When you file a bug, please
attach the following file:"
+ eerror "\t${BUILD_DIR}/Testing/Temporary/LastTest.log"
+ die -n "Tests failed."
fi
# die might not die due to nonfatal
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0fd1925384f88699600df550520dda5ecfd83116 Author: Andreas Sturmlechner gentoo org> AuthorDate: Fri Sep 12 19:34:49 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Sep 12 19:34:49 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0fd19253 frameworks.kde.org.eclass: Mark 6.18.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 9260597176..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.18.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: ef530bfe2dd5c2e5041c907e62383e5d81c1c05a Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Aug 14 20:41:39 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Aug 14 20:47:13 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=ef530bfe gear.kde.org.eclass: Mark 25.08.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index 95498f835b..a9654557be 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.08.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: a8b42c82cc30047e51a049e7621c88d98063b8eb Author: Andreas Sturmlechner gentoo org> AuthorDate: Sun Aug 10 16:04:49 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Aug 10 16:04:49 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=a8b42c82 frameworks.kde.org.eclass: Mark 6.17.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index b602891d1f..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.17.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 8f00951d7e2259909d3279629fa283f7ffbda3b0 Author: Andreas Sturmlechner gentoo org> AuthorDate: Fri Jul 11 19:05:59 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Jul 11 19:05:59 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=8f00951d frameworks.kde.org.eclass: Mark 6.16 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 970fc66153..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.16.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: a3036578350d572f179465ab8b583edab43b3bb7 Author: Andreas Sturmlechner gentoo org> AuthorDate: Sat Jul 5 18:28:34 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sat Jul 5 18:29:57 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=a3036578 gear.kde.org.eclass: Mark 25.04.3 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index a37637ed5d..004ccde8aa 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.04.3 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 85bb5118021d5338cb1d68bfe15c97b03e44db5f
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Jul 2 17:32:06 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Jul 2 17:33:12 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=85bb5118
ecm.eclass: Move dev-qt/qttools:6[assistant] behind IUSE doc again
Bug: https://bugs.gentoo.org/959142
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index d824004469..97ff18f2b3 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -284,7 +284,7 @@ case ${ECM_QTHELP} in
COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${_KFSLOT} )"
BDEPEND+=" doc? ( >=app-text/doxygen-1.8.13-r1 )"
if [[ ${_KFSLOT} == 6 ]]; then
- BDEPEND+=" dev-qt/qttools:${_KFSLOT}[assistant]"
+ BDEPEND+=" doc? ( dev-qt/qttools:${_KFSLOT}[assistant]
)"
else
BDEPEND+=" doc? ( dev-qt/qthelp:${_KFSLOT} )"
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: dc10c4dfdf523921fcc273e3f4b992cf7b3ea02b
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Jun 22 21:08:48 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Jun 24 15:00:54 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=dc10c4df
cmake.eclass: Avoid false positives by ensuring we find a function call
Otherwise the regex might pick up a query of the resulting version var, e.g.:
> if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
Bug: https://bugs.gentoo.org/958923
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 520ac14eec..e5f972c203 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -253,7 +253,7 @@ _cmake_check_build_dir() {
# Returns 0 if the regex matched (a lower-than-specified version found).
_cmake_minreqver-lt() {
local ver chk=1
- ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
+ ver=$(sed -ne
"/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
"${2}" 2>/dev/null \
)
if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 5d511a17cd853746d2b3e5ddff51f46d6b672e26 Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Jun 17 15:35:47 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Jun 17 18:06:54 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=5d511a17 plasma.kde.org.eclass: Mark 6.4.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 748d979c27..dfbaea88b0 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.4.0 ) +KDE_PV_UNRELEASED=( ) # @ECLASS_VARIABLE: _PSLOT # @INTERNAL
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 800c7c926ab9ba6a1fbde25c6e7b43c5f774517d Author: Andreas Sturmlechner gentoo org> AuthorDate: Sun Jun 15 16:24:57 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Jun 15 16:24:57 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=800c7c92 frameworks.kde.org.eclass: Mark 6.15 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 13ebbc5ef5..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.15.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3ad02c872f5ebaa5903411e81a74670a7f93ab73
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Jun 13 14:42:37 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Jun 14 10:47:42 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3ad02c87
cmake.eclass: mv _CMAKE_MINREQVER_UNSUPPORTED detection to src_prepare
- _cmake_minverreq-lt(): New function for reusability of regex
- Optimise #1: Reuse existing loop over CMakeLists.txt files
- Optimise #2: If _CMAKE_MINREQVER_UNSUPPORTED is already set, then no
further run of _cmake_minverreq-lt is necessary since we currently throw
away the info on affected files
- Relegate "CMake 4 detected; ..." to be a non-QA Notice, it is just an
addendum
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 72 -
1 file changed, 43 insertions(+), 29 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 47f96227d3..0ad1ca821b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -126,7 +126,8 @@ fi
# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Is set to true if an unsupported cmake_minimum_required value was detected.
+# Internal status set by _cmake_minreqver-lt(); is true if an unsupported
+# cmake_minimum_required value was detected.
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
@@ -243,6 +244,25 @@ _cmake_check_build_dir() {
mkdir -p "${BUILD_DIR}" || die
}
+# @FUNCTION: _cmake_minreqver-lt
+# @USAGE:
+# @INTERNAL
+# @DESCRIPTION:
+# Internal function for detecting occurrence of lower-than-specified
+# in cmake_minimum_required of a given CMake file .
+# Returns 0 if the regex matched (a lower-than-specified version found).
+_cmake_minreqver-lt() {
+ local ver chk=1
+ ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
+ "${2}" 2>/dev/null \
+ )
+ if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then
+ _CMAKE_MINREQVER_UNSUPPORTED=true
+ chk=0
+ fi
+ return ${chk}
+}
+
# @FUNCTION: _cmake_modify-cmakelists
# @INTERNAL
# @DESCRIPTION:
@@ -254,9 +274,9 @@ _cmake_modify-cmakelists() {
# Only edit the files once
grep -qs "<<< Gentoo configuration >>>"
"${CMAKE_USE_DIR}"/CMakeLists.txt && return 0
- # Comment out all set ( value)
local file
while read -d '' -r file ; do
+ # Comment out all set (
value)
sed \
-e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE
/g}' \
-e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_\(COLOR_MAKEFILE\|INSTALL_PREFIX\|VERBOSE_MAKEFILE\)[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
@@ -269,7 +289,11 @@ _cmake_modify-cmakelists() {
einfo "${mod_line:22:99}"
done
fi
- done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0)
+ # Detect unsupported minimum CMake versions unless
CMAKE_QA_COMPAT_SKIP is set
+ if [[ -z ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && ! [[
${CMAKE_QA_COMPAT_SKIP} ]]; then
+ _cmake_minreqver-lt "3.5" "${file}"
+ fi
+ done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0 || die)
# NOTE Append some useful summary here
cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die
@@ -329,6 +353,20 @@ cmake_src_prepare() {
# Remove dangerous things.
_cmake_modify-cmakelists
+ if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
+ eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
+ eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
+ eqawarn "this package, and take it upstream."
+ if has_version -b ">=dev-build/cmake-4"; then
+ eqawarn "CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ eqawarn "This is merely a workaround and *not* a
permanent fix."
+ fi
+ if [[ ${EAPI} == 7 ]]; then
+ eqawarn "QA Notice: EAPI=7 detected; this package is
now a prime last-rites target."
+ fi
+ fi
+
if [[ ${EAPI} == 7 ]]; then
popd > /dev/null || die
fi
@@ -377,19 +415,6 @@ cmake_src_configure() {
# Fix xdg collision with sandbox
xdg_environment_reset
- local file ver
- if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
- while read -d '' -r file ; do
- ver=$(sed -ne
"/cm
[gentoo-commits] proj/kde:master commit in: eclass/
commit: e00e9692a9e469bfbc4dc8f099acd88296f24a5d
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Jun 13 15:26:53 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Jun 14 10:47:47 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=e00e9692
cmake.eclass: Avoid none-detection by ensuring match starts w/ digit
Thanks-to: Ionen Wolkens gentoo.org>
Closes: https://bugs.gentoo.org/957990
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 0ad1ca821b..6ff88d48ce 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -253,7 +253,7 @@ _cmake_check_build_dir() {
# Returns 0 if the regex matched (a lower-than-specified version found).
_cmake_minreqver-lt() {
local ver chk=1
- ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
+ ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
"${2}" 2>/dev/null \
)
if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 48ca3646c68b8b6b802bd1f450ad1fa6b5241581
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Jun 13 16:14:00 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sat Jun 14 10:47:47 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=48ca3646
cmake.eclass: Add src_install() check for CMake-4-incompatible modules
See examples:
https://bugs.gentoo.org/953075
https://bugs.gentoo.org/957670
https://bugs.gentoo.org/957671
https://bugs.gentoo.org/957803
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 19 +++
1 file changed, 19 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 6ff88d48ce..520ac14eec 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -717,6 +717,25 @@ cmake_src_install() {
einstalldocs
popd > /dev/null || die
fi
+
+ local file files=()
+ while read -d '' -r file ; do
+ # Detect unsupported minimum CMake versions unless
CMAKE_QA_COMPAT_SKIP is set
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
+ _cmake_minreqver-lt "3.5" "${file}" && files+=(
"${file#"${D}"}" )
+ fi
+ done < <(find "${D}" -type f -iname "*.cmake" -print0 || die)
+ if [[ ${#files[*]} -gt 0 ]]; then
+ eqawarn "QA Notice: Package installs CMake module(s)
incompatible with CMake 4,"
+ eqawarn "breaking any packages relying on it:"
+ eqawarn
+ for file in "${files[@]}"; do
+ eqawarn "${file}"
+ done
+ eqawarn
+ eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
+ eqawarn "this package, and take it upstream."
+ fi
}
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d88d09e64c447e14f072956e45605765cb29268e
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Fri Jun 13 14:28:09 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Fri Jun 13 17:18:14 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d88d09e6
cmake.eclass: Introduce _CMAKE_MINREQVER_UNSUPPORTED
Allows to split detection/eqawarn and applying cmakearg over different
phases.
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index b6d9677008..47f96227d3 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -123,6 +123,11 @@ fi
# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
# false positives (e.g. unused outdated bundled libs).
+# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Is set to true if an unsupported cmake_minimum_required value was detected.
+
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -372,7 +377,7 @@ cmake_src_configure() {
# Fix xdg collision with sandbox
xdg_environment_reset
- local file ver cmreq_isold
+ local file ver
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
while read -d '' -r file ; do
ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
@@ -380,7 +385,7 @@ cmake_src_configure() {
)
if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
- cmreq_isold=true
+ _CMAKE_MINREQVER_UNSUPPORTED=true
fi
done < <(find "${CMAKE_USE_DIR}" -type f -iname
"CMakeLists.txt" -print0)
fi
@@ -566,7 +571,7 @@ cmake_src_configure() {
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
fi
- if [[ ${cmreq_isold} ]]; then
+ if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 9d349ff7f635e777166b16d110afd93debeb6b7c
Author: Sam James gentoo org>
AuthorDate: Fri Jun 6 04:03:56 2025 +
Commit: Sam James gentoo org>
CommitDate: Fri Jun 6 04:03:56 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=9d349ff7
cmake.eclass: quote "${file}" for seds
Otherwise sed may fail (as it can't find the files) on directories/files
with spaces in the path, as is the case in dev-build/cmake itself
where it'll die in src_prepare.
Signed-off-by: Sam James gentoo.org>
eclass/cmake.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 07216f0b9f..b6d9677008 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -255,8 +255,8 @@ _cmake_modify-cmakelists() {
sed \
-e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE
/g}' \
-e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_\(COLOR_MAKEFILE\|INSTALL_PREFIX\|VERBOSE_MAKEFILE\)[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -i ${file} || die "failed to disable hardcoded settings"
- readarray -t mod_lines < <(grep -se "^#_cmake_modify_IGNORE"
${file})
+ -i "${file}" || die "failed to disable hardcoded
settings"
+ readarray -t mod_lines < <(grep -se "^#_cmake_modify_IGNORE"
"${file}")
if [[ ${#mod_lines[*]} -gt 0 ]]; then
einfo "Hardcoded definition(s) removed in
${file/${CMAKE_USE_DIR%\/}\//}:"
local mod_line
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 463593c746232f6c52f5c534b207a5608f3bb8a8 Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Jun 5 16:29:43 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Jun 5 16:29:43 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=463593c7 gear.kde.org.eclass: Mark 25.04.2 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index d08ccdcb22..7784f3e9a5 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.04.2 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: fd83e0781dc2104569963e486fa919c634ff3000
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Jun 4 19:29:56 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Jun 4 19:31:56 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=fd83e078
cmake.eclass: _cmake_modify-cmakelists(): Consolidate the sed
See also:
https://github.com/gentoo/kde/pull/1046#pullrequestreview-2897140501
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index e200b39432..07216f0b9f 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -254,10 +254,8 @@ _cmake_modify-cmakelists() {
while read -d '' -r file ; do
sed \
-e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -i ${file} || die "${LINENO}: failed to disable
hardcoded settings"
+ -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_\(COLOR_MAKEFILE\|INSTALL_PREFIX\|VERBOSE_MAKEFILE\)[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
+ -i ${file} || die "failed to disable hardcoded settings"
readarray -t mod_lines < <(grep -se "^#_cmake_modify_IGNORE"
${file})
if [[ ${#mod_lines[*]} -gt 0 ]]; then
einfo "Hardcoded definition(s) removed in
${file/${CMAKE_USE_DIR%\/}\//}:"
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 214b2fec7c840691b5b6599c07b6f3c3d6c1ff28
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Jun 3 22:50:47 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Jun 4 15:05:29 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=214b2fec
cmake.eclass: Improve _cmake_modify-cmakelists()
50% less find
50% less grep
100% less cut
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 28 +---
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 987c6e4c6e..e200b39432 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -250,17 +250,23 @@ _cmake_modify-cmakelists() {
grep -qs "<<< Gentoo configuration >>>"
"${CMAKE_USE_DIR}"/CMakeLists.txt && return 0
# Comment out all set ( value)
- find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
- -i {} + || die "${LINENO}: failed to disable hardcoded settings"
- local x
- for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l
"^#_cmake_modify_IGNORE" {} +;); do
- einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut
-c $((${#CMAKE_USE_DIR}+2))-):"
- einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)"
- done
+ local file
+ while read -d '' -r file ; do
+ sed \
+ -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE
/g}' \
+ -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
+ -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
+ -e
'/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE
/g}' \
+ -i ${file} || die "${LINENO}: failed to disable
hardcoded settings"
+ readarray -t mod_lines < <(grep -se "^#_cmake_modify_IGNORE"
${file})
+ if [[ ${#mod_lines[*]} -gt 0 ]]; then
+ einfo "Hardcoded definition(s) removed in
${file/${CMAKE_USE_DIR%\/}\//}:"
+ local mod_line
+ for mod_line in "${mod_lines[@]}"; do
+ einfo "${mod_line:22:99}"
+ done
+ fi
+ done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0)
# NOTE Append some useful summary here
cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 85f0580a5ec6bb7297439767b15d52354044c8f8 Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Jun 3 16:32:37 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Jun 3 16:32:37 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=85f0580a gear.kde.org.eclass: Mark 25.04.2 unreleased Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index 9926068ab6..1e88f07842 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( ) +KDE_PV_UNRELEASED=( 25.04.2 ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: e0d3fff42c96b246bf058ad1dce765cca9baa986
Author: Michał Górny gentoo org>
AuthorDate: Sun Dec 1 16:54:08 2024 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jun 2 22:06:19 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=e0d3fff4
cmake.eclass: Use get_makeopts_{jobs,loadavg}
See also: https://github.com/gentoo/gentoo/pull/39544
Signed-off-by: Michał Górny gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 2d78ebccf4..987c6e4c6e 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -651,8 +651,8 @@ cmake_src_test() {
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose
--output-on-failure )
[[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo
"${CMAKE_SKIP_TESTS[*]}")')' )
- set -- ctest -j "${CTEST_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 999)}" \
- --test-load "${CTEST_LOADAVG:-$(makeopts_loadavg)}" \
+ set -- ctest -j "${CTEST_JOBS:-$(get_makeopts_jobs 999)}" \
+ --test-load "${CTEST_LOADAVG:-$(get_makeopts_loadavg)}" \
"${myctestargs[@]}" "$@"
echo "$@" >&2
if "$@" ; then
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 379c70d777b48c796bf8ec54789a3761374b6b02
Author: Michał Górny gentoo org>
AuthorDate: Sun Dec 1 16:50:31 2024 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jun 2 22:06:14 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=379c70d7
cmake.eclass: Permit overriding CTEST_{JOBS,LOADAVG}
Bug: https://bugs.gentoo.org/945081
Signed-off-by: Michał Górny gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 18 --
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index cf6c6355b7..2d78ebccf4 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -625,6 +625,19 @@ cmake_build() {
popd > /dev/null || die
}
+# @ECLASS_VARIABLE: CTEST_JOBS
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Maximum number of CTest jobs to run in parallel. If unset, the value
+# will be determined from make options.
+
+# @ECLASS_VARIABLE: CTEST_LOADAVG
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Maximum load, over which no new jobs will be started by CTest. Note
+# that unlike make, CTest will not start *any* jobs if the load
+# is exceeded. If unset, the value will be determined from make options.
+
# @FUNCTION: cmake_src_test
# @DESCRIPTION:
# Function for testing the package. Automatically detects the build type.
@@ -638,8 +651,9 @@ cmake_src_test() {
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose
--output-on-failure )
[[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo
"${CMAKE_SKIP_TESTS[*]}")')' )
- set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
- --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
+ set -- ctest -j "${CTEST_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 999)}" \
+ --test-load "${CTEST_LOADAVG:-$(makeopts_loadavg)}" \
+ "${myctestargs[@]}" "$@"
echo "$@" >&2
if "$@" ; then
einfo "Tests succeeded."
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 0a64e12e51d3e96d040ac5968b24180972a56aeb
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Jun 2 20:15:24 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Mon Jun 2 20:16:49 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=0a64e12e
cmake.eclass: CMake 4 QA check: Make sed case-insensitive
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 429e9b6ad7..cf6c6355b7 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -371,7 +371,7 @@ cmake_src_configure() {
local file ver cmreq_isold
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
while read -d '' -r file ; do
- ver=$(sed -ne
"/cmake_minimum_required/{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
+ ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
"${file}" 2>/dev/null \
)
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 283705b167f2fb8cfce20275dd8e92a38ba4cf82
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue May 20 22:00:49 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu May 22 15:49:51 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=283705b1
cmake.eclass: CMake 4 QA notice: Use more words
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d4f8cbc284..742496c446 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -566,9 +566,10 @@ cmake_src_configure() {
eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
- eqawarn "this package."
+ eqawarn "this package, and take it upstream."
if has_version -b ">=dev-build/cmake-4"; then
eqawarn "QA Notice: CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ eqawarn "This is merely a workaround and *not* a
permanent fix."
cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
fi
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3a1e2bca73c6d6cedb5485f3ee8863c982a32003
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue May 20 22:06:37 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu May 22 15:49:51 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3a1e2bca
cmake.eclass: EAPI=7: Extra slap on wrist
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 742496c446..429e9b6ad7 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -572,6 +572,9 @@ cmake_src_configure() {
eqawarn "This is merely a workaround and *not* a
permanent fix."
cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
fi
+ if [[ ${EAPI} == 7 ]]; then
+ eqawarn "QA Notice: EAPI=7 detected; this package is
now a prime last-rites target."
+ fi
fi
pushd "${BUILD_DIR}" > /dev/null || die
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 5618916b60871220697c64da6d1cdbe6df158cbd
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed May 21 21:12:50 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed May 21 21:17:38 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=5618916b
cmake.eclass: CMake 4 QA check: Exit after first match
We don't want more than one version for the subsequent ver_test.
Besides, any follow-up cmake_minimum_required call will most likely
be conditional for some type of workarounds.
Thanks-to: Michał Górny gentoo.org>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 5332e84135..d4f8cbc284 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -371,7 +371,7 @@ cmake_src_configure() {
local file ver cmreq_isold
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
while read -d '' -r file ; do
- ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
+ ver=$(sed -ne
"/cmake_minimum_required/{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
"${file}" 2>/dev/null \
)
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 444a993e4b5f74bcad664215b0a4a396c48a5a15
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue May 20 22:36:34 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue May 20 22:36:34 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=444a993e
cmake.eclass: CMake 4 QA check: Apparently, cmake allows double-dots
As a quick fix, for now, don't error out on that.
> ERROR: media-gfx/darktable-5.0.1-r2::gentoo failed (configure phase):
> __eapi7_ver_compare: invalid version: 3.12..16
See also:
> LibRaw-cmake/CMakeLists.txt:cmake_minimum_required(VERSION 3.12..16)
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index f7394a3790..5332e84135 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -371,7 +371,7 @@ cmake_src_configure() {
local file ver cmreq_isold
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
while read -d '' -r file ; do
- ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
+ ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
"${file}" 2>/dev/null \
)
[gentoo-commits] proj/kde:master commit in: eclass/
commit: f339ee5843ba31255239bce871c470cfef590bee
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sat May 17 17:09:31 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue May 20 20:51:45 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=f339ee58
cmake.eclass: Add recursive CMakeLists.txt unsupported version detection
We need to ramp up detection of unsupported CMake build systems with
CMake 4. This will detect CMakeLists.txt files setting insufficient
cmake_minimum_required VERSION level even in project subdirectories,
putting out appropriate eqawarn message about the need to fix ${PN}.
That makes us not rely on tinderbox runs w/ unmasked cmake-4 slowly
being able to build everything up to leaf packages, and also helps
detect insufficient subproject minimums that could otherwise be masked
by USE flag choice.
Bug: https://bugs.gentoo.org/951350
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 18 ++
1 file changed, 18 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 083b566d26..59835b50f4 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -362,6 +362,17 @@ cmake_src_configure() {
# Fix xdg collision with sandbox
xdg_environment_reset
+ local file ver cmreq_isold
+ while read -d '' -r file ; do
+ ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
+ "${file}" 2>/dev/null \
+ )
+
+ if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
+ cmreq_isold=true
+ fi
+ done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0)
+
# Prepare Gentoo override rules (set valid compiler, append CPPFLAGS
etc.)
local build_rules=${BUILD_DIR}/gentoo_rules.cmake
@@ -543,6 +554,13 @@ cmake_src_configure() {
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
fi
+ if [[ ${cmreq_isold} ]]; then
+ eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
+ eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
+ eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
+ eqawarn "this package."
+ fi
+
pushd "${BUILD_DIR}" > /dev/null || die
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: mycmakeargs is
${mycmakeargs_local[*]}"
echo "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}"
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3051b800aa43ec67882a92c1fbdc7d81467f04ec
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon May 19 18:37:02 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue May 20 20:52:09 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3051b800
cmake.eclass: Add CMAKE_QA_COMPAT_SKIP flag to skip compat checks
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 26 +-
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 0eb6c07f9b..f7394a3790 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -117,6 +117,12 @@ fi
# for econf and is needed to pass TRY_RUN results when cross-compiling.
# Should be set by user in a per-package basis in /etc/portage/package.env.
+# @ECLASS_VARIABLE: CMAKE_QA_COMPAT_SKIP
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
+# false positives (e.g. unused outdated bundled libs).
+
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -363,15 +369,17 @@ cmake_src_configure() {
xdg_environment_reset
local file ver cmreq_isold
- while read -d '' -r file ; do
- ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
- "${file}" 2>/dev/null \
- )
-
- if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
- cmreq_isold=true
- fi
- done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt"
-print0)
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
+ while read -d '' -r file ; do
+ ver=$(sed -ne "/cmake_minimum_required/
s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
+ "${file}" 2>/dev/null \
+ )
+
+ if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
+ cmreq_isold=true
+ fi
+ done < <(find "${CMAKE_USE_DIR}" -type f -iname
"CMakeLists.txt" -print0)
+ fi
# Prepare Gentoo override rules (set valid compiler, append CPPFLAGS
etc.)
local build_rules=${BUILD_DIR}/gentoo_rules.cmake
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 431079909b6ffce12da3835adede778dbf07187f
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon May 19 16:36:57 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue May 20 20:51:54 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=43107990
cmake.eclass: If CMake 4 is detected, build w/ compat cmake arg
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/cmake.eclass | 4
1 file changed, 4 insertions(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 59835b50f4..0eb6c07f9b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -559,6 +559,10 @@ cmake_src_configure() {
eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"
eqawarn "this package."
+ if has_version -b ">=dev-build/cmake-4"; then
+ eqawarn "QA Notice: CMake 4 detected; building with
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
+ cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
+ fi
fi
pushd "${BUILD_DIR}" > /dev/null || die
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 75f7052dacbdef5091d495bffd837af2373c881a Author: Andreas Sturmlechner gentoo org> AuthorDate: Sat May 10 06:46:14 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sat May 10 06:46:14 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=75f7052d frameworks.kde.org.eclass: Mark 6.14.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index cf0b423b7a..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.14.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 7a71897180de43a2a52249e74aa30c1ad7f2276e Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu May 8 18:58:07 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu May 8 18:58:07 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=7a718971 gear.kde.org.eclass: Mark 24.05.1 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index 1709488b08..9926068ab6 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 25.04.1 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: d11145099dba64aa020de03768cd1346390687c9
Author: Sam James gentoo org>
AuthorDate: Wed Apr 23 10:11:26 2025 +
Commit: Sam James gentoo org>
CommitDate: Wed Apr 23 15:57:57 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=d1114509
ecm.eclass: use 'QA Notice:' prefix in eqawarn
This makes life easier for tinderboxes, but we should improve this in some
future
EAPI.
Signed-off-by: Sam James gentoo.org>
eclass/ecm.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 52f4288c7a..a5a23587f5 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -498,7 +498,7 @@ if [[ ${EAPI} == 8 ]]; then
# Determine if the current GCC version is acceptable, otherwise die.
_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 "QA Notice: ecm_pkg_${1} has become a no-op."
eqawarn "It is no longer being exported with KFMIN >=6.9.0."
else
[[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] &&
@@ -592,7 +592,7 @@ ecm_src_prepare() {
diff -Naur ${f}.old ${f} 1>>${pf}
rm ${f}.old || die "Failed to clean up"
done
- eqawarn "QA notice: Build system modified by
ECM_TEST=forceoptional-recursive."
+ eqawarn "QA Notice: Build system modified by
ECM_TEST=forceoptional-recursive."
eqawarn "Unified diff file ready for pickup in:"
eqawarn " ${pf}"
eqawarn "Push it upstream to make this message go away."
@@ -780,7 +780,7 @@ if [[ ${EAPI} == 8 ]]; then
# Carryall for ecm_pkg_preinst, ecm_pkg_postinst and ecm_pkg_postrm.
_ecm_nongui_deprecated() {
if ver_test ${KFMIN} -ge 6.9; then
- eqawarn "QA notice: ecm_pkg_${1} has become a no-op."
+ eqawarn "QA Notice: ecm_pkg_${1} has become a no-op."
eqawarn "It is no longer being exported with KFMIN >=6.9.0."
else
case ${ECM_NONGUI} in
[gentoo-commits] proj/kde:master commit in: eclass/
commit: b43118a71269ce510a8874ed58bc7f09c9181e42
Author: Sam James gentoo org>
AuthorDate: Wed Apr 23 10:11:14 2025 +
Commit: Sam James gentoo org>
CommitDate: Wed Apr 23 15:57:53 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=b43118a7
cmake.eclass: use 'QA Notice:' prefix in eqawarn
This makes life easier for tinderboxes, but we should improve this in some
future
EAPI.
Signed-off-by: Sam James gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index f8aff46b3c..083b566d26 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -220,7 +220,7 @@ _cmake_check_build_dir() {
# TODO: For EAPI > 8, we should ban S=WORKDIR for CMake.
# See bug #889420.
if [[ ${S} == "${WORKDIR}" && ${BUILD_DIR} ==
"${WORKDIR}_build" ]] ; then
- eqawarn "QA notice: S=WORKDIR is deprecated for
cmake.eclass."
+ eqawarn "QA Notice: S=WORKDIR is deprecated for
cmake.eclass."
eqawarn "Please relocate the sources in src_unpack."
BUILD_DIR="${WORKDIR}"/${P}_build
fi
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 5516fa9432ff76057636dda8026adf22e09490ca Author: Andreas Sturmlechner gentoo org> AuthorDate: Sat Apr 12 16:59:49 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sat Apr 12 16:59:49 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=5516fa94 frameworks.kde.org.eclass: Mark 6.13.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index e247dfc2a2..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.13.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 9a6b525e7c406af396e1477a3e1e8be1e0c75bab
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Mar 4 16:36:31 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Mar 4 21:06:30 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=9a6b525e
ecm.eclass: Fix missing arguments handover to cmake_src_test
This omission impressively goes back to initial kde overlay commit
8265e71f48675ee84f8c745734ee157cc74cea6a on 2008-08-04.
Bug: https://bugs.gentoo.org/946863
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index c9a2b7ef9c..525e868880 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -695,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
@@ -707,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
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 3a2c84f01de9e03a2be242ef60ba0dae03336ebe
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Tue Mar 4 21:04:30 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Tue Mar 4 21:08:12 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=3a2c84f0
ecm.eclass: ecm_src_install: Pass arguments to cmake_src_install
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 525e868880..52f4288c7a 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -728,7 +728,7 @@ ecm_src_test() {
ecm_src_install() {
debug-print-function ${FUNCNAME} "$@"
- cmake_src_install
+ cmake_src_install "$@"
local f
# bug 621970
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 7651b6e1d796a7c05fd1198ae15f3ac365982e23
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Wed Feb 26 22:01:34 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Wed Feb 26 22:15:18 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=7651b6e1
ecm.eclass: Improve _ecm_punt_kdoctools_install(), ecm_punt_po_install()
Allow for whitespace padding within kdoctools_install and ki18n_install.
Odd that this hasn't come up before.
Closes: https://bugs.gentoo.org/950317
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 1d4b7e97c6..c9a2b7ef9c 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -477,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
}
@@ -487,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
}
[gentoo-commits] proj/kde:master commit in: eclass/
commit: f6f21a3a400b72447b13e6e34688aa17c1c0f7c3 Author: Andreas Sturmlechner gentoo org> AuthorDate: Fri Feb 14 15:23:47 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Feb 14 15:25:00 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=f6f21a3a frameworks.kde.org.eclass: Mark 6.11.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index b05f2395ec..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.11.0 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: bd247905c0497d04f5390306a405af498452bb1b Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Feb 11 17:35:34 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Feb 11 17:35:34 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=bd247905 plasma.kde.org.eclass: Mark 6.3.0 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 37de7ef542..dfbaea88b0 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 6.3.0 ) +KDE_PV_UNRELEASED=( ) # @ECLASS_VARIABLE: _PSLOT # @INTERNAL
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 1b0c4264e29244e0cde5d6eef2d89856df843814 Author: Andreas Sturmlechner gentoo org> AuthorDate: Mon Feb 10 21:32:06 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Mon Feb 10 21:32:06 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=1b0c4264 frameworks.kde.org.eclass: Mark 6.11.0 unreleased Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index fae6b5a4fe..b05f2395ec 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -36,7 +36,7 @@ readonly KDE_CATV # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( ) +KDE_PV_UNRELEASED=( 6.11.0 ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 1dfca3d59fe8089b5e7f8aea763dffa0d7ecf3fd Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Feb 6 17:57:16 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Feb 6 21:41:35 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=1dfca3d5 gear.kde.org.eclass: Mark 24.12.2 as released Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index e44e56e236..ee9e182799 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -29,7 +29,7 @@ _GEAR_KDE_ORG_ECLASS=1 # @INTERNAL # @DESCRIPTION: # For proper description see kde.org.eclass manpage. -KDE_PV_UNRELEASED=( 24.12.2 ) +KDE_PV_UNRELEASED=( ) inherit kde.org
[gentoo-commits] proj/kde:master commit in: eclass/
commit: fe35b2329aa2bc411cb28a2d47261a473d630fe1
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Sun Feb 2 23:37:15 2025 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Feb 2 23:42:36 2025 +
URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=fe35b232
ecm-common.eclass: Drop ecm.eclass derived KFMIN kde-frameworks quirk
It is simply not necessary for the basic functions used, and only leads to
problems with live versions claiming unfulfilled dependencies in
_ecm-common_preamble().
Thanks-to: Alfred Wingate protonmail.com>
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/ecm-common.eclass | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index 7f5d3d1e99..1075982e1d 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ecm-common.eclass
@@ -28,13 +28,9 @@ inherit cmake
# @ECLASS_VARIABLE: KFMIN
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Minimum version of Frameworks to require. Default value for kde-frameworks
-# is ${PV} and 6.0.0 baseline for everything else.
+# Minimum version of Frameworks to require. Default value is 6.0.0.
# If set to <5.240, it is assumed dependencies are fulfilled by KF5/Qt5
# alternatively, thus a block of SLOT=5 shadow dependencies added.
-if [[ ${CATEGORY} = kde-frameworks ]]; then
- : "${KFMIN:=$(ver_cut 1-2)}"
-fi
: "${KFMIN:=6.0.0}"
# @ECLASS_VARIABLE: _KFSLOT
[gentoo-commits] proj/kde:master commit in: eclass/
commit: 666833d05433c61d11fec16431fe216a6fd4614b Author: Andreas Sturmlechner gentoo org> AuthorDate: Sun Feb 2 23:41:25 2025 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Feb 2 23:42:46 2025 + URL:https://gitweb.gentoo.org/proj/kde.git/commit/?id=666833d0 eclass: Say belated happy new year as well Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/cmake.eclass | 2 +- eclass/ecm.eclass| 2 +- eclass/frameworks.kde.org.eclass | 2 +- eclass/gear.kde.org.eclass | 2 +- eclass/kde.org.eclass| 2 +- eclass/plasma.kde.org.eclass | 2 +- eclass/virtualdbus.eclass| 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 73e0adaf30..f8aff46b3c 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.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: cmake.eclass diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index a4cf261e71..1d4b7e97c6 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 diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index d14037de0a..fae6b5a4fe 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.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: frameworks.kde.org.eclass diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index 2c1ae3a967..ee9e182799 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.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: gear.kde.org.eclass diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass index 47a52ef023..31dc727485 100644 --- a/eclass/kde.org.eclass +++ b/eclass/kde.org.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: kde.org.eclass diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index deba21cc7d..dfbaea88b0 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.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: plasma.kde.org.eclass diff --git a/eclass/virtualdbus.eclass b/eclass/virtualdbus.eclass index 3ad4979127..1e04dee751 100644 --- a/eclass/virtualdbus.eclass +++ b/eclass/virtualdbus.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 # Based on virtualx.eclass
