summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* kernel-build.eclass: Merge two ifs in kernel-build_merge_configs()Michał Górny2024-08-231-23/+21
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Apply savedconfig on top of merged configsMichał Górny2024-08-231-9/+21
| | | | | | | | | | | | | | | | | Move applying savedconfig from src_configure() into kernel-build_merge_configs(), in order to make it possible to override saved config options. Previously, the saved config would unconditionally overwrite everything, which could be between inconvenient and plain broken (particularly if savedconfig contained signing key paths referring to ${T}). The new logic applies saved config via merge method, on top of the default config along with ebuild and eclass overrides. However, MODULES_SIGN_KEY* and user config snippets do override saved config for convenience. Closes: https://bugs.gentoo.org/938130 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* ecm-common.eclass: Fix inverted logic in pkg_setup() re KFMINAndreas Sturmlechner2024-08-221-1/+1
| | | | | Closes: https://bugs.gentoo.org/938312 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20240822 snapshotMichał Górny2024-08-221-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* gear.kde.org.eclass: Drop obsolete SLOT 5 blockersAndreas Sturmlechner2024-08-211-2/+0
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* ecm.eclass: Add ECM_REMOVE_FROM_INSTALL for install image file removalAndreas Sturmlechner2024-08-211-1/+14
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* ecm.eclass: Add ECM_HANDBOOK="forceoff"Andreas Sturmlechner2024-08-211-12/+24
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* ecm.eclass: Add ecm_punt_po_install()Andreas Sturmlechner2024-08-211-0/+10
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* ecm-common.eclass: New eclass for standalone ECM common files handlingAndreas Sturmlechner2024-08-211-0/+376
| | | | | | | | | | - ECM_INSTALL_ICONS and ECM_INSTALL_FILES arrays - ecm-common_inject_heredoc() to inject custom CMake - ECM_KCM_TARGETS to create desktop files out of json (emulating kcmutils_generate_desktop_file) - ecm-common-check_deps() to add additional pkg_setup checks Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* kde-apps/libkcompactdisc: Block SLOT 5 unconditionallyAndreas Sturmlechner2024-08-211-0/+1
| | | | | | The only revdep is blocking the other slot as well. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* eclass: remove marecki from maintainersMike Gilbert2024-08-203-5/+2
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* lua-utils.eclass: use BROOT or ESYSROOT where appropriateMike Gilbert2024-08-201-6/+6
| | | | | | | | | | The LUA variable points to a lua binary that is likely to be executed by the build system. Use BROOT for this. Use ESYSROOT for the pkg-config symlink, since this is likely used for linking a library. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* virtualx.eclass: addpredict /dev/dri/ for Xvfb w/ mesa-24.2.0Robin H. Johnson2024-08-191-0/+1
| | | | | | | | | Newer Mesa tries to access /dev/dri/ when used in Xvfb, and this triggers a sandbox error; discovered and verified w/ sci-mathematics/fricas-1.3.11-r2. Reference: https://public-inbox.gentoo.org/gentoo-dev/bb4927ba-5ced-3352-86bb-d87f37ceaab6@woodpecker.gentoo.org/T/#t Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* toolchain-funcs.eclass: fix detecting ld.bfdViorel Munteanu2024-08-191-1/+1
| | | | | | | | There is some more output from the compiler here. We must use a regular expression to avoid a false positive from mold. Acked-by: Sam James <sam@gentoo.org> Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
* guile.eclass: new eclass, for guile multi-impl packagesArsen Arsenović2024-08-181-0/+358
| | | | | Bug: https://bugs.gentoo.org/689408 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
* guile-single.eclass: new eclass, for single-impl guile packagesArsen Arsenović2024-08-181-0/+245
| | | | | Bug: https://bugs.gentoo.org/689408 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
* guile-utils.eclass: new eclass, common code for guile packagesArsen Arsenović2024-08-181-0/+275
| | | | | Bug: https://bugs.gentoo.org/689408 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
* toolchain-funcs.eclass: tc-ld-force-bfd: mangle CFLAGS, CXXFLAGS tooSam James2024-08-161-0/+2
| | | | | | | | | | | | | | | | | | This is kind of related to what Ionen mentioned at https://github.com/gentoo/gentoo/pull/28355#discussion_r1033001927 but a bit different. Makefile rules are inconsistent, as are users, and -fuse-ld= might appear in C{,XX}FLAGS, not just LDFLAGS. Append -fuse-ld=bfd there too if asked to force bfd. This might cause problems with Clang because the argument is unused. See the mess in ddba1d149e82dba88b72f992729ad4158f640e32. Not having flag-o-matic here makes things a bit awkward. Let's try the naive approach first because it seemed OK for me with Clang with a quick test. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: _tc-has-openmp: tweak style a bitSam James2024-08-161-2/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: use generic filename for linker testSam James2024-08-161-4/+4
| | | | | | | | At https://github.com/gentoo/gentoo/pull/28355#discussion_r1089883885, juippis points out that for mold, the test might be confused. Let's consistently use 'linker' instead. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: mark tc-ld-disable-gold as deprecatedSam James2024-08-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | I don't think this function makes sense in a world with lld and mold. If there's a bug causing someone to reach for tc-ld-disable-gold, it falls into one of the following: 1. there's bfdisms (like wine where there's no hope) => tc-ld-force-bfd is the correct solution 2. it's a generic problem like underlinking => patch the package please, but in extremis or as a temporary workaround, tc-ld-force-bfd could be used (but discouraged in this situation) 3. it's a gold bug (i.e. the package is definitely only broken with gold) => report the issue upstream or force bfd if the package is truly doing something a bit unusual ("the wine case"), but really, given gold seems to be rotting away, it doesn't appear likely any bugs would get fixed & users shouldn't be enabling it. I also think tc-ld-disable-gold has been used hastily in the past for cases like 2, so let's discourage that in deprecating this as well. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: refine tc-ld-force-bfd descriptionSam James2024-08-161-1/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: fix tc-ld-force-bfd returning early for unknown linkersSam James2024-08-161-3/+2
| | | | | | | | For say, mold, until now tc-ld-force-bfd actually didn't work, because it bailed early if not lld and not gold (assuming the linker was therefore bfd). Closes: https://bugs.gentoo.org/877539 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: add tc-ld-is-moldSam James2024-08-161-0/+34
| | | | | | | For completeness. Bug: https://bugs.gentoo.org/877539 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: add tc-ld-is-bfdSam James2024-08-161-0/+35
| | | | | | This matches tc-ld-is-gold and tc-ld-is-lld. Signed-off-by: Sam James <sam@gentoo.org>
* rust-toolchain.eclass: transform sparc64 rust_abiArthur Zamarin2024-08-161-0/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* rust-toolchain.eclass: hide glibc bins behind elibc_glibc?Arthur Zamarin2024-08-161-11/+9
| | | | | | | | I'm starting to add various bootstrap binaries for musl, so might as well protect all downloads of glibc only behind "elibc_glibc?" to be safe just in case. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* go-env.eclass: improve debug workaroundSam James2024-08-151-6/+10
| | | | | | | | | | | Use what Ionen did in x11-terms/kitty to avoid touching flags for non-Go parts of the build. Bug: https://bugs.gentoo.org/847991 Bug: https://bugs.gentoo.org/924436 Bug: https://bugs.gentoo.org/924496 Bug: https://bugs.gentoo.org/929219 Signed-off-by: Sam James <sam@gentoo.org>
* go-env.eclass: workaround debug info issuesSam James2024-08-151-0/+6
| | | | | | | | | | | | Go can't handle some DWARF produced by GCC but nobody's been able to produce a simple testcase for it, so add a workaround where we replace -g3 with -g and -ggdb3 with -ggdb for GCC, like Ionen did in Kitty. Bug: https://bugs.gentoo.org/847991 Bug: https://bugs.gentoo.org/924436 Bug: https://bugs.gentoo.org/924496 Closes: https://bugs.gentoo.org/929219 Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20240815 snapshotMichał Górny2024-08-151-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* gear.kde.org.eclass: Add post-24.05 release SLOT=5 blocklistAndreas Sturmlechner2024-08-151-0/+24
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* gear.kde.org.eclass: Cleanup >=24.01.75 SLOT 5 blocklistAndreas Sturmlechner2024-08-151-2/+0
| | | | | | | Dropping kde-apps/kdegraphics-mobipocket, no file collision in the first place. Dropping kde-apps/thumbnailers after it was turned into a metapackage. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* ecm.eclass: For kde.org projects, try to rename metainfo file real hardAndreas Sturmlechner2024-08-151-0/+30
| | | | | | | | | | | | | - detect if we are inheriting kde.org.eclass - detect if package name is not the same as upstream name (KDE_ORG_NAME) - iterate through "${ED}"/usr/share/metainfo/ - if file contains KDE_ORG_NAME or similar, rename that to ${PN}${SLOT/0*/} - otherwise, prepend "${PN}${SLOT/0*/}-" after ^org.kde. Notably, this does not (yet?) trigger if a package ${PN} == ${KDE_ORG_NAME} but different SLOTs. Should we just do that all the time? Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: If inherited from ecm.eclass, set ECM_DISABLE_GITAndreas Sturmlechner2024-08-151-0/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: If inherited from ecm.eclass, set ECM_DISABLE_APPSTREAMTESTAndreas Sturmlechner2024-08-151-1/+4
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set CMAKE_COMPILE_WARNING_AS_ERROR=OFFAndreas Sturmlechner2024-08-151-0/+1
| | | | | Closes: https://bugs.gentoo.org/926121 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set CMAKE_TLS_VERIFY=ONAndreas Sturmlechner2024-08-151-0/+1
| | | | | Closes: https://bugs.gentoo.org/927160 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: bug 811486 escape find patternsNic Boet2024-08-151-1/+1
| | | | | | | | | | | | Modify cmake_src_prepare to qoute escape filenames within the find search patterns This resolves build issues with some EAPI 7 packages, i.e. sys-fs/dislocker via catalyst Bug: https://bugs.gentoo.org/811486 Signed-off-by: Nic Boet <nic@boet.cc> Closes: https://github.com/gentoo/gentoo/pull/35125 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* bzr.eclass: Remove dead eclassUlrich Müller2024-08-121-258/+0
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* ltprune.eclass: Remove dead eclassUlrich Müller2024-08-121-177/+0
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* toolchain.eclass: add TODO re flags for building deps in src_testSam James2024-08-121-0/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: drop filter-flags from src_testSam James2024-08-121-13/+0
| | | | | | | This no longer does anything after the previous commit to use custom variables for flags for tests. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: don't pass user flags in src_testSam James2024-08-121-22/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is obvious in hindsight. The flags we were passing *precisely because* we wanted e.g. -Wno-format to be passed to every test also included -O2 or whatever from the user's flags which breaks tests that may require no optimisation and so on. Instead of trying to filter out options in a whack-a-mole game, let's introduce special GCC_TESTS_* *FLAGS variables which we append the needed -Wno-* to (etc.) which users can also specify if they really want or need to. Note that this isn't as scary or as weird as it sounds. We were only trying to jam these flags in **purely** to counteract some defaults we set, these tests really aren't supposed to be run with arbitrary flags stuck in, but a workaround we added started to introduce way more than intended. The torture tests are fine with being run with various optimisation flags but the rest of the testesuite isn't. This fixes 361c3758642891759b0ed60a8f96bc0776d19f15 and some of the attempts afterwards, although not everything in those commits was bad. Fixes: 361c3758642891759b0ed60a8f96bc0776d19f15 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add comment re GCC_TEST_RUN_EXPENSIVESam James2024-08-121-0/+2
| | | | | | | | Make clear it's not a typo as it comes from gcc's testsuite (could look like an accidental 'TEST' instead of 'TESTS' like the eclassvars we use for tests.) Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: style tweakSam James2024-08-111-1/+1
| | | | | | For consistency. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: disable multilib tests for nowSam James2024-08-101-2/+3
| | | | | | | | ... until validate_failures.py can handle them properly, to avoid trashing our test manifests. Bug: https://gcc.gnu.org/PR116260 Signed-off-by: Sam James <sam@gentoo.org>
* eclass/toolchain-funcs: add support for Prefix targetsFabian Groffen2024-08-101-2/+13
| | | | | | | | - support Darwin - support arm64 (Apple Silicon) Darwin - skip gen_usr_ldscript on Prefix targets Signed-off-by: Fabian Groffen <grobian@gentoo.org>
* kernel-install.eclass: run depmod after compressing modulesAndrew Ammerlaan2024-08-091-0/+3
| | | | | | | | | | | | (de)compressing modules changes the path of the module files so we need to run depmod to ensure that tools such as modprobe/modinfo work. Note that depmod is often, but *not* always, run by sys-kernel/installkernel. Systemd installs a hook to do this, but there is no equivalent on openrc systems. So instead just ensure that the tree of modules we install is consistent here in the eclass. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* toolchain.eclass: tidy up src_test a bit more, another tweakSam James2024-08-091-11/+8
| | | | | | | | | * Disable -fno-semantic-interposition for tests as ASAN + contract violation checks rely on it * Consolidate the appends vs. filters Signed-off-by: Sam James <sam@gentoo.org>
* Revert "toolchain.eclass: drop *_FOR_TARGET in src_test"Sam James2024-08-091-0/+6
| | | | | | | | This reverts commit c87ab053be64e6c9f7b9e4ab1cca3099e37471f0. I think I was wrong. Gah. Signed-off-by: Sam James <sam@gentoo.org>