summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* dev-lang/rust{,-bin}: Add 1.54.0Matt Jolly2 days1-0/+2
| | | | | | | | | | | | | | | | | | These are the the old ebuilds, updated to be slotted. Other changes: - `USE=rls` was dropped at some point, this is now hard-enabled. - As the LLVM is far too old for Gentoo we are using the bundled LLVM exclusively. In particular, dev-lang/rust:1.54.0 forms an important part of the upcoming 'bootstrap Rust without Rust binaries' path. Bug: https://bugs.gentoo.org/943706 Closes: https://github.com/gentoo/gentoo/pull/39464 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* cargo.eclass: add trivial crate overridesMatt Jolly2 days1-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating vulnerable (or otherwise outdated) crates in Rust ebuilds is painful. Generally speaking, there are 5 options: - Run `cargo update` to fetch new versions from the web. This is obviously not suitable for use in Portage. - Patch the software via Portage to accept a non-vulnerable crate. This is a reasonable option when the package is not too complex but still requires significant developer effort and some familiarity with Cargo. In the case of complex patches this may not be feasible, or require the generation of a dependency tarball. - [patch] the source (repository) in Cargo.toml. This enables the targeting of specific crates, but does not allow the replacement of only a specific version in the depgraph. - [replace] a particular crate:version in the Cargo.toml. This enables the targeting of a particular version with an arbitrary path however the replacement crate must *have the same version* as the one being overridden. - `paths = [...]` overrides: pass an array of paths to directories that contain a Cargo.toml. Cargo will override any crate with the same package name arbitrarily, ignoring the lock file and versions; typically used for testing. Is applied via ${CARGO_HOME}/config.toml (i.e. globally) This commit: - Implements the `paths` overrides, which will work even when Cargo is configured to use a vendored directory. This is not a 'smart' replacement and care must be taken to ensure that all versions of the crate in use are compatible (`cargo tree` will help). - Provides a helper which runs `cargo --update --offline` against ${ECARGO_VENDOR} (where ${CRATES} are unpacked). This enables the replacement of vulnerable versions in ${CRATES}. It is up to the consumer to ensure that only the desired crates are being replaced and that package behaviour does not change. Resources: - https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html - https://github.com/rust-lang/cargo/issues/3308 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* cargo.eclass: add ${CARGO_BOOTSTRAP}Matt Jolly2 days1-2/+14
| | | | | | | | | This variable enables ebuilds to tell the eclass to ignore the minimum Rust/Cargo version reqirement. It is intended for use when bootstrapping older Rust, consumers who are not dev-lang/rust should have a good reason for using this. Signed-off-by: Matt Jolly <kangie@gentoo.org>
* toolchain.eclass: rename libdiagnostics -> libgdiagnosticsSam James2 days1-4/+4
| | | | | | | | | This was only added last week so no transition/compatibility stuff here. It was renamed upstream because Debian reported a library called libdiagnostics already existed. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: refactor common ada and d bootstrap codeAndrei Horodniceanu3 days1-56/+112
| | | | | | | | | | | | Additionally, when cross compiling only look for a bootstrap gcc that matches the SLOT that is currently being built since both ada and d would fail with any other version. Also correct some CBUILD vs CHOST usage to support cross-compiling ada. Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> Closes: https://github.com/gentoo/gentoo/pull/39019 Signed-off-by: Sam James <sam@gentoo.org>
* rust.eclass: add rust-1.83.0Sam James3 days1-0/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add more mirrors to EGIT_REPO_URISam James3 days1-1/+6
| | | | | | | | | | sourceware was down earlier, so add some mirrors. sourcehut is an official mirror (albeit an experiment IIRC) by sourceware and x86-gcc is run by H.J. Lu. gcc-mirror on github (which was in the list already) looks like an automatic one but let's leave it last. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: move more for nvptxSam James4 days1-4/+4
| | | | | Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: move nvptx files to accel/ subdirSam James4 days1-0/+18
| | | | | | | | | | This is what Fedora does and it seems to have fixed the issue I was having with needing to manually move libgomp.{a,spec} and then after that, getting undefined references to gomp_nvptx_main (which I assume is because the plugin wasn't being loaded). Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241130 snapshotMichał Górny4 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Disable setuptools trove-classifier validationMichał Górny4 days1-0/+2
| | | | | Closes: https://github.com/gentoo/gentoo/pull/39042 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Depend on dev-lang/pypy directlyMichał Górny4 days2-8/+5
| | | | | | | | | | | | Depend on `>=dev-lang/pypy-3.10:=` rather than the backwards compatibility `dev-python/pypy3` package. Note that the package needs to remain at least for some time after the next subslot bump, so that users rebuild all packages and get the updated dependency across the system. Note that this requires pkgcheck to be updated first. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-any-r1.eclass: Remove obsolete variableMichał Górny4 days1-2/+1
| | | | | | Remove a leftover variable from before PYTHON_PKG_DEP was used. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-any-r1.eclass: Fix python_gen_any_dep w/ PYTHON_REQ_USEMichał Górny4 days1-1/+1
| | | | | | | | Fix `python_gen_any_dep()` to correctly strip the `:=` operator when it does not occur at the end of `PYTHON_PKG_DEP`, i.e. when `PYTHON_REQ_USE` is used and a USE dependency string is appended. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Revert "disable setuptools validation ..."Michał Górny4 days1-1/+0
| | | | | | | Unauthorized changes, superseded by a later patchset. Reverts: 4f313c8a60d62cceab147cb62d2a4ee07484dd50 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: filter -Werror=format-securitySam James4 days1-0/+3
| | | | | Bug: https://gcc.gnu.org/PR100431 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: wire up offloading for nvptxSam James4 days1-2/+30
| | | | | | | | | | | | 'crossdev -t nvptx-none' creates a standalone cross-compiler which is needed anyway, but by itself, it's less useful than offloading support within host gcc, where GCC can choose to offload into that cross-compiler as appropriate. This could include amdgcn-amdhsa support in the future. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: wire up nvptx moreSam James4 days1-1/+2
| | | | | | | | | We need to handle nvptx* in CTARGET in a few more places so we propagate that we're using newlib (which is obviously right but also means we don't then fail when building libatomic b/c libg.a is missing). Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James <sam@gentoo.org>
* distutils-r1.eclass: disable setuptools validation of pypi.org allowed stringsEli Schwartz5 days1-0/+1
| | | | | | | | | | In the previous commit, a change was patched into setuptools to enable skipping pypi.org specific validations we do not want. Export the environment variable which activates this, whenever the build backend is setuptools. Bug: https://github.com/pypa/setuptools/issues/4459 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
* distutils-r1.eclass: Also do SETUPTOOLS_RUST_CARGO_PROFILE uncond.Michał Górny5 days1-3/+3
| | | | | Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
* distutils-r1.eclass: Use HATCH_METADATA_CLASSIFIERS_NO_VERIFYMichał Górny5 days1-0/+3
| | | | | | Bug: https://github.com/pypa/hatch/issues/1368 Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
* distutils-r1.eclass: Update maturin's skip auditwheel optionIonen Wolkens5 days1-2/+2
| | | | | | | | | | | >=maturin-1.7.1 has deprecated --skip-auditwheel and added --auditwheel=<check|repair|skip> to replace it. Update and set the lower bound to latest stable rather than use has_version. Signed-off-by: Ionen Wolkens <ionen@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/39204 Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
* python-utils-r1.eclass: Move python3_13t before other python*Michał Górny5 days1-1/+1
| | | | | | | | | | Move the python3_13t target on the list before other CPython targets. This means it's technically "less preferred", so e.g. *all phases would rather be performed with regular CPython, which should generally be more faster. Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
* kernel-build.eclass: install dtb into /lib/modules instead of /bootNowa Ammerlaan7 days1-2/+3
| | | | | | | | | | | | | | | | Systemd's kernel-install hooks expect it here or in the firmware directory. We need to find it for building UKI's and registering BLS type 1 entries. Fedora and Arch also install the dtb files here. If it is needed in /boot then it is probably a better idea to delegate that task to /sbin/installkernel anyway. That way the part of the emerge that writes to /boot is contained to only the postinst and config phases and makes it possible to re-try this via emerge --config ... . Closes: https://bugs.gentoo.org/945072 Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/39486 Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
* texlive-module.eclass: add man pages of texlive 2024Florian Schmaus8 days1-0/+2
| | | | Signed-off-by: Florian Schmaus <flow@gentoo.org>
* eclass/nuget: add eclassdoc that describes how to generate the NUGETS listMaciej Barć8 days1-0/+15
| | | | | | | Some users asked for it. Also add a link to the Gentoo Wiki with more specific examples. Signed-off-by: Maciej Barć <xgqt@gentoo.org>
* eclass/dotnet-pkg-base: disable MSBUILDTERMINALLOGGER from .NET 9.0Maciej Barć8 days1-0/+3
| | | | | | | Disable the fancy terminal logger introduced in .NET 9.0. If enabled, it messes up with the Portage log file output. Signed-off-by: Maciej Barć <xgqt@gentoo.org>
* toolchain.eclass: Throw an error if trying to disable time64Michał Górny10 days1-0/+13
| | | | | | | | | | | Throw an error if the user is trying to build a non-time64 version of GCC on a system featuring a time64 GCC already. Most of the time, this will mean that the user has accidentally switched to a non-time64 profile. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/39384 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* gap-pkg.eclass: update HOMEPAGE templateMichael Orlitzky11 days1-1/+1
| | | | | | | The GAP website is redirecting these, and we might save them the trouble of doing so. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
* llvm.org.eclass: Remove old snapshotsMichał Górny11 days1-9/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241123 snapshotMichał Górny11 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* Rename dev-python/{flit_scm → flit-scm}Michał Górny12 days1-2/+2
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: filter ↵Sam James12 days1-0/+1
| | | | | | -fdiagnostics-set-output=text:experimental-nesting=yes for < 15 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: revert Ada changes for nowSam James14 days1-4/+4
| | | | | | | | | I need to do some more. Revert my earlier changes for now. Reverts: 97069fd8721ea55980e548b9cf1d55e2a234a514 Reverts: 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 Reverts: 1b5d47858780c700e706582aa370a69148552055 Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: another Ada cross fixSam James14 days1-1/+1
| | | | | | | Followup followup to 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 and 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: followup Ada fixSam James14 days1-1/+1
| | | | | | Followup to 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fix Ada bootstrap paths for crossSam James14 days1-2/+2
| | | | | | | Same sort of thing as 434a6775ce93a15ef517478565a938aa73d1d528 although the paths are different as we're using something from libexec (gnat1). Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fix libdiagnostics handling (more)Sam James2024-11-191-1/+1
| | | | | | | | | | I continue to mix up how tc_version_is_at_least works. One day I'll change it... Closes: https://bugs.gentoo.org/944007 Fixes: f6a974f8f2378c6c6a83345c101afce233fdf1d7 Fixes: b923a4c0d1a330e40f0a05f3bc94bb4f32ce1cbb Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fix libdiagnostics handlingSam James2024-11-191-1/+4
| | | | | | | | | | Reported by ulm. This was introduced by a last-minute simplification I made, but USE=libdiagnostics only exists for 9999 and the *next* snapshot, not the current one, but even then, the code was wrong for < 15 as the use_enable part was run unconditionally w/ USE=jit. Fixes: b923a4c0d1a330e40f0a05f3bc94bb4f32ce1cbb Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: wire up libdiagonsticsSam James2024-11-191-2/+6
| | | | | | | See https://gcc.gnu.org/wiki/libdiagnostics. New shared library for diagnostics in GCC. Also provides the 'sarif-replay' tool. Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241118 snapshotMichał Górny2024-11-181-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* fcaps.eclass: leave permissions alone by defaultMike Gilbert2024-11-181-9/+26
| | | | | | | | | | | | | | | | | Removing the read bit from suid binaries has questionable security benefit, and may cause problems for some software. Instead of clobbering the entire file mode, just toggle the suid bit if needed. In most cases this will result in a world-readable file. Introduce the FCAPS_DENY_WORLD_READ setting for users who insist on having their suid binaries unreadable. Skip calling chown/chmod if the owner/mode is empty. This may be used by ebuild authors in certain use cases. Bug: https://bugs.gentoo.org/938164 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* toolchain.eclass: drop -g for src_testSam James2024-11-181-4/+0
| | | | | | | | | | | | | | | I was seriously mistaken on this: `1 file changed, 2228 deletions(-)` when testing dropping it. -g ultimately causes many more matches because of debug statements and it confuses so many tests. I must have just made an error when testing other big test flag changes around the time. This reverts commit 7200aecb3db3b2dd91129e1530bcb75ce096af91. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: only show checking warning w/ USE=-debugSam James2024-11-181-5/+7
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* rust.eclass: break up eclass documentationMatt Jolly2024-11-171-1/+3
| | | | Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: fix ECLASS_VARIABLE for LLVM/MULTILIBMatt Jolly2024-11-171-2/+2
| | | | | | | | | RUST_NEEDS_LLVM and RUST_MULTILIB incorrectly had ECLASS_VARIABLE in lowercase, resulting in these variables not ending up in documentation. Closes: https://bugs.gentoo.org/943559 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* toolchain.eclass: fix time64 conditional for kgcc64Sam James2024-11-141-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: unconditionally pass --disable-cet on x86Andrei Horodniceanu2024-11-131-0/+1
| | | | | | | | | | | | | | | d6cb7a61dad7e9672a8448597835dbbf9b9e0ccf removed the check that passed --enable-cet or --disable-cet to configure making the script fallback to automagic. The goal was to prevent passing --enable-cet on x86 gnu triples as that would lead to gcc failing to build under crossdev. Note that this specific crossdev cet issue has been solved in crossdev by package.use.mask'ing the cet USE flag for gcc on x86 but targets configured before that can still have the cet USE flag enabled. Bug: https://bugs.gentoo.org/943332 Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> Closes: https://github.com/gentoo/gentoo/pull/39300 Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241113 snapshotMichał Górny2024-11-131-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* rust.eclass: cross compile fixesMike Gilbert2024-11-131-6/+6
| | | | | | | | | | Change _get_rust_slot to default to -b/BROOT. Reuse _get_rust_slot result in pkg_setup. Pass along arguments from get_rust_prefix to _get_rust_slot. Signed-off-by: Mike Gilbert <floppym@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/39298 Signed-off-by: Matt Jolly <kangie@gentoo.org>