summaryrefslogtreecommitdiff
path: root/eclass
AgeCommit message (Collapse)Author
2025-11-18kde-plasma/plasma-integration: IUSE qt5 got split off into SLOT:5Andreas Sturmlechner
No IUSE mask makes handling the final cleanup of KF5/Qt5 a bit nicer. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-18kde-plasma/oxygen: IUSE qt5 got split off into SLOT:5Andreas Sturmlechner
No IUSE mask makes handling the final cleanup of KF5/Qt5 a bit nicer. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-18kde-plasma/breeze: IUSE qt5 got split off into SLOT:5Andreas Sturmlechner
No IUSE mask makes handling the final cleanup of KF5/Qt5 a bit nicer. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16ecm.eclass: Handle ECM_TEST=forceoptional in cmake_prepare-per-cmakelistsAndreas Sturmlechner
- 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 <asturm@gentoo.org>
2025-11-16cmake.eclass: Introduce cmake_prepare-per-cmakelistsAndreas Sturmlechner
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 <path-to-current-CMakeLists.txt> as single argument. Used for recursive CMakeLists.txt detections and modifications. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-14frameworks.kde.org.eclass: Mark 6.20.0 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-13cmake.eclass: Add warning for installed CMake modules w/ <3.10 minimumAndreas Sturmlechner
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 <asturm@gentoo.org>
2025-11-13cmake.eclass: Simplify _cmake_minreqver_check into _cmake_minreqver-getAndreas Sturmlechner
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 <asturm@gentoo.org>
2025-11-11cmake.eclass: Improve cmake_comment_add_subdirectory, fix min arg checkAndreas Sturmlechner
Thanks-to: Zurab Kvachadze <zurabid2016@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-11cmake.eclass: Wipe default optimization flags unconditionallyAndreas Sturmlechner
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 <asturm@gentoo.org>
2025-11-11cmake.eclass: cmake_comment_add_subdirectory: optionally accept "-f <path>"Andreas Sturmlechner
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 <asturm@gentoo.org>
2025-11-08frameworks.kde.org.eclass: Mark 6.20.0 unreleasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-06gear.kde.org.eclass: Mark 25.08.3 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-04gear.kde.org.eclass: Mark 25.08.3 unreleasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-30cmake.eclass: Drop EAPI-7 supportAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-30cmake.eclass: add global-scope ewarn for deprecated < EAPI 7Andreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-30ecm.eclass: Drop obsolete KF version quirksAndreas Sturmlechner
ECM_PYTHON_BINDINGS was only used since KF6. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-28ecm.eclass: fix 2 option conversions to cache varsSam James
Bug: https://bugs.gentoo.org/963981 Fixes: f8c7af1b51019f5101457b35ccdd38d52e4cf1bb Signed-off-by: Sam James <sam@gentoo.org>
2025-10-27cmake.eclass: Drop ECM related initial-cache vars, moved to ecm.eclassAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-27ecm.eclass: Use our own initial-cache file on top of cmake.eclass'Andreas Sturmlechner
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 <asturm@gentoo.org>
2025-10-21plasma.kde.org.eclass: Declare 6.5.0 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-21cmake.eclass: _cmake_minreqver-info(): Add missing semicolonAndreas Sturmlechner
Thanks-to: Arisu Tachibana <alicef@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-19cmake.eclass: _cmake_modify-cmakelists(): Fix _cmake_minreqver-check callAndreas Sturmlechner
_cmake_minreqver-check may be called from any phase, so <file> 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 <asturm@gentoo.org>
2025-10-16cmake.eclass: Add bug tracker info to CMake minreqver warningsAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16plasma.kde.org.eclass: Mask 6.5.0 unreleasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-15cmake.eclass: Tweak _cmake_minreqver-info() some moreAndreas Sturmlechner
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 <asturm@gentoo.org>
2025-10-15ecm-common.eclass: Raise CMake minimum to 3.31Andreas Sturmlechner
Aligns with cmake.eclass minimum. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-15cmake.eclass: _cmake_minreqver-info(): Warn only on highest flagged levelAndreas Sturmlechner
Print "QA Notice" only on first (highest priority) warning, but still show the relevant message. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-15ecm.eclass: Set CMAKE_ECM_MODE=true pre-inheriting cmakeAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-15cmake.eclass: For ECM, check and warn about <3.16 CMake minimum versionAndreas Sturmlechner
- 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 <asturm@gentoo.org>
2025-10-15cmake.eclass: Check and warn about <3.10 CMake minimum versionsAndreas Sturmlechner
- _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 <asturm@gentoo.org>
2025-10-15cmake.eclass: No -DCMAKE_POLICY_VERSION_MINIMUM=3.5 w/ CMAKE_QA_COMPAT_SKIPAndreas Sturmlechner
If QA checks are skipped, then it is counterproductive to hide resulting errors. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-14cmake.eclass: cmake4_callout() -> _cmake_minreqver-info()Andreas Sturmlechner
- Dump _CMAKE_MINREQVER_CMAKE305 array as eqawarn message - CMake 4 workaround warning resharpening Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-14cmake.eclass: _cmake_minreqver-lt() -> _cmake_minreqver-check()Andreas Sturmlechner
- Prepare for future cmake_minimum_version checks - Function now optionally takes one or two args: <file>: runs all version checks over <file> <file> <version>: only checks <version> against <file> - _CMAKE_MINREQVER_UNSUPPORTED is gone - _CMAKE_MINREQVER_CMAKE305 is empty (package "passed") or contains a list of <file>:<version> tuples Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-13cmake.eclass: Set CMAKE_POLICY_DEFAULT_CMP0094=NEW to fix FindPythonAndreas Sturmlechner
See also: https://cmake.org/cmake/help/latest/policy/CMP0094.html Bug: https://bugs.gentoo.org/959154 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-10frameworks.kde.org.eclass: Mark 6.19 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-09cmake.eclass: set -DCMAKE_LINK_WARNING_AS_ERROR=OFFSam James
As we already do for compiler -Werror. Bug: https://bugs.gentoo.org/963830 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-09gear.kde.org.eclass: Mark 25.08.2 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-07cmake.eclass: Raise dev-build/cmake minimum to 3.31.9-r1Andreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-07gear.kde.org.eclass: Mark 25.08.2 unreleasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-05frameworks.kde.org.eclass: Mark 6.19.0 unreleasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-05cmake.eclass: Raise minimum dev-build/cmake version to 3.28.5Andreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-05cmake.eclass: Update CMAKE_WARN_UNUSED_CLI default value descriptionPetr Vaněk
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 <arkamar@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-05cmake.eclass: disable automagic LTOSam James
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 <sam@gentoo.org>
2025-10-02cmake.eclass: Really warn all EAPI-7 consumers that support will be droppedAndreas Sturmlechner
... after 2025-11-01. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-09-30cmake.eclass: fix pms violationPaul Zander
Escape sequences are not allowed for `die`, use eerror instead. Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-09-30cmake.eclass: allow nonfatal cmake_src_testAlfred Wingate
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 <parona@protonmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-09-30cmake.eclass: Provide cmake_prepare() to solve conflicts w/ other eclassAndreas Sturmlechner
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 <asturm@gentoo.org>
2025-09-27cmake.eclass: Reorder arguments in cmake_src_install cmake_build callAndreas Sturmlechner
Bug: https://bugs.gentoo.org/963428 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-09-12frameworks.kde.org.eclass: Mark 6.18.0 as releasedAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>