diff --git a/.gitignore b/.gitignore index 8da0437..5935600 100644 --- a/.gitignore +++ b/.gitignore @@ -196,3 +196,19 @@ /rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz /rustc-1.34.1-src.tar.xz /rustc-1.34.2-src.tar.xz +/rustc-1.35.0-src.tar.xz +/rust-1.34.2-aarch64-unknown-linux-gnu.tar.xz +/rust-1.34.2-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.34.2-i686-unknown-linux-gnu.tar.xz +/rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.34.2-s390x-unknown-linux-gnu.tar.xz +/rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.36.0-src.tar.xz +/rust-1.35.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.35.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.35.0-i686-unknown-linux-gnu.tar.xz +/rust-1.35.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.35.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.35.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.35.0-x86_64-unknown-linux-gnu.tar.xz diff --git a/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch b/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch deleted file mode 100644 index 3c09947..0000000 --- a/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b4131e297e18fde119f6f461b3e622218166b009 Mon Sep 17 00:00:00 2001 -From: Josh Stone -Date: Fri, 26 Apr 2019 08:58:14 -0700 -Subject: [PATCH] Limit internalization in LLVM 8 ThinLTO - ---- - src/rustllvm/PassWrapper.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp -index 319c66a21f17..0ebef82d3768 100644 ---- a/src/rustllvm/PassWrapper.cpp -+++ b/src/rustllvm/PassWrapper.cpp -@@ -873,8 +873,11 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, - return PrevailingType::Unknown; - }; - #if LLVM_VERSION_GE(8, 0) -+ // We don't have a complete picture in our use of ThinLTO, just our immediate -+ // crate, so we need `ImportEnabled = false` to limit internalization. -+ // Otherwise, we sometimes lose `static` values -- see #60184. - computeDeadSymbolsWithConstProp(Ret->Index, Ret->GUIDPreservedSymbols, -- deadIsPrevailing, /* ImportEnabled = */ true); -+ deadIsPrevailing, /* ImportEnabled = */ false); - #else - computeDeadSymbols(Ret->Index, Ret->GUIDPreservedSymbols, deadIsPrevailing); - #endif --- -2.20.1 - diff --git a/rust.spec b/rust.spec index d44f49e..893a83f 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.34.0 -%global bootstrap_cargo 1.34.0 -%global bootstrap_channel %{bootstrap_rust} -%global bootstrap_date 2019-04-08 +%global bootstrap_rust 1.35.0 +%global bootstrap_cargo 1.35.0 +%global bootstrap_channel 1.35.0 +%global bootstrap_date 2019-05-23 # Only the specified arches will use bootstrap binaries. #global bootstrap_arches %%{rust_arches} @@ -21,7 +21,7 @@ %bcond_with llvm_static # We can also choose to just use Rust's bundled LLVM, in case the system LLVM -# is insufficient. Rust currently requires LLVM 5.0+. +# is insufficient. Rust currently requires LLVM 6.0+. %if 0%{?rhel} && !0%{?epel} %bcond_without bundled_llvm %else @@ -40,21 +40,16 @@ %bcond_with bundled_libssh2 %endif -# LLDB only works on some architectures -%ifarch %{arm} aarch64 %{ix86} x86_64 # LLDB isn't available everywhere... %if !0%{?rhel} %bcond_without lldb %else %bcond_with lldb %endif -%else -%bcond_with lldb -%endif Name: rust -Version: 1.35.0 -Release: 0.1.beta.7%{?dist} +Version: 1.36.0 +Release: 1%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) # ^ written as: (rust itself) and (bundled libraries) @@ -72,9 +67,6 @@ Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz # We do have the necessary fix in our LLVM 7. Patch1: rust-pr57840-llvm7-debuginfo-variants.patch -# https://github.com/rust-lang/rust/pull/60313 -Patch2: 0001-Limit-internalization-in-LLVM-8-ThinLTO.patch - # Get the Rust triple for any arch. %{lua: function rust_triple(arch) local abi = "gnu" @@ -155,7 +147,7 @@ BuildRequires: %{python} %if %with bundled_llvm BuildRequires: cmake3 >= 3.4.3 -Provides: bundled(llvm) = 8.0.0~svn +Provides: bundled(llvm) = 8.0.0 %else BuildRequires: cmake >= 2.8.11 %if 0%{?epel} @@ -262,12 +254,13 @@ programs. %package lldb Summary: LLDB pretty printers for Rust - -# It could be noarch, but lldb has limited availability -#BuildArch: noarch - +BuildArch: noarch Requires: lldb +%if 0%{?fedora} >= 31 +Requires: python3-lldb +%else Requires: python2-lldb +%endif Requires: %{name}-debugger-common = %{version}-%{release} %description lldb @@ -399,7 +392,6 @@ test -f '%{local_rust_root}/bin/rustc' %setup -q -n %{rustc_package} %patch1 -p1 -R -%patch2 -p1 %if "%{python}" == "python3" sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -469,6 +461,13 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1 %define enable_debuginfo --enable-debuginfo --disable-debuginfo-only-std --enable-debuginfo-tools --disable-debuginfo-lines %endif +# We want the best optimization for std, but it caused problems for rpm-ostree +# on ppc64le to have all of the compiler_builtins in a single object: +# https://bugzilla.redhat.com/show_bug.cgi?id=1713090 +%ifnarch %{power64} +%define codegen_units_std --set rust.codegen-units-std=1 +%endif + %configure --disable-option-checking \ --libdir=%{common_libdir} \ --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \ @@ -481,7 +480,7 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1 --enable-extended \ --enable-vendor \ --enable-verbose-tests \ - --set rust.codegen-units-std=1 \ + %{?codegen_units_std} \ --release-channel=%{channel} %{python} ./x.py build @@ -627,6 +626,7 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %{_docdir}/%{name}/html/*.svg %{_docdir}/%{name}/html/*.woff %license %{_docdir}/%{name}/html/*.txt +%license %{_docdir}/%{name}/html/*.md %files -n cargo @@ -676,8 +676,14 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog -* Wed May 15 2019 Josh Stone - 1.35.0-0.1.beta.7 -- beta test +* Thu Jul 04 2019 Josh Stone - 1.36.0-1 +- Update to 1.36.0. + +* Wed May 29 2019 Josh Stone - 1.35.0-2 +- Fix compiletest for rebuild testing. + +* Thu May 23 2019 Josh Stone - 1.35.0-1 +- Update to 1.35.0. * Tue May 14 2019 Josh Stone - 1.34.2-1 - Update to 1.34.2 -- fixes CVE-2019-12083. diff --git a/sources b/sources index 725401e..a9ffdf5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.34.2-src.tar.xz) = f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381 +SHA512 (rustc-1.36.0-src.tar.xz) = 1adbb3b67d599f926dc19258e2596cb3b990e152e75e71645637098526207aa5632d7915fd5b67c7a045f63860cc7be3d28be014ad6141a342adc16b2fe8a879 diff --git a/sources-bootstrap b/sources-bootstrap index 9ab6ad3..3cc8f44 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,8 +1,8 @@ -SHA512 (rustc-1.34.2-src.tar.xz) = f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381 -SHA512 (rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz) = 51f6ca909411fd3b3c05baedc38be8a29923966e7cd6960a10152886687132d4ef9750140c5121b9486d6f6ee1ed7ff35f8105c9f0731fe98ce750d0ea9c528f -SHA512 (rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz) = 25a16c576d826115fdac5a55b89bf3372dfb39c563f2ce7d39b0a7a3c9bdc43eaf10974dfa42e26c5aa04aee169ced3e797fa46fa82bd9f4ceddeddaf6687659 -SHA512 (rust-1.33.0-i686-unknown-linux-gnu.tar.xz) = f61f97c529232fd6d7587bbf34c41dd9cc334272b1d523464d7b964aba5a102edaff8d387445e3fdb2b9587c1cdd870e97b9572c9421e79ee047479443f1896d -SHA512 (rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz) = 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144 -SHA512 (rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz) = 7d53501d20119ba8d9723650800cdbde17e4ed1719f6258c48c25113082e0400d9ac74ca1bfca54722dbb2049f7b5d34177bb613031c1611daa2545e1706c745 -SHA512 (rust-1.33.0-s390x-unknown-linux-gnu.tar.xz) = 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205 -SHA512 (rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz) = b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8 +SHA512 (rustc-1.36.0-src.tar.xz) = 1adbb3b67d599f926dc19258e2596cb3b990e152e75e71645637098526207aa5632d7915fd5b67c7a045f63860cc7be3d28be014ad6141a342adc16b2fe8a879 +SHA512 (rust-1.35.0-aarch64-unknown-linux-gnu.tar.xz) = 9231e4acf26dc19a31c6c9623c939eafd0fdefc18debb8569baae36d3ad3410e21097ae2306b5adc48bc5e219da1dc1df38569e1d0ae9b0178d5a2e815c20db8 +SHA512 (rust-1.35.0-armv7-unknown-linux-gnueabihf.tar.xz) = 4d80fdc7483566999d8c38b6772c1f1c6cf0f537f68bff9dd9ed68931afab569e02fc9d5ed2999fb1d3478113527840676d903630f93c3d79c30fdba0b98a2bb +SHA512 (rust-1.35.0-i686-unknown-linux-gnu.tar.xz) = 33a603f638ced850c4572cc81041b1ab47d95a062c66ea24695e449cca7ac6353757c794a85af4a15e43e0ce091c7cc47dbd01fd30e23e1bae6ced194a08a667 +SHA512 (rust-1.35.0-powerpc64le-unknown-linux-gnu.tar.xz) = 3b63dac50a92693d13066aa6e96de05fceb2da6c07834adfab8c12e6a78f59051dfa008062b1d2ad410a009e2164fc716d689231e552379e419161d1620d0066 +SHA512 (rust-1.35.0-powerpc64-unknown-linux-gnu.tar.xz) = a89094b58ffdb4940e51c4c2e5f5efa094d7d6c1a2b2382397dbfb05eeaf99e9329a8e7c51da602a6b8935ebb4f6df475a1873748139d9f9a97b8bd40c49849b +SHA512 (rust-1.35.0-s390x-unknown-linux-gnu.tar.xz) = 11539eb25e474bbaa8e57f21c3f64506859bc86baec74df24bb4aaf5361745840b82ff715fc54fbd6ba654a8f7fd4f064af0538b983dd489cd69498bd70d1bf7 +SHA512 (rust-1.35.0-x86_64-unknown-linux-gnu.tar.xz) = 49976ac2fbac5b1709c4a7f3785eb99ab827464ec4d99ee7190df16c3be23e98de606566b57df2231a15097c7fe984e0d19496ce7478ccc1f0f2c7aeb32ecb04