Update to Rust 1.83.0
Resolves: RHEL-61966 Resolves: RHEL-61982
This commit is contained in:
		
							parent
							
								
									0e84ccd3a7
								
							
						
					
					
						commit
						7f86a9eced
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -31,3 +31,5 @@ SOURCES/wasi-libc-wasi-sdk-17.tar.gz
 | 
			
		||||
/rustc-1.81.0-src.tar.xz
 | 
			
		||||
/wasi-libc-b9ef79d7dbd47c6c5bafdae760823467c2f60b70.tar.gz
 | 
			
		||||
/rustc-1.82.0-src.tar.xz
 | 
			
		||||
/wasi-libc-wasi-sdk-24.tar.gz
 | 
			
		||||
/rustc-1.83.0-src.tar.xz
 | 
			
		||||
 | 
			
		||||
@ -1,147 +0,0 @@
 | 
			
		||||
From c15469a7fec811d1a4f69ff26e18c6f383df41d2 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Alex Crichton <alex@alexcrichton.com>
 | 
			
		||||
Date: Fri, 6 Sep 2024 09:21:33 -0700
 | 
			
		||||
Subject: [PATCH] Fix enabling wasm-component-ld to match other tools
 | 
			
		||||
 | 
			
		||||
It was [pointed out recently][comment] that enabling `wasm-component-ld`
 | 
			
		||||
as a host tool is different from other host tools. This commit refactors
 | 
			
		||||
the logic to match by deduplicating selection of when to build other
 | 
			
		||||
tools and then using the same logic for `wasm-component-ld`.
 | 
			
		||||
 | 
			
		||||
[comment]: https://github.com/rust-lang/rust/pull/127866#issuecomment-2333434720
 | 
			
		||||
---
 | 
			
		||||
 src/bootstrap/src/core/build_steps/compile.rs |  2 +-
 | 
			
		||||
 src/bootstrap/src/core/build_steps/dist.rs    |  2 +-
 | 
			
		||||
 src/bootstrap/src/core/build_steps/tool.rs    | 38 +++----------------
 | 
			
		||||
 src/bootstrap/src/lib.rs                      | 17 +++++----
 | 
			
		||||
 4 files changed, 17 insertions(+), 42 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
 | 
			
		||||
index 1936c91ef83c..102c9fd25543 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/build_steps/compile.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/build_steps/compile.rs
 | 
			
		||||
@@ -1912,7 +1912,7 @@ fn run(self, builder: &Builder<'_>) -> Compiler {
 | 
			
		||||
         // delegates to the `rust-lld` binary for linking and then runs
 | 
			
		||||
         // logic to create the final binary. This is used by the
 | 
			
		||||
         // `wasm32-wasip2` target of Rust.
 | 
			
		||||
-        if builder.build_wasm_component_ld() {
 | 
			
		||||
+        if builder.tool_enabled("wasm-component-ld") {
 | 
			
		||||
             let wasm_component_ld_exe =
 | 
			
		||||
                 builder.ensure(crate::core::build_steps::tool::WasmComponentLd {
 | 
			
		||||
                     compiler: build_compiler,
 | 
			
		||||
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
 | 
			
		||||
index 4957de2e1b79..ccb5656d6716 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/build_steps/dist.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/build_steps/dist.rs
 | 
			
		||||
@@ -473,7 +473,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
 | 
			
		||||
                     );
 | 
			
		||||
                 }
 | 
			
		||||
             }
 | 
			
		||||
-            if builder.build_wasm_component_ld() {
 | 
			
		||||
+            if builder.tool_enabled("wasm-component-ld") {
 | 
			
		||||
                 let src_dir = builder.sysroot_libdir(compiler, host).parent().unwrap().join("bin");
 | 
			
		||||
                 let ld = exe("wasm-component-ld", compiler.host);
 | 
			
		||||
                 builder.copy_link(&src_dir.join(&ld), &dst_dir.join(&ld));
 | 
			
		||||
diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs
 | 
			
		||||
index 3a1eb43b801f..3c2d791c2090 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/build_steps/tool.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/build_steps/tool.rs
 | 
			
		||||
@@ -693,14 +693,7 @@ impl Step for Cargo {
 | 
			
		||||
 
 | 
			
		||||
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
 | 
			
		||||
         let builder = run.builder;
 | 
			
		||||
-        run.path("src/tools/cargo").default_condition(
 | 
			
		||||
-            builder.config.extended
 | 
			
		||||
-                && builder.config.tools.as_ref().map_or(
 | 
			
		||||
-                    true,
 | 
			
		||||
-                    // If `tools` is set, search list for this tool.
 | 
			
		||||
-                    |tools| tools.iter().any(|tool| tool == "cargo"),
 | 
			
		||||
-                ),
 | 
			
		||||
-        )
 | 
			
		||||
+        run.path("src/tools/cargo").default_condition(builder.tool_enabled("cargo"))
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     fn make_run(run: RunConfig<'_>) {
 | 
			
		||||
@@ -772,14 +765,7 @@ impl Step for RustAnalyzer {
 | 
			
		||||
 
 | 
			
		||||
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
 | 
			
		||||
         let builder = run.builder;
 | 
			
		||||
-        run.path("src/tools/rust-analyzer").default_condition(
 | 
			
		||||
-            builder.config.extended
 | 
			
		||||
-                && builder
 | 
			
		||||
-                    .config
 | 
			
		||||
-                    .tools
 | 
			
		||||
-                    .as_ref()
 | 
			
		||||
-                    .map_or(true, |tools| tools.iter().any(|tool| tool == "rust-analyzer")),
 | 
			
		||||
-        )
 | 
			
		||||
+        run.path("src/tools/rust-analyzer").default_condition(builder.tool_enabled("rust-analyzer"))
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     fn make_run(run: RunConfig<'_>) {
 | 
			
		||||
@@ -821,12 +807,8 @@ fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
 | 
			
		||||
         run.path("src/tools/rust-analyzer")
 | 
			
		||||
             .path("src/tools/rust-analyzer/crates/proc-macro-srv-cli")
 | 
			
		||||
             .default_condition(
 | 
			
		||||
-                builder.config.extended
 | 
			
		||||
-                    && builder.config.tools.as_ref().map_or(true, |tools| {
 | 
			
		||||
-                        tools.iter().any(|tool| {
 | 
			
		||||
-                            tool == "rust-analyzer" || tool == "rust-analyzer-proc-macro-srv"
 | 
			
		||||
-                        })
 | 
			
		||||
-                    }),
 | 
			
		||||
+                builder.tool_enabled("rust-analyzer")
 | 
			
		||||
+                    || builder.tool_enabled("rust-analyzer-proc-macro-srv"),
 | 
			
		||||
             )
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
@@ -874,16 +856,8 @@ impl Step for LlvmBitcodeLinker {
 | 
			
		||||
 
 | 
			
		||||
     fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
 | 
			
		||||
         let builder = run.builder;
 | 
			
		||||
-        run.path("src/tools/llvm-bitcode-linker").default_condition(
 | 
			
		||||
-            builder.config.extended
 | 
			
		||||
-                && builder
 | 
			
		||||
-                    .config
 | 
			
		||||
-                    .tools
 | 
			
		||||
-                    .as_ref()
 | 
			
		||||
-                    .map_or(builder.build.unstable_features(), |tools| {
 | 
			
		||||
-                        tools.iter().any(|tool| tool == "llvm-bitcode-linker")
 | 
			
		||||
-                    }),
 | 
			
		||||
-        )
 | 
			
		||||
+        run.path("src/tools/llvm-bitcode-linker")
 | 
			
		||||
+            .default_condition(builder.tool_enabled("llvm-bitcode-linker"))
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     fn make_run(run: RunConfig<'_>) {
 | 
			
		||||
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
 | 
			
		||||
index c76ce3409562..780024e307ed 100644
 | 
			
		||||
--- a/src/bootstrap/src/lib.rs
 | 
			
		||||
+++ b/src/bootstrap/src/lib.rs
 | 
			
		||||
@@ -1407,16 +1407,17 @@ fn default_wasi_runner(&self) -> Option<String> {
 | 
			
		||||
         None
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
-    /// Returns whether it's requested that `wasm-component-ld` is built as part
 | 
			
		||||
-    /// of the sysroot. This is done either with the `extended` key in
 | 
			
		||||
-    /// `config.toml` or with the `tools` set.
 | 
			
		||||
-    fn build_wasm_component_ld(&self) -> bool {
 | 
			
		||||
-        if self.config.extended {
 | 
			
		||||
-            return true;
 | 
			
		||||
+    /// Returns whether the specified tool is configured as part of this build.
 | 
			
		||||
+    ///
 | 
			
		||||
+    /// This requires that both the `extended` key is set and the `tools` key is
 | 
			
		||||
+    /// either unset or specifically contains the specified tool.
 | 
			
		||||
+    fn tool_enabled(&self, tool: &str) -> bool {
 | 
			
		||||
+        if !self.config.extended {
 | 
			
		||||
+            return false;
 | 
			
		||||
         }
 | 
			
		||||
         match &self.config.tools {
 | 
			
		||||
-            Some(set) => set.contains("wasm-component-ld"),
 | 
			
		||||
-            None => false,
 | 
			
		||||
+            Some(set) => set.contains(tool),
 | 
			
		||||
+            None => true,
 | 
			
		||||
         }
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
2.46.0
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
From 184d61d2c12aa2db01de9a14ccb2be0cfae5039b Mon Sep 17 00:00:00 2001
 | 
			
		||||
From e12de251f8513f660bbfbc1c71883383bd1037f4 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Josh Stone <jistone@redhat.com>
 | 
			
		||||
Date: Fri, 9 Jun 2023 15:23:08 -0700
 | 
			
		||||
Subject: [PATCH] Let environment variables override some default CPUs
 | 
			
		||||
@ -10,12 +10,12 @@ Subject: [PATCH] Let environment variables override some default CPUs
 | 
			
		||||
 3 files changed, 3 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_gnu.rs
 | 
			
		||||
index 194c3170e683..9806ca78297c 100644
 | 
			
		||||
index 23913687a1fd..3253fbc84c74 100644
 | 
			
		||||
--- a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_gnu.rs
 | 
			
		||||
+++ b/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_gnu.rs
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 
 | 
			
		||||
 pub fn target() -> Target {
 | 
			
		||||
 pub(crate) fn target() -> Target {
 | 
			
		||||
     let mut base = base::linux_gnu::opts();
 | 
			
		||||
-    base.cpu = "ppc64le".into();
 | 
			
		||||
+    base.cpu = option_env!("RUSTC_TARGET_CPU_PPC64LE").unwrap_or("ppc64le").into();
 | 
			
		||||
@ -23,25 +23,25 @@ index 194c3170e683..9806ca78297c 100644
 | 
			
		||||
     base.max_atomic_width = Some(64);
 | 
			
		||||
     base.stack_probes = StackProbeType::Inline;
 | 
			
		||||
diff --git a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_gnu.rs
 | 
			
		||||
index 6fc410eb2235..c8f84edb9715 100644
 | 
			
		||||
index 3efbb4648361..bcdaa5b8276d 100644
 | 
			
		||||
--- a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_gnu.rs
 | 
			
		||||
+++ b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_gnu.rs
 | 
			
		||||
@@ -5,7 +5,7 @@ pub fn target() -> Target {
 | 
			
		||||
@@ -5,7 +5,7 @@ pub(crate) fn target() -> Target {
 | 
			
		||||
     let mut base = base::linux_gnu::opts();
 | 
			
		||||
     base.endian = Endian::Big;
 | 
			
		||||
     // z10 is the oldest CPU supported by LLVM
 | 
			
		||||
-    base.cpu = "z10".into();
 | 
			
		||||
+    base.cpu = option_env!("RUSTC_TARGET_CPU_S390X").unwrap_or("z10").into();
 | 
			
		||||
     // FIXME: The ABI implementation in cabi_s390x.rs is for now hard-coded to assume the no-vector
 | 
			
		||||
     // ABI. Pass the -vector feature string to LLVM to respect this assumption. On LLVM < 16, we
 | 
			
		||||
     // also strip v128 from the data_layout below to match the older LLVM's expectation.
 | 
			
		||||
     // FIXME: The ABI implementation in abi/call/s390x.rs is for now hard-coded to assume the no-vector
 | 
			
		||||
     // ABI. Pass the -vector feature string to LLVM to respect this assumption.
 | 
			
		||||
     base.features = "-vector".into();
 | 
			
		||||
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
 | 
			
		||||
index 80e267c163fa..8436a00e66d5 100644
 | 
			
		||||
index 59ec6c7f9d5f..b6f1be890b20 100644
 | 
			
		||||
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
 | 
			
		||||
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 
 | 
			
		||||
 pub fn target() -> Target {
 | 
			
		||||
 pub(crate) fn target() -> Target {
 | 
			
		||||
     let mut base = base::linux_gnu::opts();
 | 
			
		||||
-    base.cpu = "x86-64".into();
 | 
			
		||||
+    base.cpu = option_env!("RUSTC_TARGET_CPU_X86_64").unwrap_or("x86-64").into();
 | 
			
		||||
@ -49,5 +49,5 @@ index 80e267c163fa..8436a00e66d5 100644
 | 
			
		||||
     base.max_atomic_width = Some(64);
 | 
			
		||||
     base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
 | 
			
		||||
-- 
 | 
			
		||||
2.41.0
 | 
			
		||||
2.47.0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,9 @@
 | 
			
		||||
From 5d3e8210feabae1d80a9f21c18c9173b1fdc43ca Mon Sep 17 00:00:00 2001
 | 
			
		||||
From 65458aed68fe6786068bab00e5a46d7ecdd2a072 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?=E8=AE=B8=E6=9D=B0=E5=8F=8B=20Jieyou=20Xu=20=28Joe=29?=
 | 
			
		||||
 <39484203+jieyouxu@users.noreply.github.com>
 | 
			
		||||
Date: Thu, 17 Oct 2024 22:58:45 +0800
 | 
			
		||||
Subject: [PATCH] bootstrap: allow setting `--jobs` in config.toml
 | 
			
		||||
 | 
			
		||||
(cherry picked from commit 65458aed68fe6786068bab00e5a46d7ecdd2a072)
 | 
			
		||||
---
 | 
			
		||||
 config.example.toml                       |  5 ++
 | 
			
		||||
 src/bootstrap/src/core/config/config.rs   |  5 +-
 | 
			
		||||
@ -14,10 +13,10 @@ Subject: [PATCH] bootstrap: allow setting `--jobs` in config.toml
 | 
			
		||||
 5 files changed, 73 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/config.example.toml b/config.example.toml
 | 
			
		||||
index f1dc32234ccf..40c7ac9f5023 100644
 | 
			
		||||
index 4b591b949b36..168ac353cff7 100644
 | 
			
		||||
--- a/config.example.toml
 | 
			
		||||
+++ b/config.example.toml
 | 
			
		||||
@@ -401,6 +401,11 @@
 | 
			
		||||
@@ -414,6 +414,11 @@
 | 
			
		||||
 # Specify the location of the Android NDK. Used when targeting Android.
 | 
			
		||||
 #android-ndk = "/path/to/android-ndk-r26d"
 | 
			
		||||
 
 | 
			
		||||
@ -30,10 +29,10 @@ index f1dc32234ccf..40c7ac9f5023 100644
 | 
			
		||||
 # General install configuration options
 | 
			
		||||
 # =============================================================================
 | 
			
		||||
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
 | 
			
		||||
index bdfee55d8d18..c1e0f8c6b338 100644
 | 
			
		||||
index c2ab439891ea..aeb81b146382 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/config/config.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/config/config.rs
 | 
			
		||||
@@ -872,6 +872,7 @@ struct Build {
 | 
			
		||||
@@ -891,6 +891,7 @@ struct Build {
 | 
			
		||||
         metrics: Option<bool> = "metrics",
 | 
			
		||||
         android_ndk: Option<PathBuf> = "android-ndk",
 | 
			
		||||
         optimized_compiler_builtins: Option<bool> = "optimized-compiler-builtins",
 | 
			
		||||
@ -41,7 +40,7 @@ index bdfee55d8d18..c1e0f8c6b338 100644
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -1256,7 +1257,6 @@ pub(crate) fn parse_inner(
 | 
			
		||||
@@ -1289,7 +1290,6 @@ pub(crate) fn parse_inner(
 | 
			
		||||
         config.rustc_error_format = flags.rustc_error_format;
 | 
			
		||||
         config.json_output = flags.json_output;
 | 
			
		||||
         config.on_fail = flags.on_fail;
 | 
			
		||||
@ -49,7 +48,7 @@ index bdfee55d8d18..c1e0f8c6b338 100644
 | 
			
		||||
         config.cmd = flags.cmd;
 | 
			
		||||
         config.incremental = flags.incremental;
 | 
			
		||||
         config.dry_run = if flags.dry_run { DryRun::UserSelected } else { DryRun::Disabled };
 | 
			
		||||
@@ -1477,8 +1477,11 @@ fn get_table(option: &str) -> Result<TomlConfig, toml::de::Error> {
 | 
			
		||||
@@ -1511,8 +1511,11 @@ fn get_table(option: &str) -> Result<TomlConfig, toml::de::Error> {
 | 
			
		||||
             metrics: _,
 | 
			
		||||
             android_ndk,
 | 
			
		||||
             optimized_compiler_builtins,
 | 
			
		||||
@ -62,7 +61,7 @@ index bdfee55d8d18..c1e0f8c6b338 100644
 | 
			
		||||
             config.build = TargetSelection::from_user(&file_build);
 | 
			
		||||
         };
 | 
			
		||||
diff --git a/src/bootstrap/src/core/config/flags.rs b/src/bootstrap/src/core/config/flags.rs
 | 
			
		||||
index c3f174028149..7fdd5f8b8cae 100644
 | 
			
		||||
index 3aefe517a5be..bfeb811508c0 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/config/flags.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/config/flags.rs
 | 
			
		||||
@@ -110,11 +110,10 @@ pub struct Flags {
 | 
			
		||||
@ -79,12 +78,12 @@ index c3f174028149..7fdd5f8b8cae 100644
 | 
			
		||||
     // which passes -Dwarnings to the compiler invocations.
 | 
			
		||||
     #[arg(global = true, long)]
 | 
			
		||||
diff --git a/src/bootstrap/src/core/config/tests.rs b/src/bootstrap/src/core/config/tests.rs
 | 
			
		||||
index 219c5a6ec914..bc49074fa316 100644
 | 
			
		||||
index 2611b6cf51bb..1f02757682c2 100644
 | 
			
		||||
--- a/src/bootstrap/src/core/config/tests.rs
 | 
			
		||||
+++ b/src/bootstrap/src/core/config/tests.rs
 | 
			
		||||
@@ -317,3 +317,61 @@ fn order_of_clippy_rules() {
 | 
			
		||||
 
 | 
			
		||||
     assert_eq!(expected, actual);
 | 
			
		||||
@@ -352,3 +352,61 @@ fn parse_rust_std_features_empty() {
 | 
			
		||||
 fn parse_rust_std_features_invalid() {
 | 
			
		||||
     parse("rust.std-features = \"backtrace\"");
 | 
			
		||||
 }
 | 
			
		||||
+
 | 
			
		||||
+#[test]
 | 
			
		||||
@ -145,12 +144,12 @@ index 219c5a6ec914..bc49074fa316 100644
 | 
			
		||||
+    assert_eq!(config.jobs, Some(123));
 | 
			
		||||
+}
 | 
			
		||||
diff --git a/src/bootstrap/src/utils/change_tracker.rs b/src/bootstrap/src/utils/change_tracker.rs
 | 
			
		||||
index 51a25104e4cf..1f6a1064a5dc 100644
 | 
			
		||||
index b37786496cb5..9169bc90a45d 100644
 | 
			
		||||
--- a/src/bootstrap/src/utils/change_tracker.rs
 | 
			
		||||
+++ b/src/bootstrap/src/utils/change_tracker.rs
 | 
			
		||||
@@ -235,4 +235,9 @@ pub fn human_readable_changes(changes: &[ChangeInfo]) -> String {
 | 
			
		||||
@@ -275,4 +275,9 @@ pub fn human_readable_changes(changes: &[ChangeInfo]) -> String {
 | 
			
		||||
         severity: ChangeSeverity::Info,
 | 
			
		||||
         summary: "The `build.profiler` option now tries to use source code from `download-ci-llvm` if possible, instead of checking out the `src/llvm-project` submodule.",
 | 
			
		||||
         summary: "New option `./x setup editor` added, replacing `./x setup vscode` and adding support for vim, emacs and helix.",
 | 
			
		||||
     },
 | 
			
		||||
+    ChangeInfo {
 | 
			
		||||
+        change_id: 131838,
 | 
			
		||||
 | 
			
		||||
@ -154,16 +154,13 @@ EOF}\
 | 
			
		||||
# of a specific binary has been installed, but which conflicts between builds
 | 
			
		||||
# of different Rust applications and is not needed when building RPM packages.
 | 
			
		||||
%cargo_install\
 | 
			
		||||
(\
 | 
			
		||||
set -euo pipefail                                                   \
 | 
			
		||||
%{shrink:                                                         \
 | 
			
		||||
  %{__cargo} install                                              \
 | 
			
		||||
    %{__cargo_common_opts}                                        \
 | 
			
		||||
    --profile rpm                                                 \
 | 
			
		||||
    --no-track                                                    \
 | 
			
		||||
    --path .                                                      \
 | 
			
		||||
  }                                                                 \
 | 
			
		||||
)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# cargo_license: print license information for all crate dependencies
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										43
									
								
								rust.spec
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								rust.spec
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
			
		||||
Name:           rust
 | 
			
		||||
Version:        1.82.0
 | 
			
		||||
Version:        1.83.0
 | 
			
		||||
Release:        1%{?dist}
 | 
			
		||||
Summary:        The Rust Programming Language
 | 
			
		||||
License:        (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-DFS-2016)
 | 
			
		||||
@ -14,9 +14,9 @@ ExclusiveArch:  %{rust_arches}
 | 
			
		||||
# To bootstrap from scratch, set the channel and date from src/stage0.json
 | 
			
		||||
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
 | 
			
		||||
# or nightly wants some beta-YYYY-MM-DD
 | 
			
		||||
%global bootstrap_version 1.81.0
 | 
			
		||||
%global bootstrap_channel 1.81.0
 | 
			
		||||
%global bootstrap_date 2024-09-05
 | 
			
		||||
%global bootstrap_version 1.82.0
 | 
			
		||||
%global bootstrap_channel 1.82.0
 | 
			
		||||
%global bootstrap_date 2024-10-17
 | 
			
		||||
 | 
			
		||||
# Only the specified arches will use bootstrap binaries.
 | 
			
		||||
# NOTE: Those binaries used to be uploaded with every new release, but that was
 | 
			
		||||
@ -58,8 +58,7 @@ ExclusiveArch:  %{rust_arches}
 | 
			
		||||
# We need CRT files for *-wasi targets, at least as new as the commit in
 | 
			
		||||
# src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh
 | 
			
		||||
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc
 | 
			
		||||
#global wasi_libc_ref wasi-sdk-24
 | 
			
		||||
%global wasi_libc_ref b9ef79d7dbd47c6c5bafdae760823467c2f60b70
 | 
			
		||||
%global wasi_libc_ref wasi-sdk-24
 | 
			
		||||
%global wasi_libc_name wasi-libc-%{wasi_libc_ref}
 | 
			
		||||
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_ref}/%{wasi_libc_name}.tar.gz
 | 
			
		||||
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
 | 
			
		||||
@ -73,8 +72,8 @@ ExclusiveArch:  %{rust_arches}
 | 
			
		||||
%bcond_with llvm_static
 | 
			
		||||
 | 
			
		||||
# We can also choose to just use Rust's bundled LLVM, in case the system LLVM
 | 
			
		||||
# is insufficient.  Rust currently requires LLVM 17.0+.
 | 
			
		||||
%global min_llvm_version 17.0.0
 | 
			
		||||
# is insufficient.  Rust currently requires LLVM 18.0+.
 | 
			
		||||
%global min_llvm_version 18.0.0
 | 
			
		||||
%global bundled_llvm_version 19.1.1
 | 
			
		||||
#global llvm_compat_version 17
 | 
			
		||||
%global llvm llvm%{?llvm_compat_version}
 | 
			
		||||
@ -161,11 +160,8 @@ Patch5:         0002-set-an-external-library-path-for-wasm32-wasi.patch
 | 
			
		||||
# We don't want to use the bundled library in libsqlite3-sys
 | 
			
		||||
Patch6:         rustc-1.82.0-unbundle-sqlite.patch
 | 
			
		||||
 | 
			
		||||
# https://github.com/rust-lang/rust/pull/130034
 | 
			
		||||
Patch7:         0001-Fix-enabling-wasm-component-ld-to-match-other-tools.patch
 | 
			
		||||
 | 
			
		||||
# https://github.com/rust-lang/rust/pull/131838
 | 
			
		||||
Patch8:         0001-bootstrap-allow-setting-jobs-in-config.toml.patch
 | 
			
		||||
Patch7:         0001-bootstrap-allow-setting-jobs-in-config.toml.patch
 | 
			
		||||
 | 
			
		||||
### RHEL-specific patches below ###
 | 
			
		||||
 | 
			
		||||
@ -649,7 +645,6 @@ rm -rf %{wasi_libc_dir}/dlmalloc/
 | 
			
		||||
%patch -P6 -p1
 | 
			
		||||
%endif
 | 
			
		||||
%patch -P7 -p1
 | 
			
		||||
%patch -P8 -p1
 | 
			
		||||
 | 
			
		||||
%if %with disabled_libssh2
 | 
			
		||||
%patch -P100 -p1
 | 
			
		||||
@ -909,19 +904,6 @@ find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \
 | 
			
		||||
find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \
 | 
			
		||||
  -exec chmod -v +x '{}' '+'
 | 
			
		||||
 | 
			
		||||
# The libdir libraries are identical to those under rustlib/.  It's easier on
 | 
			
		||||
# library loading if we keep them in libdir, but we do need them in rustlib/
 | 
			
		||||
# to support dynamic linking for compiler plugins, so we'll symlink.
 | 
			
		||||
find %{buildroot}%{rustlibdir}/%{rust_triple}/lib/ -maxdepth 1 -type f -name '*.so' |
 | 
			
		||||
while read lib; do
 | 
			
		||||
 lib2="%{buildroot}%{_libdir}/${lib##*/}"
 | 
			
		||||
 if [ -f "$lib2" ]; then
 | 
			
		||||
   # make sure they're actually identical!
 | 
			
		||||
   cmp "$lib" "$lib2"
 | 
			
		||||
   ln -v -f -r -s -T "$lib2" "$lib"
 | 
			
		||||
 fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Remove installer artifacts (manifests, uninstall scripts, etc.)
 | 
			
		||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
 | 
			
		||||
 | 
			
		||||
@ -1027,10 +1009,6 @@ timeout -v 30m %{__x} test --no-fail-fast rustfmt || :
 | 
			
		||||
%{_libexecdir}/rust-analyzer-proc-macro-srv
 | 
			
		||||
%{_mandir}/man1/rustc.1*
 | 
			
		||||
%{_mandir}/man1/rustdoc.1*
 | 
			
		||||
%dir %{rustlibdir}
 | 
			
		||||
%dir %{rustlibdir}/%{rust_triple}
 | 
			
		||||
%dir %{rustlibdir}/%{rust_triple}/lib
 | 
			
		||||
%{rustlibdir}/%{rust_triple}/lib/*.so
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%files std-static
 | 
			
		||||
@ -1038,6 +1016,7 @@ timeout -v 30m %{__x} test --no-fail-fast rustfmt || :
 | 
			
		||||
%dir %{rustlibdir}/%{rust_triple}
 | 
			
		||||
%dir %{rustlibdir}/%{rust_triple}/lib
 | 
			
		||||
%{rustlibdir}/%{rust_triple}/lib/*.rlib
 | 
			
		||||
%exclude %{rustlibdir}/%{rust_triple}/lib/*.so
 | 
			
		||||
 | 
			
		||||
%global target_files()      \
 | 
			
		||||
%files std-static-%1        \
 | 
			
		||||
@ -1172,6 +1151,10 @@ timeout -v 30m %{__x} test --no-fail-fast rustfmt || :
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Thu Dec 05 2024 Josh Stone <jistone@redhat.com> - 1.83.0-1
 | 
			
		||||
- Update to 1.83.0
 | 
			
		||||
- Remove the subshell in the cargo_install macro
 | 
			
		||||
 | 
			
		||||
* Tue Nov 05 2024 Josh Stone <jistone@redhat.com> - 1.82.0-1
 | 
			
		||||
- Update to 1.82.0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								sources
									
									
									
									
									
								
							@ -1,2 +1,2 @@
 | 
			
		||||
SHA512 (rustc-1.82.0-src.tar.xz) = d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0
 | 
			
		||||
SHA512 (wasi-libc-b9ef79d7dbd47c6c5bafdae760823467c2f60b70.tar.gz) = 089ee1f9faeccae85697823d415e34aac56df28cd9db99952a148cb9f91532edbae4ea78f8cd9a223903caadeeb17cbc31d55ea65b020692e4841ddf3914821e
 | 
			
		||||
SHA512 (rustc-1.83.0-src.tar.xz) = 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6
 | 
			
		||||
SHA512 (wasi-libc-wasi-sdk-24.tar.gz) = ab9322dbcd0bb151ba3f5a8b722e04d39ea5d7632d0322257c3b67e4193d0de1b0820dd4db84923e7967f24189d02dd242693ea95ad184a309eec4d27df8ba21
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user