summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* gstreamer-meson.eclass: depend on glib-utils for -base and -bad splitsMart Raudsepp2024-04-011-0/+6
| | | | | Closes: https://bugs.gentoo.org/811807 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Avoid shm and waylandsink getting enabled for -bad ↵Mart Raudsepp2024-04-011-2/+2
| | | | | | | | | | splits This is mainly for correctness, as the bad split builds didn't actually end up building anything about shm or waylandsink as the subdirs of those are ignored by the split packages builds. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Install any preset files for split pluginsMart Raudsepp2024-04-011-1/+8
| | | | | | | | | gst-plugins-vpx, gst-plugins-voamrwbenc, gst-plugins-amrnb and gst-plugins-x264 have preset files that we weren't installing. This change makes them do so when they bump to EAPI-8. Bug: https://bugs.gentoo.org/915220 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Increase test timeoutMart Raudsepp2024-04-011-1/+1
| | | | | | | | gst-plugins-good fails flvmux or other tests sometimes for me on timeout otherwise, probably from running with a high amount of parallel tests having some longer-running take even longer. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: add EAPI 8 support with pkg_setup and python-any-r1Mart Raudsepp2024-04-011-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pkg_setup is exported in EAPI-8 to proxy to python-any-r1_pkg_setup while being future-proof for any other changes and make it less surprising when some ebuild needs to important something else that exports pkg_setup too by not having it be implicit export via an indirect inherit. Bug: https://bugs.gentoo.org/834789 Bug: https://bugs.gentoo.org/807959 Bug: https://bugs.gentoo.org/804597 Bug: https://bugs.gentoo.org/804600 Bug: https://bugs.gentoo.org/804948 Bug: https://bugs.gentoo.org/805515 Bug: https://bugs.gentoo.org/808111 Bug: https://bugs.gentoo.org/808114 Bug: https://bugs.gentoo.org/813029 Bug: https://bugs.gentoo.org/813156 Bug: https://bugs.gentoo.org/813159 Bug: https://bugs.gentoo.org/834790 Bug: https://bugs.gentoo.org/834791 Bug: https://bugs.gentoo.org/834878 Bug: https://bugs.gentoo.org/835398 Bug: https://bugs.gentoo.org/843986 Bug: https://bugs.gentoo.org/866797 Bug: https://bugs.gentoo.org/866800 Bug: https://bugs.gentoo.org/866803 Bug: https://bugs.gentoo.org/866806 Bug: https://bugs.gentoo.org/866824 Bug: https://bugs.gentoo.org/866827 Bug: https://bugs.gentoo.org/866830 Bug: https://bugs.gentoo.org/866833 Bug: https://bugs.gentoo.org/866836 Bug: https://bugs.gentoo.org/866845 Bug: https://bugs.gentoo.org/866848 Bug: https://bugs.gentoo.org/866851 Bug: https://bugs.gentoo.org/866854 Bug: https://bugs.gentoo.org/866857 Bug: https://bugs.gentoo.org/866860 Bug: https://bugs.gentoo.org/866863 Bug: https://bugs.gentoo.org/866866 Bug: https://bugs.gentoo.org/866914 Bug: https://bugs.gentoo.org/866917 Bug: https://bugs.gentoo.org/866920 Bug: https://bugs.gentoo.org/866926 Bug: https://bugs.gentoo.org/888129 Bug: https://bugs.gentoo.org/907435 Bug: https://bugs.gentoo.org/907437 Bug: https://bugs.gentoo.org/907438 Bug: https://bugs.gentoo.org/907440 Bug: https://bugs.gentoo.org/907441 Bug: https://bugs.gentoo.org/907466 Bug: https://bugs.gentoo.org/907467 Bug: https://bugs.gentoo.org/907468 Bug: https://bugs.gentoo.org/907469 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: fix false positive missing IUSE=orc warningsMart Raudsepp2024-04-011-1/+23
| | | | | | | | | Main packages are assumed to always want IUSE=orc when the meson option is there, whereas split plugins are considered to need it when they refer to orc_dep in one of their plugin subdirs and not need it when none do. Closes: https://bugs.gentoo.org/810417 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: fix false positive missing introspection warningsMart Raudsepp2024-04-011-1/+3
| | | | | | | | Split plugins would (almost?) never enable introspection build as they typically don't ship any libraries, much less those that would be set up for introspection. Bug: https://bugs.gentoo.org/810417 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Avoid ximagesrc and v4l2 getting enabled for -good ↵Mart Raudsepp2024-04-011-3/+8
| | | | | | | | | | splits This is mainly for correctness, as the good split builds didn't actually end up building anything about ximagesrc or v4l2 as the subdirs of those are ignored by the split packages builds. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Refactor away repetition in gstreamer_get_plugins()Mart Raudsepp2024-04-011-29/+16
| | | | Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Drop bogus IUSE=test for split packagesMart Raudsepp2024-04-011-1/+7
| | | | | | | | virtualx was inherited unconditionally, but only used in non-splits. Unconditional virtualx inheriting is preserved for older than 1.22.10 versions to not cause any --newuse rebuilds for stable users. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Avoid gl getting automatically enabled for base splitsMart Raudsepp2024-04-011-0/+5
| | | | | | | | | This necessitates adding `gl` to GST_PLUGINS_NOAUTO in gst-plugins-base, or it gets disabled there as well due to eclass additions being appended to the ebuild ones. This is mainly for correctness, as the few base split builds didn't actually end up building anything about GL extra due to this. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* gstreamer-meson.eclass: Avoid needlessly compiling helper libraries in split ↵Mart Raudsepp2024-04-011-1/+5
| | | | | | | | | | | | | | | | | | | | | packages When a split package uses gstreamer_system_package() for a helper library in gst-libs/ that is in the same tarball, it wasn't working fully anymore these days because for subprojects support they all do a meson.override_dependency as well, which is also overriding the dependency our eclass helper adds at the top of the split plugins subdir meson.build. Because of that, it was building these helper libraries from scratch and link against them, only to discard it after linking against it and potentially also causing some ABI issues, as at runtime the system version from the main package is used (though that hasn't been observed as of yet, only the extra big compilation). Fix it by deleting the relevant override_dependency call as part of gstreamer_system_package() as well, which works as long as the syntax used for it is standard in terms of whitespace usage. For example gst-plugins-cdparanoia had 51 build units before due to this, but only 2 after the fix. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* media-libs/gstreamer: add 1.22.10, drop 1.22.3 (security)Haelwenn (lanodan) Monnier2024-04-011-0/+6
| | | | | | | | | | | | - eclass / gst-plugins-good: Add "soup" option in the special cases - gst-plugins-good: Backport fix against tests being enabled on libsoup presence automagic-style <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6058> Closes: https://bugs.gentoo.org/836163 Closes: https://bugs.gentoo.org/908978 Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me> Signed-off-by: Mart Raudsepp <leio@gentoo.org>
* python-utils-r1.eclass: epytest, error out on missing async pluginMichał Górny2024-04-011-0/+3
| | | | | | | | | | | | | Explicitly error out if epytest is run without an appropriate async plugin, and the test suite contains async tests. Currently, these tests are skipped with a warning but that is usually a mistake, and one can easily miss it when pytest-asyncio or a similar plugin is installed on the test system. However, a missing dependency can result in the tests being skipped afterwards on the tinderbox. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35913 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Remove more junk from .dist-infoMichał Górny2024-04-011-3/+12
| | | | | Closes: https://bugs.gentoo.org/927818 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Fix `det unittest` with 3.12 onlyMichał Górny2024-04-011-4/+4
| | | | | Closes: https://bugs.gentoo.org/926964 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Refactor `distutils_enable_tests pytest`Michał Górny2024-04-011-11/+9
| | | | | | | | Refactor `distutils_enable_tests pytest` to move `test_pkgs` logic straight into pytest block, as it is not used by any other variant anymore. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Remove nosetests supportMichał Górny2024-04-011-8/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Run pdm.pep517.api via pdm-backendMichał Górny2024-04-011-17/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Bump minimal dep versionsMichał Górny2024-04-011-14/+14
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* git-r3.eclass: Add the ability to checkout ignored submodules.Sebastian Parborg2024-04-011-1/+3
| | | | | | | | | If the submodules is specified in EGIT_SUBMODULES then it will ignore the "none" check. Signed-off-by: Sebastian Parborg <darkdefende@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/35911 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* git-r3.eclass: Fix fetching git lfs files at certain refs. Only prune when ↵Sebastian Parborg2024-04-011-5/+9
| | | | | | | | | | | | | | | | needed. If a lfs files was changed between the checked out ref and the git head commit, it would fail to fetch them. Now correctly specify the ref for the lfs fetch as well to ensure that we can fetch the correct lfs files. Only prune when we have existing lfs files. For bigger repos with submodules, it will be quite slow to try to prune. So if there are no files to prune, don't attempt it. This also speeds up checkout when only a few of the checked out git repos are lfs repos. Signed-off-by: Sebastian Parborg <darkdefende@gmail.com> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Add 19.0.0_pre20240330 snapshotMichał Górny2024-03-301-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* flag-o-matic.eclass: simplify implementation and work in all casesEli Schwartz2024-03-291-61/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It curently uses some magic test to decide whether handcrafted code works with or without -latomic. But it can claim that -latomic is not needed for that case, while it is still needed for other cases. > okay so append-atomic-flags does not work for me in this case > noise-suppression-for-voice is doing `struct RnNoiseStats { uint32_t a, b, c, d; }; std::atomic<RnNoiseStats> m_stats;` > not just a single large integer It is simplest to always add -latomic when an ebuild gets that deep feeling that yeah, it would like some atomics please. The downsides to listing a linker library are exactly: - it might be unavailable - it might be unneeded And the former case is trivial to solve -- this function already does so -- while the latter case has a sanctioned approach that is already used for other intrinsic compiler libraries, but not for atomic "because the build system would have a hard time if we had to build atomic early on" which isn't a very good reason to break ebuilds which aren't building sys-devel/gcc. As a side benefit, we now handle -latomic such that a package which requires it, but only for parts of the installed package, does not overlink to libatomic in *all* binaries/libraries, even if the default LDFLAGS are overridden and the global -Wl,--as-needed disappears. Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358 Bug: https://bugs.gentoo.org/820101 Bug: https://bugs.gentoo.org/925672 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: abort if hybrid CPU detected w/ -march=nativeSam James2024-03-241-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, the previous approach can't work. --param doesn't fully wipe out the previous value added by -march=native, so we still get a failed comparison. Users hitting this should install app-misc/resolve-march-native, run resolve-march-native, and use that in their *FLAGS instead of -march=native - at least for sys-devel/gcc via package.env, if not in make.conf. Therefore, our only real option is to just abort when we detect a problematic situation and tell users what to do. The only other idea I had was to try taskset in src_compile which feels super brittle and not sure it'd even work at all. Thanks to Andrei for testing and debugging with us on IRC & the bug. Bug: https://bugs.gentoo.org/904426 Bug: https://bugs.gentoo.org/908523 Bug: https://bugs.gentoo.org/915389 Bug: https://bugs.gentoo.org/927688 Thanks-to: Andrei Liavonchykau <andreil499@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: improve hybrid checkSam James2024-03-241-2/+2
| | | | | | | | | Thanks to stikonas for debugging on IRC. Bug: https://bugs.gentoo.org/904426 Bug: https://bugs.gentoo.org/908523 Bug: https://bugs.gentoo.org/915389 Signed-off-by: Sam James <sam@gentoo.org>
* libtool.eclass: depend on newer >=app-portage/elt-patches-20240116Sam James2024-03-241-3/+3
| | | | | | | | | --changed-deps users will get lots of rebuilds from 18f979e09388597a04255a2f42c464cf5a05d512 anyway so let's chuck this in. Lots of fixes since the last required version 20170815. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: require >=dev-build/libtool-2.4.7-r3Sam James2024-03-241-1/+1
| | | | | | | | Needed for c7012f128a3c04053924fa1e96ed48a1c758fc65 wrt upgrade ordering. Bug: https://bugs.gentoo.org/927650 Bug: https://bugs.gentoo.org/927662 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fortify hybrid workaroundSam James2024-03-231-1/+2
| | | | | | | | | | | | | * Make sure the result is non-empty before trying to use it as an index * Make sure the result is an integer before trying to use it as an index * Don't try to set --param ... if we had no result at all These are good ideas anyway but they happen with gnat-gpl as apparently older GCC didn't actually have the l1-cache-size thing (I thought it was a bit older than 10). Whatever. Closes: https://bugs.gentoo.org/927646 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: another error handling fixSam James2024-03-231-2/+3
| | | | | Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: another error handling fixSam James2024-03-231-2/+2
| | | | | | | | This one seems to be part of the previous block and was missing a comment / had misleading whitespace. Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5 Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Add 19.0.0_pre20240322 snapshotMichał Górny2024-03-231-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: prettify gcc bz linksSam James2024-03-231-8/+8
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: drop stale autoconf 2.13 handlingSam James2024-03-231-10/+0
| | | | | | | | I knew I was meant to do something before pushing the tests branch.. (retry with the extra error handling). Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add various missing error handlingSam James2024-03-231-17/+17
| | | | | | Prompted by Ionen. Signed-off-by: Sam James <sam@gentoo.org>
* Revert "toolchain.eclass: default to just running the (execute) torture tests"Sam James2024-03-231-2/+2
| | | | | | This reverts commit 97b5abe929550453932060bbf078bb4352b400c1. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: default to just running the (execute) torture testsSam James2024-03-231-2/+2
| | | | | | | | | The (execute) torture tests are a nice subset we can run to make sure things aren't totally hosed. Can be overridden by setting GCC_TESTS_CHECK_TARGET=check, GCC_TESTS_RUNTESTFLAGS="". Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: don't install all .sum filesSam James2024-03-231-3/+2
| | | | | | | | | | Just rely on the validate_failures.py manifests instead. These logs get real big real fast. People can save build logs if they want to look at the tests otherwise. Bug: https://bugs.gentoo.org/214345 Bug: https://bugs.gentoo.org/253926 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: rework tests moreSam James2024-03-231-38/+110
| | | | | | | | | | | | | | Rework src_test around contrib/testsuite-management/validate_failures.py in gcc.git. This script is being used by the new Linaro CI effort and it appears well-suited to us, as it allows marking expected failures easily. Followup to 9ac3f1cf62b522236ba9efd7e923071c37df1e6d. Bug: https://bugs.gentoo.org/214345 Bug: https://bugs.gentoo.org/253926 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: install test results as orphaned files in /var/cache/gccSam James2024-03-231-11/+21
| | | | | | | | | | | | This allows comparison across versions even after they get upgraded, which is useful in itself (and across series), but also for looking into when regressions started if they're reported but started a while ago. Followup to 9ac3f1cf62b522236ba9efd7e923071c37df1e6d. Bug: https://bugs.gentoo.org/214345 Bug: https://bugs.gentoo.org/253926 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add CHOST to test data pathSam James2024-03-231-8/+8
| | | | | | | We get collisions for cross-compilers otherwise. Closes: https://bugs.gentoo.org/925037 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: use extglob for hybrid hackSam James2024-03-231-1/+1
| | | | | | Thanks Ionen! Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: split condition for readabilitySam James2024-03-231-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add workaround for hybrid CPUsSam James2024-03-231-0/+18
| | | | | | | | | | | | | | Hybrid/big.little/PE CPUs may report an inconsistent cache size across cores which can cause GCC's bootstrapping to fail its self-comparison. When CBUILD is amd64 or x86 and -march=native is in CFLAGS, iterate over all cores and record l1-cache-size. If any differ, use the first one we found. Bug: https://gcc.gnu.org/PR111768 Closes: https://bugs.gentoo.org/904426 Closes: https://bugs.gentoo.org/908523 Closes: https://bugs.gentoo.org/915389 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fix whitespaceSam James2024-03-231-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* tree-sitter-grammar.eclass: don't pre-strip libraryArthur Zamarin2024-03-231-0/+1
| | | | | | | | | | When STRIP is set to anon empty value, it is called during build of the shared library. By unsetting it, the strip isn't called during compile but by the portage strip phase. Closes: https://bugs.gentoo.org/927571 Closes: https://bugs.gentoo.org/927572 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* llvm.org.eclass: Remove old snapshot supportMichał Górny2024-03-231-6/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* tree-sitter-grammar.eclass: support opt in python bindingsArthur Zamarin2024-03-231-1/+85
| | | | | | | | | | | | | | | New tree-sitter cli generated bindings and code around grammars and parsers now support bulding a python wheel which supply much better API and library for consumers in python bindings. Currently I've added only python as a binding languages, even though rust, swift, and go are also available. We should add them when we see a request for them. Python will be needed for pkgcheck. When we opt in into python bindings, we call the matching distutils phase functions when `use python` is true. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* tree-sitter-grammar.eclass: support for new upstream makefileArthur Zamarin2024-03-231-21/+43
| | | | | | | | | | | The build system for tree-sitters now generates a much better Makefile we can use to build the parser and grammar into a good C library. This also matches the build procedure used by upstream, making our reports easier for them to debug (we hit this issue in an old bug report on memory leak with tree-sitter-bash). Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* texlive-common.eclass: etexmf-update to call 'die' for non-"dev-telive"Florian Schmaus2024-03-191-1/+2
| | | | | | | | This also makes etexmf-update fail for packages that are outside dev-texlive/* and don't use the TexLive version scheme like dev-libs/kpathsea and soon dev-tex/hevea. Signed-off-by: Florian Schmaus <flow@gentoo.org>