rust: update to 1.80.0

- Remove two upstreamed patches
- Manually refresh one patch
- Automatically refresh another patch

Signed-off-by: Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
This commit is contained in:
Aleksey Vasilenko 2024-07-25 16:25:01 +03:00 committed by Tianling Shen
parent 1761ed0cbe
commit 8d68f0b0db
5 changed files with 9 additions and 164 deletions

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=rust PKG_NAME:=rust
PKG_VERSION:=1.78.0 PKG_VERSION:=1.80.0
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz
PKG_SOURCE_URL:=https://static.rust-lang.org/dist/ 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 HOST_BUILD_DIR:=$(BUILD_DIR)/host/rustc-$(PKG_VERSION)-src
PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org> PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>

View File

@ -9,7 +9,7 @@ Subject: [PATCH] Update xz2 and use it static
--- a/src/bootstrap/Cargo.toml --- a/src/bootstrap/Cargo.toml
+++ b/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" termcolor = "1.4"
toml = "0.5" toml = "0.5"
walkdir = "2.4" walkdir = "2.4"
@ -17,4 +17,4 @@ Subject: [PATCH] Update xz2 and use it static
+xz2 = { version = "0.1", features = ["static"] } +xz2 = { version = "0.1", features = ["static"] }
# Dependencies needed by the build-metrics feature # Dependencies needed by the build-metrics feature
sysinfo = { version = "0.30", optional = true } sysinfo = { version = "0.30", default-features = false, optional = true }

View File

@ -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':

View 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. 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 --- a/vendor/elasticlunr-rs-3.0.2/Cargo.lock
+++ b/vendor/elasticlunr-rs/Cargo.lock +++ b/vendor/elasticlunr-rs-3.0.2/Cargo.lock
@@ -555,9 +555,9 @@ checksum = "e2abad23fbc42b3700f2f279844d @@ -555,9 +555,9 @@ checksum = "e2abad23fbc42b3700f2f279844d
[[package]] [[package]]
@ -14,8 +14,8 @@ This patch bumps all libc dependencies and checksums to 0.2.147, which includes
[[package]] [[package]]
name = "lindera" name = "lindera"
--- a/vendor/libffi/Cargo.lock --- a/vendor/libffi-3.2.0/Cargo.lock
+++ b/vendor/libffi/Cargo.lock +++ b/vendor/libffi-3.2.0/Cargo.lock
@@ -10,9 +10,9 @@ checksum = "50d30906286121d95be3d479533b @@ -10,9 +10,9 @@ checksum = "50d30906286121d95be3d479533b
[[package]] [[package]]

View File

@ -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);