rust 1.45.2-1 (x86_64;znver1) 2020-12079
9999

Status published
Submitter cris [@T] beebgames.com
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/812688
Packages
cargo-1.45.2-1.x86_64.binary
cargo-debuginfo-1.45.2-1.x86_64.debuginfo
cargo-doc-1.45.2-1.x86_64.binary
clippy-1.45.2-1.x86_64.binary
clippy-debuginfo-1.45.2-1.x86_64.debuginfo
rls-1.45.2-1.x86_64.binary
rls-debuginfo-1.45.2-1.x86_64.debuginfo
rust-1.45.2-1.x86_64.binary
rust-1.45.2-1.x86_64.source
rust-analysis-1.45.2-1.x86_64.binary
rust-debugger-common-1.45.2-1.x86_64.binary
rust-debuginfo-1.45.2-1.x86_64.debuginfo
rust-debugsource-1.45.2-1.x86_64.binary
rust-doc-1.45.2-1.x86_64.binary
rustfmt-1.45.2-1.x86_64.binary
rustfmt-debuginfo-1.45.2-1.x86_64.debuginfo
rust-gdb-1.45.2-1.x86_64.binary
rust-lldb-1.45.2-1.x86_64.binary
rust-src-1.45.2-1.x86_64.binary
rust-std-static-1.45.2-1.x86_64.binary
cargo-1.45.2-1.znver1.binary
cargo-debuginfo-1.45.2-1.znver1.debuginfo
cargo-doc-1.45.2-1.znver1.binary
clippy-1.45.2-1.znver1.binary
clippy-debuginfo-1.45.2-1.znver1.debuginfo
rls-1.45.2-1.znver1.binary
rls-debuginfo-1.45.2-1.znver1.debuginfo
rust-1.45.2-1.znver1.source
rust-1.45.2-1.znver1.binary
rust-analysis-1.45.2-1.znver1.binary
rust-debugger-common-1.45.2-1.znver1.binary
rust-debuginfo-1.45.2-1.znver1.debuginfo
rust-debugsource-1.45.2-1.znver1.binary
rust-doc-1.45.2-1.znver1.binary
rustfmt-1.45.2-1.znver1.binary
rustfmt-debuginfo-1.45.2-1.znver1.debuginfo
rust-gdb-1.45.2-1.znver1.binary
rust-lldb-1.45.2-1.znver1.binary
rust-src-1.45.2-1.znver1.binary
rust-std-static-1.45.2-1.znver1.binary
Build Date 2020-08-06 13:24:57 +0000 UTC
Last Updated 2020-08-13 01:33:41.623690299 +0000 UTC
$ git diff --patch-with-stat --summary 1a2ad6fc7bb43143633a2ef756a3bb92bef0bef1..51536794026c43ccd95529f1aa09384270578c3d

 .abf.yml                                       |  17 +--
 0001-Drop-cfg-bootstrap-code.patch             |  25 ----
 rust-pr70163-prepare-for-llvm-10-upgrade.patch | 175 +++++++++++++++++++++++++
 rust.spec                                      |  33 +++--
 4 files changed, 203 insertions(+), 47 deletions(-)
 delete mode 100644 0001-Drop-cfg-bootstrap-code.patch
 create mode 100644 rust-pr70163-prepare-for-llvm-10-upgrade.patch

diff --git a/.abf.yml b/.abf.yml
index 0eb142e..3e37163 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,9 +1,10 @@
 sources:
-  rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz: f0719a30cbb0113bfb9ec1d4380d907242f7c156
-  rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz: f8eb6e9215fb5030f6185087437c2b29be11cdc0
-  rust-1.41.1-i686-unknown-linux-gnu.tar.xz: 82f8b3db8c1c2be68eaee806c79b147b99b25284
-  rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz: c7015ee002e79b1ebac811a1558e8276c9577103
-  rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz: 7598d01ae8c052dc7022afc0719425b99e19a4f6
-  rust-1.41.1-s390x-unknown-linux-gnu.tar.xz: fe00476024aa14e5fad1825e577628e99009ac82
-  rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz: 8ffc57263abf34d1a96beede51a5d275549a81de
-  rustc-1.42.0-src.tar.xz: 184dd270e306ec22249795d41220c3c231e7cfa2
+  openssl3.tar.gz: e5acd9655392b194eb7540ef0c106fed32253ca5
+  rust-1.44.0-aarch64-unknown-linux-gnu.tar.xz: 99735e094f28ae168907c902385f6df09c9545ac
+  rust-1.44.0-armv7-unknown-linux-gnueabihf.tar.xz: b2b17448384bc9e972bb275e0a40afc4128fde1e
+  rust-1.44.0-i686-unknown-linux-gnu.tar.xz: 96287d119e8008e13c09e421490a90cd8ed994ab
+  rust-1.44.0-powerpc64-unknown-linux-gnu.tar.xz: 448cf18776b20fd6063b93d05ae789fd8e033b21
+  rust-1.44.0-powerpc64le-unknown-linux-gnu.tar.xz: d7a6dc0bc6712132dafa3802959e9275467872f4
+  rust-1.44.0-s390x-unknown-linux-gnu.tar.xz: b2cdfe4da94877f9d1d4e84861cecb0f4aae8743
+  rust-1.44.0-x86_64-unknown-linux-gnu.tar.xz: 5bb798e722c7758454def598daec56362be0525c
+  rustc-1.45.2-src.tar.xz: ef2e4d6a728918cc78dd535a3d6d842fa485e8c7
diff --git a/0001-Drop-cfg-bootstrap-code.patch b/0001-Drop-cfg-bootstrap-code.patch
deleted file mode 100644
index 3d8f202..0000000
--- a/0001-Drop-cfg-bootstrap-code.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 31dcdc9e13c324d33a18db3aed7f4b3208ff3744 Mon Sep 17 00:00:00 2001
-From: Mark Rousskov <mark.simulacrum@gmail.com>
-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<String>) -> 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-pr70163-prepare-for-llvm-10-upgrade.patch b/rust-pr70163-prepare-for-llvm-10-upgrade.patch
new file mode 100644
index 0000000..765c2e9
--- /dev/null
+++ b/rust-pr70163-prepare-for-llvm-10-upgrade.patch
@@ -0,0 +1,175 @@
+commit 374ab25585f0a817fe7bd6986737f12347b12d0b (from 1add455ec6f81045e7651c6225902823f5d4fbfa)
+Merge: 1add455ec6f8 497f879b1e24
+Author: bors <bors@rust-lang.org>
+Date:   Tue Mar 24 12:42:54 2020 +0000
+
+    Auto merge of #70163 - nikic:llvm-10-preparation, r=cuviper
+    
+    Prepare for LLVM 10 upgrade
+    
+    This is #67759 minus the submodule update.
+    
+     * Fix two compatibility issues in the rustllvm wrapper.
+     * Update data layout strings in tests.
+     * Fix LLVM version comparison (this become a problem because the major version has two digits now).
+    
+    r? @cuviper
+
+diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
+index aa1d1b7c4241..b52fbe4666eb 100644
+--- a/src/bootstrap/test.rs
++++ b/src/bootstrap/test.rs
+@@ -1141,6 +1141,8 @@ impl Step for Compiletest {
+             let llvm_config = builder.ensure(native::Llvm { target: builder.config.build });
+             if !builder.config.dry_run {
+                 let llvm_version = output(Command::new(&llvm_config).arg("--version"));
++                // Remove trailing newline from llvm-config output.
++                let llvm_version = llvm_version.trim_end();
+                 cmd.arg("--llvm-version").arg(llvm_version);
+             }
+             if !builder.is_rust_llvm(target) {
+diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
+index 90d24d20737d..9e8614e3b6d3 100644
+--- a/src/rustllvm/PassWrapper.cpp
++++ b/src/rustllvm/PassWrapper.cpp
+@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() {
+ }
+ 
+ extern "C" void LLVMTimeTraceProfilerInitialize() {
+-#if LLVM_VERSION_GE(9, 0)
++#if LLVM_VERSION_GE(10, 0)
++  timeTraceProfilerInitialize(
++      /* TimeTraceGranularity */ 0,
++      /* ProcName */ "rustc");
++#elif LLVM_VERSION_GE(9, 0)
+   timeTraceProfilerInitialize();
+ #endif
+ }
+diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
+index 25cfee3373dc..799adb418822 100644
+--- a/src/rustllvm/RustWrapper.cpp
++++ b/src/rustllvm/RustWrapper.cpp
+@@ -1333,8 +1333,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B,
+                                             LLVMValueRef Dst, unsigned DstAlign,
+                                             LLVMValueRef Val,
+                                             LLVMValueRef Size, bool IsVolatile) {
++#if LLVM_VERSION_GE(10, 0)
++  return wrap(unwrap(B)->CreateMemSet(
++      unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile));
++#else
+   return wrap(unwrap(B)->CreateMemSet(
+       unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile));
++#endif
+ }
+ 
+ extern "C" LLVMValueRef
+diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
+index 8d028280a8da..00de3de05f07 100644
+--- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
++++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
+@@ -1,5 +1,5 @@
+ {
+-    "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128",
++    "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128",
+     "linker-flavor": "gcc",
+     "llvm-target": "i686-unknown-linux-gnu",
+     "target-endian": "little",
+diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
+index 48040ae3da0e..6d5e964ed4fe 100644
+--- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
++++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
+@@ -1,6 +1,6 @@
+ {
+     "pre-link-args": {"gcc": ["-m64"]},
+-    "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128",
++    "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
+     "linker-flavor": "gcc",
+     "llvm-target": "x86_64-unknown-linux-gnu",
+     "target-endian": "little",
+diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
+index 2a24a8c3c948..cb648db8830e 100644
+--- a/src/tools/compiletest/src/header.rs
++++ b/src/tools/compiletest/src/header.rs
+@@ -191,6 +191,7 @@ impl EarlyProps {
+                 return true;
+             }
+             if let Some(ref actual_version) = config.llvm_version {
++                let actual_version = version_to_int(actual_version);
+                 if line.starts_with("min-llvm-version") {
+                     let min_version = line
+                         .trim_end()
+@@ -199,7 +200,7 @@ impl EarlyProps {
+                         .expect("Malformed llvm version directive");
+                     // Ignore if actual version is smaller the minimum required
+                     // version
+-                    &actual_version[..] < min_version
++                    actual_version < version_to_int(min_version)
+                 } else if line.starts_with("min-system-llvm-version") {
+                     let min_version = line
+                         .trim_end()
+@@ -208,7 +209,7 @@ impl EarlyProps {
+                         .expect("Malformed llvm version directive");
+                     // Ignore if using system LLVM and actual version
+                     // is smaller the minimum required version
+-                    config.system_llvm && &actual_version[..] < min_version
++                    config.system_llvm && actual_version < version_to_int(min_version)
+                 } else if line.starts_with("ignore-llvm-version") {
+                     // Syntax is: "ignore-llvm-version <version1> [- <version2>]"
+                     let range_components = line
+@@ -219,15 +220,15 @@ impl EarlyProps {
+                         .take(3) // 3 or more = invalid, so take at most 3.
+                         .collect::<Vec<&str>>();
+                     match range_components.len() {
+-                        1 => &actual_version[..] == range_components[0],
++                        1 => actual_version == version_to_int(range_components[0]),
+                         2 => {
+-                            let v_min = range_components[0];
+-                            let v_max = range_components[1];
++                            let v_min = version_to_int(range_components[0]);
++                            let v_max = version_to_int(range_components[1]);
+                             if v_max < v_min {
+                                 panic!("Malformed LLVM version range: max < min")
+                             }
+                             // Ignore if version lies inside of range.
+-                            &actual_version[..] >= v_min && &actual_version[..] <= v_max
++                            actual_version >= v_min && actual_version <= v_max
+                         }
+                         _ => panic!("Malformed LLVM version directive"),
+                     }
+@@ -238,6 +239,20 @@ impl EarlyProps {
+                 false
+             }
+         }
++
++        fn version_to_int(version: &str) -> u32 {
++            let version_without_suffix = version.split('-').next().unwrap();
++            let components: Vec<u32> = version_without_suffix
++                .split('.')
++                .map(|s| s.parse().expect("Malformed version component"))
++                .collect();
++            match components.len() {
++                1 => components[0] * 10000,
++                2 => components[0] * 10000 + components[1] * 100,
++                3 => components[0] * 10000 + components[1] * 100 + components[2],
++                _ => panic!("Malformed version"),
++            }
++        }
+     }
+ }
+ 
+diff --git a/src/tools/compiletest/src/header/tests.rs b/src/tools/compiletest/src/header/tests.rs
+index 6c478f7e29da..31d991e0c2f8 100644
+--- a/src/tools/compiletest/src/header/tests.rs
++++ b/src/tools/compiletest/src/header/tests.rs
+@@ -122,9 +122,8 @@ fn llvm_version() {
+     config.llvm_version = Some("9.3.1-rust-1.43.0-dev".to_owned());
+     assert!(!parse_rs(&config, "// min-llvm-version 9.2").ignore);
+ 
+-    // FIXME.
+-    // config.llvm_version = Some("10.0.0-rust".to_owned());
+-    // assert!(!parse_rs(&config, "// min-llvm-version 9.0").ignore);
++    config.llvm_version = Some("10.0.0-rust".to_owned());
++    assert!(!parse_rs(&config, "// min-llvm-version 9.0").ignore);
+ }
+ 
+ #[test]
diff --git a/rust.spec b/rust.spec
index 099fa27..9f32912 100644
--- a/rust.spec
+++ b/rust.spec
@@ -1,3 +1,5 @@
+%define _disable_lto 1
+
 # 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 znver1 i686 armv7hl armv7hnl aarch64 ppc64 ppc64le s390x
@@ -9,10 +11,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.41.0
-%global bootstrap_cargo 1.41.0
-%global bootstrap_channel 1.41.1
-%global bootstrap_date 2020-02-27
+%global bootstrap_rust 1.44.0
+%global bootstrap_cargo 1.44.0
+%global bootstrap_channel 1.44.0
+%global bootstrap_date 2020-06-04
 
 # Only the specified arches will use bootstrap binaries.
 %global bootstrap_arches %%{rust_arches}
@@ -35,7 +37,7 @@
 %bcond_without lldb
 
 Name:           rust
-Version:        1.42.0
+Version:        1.45.2
 Release:        1%{?dist}
 Summary:        The Rust Programming Language
 License:        (ASL 2.0 or MIT) and (BSD and MIT)
@@ -49,14 +51,12 @@ ExclusiveArch:  %{rust_arches}
 %global rustc_package rustc-%{channel}-src
 %endif
 Source0:        https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
+# update from openssl-300 branch at https://github.com/sfackler/rust-openssl
+Source100:	openssl3.tar.gz
 # Revert https://github.com/rust-lang/rust/pull/57840
 # 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.
-
+Patch2:		rust-pr70163-prepare-for-llvm-10-upgrade.patch
 %{lua: function rust_triple(arch)
   local abi = "gnu"
   if arch == "armv7hnl" then
@@ -133,7 +133,7 @@ BuildRequires:  pkgconfig(libssh2) >= 1.6.0
 BuildRequires:  %{python}
 
 %if %with bundled_llvm
-BuildRequires:  cmake3 >= 3.4.3
+BuildRequires:  cmake >= 3.4.3
 Provides:       bundled(llvm) = 9.0.0
 %else
 BuildRequires:  cmake >= 2.8.11
@@ -371,8 +371,13 @@ test -f '%{local_rust_root}/bin/rustc'
 
 %setup -q -n %{rustc_package}
 
-%patch1 -p1 -R
-%patch2 -p1
+#patch1 -p1 -R
+#patch2 -p1
+pushd vendor
+rm -Rf openssl openssl-sys
+tar xvf %SOURCE100
+sed -i -e 's/0.10.25/0.10.30/' -e 's/0.9.54/0.9.58/' ../Cargo.lock
+popd
 
 %if "%{python}" == "python3"
 sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
@@ -478,6 +483,7 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1
   --disable-rpath \
   %{enable_debuginfo} \
   --enable-extended \
+  --tools=analysis,cargo,clippy,rls,rustfmt,src \
   --enable-vendor \
   --enable-verbose-tests \
   %{?codegen_units_std} \
@@ -582,7 +588,6 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
 %dir %{rustlibdir}/%{rust_triple}
 %dir %{rustlibdir}/%{rust_triple}/lib
 %{rustlibdir}/%{rust_triple}/lib/*.so
-%exclude %{_bindir}/*miri
 
 
 %files std-static
Not Available

benbullard79 [@T] cox.netNo Comment.1350d 11hrs
benbullard79 [@T] cox.netNo Comment.1350d 11hrs