summaryrefslogtreecommitdiff
path: root/dev-lang/rust/rust-9999.ebuild
AgeCommit message (Collapse)Author
4 daysdev-lang/rust: SPIRV is an official target since 1.87Z. Liu
Signed-off-by: Z. Liu <zhixu.liu@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44884 Closes: https://github.com/gentoo/gentoo/pull/44884 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-15dev-lang/rust: don't generate extra lockfilesAlfred Wingate
This causes problems with stale crate induced breakage that upstream rust doesn't appear to be affected by. Notably this downgraded crates to older versions than what were available at src_prepare time. Removing this got me around this issue and I didn't encounter workspaces needing this. In this instance, we hit an issue w/ icu_properties being pinned when upstream CI doesn't seem to be hitting that: ``` Locking 510 packages to latest compatible versions ... Adding icu_properties v2.0.1 (available: v2.1.1) ``` That said, we seem to pass locked-deps in our bootstrap args, as upstream CI does at https://github.com/rust-lang/rust/blob/503dce33e2e2a5d2fe978b2723ab2a994cc27472/src/ci/run.sh#L66. [sam: Include an example.] Bug: https://github.com/unicode-org/icu4x/issues/7190 Signed-off-by: Alfred Wingate <parona@protonmail.com> Signed-off-by: Sam James <sam@gentoo.org>
2025-11-04dev-*/*: update for virtual/zlibMichał Górny
Update done using: ``` git grep -l sys-libs/zlib dev-* | xargs sed -i -e s@sys-libs/zlib@virtual/zlib@g git diff --name-only | xargs copybump git diff --name-only | xargs grep -l PYTHON_COMPAT | xargs gpy-impl -@dead pkgcheck scan --commits -c SourcingCheck,VisibilityCheck --exit error ``` Followed by manual revert in dev-python/zlib-ng where it accidentally caught sys-libs/zlib-ng dependencies. Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-31dev-lang/rust: link to wiki bump notesSam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-10-31dev-lang/rust: add TODO for optimized-compiler-builtins for system-llvmSam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-10-31dev-lang/rust: add 1.91.0Sam James
As discussed in bug #963657, I've changed RUST_PATCH_VER to use _p* rather than -rN which makes it painful to revbump Rust for any other reason. I haven't made any actual changes to fix the linked bug though. Bug: https://bugs.gentoo.org/963657 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-20dev-lang/rust: don't try to delete new JSON target fileSam James
etc/target-spec-json-schema.json now gets installed by Rust but gets caught by the sanity check we have for cleaning up bash-completion (which gets handled by dev-lang/rust-common). It's now expected to have something left in etc/, so cleanup the rmdir accordingly to just kill the bash-completion dir. Note that this JSON file doesn't seem appropriate for rust-common because: 1) it's generated (so would require us to build something to install it); 2) per the commit introducing it: > Because the schema is subject to change, you should always use the schema > from the version of rustc which you are passing the target to. > > The existence and name of this schema is, just like the properties of the > JSON specification, not stable and subject to change. Closes: https://bugs.gentoo.org/964416 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-20dev-lang/rust: explain bash-completion rmSam James
This came up in the context of bug #964416 where someone was confused as to its purpose, so explain it. Bug: https://bugs.gentoo.org/689562 Bug: https://bugs.gentoo.org/689160 Bug: https://bugs.gentoo.org/964416 Signed-off-by: Sam James <sam@gentoo.org>
2025-10-10dev-lang/rust: Add `RUST_SYSROOTS` as `USE_EXPAND` variableMichal Rostecki
Add a new `USE_EXPAND` variable called `RUST_SYSROOTS` which allows to specify additional Rust sysroots to build. Rust sysroot is a directory which contains the prebuilt standard libraries (in form of `*.rlib` files) and utility binaries (e.g. `rust-objcopy`). This variable is limited to bare metal targets. Sysroot for targets not falling into that category contain a local copy of compiler runtime, libc and unwinder, so crossdev is a better fit for them. In this change, the only `RUST_SYSROOT` option is `wasm`, which enables build of a sysroot for `wasm32-unknown-unknown` target and replaces the former `wasm` USE flag. Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-10-02dev-lang/rust: add 1.91.0Matt Jolly
Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-07-29dev-lang/rust: move patches from files/ to git repoMatt Jolly
Add reminder to ebuild to update the git repo and make a new tag as required instead of using filesdir: that's how we end up exceeding the limit; things are very rarely cleaned up here! Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-07-29dev-lang/rust: update 9999Matt Jolly
- Enable building with 1.89.0 - bootstrap.toml - `rust.description` -> `build.description` See-also: https://github.com/rust-lang/rust/commit/e7f5bbe7438019ac6af84ce4f8cc04ab2df8c744 Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-07-19dev-lang/rust: match LLVM_TARGETSSam James
We already depend on the right LLVM targets but without =, but we need that as it's automagic otherwise. I'm not completely convinced we need it here, but my aim is to avoid breaking things and then improve more later. Bug: https://bugs.gentoo.org/735154 Bug: https://bugs.gentoo.org/767700 Bug: https://bugs.gentoo.org/768267 Signed-off-by: Sam James <sam@gentoo.org>
2025-06-04dev-lang/rust: actually fix verify sigMatt Jolly
My previous fix didn't actually unpack tarballs at all. Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-06-04dev-lang/rust: fix verify-sigMatt Jolly
When the patch tarballs were added the ebuilds were not updated to ensure that only upstream-signed files are verified. Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-06-04dev-lang/rust, sys-devel/rust-std: disable py3.10Matt Jolly
Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-06-04{dev-lang,sys-devel}/rust*: add 1.88.0_beta20250526Matt Jolly
This is our first beta for 1.88.0, corresponding to beta.4 upstream. It is also the first release where `beta` and `live` ebuilds get their patches from gitweb rather than ${FILESDIR}. Changes: - in line with upstream changes, `config.toml` has been renamed to `bootstrap.toml`. - `*bootstrap.toml` has `change-id = "ignore"` added to suppress warnings that are not useful to downstream. - after discussion with upstream `x.py` verbosity reduced to `-v`. - restrictions on building beta with only the last stable have been dropped, these can be restored if required. Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-06-04dev-lang/rust: drop i586 baseline patchMatt Jolly
Rust upstream have identified issues with this patch relating to broken x87 handling in LLVM. Drop the patch and revbump all impacted revisions to ensure that this is cleaned up. Closes: https://www.github.com/gentoo/gentoo/pulls/40616 Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-05-17dev-lang/rust: use system dev-libs/onigurumaSam James
It's a good idea anyway but it also avoids the C23 issue. We should look at unbundling the other bits but I'd like to avoid requiring libssh2 if we can help it unconditionally so punting on that for now w/ a comment. Closes: https://bugs.gentoo.org/956044 Signed-off-by: Sam James <sam@gentoo.org>
2025-04-20dev-lang/rust: allow building with moldblackteahamburger
Closes: https://bugs.gentoo.org/952925 Signed-off-by: blackteahamburger <blackteahamburger@outlook.com> Closes: https://github.com/gentoo/gentoo/pull/41387 Signed-off-by: Sam James <sam@gentoo.org>
2025-04-10dev-lag/rust: require lld only if USE="lto system-llvm"Z. Liu
Signed-off-by: Z. Liu <zhixu.liu@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/41523 Signed-off-by: Sam James <sam@gentoo.org>
2025-03-21dev-lang/rust: fix build using clang but not lldZ. Liu
use-lld appeared first in commit bfba6ef328bbba327cae8918e795c11b89217672 refactored in commit befd1eb4ec78e19f0c8628fa75241ea3ed6ec792 Closes: https://bugs.gentoo.org/948027 Signed-off-by: Z. Liu <zhixu.liu@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/40772 Signed-off-by: Sam James <sam@gentoo.org>
2025-03-20dev-lang/rust: provide more neutral `default-linker`Sam James
... otherwise CC at the time of building dev-lang/rust is baked in, which is problematic if e.g. CC=clang-19 is used and then it gets depcleaned later (as reported on the gentoo-user ML). Signed-off-by: Sam James <sam@gentoo.org>
2025-02-27dev-lang/rust-9999: include commit infoMatt Jolly
By default VCS checkouts don't include commit info in the version string to save on rebuilds. We don't have to worry about incremental builds in Gentoo, and having a date and commit for the live ebuild will greatly assist in any troubleshooting we have to do (or bug reports for upstream). Signed-off-by: Matt Jolly <kangie@gentoo.org>
2025-02-25dev-lang/rust: Enable dynamic linking by default for musl targetsMichal Rostecki
We already have a similar patch for versions before 1.85.0. Change rust-lang/rust@9c37c14aa245, which got released in 1.85.0, made us think that such a patch is not needed anymore, but that's not true. Upstream didn't fix the existing individual targets yet. Bug: https://bugs.gentoo.org/950275 Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/40752 Signed-off-by: Sam James <sam@gentoo.org>
2025-02-22dev-lang/rust: fix experimental targets checkZ. Liu
1. target in ALL_LLVM_TARGETS has prefix llvm_targets_, so the check in last commit failed always. 2. using associate array for the test of experimental target's existence 3. sed -i 's:LLVM_EXPERIMENTAL_TARGETS:RUST_EXPERIMENTAL_TARGETS:g' to fix warning on var name collide with ALL_LLVM_EXPERIMENTAL_TARGETS in llvm.org.eclass Fixes: ff8e2b548c258e60463b1df0224beda29c7aacec Signed-off-by: Z. Liu <zhixu.liu@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/40698 Signed-off-by: Sam James <sam@gentoo.org>
2025-02-21dev-lang/rust: add `beta` and `nightly` channelsMatt Jolly
While currently unkeyworded, the intent is that eventually `beta` will only ever be keyworded `testing` (i.e. not stabilised) and will enable us to catch regressions on esoteric systems and report them upstream before a stable release is cut (and we have to do the same thing anyway, but with revbumps). All `beta` channel releases will share a single `SLOT`, i.e. 1.85.0_beta20250208 has `SLOT` 1.85.0, the same as the eventual `stable` release. Installing different `beta` releases side-by-side is not supported via Portage (and it's unlikely that they will stay in-tree for long once superseded). This enables straightforward `ver_test` comparisons to reflect a particular 'version'. `nightly` is a VCS sources ebuild template which will soon be the only way to get `nightly` Rust via Portage (from source, anyway, a followup commit will add a 'dev-lang/rust-bin' nightly binary release, using upstream infrastructure). Nightly can only be built by the `beta` channel release. Signed-off-by: Matt Jolly <kangie@gentoo.org> unkeyword betas Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>