Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up[WIP] Use rustup to manage toolchains #17927
Conversation
highfive
commented
Aug 1, 2017
|
Heads up! This PR modifies the following files:
|
|
|
@SimonSapin: Thanks for the first two comments! As for the nightly vs stable issue, is geckolib the only case we use stable rust? If so would it be safe to remove (at least part) of the |
|
Also if not using |
|
Yes, geckolib is the only case where we use stable Rust. "Stable Rust version" in the context of Servo really means "minimum version that Firefox wants to support". (Search for "Mozilla-central can use" in https://wiki.mozilla.org/Rust_Update_Policy_for_Firefox.) And, indeed, LLVM assertions are already disabled in official stable channel builds, so "alt" toolchains are not relevant there. I think it’s fine to require that |
|
@shinglyu I believe the plan is that rustup will have access to alt toolchains soon. |
|
OK! I'll keep an eye on the alt-toolchains support for rustup |
Is there any issue/PR we can look at? |
|
rust-lang/rustup#1099 and https://internals.rust-lang.org/t/disabling-llvm-assertions-in-nightly-builds/5388 still need a decision on what’s the plan exactly. |
… this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC #11361 Unlike #17927, this does not make mach use rustup directly.
… this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC #11361 Unlike #17927, this does not make mach use rustup directly.
Switch back to pinning Rust by Nightly date instead of commit hash… … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC #11361 Unlike #17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18325) <!-- Reviewable:end -->
|
|
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : e3d41159bc4670ea990630e5342fe9b663a79fe5
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff
|
Done in #19395. |
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff UltraBlame original commit: 5df6f8fe6c50631fe00f47b69d16b8d555d90503
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff UltraBlame original commit: 5df6f8fe6c50631fe00f47b69d16b8d555d90503
…tead of commit hash… (from servo:rustup-toolchain); r=nox … this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29) ---- Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`. CC servo/servo#11361 Unlike servo/servo#17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed. Source-Repo: https://github.com/servo/servo Source-Revision: c4800a6c83e6fdabaf7c4eff70a24487d16f18ff UltraBlame original commit: 5df6f8fe6c50631fe00f47b69d16b8d555d90503
shinglyu commentedAug 1, 2017
•
edited by SimonSapin
[DO NOT MERGE]
This is an early prototype of using rustup to replace our rustc/cargo download logic. I'd like to collect some feedback before I start working on other platforms.
I'd also love to hear your opinion on how to approach the following issues:
ping @metajack
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is