Accepting request 706422 from devel:languages:rust

OBS-URL: https://build.opensuse.org/request/show/706422
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rust?expand=0&rev=38
This commit is contained in:
Dominique Leuenberger 2019-06-03 16:45:00 +00:00 committed by Git OBS Bridge
commit 78efb9bea8
20 changed files with 132 additions and 30 deletions

26
fix-llvm8-build.patch Normal file
View File

@ -0,0 +1,26 @@
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:86f94dd8a6fe33fb7acc0b62505a422013a3a36add461687faecfcd2ba550a56
size 120855004

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@ addFilter("devel-dependency rust-std-static")
addFilter("devel-file-in-non-devel-package.*/usr/lib/rustlib/src/.*")
# filters for rust-std
# rlib not in elf format
addFilter("binaryinfo-readelf-failed*./usr/lib/rustlib/*.rlib")
addFilter("binaryinfo-readelf-failed.*/usr/lib/rustlib/.*rlib")
# rust has no stable ABI as of yet, soname is of no use yet
addFilter("no-soname.*/usr/lib/rustlib/.*")
addFilter("no-soname.*/usr/lib/lib*")
@ -13,4 +13,4 @@ addFilter("rls.x86_64: W: no-version-in-last-changelog")
addFilter("rust-analysis.x86_64: W: no-version-in-last-changelog")
addFilter("rustfmt.x86_64: W: no-version-in-last-changelog")
# error when building with bootstrap. ignore for now
addFilter(".*shlib-policy-name-error.*libLLVM-8.*")
addFilter(".*shlib-policy-name-error.*libLLVM-8.*")

View File

@ -1,3 +1,76 @@
-------------------------------------------------------------------
Wed May 29 21:38:13 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
- Update to version 1.35.0
+ Language
- `FnOnce`, `FnMut`, and the `Fn` traits are now implemented for `Box<FnOnce>`,
`Box<FnMut>`, and `Box<Fn>` respectively.
- You can now coerce closures into unsafe function pointers. e.g.
unsafe fn call_unsafe(func: unsafe fn()) {
func()
}
pub fn main() {
unsafe { call_unsafe(|| {}); }
}
+ Compiler
- Added the `armv6-unknown-freebsd-gnueabihf` and
`armv7-unknown-freebsd-gnueabihf` targets.
- Added the `wasm32-unknown-wasi` target.
+ Libraries
- `Thread` will now show its ID in `Debug` output.
- `StdinLock`, `StdoutLock`, and `StderrLock` now implement `AsRawFd`.
- `alloc::System` now implements `Default`.
- Expanded `Debug` output (`{:#?}`) for structs now has a trailing comma on the
last field.
- `char::{ToLowercase, ToUppercase}` now
implement `ExactSizeIterator`.
- All `NonZero` numeric types now implement `FromStr`.
- Removed the `Read` trait bounds
on the `BufReader::{get_ref, get_mut, into_inner}` methods.
- You can now call the `dbg!` macro without any parameters to print the file
and line where it is called.
- In place ASCII case conversions are now up to 4× faster.
e.g. `str::make_ascii_lowercase`
- `hash_map::{OccupiedEntry, VacantEntry}` now implement `Sync`
and `Send`.
+ Stabilized APIs
- `f32::copysign`
- `f64::copysign`
- `RefCell::replace_with`
- `RefCell::map_split`
- `ptr::hash`
- `Range::contains`
- `RangeFrom::contains`
- `RangeTo::contains`
- `RangeInclusive::contains`
- `RangeToInclusive::contains`
- `Option::copied`
+ Cargo
- You can now set `cargo:rustc-cdylib-link-arg` at build time to pass custom
linker arguments when building a `cdylib`. Its usage is highly
platform specific.
- version 1.34.2
+ Destabilize the `Error::type_id` function due to a security
vulnerability (CVE-2019-12083)
- version 1.34.1
+ Fix false positives for the `redundant_closure` Clippy lint
+ Fix false positives for the `missing_const_for_fn` Clippy lint
+ Fix Clippy panic when checking some macros
-------------------------------------------------------------------
Sat May 25 12:23:30 UTC 2019 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add fix-llvm8-build.patch: Fix linker errors with llvm8 by
limiting internalization in ThinLTO.
-------------------------------------------------------------------
Fri May 17 23:06:25 UTC 2019 - federico@suse.com
- Fix regexp for .rlib files in rust-rpmlintrc.
-------------------------------------------------------------------
Wed Apr 24 17:39:11 UTC 2019 - Martin Liška <mliska@suse.cz>
@ -2057,4 +2130,4 @@ Wed Apr 29 13:07:54 UTC 2015 - opensuse-packaging@opensuse.org
-------------------------------------------------------------------
Wed Apr 29 12:56:15 UTC 2015 - kgronlund@suse.com
- Version 1.0.0-beta3.
- Version 1.0.0-beta3.

View File

@ -17,9 +17,9 @@
#
%global version_current 1.34.0
%global version_previous 1.33.0
%global version_bootstrap 1.34.0
%global version_current 1.35.0
%global version_previous 1.34.0
%global version_bootstrap 1.35.0
# some sub-packages are versioned independantly
%global rustfmt_version 1.0.3
%global clippy_version 0.0.212
@ -96,6 +96,8 @@ Source106: %{dl_url}/rust-%{version_bootstrap}-powerpc64le-unknown-linux-gn
Source107: %{dl_url}/rust-%{version_bootstrap}-s390x-unknown-linux-gnu.tar.xz
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
Patch0: ignore-Wstring-conversion.patch
# PATCH-FIX-UPSTREAM: gh#rust-lang/rust#60184
Patch1: fix-llvm8-build.patch
BuildRequires: ccache
# Leap 42 to 42.3, SLE12 SP1, SP2
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200
@ -336,6 +338,7 @@ This package includes HTML documentation for Cargo.
%setup -q -n rustc-%{version}-src
%patch0 -p1
%patch1 -p1
# use python3
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py

View File

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

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

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