rust: update to 1.80.1

This commit is contained in:
coolsnowwolf 2024-10-19 18:22:59 +08:00
parent 4bdec02759
commit 741eb4376c
6 changed files with 13 additions and 167 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.1
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.xz 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:=8065824f0255faa3901db8206e6f9423f6f8c07cec28bc6f2797c6c948310ece PKG_HASH:=2c0b8f643942dcb810cbcc50f292564b1b6e44db5d5f45091153996df95d2dc4
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>
@ -19,7 +19,6 @@ PKG_LICENSE_FILES:=LICENSE-APACHE LICENSE-MIT
PKG_HOST_ONLY:=1 PKG_HOST_ONLY:=1
PKG_BUILD_FLAGS:=no-mips16 PKG_BUILD_FLAGS:=no-mips16
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

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

View File

@ -52,7 +52,9 @@ endif
# ARM Logic # ARM Logic
ifeq ($(ARCH),arm) ifeq ($(ARCH),arm)
ifeq ($(CONFIG_arm_v7),y) ifeq ($(CONFIG_arm_v6)$(CONFIG_arm_v7),)
RUSTC_TARGET_ARCH:=$(subst arm,armv5te,$(RUSTC_TARGET_ARCH))
else ifeq ($(CONFIG_arm_v7),y)
RUSTC_TARGET_ARCH:=$(subst arm,armv7,$(RUSTC_TARGET_ARCH)) RUSTC_TARGET_ARCH:=$(subst arm,armv7,$(RUSTC_TARGET_ARCH))
endif endif