@@ -3,8 +3,8 @@ use std::{
3
3
process:: Command ,
4
4
} ;
5
5
6
- use crate :: core:: build_steps:: dist:: distdir;
7
6
use crate :: core:: builder:: Builder ;
7
+ use crate :: core:: { build_steps:: dist:: distdir, builder:: Kind } ;
8
8
use crate :: utils:: channel;
9
9
use crate :: utils:: helpers:: t;
10
10
@@ -325,7 +325,22 @@ impl<'a> Tarball<'a> {
325
325
assert ! ( !formats. is_empty( ) , "dist.compression-formats can't be empty" ) ;
326
326
cmd. arg ( "--compression-formats" ) . arg ( formats. join ( "," ) ) ;
327
327
}
328
- cmd. args ( [ "--compression-profile" , & self . builder . config . dist_compression_profile ] ) ;
328
+
329
+ // For `x install` tarball files aren't needed, so we can speed up the process by not producing them.
330
+ let compression_profile = if self . builder . kind == Kind :: Install {
331
+ self . builder . verbose ( "Forcing dist.compression-profile = 'no-op' for `x install`." ) ;
332
+ // "no-op" indicates that the rust-installer won't produce compressed tarball sources.
333
+ "no-op"
334
+ } else {
335
+ assert ! (
336
+ self . builder. config. dist_compression_profile != "no-op" ,
337
+ "dist.compression-profile = 'no-op' can only be used for `x install`"
338
+ ) ;
339
+
340
+ & self . builder . config . dist_compression_profile
341
+ } ;
342
+
343
+ cmd. args ( & [ "--compression-profile" , compression_profile] ) ;
329
344
self . builder . run ( & mut cmd) ;
330
345
331
346
// Ensure there are no symbolic links in the tarball. In particular,
0 commit comments