summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* rust.eclass: cross compile fixesMike Gilbert12 days1-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 Jordan12 days1-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 Ammerlaan12 days3-5/+5
| | | | | Closes: https://bugs.gentoo.org/940905 Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
* rust.eclass: revert simplified dependency simplificationMatt Jolly13 days1-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 Ammerlaan13 days1-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 Jolly13 days1-1/+1
| | | | Signed-off-by: Matt Jolly <kangie@gentoo.org>
* rust.eclass: define `usedep` before its first usageMatt Jolly13 days1-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 James13 days1-1/+4
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* eclass: update rust usedep handling; address feedbackMatt Jolly14 days1-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 Jolly14 days1-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>
* toolchain.eclass: Add USE=time64 to 14.2.1_p20241026 and newerMichał Górny2024-11-011-0/+4
| | | | | Acked-by: Sam James <sam@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: filter -fdiagnostics-details tooSam James2024-10-301-1/+1
| | | | | | Same as 72d5ea56d41b7d5aac351854b7479f5c2c430c83, the flag got renamed. Signed-off-by: Sam James <sam@gentoo.org>
* java-utils-2.eclass: remove undocumented unused functionVolkmar W. Pogatzki2024-10-301-4/+0
| | | | | | | | Removes java-pkg_set-current-vm Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/38836 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* toolchain.eclass: filter -Warray-bounds if building DSam James2024-10-301-0/+5
| | | | | | Bug: https://gcc.gnu.org/PR116975 Closes: https://bugs.gentoo.org/940750 Signed-off-by: Sam James <sam@gentoo.org>
* eclass/dotnet-pkg-base: add efsi function for running FSIMaciej Barć2024-10-301-0/+12
| | | | | | This will replace "edotnet fsi" as used in "app-shells/pwsh" package. Signed-off-by: Maciej Barć <xgqt@gentoo.org>
* eclass/dotnet-pkg-base: turn off DOTNET_NUGET_SIGNATURE_VERIFICATIONMaciej Barć2024-10-301-0/+3
| | | | | | | | | | Speeds up "dotnet restore". Especially can be noticed when running without network sandbox. Suggested by vimproved on IRC - thanks! See also: https://github.com/NuGet/Home/issues/13062 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241029 snapshotMichał Górny2024-10-291-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241023 snapshotMichał Górny2024-10-231-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: filter -fdiagnostics-explain-harderSam James2024-10-211-0/+4
| | | | | | | | This is an experimental flag not yet merged upstream but filtering it makes it easier to test with so it doesn't confuse older unpatched (locally) GCCs. Signed-off-by: Sam James <sam@gentoo.org>
* qt6-build.eclass: extend -m* flags sanitizingIonen Wolkens2024-10-191-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | A user on the forums reported a build failure with: `-march=znver4 -mavx512vp2intersect` On its own, there is no issue there (expanded from -march=native) but when Qt passes `-march=haswell` to build certain parts (e.g. avx2 bits for runtime detection regardless of what CHOST supports), it overrides znver4 and keeps -mavx512vp2intersect resulting in an incomplete set and then qsimd_p.h complains Do not plan to pursue this myself, but this specific issue could be improved upstream by passing -mavx2 and others rather than -march=haswell (this would also allow overriding a -mno-avx2 that we currently need to change), and/or ideally by making qsimd_p.h be able to deal with these configurations without #error. If problems keep piling up, could consider always filtering *all* -m{,no-}<instr> flags and doing x86-64-v* unconditionally. Albeit that'd still require maintaining a list of these not to filter unrelated -m* flags which could be important. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* cvs.eclass: New eclass variable ECVS_SSH_EXTRA_OPTSUlrich Müller2024-10-181-0/+12
| | | | | | This allows passing additional options to ssh. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* cvs.eclass: Rewrite the ssh wrapper script in bashUlrich Müller2024-10-181-45/+17
| | | | | | | | | OpenSSH version 8.4 and later supports the SSH_ASKPASS_REQUIRE environment variable which allows to force the use of the SSH_ASKPASS program. This makes detaching the process from its controlling terminal (TIOCNOTTY ioctl) and setting the DISPLAY variable unnecessary. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* cvs.eclass: Add local declarations and die statements throughoutUlrich Müller2024-10-181-68/+52
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* ecm-common.eclass: Add missing dev-qt/qt{core,base}:[56] BDEPENDAndreas Sturmlechner2024-10-161-1/+9
| | | | | Closes: https://bugs.gentoo.org/941617 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* verify-sig.eclass: Add support for verifying sigstore signaturesMichał Górny2024-10-161-5/+49
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* verify-sig.eclass: Error out on invalid method+function combosMichał Górny2024-10-161-0/+9
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* verify-sig.eclass: Refactor code to use extra_args for all typesMichał Górny2024-10-161-3/+8
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* ecm-common.eclass: Allow ebuilds to set/override cmake argsAndreas Sturmlechner2024-10-151-1/+5
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241015 snapshotMichał Górny2024-10-151-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* llvm.org.eclass: Remove code for old snapshotsMichał Górny2024-10-151-9/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Do not use stable ABI wheels in freethreadingMichał Górny2024-10-141-3/+10
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Support python3_13t (freethreading) targetMichał Górny2024-10-142-10/+11
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-r1.eclass: get rid of python.eclass mentionAlexander Kurakin2024-10-141-4/+0
| | | | | | Signed-off-by: Alexander Kurakin <kuraga333@mail.ru> Closes: https://github.com/gentoo/gentoo/pull/38929 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-install.eclass: fix objcopy overwriting ukiAndrew Ammerlaan2024-10-101-1/+4
| | | | | | | | | | | From the manual: If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile. We don't want that. Unfortunately we cannot use /dev/null as dump, objcopy complains, so we dump it in T instead. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* llvm.org.eclass: Add 20.0.0_pre20241009 snapshotMichał Górny2024-10-091-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass: canonicalize debug-print-function callsDavid Seifert2024-10-0858-402/+402
| | | | | Closes: https://github.com/gentoo/gentoo/pull/37652 Signed-off-by: David Seifert <soap@gentoo.org>