summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* qt5-build.eclass: Move append-ldflags and filter-lto to src_prepareAndreas Sturmlechner2024-01-101-9/+9
| | | | | Closes: https://bugs.gentoo.org/919789 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set CMAKE_DISABLE_PRECOMPILE_HEADERS=ONAndreas Sturmlechner2024-01-101-0/+1
| | | | | Closes: https://bugs.gentoo.org/920845 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set FETCHCONTENT_FULLY_DISCONNECTED=ONAndreas Sturmlechner2024-01-101-1/+2
| | | | | Closes: https://bugs.gentoo.org/920846 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cargo.eclass: Revert PKGBUMPING for CARGO_CRATE_URISMichał Górny2024-01-091-3/+0
| | | | | | | Setting PKGBUMPING would result in empty crate URI list which is incorrect when used inside an USE-conditional group. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: go back to flexSam James2024-01-081-1/+1
| | | | | | | We should really tighten this so it's only for snapshots though... Closes: https://bugs.gentoo.org/921620 Signed-off-by: Sam James <sam@gentoo.org>
* qt6-build.eclass: shorten intrin test a bitIonen Wolkens2024-01-081-3/+0
| | | | | | | | | Felt more correct but do not actually need the header for these. Could alternatively use tc-cpp-is-true too, but fwiw current method allows batching in a single compiler call. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* verify-sig.eclass: Accept 1-out-of-n sigs on multisig filesMichał Górny2024-01-081-1/+1
| | | | | | | | | | | | | If a distfile has multiple detached signatures, pass verification if at least one of them can be verified rather than requiring all of them. This is particularly helpful for upstreams where the whole set of release keys is hard to come by. Closes: https://bugs.gentoo.org/873211 Closes: https://github.com/gentoo/gentoo/pull/29224 Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/29592 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* verify-sig.eclass: Remove <dev-python/gemato-20 supportMichał Górny2024-01-081-12/+6
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: fix lex, yacc versionsSam James2024-01-081-2/+2
| | | | | | Fixes: b8300e99e7137925c73f1d067caed8af4f77dc1b Fixes: 4c621abb2923e1085cc4aaf67c30901510d8b3c0 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: sys-devel/bison -> app-alternatives/yaccSam James2024-01-081-1/+1
| | | | | | | | | All of these will be using app-alternatives/yacc anyway as they're not unsetting YACC or LEX, so make the dep reflect reality. (Included both YACC and LEX out of conservatism.) Signed-off-by: Sam James <sam@gentoo.org>
* kernel-2.eclass: sys-devel/bison -> app-alternatives/yaccSam James2024-01-081-1/+1
| | | | | | | | | All of these will be using app-alternatives/yacc anyway as they're not unsetting YACC or LEX, so make the dep reflect reality. (Included both YACC and LEX out of conservatism.) Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: sys-devel/flex -> app-alternatives/lexSam James2024-01-081-2/+2
| | | | | | | | | All of these will be using app-alternatives/lex anyway as they're not unsetting YACC or LEX, so make the dep reflect reality. (Included both YACC and LEX out of conservatism.) Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: sys-devel/flex -> app-alternatives/lexSam James2024-01-081-1/+1
| | | | | | | | | All of these will be using app-alternatives/lex anyway as they're not unsetting YACC or LEX, so make the dep reflect reality. (Included both YACC and LEX out of conservatism.) Signed-off-by: Sam James <sam@gentoo.org>
* kernel-2.eclass: sys-devel/flex -> app-alternatives/lexSam James2024-01-081-1/+1
| | | | | | | | All of these will be using app-alternatives/lex anyway as they're not unsetting YACC or LEX, so make the dep reflect reality. (Included both YACC and LEX out of conservatism.) Signed-off-by: Sam James <sam@gentoo.org>
* ninja-utils.eclass: dev-util/ninja -> app-alternatives/ninjaSam James2024-01-081-3/+3
| | | | | | Missed this before. Signed-off-by: Sam James <sam@gentoo.org>
* unpacker.eclass: app-arch/cpio -> app-alternatives/cpioSam James2024-01-081-2/+2
| | | | | | | All of these will be using app-alternatives/cpio anyway as they're not calling gcpio, so make the dep reflect reality. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: app-arch/cpio -> app-alternatives/cpioSam James2024-01-081-1/+1
| | | | | | | All of these will be using app-alternatives/cpio anyway as they're not calling gcpio, so make the dep reflect reality. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-2.eclass: app-arch/cpio -> app-alternatives/cpioSam James2024-01-081-1/+1
| | | | | | | All of these will be using app-alternatives/cpio anyway as they're not calling gcpio, so make the dep reflect reality. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: sys-devel/bc -> app-alternatives/bcSam James2024-01-081-1/+1
| | | | | | | All of these will be using app-alternatives/bc anyway as they're not calling bc-reference, so make the dep reflect reality. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-2.eclass: sys-devel/bc -> app-alternatives/bcSam James2024-01-081-2/+2
| | | | | | | All of these will be using app-alternatives/bc anyway as they're not calling bc-reference, so make the dep reflect reality. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: allow overriding UKI cmdlineAndrew Ammerlaan2024-01-071-2/+10
| | | | Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* eclass/(dist-)kernel-*.eclass: drop installkernel-gentoo-7Andrew Ammerlaan2024-01-073-113/+17
| | | | | | | | because we drop the generation of the initrd/uki here we can remove KERNEL_IUSE_SECUREBOOT since this is now exactly the same as KERNEL_IUSE_MODULES_SIGN Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* meson.eclass: Pass -Db_lto=false globallyMichał Górny2024-01-071-1/+5
| | | | | | | | | | | | | Pass `-Db_lto=false` globally to force-disable appending `-flto` in projects that default to it. In Gentoo, users enable LTO via setting `*FLAGS` manually. If a package really needs to pass `-Db_lto=true` because the build system enables some custom logic based on it, `tc-is-lto` can be used to determine whether LTO is enabled, and then `-Db_lto=true` can be passed explicitly by the ebuild. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Add 18.0.0_pre20240106 snapshotMichał Górny2024-01-061-1/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass, distutils-r1.eclass: Add EPYTEST_TIMEOUTMichał Górny2024-01-052-0/+25
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Minimize pytest tempdir retentionMichał Górny2024-01-051-1/+6
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Add support for dev builds in setuptools-rustMichał Górny2024-01-051-1/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Support PKGBUMPING to avoid fetching/unpacking cratesMichał Górny2024-01-051-1/+7
| | | | | | | | | Support using the PKGBUMPING variable set by pkgbump/pkgdiff-mg to avoid respectively fetching and unpacking crates, to speed up using these tools. Closes: https://github.com/gentoo/gentoo/pull/34459 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* qt5-build.eclass: use test-flags-CCLD for -Wl,--undefined-versionSam James2024-01-031-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* qt6-build.eclass: cleanup deprecated qt6_symlink_binary_to_pathIonen Wolkens2024-01-031-15/+1
| | | | | | | | | | | | | No consumers left for a while, kind of forgot about it. If overlays were packaging additional Qt modules, their facing links should be handled automatically even if this function call fails. That is, unless they were doing extra links not suggested by upstream. At that point I'd suggest doing a normal dosym, or better yet report it to Qt so that it will be suggested in user_facing_tool_links.txt for future versions. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* apache-2.eclass: drop outdated symlinkEli Schwartz2024-01-031-4/+1
| | | | | | | | | | | | | | | | | | | | | In commit 90f738b661e9e6cf903cd2a65418a6e00482c19f, the destination got deleted. apxs is no longer in the sbin directory. On split-usr systems, sbin isn't a symlink to bin, so the symlink is also *broken*. There are two general solutions here: - Fix the symlink to symlink to /usr/bin instead. - This symlink was created in 2007 as a temporary porting measure, and it is long past time it got removed. So just remove it. We go with option 2. One more legacy hack gone. Bug: https://bugs.gentoo.org/177697 Fixes: 90f738b661e9e6cf903cd2a65418a6e00482c19f Closes: https://bugs.gentoo.org/921191 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* qt5-build.eclass: qtbase: Bump _QT5_GENTOOPATCHSET_REV=5 for 5.15.12Andreas Sturmlechner2024-01-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | New patches since _QT5_GENTOOPATCHSET_REV=4: Allan Sandfeld Jensen (3): Match deadcode elimination with cpu feature check Sync qt_scale_image_argb32_on_argb32_sse2 and qt_scale_image_32bit Avoid SSE2 punning Thiago Macieira (1): qsimd: Don't force RDRND on if __AVX2__ Ulf Hermann (1): Gui: Always declare qt_memfill{32|64} as function pointers on x86 See also: https://invent.kde.org/qt/qt/qtbase/-/merge_requests/295 https://invent.kde.org/qt/qt/qtbase/-/merge_requests/297 https://invent.kde.org/qt/qt/qtbase/-/merge_requests/298 Bug: https://bugs.gentoo.org/704392 Bug: https://bugs.gentoo.org/707390 Bug: https://bugs.gentoo.org/777480 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* www-servers/apache: apache-2.eclass: inline USE=split-usrEli Schwartz2023-12-311-1/+1
| | | | | | | | | It is undesirable and should be removed, which requires inlining into each ebuild and then removing it in a revbump. Bug: https://bugs.gentoo.org/502384 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* linux-mod-r1.eclass: Call module cleanup in postinstMichał Górny2023-12-301-1/+2
| | | | | Closes: https://github.com/gentoo/gentoo/pull/34513 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-install.eclass: Call module cleanup in postinstMichał Górny2023-12-301-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* dist-kernel-utils.eclass: Add dist-kernel_compressed_module_cleanupMichał Górny2023-12-301-0/+37
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* linux-mod.eclass: Fix xz compression optionsMichał Górny2023-12-301-1/+3
| | | | | | | | | Match xz compression options to the ones used by the kernel, as the xz decoder used by the kernel supports only a subset of the xz format. Bug: https://bugs.gentoo.org/920837 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* linux-mod-r1.eclass: Add USE=modules-compressMichał Górny2023-12-301-6/+8
| | | | | | | | | | | Add a `modules-compress` USE flag to explicitly control kernel module compression. When the flag is disabled, modules are installed uncompressed even if the kernel supports compression (which is going to be the case for new sys-kernel/gentoo-kernel* builds). When it is enabled, the eclass compresses modules using the compressor configured, or fails if no compression is supported. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-{build,install}.eclass: Rename flag to modules-compressMichał Górny2023-12-302-5/+5
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* ssl-cert.eclass: Drop openssl slot dependencyUlrich Müller2023-12-301-2/+2
| | | | | Suggested-by: David Seifert <soap@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* ssl-cert.eclass: Drop support for EAPI 6Ulrich Müller2023-12-301-15/+4
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* llvm.org.eclass: Add 18.0.0_pre20231228 snapshotMichał Górny2023-12-281-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* linux-mod-r1.eclass: use kernel compatible xz settings for >=kmod-31Ionen Wolkens2023-12-281-1/+8
| | | | | | | | | | | | | | | | When the non-default CONFIG_KERNEL_DECOMPRESS option is set in kernel >6.4, >=kmod-31 will let the kernel handle decompression rather than use xz-utils. ...but kernel XZ decompressor is more limited, so need to use the same options the kernel does. -T/--threads fortunately is harmless to keep on top. Note crc32 is already the default and main problem was dict size, but still specify in case someone has e.g. XZ_DEFAULTS="--check=sha256". Closes: https://bugs.gentoo.org/920837 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* autotools.eclass: drop 2.13/2.69 from _WANT_AUTOCONFSam James2023-12-271-1/+1
| | | | | | | | | | If people want/need these, they should explicitly state it in the ebuild (although please port to a newer version!) Otherwise, we're going to be saying that autoconf-2.13 and such could satisfy all ebuilds unless they explicitly say something else which is rather unlikely. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: treat 2.5 as 2.71 for nowSam James2023-12-271-1/+9
| | | | | | | | | | | Having an unbound dependency (no slot) causes all sorts of problems. Add cases for each slot. I think we should really have the slots aligned to PV and slotmove as required but let's handle that another time. This would've hidden the original bug at least. Bug: https://bugs.gentoo.org/920822 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: optimize dependency generation (elide subshells)Sam James2023-12-271-2/+6
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: avoid deprecated backticksSam James2023-12-271-6/+11
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: rework WANT_AUTOCONF handlingSam James2023-12-271-6/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For automake, we enumerate each of the automake slots in _WANT_AUTOMAKE and use this to handle setting WANT_AUTOMAKE accordingly if the ebuild (or user, I suppose) haven't set WANT_AUTOMAKE themselves. This means that we can easily rollover to the latest installed on a system (and we also pull it in via _WANT_AUTOMAKE which is used for dependencies) because WANT_AUTOMAKE is based on the slots in _WANT_AUTOMAKE intersected with whatever is installed on the system. For autoconf, we weren't doing any of that, and were just hardcoding whatever the latest slot is! That's error prone on bumps but it also wasn't really possible to get right as-is without marking a new slot stable because of the entanglement between the dependencies, WANT_AUTOCONF, and no intersection being done (WANT_AUTOCONF wasn't dynamic at all). We now implement a similar scheme for autoconf as we already had for automake. This fixes the case where WANT_AUTOCONF="latest" in an ebuild (the default), autoconf:2.71 isn't installed, but autoconf:2.72 is. This sometimes worked before if the latest dep was slotted rather than unslotted like it is now (see below for why that's not easy to just fix) because the new slot would never get pulled in and hence the older slot which aligned with WANT_AUTOCONF's hardcoded value would be available. (I still think we should consider slotmoving older autoconfs but that's something to discuss and possibly do another time. See TODO.) Bug: https://bugs.gentoo.org/827852 Bug: https://bugs.gentoo.org/893434 Closes: https://bugs.gentoo.org/920822 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain-funcs.eclass: Add tc-is-lto functionMichał Górny2023-12-261-0/+21
| | | | | | | | | | | | | | | Add a function to check whether the C compiler is using LTO. To determine this, we compile a dummy source unit. In the GCC case, we check whether the resulting object file contains ".gnu.lto*" sections. In the clang case, we check whether a valid LLVM bytecode file was output rather than a regular object. The goal of this change is to reduce the amount of USE=lto abuse, and have a consistent cross-package way of enabling LTO via setting appropriate CFLAGS and CXXFLAGS. Closes: https://github.com/gentoo/gentoo/pull/34470 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-{build,install}.eclass: drop plymouth for generic-ukiAndrew Ammerlaan2023-12-252-8/+8
| | | | | | | | | | plymouth pulls in drm, and drm includes all gpu drivers and their firmware especially the firmware files are very big. The whole thing costs us 15M on each initrd, and therefore gpkg. Also exclude the netronome drivers, these also have ridiculously large firmware files. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>