summaryrefslogtreecommitdiff
path: root/eclass
AgeCommit message (Collapse)Author
2025-11-02qt5-build.eclass: Support new 5.15.18 (archive) download locationAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-02rocm.eclass: add graceful rocm_add_sandbox; allow NPU for the sandboxSv. Lockal
1) With upcoming firmware AMD NPU will be exposed as /dev/accel/accel0. This device is owned by root:render, similarly to GPU. When present, tools like rocminfo try to query device capabilities, breaking sandbox. To fix this issue, this device has now addwrite in check_amdgpu. 2) There are a bunch of bugs from tinderbox and users who forgot to enable KFD in kernel. Instead of recommendation to check permissions, they will see a better message, that AMD device is missing. 3) In cases when we just want to addwrite to AMD devices, new function rocm_add_sandbox (similar to cuda_add_sandbox) was added. No errors are raised if device is missing. Bug: https://bugs.gentoo.org/965198 Signed-off-by: Sv. Lockal <lockalsash@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44355 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-01llvm.org.eclass: Add 22.0.0_pre20251101 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-01llvm.org.eclass: Remove old snapshotsMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-01cmake.eclass: add global-scope ewarn for deprecated EAPI 7Andreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-01ecm.eclass: Drop obsolete KF version quirksAndreas Sturmlechner
- _ecm_strip_handbook_translations kconfigwidgets restriction only relevant for KF <6.16, upstream commit 94e3edb259a4cc74545facd49e78867f6ec809fd - ECM_PYTHON_BINDINGS was only used since KF6 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-01cmake.eclass: Drop ECM related initial-cache vars, moved to ecm.eclassAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-01ecm.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. Closes: https://bugs.gentoo.org/963981 Thanks-to: Sam James <sam@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-31verify-sig.eclass: Respect GNUPG envvarMichał Górny
Respect GNUPG envvar for direct "gpg" invocations, to match the gemato behavior. Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44387 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-28sec-keys.eclass: Use app-alternatives/gpgMichał Górny
Tested on sec-keys/openpgp-keys-llvm, with sequoia and freepg. Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-28llvm.org.eclass: Add 22.0.0_pre20251028 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-28verify-sig.eclass: Allow pre-alternative gnupg fo ease transitionMichał Górny
Use a || dependency to permit app-crypt/gnupg[-alternatives], to ease the transition. This will permit app-crypt/gnupg[verify-sig] to be built without a cyclic dependency between it and app-alternatives/gpg. Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-28verify-sig.eclass: Use app-alternatives/gpgMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44224 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-26toolchain.eclass: only >=16's cobol needs libxml2Sam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-10-25toolchain.eclass: depend on libxml2 at runtime for libgcobolSam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-10-23distutils-r1.eclass: Use EPYTEST_PLUGINS for import-checkMichał Górny
Add "pytest-import-check" to EPYTEST_PLUGINS automatically when using import-check. This also implicitly overrides the default behavior of enabling all plugins, and instead runs with just the import-check plugin loaded. Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44172 Closes: https://github.com/gentoo/gentoo/pull/44172 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-23python-utils-r1.eclass: Use --force-reruns for EPYTEST_RERUNSMichał Górny
Use "--force-reruns" rather than "--reruns" when available. This ensures that the rerun count is respected for all tests, including tests already marked upstream for reruns. Otherwise tests marked "@pytest.mark.flaky" will get rerun only once. Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44172 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-23distutils-r1.eclass: Extend wheel reuse to *py3-none*Michał Górny
Remove the unnecessary "-any" restriction in wheel reuse. I've added it without thinking about it twice, but it prevents wheel reuse for Python-agnostic packages that build native executables, e.g. dev-python/uv. Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44172 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-23pypi.eclass: Fix typo in pypi_provenance_url()Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44172 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-23verify-sig.eclass: Append a trailing newline to gpg --verify outputMichał Górny
Explicitly append a trailing newline to the output stream created by "gpg --verify", to ensure it always contains one. The FreePG patchset to GPG corrects handling the trailing newlines in cleartext signed messages, which means that GPG-created "incorrect" messages no longer include a trailing newline character [1]. We are parsing the checksum file via bash's "read" command that ignores the characters after the final newline character, so we need to ensure that one is always present after the ultimate checksum. Adding an extra newline to vanilla GnuPG output causes no harm, as the verification function will simply ignore the resulting empty line. [1] https://gitlab.com/freepg/gnupg/-/blob/a4e8d23439f1e101da3e335b3beab822be968d56/DIFF.md#handle-cleartext-signature-framework-csf-messages-correctly Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-22llvm.org.eclass: Add 22.0.0_pre20251022 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-22llvm.org.eclass: Remove old snapshotsMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-21llvm.org.eclass: crank openpgp-keys-llvm depSam James
Bug: https://bugs.gentoo.org/963955 Closes: https://bugs.gentoo.org/964802 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-21rocm.eclass: add 7.* case with gfx950 supportSv. Lockal
Bug: https://bugs.gentoo.org/964799 Signed-off-by: Sv. Lockal <lockalsash@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44165 Signed-off-by: Sam James <sam@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-21rust.eclass: add 1.91.0 slotSam James
We already have it in the LLVM map but not in the slot list. Closes: https://bugs.gentoo.org/964752 Signed-off-by: Sam James <sam@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. Closes: https://bugs.gentoo.org/964702 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-18apache-2.eclass: Missing deps for dev-libs/libxml2 and fix existing ↵Francisco Javier Félix
preserved libs apache2_modules_proxy_html and apache2_modules_xml2enc require dev-libs/libxml2 Fix: <pre> >>> package: dev-libs/libxml2-2.14.6 * - /usr/lib64/libxml2.so.2 * - /usr/lib64/libxml2.so.2.13.9 * used by /usr/lib64/apache2/modules/mod_proxy_html.so (www-servers/apache-2.4.65) * used by /usr/lib64/apache2/modules/mod_xml2enc.so (www-servers/apache-2.4.65) </pre> Signed-off-by: Fco Javier Felix <ffelix@inode64.com> Part-of: https://github.com/gentoo/gentoo/pull/44149 Closes: https://github.com/gentoo/gentoo/pull/44149 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-16ecm-common.eclass: Raise CMake minimum to 3.31Andreas Sturmlechner
cmake.eclass remains at 3.28 in ::gentoo for a while, so having to define the BDEPEND as well here. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16ecm.eclass: Set CMAKE_ECM_MODE=true pre-inheriting cmakeAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: For ECM, check and warn about <3.16 CMake minimum versionAndreas Sturmlechner
ECM (extra-cmake-modules) mostly concerns KDE but also several third party packages. ECM has been warning about that since ECM 5.100, which was released in Nov 2022. - New variable CMAKE_ECM_MODE (values: auto,true,false) If "auto", tries to detect use of find_package(ECM) in CMakeLists.txt Also use instead of _ECM_ECLASS check in cmake_src_configure to adjust gentoo_common_config.cmake for ECM settings independently of ecm.eclass - _cmake_minreqver-check(): Results are stored in new _CMAKE_MINREQVER_CMAKE316 array. - _cmake_minreqver-info(): Only the latest relevant warning is shown as eqawarn - and only prefixed as "QA Notice" if a preceding QA Notice didn't strike already. This means for a build system using ECM with detected <3.5 versions: - CMake < 3.5: QA notice with file listing - CMake < 3.10: *No* warning but file listing if array is non-empty - CMake < 3.16: Warning with file listing Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: List CMake files being warned about future compat removalAndreas Sturmlechner
- _cmake_minreqver-check(): New _CMAKE_MINREQVER_CMAKE310 array contains a list of <file>:<version> tuples with cmake_minimum_required version below 3.10, on top of those that weren't already saved in _CMAKE_MINREQVER_CMAKE305. - _cmake_minreqver-info(): Future CMake <3.10 compat removal is prefixed as "QA Notice" *only* if the preceding CMake <3.5 QA Notice didn't strike already. This is done to avoid spamming the bug tracker twice per package about outdated minimum versions. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: Don't pass workaround when CMAKE_QA_COMPAT_SKIP is setAndreas Sturmlechner
If QA checks are skipped, then it is counterproductive to hide resulting errors by passing -DCMAKE_POLICY_VERSION_MINIMUM=3.5. Better warn about the CMake 4 workaround possibly only getting the build system to another error. Bug: https://bugs.gentoo.org/951350 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: Provide a list of CMake files unsupported with CMake 4Andreas Sturmlechner
Instead of only eqawarning that there is *some* file with a too low cmake_minimum_required version, print a list of all the CMakeLists.txt found to be unsupported, and the detected version next to it. - _CMAKE_MINREQVER_CMAKE305 is either empty (package "passed") or contains a list of <file>:<version> tuples to print as eqawarn message This replaces _CMAKE_MINREQVER_UNSUPPORTED - Rename _cmake4_callout() -> _cmake_minreqver-info() Provide upstream link with list of CMake policy changes per release - Prepare for upcoming additional cmake_minimum_version checks - Rename _cmake_minreqver-lt() -> _cmake_minreqver-check() Function now optionally takes one or two args: <file>: runs all version checks over <file> <file> <version>: only check <version> against <file> Closes: https://bugs.gentoo.org/951350 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: Set CMAKE_POLICY_DEFAULT_CMP0094=NEW to fix FindPythonAndreas Sturmlechner
See also: https://cmake.org/cmake/help/latest/policy/CMP0094.html Closes: https://bugs.gentoo.org/959154 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.eclass: set -DCMAKE_LINK_WARNING_AS_ERROR=OFFSam James
As we already do for compiler -Werror. Closes: https://bugs.gentoo.org/963830 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16cmake.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. Closes: https://bugs.gentoo.org/927157 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-16kernel-build.eclass: avoid setting root in generic-ukiNowa Ammerlaan
This we added originally because several tool got confused when there is no root= at all. This has since been resolved and I have been running without any root= set for several months without problems. Setting root=/dev/gpt-auto-generator actually breaks automatic decryption of LUKS volumes, so lets get rid of it. Functionally nothing else changes since the gpt-auto-generator will also run if root is not set or empty. Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-10-12toolchain-funcs.eclass: fix tc-check-min_ver exampleSam James
$ python3.13 -c 'import portage; print(portage.versions.vercmp("13.2.0", "13.2"))' 1 Bug: https://bugs.gentoo.org/964195 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-11llvm.org.eclass: Add 22.0.0_pre20251011 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-11toolchain.eclass: cleanup one more bit of build-jit cruftSam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-10-11toolchain.eclass: stop building JIT separatelySam James
We introduced a split for libgccjit because it needs --enable-host-shared for bug #843341, but I think this was a mistake in the end: * We don't bootstrap that first, host-shared build because otherwise the build would take even longer; * gcc PR117047 is an example where not-bootstrapping causes very-hard-to-debug problems because libgccjit may be compiled differently by a newer compiler, but you can't just rebuild GCC once to observe that. Even knowing this*, I was stumped by it for some time; * It introduces complexities into the ebuild and it's already complex enough. See bug #954077 and bug #953823; * We want to support rust_codegen_gcc (a rustc codegen backend using libgccjit) in the future. If we do that, we want a bootstrapped build for libgccjit to know it's reliable; * The test setup as-is doesn't run tests for the first build; * On slower machines, that first "wasted" build is pretty noticeable and slow. I think any possible slowdown should be mitigated by using LTO and possibly -fno-semantic-interposition for GCC, which users are free to do. Bug: https://bugs.gentoo.org/843341 Bug: https://bugs.gentoo.org/954077 Bug: https://bugs.gentoo.org/953823 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-09llvm.org.eclass: Bump release keysMichał Górny
Technically only 21.1.3 needs new keys but no point in splitting since we push keys with stable keywords, and the old keys are included. Signed-off-by: Michał Górny <mgorny@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: allow nonfatal cmake_src_test, fix pms violationAndreas Sturmlechner
1) This is already expected in tree via virtx use. 2) Escape sequences are not allowed for `die`, use eerror instead. Bug: https://bugs.gentoo.org/961929 See also: https://github.com/gentoo/gentoo/pull/40307 Signed-off-by: Alfred Wingate <parona@protonmail.com> Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> (cherry picked from commit 657dc69cdd68546003b7877321bc1d2db0ddc849) (kde) (cherry picked from commit ae57eab324d55a4a0a6fb890d8039e53a7a8930a) (kde)
2025-10-05cmake.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. This also switches on a general EAPI=7 imminent error QA notice. Bug: https://bugs.gentoo.org/853805 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-10-05cmake.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-10-04llvm.org.eclass: Add 22.0.0_pre20251004 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-04llvm.org.eclass: Remove old snapshot supportMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>