summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* savedconfig.eclass: Drop support for EAPI 6Ulrich Müller9 hours1-6/+6
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* java-utils-2.eclass: fix ejunit_(), java-pkg_getjars --build-onlyVolkmar W. Pogatzki18 hours1-1/+1
| | | | | | | Closes: https://bugs.gentoo.org/936557 Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/37718 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* kernel-build.eclass: set toolchain variables more comprehensiblyAlfred Wingate2 days1-0/+7
| | | | | | | | | | | | | | | Building on llvm profiles is problematic if toolchain variables are not properly set. So set HOSTLD and HOSTAR to match at least the kernels own LLVM=1 variable to ensure a smoother build for end users. For example an unset HOSTLD causes issues as it defaults to GNU ld otherwise. https://docs.kernel.org/kbuild/llvm.html#the-llvm-argument Signed-off-by: Alfred Wingate <parona@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/37690 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: fix determining kernel release with MODULES=nAndrew Ammerlaan2 days1-9/+8
| | | | | | | | | | | | | | | | | | | | For module-less kernels 'make modules_prepare' does nothing, we only get kernel.release after running src_compile. Luckily the kernel has the "kernelrelease" target which we can use for this purpose. Note, in kernel-install.eclass we still read the kernel release directly from the file since a) kernel.release will always exist and b) calling make there again would require duplicating (some subset off) ${MAKEARGS[@]}. The "make help" page specifies that this target should be called with "-s". The version check is moved up, before 'make modules_prepare' so we quit earlier if the KV_FULL is wrong. Note it should be run after we have completed the config in 'make olddefconfig'. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/37694 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* eclass/kernel-{build,install}.eclass: link to config,Sys.map in moddirAndrew Ammerlaan2 days2-0/+9
| | | | | | | | | | | | | | | | The kernels 'make rpm-pkg' and 'make deb-pkg' install the config and System.map into the modules directory for easy access. Let's do the same here so our gpkg's are more symetric to rpm's and deb's and tools that look for these files there can find it. This also provides an easy location for the user to access the config. Considering that /boot/config-x.y.z does not always exist (the config instalation via /sbin/installkernel depends on layout and +/-systemd configuration). Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/37684 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* texlive-common.eclass: Add TEXLIVE_SCRIPTS_W_FILE_EXT variableFlorian Schmaus3 days1-2/+18
| | | | | | | | | | | | | | | | | Some scripts are supposed to be installed with file extensions [1, 2]. Add support for declaring those scripts in a new elcass variable TEXLIVE_SCRIPTS_W_FILE_EXT. Also use pure-bash functions to retrieve the basename and strip the file extensions. And use "declare -l" to lowercase the value of 'trg', instead of 'tr' [3]. 1: https://tug.org/pipermail/tldistro/2024q3/000485.html 2: https://github.com/TeX-Live/texlive-source/blob/c087bab35570b1d5cb0afd272611a7a4ec3c9e38/texk/texlive/linked_scripts/Makefile.am#L332-L333 3: https://github.com/TeX-Live/texlive-source/blob/c087bab35570b1d5cb0afd272611a7a4ec3c9e38/texk/texlive/linked_scripts/Makefile.am#L330 Bug: https://bugs.gentoo.org/934975 Signed-off-by: Florian Schmaus <flow@gentoo.org>
* greadme.eclass: new eclassFlorian Schmaus3 days1-0/+251
| | | | | | | | | | | | | | | This new eclass includes various improvements over the existing readme.gentoo-r1.eclass. First, the content of README.gentoo will only be shown on new installations or if it has changed between updates. Second, it allows the composition of readme via bash's heredoc. And finally, the eclass exports phase functions, which helps to reduce the boilerplate code in many cases. Signed-off-by: Florian Schmaus <flow@gentoo.org>
* llvm.eclass: Mark @DEPRECATEDMichał Górny4 days1-0/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm-r1.eclass: Do not default-enable unkeyworded slotsMichał Górny4 days1-2/+7
| | | | | | | | | | | | Change the IUSE defaults logic to default-enable the *oldest* ~arch version rather than the newest one, when no stable slots are supported. Since we only except a single ~arch version to exist, this effectively prevents the eclass from default-enabling the unkeyworded snapshots. Closes: https://bugs.gentoo.org/935681 Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/37473 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm-r1.eclass: LLVM 18 is now stableMichał Górny4 days1-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: main is now 20.xMichał Górny4 days1-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* java-pkg-simple.eclass: allow java-pkg-opt-2Volkmar W. Pogatzki4 days1-3/+15
| | | | | | | | | | | | | | Presently, "java-pkg-simple eclass can only be inherited AFTER java-pkg-2". This prevents packages with optional Java like dev-lang/cxprolog to be built with java-pkg-simple. This patch allows to inherit java-pkg-simple after any of java-pkg-2 and java-pkg-opt-2. Poposed by Alfred Wingate on #gentoo-dev-help on 2024-04-25 Closes: https://bugs.gentoo.org/930550 Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/37468/commits/6f27fbf4604d5504044a7eee3b765ce7efa83089 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* distutils-r1.eclass: Add distutils_enable_tests import-checkMichał Górny4 days1-1/+11
| | | | | | | Add support for using the dev-python/pytest-import-check plugin to test if all modules installed by the package can be imported. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Allow wheel reuse by defaultMichał Górny4 days1-1/+1
| | | | | | | | | Enable wheel reuse by default, since no issues were revealed during the testing so far. The option to disable them remains available, as it can be useful e.g. to verify that reproducible wheels are actually produced across implementation. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheelsMichał Górny4 days1-1/+1
| | | | | | | | | Fix the QA check to match on `*py3-none-any.whl` to match the code matching reusable wheels. This avoids false positives over `dev-python/backrefs` that creates separate pure Python wheels for every Python version. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: support unset MODULES_SIGN_{CERT,KEY}Andrew Ammerlaan5 days1-2/+2
| | | | | | | the kernel build system generates a key if not set, so don't check anything if the key is unset Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: add missing modules-sign conditional to cert/key checkAndrew Ammerlaan5 days1-22/+24
| | | | | Bug: https://bugs.gentoo.org/936402 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: don't check key/cert if merging binaryAndrew Ammerlaan6 days1-1/+1
| | | | | | Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/37640 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: check and fail early if key or cert in DER formatAndrew Ammerlaan6 days1-2/+22
| | | | | Bug: https://bugs.gentoo.org/936402 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* secureboot.eclass: check and fail early if key or cert in DER formatAndrew Ammerlaan6 days1-7/+19
| | | | | Bug: https://bugs.gentoo.org/936402 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* llvm.org.eclass: Add 19.0.0_pre20240720 snapshotMichał Górny7 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Drop support for EAPI 6Ulrich Müller7 days1-7/+4
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* kernel-build.eclass: Fix leftover dir_ver useMichał Górny8 days1-1/+1
| | | | | Fixes: da6193c02d0f (...make kernel install paths match release) Signed-off-by: Michał Górny <mgorny@gentoo.org>
* go-env.eclass: Add the go-env_goos() helper functionJames Le Cuirot11 days1-0/+18
| | | | | | | | This code is taken from dev-lang/go. No other packages have code like this, but some erroneously call `go env GOOS`, which is bad for cross-compiling. They should use this function instead. Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* go-env.eclass: Rewrite the go-env_goarch() logicJames Le Cuirot11 days1-15/+17
| | | | | | | | | The previous logic was flawed, incomplete, and needlessly made use of USE flags. We can rely on the tuple instead. Tested against all the tuples we have in our profiles. Closes: https://bugs.gentoo.org/935414 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* go-env.eclass: Establish EAPI 7 and 8 as supportedJames Le Cuirot11 days1-8/+7
| | | | Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* golang-base.eclass: Drop support for EAPI 5 and 6James Le Cuirot11 days1-8/+5
| | | | | | All such usage has gone. Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* golang-build.eclass: Drop support for EAPI 6James Le Cuirot11 days1-3/+3
| | | | | | All such usage has gone. Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* golang-vcs-snapshot.eclass: Drop support for EAPI 6James Le Cuirot11 days1-3/+3
| | | | | | All such usage has gone. Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* golang-vcs.eclass: Drop support for EAPI 6James Le Cuirot11 days1-3/+3
| | | | | | All such usage has gone. Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* kernel-install.eclass: improve kernel version checkJames Calligeros11 days1-5/+5
| | | | | | | | | Now that we have an improved version check in kernel-build.eclass, copy it here so that the two eclasses match. Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/37327 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: check that KV_FULL matches the kernel releaseJames Calligeros11 days1-1/+9
| | | | | | | | | | We want to ensure all our installed directories are consistent and match the kernel's own idea of its release version. Do an extra sanity check to ensure that KV_FULL is indeed what it is supposed to be, and bail out if it isn't. Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: sanity check the prepared kernel's release stringJames Calligeros11 days1-0/+13
| | | | | | | | | | | | Previously, this was only checked by kernel-install_pkg_preinst(). This means that the entire kernel would have to be built and stripped before we knew if we had built the correct kernel or not. Duplicate this check in kernel-build_src_configure() so that we don't waste time and energy building an incorrectly-versioned kernel. Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-{build,install}.eclass: make kernel install paths match releaseJames Calligeros11 days2-45/+60
| | | | | | | | | | | | | | | | | | | | | | | | | dist-kernel releases are required to match the package's version, with '_' substituted for '-' as per kernel release format rules. Curiously, we made no such substitution on the kernel install directory names. The consequence of this is that Catalyst has technically only been working with dist-kernels by pure coincidence - it had never been tested with kernels containing '_' in ${PV}. When attempting to build install media for the Gentoo Asahi project, which necessitates using kernels versioned with '_p*', Catalyst's call to Dracut's --kver argument passes in the name of the source directory while Dracut expects the kernel release (module directory). Make sure that all directories installed by the kernel match the kernel's own idea of its version exactly. This fixes Catalyst, makes directories like /usr/src/linux-* consistent with /lib/modules For compatibility with existing bin kernels, KV_FULL will be set to ${PV}${KV_LOCALVERSION} in kernel-install.eclass if it has not been explicitly set elsewhere. Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-install: Improve warning, consider alternate initrd generatorsZen11 days1-11/+24
| | | | | Signed-off-by: Zen <z@pyl.onl> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* gnome2-utils.eclass: remove EAPI 5 and 6David Seifert12 days1-63/+34
| | | | | Closes: https://github.com/gentoo/gentoo/pull/37081 Signed-off-by: David Seifert <soap@gentoo.org>
* gnome.org.eclass: remove EAPI 5 and 6David Seifert12 days1-14/+5
| | | | Signed-off-by: David Seifert <soap@gentoo.org>
* gnome2.eclass: remove EAPI 6David Seifert12 days1-27/+11
| | | | Signed-off-by: David Seifert <soap@gentoo.org>
* rebar3.eclass: add new eclassFlorian Schmaus12 days1-0/+194
| | | | | | | | | | Add a new eclass for dev-util/rebar:3, based on the work of Anna Vyalkova in ::guru (thanks!). The Erlang/OTP ecosystem is moving to Rebar3. Upstreams start to drop support for Rebar2, or at least consider it. Signed-off-by: Florian Schmaus <flow@gentoo.org>
* rebar.eclass: factor out common functions into rebar-utils.eclassFlorian Schmaus12 days2-109/+163
| | | | | | In preperation for rebar3.eclass, factor out common functions into rebar-utils.eclass. Signed-off-by: Florian Schmaus <flow@gentoo.org>
* llvm.org.eclass: Add 19.0.0_pre20240712 snapshotMichał Górny14 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Remove old snapshot hashesMichał Górny14 days1-6/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* mount-boot{,-utils}.eclass: Update @SUPPORTED_EAPISUlrich Müller2024-07-122-2/+2
| | | | | | It didn't agree with the case statement below. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* autotools.eclass: crank _LATEST_AUTOMAKE to get fixed 1.17-r1Sam James2024-07-121-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: add 1.17 to _LATEST_AUTOMAKESam James2024-07-121-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* git-r3.eclass: Drop support for EAPI 6Ulrich Müller2024-07-111-9/+4
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* vcs-snapshot.eclass: Drop support for EAPI 6Ulrich Müller2024-07-111-10/+6
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* kernel-build.eclass: Support python3.13Michał Górny2024-07-111-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* bzr.eclass: Mark as deadUlrich Müller2024-07-091-0/+1
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* kernel-2.eclass: Drop reference to BUILD_FIXES variableUlrich Müller2024-07-081-1/+1
| | | | | | Undocumented, and not used by any ebuilds inheriting this eclass. Signed-off-by: Ulrich Müller <ulm@gentoo.org>