summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* perl-module.eclass: don't set 'ccflags' for Module::BuildSam James2024-05-221-1/+0
| | | | | | | | | | | | | | | | | | | | TL;DR: If we set 'ccflags', we're clobbering the Perl default. We're already setting 'optimize' which is what we're supposed to use here. We set ccflags *and* optimize for Module::Build (which dev-perl/Net-DNS uses), while we only set OPTIMIZE (case is fine) for MM (which dev-perl/Net-LibIDN2 uses). ccflags clobbers the Perl default, while optimize appends. We should just set optimize - to not clobber what Perl sets, but also for consistency between the two build systems). (Unfortunately, this does mean we also inherit things we don't really want to, which don't affect ABI, like -fno-strict-aliasing, but let's live with it for now...) Bug: https://bugs.gentoo.org/261375 Bug: https://bugs.gentoo.org/877659 Closes: https://bugs.gentoo.org/932176 Signed-off-by: Sam James <sam@gentoo.org>
* texlive-module.eclass: include PIPESTATUS in die messageFlorian Schmaus2024-05-211-2/+3
| | | | Signed-off-by: Florian Schmaus <flow@gentoo.org>
* texlive-module.eclass: invoke doman with nonfatalFlorian Schmaus2024-05-211-1/+1
| | | | | | | | | | In case doman fails, we do not want to die immediatly as it would "break" the ebegin/eend combination. Instead, the exit status is passed through xargs. It will then subsequently appear in PIPESTATUS, where it is processed by eend || die. Signed-off-by: Florian Schmaus <flow@gentoo.org> Suggested-by: Ulrich Müller <ulm@gentoo.org>
* texlive-module.eclass: do not treat grep returning 1 as errorFlorian Schmaus2024-05-211-1/+4
| | | | | | | | | | | In case every man page of the dev-texlive/* package is filtered, because the man pages are already installed by texlive-core, grep returns an exit status of 1, which we must not treat as an error condition. Adjust the PIPESTATUS comparison accordingly. Closes: https://bugs.gentoo.org/931994 Signed-off-by: Florian Schmaus <flow@gentoo.org>
* python-utils-r1.eclass: Fix cleanup in failing epytestMichał Górny2024-05-201-1/+2
| | | | | | | | | | | Fix epytest to call `die -n` after performing the cleanup, rather than before. This ensures that stray cache files are cleaned up even if we're actually going to die, e.g. when using `FEATURES=test-fail-continue`. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/36672 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Pass ninja options to scikit-build-coreMichał Górny2024-05-201-0/+6
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Update scikit-build-core to 0.9.4Michał Górny2024-05-201-5/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Support passing EPYTEST_FLAGSMichał Górny2024-05-201-1/+10
| | | | | Closes: https://bugs.gentoo.org/905863 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Support reusing prior wheels when compatibleMichał Górny2024-05-201-0/+38
| | | | | | | | | | Support reusing the wheels built for earlier Python implementations if they are compatible with the subsequent implementations being built. This includes pure Python wheels in packages that do not set DISTUTILS_EXT, and stable ABI wheels. Closes: https://bugs.gentoo.org/931689 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Add a QA warning for pure Python file mismatchMichał Górny2024-05-201-0/+40
| | | | | | | | | | If the package is creating at least one pure Python wheel, check whether the baseline package contents (i.e. everything but compiled Python modules, extensions and .dist-info) match between implementations. This is meant to ensure that we can safely optimize builds by reusing pure Python wheels from previous builds. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Store created wheels in DISTUTILS_WHEELSMichał Górny2024-05-201-0/+11
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Set DISTUTILS_WHEEL_PATH in PEP517 installMichał Górny2024-05-201-1/+8
| | | | | | | Store the created wheel path in DISTUTILS_WHEEL_PATH when returning from distutils_pep517_install. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Update key dependencyMichał Górny2024-05-191-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* Add 19.0.0_pre20240518 snapshotMichał Górny2024-05-181-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* rocm.eclass: Enable ROCm 6, add gfx94{0,1,2} (MI300) supportYiyang Wu2024-05-181-1/+11
| | | | | | | | | Update the references, since the original reference does not contain MI300. The "see also" blog is also removed because it hasn't been updated for 2 years. Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com> Signed-off-by: Benda Xu <heroxbd@gentoo.org>
* rocm.eclass: remove xnack flag for broader compatibilityYiyang Wu2024-05-181-17/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initially, rocm.eclass append xnack[1,2] feature flag to gfx9 GPUs, since ROCm upstream does this in many of their math libraries, e.g. rocBLAS [3]. The list includes gfx90a:xnack+, indicating xnack is usable for MI200 series, thus rocm.eclass append :xnack+ to gfx90a. But it turns out xnack- is also common for MI200 series, restricting to xnack+ produces incompatible GPU kernel with xnack- mode. Also, community also explores using xnack on other gfx9 GPU [4,5], which is previously restricted to xnack- in rocm.eclass. By not appending xnack feature flag, GPU kernels are compiled to "xnack any" mode, which can be run in either mode, potentially scarifying some performance [6,7], with no direct evidence. rocFFT reports no performance penalty[8]. For the reason above, do not append xnack feature flag to AMDGPU_TARGETS, which is compatible with GPUs operate in both xnack mode. [1] https://wiki.gentoo.org/wiki/ROCm#XNACK_target_feature [2] https://rocm.docs.amd.com/en/latest/conceptual/gpu-memory.html#xnack [3] https://github.com/ROCm/rocBLAS/blob/release/rocm-rel-5.0/CMakeLists.txt#L201 [4] https://niconiconi.neocities.org/tech-notes/xnack-on-amd-gpus/ [5] https://arxiv.org/abs/2401.02680 [6] https://llvm.org/docs/AMDGPUUsage.html#target-features [7] https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#compiling-hip-kernels-for-specific-xnack-modes [8] https://github.com/ROCm/rocFFT/commit/cd2689360ba3b3579d044d8925838ff307b4b4cf Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com> Signed-off-by: Benda Xu <heroxbd@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/36254
* linux-mod-r1.eclass: minor style & misc adjustmentsIonen Wolkens2024-05-171-22/+25
| | | | | | | | | | | | | No real functional changes: * fix indent for dist-kernel_reinstall_initramfs * explicit return 0 to avoid returning a failure, not that return codes should ever be checked for that function * use printf %q for LD path in case of unlikely spaces * move dist-kernel version sanity check inside _modules_sanity_kernelversion which fits and is called from the same function the check was in (also document it) Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* linux-mod-r1.eclass: update depmod.d commentIonen Wolkens2024-05-171-4/+5
| | | | | | | | | | | | | | Likely a non-issue with dracut now (untested) but will leave it alone for now and just updating comment. Maybe if users start having more problems that'd require it or if we want to more liberally rename modules install paths while ensuring it does not use the old one on a same kernel (point of this was just to make things more robust and is not hard-required). Also adjust the commented out function to match dracut.conf.d (guess glob makes it more straight forward, not that it's necessary). Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* linux-mod-r1.eclass: do not reset kernel env vars in binpkgsAndrew Ammerlaan2024-05-171-0/+5
| | | | | | | | Closes: https://bugs.gentoo.org/931213 Bug: https://bugs.gentoo.org/926063 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/36597 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* linux-info.eclass: respect eselect kernel setting in binpkgsAndrew Ammerlaan2024-05-171-3/+11
| | | | | | | | | | | | | | | | | | Commit f51cd5b64c14ddfb83488a12d538c66a4a309376 resets kernel environment variables when binpkgs are merged, this makes sense since we care about the system that the binpkg will be installed on, not the system the binpkg was built on. This introduced Bug 931213 as a side-effect, which will be fixed in a separate commit to linux-mod-r1.eclass. In preparation of that, we document and rename the LINUX_INFO_BINARY_RESET to SKIP_KERNEL_BINPKG_ENV_RESET. However, commit f51cd5b64c14ddfb83488a12d538c66a4a309376 also makes binpkgs always use the running kernel version. This behaviour is surprising and confusing. In principle the 'eselect kernel' setting should still be respected when binpkgs are used. Bug: https://bugs.gentoo.org/926063 Bug: https://bugs.gentoo.org/931213 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* linux-mod-r1.eclass: add USE=initramfsAndrew Ammerlaan2024-05-171-0/+54
| | | | | | | | | | | Adds a new variable that adds the "initramfs" flag when set. This new flag controls whether or not the modules that were built should be included in the initramfs. If the modules should be included, then we also rebuild the initramfs/uki in post_install using installkernel. Bug: https://bugs.gentoo.org/923025 Bug: https://bugs.gentoo.org/928271 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* cargo.eclass: Optimize crate unpackingMichał Górny2024-05-171-23/+33
| | | | | | | | | | | | Unpack crates in parallel using xargs to utilize multicore systems better. Perform checksumming via a single sha256sum invocation. For dev-python/watchfiles, this speeds up unpacking on my machine from 2.6 s to 0.75 s (warm cache). Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/36645 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Revert "Optimize crate unpacking"Michał Górny2024-05-151-33/+23
| | | | | | Reverts: 32928116fdcf631b6999705c78640e5718bd7a27 Bug: https://bugs.gentoo.org/931955 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Optimize crate unpackingMichał Górny2024-05-151-23/+33
| | | | | | | | | | | | Unpack crates in parallel using xargs to utilize multicore systems better. Perform checksumming via a single sha256sum invocation. For dev-python/watchfiles, this speeds up unpacking on my machine from 2.6 s to 0.75 s (warm cache). Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/36645 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* edob: do not die if log file existsFlorian Schmaus2024-05-141-1/+0
| | | | Signed-off-by: Florian Schmaus <flow@gentoo.org>
* texlive-common.eclass: eftmutil-sys: use edobFlorian Schmaus2024-05-141-3/+5
| | | | Signed-off-by: Florian Schmaus <flow@gentoo.org>
* edo.eclass: enhance edob for usage with noisy commandsFlorian Schmaus2024-05-142-10/+171
| | | | | | | | | | | | | | | | | Normally, edob can, or rather should, not be used with noisy commands, i.e., commands that produce an output. This is because the output destroys the concept of ebegin and eend, where the eend marker is shown on the same line that is produced by ebegin. However, it sometimes would be nice to use edob with noisy commands, but this means to redirect stdout and stderr of those commands. Instead of redirecting the output to /dev/null, we save the output in a log file under T. This allows us to present the output to the user in case the command fails, making it furthermore part of the build.log, which we expect users to attach to bug reports. Closes: https://github.com/gentoo/gentoo/pull/36117 Signed-off-by: Florian Schmaus <flow@gentoo.org>
* toolchain.eclass: don't depend on self if gnat-gplSam James2024-05-131-1/+1
| | | | | | | | | | | | | | | | Without this, we get: ``` * Error: circular dependencies: (sys-devel/gcc-13.2.1_p20240210:13/13::gentoo, ebuild scheduled for merge) depends on (dev-lang/gnat-gpl-2021-r5:10/10::gentoo, ebuild scheduled for merge) (buildtime) (sys-devel/gcc-13.2.1_p20240210:13/13::gentoo, ebuild scheduled for merge) (buildtime) ``` Reported on IRC by dormito. Fixes: 74414ea0c4d70c96bbec234df290d7e5f14d8f51 Signed-off-by: Sam James <sam@gentoo.org>
* eclass/acct-group.eclass: use $PN to construct make.conf override varsMichael Orlitzky2024-05-131-4/+6
| | | | | | | | | | | | If (after upcasing and replacing hyphens by underscores) ACCT_GROUP_NAME is set to something that isn't valid in a bash variable name, the eclass will crash: it uses ACCT_GROUP_NAME to construct the make.conf override variables in pkg_pretend() and src_install(). This commit constructs the variable names using PN instead of ACCT_GROUP_NAME. In ::gentoo, the two are equivalent, but in an overlay this allows weirder group names at the expense of slightly mismatched variable names. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
* eclass/acct-user.eclass: use $PN to construct make.conf override varsMichael Orlitzky2024-05-131-5/+7
| | | | | | | | | | | | If (after upcasing and replacing hyphens by underscores) ACCT_USER_NAME is set to something that isn't valid in a bash variable name, the eclass will crash: it uses ACCT_USER_NAME to construct the make.conf override variables in pkg_pretend() and src_install(). This commit constructs the variable names using PN instead of ACCT_USER_NAME. In ::gentoo, the two are equivalent, but in an overlay this allows weirder usernames at the expense of slightly mismatched variable names. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
* acct-group.eclass: make ACCT_GROUP_NAME writableMichael Orlitzky2024-05-131-4/+4
| | | | | | | | | | | The ACCT_GROUP_NAME variable is set to $PN by Gentoo policy. Prior to this commit, it was also marked "readonly", preventing it from being changed in an ebuild. In an overlay, and combined with the package naming restrictions in the PMS, this has the unfortunate side effect of prohibiting some otherwise-valid group names. We drop the "readonly" to allow those groups to be managed (in overlays) using GLEP81 packages. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
* acct-user.eclass: make ACCT_USER_NAME writableMichael Orlitzky2024-05-131-5/+5
| | | | | | | | | | | The ACCT_USER_NAME variable is set to $PN by Gentoo policy. Prior to this commit, it was also marked "readonly", preventing it from being changed in an ebuild. In an overlay, and combined with the package naming restrictions in the PMS, this has the unfortunate side effect of prohibiting some otherwise-valid usernames. We drop the "readonly" to allow those users to be managed (in overlays) using GLEP81 packages. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
* texlive-module.eclass: check if texmf-dist/doc/man existsFlorian Schmaus2024-05-131-1/+1
| | | | | | | | | | | | | | | | | | | Closes: https://bugs.gentoo.org/931798 Closes: https://bugs.gentoo.org/931799 Closes: https://bugs.gentoo.org/931800 Closes: https://bugs.gentoo.org/931801 Closes: https://bugs.gentoo.org/931802 Closes: https://bugs.gentoo.org/931803 Closes: https://bugs.gentoo.org/931804 Closes: https://bugs.gentoo.org/931805 Closes: https://bugs.gentoo.org/931806 Closes: https://bugs.gentoo.org/931807 Closes: https://bugs.gentoo.org/931808 Closes: https://bugs.gentoo.org/931809 Closes: https://bugs.gentoo.org/931810 Closes: https://bugs.gentoo.org/931811 Closes: https://bugs.gentoo.org/931812 Signed-off-by: Florian Schmaus <flow@gentoo.org>
* ant-tasks.eclass: drop ant-tasks.eclassVolkmar W. Pogatzki2024-05-131-172/+0
| | | | | | Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/36659 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* flag-o-matic.eclass: allow -mevex512 and -mno-evex512Sam James2024-05-121-0/+2
| | | | | | | | The whole -m/-mno-* situation needs to be improved in the eclass but let's do this for now for the benefit of Chromium (see 754d6f5226a532ed086afa276b48e89ffafe0484). Bug: https://bugs.gentoo.org/931623 Signed-off-by: Sam James <sam@gentoo.org>
* Add 19.0.0_pre20240509 snapshotMichał Górny2024-05-111-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* go-env.eclass: temporary EAPI guard for EAPI-6Joonas Niilola2024-05-111-1/+8
| | | | | | | | - there are still a handful of EAPI-6 ebuilds which don't support BDEPENDs. While the has_version check is imperfect without -b switch, this is better than nothing. I assume gcc[debug] isn't be that widely used either. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
* eclass/apache2.eclass: remove rustls dependencyHans de Graaff2024-05-111-1/+0
| | | | | | This dependency differs per ebuild and has been moved to the ebuilds. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* alternatives.eclass: support EAPI 8Sam James2024-05-111-3/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* go-env.eclass: update GCC workaround for LTOSam James2024-05-111-1/+1
| | | | | | | | Not fixed upstream yet so change workaround to look for sys-devel/gcc[debug] instead as 14 is released now. Bug: https://bugs.gentoo.org/912152 Signed-off-by: Sam James <sam@gentoo.org>
* perl-module.eclass: sort toolchain varsSam James2024-05-101-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* perl-module.eclass: respect toolchain environment for MakeMakerSam James2024-05-101-0/+8
| | | | | | | based on https://bugs.gentoo.org/261375#c5 and https://metacpan.org/dist/ExtUtils-MakeMaker/view/lib/ExtUtils/MakeMaker.pm#OPTIMIZE. Bug: https://bugs.gentoo.org/261375 Signed-off-by: Sam James <sam@gentoo.org>
* perl-module.eclass: stop using ${D} for MakeMaker in src_configureSam James2024-05-101-2/+1
| | | | | | | See https://metacpan.org/dist/ExtUtils-MakeMaker/view/lib/ExtUtils/MakeMaker.pm#DESTDIR. Bug: https://bugs.gentoo.org/778806 Signed-off-by: Sam James <sam@gentoo.org>
* perl-module.eclass: stop using ${D} for Module::Build in src_configureSam James2024-05-101-2/+1
| | | | | | | See https://github.com/Perl-Toolchain-Gang/Module-Build/blob/a2ecdf98c25af7dfc7070280232513e8ccec4986/lib/Module/Build/Cookbook.pm#L122. Bug: https://bugs.gentoo.org/778806 Signed-off-by: Sam James <sam@gentoo.org>
* perl-module.eclass: respect toolchain variables for Module::Build via ↵Sam James2024-05-101-1/+10
| | | | | | | | | --config ... Based off https://github.com/Perl-Toolchain-Gang/Module-Build/blob/a2ecdf98c25af7dfc7070280232513e8ccec4986/lib/Module/Build/Cookbook.pm#L63. Bug: https://bugs.gentoo.org/261375 Signed-off-by: Sam James <sam@gentoo.org>
* eclass/freedict.eclass: support EAPI8Michael Mair-Keimberger2024-05-091-4/+6
| | | | | | Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/36165 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
* eclass/vim-spell.eclass: support EAPI8Michael Mair-Keimberger2024-05-091-12/+11
| | | | | | Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/36166 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
* eclass/tests/python-utils-r1.sh: Fix pypy3 matchesMichał Górny2024-05-081-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Add python3_13Michał Górny2024-05-082-5/+5
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* epatch.eclass: Mark as DEADUlrich Müller2024-05-081-1/+2
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>