Hey folks.
I’ve gone through and done a quick summary of the status of each of the issues identified in this thread. The TL;DR is that while several of the issues have been fixed, there’s a lot of work left to do. I have not put much focused effort into these myself.
I think the most notable development is that and @alexcrichton and @wycats agree in principal to adding a new “local registry”, where the packages live on the local filesystem instead of crates.io. This was originally called a “non-goal”, and we expected distros to use path-rewriting to redirect dependencies locally. In @gus’s experience that solution was quite unpleasant, and we want to provide official support for sourcing packages locally.
Task: Compiler command line customization in the Rust makefile
Issue: https://github.com/rust-lang/rust/issues/29554
Status: Fixed. Thanks @bltaveras
Task: Bootstrapping from previous releases
Issue: https://github.com/rust-lang/rust/issues/29555
Status: No progress. @alexcrichton’s build system rewrite though removes snapshots, which is part of the solution. This should be solved sooner than a build system rewrite.
Task: Re-bootstrapping from the current release
Issue: https://github.com/rust-lang/rust/issues/29556
Status: No progress.
Task: Bootstrapping unstable code from a stable compiler
Issue: https://github.com/rust-lang/rust/issues/295577
Status: I’ve put some thought into it, solicited opinions about how to do it, and scrapped a partial patch.
Task: Dynamic LLVM
Issue: https://github.com/rust-lang/rust/issues/29558
Status: Fixed. Thanks @DiamondLovesYou
Task: Add an i586-unknown-linux-gnu target spec
Issue: TODO
Status: Still don’t know the right solution for this. Debian’s default i386 target is older than Rust’s. For now it’s a Debian problem.
Task: Teach the makefile to mix in additional ‘extra filename’ information
Issue: https://github.com/rust-lang/rust/issues/29559
Status: PR open
Task: Ensure that SxS installation of crates from multiple compilers works reliably.
Issue: https://github.com/rust-lang/rust/issues/29560
Status: No progress.
Task: Fix --libdir issues
Issue: https://github.com/rust-lang/rust/issues/29561
Status: Fixed. Thanks @wthrowe
Task: Disambiguate system-installed crates during resolution
Issue: https://github.com/rust-lang/rust/issues/16402
Status: No progress.
Task: Update Homebrew packages
Issue: https://github.com/rust-lang/rust/issues/29562
Status: No progress.
Task: Produce packaging guidelines
Issue: https://github.com/rust-lang/rust/issues/29563
Status: No progress.
Task: Publish source tarballs of Cargo releases
Issue: https://github.com/rust-lang/cargo/issues/2107
Status: No progress.
Task: Pair Cargo releases with Rust releases
Issue: https://github.com/rust-lang/cargo/issues/2108
Status: Partially fixed. The Cargo that Rust releases are paired with is tagged with a release number. Still don’t have the automation up to make Cargo release artifacts.
Task: Make binary releases of Cargo
Issue: https://github.com/rust-lang/cargo/issues/2109
Status: No progress.
Task: Validate that Cargo releases build with the corresponding Rust release
Issue: TODO
Status: No progress.
Task: Bootstrap Cargo without Cargo
Issue: https://github.com/rust-lang/cargo/issues/2110
Status: No progress. I’m having second thoughts about doing this at all though. ISTM that once a distro has a binary version of Cargo they can build future
Task: Enable Cargo to work without any network access
Issue: https://github.com/rust-lang/cargo/issues/2111
Status: No progress, though there’s a new issue about making Cargo work with local registries instead of crates.io.
Task: Compiler command line customization
Issue: https://github.com/rust-lang/cargo/issues/2112
Status: PR open.