@@ -8,7 +8,11 @@ use std::fs::{self, File};
8
8
use std:: io;
9
9
use tempfile:: tempdir;
10
10
11
- static RUSTUP_BASE_URL : & str = "https://static.rust-lang.org/rustup/dist" ;
11
+ // we're using an old version of rustup, since rustup 1.28 is broken for rustwide for now.
12
+ // We'll try to either fix rustup, or adapt rustwide to fix this, until then, we'll use this version.
13
+ // see https://github.com/rust-lang/rustup/issues/4224
14
+ // static RUSTUP_BASE_URL: &str = "https://static.rust-lang.org/rustup/dist";
15
+ static RUSTUP_VERSION : & str = "1.27.1" ;
12
16
13
17
pub ( crate ) struct Rustup ;
14
18
@@ -37,10 +41,10 @@ impl Tool for Rustup {
37
41
fs:: create_dir_all ( workspace. rustup_home ( ) ) ?;
38
42
39
43
let url = format ! (
40
- "{ }/{}/rustup-init{}" ,
41
- RUSTUP_BASE_URL ,
42
- crate :: HOST_TARGET ,
43
- EXE_SUFFIX
44
+ "https://static.rust-lang.org/rustup/archive/{version }/{target }/rustup-init{exe_suffix }" ,
45
+ version = RUSTUP_VERSION ,
46
+ target = crate :: HOST_TARGET ,
47
+ exe_suffix = EXE_SUFFIX
44
48
) ;
45
49
let mut resp = workspace
46
50
. http_client ( )
@@ -75,11 +79,7 @@ impl Tool for Rustup {
75
79
76
80
fn update ( & self , workspace : & Workspace , _fast_install : bool ) -> anyhow:: Result < ( ) > {
77
81
Command :: new ( workspace, & RUSTUP )
78
- . args ( & [ "self" , "update" ] )
79
- . run ( )
80
- . context ( "failed to update rustup" ) ?;
81
- Command :: new ( workspace, & RUSTUP )
82
- . args ( & [ "update" , MAIN_TOOLCHAIN_NAME ] )
82
+ . args ( & [ "update" , MAIN_TOOLCHAIN_NAME , "--no-self-update" ] )
83
83
. run ( )
84
84
. with_context ( || format ! ( "failed to update main toolchain {}" , MAIN_TOOLCHAIN_NAME ) ) ?;
85
85
Ok ( ( ) )
0 commit comments