def format_build_time(duration):
return str(datetime.timedelta(seconds=int(duration)))
-class RustBuild:
+
+class RustBuild(object):
def download_stage0(self):
cache_dst = os.path.join(self.build_dir, "cache")
rustc_cache = os.path.join(cache_dst, self.stage0_rustc_date())
os.makedirs(cargo_cache)
if self.rustc().startswith(self.bin_root()) and \
- (not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
+ (not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
if os.path.exists(self.bin_root()):
shutil.rmtree(self.bin_root())
channel = self.stage0_rustc_channel()
f.write(self.stage0_rustc_date())
if self.cargo().startswith(self.bin_root()) and \
- (not os.path.exists(self.cargo()) or self.cargo_out_of_date()):
+ (not os.path.exists(self.cargo()) or self.cargo_out_of_date()):
channel = self.stage0_cargo_channel()
filename = "cargo-{}-{}.tar.gz".format(channel, self.build)
url = "https://static.rust-lang.org/cargo-dist/" + self.stage0_cargo_date()
def get_string(self, line):
start = line.find('"')
- end = start + 1 + line[start+1:].find('"')
- return line[start+1:end]
+ end = start + 1 + line[start + 1:].find('"')
+ return line[start + 1:end]
def exe_suffix(self):
if sys.platform == 'win32':
sys.exit(ret)
def build_triple(self):
+ default_encoding = sys.getdefaultencoding()
config = self.get_toml('build')
if config:
return config
if config:
return config
try:
- ostype = subprocess.check_output(['uname', '-s']).strip()
- cputype = subprocess.check_output(['uname', '-m']).strip()
+ ostype = subprocess.check_output(['uname', '-s']).strip().decode(default_encoding)
+ cputype = subprocess.check_output(['uname', '-m']).strip().decode(default_encoding)
except (subprocess.CalledProcessError, WindowsError):
if sys.platform == 'win32':
return 'x86_64-pc-windows-msvc'
# Darwin's `uname -s` lies and always returns i386. We have to use
# sysctl instead.
if ostype == 'Darwin' and cputype == 'i686':
- sysctl = subprocess.check_output(['sysctl', 'hw.optional.x86_64'])
+ args = ['sysctl', 'hw.optional.x86_64']
+ sysctl = subprocess.check_output(args).decode(default_encoding)
if ': 1' in sysctl:
cputype = 'x86_64'