aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/devenv_commands.py
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2017-08-31 11:17:33 +0200
committerSimon Sapin <simon.sapin@exyr.org>2017-08-31 14:30:28 +0200
commit56b4f3ae70a217834f88a4233eb9989ff9cfec92 (patch)
tree4abd8e7eef44d83185a17854952f4c9ca514be73 /python/servo/devenv_commands.py
parentd795ceae17b2ce5346d4f211f73c62e5c25dce79 (diff)
downloadservo-56b4f3ae70a217834f88a4233eb9989ff9cfec92.tar.gz
servo-56b4f3ae70a217834f88a4233eb9989ff9cfec92.zip
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 https://github.com/servo/servo/issues/11361 Unlike https://github.com/servo/servo/pull/17927, this does not make mach use rustup directly.
Diffstat (limited to 'python/servo/devenv_commands.py')
-rw-r--r--python/servo/devenv_commands.py30
1 files changed, 7 insertions, 23 deletions
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py
index dae6a38b0ba..cbecb471c0d 100644
--- a/python/servo/devenv_commands.py
+++ b/python/servo/devenv_commands.py
@@ -136,7 +136,6 @@ class MachCommands(CommandBase):
if dry_run:
import toml
- import json
import httplib
import colorama
@@ -262,31 +261,16 @@ class MachCommands(CommandBase):
@Command('rustup',
description='Update the Rust version to latest Nightly',
category='devenv')
- @CommandArgument('--master',
- action='store_true',
- help='Use the latest commit of the "master" branch')
- def rustup(self, master=False):
- if master:
- url = "https://api.github.com/repos/rust-lang/rust/git/refs/heads/master"
- commit = json.load(urllib2.urlopen(url))["object"]["sha"]
- else:
- import toml
- import re
- url = "https://static.rust-lang.org/dist/channel-rust-nightly.toml"
- version = toml.load(urllib2.urlopen(url))["pkg"]["rustc"]["version"]
- short_commit = re.search("\(([0-9a-f]+) ", version).group(1)
- url = "https://api.github.com/repos/rust-lang/rust/commits/" + short_commit
- commit = json.load(urllib2.urlopen(url))["sha"]
- filename = path.join(self.context.topdir, "rust-commit-hash")
+ def rustup(self):
+ url = "https://static.rust-lang.org/dist/channel-rust-nightly-date.txt"
+ nightly_date = urllib2.urlopen(url).read()
+ filename = path.join(self.context.topdir, "rust-toolchain")
with open(filename, "w") as f:
- f.write(commit + "\n")
+ f.write("nightly-%s\n" % nightly_date)
- # Reset self.config["tools"]["rust-root"]
- self._rust_version = None
+ # Reset self.config["tools"]["rust-root"] and self.config["tools"]["cargo-root"]
+ self._rust_nightly_date = None
self.set_use_stable_rust(False)
-
- # Reset self.config["tools"]["cargo-root"]
- self._cargo_build_id = None
self.set_cargo_root()
self.fetch()