New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add mach build-stable to build with stable rustc #11945
Conversation
Github issue: servo#11806 Building with current stable rust (1.9.0) still fails because of feature pragmas in some dependencies (e.g. serde_item).
Thanks for the pull request, and welcome! The Servo team is excited to review your changes, and you should hear from @KiChjang (or someone else) soon. |
Heads up! This PR modifies the following files:
|
Looks good, thanks! @bors-servo r+ Reviewed 7 of 7 files at r1. Comments from Reviewable |
📌 Commit a1a1dec has been approved by |
Add mach build-stable to build with stable rustc <!-- Please describe your changes on the following line: --> Added mach subcommand (build-stable) to build servo and its dependencies using a stable version of rustc. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #11806 (github issue number if applicable). <!-- Either: --> - [X] These changes do not require tests because they're in the build process. I've manually tested both build and build-stable several times and in different orders and it seems to work. If the mach subcommands are tested automatically somewhere, I'll be happy to add a test, but I couldn't find it. This is an example of output I get, which is what I'd expect: ```plain [gpoesia@gabriel-notebook servo]$ ./mach build looking for rustc at /home/gpoesia/dev/servo/.servo/rust/2016-06-24/rustc-nightly-x86_64-unknown-linux-gnu/rustc/bin/rustc Downloading Rust compiler... Downloading Rust compiler: 100.0% Extracting Rust compiler... Rust compiler ready. Downloading Host rust library for target x86_64-unknown-linux-gnu... Downloading Host rust library for target x86_64-unknown-linux-gnu: 100.0% Extracting Rust stdlib for target x86_64-unknown-linux-gnu... Rust x86_64-unknown-linux-gnu libs ready. Build completed in 0:00:01 [gpoesia@gabriel-notebook servo]$ ./mach build Build completed in 0:00:02 [gpoesia@gabriel-notebook servo]$ ./mach build-stable looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc Rust compiler already downloaded. Use |bootstrap-rust --force| to download again. Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again. Compiling log v0.3.6 Compiling tenacious v0.2.1 Compiling traitobject v0.0.1 Compiling azure v0.4.6 (https://github.com/servo/rust-azure#4d72934a) Compiling crossbeam v0.2.9 /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1:1: 1:42 error: #[feature] may not be used on the stable release channel /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1 #![feature(plugin_registrar, box_syntax)] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3:1: 3:27 error: #[feature] may not be used on the stable release channel /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3 #![feature(rustc_private)] ^~~~~~~~~~~~~~~~~~~~~~~~~~ error: aborting due to 2 previous errors Build failed, waiting for other jobs to finish... error: Could not compile `tenacious`. To learn more, run the command again with --verbose. Build completed in 0:00:03 [gpoesia@gabriel-notebook servo]$ ./mach build-stable looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc Rust compiler already downloaded. Use |bootstrap-rust --force| to download again. Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again. Compiling js v0.1.3 (https://github.com/servo/rust-mozjs#707bfb4f) Compiling serde_item v0.2.0 Compiling encoding-index-tradchinese v1.20141219.5 Compiling angle v0.1.0 (https://github.com/servo/angle?branch=servo#d0a2db05) /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3:43: 3:74 error: #[feature] may not be used on the stable release channel /home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3 #![cfg_attr(not(feature = "with-syntex"), feature(rustc_private, plugin))] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: aborting due to previous error Build failed, waiting for other jobs to finish... error: Could not compile `serde_item`. To learn more, run the command again with --verbose. Build completed in 0:00:37 [gpoesia@gabriel-notebook servo]$ ``` <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Github issue: #11806 Building with current stable rust (1.9.0) still fails because of feature pragmas in some dependencies (e.g. serde_item). <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11945) <!-- Reviewable:end -->
☀️ Test successful - android, arm32, arm64, linux-dev, linux-rel, mac-dev-unit, mac-rel-css, mac-rel-wpt, windows |
Fix installation location for downloaded std packages Fixes a "can't find crate for `std`" error in mach build. Regression from #11945. r? @larsbergstrom <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12271) <!-- Reviewable:end -->
Added mach subcommand (build-stable) to build servo and its dependencies using a stable version of rustc.
./mach build -d
does not report any errors./mach test-tidy
does not report any errors./mach build-stable
sub-command #11806 (github issue number if applicable).This is an example of output I get, which is what I'd expect:
Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).
This change is