Update to 1.60.0.

Resolves: rhbz#2075335
This commit is contained in:
Josh Stone 2022-04-20 10:46:39 -07:00
parent 3862b243aa
commit 44fbcb185e
5 changed files with 79 additions and 47 deletions

1
.gitignore vendored
View File

@ -384,3 +384,4 @@
/rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.58.1-src.tar.xz
/rustc-1.59.0-src.tar.xz
/rustc-1.60.0-src.tar.xz

View File

@ -6,15 +6,17 @@
%{!?channel: %global channel stable}
# To bootstrap from scratch, set the channel and date from src/stage0.json
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
# or nightly wants some beta-YYYY-MM-DD
# Note that cargo matches the program version here, not its crate version.
%global bootstrap_rust 1.58.0
%global bootstrap_cargo 1.58.0
%global bootstrap_channel 1.58.0
%global bootstrap_date 2022-01-13
%global bootstrap_version 1.59.0
%global bootstrap_channel 1.59.0
%global bootstrap_date 2022-02-24
# Only the specified arches will use bootstrap binaries.
# NOTE: Those binaries used to be uploaded with every new release, but that was
# a waste of lookaside cache space when they're most often unused.
# Run "spectool -g rust.spec" after changing this and then "fedpkg upload" to
# add them to sources. Remember to remove them again after the bootstrap build!
#global bootstrap_arches %%{rust_arches}
# Define a space-separated list of targets to ship rust-std-static-$triple for
@ -43,7 +45,7 @@
# We can also choose to just use Rust's bundled LLVM, in case the system LLVM
# is insufficient. Rust currently requires LLVM 12.0+.
%global min_llvm_version 12.0.0
%global bundled_llvm_version 13.0.0
%global bundled_llvm_version 14.0.0
%bcond_with bundled_llvm
# Requires stable libgit2 1.3, and not the next minor soname change.
@ -80,7 +82,7 @@
%endif
Name: rust
Version: 1.59.0
Version: 1.60.0
Release: 1%{?dist}
Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and MIT)
@ -104,6 +106,10 @@ Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
# https://github.com/rust-lang/rust/pull/94505
Patch2: rust-pr94505-mono-item-sort-local.patch
# Clang 14 adds new builtin macros that wasi-libc doesn't expect yet
# See https://github.com/WebAssembly/wasi-libc/pull/265
Patch3: wasi-libc-clang-14-compat.patch
### RHEL-specific patches below ###
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
@ -111,7 +117,7 @@ Patch100: rustc-1.59.0-disable-libssh2.patch
# 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.
Patch101: rustc-1.59.0-disable-http2.patch
Patch101: rustc-1.60.0-disable-http2.patch
# kernel rh1410097 causes too-small stacks for PIE.
# (affects RHEL6 kernels when building for RHEL7)
@ -144,31 +150,35 @@ end}
for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do
table.insert(bootstrap_arches, arch)
end
local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}"
.."/rust-%{bootstrap_channel}")
local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}")
local channel = rpm.expand("%{bootstrap_channel}")
local target_arch = rpm.expand("%{_target_cpu}")
for i, arch in ipairs(bootstrap_arches) do
i = 100 + i
print(string.format("Source%d: %s-%s.tar.xz\n",
i, base, rust_triple(arch)))
i = 100 + i * 3
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/rustc-%s.tar.xz\n", i+1, base, suffix))
print(string.format("Source%d: %s/rust-std-%s.tar.xz\n", i+2, base, suffix))
if arch == target_arch then
rpm.define("bootstrap_source "..i)
rpm.define("bootstrap_source_cargo "..i)
rpm.define("bootstrap_source_rustc "..i+1)
rpm.define("bootstrap_source_std "..i+2)
rpm.define("bootstrap_suffix "..suffix)
end
end
end}
%endif
%ifarch %{bootstrap_arches}
%global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple}
%global local_rust_root %{_builddir}/%{bootstrap_root}/usr
Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust}
%global local_rust_root %{_builddir}/rust-%{bootstrap_suffix}
Provides: bundled(%{name}-bootstrap) = %{bootstrap_version}
%else
BuildRequires: cargo >= %{bootstrap_cargo}
BuildRequires: cargo >= %{bootstrap_version}
%if 0%{?rhel} && 0%{?rhel} < 8
BuildRequires: %{name} >= %{bootstrap_rust}
BuildRequires: %{name} >= %{bootstrap_version}
BuildConflicts: %{name} > %{version}
%else
BuildRequires: (%{name} >= %{bootstrap_rust} with %{name} <= %{version})
BuildRequires: (%{name} >= %{bootstrap_version} with %{name} <= %{version})
%endif
%global local_rust_root %{_prefix}
%endif
@ -529,15 +539,20 @@ data to provide information about the Rust standard library.
%prep
%ifarch %{bootstrap_arches}
%setup -q -n %{bootstrap_root} -T -b %{bootstrap_source}
./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \
--prefix=%{local_rust_root} --disable-ldconfig
rm -rf %{local_rust_root}
%setup -q -n cargo-%{bootstrap_suffix} -T -b %{bootstrap_source_cargo}
./install.sh --prefix=%{local_rust_root} --disable-ldconfig
%setup -q -n rustc-%{bootstrap_suffix} -T -b %{bootstrap_source_rustc}
./install.sh --prefix=%{local_rust_root} --disable-ldconfig
%setup -q -n rust-std-%{bootstrap_suffix} -T -b %{bootstrap_source_std}
./install.sh --prefix=%{local_rust_root} --disable-ldconfig
test -f '%{local_rust_root}/bin/cargo'
test -f '%{local_rust_root}/bin/rustc'
%endif
%if %defined wasm_targets
%setup -q -n %{wasi_libc_name} -T -b 1
%patch3 -p1
%endif
%setup -q -n %{rustc_package}
@ -646,14 +661,6 @@ if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then
ncpus="$max_cpus"
fi
%define target_config %{shrink:
--set target.%{rust_triple}.linker=%{__cc}
--set target.%{rust_triple}.cc=%{__cc}
--set target.%{rust_triple}.cxx=%{__cxx}
--set target.%{rust_triple}.ar=%{__ar}
--set target.%{rust_triple}.ranlib=%{__ranlib}
}
%if %defined mingw_targets
%{lua: do
local cfg = ""
@ -662,14 +669,15 @@ fi
triple = triple,
mingw = string.sub(triple, 1, 4) == "i686" and "mingw32" or "mingw64",
}
local s = string.gsub([[%{shrink:
local s = string.gsub([[
--set target.{{triple}}.linker=%{{{mingw}}_cc}
--set target.{{triple}}.cc=%{{{mingw}}_cc}
--set target.{{triple}}.ar=%{{{mingw}}_ar}
--set target.{{triple}}.ranlib=%{{{mingw}}_ranlib}
}]], "{{(%w+)}}", subs)
]], "{{(%w+)}}", subs)
cfg = cfg .. " " .. s
end
cfg = string.gsub(cfg, "%s+", " ")
rpm.define("mingw_target_config " .. cfg)
end}
%endif
@ -691,11 +699,16 @@ end}
%configure --disable-option-checking \
--libdir=%{common_libdir} \
--build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \
%{target_config} \
--set target.%{rust_triple}.linker=%{__cc} \
--set target.%{rust_triple}.cc=%{__cc} \
--set target.%{rust_triple}.cxx=%{__cxx} \
--set target.%{rust_triple}.ar=%{__ar} \
--set target.%{rust_triple}.ranlib=%{__ranlib} \
%{?mingw_target_config} \
%{?wasm_target_config} \
--python=%{__python3} \
--local-rust-root=%{local_rust_root} \
--set build.rustfmt=/bin/true \
%{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
%{!?llvm_has_filecheck: --disable-codegen-tests} \
%{!?with_llvm_static: --enable-llvm-link-shared } } \
@ -989,6 +1002,9 @@ end}
%changelog
* Wed Apr 20 2022 Josh Stone <jistone@redhat.com> - 1.60.0-1
- Update to 1.60.0.
* Tue Apr 19 2022 Josh Stone <jistone@redhat.com> - 1.59.0-1
- Update to 1.59.0.

View File

@ -1,6 +1,6 @@
--- rustc-1.59.0-src/Cargo.lock.orig 2022-02-22 10:19:00.330367749 -0800
+++ rustc-1.59.0-src/Cargo.lock 2022-02-22 10:19:00.332367706 -0800
@@ -909,7 +909,6 @@
--- rustc-beta-src/Cargo.lock.orig 2022-03-18 10:27:54.154949492 -0700
+++ rustc-beta-src/Cargo.lock 2022-03-18 10:27:54.156949449 -0700
@@ -958,7 +958,6 @@
dependencies = [
"cc",
"libc",
@ -8,7 +8,7 @@
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -1957,16 +1956,6 @@
@@ -2009,16 +2008,6 @@
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]]
@ -25,20 +25,20 @@
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-1.59.0-src/src/tools/cargo/Cargo.toml.orig 2022-02-22 10:19:00.332367706 -0800
+++ rustc-1.59.0-src/src/tools/cargo/Cargo.toml 2022-02-22 10:19:54.029231795 -0800
--- 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 2022-03-18 10:29:15.967184238 -0700
@@ -22,7 +22,7 @@
cargo-util = { path = "crates/cargo-util", version = "0.1.2" }
crates-io = { path = "crates/crates-io", version = "0.33.1" }
crates-io = { path = "crates/crates-io", version = "0.34.0" }
crossbeam-utils = "0.8"
-curl = { version = "0.4.41", features = ["http2"] }
+curl = { version = "0.4.41", features = [] }
curl-sys = "0.4.50"
env_logger = "0.9.0"
pretty_env_logger = { version = "0.4", optional = true }
--- rustc-1.59.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-02-21 18:48:53.000000000 -0800
+++ rustc-1.59.0-src/src/tools/cargo/src/cargo/core/package.rs 2022-02-22 10:19:00.332367706 -0800
@@ -419,14 +419,8 @@
--- 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/core/package.rs 2022-03-18 10:27:54.156949449 -0700
@@ -412,14 +412,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
// proxies.
@ -55,7 +55,7 @@
Ok(PackageSet {
packages: package_ids
@@ -655,7 +649,7 @@
@@ -648,7 +642,7 @@
macro_rules! try_old_curl {
($e:expr, $msg:expr) => {
let result = $e;

View File

@ -1,2 +1,2 @@
SHA512 (rustc-1.59.0-src.tar.xz) = acace866871d13a55d365f65d7e15c192c3cd33096862571df6317e066b7474d668b95ae281e0244967778c05f1e33966c3c55616218bd25d3770a2b2d4f0365
SHA512 (rustc-1.60.0-src.tar.xz) = d0c113e8c2c67bf10773c9403dc4c4700c4deb2fb287bfec51e565d3473d2b481d8ae2c90b272cd67b3a87d7443ea25a34c7b40ba8cd7106bf5d71126ab141c3
SHA512 (wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz) = 04cb3a25fef7949bf77f262bd939102f5b36e2ae85f28cdbfcd8a8984425fba54fae68049b777974bdbad96882fab383b44203e8f19a776d8a56a55475c4aab6

View File

@ -0,0 +1,15 @@
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"