Update to 1.61.0.
Add rust-toolset as a subpackage. Related: rhbz#2075337
This commit is contained in:
parent
44fbcb185e
commit
510485acbb
2
.gitignore
vendored
2
.gitignore
vendored
@ -385,3 +385,5 @@
|
|||||||
/rustc-1.58.1-src.tar.xz
|
/rustc-1.58.1-src.tar.xz
|
||||||
/rustc-1.59.0-src.tar.xz
|
/rustc-1.59.0-src.tar.xz
|
||||||
/rustc-1.60.0-src.tar.xz
|
/rustc-1.60.0-src.tar.xz
|
||||||
|
/rustc-1.61.0-src.tar.xz
|
||||||
|
/wasi-libc-9886d3d6200fcc3726329966860fc058707406cd.tar.gz
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
From beb4e16f055aa7925194fd2c360105a6d55f10f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Lo=C3=AFc=20BRANSTETT?= <lolo.branstett@numericable.fr>
|
||||||
|
Date: Wed, 27 Apr 2022 19:11:56 +0200
|
||||||
|
Subject: [PATCH] Add missing `target_feature` to the list of well known cfg
|
||||||
|
names
|
||||||
|
|
||||||
|
---
|
||||||
|
compiler/rustc_session/src/config.rs | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
|
||||||
|
index 12c5c4445d46..330201dd8fef 100644
|
||||||
|
--- a/compiler/rustc_session/src/config.rs
|
||||||
|
+++ b/compiler/rustc_session/src/config.rs
|
||||||
|
@@ -1038,6 +1038,7 @@ fn fill_well_known_names(&mut self) {
|
||||||
|
sym::target_has_atomic_load_store,
|
||||||
|
sym::target_has_atomic,
|
||||||
|
sym::target_has_atomic_equal_alignment,
|
||||||
|
+ sym::target_feature,
|
||||||
|
sym::panic,
|
||||||
|
sym::sanitize,
|
||||||
|
sym::debug_assertions,
|
||||||
|
@@ -1081,6 +1082,10 @@ fn fill_well_known_values(&mut self) {
|
||||||
|
.into_iter()
|
||||||
|
.map(|sanitizer| Symbol::intern(sanitizer.as_str().unwrap()));
|
||||||
|
|
||||||
|
+ // Unknown possible values:
|
||||||
|
+ // - `feature`
|
||||||
|
+ // - `target_feature`
|
||||||
|
+
|
||||||
|
// No-values
|
||||||
|
for name in [
|
||||||
|
sym::doc,
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 9ac837c237568a6c1c5f0e979fcce208cd9c926a Mon Sep 17 00:00:00 2001
|
From b521511174b1a08dddfac243604d649b71cc7386 Mon Sep 17 00:00:00 2001
|
||||||
From: Ivan Mironov <mironov.ivan@gmail.com>
|
From: Ivan Mironov <mironov.ivan@gmail.com>
|
||||||
Date: Sun, 8 Dec 2019 17:23:08 +0500
|
Date: Sun, 8 Dec 2019 17:23:08 +0500
|
||||||
Subject: [PATCH] Use lld provided by system for wasm
|
Subject: [PATCH] Use lld provided by system for wasm
|
||||||
@ -8,7 +8,7 @@ Subject: [PATCH] Use lld provided by system for wasm
|
|||||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
|
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
index 4c954a1e567c..15c4f1bda5eb 100644
|
index de7b7374af31..eebbe616e9b6 100644
|
||||||
--- a/compiler/rustc_target/src/spec/wasm_base.rs
|
--- a/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
|
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||||
@@ -99,8 +99,7 @@ pub fn options() -> TargetOptions {
|
@@ -99,8 +99,7 @@ pub fn options() -> TargetOptions {
|
||||||
@ -16,11 +16,11 @@ index 4c954a1e567c..15c4f1bda5eb 100644
|
|||||||
limit_rdylib_exports: false,
|
limit_rdylib_exports: false,
|
||||||
|
|
||||||
- // we use the LLD shipped with the Rust toolchain by default
|
- // we use the LLD shipped with the Rust toolchain by default
|
||||||
- linker: Some("rust-lld".to_owned()),
|
- linker: Some("rust-lld".into()),
|
||||||
+ linker: Some("lld".to_owned()),
|
+ linker: Some("lld".into()),
|
||||||
lld_flavor: LldFlavor::Wasm,
|
lld_flavor: LldFlavor::Wasm,
|
||||||
linker_is_gnu: false,
|
linker_is_gnu: false,
|
||||||
|
|
||||||
--
|
--
|
||||||
2.31.1
|
2.35.1
|
||||||
|
|
||||||
|
51
macros.rust-toolset
Normal file
51
macros.rust-toolset
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Explicitly use bindir tools, in case others are in the PATH,
|
||||||
|
# like the rustup shims in a user's ~/.cargo/bin/.
|
||||||
|
#
|
||||||
|
# Since cargo 1.31, install only uses $CARGO_HOME/config, ignoring $PWD.
|
||||||
|
# https://github.com/rust-lang/cargo/issues/6397
|
||||||
|
# But we can set CARGO_HOME locally, which is a good idea anyway to make sure
|
||||||
|
# it never writes to ~/.cargo during rpmbuild.
|
||||||
|
%__cargo %{_bindir}/env CARGO_HOME=.cargo %{_bindir}/cargo
|
||||||
|
%__rustc %{_bindir}/rustc
|
||||||
|
%__rustdoc %{_bindir}/rustdoc
|
||||||
|
|
||||||
|
# Enable optimization, debuginfo, and link hardening.
|
||||||
|
%__global_rustflags -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now
|
||||||
|
|
||||||
|
%__global_rustflags_toml [%{lua:
|
||||||
|
for arg in string.gmatch(rpm.expand("%{__global_rustflags}"), "%S+") do
|
||||||
|
print('"' .. arg .. '", ')
|
||||||
|
end}]
|
||||||
|
|
||||||
|
%cargo_prep(V:) (\
|
||||||
|
%{__mkdir} -p .cargo \
|
||||||
|
cat > .cargo/config << EOF \
|
||||||
|
[build]\
|
||||||
|
rustc = "%{__rustc}"\
|
||||||
|
rustdoc = "%{__rustdoc}"\
|
||||||
|
rustflags = %{__global_rustflags_toml}\
|
||||||
|
\
|
||||||
|
[install]\
|
||||||
|
root = "%{buildroot}%{_prefix}"\
|
||||||
|
\
|
||||||
|
[term]\
|
||||||
|
verbose = true\
|
||||||
|
EOF\
|
||||||
|
%if 0%{-V:1}\
|
||||||
|
%{__tar} -xoaf %{S:%{-V*}}\
|
||||||
|
cat >> .cargo/config << EOF \
|
||||||
|
\
|
||||||
|
[source.crates-io]\
|
||||||
|
replace-with = "vendored-sources"\
|
||||||
|
\
|
||||||
|
[source.vendored-sources]\
|
||||||
|
directory = "./vendor"\
|
||||||
|
EOF\
|
||||||
|
%endif\
|
||||||
|
)
|
||||||
|
|
||||||
|
%cargo_build %__cargo build --release %{?_smp_mflags}
|
||||||
|
|
||||||
|
%cargo_test %__cargo test --release %{?_smp_mflags} --no-fail-fast
|
||||||
|
|
||||||
|
%cargo_install %__cargo install --no-track --path .
|
@ -1,34 +0,0 @@
|
|||||||
diff --git a/compiler/rustc_middle/src/mir/mono.rs b/compiler/rustc_middle/src/mir/mono.rs
|
|
||||||
index 892808386dee..13c325a14e40 100644
|
|
||||||
--- a/compiler/rustc_middle/src/mir/mono.rs
|
|
||||||
+++ b/compiler/rustc_middle/src/mir/mono.rs
|
|
||||||
@@ -7,6 +7,7 @@
|
|
||||||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
|
||||||
use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
|
|
||||||
use rustc_hir::ItemId;
|
|
||||||
+use rustc_index::vec::Idx;
|
|
||||||
use rustc_query_system::ich::{NodeIdHashingMode, StableHashingContext};
|
|
||||||
use rustc_session::config::OptLevel;
|
|
||||||
use rustc_span::source_map::Span;
|
|
||||||
@@ -380,7 +381,7 @@ fn item_sort_key<'tcx>(tcx: TyCtxt<'tcx>, item: MonoItem<'tcx>) -> ItemSortKey<'
|
|
||||||
// instances into account. The others don't matter for
|
|
||||||
// the codegen tests and can even make item order
|
|
||||||
// unstable.
|
|
||||||
- InstanceDef::Item(def) => Some(def.did.index.as_usize()),
|
|
||||||
+ InstanceDef::Item(def) => def.did.as_local().map(Idx::index),
|
|
||||||
InstanceDef::VtableShim(..)
|
|
||||||
| InstanceDef::ReifyShim(..)
|
|
||||||
| InstanceDef::Intrinsic(..)
|
|
||||||
@@ -391,10 +392,8 @@ fn item_sort_key<'tcx>(tcx: TyCtxt<'tcx>, item: MonoItem<'tcx>) -> ItemSortKey<'
|
|
||||||
| InstanceDef::CloneShim(..) => None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- MonoItem::Static(def_id) => Some(def_id.index.as_usize()),
|
|
||||||
- MonoItem::GlobalAsm(item_id) => {
|
|
||||||
- Some(item_id.def_id.to_def_id().index.as_usize())
|
|
||||||
- }
|
|
||||||
+ MonoItem::Static(def_id) => def_id.as_local().map(Idx::index),
|
|
||||||
+ MonoItem::GlobalAsm(item_id) => Some(item_id.def_id.index()),
|
|
||||||
},
|
|
||||||
item.symbol_name(tcx),
|
|
||||||
)
|
|
83
rust.spec
83
rust.spec
@ -8,9 +8,9 @@
|
|||||||
# To bootstrap from scratch, set the channel and date from src/stage0.json
|
# 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
|
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
|
||||||
# or nightly wants some beta-YYYY-MM-DD
|
# or nightly wants some beta-YYYY-MM-DD
|
||||||
%global bootstrap_version 1.59.0
|
%global bootstrap_version 1.60.0
|
||||||
%global bootstrap_channel 1.59.0
|
%global bootstrap_channel 1.60.0
|
||||||
%global bootstrap_date 2022-02-24
|
%global bootstrap_date 2022-04-07
|
||||||
|
|
||||||
# Only the specified arches will use bootstrap binaries.
|
# Only the specified arches will use bootstrap binaries.
|
||||||
# NOTE: Those binaries used to be uploaded with every new release, but that was
|
# NOTE: Those binaries used to be uploaded with every new release, but that was
|
||||||
@ -33,8 +33,9 @@
|
|||||||
|
|
||||||
# We need CRT files for *-wasi targets, at least as new as the commit in
|
# 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
|
# src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh
|
||||||
|
# (updated per https://github.com/rust-lang/rust/pull/96907)
|
||||||
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc
|
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc
|
||||||
%global wasi_libc_commit ad5133410f66b93a2381db5b542aad5e0964db96
|
%global wasi_libc_commit 9886d3d6200fcc3726329966860fc058707406cd
|
||||||
%global wasi_libc_name wasi-libc-%{wasi_libc_commit}
|
%global wasi_libc_name wasi-libc-%{wasi_libc_commit}
|
||||||
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_commit}/%{wasi_libc_name}.tar.gz
|
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_commit}/%{wasi_libc_name}.tar.gz
|
||||||
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
|
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
|
||||||
@ -48,12 +49,12 @@
|
|||||||
%global bundled_llvm_version 14.0.0
|
%global bundled_llvm_version 14.0.0
|
||||||
%bcond_with bundled_llvm
|
%bcond_with bundled_llvm
|
||||||
|
|
||||||
# Requires stable libgit2 1.3, and not the next minor soname change.
|
# Requires stable libgit2 1.4, and not the next minor soname change.
|
||||||
# This needs to be consistent with the bindings in vendor/libgit2-sys.
|
# This needs to be consistent with the bindings in vendor/libgit2-sys.
|
||||||
%global min_libgit2_version 1.3.0
|
%global min_libgit2_version 1.4.0
|
||||||
%global next_libgit2_version 1.4.0~
|
%global next_libgit2_version 1.5.0~
|
||||||
%global bundled_libgit2_version 1.3.0
|
%global bundled_libgit2_version 1.4.2
|
||||||
%if 0%{?fedora} >= 36
|
%if 0%{?fedora} >= 99
|
||||||
%bcond_with bundled_libgit2
|
%bcond_with bundled_libgit2
|
||||||
%else
|
%else
|
||||||
%bcond_without bundled_libgit2
|
%bcond_without bundled_libgit2
|
||||||
@ -82,7 +83,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: rust
|
Name: rust
|
||||||
Version: 1.60.0
|
Version: 1.61.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: The Rust Programming Language
|
Summary: The Rust Programming Language
|
||||||
License: (ASL 2.0 or MIT) and (BSD and MIT)
|
License: (ASL 2.0 or MIT) and (BSD and MIT)
|
||||||
@ -102,22 +103,27 @@ Source1: %{wasi_libc_source}
|
|||||||
# By default, rust tries to use "rust-lld" as a linker for WebAssembly.
|
# By default, rust tries to use "rust-lld" as a linker for WebAssembly.
|
||||||
Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
|
Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
|
||||||
|
|
||||||
# This regressed in 1.59, hanging builds on s390x, rhbz#2058803
|
# Set a substitute-path in rust-gdb for standard library sources.
|
||||||
# https://github.com/rust-lang/rust/pull/94505
|
Patch2: rustc-1.61.0-rust-gdb-substitute-path.patch
|
||||||
Patch2: rust-pr94505-mono-item-sort-local.patch
|
|
||||||
|
|
||||||
# Clang 14 adds new builtin macros that wasi-libc doesn't expect yet
|
# Infer the type that compiletest uses for TestDesc ignore_message
|
||||||
# See https://github.com/WebAssembly/wasi-libc/pull/265
|
Patch3: rustc-1.61.0-fix-compiletest-ignore_message.patch
|
||||||
Patch3: wasi-libc-clang-14-compat.patch
|
|
||||||
|
# Add missing target_feature to the list of well known cfg names
|
||||||
|
# https://github.com/rust-lang/rust/pull/96483
|
||||||
|
Patch4: 0001-Add-missing-target_feature-to-the-list-of-well-known.patch
|
||||||
|
|
||||||
### RHEL-specific patches below ###
|
### RHEL-specific patches below ###
|
||||||
|
|
||||||
|
# Simple rpm macros for rust-toolset (as opposed to full rust-packaging)
|
||||||
|
Source100: macros.rust-toolset
|
||||||
|
|
||||||
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
|
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
|
||||||
Patch100: rustc-1.59.0-disable-libssh2.patch
|
Patch100: rustc-1.59.0-disable-libssh2.patch
|
||||||
|
|
||||||
# libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys
|
# libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys
|
||||||
# will try to build it statically -- instead we turn off the feature.
|
# will try to build it statically -- instead we turn off the feature.
|
||||||
Patch101: rustc-1.60.0-disable-http2.patch
|
Patch101: rustc-1.61.0-disable-http2.patch
|
||||||
|
|
||||||
# kernel rh1410097 causes too-small stacks for PIE.
|
# kernel rh1410097 causes too-small stacks for PIE.
|
||||||
# (affects RHEL6 kernels when building for RHEL7)
|
# (affects RHEL6 kernels when building for RHEL7)
|
||||||
@ -154,7 +160,7 @@ end}
|
|||||||
local channel = rpm.expand("%{bootstrap_channel}")
|
local channel = rpm.expand("%{bootstrap_channel}")
|
||||||
local target_arch = rpm.expand("%{_target_cpu}")
|
local target_arch = rpm.expand("%{_target_cpu}")
|
||||||
for i, arch in ipairs(bootstrap_arches) do
|
for i, arch in ipairs(bootstrap_arches) do
|
||||||
i = 100 + i * 3
|
i = 1000 + i * 3
|
||||||
local suffix = channel.."-"..rust_triple(arch)
|
local suffix = channel.."-"..rust_triple(arch)
|
||||||
print(string.format("Source%d: %s/cargo-%s.tar.xz\n", i, base, suffix))
|
print(string.format("Source%d: %s/cargo-%s.tar.xz\n", i, base, suffix))
|
||||||
print(string.format("Source%d: %s/rustc-%s.tar.xz\n", i+1, base, suffix))
|
print(string.format("Source%d: %s/rustc-%s.tar.xz\n", i+1, base, suffix))
|
||||||
@ -536,6 +542,20 @@ feature for the Rust standard library. The RLS (Rust Language Server) uses this
|
|||||||
data to provide information about the Rust standard library.
|
data to provide information about the Rust standard library.
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?rhel} && 0%{?rhel} >= 8
|
||||||
|
|
||||||
|
%package toolset
|
||||||
|
Summary: Rust Toolset
|
||||||
|
Requires: rust%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: cargo%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description toolset
|
||||||
|
This is the metapackage for Rust Toolset, bringing in the Rust compiler,
|
||||||
|
the Cargo package manager, and a few convenience macros for rpm builds.
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
%ifarch %{bootstrap_arches}
|
%ifarch %{bootstrap_arches}
|
||||||
@ -552,13 +572,14 @@ test -f '%{local_rust_root}/bin/rustc'
|
|||||||
|
|
||||||
%if %defined wasm_targets
|
%if %defined wasm_targets
|
||||||
%setup -q -n %{wasi_libc_name} -T -b 1
|
%setup -q -n %{wasi_libc_name} -T -b 1
|
||||||
%patch3 -p1
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%setup -q -n %{rustc_package}
|
%setup -q -n %{rustc_package}
|
||||||
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
%if %with disabled_libssh2
|
%if %with disabled_libssh2
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
@ -576,6 +597,9 @@ rm -rf vendor/libnghttp2-sys/
|
|||||||
# Use our explicit python3 first
|
# Use our explicit python3 first
|
||||||
sed -i.try-python -e '/^try python3 /i try "%{__python3}" "$@"' ./configure
|
sed -i.try-python -e '/^try python3 /i try "%{__python3}" "$@"' ./configure
|
||||||
|
|
||||||
|
# Set a substitute-path in rust-gdb for standard library sources.
|
||||||
|
sed -i.rust-src -e "s#@BUILDDIR@#$PWD#" ./src/etc/rust-gdb
|
||||||
|
|
||||||
%if %without bundled_llvm
|
%if %without bundled_llvm
|
||||||
rm -rf src/llvm-project/
|
rm -rf src/llvm-project/
|
||||||
mkdir -p src/llvm-project/libunwind/
|
mkdir -p src/llvm-project/libunwind/
|
||||||
@ -583,7 +607,8 @@ mkdir -p src/llvm-project/libunwind/
|
|||||||
|
|
||||||
# Remove other unused vendored libraries
|
# Remove other unused vendored libraries
|
||||||
rm -rf vendor/curl-sys/curl/
|
rm -rf vendor/curl-sys/curl/
|
||||||
rm -rf vendor/jemalloc-sys/jemalloc/
|
rm -rf vendor/*jemalloc-sys*/jemalloc/
|
||||||
|
rm -rf vendor/libmimalloc-sys/c_src/mimalloc/
|
||||||
rm -rf vendor/libssh2-sys/libssh2/
|
rm -rf vendor/libssh2-sys/libssh2/
|
||||||
rm -rf vendor/libz-sys/src/zlib/
|
rm -rf vendor/libz-sys/src/zlib/
|
||||||
rm -rf vendor/libz-sys/src/zlib-ng/
|
rm -rf vendor/libz-sys/src/zlib-ng/
|
||||||
@ -683,7 +708,7 @@ end}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %defined wasm_targets
|
%if %defined wasm_targets
|
||||||
%make_build --quiet -C %{wasi_libc_dir}
|
%make_build --quiet -C %{wasi_libc_dir} CC=clang AR=llvm-ar NM=llvm-nm
|
||||||
%{lua: do
|
%{lua: do
|
||||||
local wasi_root = rpm.expand("%{wasi_libc_dir}") .. "/sysroot"
|
local wasi_root = rpm.expand("%{wasi_libc_dir}") .. "/sysroot"
|
||||||
local cfg = ""
|
local cfg = ""
|
||||||
@ -712,6 +737,7 @@ end}
|
|||||||
%{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
|
%{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
|
||||||
%{!?llvm_has_filecheck: --disable-codegen-tests} \
|
%{!?llvm_has_filecheck: --disable-codegen-tests} \
|
||||||
%{!?with_llvm_static: --enable-llvm-link-shared } } \
|
%{!?with_llvm_static: --enable-llvm-link-shared } } \
|
||||||
|
--disable-llvm-static-stdcpp \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
%{enable_debuginfo} \
|
%{enable_debuginfo} \
|
||||||
--set rust.codegen-units-std=1 \
|
--set rust.codegen-units-std=1 \
|
||||||
@ -808,6 +834,11 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*
|
|||||||
# We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp)
|
# We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp)
|
||||||
rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
|
rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
|
||||||
|
|
||||||
|
%if 0%{?rhel} && 0%{?rhel} >= 8
|
||||||
|
# This allows users to build packages using Rust Toolset.
|
||||||
|
%{__install} -D -m 644 %{S:100} %{buildroot}%{rpmmacrodir}/macros.rust-toolset
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%{export_rust_env}
|
%{export_rust_env}
|
||||||
@ -1001,7 +1032,17 @@ end}
|
|||||||
%{rustlibdir}/%{rust_triple}/analysis/
|
%{rustlibdir}/%{rust_triple}/analysis/
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?rhel} && 0%{?rhel} >= 8
|
||||||
|
%files toolset
|
||||||
|
%{rpmmacrodir}/macros.rust-toolset
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 03 2022 Josh Stone <jistone@redhat.com> - 1.61.0-1
|
||||||
|
- Update to 1.61.0.
|
||||||
|
- Add rust-toolset as a subpackage.
|
||||||
|
|
||||||
* Wed Apr 20 2022 Josh Stone <jistone@redhat.com> - 1.60.0-1
|
* Wed Apr 20 2022 Josh Stone <jistone@redhat.com> - 1.60.0-1
|
||||||
- Update to 1.60.0.
|
- Update to 1.60.0.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- rustc-beta-src/Cargo.lock.orig 2022-03-18 10:27:54.154949492 -0700
|
--- rustc-beta-src/Cargo.lock.orig 2022-04-28 15:34:11.668960640 -0700
|
||||||
+++ rustc-beta-src/Cargo.lock 2022-03-18 10:27:54.156949449 -0700
|
+++ rustc-beta-src/Cargo.lock 2022-04-28 15:35:24.542419588 -0700
|
||||||
@@ -958,7 +958,6 @@
|
@@ -951,7 +951,6 @@
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
@ -8,7 +8,7 @@
|
|||||||
"libz-sys",
|
"libz-sys",
|
||||||
"openssl-sys",
|
"openssl-sys",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
@@ -2009,16 +2008,6 @@
|
@@ -2002,16 +2001,6 @@
|
||||||
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
|
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -25,8 +25,8 @@
|
|||||||
name = "libz-sys"
|
name = "libz-sys"
|
||||||
version = "1.1.3"
|
version = "1.1.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2022-03-18 10:27:54.156949449 -0700
|
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2022-04-24 17:43:07.000000000 -0700
|
||||||
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2022-03-18 10:29:15.967184238 -0700
|
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2022-04-28 15:34:11.670960598 -0700
|
||||||
@@ -22,7 +22,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
cargo-util = { path = "crates/cargo-util", version = "0.1.2" }
|
cargo-util = { path = "crates/cargo-util", version = "0.1.2" }
|
||||||
crates-io = { path = "crates/crates-io", version = "0.34.0" }
|
crates-io = { path = "crates/crates-io", version = "0.34.0" }
|
||||||
@ -36,12 +36,35 @@
|
|||||||
curl-sys = "0.4.50"
|
curl-sys = "0.4.50"
|
||||||
env_logger = "0.9.0"
|
env_logger = "0.9.0"
|
||||||
pretty_env_logger = { version = "0.4", optional = true }
|
pretty_env_logger = { version = "0.4", optional = true }
|
||||||
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-03-14 11:49:37.000000000 -0700
|
--- rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs.orig 2022-04-24 17:43:07.000000000 -0700
|
||||||
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2022-03-18 10:27:54.156949449 -0700
|
+++ rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs 2022-04-28 15:34:11.670960598 -0700
|
||||||
@@ -412,14 +412,8 @@
|
@@ -183,16 +183,8 @@
|
||||||
// Also note that pipelining is disabled as curl authors have indicated
|
}
|
||||||
// that it's buggy, and we've empirically seen that it's buggy with HTTP
|
self.fetch_started = true;
|
||||||
// proxies.
|
|
||||||
|
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
|
||||||
|
- // failures here as fatal as it would indicate a build-time problem.
|
||||||
|
- self.multiplexing = self.config.http_config()?.multiplexing.unwrap_or(true);
|
||||||
|
-
|
||||||
|
- self.multi
|
||||||
|
- .pipelining(false, self.multiplexing)
|
||||||
|
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
|
||||||
|
-
|
||||||
|
- // let's not flood the server with connections
|
||||||
|
- self.multi.set_max_host_connections(2)?;
|
||||||
|
+ // Multiplexing is disabled because the system libcurl doesn't support it.
|
||||||
|
+ self.multiplexing = false;
|
||||||
|
|
||||||
|
self.config
|
||||||
|
.shell()
|
||||||
|
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-04-24 17:43:07.000000000 -0700
|
||||||
|
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2022-04-28 15:34:11.670960598 -0700
|
||||||
|
@@ -403,16 +403,9 @@
|
||||||
|
sources: SourceMap<'cfg>,
|
||||||
|
config: &'cfg Config,
|
||||||
|
) -> CargoResult<PackageSet<'cfg>> {
|
||||||
|
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
|
||||||
|
- // failures here as fatal as it would indicate a build-time problem.
|
||||||
- let mut multi = Multi::new();
|
- let mut multi = Multi::new();
|
||||||
- let multiplexing = config.http_config()?.multiplexing.unwrap_or(true);
|
- let multiplexing = config.http_config()?.multiplexing.unwrap_or(true);
|
||||||
- multi
|
- multi
|
||||||
@ -50,12 +73,13 @@
|
|||||||
-
|
-
|
||||||
- // let's not flood crates.io with connections
|
- // let's not flood crates.io with connections
|
||||||
- multi.set_max_host_connections(2)?;
|
- multi.set_max_host_connections(2)?;
|
||||||
|
+ // Multiplexing is disabled because the system libcurl doesn't support it.
|
||||||
+ let multi = Multi::new();
|
+ let multi = Multi::new();
|
||||||
+ let multiplexing = false;
|
+ let multiplexing = false;
|
||||||
|
|
||||||
Ok(PackageSet {
|
Ok(PackageSet {
|
||||||
packages: package_ids
|
packages: package_ids
|
||||||
@@ -648,7 +642,7 @@
|
@@ -658,7 +651,7 @@
|
||||||
macro_rules! try_old_curl {
|
macro_rules! try_old_curl {
|
||||||
($e:expr, $msg:expr) => {
|
($e:expr, $msg:expr) => {
|
||||||
let result = $e;
|
let result = $e;
|
13
rustc-1.61.0-fix-compiletest-ignore_message.patch
Normal file
13
rustc-1.61.0-fix-compiletest-ignore_message.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
|
||||||
|
index 1bdea33dffaf..1c21d5e87b68 100644
|
||||||
|
--- a/src/tools/compiletest/src/header.rs
|
||||||
|
+++ b/src/tools/compiletest/src/header.rs
|
||||||
|
@@ -807,7 +807,7 @@ pub fn make_test_description<R: Read>(
|
||||||
|
) -> test::TestDesc {
|
||||||
|
let mut ignore = false;
|
||||||
|
#[cfg(not(bootstrap))]
|
||||||
|
- let ignore_message: Option<String> = None;
|
||||||
|
+ let ignore_message = None;
|
||||||
|
let mut should_fail = false;
|
||||||
|
|
||||||
|
let rustc_has_profiler_support = env::var_os("RUSTC_PROFILER_SUPPORT").is_some();
|
18
rustc-1.61.0-rust-gdb-substitute-path.patch
Normal file
18
rustc-1.61.0-rust-gdb-substitute-path.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- rustc-1.61.0-src/src/etc/rust-gdb.orig 2022-05-17 18:29:36.000000000 -0700
|
||||||
|
+++ rustc-1.61.0-src/src/etc/rust-gdb 2022-05-18 11:18:13.732709661 -0700
|
||||||
|
@@ -14,6 +14,9 @@ fi
|
||||||
|
RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
|
||||||
|
GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
|
||||||
|
|
||||||
|
+RUST_STD_BUILD="@BUILDDIR@/library/"
|
||||||
|
+RUST_STD_SRC="$RUSTC_SYSROOT/lib/rustlib/src/rust/library/"
|
||||||
|
+
|
||||||
|
# Run GDB with the additional arguments that load the pretty printers
|
||||||
|
# Set the environment variable `RUST_GDB` to overwrite the call to a
|
||||||
|
# different/specific command (defaults to `gdb`).
|
||||||
|
@@ -21,4 +24,5 @@ RUST_GDB="${RUST_GDB:-gdb}"
|
||||||
|
PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec ${RUST_GDB} \
|
||||||
|
--directory="$GDB_PYTHON_MODULE_DIRECTORY" \
|
||||||
|
-iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \
|
||||||
|
+ -iex "set substitute-path $RUST_STD_BUILD $RUST_STD_SRC" \
|
||||||
|
"$@"
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (rustc-1.60.0-src.tar.xz) = d0c113e8c2c67bf10773c9403dc4c4700c4deb2fb287bfec51e565d3473d2b481d8ae2c90b272cd67b3a87d7443ea25a34c7b40ba8cd7106bf5d71126ab141c3
|
SHA512 (rustc-1.61.0-src.tar.xz) = 9bbdcc1c37f7b889be0c8d195963b4c3b65267a63ea309315eda12bd3b2cd36e0060301805dfc7da440c0a8702d085ccb0bf763155b27035a078769333637fb3
|
||||||
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6
|
SHA512 (wasi-libc-9886d3d6200fcc3726329966860fc058707406cd.tar.gz) = 5b6af0f7133d31c2c068606737eff957126a3045e09c1e95bd2650e0c5637d4797d7036b9beb167829d38d58f6d4199852832f61b0c8836f05e945cd0cf68132
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index a93b10a6757a..518bab0aaf78 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -538,6 +538,10 @@ check-symbols: startup_files libc
|
|
||||||
-U__GNUC_PATCHLEVEL__ \
|
|
||||||
-U__VERSION__ \
|
|
||||||
-U__FLOAT128__ \
|
|
||||||
+ -U__NO_MATH_ERRNO__ \
|
|
||||||
+ -U__BITINT_MAXWIDTH__ \
|
|
||||||
+ | grep -vE '^#define __(BOOL|INT|LLONG|LONG|SHRT)_WIDTH__' \
|
|
||||||
+ | grep -vE '^#define __INT_(FAST|LEAST)(8|16|32|64)_WIDTH__' \
|
|
||||||
| sed -e 's/__[[:upper:][:digit:]]*_ATOMIC_\([[:upper:][:digit:]_]*\)_LOCK_FREE/__compiler_ATOMIC_\1_LOCK_FREE/' \
|
|
||||||
| grep -v '^#define __FLT16_' \
|
|
||||||
> "$(SYSROOT_SHARE)/predefined-macros.txt"
|
|
Loading…
Reference in New Issue
Block a user