Accepting request 714305 from home:luke_nukem:branches:devel:languages:rust

- Remove fix-llvm8-build.patch, fixed upstream
- Update to version 1.36.0

OBS-URL: https://build.opensuse.org/request/show/714305
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=223
This commit is contained in:
Luke Jones 2019-07-09 21:24:02 +00:00 committed by Git OBS Bridge
parent 1d98fa19e2
commit 9850860e3c
21 changed files with 111 additions and 62 deletions

View File

@ -1,26 +0,0 @@
From b4131e297e18fde119f6f461b3e622218166b009 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,3 +1,81 @@
-------------------------------------------------------------------
Tue Jul 9 09:57:46 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
- Remove fix-llvm8-build.patch, fixed upstream
-------------------------------------------------------------------
Mon Jul 8 20:29:46 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
- Update to version 1.36.0
+ Language
- Non-Lexical Lifetimes are now enabled on the 2015 edition
- The order of traits in trait objects no longer affects the semantics of that
object. e.g. `dyn Send + fmt::Debug` is now equivalent to
`dyn fmt::Debug + Send`, where this was previously not the case.
+ Libraries
- `HashMap`'s implementation has been replaced with `hashbrown::HashMap` implementation
- `TryFromSliceError` now implements `From<Infallible>`
- `mem::needs_drop` is now available as a const fn
- `alloc::Layout::from_size_align_unchecked` is now available as a const fn
- `String` now implements `BorrowMut<str>`
- `io::Cursor` now implements `Default`
- Both `NonNull::{dangling, cast}` are now const fns
- The `alloc` crate is now stable. `alloc` allows you to use a subset
of `std` (e.g. `Vec`, `Box`, `Arc`) in `#![no_std]` environments if the
environment has access to heap memory allocation.
- String` now implements `From<&String>`
- You can now pass multiple arguments to the `dbg!` macro. `dbg!` will
return a tuple of each argument when there is multiple arguments.
- `Result::{is_err, is_ok}` are now `#[must_use]` and will produce a warning if
not used.
+ Stabilized APIs
- VecDeque::rotate_left
- VecDeque::rotate_right
- Iterator::copied
- io::IoSlice
- io::IoSliceMut
- Read::read_vectored
- Write::write_vectored
- str::as_mut_ptr
- mem::MaybeUninit
- pointer::align_offset
- future::Future
- task::Context
- task::RawWaker
- task::RawWakerVTable
- task::Waker
- task::Poll
+ Cargo
- Cargo will now produce an error if you attempt to use the name of a required dependency as a feature
- You can now pass the `--offline` flag to run cargo without accessing the network
+ Clippy
- New lints: `find_map`, `filter_map_next`
- New lint: `path_buf_push_overwrite`
- Move `path_buf_push_overwrite` to the nursery
- Split `redundant_closure` into `redundant_closure` and `redundant_closure_for_method_calls`
- Allow allowing of `toplevel_ref_arg` lint
- Fix false negative in `or_fun_call` pertaining to nested constructors
- Fixed false positive in `or_fn_call` pertaining to enum variant constructors
- Fix false positive in `useless_let_if_seq` pertaining to interior mutability
- Fix false positive in `redundant_closure` pertaining to non-function types
- Fix false positive in `let_and_return` pertaining to attributes on `let`s
- Fix false positive in `module_name_repetitions` lint pertaining to attributes
- Fix false positive on `assertions_on_constants` pertaining to `debug_assert!`
- Improve suggestion in `map_clone` to suggest `.copied()` where applicable
- Improve suggestion for `search_is_some`
- Improve suggestion applicability for `naive_bytecount`
- Improve suggestion applicability for `while_let_loop`
- Improve diagnostics for `too_many_arguments`
- Improve diagnostics for `cast_lossless`
- Deal with macro checks in desugarings better
- Add macro check for `unnecessary_cast`
- Remove `approx_constant`'s documentation's "Known problems" section
- Fix ICE in `suspicious_else_formatting`
- Fix ICE in `decimal_literal_representation`
+ Compatibility Notes
- With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no
longer recommended, and will be deprecated in 1.38.0.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 2 07:21:24 UTC 2019 - Andreas Schwab <schwab@suse.de> Tue Jul 2 07:21:24 UTC 2019 - Andreas Schwab <schwab@suse.de>

View File

@ -17,9 +17,9 @@
# #
%global version_current 1.35.0 %global version_current 1.36.0
%global version_previous 1.34.0 %global version_previous 1.35.0
%global version_bootstrap 1.35.0 %global version_bootstrap 1.36.0
# some sub-packages are versioned independantly # some sub-packages are versioned independantly
%global rustfmt_version 1.0.3 %global rustfmt_version 1.0.3
%global clippy_version 0.0.212 %global clippy_version 0.0.212
@ -107,8 +107,6 @@ Source107: %{dl_url}/rust-%{version_bootstrap}-s390x-unknown-linux-gnu.tar.
Source108: %{dl_url}/rust-%{version_bootstrap}-powerpc-unknown-linux-gnu.tar.xz Source108: %{dl_url}/rust-%{version_bootstrap}-powerpc-unknown-linux-gnu.tar.xz
# 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: gh#rust-lang/rust#60184
Patch1: fix-llvm8-build.patch
BuildRequires: ccache BuildRequires: ccache
# Leap 42 to 42.3, SLE12 SP1, SP2 # Leap 42 to 42.3, SLE12 SP1, SP2
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200
@ -277,9 +275,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}
@ -301,10 +299,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
@ -352,7 +350,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:169756df2298957bcf02da6a612996c24a51b9ac3b23409e6507d69eb2e6f523
size 96543548

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

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