User:GYakovlev/Rust bump

From Gentoo Wiki
Jump to:navigation Jump to:search

Attempt to document dev-lang/rust bump procedure (WIP):

high-level action item:

  1. bump dev-lang/rust-bin
  2. bump dev-lang/rust
  3. bump virtual/rust
  4. bump sys-devel/rust-std


Detailed steps for source ebuild:

  1. examine https://github.com/rust-lang/rust/blob/master/config.toml.example for any recent changes since last release, update src_configure() accordingly.
  2. update/rebase/cleanup patches as needed.
  3. build test with USE="clippy doc nightly rls rustfmt system-bootstrap verify-sig miri wasm"
  4. compile couple of high-profile packages: cbindgen ripgrep spidermonkey firefox
  5. now build with USE=system-llvm
  6. compile high-profile packages again
  7. compile with and without USE=system-bootstrap.
  8. test is current version can bootstrap itself, not only version-1. It's a common failure in bootstrap code.
  9. 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.
  10. repeat generic build, package compilation and testsuite on at least 1 alternative arch, arm64/ppc64 are good targets.
  11. compile on musl, amd64 or arm64, build ripgrep.
  12. update pre_build_checks() with new sizes if needed.
  13. check eselect-rust is working
  14. bump the rest (easy) and push