From b2dedbd4bd501e7d8e0fb7bd7f494f6326dd3d25 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 30 Jan 2020 10:42:52 -0800 Subject: [PATCH 1/8] Update to 1.41.0. --- .gitignore | 8 ++++ ...est-bump-to-stage0-bootstrap-libtest.patch | 32 --------------- ...compiletest-fallout-from-stage0-bump.patch | 24 ++++++++++++ rust-pr57840-llvm7-debuginfo-variants.patch | 2 +- rust-pr66317-bindir-relative.patch | 39 ------------------- rust.spec | 35 ++++++++--------- sources | 2 +- sources-bootstrap | 16 ++++---- 8 files changed, 58 insertions(+), 100 deletions(-) delete mode 100644 0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch create mode 100644 0001-Fix-compiletest-fallout-from-stage0-bump.patch delete mode 100644 rust-pr66317-bindir-relative.patch diff --git a/.gitignore b/.gitignore index 1c16ae6..f487e25 100644 --- a/.gitignore +++ b/.gitignore @@ -244,3 +244,11 @@ /rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz /rust-1.39.0-s390x-unknown-linux-gnu.tar.xz /rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.41.0-src.tar.xz +/rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.40.0-i686-unknown-linux-gnu.tar.xz +/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.40.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz diff --git a/0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch b/0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch deleted file mode 100644 index c8062bf..0000000 --- a/0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f6832adadb84364ce0c81fa02910b3706f441abc Mon Sep 17 00:00:00 2001 -From: Mark Rousskov -Date: Wed, 6 Nov 2019 15:17:02 -0500 -Subject: [PATCH] Compiletest bump to stage0 bootstrap libtest - ---- - src/tools/compiletest/src/main.rs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs -index 34435819a2c4..b115539b4af3 100644 ---- a/src/tools/compiletest/src/main.rs -+++ b/src/tools/compiletest/src/main.rs -@@ -568,6 +568,7 @@ pub fn test_opts(config: &Config) -> test::TestOpts { - skip: vec![], - list: false, - options: test::Options::new(), -+ time_options: None, - } - } - -@@ -703,6 +704,7 @@ pub fn make_test(config: &Config, testpaths: &TestPaths) -> Vec +Date: Wed, 18 Dec 2019 13:28:14 -0500 +Subject: [PATCH] Fix compiletest fallout from stage0 bump + +--- + src/tools/compiletest/src/main.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs +index 15f8abd75d59..32965bbb292d 100644 +--- a/src/tools/compiletest/src/main.rs ++++ b/src/tools/compiletest/src/main.rs +@@ -569,6 +569,7 @@ pub fn test_opts(config: &Config) -> test::TestOpts { + list: false, + options: test::Options::new(), + time_options: None, ++ force_run_in_process: false, + } + } + +-- +2.24.1 + diff --git a/rust-pr57840-llvm7-debuginfo-variants.patch b/rust-pr57840-llvm7-debuginfo-variants.patch index 71996bc..b1fd427 100644 --- a/rust-pr57840-llvm7-debuginfo-variants.patch +++ b/rust-pr57840-llvm7-debuginfo-variants.patch @@ -29,4 +29,4 @@ index 6deedd0b5ea3..9f63038c3623 100644 + || llvm_util::get_major_version() < 8; } - // Describes the members of an enum value: An enum is described as a union of + // FIXME(eddyb) maybe precompute this? Right now it's computed once diff --git a/rust-pr66317-bindir-relative.patch b/rust-pr66317-bindir-relative.patch deleted file mode 100644 index 71d3b0c..0000000 --- a/rust-pr66317-bindir-relative.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index 2748903f2d47..10d02d6db829 100644 ---- a/src/bootstrap/builder.rs -+++ b/src/bootstrap/builder.rs -@@ -1231,7 +1231,8 @@ impl<'a> Builder<'a> { - cargo.arg("--frozen"); - } - -- cargo.env("RUSTC_INSTALL_BINDIR", &self.config.bindir); -+ // Try to use a sysroot-relative bindir, in case it was configured absolutely. -+ cargo.env("RUSTC_INSTALL_BINDIR", self.config.bindir_relative()); - - self.ci_env.force_coloring_in_ci(&mut cargo); - -diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index d1bdfa0a7676..0c03b95c7b25 100644 ---- a/src/bootstrap/config.rs -+++ b/src/bootstrap/config.rs -@@ -647,6 +647,20 @@ impl Config { - config - } - -+ /// Try to find the relative path of `bindir`, otherwise return it in full. -+ pub fn bindir_relative(&self) -> &Path { -+ let bindir = &self.bindir; -+ if bindir.is_absolute() { -+ // Try to make it relative to the prefix. -+ if let Some(prefix) = &self.prefix { -+ if let Ok(stripped) = bindir.strip_prefix(prefix) { -+ return stripped; -+ } -+ } -+ } -+ bindir -+ } -+ - /// Try to find the relative path of `libdir`. - pub fn libdir_relative(&self) -> Option<&Path> { - let libdir = self.libdir.as_ref()?; diff --git a/rust.spec b/rust.spec index 5651c38..5ea65c1 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.39.0 -%global bootstrap_cargo 1.39.0 -%global bootstrap_channel 1.39.0 -%global bootstrap_date 2019-11-07 +%global bootstrap_rust 1.40.0 +%global bootstrap_cargo 1.40.0 +%global bootstrap_channel 1.40.0 +%global bootstrap_date 2019-12-19 # 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 6.0+. +# is insufficient. Rust currently requires LLVM 7.0+. %if 0%{?rhel} && !0%{?epel} %bcond_without bundled_llvm %else @@ -48,8 +48,8 @@ %endif Name: rust -Version: 1.40.0 -Release: 3%{?dist} +Version: 1.41.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) @@ -67,19 +67,15 @@ 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 -# Fix the bindir used by rustdoc to find rustc -# https://github.com/rust-lang/rust/pull/66317 -Patch2: rust-pr66317-bindir-relative.patch - # Fix compiletest with newer (local-rebuild) libtest -# https://github.com/rust-lang/rust/pull/66156/commits/f6832adadb84364ce0c81fa02910b3706f441abc -Patch3: 0001-Compiletest-bump-to-stage0-bootstrap-libtest.patch +# https://github.com/rust-lang/rust/commit/241d2e765dc7401e642812e43b75dbc3950f2c98 +Patch2: 0001-Fix-compiletest-fallout-from-stage0-bump.patch # https://github.com/rust-lang/rust/pull/68019 -Patch4: rust-pr68019-in-tree-compiletest.patch +Patch3: rust-pr68019-in-tree-compiletest.patch # Fix ARM unwinding for foreign-exceptions # https://github.com/rust-lang/rust/pull/67779 -Patch5: 0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch +Patch4: 0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch # Get the Rust triple for any arch. %{lua: function rust_triple(arch) @@ -161,7 +157,7 @@ BuildRequires: %{python} %if %with bundled_llvm BuildRequires: cmake3 >= 3.4.3 -Provides: bundled(llvm) = 8.0.0 +Provides: bundled(llvm) = 9.0.0 %else BuildRequires: cmake >= 2.8.11 %if 0%{?epel} @@ -173,7 +169,7 @@ BuildRequires: cmake >= 2.8.11 %global llvm llvm %global llvm_root %{_prefix} %endif -BuildRequires: %{llvm}-devel >= 6.0 +BuildRequires: %{llvm}-devel >= 7.0 %if %with llvm_static BuildRequires: %{llvm}-static BuildRequires: libffi-devel @@ -414,7 +410,6 @@ test -f '%{local_rust_root}/bin/rustc' %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %if "%{python}" == "python3" sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -628,7 +623,6 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %dir %{rustlibdir}/%{rust_triple} %dir %{rustlibdir}/%{rust_triple}/lib %{rustlibdir}/%{rust_triple}/lib/*.so -%{rustlibdir}/%{rust_triple}/codegen-backends/ %exclude %{_bindir}/*miri @@ -721,6 +715,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* Thu Jan 30 2020 Josh Stone - 1.41.0-1 +- Update to 1.41.0. + * Thu Jan 16 2020 Josh Stone - 1.40.0-3 - Build compiletest with in-tree libtest diff --git a/sources b/sources index f2f74e3..cbe64cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f +SHA512 (rustc-1.41.0-src.tar.xz) = 0e30fe53b77860085bea0f1f60315eb835b00dd796c5d1b98ed44fe6fc27336dfb064908c86e1669a9cbe81c9ca1495e1c259a8a268bef23b23805a719cef0dd diff --git a/sources-bootstrap b/sources-bootstrap index b6006b2..ae403f7 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,8 +1,8 @@ -SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f -SHA512 (rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz) = ad37a8454acb8985a5c2b42d7f8bc4212651a16fb5af6b4314dd97faa47de79893f2f74b516af89cd7e77ef3db64247c4764585eb0a17ac328c9cba5e5b9c407 -SHA512 (rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz) = db2b001a5587e2d5c8cdcb53c974f2332e76f58e362cba55fc971d7244754f1fa0b7e708ad7e73e7250652b442f06929dc1e8981536d7d76850b45ade275d406 -SHA512 (rust-1.39.0-i686-unknown-linux-gnu.tar.xz) = 930546e79c0b1105eb0604ae33ccdbd8b00b56e56d069f19f0d802093a052fd3f940eaf1390cdecd79833b0c70457ebfee2ce3b9674fff72df1367076584394a -SHA512 (rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz) = e15585150370514e580e171faa749218aeef04ce0493f5ad3928a0cb6cd0bddbf7c75ba8ed0783a2c954bbd7166e0445b4c33be4ab48479b0104f032b3d4b0af -SHA512 (rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz) = ff99ad6b120631346af8afac092f8b620e50fb8e118ef1e0ff5668103c01f4b9f082fae72e31a767be35d0647fd9fecc7e6b7b215bb1906e06b20bf3e2685619 -SHA512 (rust-1.39.0-s390x-unknown-linux-gnu.tar.xz) = d2b588f802d4fbe153dbd88cb745d34d1f5434cb3134cc9e091ebfb336a48b4c886cd80311cf92b5e1c6a16374302853a67e8a0576b02a89dbcf61d27919a045 -SHA512 (rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz) = 02ca6c821877379d8bd0bcc38281a87e6f86bdbae1270da19e41336cc3a812d9c11c1e976655c192c39153f92cda90ddbd7b4b0bcb4f6787d6d354d2be827a8a +SHA512 (rustc-1.41.0-src.tar.xz) = 0e30fe53b77860085bea0f1f60315eb835b00dd796c5d1b98ed44fe6fc27336dfb064908c86e1669a9cbe81c9ca1495e1c259a8a268bef23b23805a719cef0dd +SHA512 (rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz) = f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f +SHA512 (rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz) = d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492 +SHA512 (rust-1.40.0-i686-unknown-linux-gnu.tar.xz) = d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6 +SHA512 (rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz) = 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f +SHA512 (rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz) = eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce +SHA512 (rust-1.40.0-s390x-unknown-linux-gnu.tar.xz) = e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14 +SHA512 (rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz) = 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1 From a22d8f719ca0e18ecbfc7dd3761ddcf0c8146072 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 31 Jan 2020 13:50:52 -0800 Subject: [PATCH 2/8] Reintroduce the workaround for LLVM library path This reverts commit 93ecbc5a139208a2eeff691980d8e513b6b1b406, reintroducing the workaround for rust#40717, now rust#68714. --- rust.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rust.spec b/rust.spec index 5ea65c1..cab311c 100644 --- a/rust.spec +++ b/rust.spec @@ -224,6 +224,10 @@ Requires: /usr/bin/cc %if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1} %global llvm_has_filecheck 1 %endif +%if "%{llvm_root}" != "%{_prefix}" +# https://github.com/rust-lang/rust/issues/68714 +%global library_path $(%{llvm_root}/bin/llvm-config --libdir) +%endif %endif %description @@ -477,6 +481,7 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1 %endif %{?cmake_path:export PATH=%{cmake_path}:$PATH} +%{?library_path:export LIBRARY_PATH="%{library_path}"} %{?rustflags:export RUSTFLAGS="%{rustflags}"} # We're going to override --libdir when configuring to get rustlib into a @@ -527,6 +532,7 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1 %install %{?cmake_path:export PATH=%{cmake_path}:$PATH} +%{?library_path:export LIBRARY_PATH="%{library_path}"} %{?rustflags:export RUSTFLAGS="%{rustflags}"} DESTDIR=%{buildroot} %{python} ./x.py install @@ -597,6 +603,7 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %check %{?cmake_path:export PATH=%{cmake_path}:$PATH} +%{?library_path:export LIBRARY_PATH="%{library_path}"} %{?rustflags:export RUSTFLAGS="%{rustflags}"} # The results are not stable on koji, so mask errors and just log it. From 9b4ad1ffb1b385d4a4ca77445ae564067195ef03 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 20 Feb 2020 14:49:18 -0800 Subject: [PATCH 3/8] Rebuild with llvm9.0 --- rust.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rust.spec b/rust.spec index cab311c..bb1bd1c 100644 --- a/rust.spec +++ b/rust.spec @@ -49,7 +49,7 @@ Name: rust Version: 1.41.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) # ^ written as: (rust itself) and (bundled libraries) @@ -162,6 +162,8 @@ Provides: bundled(llvm) = 9.0.0 BuildRequires: cmake >= 2.8.11 %if 0%{?epel} %global llvm llvm7.0 +%elif 0%{?fedora} >= 32 +%global llvm llvm9.0 %endif %if %defined llvm %global llvm_root %{_libdir}/%{llvm} @@ -722,6 +724,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* Thu Feb 20 2020 Josh Stone - 1.41.0-2 +- Rebuild with llvm9.0 + * Thu Jan 30 2020 Josh Stone - 1.41.0-1 - Update to 1.41.0. From 269b322b5cd802fe6db8517d23ba0aae3480700d Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 27 Feb 2020 09:21:31 -0800 Subject: [PATCH 4/8] Update to 1.41.1. --- rust.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rust.spec b/rust.spec index bb1bd1c..1e618cc 100644 --- a/rust.spec +++ b/rust.spec @@ -48,8 +48,8 @@ %endif Name: rust -Version: 1.41.0 -Release: 2%{?dist} +Version: 1.41.1 +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) @@ -724,6 +724,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* Thu Feb 27 2020 Josh Stone - 1.41.1-1 +- Update to 1.41.1. + * Thu Feb 20 2020 Josh Stone - 1.41.0-2 - Rebuild with llvm9.0 From f5e3ba57291326d8d55ef7c060b19fd09630904c Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 27 Feb 2020 09:23:45 -0800 Subject: [PATCH 5/8] fedpkg new-sources --- .gitignore | 1 + sources | 2 +- sources-bootstrap | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f487e25..89b4046 100644 --- a/.gitignore +++ b/.gitignore @@ -252,3 +252,4 @@ /rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz /rust-1.40.0-s390x-unknown-linux-gnu.tar.xz /rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.41.1-src.tar.xz diff --git a/sources b/sources index cbe64cc..8b5147c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.41.0-src.tar.xz) = 0e30fe53b77860085bea0f1f60315eb835b00dd796c5d1b98ed44fe6fc27336dfb064908c86e1669a9cbe81c9ca1495e1c259a8a268bef23b23805a719cef0dd +SHA512 (rustc-1.41.1-src.tar.xz) = ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 diff --git a/sources-bootstrap b/sources-bootstrap index ae403f7..ad40ecc 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,4 +1,4 @@ -SHA512 (rustc-1.41.0-src.tar.xz) = 0e30fe53b77860085bea0f1f60315eb835b00dd796c5d1b98ed44fe6fc27336dfb064908c86e1669a9cbe81c9ca1495e1c259a8a268bef23b23805a719cef0dd +SHA512 (rustc-1.41.1-src.tar.xz) = ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 SHA512 (rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz) = f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f SHA512 (rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz) = d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492 SHA512 (rust-1.40.0-i686-unknown-linux-gnu.tar.xz) = d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6 From 682c207f089529adb201f8bd31e775acc4d291d7 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 27 Feb 2020 13:31:18 -0800 Subject: [PATCH 6/8] For older rpm's sake, don't use %elif --- rust.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust.spec b/rust.spec index 1e618cc..a6be1a7 100644 --- a/rust.spec +++ b/rust.spec @@ -162,7 +162,8 @@ Provides: bundled(llvm) = 9.0.0 BuildRequires: cmake >= 2.8.11 %if 0%{?epel} %global llvm llvm7.0 -%elif 0%{?fedora} >= 32 +%endif +%if 0%{?fedora} >= 32 %global llvm llvm9.0 %endif %if %defined llvm From a4c430044f977fcf79dd3ee63f1e69a6ba1f5489 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 12 Mar 2020 10:06:33 -0700 Subject: [PATCH 7/8] Update to 1.42.0. --- .gitignore | 8 ++ ...compiletest-fallout-from-stage0-bump.patch | 24 ----- ...ier-cache-during-ARM-EHABI-unwinding.patch | 52 ---------- rust-pr68019-in-tree-compiletest.patch | 97 ------------------- rust.spec | 31 ++---- sources | 2 +- sources-bootstrap | 16 +-- 7 files changed, 27 insertions(+), 203 deletions(-) delete mode 100644 0001-Fix-compiletest-fallout-from-stage0-bump.patch delete mode 100644 0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch delete mode 100644 rust-pr68019-in-tree-compiletest.patch diff --git a/.gitignore b/.gitignore index 89b4046..8c01968 100644 --- a/.gitignore +++ b/.gitignore @@ -253,3 +253,11 @@ /rust-1.40.0-s390x-unknown-linux-gnu.tar.xz /rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz /rustc-1.41.1-src.tar.xz +/rustc-1.42.0-src.tar.xz +/rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz +/rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.41.1-i686-unknown-linux-gnu.tar.xz +/rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.41.1-s390x-unknown-linux-gnu.tar.xz +/rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz diff --git a/0001-Fix-compiletest-fallout-from-stage0-bump.patch b/0001-Fix-compiletest-fallout-from-stage0-bump.patch deleted file mode 100644 index dfffce9..0000000 --- a/0001-Fix-compiletest-fallout-from-stage0-bump.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 241d2e765dc7401e642812e43b75dbc3950f2c98 Mon Sep 17 00:00:00 2001 -From: Mark Rousskov -Date: Wed, 18 Dec 2019 13:28:14 -0500 -Subject: [PATCH] Fix compiletest fallout from stage0 bump - ---- - src/tools/compiletest/src/main.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs -index 15f8abd75d59..32965bbb292d 100644 ---- a/src/tools/compiletest/src/main.rs -+++ b/src/tools/compiletest/src/main.rs -@@ -569,6 +569,7 @@ pub fn test_opts(config: &Config) -> test::TestOpts { - list: false, - options: test::Options::new(), - time_options: None, -+ force_run_in_process: false, - } - } - --- -2.24.1 - diff --git a/0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch b/0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch deleted file mode 100644 index 82d928d..0000000 --- a/0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b6fd4598c5367e78b5841fd99412484f0e86fc21 Mon Sep 17 00:00:00 2001 -From: Amanieu d'Antras -Date: Wed, 1 Jan 2020 17:11:45 +0100 -Subject: [PATCH] Update the barrier cache during ARM EHABI unwinding - ---- - src/libpanic_unwind/gcc.rs | 8 +++++++- - src/libunwind/libunwind.rs | 2 ++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/libpanic_unwind/gcc.rs b/src/libpanic_unwind/gcc.rs -index 4f572fe21b30..328d0d4ce7be 100644 ---- a/src/libpanic_unwind/gcc.rs -+++ b/src/libpanic_unwind/gcc.rs -@@ -187,7 +187,13 @@ cfg_if::cfg_if! { - match eh_action { - EHAction::None | - EHAction::Cleanup(_) => return continue_unwind(exception_object, context), -- EHAction::Catch(_) => return uw::_URC_HANDLER_FOUND, -+ EHAction::Catch(_) => { -+ // EHABI requires the personality routine to update the -+ // SP value in the barrier cache of the exception object. -+ (*exception_object).private[5] = -+ uw::_Unwind_GetGR(context, uw::UNWIND_SP_REG); -+ return uw::_URC_HANDLER_FOUND; -+ } - EHAction::Terminate => return uw::_URC_FAILURE, - } - } else { -diff --git a/src/libunwind/libunwind.rs b/src/libunwind/libunwind.rs -index 0b39503c0d03..30658ce328d8 100644 ---- a/src/libunwind/libunwind.rs -+++ b/src/libunwind/libunwind.rs -@@ -23,6 +23,7 @@ pub type _Unwind_Word = uintptr_t; - pub type _Unwind_Ptr = uintptr_t; - pub type _Unwind_Trace_Fn = extern "C" fn(ctx: *mut _Unwind_Context, arg: *mut c_void) - -> _Unwind_Reason_Code; -+ - #[cfg(target_arch = "x86")] - pub const unwinder_private_data_size: usize = 5; - -@@ -151,6 +152,7 @@ if #[cfg(all(any(target_os = "ios", target_os = "netbsd", not(target_arch = "arm - use _Unwind_VRS_DataRepresentation::*; - - pub const UNWIND_POINTER_REG: c_int = 12; -+ pub const UNWIND_SP_REG: c_int = 13; - pub const UNWIND_IP_REG: c_int = 15; - - #[cfg_attr(all(feature = "llvm-libunwind", --- -2.24.1 - diff --git a/rust-pr68019-in-tree-compiletest.patch b/rust-pr68019-in-tree-compiletest.patch deleted file mode 100644 index a0b28bf..0000000 --- a/rust-pr68019-in-tree-compiletest.patch +++ /dev/null @@ -1,97 +0,0 @@ -From ed8e55fe8d732d8a87343441db3bfbb974f043df Mon Sep 17 00:00:00 2001 -From: Josh Stone -Date: Wed, 8 Jan 2020 09:44:45 -0800 -Subject: [PATCH 1/2] Remove obsolete llvm_tools flag - ---- - src/bootstrap/tool.rs | 12 +----------- - 1 file changed, 1 insertion(+), 11 deletions(-) - -diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs -index 815498047fd5..f785a0989a36 100644 ---- a/src/bootstrap/tool.rs -+++ b/src/bootstrap/tool.rs -@@ -293,7 +293,6 @@ fn rustbook_features() -> Vec { - macro_rules! bootstrap_tool { - ($( - $name:ident, $path:expr, $tool_name:expr -- $(,llvm_tools = $llvm:expr)* - $(,is_external_tool = $external:expr)* - $(,features = $features:expr)* - ; -@@ -305,15 +304,6 @@ macro_rules! bootstrap_tool { - )+ - } - -- impl Tool { -- /// Whether this tool requires LLVM to run -- pub fn uses_llvm_tools(&self) -> bool { -- match self { -- $(Tool::$name => false $(|| $llvm)*,)+ -- } -- } -- } -- - impl<'a> Builder<'a> { - pub fn tool_exe(&self, tool: Tool) -> PathBuf { - match tool { -@@ -381,7 +371,7 @@ bootstrap_tool!( - Tidy, "src/tools/tidy", "tidy"; - Linkchecker, "src/tools/linkchecker", "linkchecker"; - CargoTest, "src/tools/cargotest", "cargotest"; -- Compiletest, "src/tools/compiletest", "compiletest", llvm_tools = true; -+ Compiletest, "src/tools/compiletest", "compiletest"; - BuildManifest, "src/tools/build-manifest", "build-manifest"; - RemoteTestClient, "src/tools/remote-test-client", "remote-test-client"; - RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true; --- -2.24.1 - - -From cc4688d66d75e149a0136f701045cbf7ee672725 Mon Sep 17 00:00:00 2001 -From: Josh Stone -Date: Wed, 8 Jan 2020 10:04:18 -0800 -Subject: [PATCH 2/2] Build compiletest with in-tree libtest - ---- - src/bootstrap/tool.rs | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs -index f785a0989a36..73a4dda74e88 100644 ---- a/src/bootstrap/tool.rs -+++ b/src/bootstrap/tool.rs -@@ -294,6 +294,7 @@ macro_rules! bootstrap_tool { - ($( - $name:ident, $path:expr, $tool_name:expr - $(,is_external_tool = $external:expr)* -+ $(,is_unstable_tool = $unstable:expr)* - $(,features = $features:expr)* - ; - )+) => { -@@ -344,7 +345,12 @@ macro_rules! bootstrap_tool { - compiler: self.compiler, - target: self.target, - tool: $tool_name, -- mode: Mode::ToolBootstrap, -+ mode: if false $(|| $unstable)* { -+ // use in-tree libraries for unstable features -+ Mode::ToolStd -+ } else { -+ Mode::ToolBootstrap -+ }, - path: $path, - is_optional_tool: false, - source_type: if false $(|| $external)* { -@@ -371,7 +377,7 @@ bootstrap_tool!( - Tidy, "src/tools/tidy", "tidy"; - Linkchecker, "src/tools/linkchecker", "linkchecker"; - CargoTest, "src/tools/cargotest", "cargotest"; -- Compiletest, "src/tools/compiletest", "compiletest"; -+ Compiletest, "src/tools/compiletest", "compiletest", is_unstable_tool = true; - BuildManifest, "src/tools/build-manifest", "build-manifest"; - RemoteTestClient, "src/tools/remote-test-client", "remote-test-client"; - RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true; --- -2.24.1 - diff --git a/rust.spec b/rust.spec index a6be1a7..fdef18b 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.40.0 -%global bootstrap_cargo 1.40.0 -%global bootstrap_channel 1.40.0 -%global bootstrap_date 2019-12-19 +%global bootstrap_rust 1.41.0 +%global bootstrap_cargo 1.41.0 +%global bootstrap_channel 1.41.1 +%global bootstrap_date 2020-02-27 # Only the specified arches will use bootstrap binaries. #global bootstrap_arches %%{rust_arches} @@ -48,7 +48,7 @@ %endif Name: rust -Version: 1.41.1 +Version: 1.42.0 Release: 1%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) @@ -67,16 +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 -# Fix compiletest with newer (local-rebuild) libtest -# https://github.com/rust-lang/rust/commit/241d2e765dc7401e642812e43b75dbc3950f2c98 -Patch2: 0001-Fix-compiletest-fallout-from-stage0-bump.patch -# https://github.com/rust-lang/rust/pull/68019 -Patch3: rust-pr68019-in-tree-compiletest.patch - -# Fix ARM unwinding for foreign-exceptions -# https://github.com/rust-lang/rust/pull/67779 -Patch4: 0001-Update-the-barrier-cache-during-ARM-EHABI-unwinding.patch - # Get the Rust triple for any arch. %{lua: function rust_triple(arch) local abi = "gnu" @@ -187,7 +177,6 @@ BuildRequires: gdb # TODO: work on unbundling these! Provides: bundled(libbacktrace) = 8.1.0 -Provides: bundled(miniz) = 2.0.7 # Virtual provides for folks who attempt "dnf install rustc" Provides: rustc = %{version}-%{release} @@ -305,7 +294,7 @@ Summary: Rust's package manager and build tool Provides: bundled(libgit2) = 0.28.2 %endif %if %with bundled_libssh2 -Provides: bundled(libssh2) = 1.8.1~dev +Provides: bundled(libssh2) = 1.9.0~dev %endif # For tests: BuildRequires: git @@ -351,7 +340,7 @@ Summary: Rust Language Server for IDE integration Provides: bundled(libgit2) = 0.28.2 %endif %if %with bundled_libssh2 -Provides: bundled(libssh2) = 1.8.1~dev +Provides: bundled(libssh2) = 1.9.0~dev %endif Requires: rust-analysis # /usr/bin/rls is dynamically linked against internal rustc libs @@ -414,9 +403,6 @@ test -f '%{local_rust_root}/bin/rustc' %setup -q -n %{rustc_package} %patch1 -p1 -R -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %if "%{python}" == "python3" sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -725,6 +711,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* Thu Mar 12 2020 Josh Stone - 1.42.0-1 +- Update to 1.42.0. + * Thu Feb 27 2020 Josh Stone - 1.41.1-1 - Update to 1.41.1. diff --git a/sources b/sources index 8b5147c..63fa9dd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.41.1-src.tar.xz) = ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 +SHA512 (rustc-1.42.0-src.tar.xz) = 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16 diff --git a/sources-bootstrap b/sources-bootstrap index ad40ecc..4a4c06d 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,8 +1,8 @@ -SHA512 (rustc-1.41.1-src.tar.xz) = ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 -SHA512 (rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz) = f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f -SHA512 (rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz) = d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492 -SHA512 (rust-1.40.0-i686-unknown-linux-gnu.tar.xz) = d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6 -SHA512 (rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz) = 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f -SHA512 (rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz) = eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce -SHA512 (rust-1.40.0-s390x-unknown-linux-gnu.tar.xz) = e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14 -SHA512 (rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz) = 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1 +SHA512 (rustc-1.42.0-src.tar.xz) = 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16 +SHA512 (rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz) = 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e +SHA512 (rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz) = 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2 +SHA512 (rust-1.41.1-i686-unknown-linux-gnu.tar.xz) = c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af +SHA512 (rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz) = 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede +SHA512 (rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz) = 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995 +SHA512 (rust-1.41.1-s390x-unknown-linux-gnu.tar.xz) = f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153 +SHA512 (rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz) = c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666 From 3d7a297b89c75d8f59c13af52f6cdaf26785172f Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 12 Mar 2020 13:07:46 -0700 Subject: [PATCH 8/8] Fix 1.42 bootstrapping itself --- 0001-Drop-cfg-bootstrap-code.patch | 25 +++++++++++++++++++++++++ rust.spec | 5 +++++ 2 files changed, 30 insertions(+) create mode 100644 0001-Drop-cfg-bootstrap-code.patch diff --git a/0001-Drop-cfg-bootstrap-code.patch b/0001-Drop-cfg-bootstrap-code.patch new file mode 100644 index 0000000..3d8f202 --- /dev/null +++ b/0001-Drop-cfg-bootstrap-code.patch @@ -0,0 +1,25 @@ +From 31dcdc9e13c324d33a18db3aed7f4b3208ff3744 Mon Sep 17 00:00:00 2001 +From: Mark Rousskov +Date: Fri, 31 Jan 2020 12:30:17 -0500 +Subject: [PATCH] Drop cfg(bootstrap) code + +--- + src/bootstrap/lib.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs +index 1fee3fd9ac1d..637323331f58 100644 +--- a/src/bootstrap/lib.rs ++++ b/src/bootstrap/lib.rs +@@ -1026,7 +1026,7 @@ impl Build { + } + + fn llvm_link_tools_dynamically(&self, target: Interned) -> bool { +- (target.contains("linux-gnu") || target.contains("apple-darwin")) ++ target.contains("linux-gnu") || target.contains("apple-darwin") + } + + /// Returns the `version` string associated with this compiler for Rust +-- +2.24.1 + diff --git a/rust.spec b/rust.spec index fdef18b..f0875a3 100644 --- a/rust.spec +++ b/rust.spec @@ -67,6 +67,10 @@ 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 +# Fix 1.42 bootstrapping itself +# https://github.com/rust-lang/rust/issues/69953 +Patch2: 0001-Drop-cfg-bootstrap-code.patch + # Get the Rust triple for any arch. %{lua: function rust_triple(arch) local abi = "gnu" @@ -403,6 +407,7 @@ 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