$ git diff --patch-with-stat --summary 306261ada0ba1af22c7f771bcf4957c941a96ee3..ac33cb4650e0e4a141756076cfab297c8d967587
.abf.yml | 27 +++++++------
1.32.0-fix-configure-of-bundled-llvm.patch | 32 +++++++++++++++
1.33.0-clippy-sysroot.patch | 62 ++++++++++++++++++++++++++++++
rust.spec | 46 ++++++++++++----------
4 files changed, 132 insertions(+), 35 deletions(-)
create mode 100644 1.32.0-fix-configure-of-bundled-llvm.patch
create mode 100644 1.33.0-clippy-sysroot.patch
diff --git a/.abf.yml b/.abf.yml
index 2e4df8c..0fa8d47 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,15 +1,14 @@
sources:
- cargo-0.31.0-aarch64-unknown-linux-gnu.tar.gz: caf145598b2780302363e26ea3676b16a57a5497
- cargo-0.31.0-armv7-unknown-linux-gnueabihf.tar.gz: 07b1f14ef4a3c2716a1caa17c7b7ba92f6be213c
- cargo-0.31.0-i686-unknown-linux-gnu.tar.gz: d024bcf2e786f7910160707444ee287d11fe8603
- cargo-0.31.0-x86_64-unknown-linux-gnu.tar.gz: 23cc0dbeabc073683e32dfd94b1004e8b59a02bb
- rust-std-1.30.0-aarch64-unknown-linux-gnu.tar.gz: 706ca2489808bffac3af9211d1f3480b779f35c4
- rust-std-1.30.0-armv7-unknown-linux-gnueabihf.tar.gz: 94106b2191b904cf694688950de2720a7d002507
- rust-std-1.30.0-i686-unknown-linux-gnu.tar.gz: 4ba726485736107a121a3256e90b2cdba0e090f0
- rust-std-1.30.0-x86_64-unknown-linux-gnu.tar.gz: 40b0ec26c18f1b1d9b660e4abeca55c79f7a5bd3
- rustc-1.30.0-aarch64-unknown-linux-gnu.tar.gz: 9bd40b06649eee7e9a8f0a7aa46cffd547f6ab3e
- rustc-1.30.0-armv7-unknown-linux-gnueabihf.tar.gz: cbf94368c6f026b29df756890f1a93b0086bd682
- rustc-1.30.0-i686-unknown-linux-gnu.tar.gz: 4ccf2164ccc3027c61e2d163ed5ba6d2769b4e81
- rustc-1.30.0-x86_64-unknown-linux-gnu.tar.gz: 11450cd2954c20ec346f1713c851590caa68d23b
- rustc-1.31.0-src.tar.gz: 699c7a4af09173e74f90b31eaed468184018037e
- rustc-1.31.1-src.tar.gz: b4276b400bade8e3fc13aed023c5356ec28bdc80
+ cargo-0.33.0-aarch64-unknown-linux-gnu.tar.gz: d9cb50ad544b8cb211718b180b1c2ead0998029b
+ cargo-0.33.0-armv7-unknown-linux-gnueabihf.tar.gz: 2327718970c83f17ca780ba43a393ce002e521fd
+ cargo-0.33.0-i686-unknown-linux-gnu.tar.gz: 80594f11d39b3ca9db56d1ec5bb89df8092763aa
+ cargo-0.33.0-x86_64-unknown-linux-gnu.tar.gz: ab3d3824123fb75d104283900f0d075af8bfbc3d
+ rust-std-1.32.0-aarch64-unknown-linux-gnu.tar.gz: eca8a41f091920f29f08a9ec681801b84b640a8b
+ rust-std-1.32.0-armv7-unknown-linux-gnueabihf.tar.gz: 849b1dbd8adca46654b19c944b91e3ace7144b32
+ rust-std-1.32.0-i686-unknown-linux-gnu.tar.gz: f5ca6e7be7cf3ccf67263c7aeeee30c1633c694e
+ rust-std-1.32.0-x86_64-unknown-linux-gnu.tar.gz: d2e824fd5ee5b20fd05c4f162c7bbe3d45f63d76
+ rustc-1.32.0-aarch64-unknown-linux-gnu.tar.gz: 907b2bff9581fc3040d80822ce5a4581ed15ab9a
+ rustc-1.32.0-armv7-unknown-linux-gnueabihf.tar.gz: aa521b7cb23ca3a34b1b16c0621cad84e374905b
+ rustc-1.32.0-i686-unknown-linux-gnu.tar.gz: a37e472bdc3df8806c0c51fd13b88e776f0b5251
+ rustc-1.32.0-x86_64-unknown-linux-gnu.tar.gz: c4c82638a2d0d4f585285104e82bc95bfd0bdc65
+ rustc-1.33.0-src.tar.gz: 9a1b68d7749a915d6c5ec70d89907c667a25f2f8
diff --git a/1.32.0-fix-configure-of-bundled-llvm.patch b/1.32.0-fix-configure-of-bundled-llvm.patch
new file mode 100644
index 0000000..eaeab87
--- /dev/null
+++ b/1.32.0-fix-configure-of-bundled-llvm.patch
@@ -0,0 +1,32 @@
+Revert "[CMake] Unconditionally add .h and .td files to target sources"
+
+This reverts commit https://github.com/llvm-mirror/llvm/commit/6fb010f388bb2cb2f00fe039123092308ac4865d.
+
+Bug: https://bugs.gentoo.org/675752#c7
+--- a/src/llvm/cmake/modules/LLVMProcessSources.cmake
++++ b/src/llvm/cmake/modules/LLVMProcessSources.cmake
+@@ -52,15 +52,16 @@ function(llvm_process_sources OUT_VAR)
+ cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN})
+ set(sources ${ARG_UNPARSED_ARGUMENTS})
+ llvm_check_source_file_list( ${sources} )
+-
+- # This adds .td and .h files to the Visual Studio solution:
+- add_td_sources(sources)
+- find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")
+- if (hdrs)
+- set_source_files_properties(${hdrs} PROPERTIES HEADER_FILE_ONLY ON)
++ if( LLVM_ENABLE_IDE )
++ # This adds .td and .h files to the Visual Studio solution:
++ add_td_sources(sources)
++ find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")
++ if (hdrs)
++ set_source_files_properties(${hdrs} PROPERTIES HEADER_FILE_ONLY ON)
++ endif()
++ set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES HEADER_FILE_ONLY ON)
++ list(APPEND sources ${ARG_ADDITIONAL_HEADERS} ${hdrs})
+ endif()
+- set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES HEADER_FILE_ONLY ON)
+- list(APPEND sources ${ARG_ADDITIONAL_HEADERS} ${hdrs})
+
+ set( ${OUT_VAR} ${sources} PARENT_SCOPE )
+ endfunction(llvm_process_sources)
diff --git a/1.33.0-clippy-sysroot.patch b/1.33.0-clippy-sysroot.patch
new file mode 100644
index 0000000..c8dc7a8
--- /dev/null
+++ b/1.33.0-clippy-sysroot.patch
@@ -0,0 +1,62 @@
+--- a/src/tools/clippy/src/driver.rs 2019-03-01 20:52:40.685331653 +0300
++++ b/src/tools/clippy/src/driver.rs 2019-03-01 20:54:44.161327649 +0300
+@@ -31,54 +31,22 @@
+ exit(0);
+ }
+
+- let sys_root = option_env!("SYSROOT")
+- .map(String::from)
+- .or_else(|| std::env::var("SYSROOT").ok())
+- .or_else(|| {
+- let home = option_env!("RUSTUP_HOME").or(option_env!("MULTIRUST_HOME"));
+- let toolchain = option_env!("RUSTUP_TOOLCHAIN").or(option_env!("MULTIRUST_TOOLCHAIN"));
+- home.and_then(|home| toolchain.map(|toolchain| format!("{}/toolchains/{}", home, toolchain)))
+- })
+- .or_else(|| {
+- Command::new("rustc")
+- .arg("--print")
+- .arg("sysroot")
+- .output()
+- .ok()
+- .and_then(|out| String::from_utf8(out.stdout).ok())
+- .map(|s| s.trim().to_owned())
+- })
+- .expect("need to specify SYSROOT env var during clippy compilation, or use rustup or multirust");
+-
+ // Setting RUSTC_WRAPPER causes Cargo to pass 'rustc' as the first argument.
+ // We're invoking the compiler programmatically, so we ignore this/
+- let mut orig_args: Vec<String> = env::args().collect();
+- if orig_args.len() <= 1 {
++ let mut args: Vec<String> = env::args().collect();
++ if args.len() <= 1 {
+ std::process::exit(1);
+ }
+- if Path::new(&orig_args[1]).file_stem() == Some("rustc".as_ref()) {
++ if Path::new(&args[1]).file_stem() == Some("rustc".as_ref()) {
+ // we still want to be able to invoke it normally though
+- orig_args.remove(1);
++ args.remove(1);
+ }
+- // this conditional check for the --sysroot flag is there so users can call
+- // `clippy_driver` directly
+- // without having to pass --sysroot or anything
+- let mut args: Vec<String> = if orig_args.iter().any(|s| s == "--sysroot") {
+- orig_args.clone()
+- } else {
+- orig_args
+- .clone()
+- .into_iter()
+- .chain(Some("--sysroot".to_owned()))
+- .chain(Some(sys_root))
+- .collect()
+- };
+
+ // this check ensures that dependencies are built but not linted and the final
+ // crate is
+ // linted but not built
+ let clippy_enabled = env::var("CLIPPY_TESTS").ok().map_or(false, |val| val == "true")
+- || orig_args.iter().any(|s| s == "--emit=dep-info,metadata");
++ || args.iter().any(|s| s == "--emit=dep-info,metadata");
+
+ if clippy_enabled {
+ args.extend_from_slice(&["--cfg".to_owned(), r#"feature="cargo-clippy""#.to_owned()]);
diff --git a/rust.spec b/rust.spec
index da9fdfe..ff5242c 100644
--- a/rust.spec
+++ b/rust.spec
@@ -19,30 +19,34 @@
# https://forge.rust-lang.org/platform-support.html
%global rust_arches znver1 x86_64 %ix86 armv7hnl armv7hl aarch64
-%define dist_date 2018-10-25
-
Summary: A safe, concurrent, practical programming language
Name: rust
-Version: 1.31.1
+Version: 1.33.0
Release: 1
Group: Development/Other
License: MIT
Url: http://www.rust-lang.org/
Source0: http://static.rust-lang.org/dist/%{oname}-%{version}-src.tar.gz
Source100: rust.rpmlintrc
+
+Patch1: 1.32.0-fix-configure-of-bundled-llvm.patch
+Patch2: 1.33.0-clippy-sysroot.patch
%if %{with bootstrap}
-Source1: rustc-1.30.0-x86_64-unknown-linux-gnu.tar.gz
-Source2: rust-std-1.30.0-x86_64-unknown-linux-gnu.tar.gz
-Source3: cargo-0.31.0-x86_64-unknown-linux-gnu.tar.gz
-Source4: rustc-1.30.0-i686-unknown-linux-gnu.tar.gz
-Source5: rust-std-1.30.0-i686-unknown-linux-gnu.tar.gz
-Source6: cargo-0.31.0-i686-unknown-linux-gnu.tar.gz
-Source7: rustc-1.30.0-aarch64-unknown-linux-gnu.tar.gz
-Source8: rust-std-1.30.0-aarch64-unknown-linux-gnu.tar.gz
-Source9: cargo-0.31.0-aarch64-unknown-linux-gnu.tar.gz
-Source10: rustc-1.30.0-armv7-unknown-linux-gnueabihf.tar.gz
-Source11: rust-std-1.30.0-armv7-unknown-linux-gnueabihf.tar.gz
-Source12: cargo-0.31.0-armv7-unknown-linux-gnueabihf.tar.gz
+%define bootstrap_date 2019-01-17
+%define bootstrap_rust 1.32.0
+%define bootstrap_cargo 0.33.0
+Source1: https://static.rust-lang.org/dist/%{bootstrap_date}/rustc-%{bootstrap_rust}-x86_64-unknown-linux-gnu.tar.gz
+Source2: https://static.rust-lang.org/dist/%{bootstrap_date}/rust-std-%{bootstrap_rust}-x86_64-unknown-linux-gnu.tar.gz
+Source3: https://static.rust-lang.org/dist/%{bootstrap_date}/cargo-%{bootstrap_cargo}-x86_64-unknown-linux-gnu.tar.gz
+Source4: https://static.rust-lang.org/dist/%{bootstrap_date}/rustc-%{bootstrap_rust}-i686-unknown-linux-gnu.tar.gz
+Source5: https://static.rust-lang.org/dist/%{bootstrap_date}/rust-std-%{bootstrap_rust}-i686-unknown-linux-gnu.tar.gz
+Source6: https://static.rust-lang.org/dist/%{bootstrap_date}/cargo-%{bootstrap_cargo}-i686-unknown-linux-gnu.tar.gz
+Source7: https://static.rust-lang.org/dist/%{bootstrap_date}/rustc-%{bootstrap_rust}-aarch64-unknown-linux-gnu.tar.gz
+Source8: https://static.rust-lang.org/dist/%{bootstrap_date}/rust-std-%{bootstrap_rust}-aarch64-unknown-linux-gnu.tar.gz
+Source9: https://static.rust-lang.org/dist/%{bootstrap_date}/cargo-%{bootstrap_cargo}-aarch64-unknown-linux-gnu.tar.gz
+Source10: https://static.rust-lang.org/dist/%{bootstrap_date}/rustc-%{bootstrap_rust}-armv7-unknown-linux-gnueabihf.tar.gz
+Source11: https://static.rust-lang.org/dist/%{bootstrap_date}/rust-std-%{bootstrap_rust}-armv7-unknown-linux-gnueabihf.tar.gz
+Source12: https://static.rust-lang.org/dist/%{bootstrap_date}/cargo-%{bootstrap_cargo}-armv7-unknown-linux-gnueabihf.tar.gz
%endif
BuildRequires: python < 3.0
@@ -113,6 +117,7 @@ various editors.
%prep
%setup -q -n %{oname}-%{version}-src
+%apply_patches
%if %{with llvm}
rm -rf src/llvm/
@@ -127,11 +132,11 @@ rm -rf src/llvm/
%global rustlibdir %{common_libdir}/rustlib
%if %{with bootstrap}
-mkdir -p build/cache/%{dist_date}
-cp %{SOURCE1} %{SOURCE2} %{SOURCE3} build/cache/%{dist_date}
-cp %{SOURCE4} %{SOURCE5} %{SOURCE6} build/cache/%{dist_date}
-cp %{SOURCE7} %{SOURCE8} %{SOURCE9} build/cache/%{dist_date}
-cp %{SOURCE10} %{SOURCE11} %{SOURCE12} build/cache/%{dist_date}
+mkdir -p build/cache/%{bootstrap_date}
+cp %{SOURCE1} %{SOURCE2} %{SOURCE3} build/cache/%{bootstrap_date}
+cp %{SOURCE4} %{SOURCE5} %{SOURCE6} build/cache/%{bootstrap_date}
+cp %{SOURCE7} %{SOURCE8} %{SOURCE9} build/cache/%{bootstrap_date}
+cp %{SOURCE10} %{SOURCE11} %{SOURCE12} build/cache/%{bootstrap_date}
%endif
%ifarch %{ix86} %{arm}
@@ -170,7 +175,6 @@ export RUSTFLAGS="-Clink-arg=-Wl,-z,relro,-z,now"
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{common_libdir} \
- --disable-jemalloc \
--disable-rpath \
--disable-codegen-tests \
--disable-debuginfo \