diff --git a/.rust.metadata b/.rust.metadata index e762a9f..66ec790 100644 --- a/.rust.metadata +++ b/.rust.metadata @@ -1 +1 @@ -8df2fc25e21e5e097020cc78c134616b4cc8101e SOURCES/rustc-1.34.2-src.tar.xz +70c77706bd62fcf8a784b7b14108f560f2751887 SOURCES/rustc-1.36.0-src.tar.xz diff --git a/SOURCES/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch b/SOURCES/0001-Limit-internalization-in-LLVM-8-ThinLTO.patch deleted file mode 100644 index 3c09947..0000000 --- a/SOURCES/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/SPECS/rust.spec b/SPECS/rust.spec index 6078d8a..25ca93a 100644 --- a/SPECS/rust.spec +++ b/SPECS/rust.spec @@ -1,3 +1,4 @@ + # Only x86_64 and i686 are Tier 1 platforms at this time. # https://forge.rust-lang.org/platform-support.html %global rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x @@ -9,10 +10,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.33.0 -%global bootstrap_cargo 1.33.0 -%global bootstrap_channel %{bootstrap_rust} -%global bootstrap_date 2019-02-28 +%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 +22,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%{?rhel} <= 6 && !0%{?epel} %bcond_without bundled_llvm %else @@ -53,7 +54,7 @@ %endif Name: rust -Version: 1.34.2 +Version: 1.36.0 Release: 1%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) @@ -72,9 +73,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" @@ -159,7 +157,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} @@ -266,12 +264,9 @@ programs. %package lldb Summary: LLDB pretty printers for Rust - -# It could be noarch, but lldb has limited availability -#BuildArch: noarch - +BuildArch: noarch Requires: lldb -Requires: python2-lldb +Requires: python3-lldb Requires: %{name}-debugger-common = %{version}-%{release} %description lldb @@ -403,7 +398,6 @@ test -f '%{local_rust_root}/bin/rustc' %setup -q -n %{rustc_package} %patch1 -p1 -R -%patch2 -p1 %if "%{python}" != "python2" sed -i.try-py3 -e '/try python2.7/i try %{python} "$@"' ./configure @@ -473,6 +467,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} \ @@ -485,7 +486,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 @@ -631,6 +632,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 @@ -680,265 +682,102 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog -* Wed Oct 09 2019 bstinson@centosproject.org - 1.34.2-1 +* Wed Nov 20 2019 bstinson@centosproject.org - 1.36.0-1 - Rebuild for intermediate deps in CentOS 8 +* Thu Jul 04 2019 Josh Stone - 1.36.0-1 +- Update to 1.36.0. -* Tue May 14 2019 Josh Stone - 1.34.2-1 -- Update to 1.34.2 -- fixes CVE-2019-12083. +* Wed May 29 2019 Josh Stone - 1.35.0-2 +- Fix compiletest for rebuild testing. -* Tue Apr 30 2019 Josh Stone - 1.34.1-3 -- Set rust.codegen-units-std=1 +* Thu May 23 2019 Josh Stone - 1.35.0-1 +- Update to 1.35.0. -* Fri Apr 26 2019 Josh Stone - 1.34.1-2 -- Remove the ThinLTO workaround. +* Tue May 14 2019 Josh Stone - 1.34.2-1 +- Update to 1.34.2 -- fixes CVE-2019-12083. -* Thu Apr 25 2019 Josh Stone - 1.34.1-1 +* Thu May 09 2019 Josh Stone - 1.34.1-1 - Update to 1.34.1. -- Add a ThinLTO fix for rhbz1701339. * Thu Apr 11 2019 Josh Stone - 1.34.0-1 - Update to 1.34.0. -* Fri Mar 01 2019 Josh Stone - 1.33.0-2 -- Fix deprecations for self-rebuild - -* Thu Feb 28 2019 Josh Stone - 1.33.0-1 +* Wed Apr 10 2019 Josh Stone - 1.33.0-1 - Update to 1.33.0. -* Sat Feb 02 2019 Fedora Release Engineering - 1.32.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 17 2019 Josh Stone - 1.32.0-1 +* Tue Apr 09 2019 Josh Stone - 1.32.0-1 - Update to 1.32.0. -* Mon Jan 07 2019 Josh Stone - 1.31.1-9 -- Update to 1.31.1 for RLS fixes. +* Fri Dec 14 2018 Josh Stone - 1.31.0-5 +- Restore rust-lldb. -* Thu Dec 06 2018 Josh Stone - 1.31.0-8 +* Thu Dec 13 2018 Josh Stone - 1.31.0-4 +- Backport fixes for rls. + +* Thu Dec 13 2018 Josh Stone - 1.31.0-3 - Update to 1.31.0 -- Rust 2018! - clippy/rls/rustfmt are no longer -preview -* Thu Nov 08 2018 Josh Stone - 1.30.1-7 +* Wed Dec 12 2018 Josh Stone - 1.30.1-2 - Update to 1.30.1. -* Thu Oct 25 2018 Josh Stone - 1.30.0-6 -- Update to 1.30.0. - -* Mon Oct 22 2018 Josh Stone - 1.29.2-5 -- Rebuild without bootstrap binaries. - -* Sat Oct 20 2018 Josh Stone - 1.29.2-4 -- Re-bootstrap armv7hl due to rhbz#1639485 - -* Fri Oct 12 2018 Josh Stone - 1.29.2-3 +* Tue Nov 06 2018 Josh Stone - 1.29.2-1 - Update to 1.29.2. -* Tue Sep 25 2018 Josh Stone - 1.29.1-2 -- Update to 1.29.1. -- Security fix for str::repeat (pending CVE). +* Thu Nov 01 2018 Josh Stone - 1.28.0-1 +- Update to 1.28.0. -* Thu Sep 13 2018 Josh Stone - 1.29.0-1 -- Update to 1.29.0. -- Add a clippy-preview subpackage +* Thu Nov 01 2018 Josh Stone - 1.27.2-1 +- Update to 1.27.2. -* Mon Aug 13 2018 Josh Stone - 1.28.0-3 -- Use llvm6.0 instead of llvm-7 for now +* Wed Oct 10 2018 Josh Stone - 1.26.2-12 +- Fix "fp" target feature for AArch64 (#1632880) -* Tue Aug 07 2018 Josh Stone - 1.28.0-2 -- Rebuild for LLVM ppc64/s390x fixes +* Mon Oct 08 2018 Josh Stone - 1.26.2-11 +- Security fix for str::repeat (pending CVE). -* Thu Aug 02 2018 Josh Stone - 1.28.0-1 -- Update to 1.28.0. +* Fri Oct 05 2018 Josh Stone - 1.26.2-10 +- Rebuild without bootstrap binaries. -* Tue Jul 24 2018 Josh Stone - 1.27.2-4 -- Update to 1.27.2. +* Thu Oct 04 2018 Josh Stone - 1.26.2-9 +- Bootstrap without SCL packaging. (rhbz1635067) -* Sat Jul 14 2018 Fedora Release Engineering - 1.27.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild +* Tue Aug 28 2018 Tom Stellard - 1.26.2-8 +- Use python3 prefix for lldb Requires -* Tue Jul 10 2018 Josh Stone - 1.27.1-2 -- Update to 1.27.1. -- Security fix for CVE-2018-1000622 +* Mon Aug 13 2018 Josh Stone - 1.26.2-7 +- Build with platform-python -* Thu Jun 21 2018 Josh Stone - 1.27.0-1 -- Update to 1.27.0. +* Tue Aug 07 2018 Josh Stone - 1.26.2-6 +- Exclude rust-src from auto-requires -* Tue Jun 05 2018 Josh Stone - 1.26.2-4 +* Thu Aug 02 2018 Josh Stone - 1.26.2-5 - Rebuild without bootstrap binaries. -* Tue Jun 05 2018 Josh Stone - 1.26.2-3 +* Tue Jul 31 2018 Josh Stone - 1.26.2-4 +- Bootstrap as a module. + +* Mon Jun 04 2018 Josh Stone - 1.26.2-3 - Update to 1.26.2. -- Re-bootstrap to deal with LLVM symbol changes. -* Tue May 29 2018 Josh Stone - 1.26.1-2 +* Wed May 30 2018 Josh Stone - 1.26.1-2 - Update to 1.26.1. -* Thu May 10 2018 Josh Stone - 1.26.0-1 +* Fri May 18 2018 Josh Stone - 1.26.0-1 - Update to 1.26.0. -* Mon Apr 16 2018 Dan Callaghan - 1.25.0-3 -- Add cargo, rls, and analysis - * Tue Apr 10 2018 Josh Stone - 1.25.0-2 - Filter codegen-backends from Provides too. -* Thu Mar 29 2018 Josh Stone - 1.25.0-1 +* Tue Apr 03 2018 Josh Stone - 1.25.0-1 - Update to 1.25.0. +- Add rustfmt-preview as a subpackage. -* Thu Mar 01 2018 Josh Stone - 1.24.1-1 -- Update to 1.24.1. - -* Wed Feb 21 2018 Josh Stone - 1.24.0-3 -- Backport a rebuild fix for rust#48308. - -* Mon Feb 19 2018 Josh Stone - 1.24.0-2 -- rhbz1546541: drop full-bootstrap; cmp libs before symlinking. -- Backport pr46592 to fix local_rebuild bootstrapping. -- Backport pr48362 to fix relative/absolute libdir. - -* Thu Feb 15 2018 Josh Stone - 1.24.0-1 +* Thu Feb 22 2018 Josh Stone - 1.24.0-1 - Update to 1.24.0. -* Mon Feb 12 2018 Iryna Shcherbina - 1.23.0-4 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Tue Feb 06 2018 Josh Stone - 1.23.0-3 -- Use full-bootstrap to work around a rebuild issue. -- Patch binaryen for GCC 8 - -* Thu Feb 01 2018 Igor Gnatenko - 1.23.0-2 -- Switch to %%ldconfig_scriptlets - -* Mon Jan 08 2018 Josh Stone - 1.23.0-1 -- Update to 1.23.0. - -* Thu Nov 23 2017 Josh Stone - 1.22.1-1 -- Update to 1.22.1. - -* Thu Oct 12 2017 Josh Stone - 1.21.0-1 -- Update to 1.21.0. - -* Mon Sep 11 2017 Josh Stone - 1.20.0-2 -- ABI fixes for ppc64 and s390x. - -* Thu Aug 31 2017 Josh Stone - 1.20.0-1 -- Update to 1.20.0. -- Add a rust-src subpackage. - -* Thu Aug 03 2017 Fedora Release Engineering - 1.19.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.19.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon Jul 24 2017 Josh Stone - 1.19.0-2 -- Use find-debuginfo.sh --keep-section .rustc - -* Thu Jul 20 2017 Josh Stone - 1.19.0-1 -- Update to 1.19.0. - -* Thu Jun 08 2017 Josh Stone - 1.18.0-1 -- Update to 1.18.0. - -* Mon May 08 2017 Josh Stone - 1.17.0-2 -- Move shared libraries back to libdir and symlink in rustlib - -* Thu Apr 27 2017 Josh Stone - 1.17.0-1 -- Update to 1.17.0. - -* Mon Mar 20 2017 Josh Stone - 1.16.0-3 -- Make rust-lldb arch-specific to deal with lldb deps - -* Fri Mar 17 2017 Josh Stone - 1.16.0-2 -- Limit rust-lldb arches - -* Thu Mar 16 2017 Josh Stone - 1.16.0-1 -- Update to 1.16.0. -- Use rustbuild instead of the old makefiles. -- Update bootstrapping to include rust-std and cargo. -- Add a rust-lldb subpackage. - -* Thu Feb 09 2017 Josh Stone - 1.15.1-1 -- Update to 1.15.1. -- Require rust-rpm-macros for new crate packaging. -- Keep shared libraries under rustlib/, only debug-stripped. -- Merge and clean up conditionals for epel7. - -* Fri Dec 23 2016 Josh Stone - 1.14.0-2 -- Rebuild without bootstrap binaries. - -* Thu Dec 22 2016 Josh Stone - 1.14.0-1 -- Update to 1.14.0. -- Rewrite bootstrap logic to target specific arches. -- Bootstrap ppc64, ppc64le, s390x. (thanks to Sinny Kumari for testing!) - -* Thu Nov 10 2016 Josh Stone - 1.13.0-1 -- Update to 1.13.0. -- Use hardening flags for linking. -- Split the standard library into its own package -- Centralize rustlib/ under /usr/lib/ for multilib integration. - -* Thu Oct 20 2016 Josh Stone - 1.12.1-1 -- Update to 1.12.1. - -* Fri Oct 14 2016 Josh Stone - 1.12.0-7 -- Rebuild with LLVM 3.9. -- Add ncurses-devel for llvm-config's -ltinfo. - -* Thu Oct 13 2016 Josh Stone - 1.12.0-6 -- Rebuild with llvm-static, preparing for 3.9 - -* Fri Oct 07 2016 Josh Stone - 1.12.0-5 -- Rebuild with fixed eu-strip (rhbz1380961) - -* Fri Oct 07 2016 Josh Stone - 1.12.0-4 -- Rebuild without bootstrap binaries. - -* Thu Oct 06 2016 Josh Stone - 1.12.0-3 -- Bootstrap aarch64. -- Use jemalloc's MALLOC_CONF to work around #36944. -- Apply pr36933 to really disable armv7hl NEON. - -* Sat Oct 01 2016 Josh Stone - 1.12.0-2 -- Protect .rustc from rpm stripping. - -* Fri Sep 30 2016 Josh Stone - 1.12.0-1 -- Update to 1.12.0. -- Always use --local-rust-root, even for bootstrap binaries. -- Remove the rebuild conditional - the build system now figures it out. -- Let minidebuginfo do its thing, since metadata is no longer a note. -- Let rust build its own compiler-rt builtins again. - -* Sat Sep 03 2016 Josh Stone - 1.11.0-3 -- Rebuild without bootstrap binaries. - -* Fri Sep 02 2016 Josh Stone - 1.11.0-2 -- Bootstrap armv7hl, with backported no-neon patch. - -* Wed Aug 24 2016 Josh Stone - 1.11.0-1 -- Update to 1.11.0. -- Drop the backported patches. -- Patch get-stage0.py to trust existing bootstrap binaries. -- Use libclang_rt.builtins from compiler-rt, dodging llvm-static issues. -- Use --local-rust-root to make sure the right bootstrap is used. - -* Sat Aug 13 2016 Josh Stone 1.10.0-4 +* Tue Jan 16 2018 Josh Stone - 1.23.0-2 - Rebuild without bootstrap binaries. -* Fri Aug 12 2016 Josh Stone - 1.10.0-3 -- Initial import into Fedora (#1356907), bootstrapped -- Format license text as suggested in review. -- Note how the tests already run in parallel. -- Undefine _include_minidebuginfo, because it duplicates ".note.rustc". -- Don't let checks fail the whole build. -- Note that -doc can't be noarch, as rpmdiff doesn't allow variations. - -* Tue Jul 26 2016 Josh Stone - 1.10.0-2 -- Update -doc directory ownership, and mark its licenses. -- Package and declare licenses for libbacktrace and hoedown. -- Set bootstrap_base as a global. -- Explicitly require python2. - -* Thu Jul 14 2016 Josh Stone - 1.10.0-1 -- Initial package, bootstrapped +* Mon Jan 15 2018 Josh Stone - 1.23.0-1 +- Bootstrap 1.23 on el8.