A few changes that might need explanation in this update.
First, we use the Cargo source bundled in the rustc tar. This is the recommended way to compile Cargo by upstream (see these comments on Cargo PR 4623). This came about because upstream removed the Cargo.lock file from the repo. This causes issues when compiling Cargo, where the versions of dependent crates do not match those used by upstream releases, mostly with tests. Also, upstream has been slow to tag releases on Github for the last couple Cargo releases. Using the source bundled with rustc means Cargo can be updated as soon as there is a new rust release.
Second, tests are disabled at this moment. There are a few issues upstream with the tests failing erroneously. When using the bundled rustc sources there is a test that fails, because it detects the wrong Cargo.toml (Cargo issue #4755/Rust issue #48255). If compiled with the upstream tagged releases a git test fails, because the output is slightly different than expected. This is due to version differences in the newer git2 crate (Cargo issue #4908). Tests will be re-enabled once upstream fixes (one of) these issues.