diff --git a/.gitignore b/.gitignore index c43d28a..d00b69d 100644 --- a/.gitignore +++ b/.gitignore @@ -328,3 +328,10 @@ /rust-1.49.0-powerpc64le-unknown-linux-gnu.tar.xz /rust-1.49.0-s390x-unknown-linux-gnu.tar.xz /rust-1.49.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.51.0-src.tar.xz +/rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.50.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.50.0-i686-unknown-linux-gnu.tar.xz +/rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.50.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz diff --git a/rust.spec b/rust.spec index bfc00c4..84c3fb2 100644 --- a/rust.spec +++ b/rust.spec @@ -9,10 +9,10 @@ # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 # or nightly wants some beta-YYYY-MM-DD # Note that cargo matches the program version here, not its crate version. -%global bootstrap_rust 1.49.0 -%global bootstrap_cargo 1.49.0 -%global bootstrap_channel 1.49.0 -%global bootstrap_date 2020-12-31 +%global bootstrap_rust 1.50.0 +%global bootstrap_cargo 1.50.0 +%global bootstrap_channel 1.50.0 +%global bootstrap_date 2021-02-11 # Only the specified arches will use bootstrap binaries. #global bootstrap_arches %%{rust_arches} @@ -52,7 +52,7 @@ %endif Name: rust -Version: 1.50.0 +Version: 1.51.0 Release: 1%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) @@ -71,6 +71,10 @@ Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz # https://github.com/rust-lang/rust/issues/80810#issuecomment-781784032 Patch1: 0001-Revert-Auto-merge-of-79547.patch +# Fix bootstrap for stage0 rust 1.51 +# https://github.com/rust-lang/rust/pull/81910 +Patch2: rustc-1.51.0-backport-pr81910.patch + ### RHEL-specific patches below ### # Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949) @@ -78,11 +82,11 @@ Patch100: rustc-1.48.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.49.0-disable-http2.patch +Patch101: rustc-1.51.0-disable-http2.patch # kernel rh1410097 causes too-small stacks for PIE. # (affects RHEL6 kernels when building for RHEL7) -Patch102: rustc-1.48.0-no-default-pie.patch +Patch102: rustc-1.51.0-no-default-pie.patch # Get the Rust triple for any arch. @@ -165,12 +169,16 @@ BuildRequires: %{python} %if %with bundled_llvm BuildRequires: cmake3 >= 3.4.3 -Provides: bundled(llvm) = 11.0.0 +Provides: bundled(llvm) = 11.0.1 %else BuildRequires: cmake >= 2.8.11 %if 0%{?epel} == 7 %global llvm llvm9.0 %endif +%if 0%{?fedora} >= 34 +# we're not ready for llvm-12 yet +%global llvm llvm11 +%endif %if %defined llvm %global llvm_root %{_libdir}/%{llvm} %else @@ -401,6 +409,7 @@ test -f '%{local_rust_root}/bin/rustc' %setup -q -n %{rustc_package} %patch1 -p1 +%patch2 -p1 %if %with disabled_libssh2 %patch100 -p1 @@ -731,6 +740,9 @@ export %{rust_env} %changelog +* Wed Apr 28 2021 Josh Stone - 1.51.0-1 +- Update to 1.51.0. + * Tue Apr 27 2021 Josh Stone - 1.50.0-1 - Update to 1.50.0. diff --git a/rustc-1.51.0-backport-pr81910.patch b/rustc-1.51.0-backport-pr81910.patch new file mode 100644 index 0000000..e2f91b6 --- /dev/null +++ b/rustc-1.51.0-backport-pr81910.patch @@ -0,0 +1,48 @@ +From 852684d306cee955ed751f1e8d8eec6adaecff3b Mon Sep 17 00:00:00 2001 +From: Joshua Nelson +Date: Mon, 8 Feb 2021 22:51:21 -0500 +Subject: [PATCH] Use format string in bootstrap panic instead of a string + directly + +This fixes the following warning when compiling with nightly: + +``` +warning: panic message is not a string literal + --> src/bootstrap/builder.rs:1515:24 + | +1515 | panic!(out); + | ^^^ + | + = note: `#[warn(non_fmt_panic)]` on by default + = note: this is no longer accepted in Rust 2021 +help: add a "{}" format string to Display the message + | +1515 | panic!("{}", out); + | ^^^^^ +help: or use std::panic::panic_any instead + | +1515 | std::panic::panic_any(out); + | ^^^^^^^^^^^^^^^^^^^^^^ +``` + +(cherry picked from commit 31c93397bde772764cda3058e16f9cef61895090) +--- + src/bootstrap/builder.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs +index f1a160250dbe..0f5fcb4af400 100644 +--- a/src/bootstrap/builder.rs ++++ b/src/bootstrap/builder.rs +@@ -1490,7 +1490,7 @@ pub fn ensure(&'a self, step: S) -> S::Output { + for el in stack.iter().rev() { + out += &format!("\t{:?}\n", el); + } +- panic!(out); ++ panic!("{}", out); + } + if let Some(out) = self.cache.get(&step) { + self.verbose(&format!("{}c {:?}", " ".repeat(stack.len()), step)); +-- +2.31.1 + diff --git a/rustc-1.49.0-disable-http2.patch b/rustc-1.51.0-disable-http2.patch similarity index 72% rename from rustc-1.49.0-disable-http2.patch rename to rustc-1.51.0-disable-http2.patch index d6c6aa7..2517a34 100644 --- a/rustc-1.49.0-disable-http2.patch +++ b/rustc-1.51.0-disable-http2.patch @@ -1,6 +1,6 @@ ---- rustc-1.49.0-src/Cargo.lock.orig 2021-01-05 12:45:10.456414612 -0800 -+++ rustc-1.49.0-src/Cargo.lock 2021-01-05 12:45:10.458414575 -0800 -@@ -882,7 +882,6 @@ +--- rustc-beta-src/Cargo.lock.orig 2021-03-09 10:30:08.626424998 -0800 ++++ rustc-beta-src/Cargo.lock 2021-03-09 10:32:38.096207704 -0800 +@@ -899,7 +899,6 @@ dependencies = [ "cc", "libc", @@ -8,7 +8,7 @@ "libz-sys", "openssl-sys", "pkg-config", -@@ -1728,16 +1727,6 @@ +@@ -1860,16 +1859,6 @@ ] [[package]] @@ -25,10 +25,10 @@ name = "libz-sys" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" ---- rustc-1.49.0-src/src/tools/cargo/Cargo.toml.orig 2021-01-05 12:45:10.458414575 -0800 -+++ rustc-1.49.0-src/src/tools/cargo/Cargo.toml 2021-01-05 12:47:25.966928554 -0800 +--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2021-03-05 08:34:15.000000000 -0800 ++++ rustc-beta-src/src/tools/cargo/Cargo.toml 2021-03-09 10:32:38.096207704 -0800 @@ -25,7 +25,7 @@ - crates-io = { path = "crates/crates-io", version = "0.31.1" } + crates-io = { path = "crates/crates-io", version = "0.33.0" } crossbeam-utils = "0.8" crypto-hash = "0.3.1" -curl = { version = "0.4.23", features = ["http2"] } @@ -36,9 +36,9 @@ curl-sys = "0.4.22" env_logger = "0.8.1" pretty_env_logger = { version = "0.4", optional = true } ---- rustc-1.49.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2020-12-28 19:03:25.000000000 -0800 -+++ rustc-1.49.0-src/src/tools/cargo/src/cargo/core/package.rs 2021-01-05 12:45:10.458414575 -0800 -@@ -408,14 +408,8 @@ +--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2021-03-05 08:34:15.000000000 -0800 ++++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2021-03-09 10:32:38.096207704 -0800 +@@ -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 -@@ -584,7 +578,7 @@ +@@ -592,7 +586,7 @@ macro_rules! try_old_curl { ($e:expr, $msg:expr) => { let result = $e; diff --git a/rustc-1.48.0-no-default-pie.patch b/rustc-1.51.0-no-default-pie.patch similarity index 75% rename from rustc-1.48.0-no-default-pie.patch rename to rustc-1.51.0-no-default-pie.patch index bb6b3d1..d24cc75 100644 --- a/rustc-1.48.0-no-default-pie.patch +++ b/rustc-1.51.0-no-default-pie.patch @@ -1,14 +1,15 @@ ---- rustc-1.48.0-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2020-11-16 06:01:53.000000000 -0800 -+++ rustc-1.48.0-src/compiler/rustc_codegen_ssa/src/back/link.rs 2020-11-16 09:37:15.779516797 -0800 -@@ -1185,10 +1185,12 @@ +--- rustc-beta-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2021-03-09 10:40:09.755485845 -0800 ++++ rustc-beta-src/compiler/rustc_codegen_ssa/src/back/link.rs 2021-03-09 10:44:51.257426181 -0800 +@@ -1279,11 +1279,13 @@ } fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind { - let kind = match (crate_type, sess.crt_static(Some(crate_type)), sess.relocation_model()) { -- (CrateType::Executable, false, RelocModel::Pic) => LinkOutputKind::DynamicPicExe, + // Only use PIE if explicity specified. + let explicit_pic = matches!(sess.opts.cg.relocation_model, Some(RelocModel::Pic)); + let kind = match (crate_type, sess.crt_static(Some(crate_type)), explicit_pic) { + (CrateType::Executable, _, _) if sess.is_wasi_reactor() => LinkOutputKind::WasiReactorExe, +- (CrateType::Executable, false, RelocModel::Pic) => LinkOutputKind::DynamicPicExe, + (CrateType::Executable, false, true) => LinkOutputKind::DynamicPicExe, (CrateType::Executable, false, _) => LinkOutputKind::DynamicNoPicExe, - (CrateType::Executable, true, RelocModel::Pic) => LinkOutputKind::StaticPicExe, diff --git a/sources b/sources index a9788dc..9834690 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.50.0-src.tar.xz) = df3c83c0fdc9ebce6fdccddda781dea0cdbd88d2b2a8220cac40cc3a8fa957923ae834d1fa45283d4ad227b334bd9e220e37a4a1ad7a1c7aeb806ed9ed387245 +SHA512 (rustc-1.51.0-src.tar.xz) = ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df diff --git a/sources-bootstrap b/sources-bootstrap index 78e4cd5..ed30486 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,7 +1,6 @@ -SHA512 (rustc-1.50.0-src.tar.xz) = df3c83c0fdc9ebce6fdccddda781dea0cdbd88d2b2a8220cac40cc3a8fa957923ae834d1fa45283d4ad227b334bd9e220e37a4a1ad7a1c7aeb806ed9ed387245 -SHA512 (rust-1.49.0-aarch64-unknown-linux-gnu.tar.xz) = fa81b618359c2952de941e094eabfe2966e3c1a39a1b20452a77f1a68a54dde9cc5cade18db911cf448ffe947d934461ce752112bd9b5b5430e1fcdabbd8b56a -SHA512 (rust-1.49.0-armv7-unknown-linux-gnueabihf.tar.xz) = 1cba85fc958371aeb1d521e8842ad576e65d244147e2c75c34eaa776552ed025434d10284fa976d901d6cede69f6db3e5fdd770005ca0b93bb5e3202b9f9392a -SHA512 (rust-1.49.0-i686-unknown-linux-gnu.tar.xz) = b4d39cb234314f013969b5db3d365d21719d7a01f2dc0816e4f221c5e6d4abecd7f9e83f54b8640173d00d3e701cb3cbb61cef32f00db9356139005a1ce3bd19 -SHA512 (rust-1.49.0-powerpc64le-unknown-linux-gnu.tar.xz) = c17eb27ec4dbcc56da3edffbc57e0edda99744d6a0d38369fa08af066894aeb13dd78c7b8055f2246fc3bf13c654842675ea4df44b7bc8852e0f9952acdf7e7c -SHA512 (rust-1.49.0-s390x-unknown-linux-gnu.tar.xz) = 25259ea2e499c89459b14571e2c54f230d642af9cfe539dc2b8be15eff0e23b8c6e60af4c567bcbb6c6c185b4537eaab19c3395fce48b1f6e5ef1234efc31e3a -SHA512 (rust-1.49.0-x86_64-unknown-linux-gnu.tar.xz) = c008aa50e17db6a0134fb85235a958258d345410f5063bc77175f7c28b2e35895427b9e68cd1ac9acb769769c83313cd59fe6465b453e891cf415a2514b7722d +SHA512 (rustc-1.51.0-src.tar.xz) = ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df +SHA512 (rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz) = e6b409afc8e85a88ecb9ff439a6eb9dcb93d5553e81549fb4f332b9e2d946dce0424319c5092e60aab9435944af70d0117d15c12d54d2059ef73c1fdf36d8273 +SHA512 (rust-1.50.0-i686-unknown-linux-gnu.tar.xz) = bff117733d11731f56e8659265d0b47327e2af3f7c46aca494747a92b4f634dd35fa9731a1be59dd69821042f88bded253e1d7b5693ca237c9a167408ca7f898 +SHA512 (rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz) = e3dc75ba7dff3a358042542afa398ec8771a23f5f699454a876ddc1f3583d399fe5350696a5da62d71ca97ea882c9ae1fcb60dc2e9fdf76bc7a9af892096371e +SHA512 (rust-1.50.0-s390x-unknown-linux-gnu.tar.xz) = 733513af2a7ef7a782a5ebfbd080071194ac47084022b54b4830de84facef9986d65525f8666a4c226e9878e43b00ebced26d6077e5fb1b7f775ac8f290fba97 +SHA512 (rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz) = ab49e3ecb14e4af8e48548845184e9ab3d564ab2341c1e5462b7847347c79d13324211b860988d219ccb646143bf142fb14c3ab03663b06cfe9ca275128d9fa0