From Gentoo WikiJump to:navigation Jump to:search
Attempt to document dev-lang/rust bump procedure (WIP):
high-level action item:
- bump dev-lang/rust-bin
- bump dev-lang/rust
- bump virtual/rust
- bump sys-devel/rust-std
Detailed steps for source ebuild:
- examine https://github.com/rust-lang/rust/blob/master/config.toml.example for any recent changes since last release, update src_configure() accordingly.
- update/rebase/cleanup patches as needed.
- build test with USE="clippy doc nightly rls rustfmt system-bootstrap verify-sig miri wasm"
- compile couple of high-profile packages: cbindgen ripgrep spidermonkey firefox
- now build with USE=system-llvm
- compile high-profile packages again
- compile with and without USE=system-bootstrap.
- test is current version can bootstrap itself, not only version-1. It's a common failure in bootstrap code.
- compile with FEATURES=test ERUST_RUN_EXTRA_TESTS=yes and check testsuite output, there will be some errors, look for codegen and critical ones. you will need ALL LLVM_TARGETS set for testsuite.
- repeat generic build, package compilation and testsuite on at least 1 alternative arch, arm64/ppc64 are good targets.
- compile on musl, amd64 or arm64, build ripgrep.
- update pre_build_checks() with new sizes if needed.
- check eselect-rust is working
- bump the rest (easy) and push