summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* kernel-build.eclass: install dtb into /lib/modules instead of /bootNowa Ammerlaan36 hours1-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 Schmaus2 days1-0/+2
| | | | Signed-off-by: Florian Schmaus <flow@gentoo.org>
* eclass/nuget: add eclassdoc that describes how to generate the NUGETS listMaciej Barć3 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ć3 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órny4 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 Orlitzky5 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órny5 days1-9/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241123 snapshotMichał Górny5 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* Rename dev-python/{flit_scm → flit-scm}Michał Górny6 days1-2/+2
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: filter ↵Sam James6 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 James8 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 James8 days1-1/+1
| | | | | | | Followup followup to 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 and 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: followup Ada fixSam James8 days1-1/+1
| | | | | | Followup to 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: fix Ada bootstrap paths for crossSam James8 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 James9 days1-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 James9 days1-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 James9 days1-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órny10 days1-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* fcaps.eclass: leave permissions alone by defaultMike Gilbert10 days1-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 James10 days1-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 James10 days1-5/+7
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* rust.eclass: break up eclass documentationMatt Jolly12 days1-1/+3
| | | | Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: fix ECLASS_VARIABLE for LLVM/MULTILIBMatt Jolly12 days1-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>
* toolchain.eclass: Disable CET on x86Ian Jordan2024-11-121-1/+0
| | | | | | | | | | | | | Remove enable_cet_for 'i[34567]86' 'gnu' 'cet' from to prevent -fcf-protection on x86 systens where CET support will never be fully enabled anyway. This should help with bug #933772 also but I was unable to reproduce to confirm. Closes: https://bugs.gentoo.org/943332 Bug: https://bugs.gentoo.org/933772 Thanks-to: Sam James <sam@gentoo.org> Signed-off-by: Ian Jordan <immoloism@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* */*: rename account andrewammerlaan -> nowaNowa Ammerlaan2024-11-123-5/+5
| | | | | Closes: https://bugs.gentoo.org/940905 Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
* rust.eclass: revert simplified dependency simplificationMatt Jolly2024-11-121-15/+12
| | | | | | | | | | | | | | | | | | | | | The simplified dependency specification for cases where no RUST_MAX_SLOT is set is the desired end state, however the edge case where portage drops blockers with `--keep-going` has an unfortunate interaction where both packages are installed simultaneously, e.g. dev-lang/rust-1.82.0:stable and dev-lang/rust-1.82.0:1.82.0, and there's no easy way for end users to resolve that as the legacy (though masked) ebuilds will meet the simple Rust dependency. Both packages install rlibs with different hashes in them to the same path (as shown below) resulting in failures when a package attempts to link against an rlib and finds two. 1.82.0: .../x86_64-unknown-linux-gnu/lib/libunwind-fc4fe814489209c6.rlib 1.82.0-r100: .../x86_64-unknown-linux-gnu/lib/libunwind-ab65e6747cbe4a5a.rlib Bug: https://bugs.gentoo.org/943143 Bug: https://bugs.gentoo.org/943206 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* kernel-build.eclass: install x509.genkey and everything else in certs/Nowa Ammerlaan2024-11-121-8/+3
| | | | | | | | | | | | | | | | Users setting up kernel module signing are instructed by our and upstream documentation to use the kernels x509.genkey config file. This ensures that a supported key is generated. However, in the current situation users will first have to emerge gentoo-sources or similar to actually get this genkey file. This is inconvenient so lets just install the genkey config file in our dist-kernels. There are also some other tools, scripts, and lists that may be useful, so while we are changing this anyway lets just install all of those as well and in the process simplify the code. Signed-off-by: Nowa Ammerlaan <andrewammerlaan@gentoo.org>
* rust.eclass: fix typoMatt Jolly2024-11-121-1/+1
| | | | Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: define `usedep` before its first usageMatt Jolly2024-11-121-2/+1
| | | | | | | | | | The open-ended dependency (no `RUST_MAX_VER`) was generated before `usedep` was set to anything. Define `usedep` when the variable is initialised and let the `RUST_NEEDS_LLVM` path set it per llvm slot as required. Closes: https://bugs.gentoo.org/943289 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* toolchain.eclass: add comment explaining --with-newlibSam James2024-11-111-1/+4
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* eclass: update rust usedep handling; address feedbackMatt Jolly2024-11-111-60/+66
| | | | | | | | | | | | | | - Inherit llvm-r1 where required and let it die if LLVM_COMPAT is not set. - New variable: RUST_MULTILIB; if set will generate a multilib usedep for supported rust slots. - RUST_USEDEP -> RUST_REQ_USE to be consistent with other eclasses (ebuild updates handled in a followup commit). - Tidyup & address feedback - Improve RUST_MIN_VER (only) dependency specification Closes: https://bugs.gentoo.org/943206 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* cargo.eclass: check for and quote `CARGO`Matt Jolly2024-11-111-6/+16
| | | | | | | | | | | | A quick sanity check that `CARGO` is set in appropriate cargo_src_* phase functions will make it easier for users to catch occurrences where pkg_setup does not call rust_pkg_setup. Also inherit llvm-r1 if required and let it die instead of us if the environment is not properly setup. Closes: https://bugs.gentoo.org/943147 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* toolchain.eclass: Check for gnu environment when enabling cet on x86Andrei Horodniceanu2024-11-101-1/+1
| | | | | | | | | | Like we do for arm64 and amd64, diverge from the upstream check for linux and only enable it for gnu triples. Closes: https://bugs.gentoo.org/942951 Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> Closes: https://github.com/gentoo/gentoo/pull/39228 Signed-off-by: Sam James <sam@gentoo.org>
* rust.eclass: Fix conditional for ensuring that RUST_MIN_VER is setMatt Jolly2024-11-091-1/+1
| | | | | | | The check was negated meaning that RUST_MIN_VER would only be set when it was not required. Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: dependency strings: dev-lang/rust-bin firstMatt Jolly2024-11-091-2/+2
| | | | | | | | | | | | | | | | To better match the behaviour of the legacy virtual/rust package, update generated dependency strings so that dev-lang/rust-bin is output before dev-lang/rust. In the longer term it is expected that this will be reverted to the original order (prefer dev-lang/rust) as users that particularly care about this also have the option of selecting an appropriate binpkg. When selecting an installed Rust to use the non-bin package is still preferred over the -bin if both are installed. Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: add missing `/` in `get_rust_path` for `binary` builds.Matt Jolly2024-11-091-1/+1
| | | | Signed-off-by: Matt Jolly <kangie@gentoo.org>
* toolchain.eclass: call rust_pkg_setup for USE=rustSam James2024-11-091-0/+2
| | | | | | Followup to 583a1a9ac556d01e1b0df6fe64e67cb646fa4118. Noticed by inspection. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain: inherit rust eclass for `RUST_DEPEND`Matt Jolly2024-11-091-2/+4
| | | | | | | `RUST_OPTIONAL` is set so that ebuilds must explicitly consume Rust features. Signed-off-by: Matt Jolly <kangie@gentoo.org>
* cargo: update for rust eclassMatt Jolly2024-11-091-18/+41
| | | | | | | | | | | | | | | | Inherit the rust eclass and take advantage of eclass features like `RUST_MIN_VER`. `RUST_DEPEND` was moved into the rust eclass in the previous commit and is now prowided via this mechanism `CARGO_OPTIONAL` now sets `RUST_OPTIONAL`, requiring ebuilds to set `RUST_DEPEND` manually and manage both cargo and rust eclass functions. Replace calls to `cargo` with the rust eclass exported ${CARGO}. Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: Introduce new eclass for slotted RustMatt Jolly2024-11-091-0/+464
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rust eclass acts similarly to the llvm eclass. It works with optional `RUST_{MAX,MIN}_SLOT` variables to enable ebuilds to trivially dependencies on appropriate Rust SLOTs. A `RUST_NEEDS_LLVM` variable can be set to have the eclass read `LLVM_COMPAT` and generate an llvm-r1-USE-gated dependency string. `RUST_USEDEP`, if set will be included in the dependency string and checks against installed packages. In either case these are stored in `RUST_DEPEND` for consumpion in the ebuild, and added to BDEPEND unless unless `RUST_OPTIONAL` is set. `RUST_DEPEND` will only ever include in-tree slots; there is no need to set `RUST_MIN_VER` if all in-tree versions are suitable. If `RUST_MIN_VER` is set to a value older than the oldest in-tree slot it is treated as if it is set to the lowest available. The default `rust_pkg_setup` will prefix the selected slot to `PATH` and export `RUSTC` and `CARGO` variables pointing to that slot for ease-of-use. This should prevent issues like: Bug: https://bugs.gentoo.org/907492 Bug: https://bugs.gentoo.org/942444 Signed-off-by: Matt Jolly <kangie@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241106 snapshotMichał Górny2024-11-071-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Remove old snapshotsMichał Górny2024-11-071-9/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: further death hook fixesSam James2024-11-061-3/+3
| | | | | Fixes: d82f81cd65b9a668bd7940151e3fa876d4b0ce92 Signed-off-by: Sam James <sam@gentoo.org>
* java-ant-2.eclass: Remove dead eclassVolkmar W. Pogatzki2024-11-051-440/+0
| | | | | | | | | Bug: https://bugs.gentoo.org/268313 Bug: https://bugs.gentoo.org/318625 Bug: https://bugs.gentoo.org/539958 Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/39180 Signed-off-by: Florian Schmaus <flow@gentoo.org>
* java-utils-2.eclass: remove reference to java-ant-2.eclassVolkmar W. Pogatzki2024-11-051-19/+0
| | | | | Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Signed-off-by: Florian Schmaus <flow@gentoo.org>
* toolchain.eclass: fix death hooks for JIT buildSam James2024-11-031-12/+15
| | | | | | | | We want to recover logs from that too. Bug: https://bugs.gentoo.org/942769 Fixes: 5bed0c77a1c54ac9297db4bb54af2e45c0558ec7 Signed-off-by: Sam James <sam@gentoo.org>