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

- Update to version 1.34.0
  + Language
    - You can now use `#[deprecated = "reason"]` as a shorthand for
      `#[deprecated(note = "reason")]`. This was previously allowed
      by mistake but had no effect.
    - You can now accept token streams in `#[attr()]`,`#[attr[]]`, and
      `#[attr{}]` procedural macros.
    - You can now write `extern crate self as foo;` to import your
      crate's root into the extern prelude.
  + Compiler
    - You can now target `riscv64imac-unknown-none-elf` and
      `riscv64gc-unknown-none-elf`.
    - You can now enable linker plugin LTO optimisations with
      `-C linker-plugin-lto`. This allows rustc to compile your Rust
      code into LLVM bitcode allowing LLVM to perform LTO optimisations
      across C/C++ FFI boundaries.
    - You can now target `powerpc64-unknown-freebsd`.
  + Libraries
    - The trait bounds have been removed on some of `HashMap<K, V, S>`'s
      and `HashSet<T, S>`'s basic methods. Most notably you no longer
      require the `Hash` trait to create an iterator.
    - The `Ord` trait bounds have been removed on some of
      `BinaryHeap<T>`'s basic methods. Most notably you no longer require
      the `Ord` trait to create an iterator.
    - The methods `overflowing_neg` and `wrapping_neg` are now `const`
      functions for all numeric types.
    - Indexing a `str` is now generic over all types that
      implement `SliceIndex<str>`.
    - `str::trim`, `str::trim_matches`, `str::trim_{start, end}`, and
      `str::trim_{start, end}_matches` are now `#[must_use]` and will
      produce a warning if their returning type is unused.
    - The methods `checked_pow`, `saturating_pow`, `wrapping_pow`, and
      `overflowing_pow` are now available for all numeric types. These are
      equivalvent to methods such as `wrapping_add` for the `pow` operation.
  + Stabilized APIs
    - std & core
      + Any::type_id
      + Error::type_id
      + atomic::AtomicI16
      + atomic::AtomicI32
      + atomic::AtomicI64
      + atomic::AtomicI8
      + atomic::AtomicU16
      + atomic::AtomicU32
      + atomic::AtomicU64
      + atomic::AtomicU8
      + convert::Infallible
      + convert::TryFrom
      + convert::TryInto
      + iter::from_fn
      + iter::successors
      + num::NonZeroI128
      + num::NonZeroI16
      + num::NonZeroI32
      + num::NonZeroI64
      + num::NonZeroI8
      + num::NonZeroIsize
      + slice::sort_by_cached_key
      + str::escape_debug
      + str::escape_default
      + str::escape_unicode
      + str::split_ascii_whitespace
    - std
      + Instant::checked_add
      + Instant::checked_sub
      + SystemTime::checked_add
      + SystemTime::checked_sub
  + Cargo
    - You can now use alternative registries to crates.io.
  + Misc
    - You can now use the `?` operator in your documentation
      tests without manually adding `fn main() -> Result<(), _> {}`.
  + Compatibility Notes
    - `Command::before_exec` is now deprecated in favor of the
      unsafe method `Command::pre_exec`.
    - Use of `ATOMIC_{BOOL, ISIZE, USIZE}_INIT` is now deprecated.
      As you can now use `const` functions in `static` variables.
- Remove depreciated-trim_left_matches.patch.
- Rustfmt version bumped to 1.0.3
  + Change description not provided.
- rls version now in sync with rustc.
- Misc fixes to rust.spec

OBS-URL: https://build.opensuse.org/request/show/694642
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=213
This commit is contained in:
Luke Jones
2019-04-16 10:32:05 +00:00
committed by Git OBS Bridge
parent 2022f8899c
commit 8439266da0
21 changed files with 123 additions and 56 deletions

View File

@@ -17,12 +17,11 @@
#
%global version_current 1.33.0
%global version_previous 1.32.0
%global version_bootstrap 1.32.0
%global version_current 1.34.0
%global version_previous 1.33.0
%global version_bootstrap 1.34.0
# some sub-packages are versioned independantly
%global rustfmt_version 1.0.0
%global rls_version 1.31.6
%global rustfmt_version 1.0.3
%global clippy_version 0.0.212
# Build the rust target triple.
# Some rust arches don't match what SUSE labels them.
@@ -92,14 +91,11 @@ Source100: %{dl_url}/rust-%{version_bootstrap}-x86_64-unknown-linux-gnu.tar
Source101: %{dl_url}/rust-%{version_bootstrap}-i686-unknown-linux-gnu.tar.xz
Source102: %{dl_url}/rust-%{version_bootstrap}-aarch64-unknown-linux-gnu.tar.xz
Source103: %{dl_url}/rust-%{version_bootstrap}-armv7-unknown-linux-gnueabihf.tar.xz
Source104: %{dl_url}/rust-%{version_bootstrap}-arm-unknown-linux-gnueabihf.tar.xz
Source105: %{dl_url}/rust-%{version_bootstrap}-powerpc64-unknown-linux-gnu.tar.xz
Source106: %{dl_url}/rust-%{version_bootstrap}-powerpc64le-unknown-linux-gnu.tar.xz
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-OPENSUSE: replace depreciated trim_left_matches with trim_start_matches
Patch1: depreciated-trim_left_matches.patch
BuildRequires: ccache
# Leap 42 to 42.3, SLE12 SP1, SP2
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200
@@ -228,7 +224,6 @@ Group: Development/Languages/Rust
Requires: %{name} = %{version}
Requires: %{name}-analysis = %{version}
Requires: %{name}-src = %{version}
Provides: rls = %{rls_version}
%description -n rls
The RLS provides a server that runs in the background, providing IDEs,
@@ -341,7 +336,6 @@ 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
@@ -357,8 +351,8 @@ rm -rf src/tools/lldb
rm -rf src/stdsimd/ci
# Remove hidden files from source
find src/ -type f -name '.appveyor.yml -exec rm -v '{}' '+'
find src/ -type f -name '.travis.yml -exec rm -v '{}' '+'
find src/ -type f -name '.appveyor.yml' -exec rm -v '{}' '+'
find src/ -type f -name '.travis.yml' -exec rm -v '{}' '+'
%if !%with bundled_llvm
rm -rf src/llvm/
@@ -407,7 +401,7 @@ fi
# BEGIN EXPORTS
# Keep all the "export VARIABLE" together here, so they can be
# cut&pasted to the %install section below. And please keep them
# cut&pasted to the %%install section below. And please keep them
# in sync!
# If the environments between build and install and different,
# everything will be rebuilt during installation!
@@ -428,7 +422,7 @@ export CPPFLAGS="%{optflags}"
%install
# BEGIN EXPORTS
# Keep all the "export VARIABLE" together here, so they can be
# cut&pasted to the %install section below. And please keep them
# cut&pasted to the %%install section below. And please keep them
# in sync!
# If the environments between build and install and different,
# everything will be rebuilt during installation!
@@ -456,6 +450,7 @@ rm %{buildroot}%{_docdir}/%{name}/html/.lock
# Sanitize the HTML documentation
find %{buildroot}%{_docdir}/%{name}/html -empty -delete
find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+'
find %{buildroot}%{_docdir}/%{name}/html -type f -name '.nojekyll' -exec rm -v '{}' '+'
# Remove the license files from _docdir: make install put duplicates there
rm %{buildroot}%{_docdir}/%{name}/{README.md,COPYRIGHT,LICENSE*}
@@ -517,6 +512,7 @@ rm -rf %{buildroot}%{_sysconfdir}
%files -n rust-gdb
%{_bindir}/rust-gdb
%{_bindir}/rust-gdbgui
%dir %{rustlibdir}
%dir %{rustlibdir}%{_sysconfdir}
%{rustlibdir}%{_sysconfdir}/debugger_pretty_printers_common.py
@@ -586,4 +582,4 @@ rm -rf %{buildroot}%{_sysconfdir}
%dir %{_docdir}/cargo
%{_docdir}/cargo/html
%changelog
%changelog