rust: update to 1.80.0
authorAleksey Vasilenko <aleksey.vasilenko@gmail.com>
Thu, 25 Jul 2024 13:25:01 +0000 (16:25 +0300)
committerTianling Shen <cnsztl@immortalwrt.org>
Mon, 2 Sep 2024 08:55:33 +0000 (16:55 +0800)
- Remove two upstreamed patches
- Manually refresh one patch
- Automatically refresh another patch

Signed-off-by: Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
(cherry picked from commit 8d68f0b0dbb0d3f3929144507e28a449c67ea3ca)

lang/rust/Makefile
lang/rust/patches/0001-Update-xz2-and-use-it-static.patch
lang/rust/patches/0002-correct-the-handling-of-bootstrap-cache-path-option.patch [deleted file]
lang/rust/patches/0003-bump-libc-deps-to-0.2.146.patch
lang/rust/patches/0004-Use-an-helper-to-move-the-files.patch [deleted file]

index cdf3c2adf97a7b55294e03707de3c1f414f31641..d56b965d62b4e95993d7271bafc32b89bd219e02 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rust
-PKG_VERSION:=1.78.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.80.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz
 PKG_SOURCE_URL:=https://static.rust-lang.org/dist/
-PKG_HASH:=ff544823a5cb27f2738128577f1e7e00ee8f4c83f2a348781ae4fc355e91d5a9
+PKG_HASH:=6f606c193f230f6b2cae4576f7b24d50f5f9b25dff11dbf9b22f787d3521d672
 HOST_BUILD_DIR:=$(BUILD_DIR)/host/rustc-$(PKG_VERSION)-src
 
 PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
index fe10529bc61e00d8b0aa475ffca687db68d4ba93..4971f3ff2c752ca015878e1de8058b921133292e 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] Update xz2 and use it static
 
 --- a/src/bootstrap/Cargo.toml
 +++ b/src/bootstrap/Cargo.toml
-@@ -61,7 +61,7 @@ tar = "0.4"
+@@ -62,7 +62,7 @@ tar = "0.4"
  termcolor = "1.4"
  toml = "0.5"
  walkdir = "2.4"
@@ -17,4 +17,4 @@ Subject: [PATCH] Update xz2 and use it static
 +xz2 = { version = "0.1", features = ["static"] }
  
  # Dependencies needed by the build-metrics feature
- sysinfo = { version = "0.30", optional = true }
+ sysinfo = { version = "0.30", default-features = false, optional = true }
diff --git a/lang/rust/patches/0002-correct-the-handling-of-bootstrap-cache-path-option.patch b/lang/rust/patches/0002-correct-the-handling-of-bootstrap-cache-path-option.patch
deleted file mode 100644 (file)
index 99c8038..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From bd479113d38aa453cbad9d9f5ca9c5fc8903b0cf Mon Sep 17 00:00:00 2001
-From: onur-ozkan <work@onurozkan.dev>
-Date: Thu, 11 Apr 2024 14:57:10 +0300
-Subject: [PATCH] correct the handling of `bootstrap-cache-path` option
-
-This change makes `build.bootstrap-cache-path` option to be configurable with
-`./configure` script, so it can be used like `./configure --bootstrap-cache-path=demo`.
-
-Signed-off-by: onur-ozkan <work@onurozkan.dev>
----
- config.example.toml        | 2 +-
- src/bootstrap/configure.py | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
---- a/config.example.toml
-+++ b/config.example.toml
-@@ -302,7 +302,7 @@
- # Set the bootstrap/download cache path. It is useful when building rust
- # repeatedly in a CI invironment.
--# bootstrap-cache-path = /shared/cache
-+#bootstrap-cache-path = /path/to/shared/cache
- # Enable a build of the extended Rust tool set which is not only the compiler
- # but also tools such as Cargo. This will also produce "combined installers"
---- a/src/bootstrap/configure.py
-+++ b/src/bootstrap/configure.py
-@@ -152,9 +152,9 @@ v("default-linker", "rust.default-linker
- # (others are conditionally saved).
- o("manage-submodules", "build.submodules", "let the build manage the git submodules")
- o("full-bootstrap", "build.full-bootstrap", "build three compilers instead of two (not recommended except for testing reproducible builds)")
--o("bootstrap-cache-path", "build.bootstrap-cache-path", "use provided path for the bootstrap cache")
- o("extended", "build.extended", "build an extended rust tool set")
-+v("bootstrap-cache-path", None, "use provided path for the bootstrap cache")
- v("tools", None, "List of extended tools will be installed")
- v("codegen-backends", None, "List of codegen backends to build")
- v("build", "build.build", "GNUs ./configure syntax LLVM build triple")
-@@ -359,6 +359,8 @@ def apply_args(known_args, option_checki
-             set('target.{}.llvm-filecheck'.format(build_triple), value, config)
-         elif option.name == 'tools':
-             set('build.tools', value.split(','), config)
-+        elif option.name == 'bootstrap-cache-path':
-+            set('build.bootstrap-cache-path', value, config)
-         elif option.name == 'codegen-backends':
-             set('rust.codegen-backends', value.split(','), config)
-         elif option.name == 'host':
index d2589d8552f90b4f82fd82011221aa01f7839388..06ffb70a319fc6aa9ad69665df7b342be748b6ed 100644 (file)
@@ -1,7 +1,7 @@
 This patch bumps all libc dependencies and checksums to 0.2.147, which includes the fix for musl 1.2.4.
 
---- a/vendor/elasticlunr-rs/Cargo.lock
-+++ b/vendor/elasticlunr-rs/Cargo.lock
+--- a/vendor/elasticlunr-rs-3.0.2/Cargo.lock
++++ b/vendor/elasticlunr-rs-3.0.2/Cargo.lock
 @@ -555,9 +555,9 @@ checksum = "e2abad23fbc42b3700f2f279844d
  
  [[package]]
@@ -14,8 +14,8 @@ This patch bumps all libc dependencies and checksums to 0.2.147, which includes
  
  [[package]]
  name = "lindera"
---- a/vendor/libffi/Cargo.lock
-+++ b/vendor/libffi/Cargo.lock
+--- a/vendor/libffi-3.2.0/Cargo.lock
++++ b/vendor/libffi-3.2.0/Cargo.lock
 @@ -10,9 +10,9 @@ checksum = "50d30906286121d95be3d479533b
  
  [[package]]
diff --git a/lang/rust/patches/0004-Use-an-helper-to-move-the-files.patch b/lang/rust/patches/0004-Use-an-helper-to-move-the-files.patch
deleted file mode 100644 (file)
index 227b79d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-From 4db00fe229f08b06feeee552ae53af9f49c25048 Mon Sep 17 00:00:00 2001
-From: Luca Barbato <lu_zero@gentoo.org>
-Date: Fri, 10 May 2024 16:38:19 +0200
-Subject: [PATCH] Use an helper to move the files
-
-In case the source is not in the same filesystem.
----
- src/bootstrap/src/core/build_steps/dist.rs |  6 ++++--
- src/bootstrap/src/core/download.rs         |  6 +++---
- src/bootstrap/src/utils/helpers.rs         | 15 +++++++++++++++
- src/bootstrap/src/utils/tarball.rs         |  4 ++--
- 4 files changed, 24 insertions(+), 7 deletions(-)
-
---- a/src/bootstrap/src/core/build_steps/dist.rs
-+++ b/src/bootstrap/src/core/build_steps/dist.rs
-@@ -26,7 +26,9 @@ use crate::core::build_steps::tool::{sel
- use crate::core::builder::{Builder, Kind, RunConfig, ShouldRun, Step};
- use crate::core::config::TargetSelection;
- use crate::utils::channel;
--use crate::utils::helpers::{exe, is_dylib, output, t, target_supports_cranelift_backend, timeit};
-+use crate::utils::helpers::{
-+    exe, is_dylib, move_file, output, t, target_supports_cranelift_backend, timeit,
-+};
- use crate::utils::tarball::{GeneratedTarball, OverlayKind, Tarball};
- use crate::{Compiler, DependencyType, Mode, LLVM_TOOLS};
-@@ -1993,7 +1995,7 @@ impl Step for Extended {
-             builder.run(&mut cmd);
-             if !builder.config.dry_run() {
--                t!(fs::rename(exe.join(&filename), distdir(builder).join(&filename)));
-+                t!(move_file(exe.join(&filename), distdir(builder).join(&filename)));
-             }
-         }
-     }
---- a/src/bootstrap/src/core/download.rs
-+++ b/src/bootstrap/src/core/download.rs
-@@ -12,7 +12,7 @@ use build_helper::ci::CiEnv;
- use xz2::bufread::XzDecoder;
- use crate::core::config::RustfmtMetadata;
--use crate::utils::helpers::{check_run, exe, program_out_of_date};
-+use crate::utils::helpers::{check_run, exe, move_file, program_out_of_date};
- use crate::{core::build_steps::llvm::detect_llvm_sha, utils::helpers::hex_encode};
- use crate::{t, Config};
-@@ -209,7 +209,7 @@ impl Config {
-             None => panic!("no protocol in {url}"),
-         }
-         t!(
--            std::fs::rename(&tempfile, dest_path),
-+            move_file(&tempfile, dest_path),
-             format!("failed to rename {tempfile:?} to {dest_path:?}")
-         );
-     }
-@@ -313,7 +313,7 @@ impl Config {
-             if src_path.is_dir() && dst_path.exists() {
-                 continue;
-             }
--            t!(fs::rename(src_path, dst_path));
-+            t!(move_file(src_path, dst_path));
-         }
-         let dst_dir = dst.join(directory_prefix);
-         if dst_dir.exists() {
---- a/src/bootstrap/src/utils/helpers.rs
-+++ b/src/bootstrap/src/utils/helpers.rs
-@@ -150,6 +150,21 @@ pub fn symlink_dir(config: &Config, orig
-     }
- }
-+/// Rename a file if from and to are in the same filesystem or
-+/// copy and remove the file otherwise
-+pub fn move_file<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> io::Result<()> {
-+    match fs::rename(&from, &to) {
-+        // FIXME: Once `ErrorKind::CrossesDevices` is stabilized use
-+        // if e.kind() == io::ErrorKind::CrossesDevices {
-+        #[cfg(unix)]
-+        Err(e) if e.raw_os_error() == Some(libc::EXDEV) => {
-+            std::fs::copy(&from, &to)?;
-+            std::fs::remove_file(&from)
-+        }
-+        r => r,
-+    }
-+}
-+
- pub fn forcing_clang_based_tests() -> bool {
-     if let Some(var) = env::var_os("RUSTBUILD_FORCE_CLANG_BASED_TESTS") {
-         match &var.to_string_lossy().to_lowercase()[..] {
---- a/src/bootstrap/src/utils/tarball.rs
-+++ b/src/bootstrap/src/utils/tarball.rs
-@@ -6,7 +6,7 @@ use std::{
- use crate::core::builder::Builder;
- use crate::core::{build_steps::dist::distdir, builder::Kind};
- use crate::utils::channel;
--use crate::utils::helpers::t;
-+use crate::utils::helpers::{move_file, t};
- #[derive(Copy, Clone)]
- pub(crate) enum OverlayKind {
-@@ -269,7 +269,7 @@ impl<'a> Tarball<'a> {
-         // name, not "image". We rename the image directory just before passing
-         // into rust-installer.
-         let dest = self.temp_dir.join(self.package_name());
--        t!(std::fs::rename(&self.image_dir, &dest));
-+        t!(move_file(&self.image_dir, &dest));
-         self.run(|this, cmd| {
-             let distdir = distdir(this.builder);