Accepting request 825388 from devel:languages:rust

OBS-URL: https://build.opensuse.org/request/show/825388
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rust?expand=0&rev=53
This commit is contained in:
Dominique Leuenberger 2020-08-12 08:21:21 +00:00 committed by Git OBS Bridge
commit 360ae3b40b
22 changed files with 123 additions and 220 deletions

View File

@ -1,8 +1,8 @@
Index: rustc-1.42.0-src/src/librustc_llvm/build.rs Index: rustc-1.44.1-src/src/librustc_llvm/build.rs
=================================================================== ===================================================================
--- rustc-1.42.0-src.orig/src/librustc_llvm/build.rs --- rustc-1.44.1-src.orig/src/librustc_llvm/build.rs
+++ rustc-1.42.0-src/src/librustc_llvm/build.rs +++ rustc-1.44.1-src/src/librustc_llvm/build.rs
@@ -135,6 +135,12 @@ fn main() { @@ -145,6 +145,12 @@ fn main() {
continue; continue;
} }

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d1bcbf7575be72c4775c89098366158ee87905423342196a6ef0c1b3d3f1140
size 103995164

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e045d3015949d7240af1ff990ccd59391958a6be5e8bc3baa5210914fa6ebde
size 108910044

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:871b87937e7dc774a2d0f7788520a215efefb7369b4968fe3811d2cbe8f7244a
size 126712424

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c27dc3c10aea2298d15ad90234a9d5f49865ac29a395dea40e2663ce5003e703
size 102103936

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed9cee7c909ae713970c02cc0114e8cffc3fcd6d4d34c28533c4cb940fd02985
size 109310784

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd1c77917576c017a67d2e7b07a01df13d30fd0bbf52e7ce4d024649ba7a2267
size 111611976

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3070fdeceebd999ba132a2f65f956fd28e2e2d02db0a0f87b3454702f322133
size 119622236

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af633676caffaaecfb2600ec617d84e41811e7a6fe438760a97c5404afecdd6b
size 112598556

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8d8f6b881065c8cfc6b8df922907df838368fa60ce746910324f0ca1009163f
size 104148868

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0587b115d7dc01b8116ae4c395086fa2f45fefbb56b185ef7359139019d82ed
size 108430484

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:171dc7cba06b7204604cdf3fac7669299e14a3e2d6de5a30c4be028f815ad1df
size 125731548

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:daf0bc829eef4b78583dee0ce660c54da81cb760b059006d5e9eaf299cfb81b4
size 105007576

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef672156f15d19eb0a91e818d11dd5f05b528f401694ed39bf612b5d321eb70c
size 107189572

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbd84b34845ecddbd4cd1bda864b984d23cc0d8d12eeea8a07ffc42cad12d1c5
size 112921244

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03061a9d86033148f2f92d92149bd63f38dd72199f99ffc1c614e50bc86635d4
size 119547480

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59c4137b8b6a27c94a5b6c42e612e3d8d022e2aa12b0ac8ede662048b329fe94
size 112817212

View File

@ -1,175 +0,0 @@
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
Index: rustc-1.43.0-src/src/bootstrap/test.rs
===================================================================
--- rustc-1.43.0-src.orig/src/bootstrap/test.rs
+++ rustc-1.43.0-src/src/bootstrap/test.rs
@@ -1142,6 +1142,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) {
Index: rustc-1.43.0-src/src/rustllvm/PassWrapper.cpp
===================================================================
--- rustc-1.43.0-src.orig/src/rustllvm/PassWrapper.cpp
+++ rustc-1.43.0-src/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
}
Index: rustc-1.43.0-src/src/rustllvm/RustWrapper.cpp
===================================================================
--- rustc-1.43.0-src.orig/src/rustllvm/RustWrapper.cpp
+++ rustc-1.43.0-src/src/rustllvm/RustWrapper.cpp
@@ -1328,8 +1328,13 @@ extern "C" LLVMValueRef LLVMRustBuildMem
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
Index: rustc-1.43.0-src/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
===================================================================
--- rustc-1.43.0-src.orig/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
+++ rustc-1.43.0-src/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",
Index: rustc-1.43.0-src/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
===================================================================
--- rustc-1.43.0-src.orig/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
+++ rustc-1.43.0-src/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",
Index: rustc-1.43.0-src/src/tools/compiletest/src/header.rs
===================================================================
--- rustc-1.43.0-src.orig/src/tools/compiletest/src/header.rs
+++ rustc-1.43.0-src/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"),
+ }
+ }
}
}
Index: rustc-1.43.0-src/src/tools/compiletest/src/header/tests.rs
===================================================================
--- rustc-1.43.0-src.orig/src/tools/compiletest/src/header/tests.rs
+++ rustc-1.43.0-src/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]

View File

@ -1,3 +1,83 @@
-------------------------------------------------------------------
Fri Aug 7 05:54:43 UTC 2020 - Manfred Hollstein <manfred.h@gmx.net>
- Minimum version needed for LLVM is >= 8.0
-------------------------------------------------------------------
Thu Aug 6 08:26:41 UTC 2020 - Michał Rostecki <mrostecki@suse.com>
- Update to version 1.44.1
* rustfmt accepts rustfmt_skip in cfg_attr again.
* Don't hash executable filenames on apple platforms, fixing backtraces.
* Fix crashes when finding backtrace on macOS.
* Clippy applies lint levels into different files.
- Update to version 1.44.0
+ Language
- You can now use `async/.await` with `#[no_std]` enabled.
- Added the `unused_braces` lint.
- Expansion-driven outline module parsing
+ Compiler
- Rustc now respects the `-C codegen-units` flag in incremental mode.
Additionally when in incremental mode rustc defaults to 256 codegen units.
- Refactored `catch_unwind` to have zero-cost, unless unwinding is enabled and
a panic is thrown.
- Added tier 3\* support for the `aarch64-unknown-none` and
`aarch64-unknown-none-softfloat` targets.
- Added tier 3 support for `arm64-apple-tvos` and
`x86_64-apple-tvos` targets.
+ Libraries
- Special cased `vec![]` to map directly to `Vec::new()`. This allows
`vec![]` to be able to be used in `const` contexts.
- `convert::Infallible` now implements `Hash`.
- `OsString` now implements `DerefMut` and `IndexMut` returning
a `&mut OsStr`.
- Unicode 13 is now supported.
- `String` now implements `From<&mut str>`.
- `IoSlice` now implements `Copy`.
- `Vec<T>` now implements `From<[T; N]>`. Where `N` is at most 32.
- `proc_macro::LexError` now implements `fmt::Display` and `Error`.
- `from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`,
`from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all
integer types.
+ Stabilizd APIs
- [`PathBuf::with_capacity`]
- [`PathBuf::capacity`]
- [`PathBuf::clear`]
- [`PathBuf::reserve`]
- [`PathBuf::reserve_exact`]
- [`PathBuf::shrink_to_fit`]
- [`f32::to_int_unchecked`]
- [`f64::to_int_unchecked`]
- [`Layout::align_to`]
- [`Layout::pad_to_align`]
- [`Layout::array`]
- [`Layout::extend`]
+ Cargo
- Added the `cargo tree` command which will print a tree graph of
your dependencies
+ Misc
- Rustdoc now allows you to specify `--crate-version` to have rustdoc include
the version in the sidebar.
+ Compatibility Notes
- Rustc now correctly generates static libraries on Windows GNU targets with
the `.a` extension, rather than the previous `.lib`.
- Removed the `-C no_integrated_as` flag from rustc.
- The `file_name` property in JSON output of macro errors now points the actual
source file rather than the previous format of `<NAME macros>`.
**Note:** this may not point to a file that actually exists on the user's system.
- The minimum required external LLVM version has been bumped to LLVM 8.
- `mem::{zeroed, uninitialised}` will now panic when used with types that do
not allow zero initialization such as `NonZeroU8`. This was
previously a warning.
- In 1.45.0 (the next release) converting a `f64` to `u32` using the `as`
operator has been defined as a saturating operation. This was previously
undefined behaviour, but you can use the `{f64, f32}::to_int_unchecked` methods to
continue using the current behaviour, which may be desirable in rare performance
sensitive situations.
- Rebased patches:
+ ignore-Wstring-conversion.patch (offset / fuzz)
+ rust-pr70163-prepare-for-llvm-10-upgrade.patch dropped (merged upstream)
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 20 12:23:40 UTC 2020 - Martin Sirringhaus <martin.sirringhaus@suse.com> Wed May 20 12:23:40 UTC 2020 - Martin Sirringhaus <martin.sirringhaus@suse.com>

View File

@ -17,12 +17,12 @@
# #
%global version_current 1.43.1 %global version_current 1.44.1
%global version_previous 1.43.0 %global version_previous 1.43.1
%global version_bootstrap 1.43.0 %global version_bootstrap 1.43.1
# some sub-packages are versioned independently # some sub-packages are versioned independently
%global rustfmt_version 1.4.12 %global rustfmt_version 1.4.16
%global clippy_version 0.0.212 %global clippy_version 0.0.212
# Build the rust target triple. # Build the rust target triple.
@ -68,10 +68,10 @@
%global rustlibdir %{common_libdir}/rustlib %global rustlibdir %{common_libdir}/rustlib
# Will build with distro LLVM by default, but the following versions # Will build with distro LLVM by default, but the following versions
# do not have a version new enough, >= 6.0 add --without bundled_llvm # do not have a version new enough, >= 8.0 add --without bundled_llvm
# option, i.e. enable bundled_llvm by default Leap 42 to 42.3, SLE12 # option, i.e. enable bundled_llvm by default Leap 42 to 42.3, SLE12
# SP1 to SLE12 SP3, Leap 15.0, SLE15 SP0 # SP1 to SLE12 SP3, Leap 15.1, SLE15 SP0
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150100
%bcond_without bundled_llvm %bcond_without bundled_llvm
%endif %endif
@ -136,7 +136,6 @@ Source1000: README.suse-maint
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag # PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
Patch0: ignore-Wstring-conversion.patch Patch0: ignore-Wstring-conversion.patch
# PATCH-FIX-UPSTREAM: fix compilation with llvm10 https://github.com/rust-lang/rust/issues/71573 # PATCH-FIX-UPSTREAM: fix compilation with llvm10 https://github.com/rust-lang/rust/issues/71573
Patch1: rust-pr70163-prepare-for-llvm-10-upgrade.patch
BuildRequires: ccache BuildRequires: ccache
BuildRequires: curl BuildRequires: curl
BuildRequires: fdupes BuildRequires: fdupes
@ -166,10 +165,10 @@ BuildRequires: gcc-c++
%if !%{with rust_bootstrap} && 0%{?sle_version} >= 150000 %if !%{with rust_bootstrap} && 0%{?sle_version} >= 150000
BuildRequires: pkgconfig(libssh2) >= 1.6.0 BuildRequires: pkgconfig(libssh2) >= 1.6.0
%endif %endif
# Real LLVM minimum version should be 7.x, but rust has a fallback # Real LLVM minimum version should be 8.x, but rust has a fallback
# mode # mode
%if !%with bundled_llvm %if !%with bundled_llvm
BuildRequires: llvm-devel >= 6.0 BuildRequires: llvm-devel >= 8.0
%endif %endif
%if !%with rust_bootstrap %if !%with rust_bootstrap
# We will now package cargo using the version number of rustc since it # We will now package cargo using the version number of rustc since it
@ -310,9 +309,9 @@ A tool for formatting Rust code according to style guidelines.
%package -n clippy %package -n clippy
Summary: Lints to catch common mistakes and improve Rust code Summary: Lints to catch common mistakes and improve Rust code
# /usr/bin/clippy-driver is dynamically linked against internal rustc libs
License: MPL-2.0 License: MPL-2.0
Group: Development/Languages/Rust Group: Development/Languages/Rust
# /usr/bin/clippy-driver is dynamically linked against internal rustc libs
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: cargo = %{version} Requires: cargo = %{version}
Provides: clippy = %{clippy_version} Provides: clippy = %{clippy_version}
@ -336,10 +335,10 @@ Cargo downloads dependencies of Rust projects and compiles it.
%package -n cargo-doc %package -n cargo-doc
Summary: Documentation for Cargo Summary: Documentation for Cargo
License: MIT OR Apache-2.0
Group: Development/Languages/Rust
# Cargo no longer builds its own documentation # Cargo no longer builds its own documentation
# https://github.com/rust-lang/cargo/pull/4904 # https://github.com/rust-lang/cargo/pull/4904
License: MIT OR Apache-2.0
Group: Development/Languages/Rust
Requires: rust-doc = %{version} Requires: rust-doc = %{version}
BuildArch: noarch BuildArch: noarch
@ -387,7 +386,6 @@ This package includes HTML documentation for Cargo.
%setup -q -n rustc-%{version}-src %setup -q -n rustc-%{version}-src
%patch0 -p1 %patch0 -p1
%patch1 -p1
# use python3 # use python3
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb0a103c67c4565403d9e6f84a1c708982a5e9e5b3c0d831e4d6f6451795d106
size 94405276

3
rustc-1.44.1-src.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0386295dd5f2c7842835a509e4c57989eec6c29f989a1c85478b0e06f9d38ea
size 94756856