Update to Rust 1.84.1

Resolves: RHEL-61964
Resolves: RHEL-77257
This commit is contained in:
Josh Stone 2025-02-04 15:44:11 -08:00
parent 7088989c52
commit 6af11cd978
4 changed files with 39 additions and 40 deletions

1
.gitignore vendored
View File

@ -428,3 +428,4 @@
/rustc-1.83.0-src.tar.xz
/rustc-1.84.0-src.tar.xz
/wasi-libc-wasi-sdk-25.tar.gz
/rustc-1.84.1-src.tar.xz

View File

@ -1,25 +0,0 @@
From 4c6d793c66993a0f5455f35e73a1549d232c3ae5 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Thu, 12 Dec 2024 17:06:03 -0800
Subject: [PATCH] Only dist `llvm-objcopy` if llvm tools are enabled
---
src/bootstrap/src/core/build_steps/dist.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
index 0c739115165e..89b2d73f74a8 100644
--- a/src/bootstrap/src/core/build_steps/dist.rs
+++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -471,7 +471,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
}
}
- {
+ if builder.config.llvm_enabled(compiler.host) && builder.config.llvm_tools_enabled {
let src_dir = builder.sysroot_target_bindir(compiler, host);
let llvm_objcopy = exe("llvm-objcopy", compiler.host);
let rust_objcopy = exe("rust-objcopy", compiler.host);
--
2.47.1

View File

@ -1,5 +1,5 @@
Name: rust
Version: 1.84.0
Version: 1.84.1
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)
@ -60,6 +60,15 @@ ExclusiveArch: %{rust_arches}
%bcond_without bundled_libgit2
%endif
# Try to use system oniguruma (only used at build time for rust-docs)
# src/tools/rustbook -> ... -> onig_sys v69.8.1 needs at least 6.9.3
%global min_oniguruma_version 6.9.3
%if 0%{?rhel} && 0%{?rhel} < 9
%bcond_without bundled_oniguruma
%else
%bcond_with bundled_oniguruma
%endif
# Cargo uses UPSERTs with omitted conflict targets
%global min_sqlite3_version 3.35
%global bundled_sqlite3_version 3.46.0
@ -130,11 +139,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.84.0-unbundle-sqlite.patch
# https://github.com/rust-lang/rust/pull/134240
Patch7: 0001-Only-dist-llvm-objcopy-if-llvm-tools-are-enabled.patch
# https://github.com/rust-lang/cc-rs/issues/1354
Patch8: 0001-Only-translate-profile-flags-for-Clang.patch
Patch7: 0001-Only-translate-profile-flags-for-Clang.patch
### RHEL-specific patches below ###
@ -249,6 +255,10 @@ BuildRequires: pkgconfig(zlib)
BuildRequires: (pkgconfig(libgit2) >= %{min_libgit2_version} with pkgconfig(libgit2) < %{next_libgit2_version})
%endif
%if %{without bundled_oniguruma}
BuildRequires: pkgconfig(oniguruma) >= %{min_oniguruma_version}
%endif
%if %{without bundled_sqlite3}
BuildRequires: pkgconfig(sqlite3) >= %{min_sqlite3_version}
%endif
@ -646,8 +656,7 @@ rm -rf %{wasi_libc_dir}/dlmalloc/
%if %without bundled_sqlite3
%patch -P6 -p1
%endif
%patch -P7 -p1
%patch -P8 -p1 -d vendor/cc-1.2.5
%patch -P7 -p1 -d vendor/cc-1.2.5
%if %with disabled_libssh2
%patch -P100 -p1
@ -686,6 +695,10 @@ rm -rf src/tools/rustc-perf
%clear_dir vendor/libgit2-sys*/libgit2/
%endif
%if %without bundled_oniguruma
%clear_dir vendor/onig_sys*/oniguruma/
%endif
%if %without bundled_sqlite3
%clear_dir vendor/libsqlite3-sys*/sqlite3/
%endif
@ -738,6 +751,7 @@ end}
%global rust_env %{shrink:
%{?rustflags:RUSTFLAGS="%{rustflags}"}
%{rustc_target_cpus}
%{!?with_bundled_oniguruma:RUSTONIG_SYSTEM_LIBONIG=1}
%{!?with_bundled_sqlite3:LIBSQLITE3_SYS_USE_PKG_CONFIG=1}
%{!?with_disabled_libssh2:LIBSSH2_SYS_USE_PKG_CONFIG=1}
}
@ -892,12 +906,6 @@ rm -rf ./build/dist/ ./build/tmp/
# Some of the components duplicate-install binaries, leaving backups we don't want
rm -f %{buildroot}%{_bindir}/*.old
# We don't want to ship the shared standard library, because it has no stable ABI.
# (and if we merely %%exclude these, then rpmbuild still packages build-id links)
find %{buildroot}%{rustlibdir} -type f \
'(' -name '*.so' -o -name '*.dll' -o -name '*.dll.a' ')' \
-exec rm -v '{}' '+'
# Make sure the compiler's shared libraries are in the proper libdir
%if "%{_libdir}" != "%{common_libdir}"
mkdir -p %{buildroot}%{_libdir}
@ -909,6 +917,13 @@ find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \
find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \
-exec chmod -v +x '{}' '+'
# The shared standard library is excluded from Provides, because it has no
# stable ABI. However, we still ship it alongside the static target libraries
# to enable some niche local use-cases, like the `evcxr` REPL.
# Make sure those libraries are also executable for debuginfo extraction.
find %{buildroot}%{rustlibdir} -type f -name '*.so' \
-exec chmod -v +x '{}' '+'
# Remove installer artifacts (manifests, uninstall scripts, etc.)
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
@ -1010,7 +1025,7 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%doc README.md
%{_bindir}/rustc
%{_bindir}/rustdoc
%{_libdir}/*.so
%{_libdir}/librustc_driver-*.so
%{_libexecdir}/rust-analyzer-proc-macro-srv
%{_mandir}/man1/rustc.1*
%{_mandir}/man1/rustdoc.1*
@ -1021,6 +1036,7 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%dir %{rustlibdir}/%{rust_triple}
%dir %{rustlibdir}/%{rust_triple}/lib
%{rustlibdir}/%{rust_triple}/lib/*.rlib
%{rustlibdir}/%{rust_triple}/lib/*.so
%global target_files() \
%files std-static-%1 \
@ -1032,11 +1048,15 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%if %target_enabled i686-pc-windows-gnu
%target_files i686-pc-windows-gnu
%{rustlibdir}/i686-pc-windows-gnu/lib/rs*.o
%exclude %{rustlibdir}/i686-pc-windows-gnu/lib/*.dll
%exclude %{rustlibdir}/i686-pc-windows-gnu/lib/*.dll.a
%endif
%if %target_enabled x86_64-pc-windows-gnu
%target_files x86_64-pc-windows-gnu
%{rustlibdir}/x86_64-pc-windows-gnu/lib/rs*.o
%exclude %{rustlibdir}/x86_64-pc-windows-gnu/lib/*.dll
%exclude %{rustlibdir}/x86_64-pc-windows-gnu/lib/*.dll.a
%endif
%if %target_enabled wasm32-unknown-unknown
@ -1142,6 +1162,9 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%changelog
* Tue Feb 04 2025 Josh Stone <jistone@redhat.com> - 1.84.1-1
- Update to 1.84.1
* Wed Jan 15 2025 Josh Stone <jistone@redhat.com> - 1.84.0-1
- Update to 1.84.0

View File

@ -1,2 +1,2 @@
SHA512 (rustc-1.84.0-src.tar.xz) = 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a
SHA512 (rustc-1.84.1-src.tar.xz) = f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1
SHA512 (wasi-libc-wasi-sdk-25.tar.gz) = 580716fbc152be19e2e9724f3483a0a580a168be0cd6d105d37b0ebd0d11bd36d7d9db63984eb2cc7b3aaff2fc9446d9558d1469b538a79b7de465a1113560ea