Commit Graph

12 Commits

Author SHA256 Message Date
William Brown
96350f9244 Accepting request 904291 from home:firstyear:branches:devel:languages:rust
- Revert package to be arch dependent based on reviewer feedback

OBS-URL: https://build.opensuse.org/request/show/904291
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=294
2021-07-06 01:54:31 +00:00
William Brown
a3c479174a Accepting request 900678 from home:firstyear:rust_versioned
- Update to version 1.53:
  + Language
    - [You can now use unicode for identifiers.][83799] This allows multilingual
      identifiers but still doesn't allow glyphs that are not considered characters
      such as `◆` or `🦀`. More specifically you can now use any identifier that
      matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This
      is the same standard as languages like Python, however Rust uses NFC
      normalization which may be different from other languages.
    - [You can now specify "or patterns" inside pattern matches.][79278]
      Previously you could only use `|` (OR) on complete patterns. E.g.
      ```rust
      let x = Some(2u8);
      // Before
      matches!(x, Some(1) | Some(2));
      // Now
      matches!(x, Some(1 | 2));
      ```
    - [Added the `:pat_param` `macro_rules!` matcher.][83386] This matcher
      has the same semantics as the `:pat` matcher. This is to allow `:pat`
      to change semantics to being a pattern fragment in a future edition.
  + Compiler
    - [Updated the minimum external LLVM version to LLVM 10.][83387]
    - [Added Tier 3\* support for the `wasm64-unknown-unknown` target.][80525]
    - [Improved debuginfo for closures and async functions on Windows MSVC.][83941]
    \* Refer to Rust's [platform support page][platform-support-doc] for more
    information on Rust's tiered platform support.
  + Libraries
    - [Abort messages will now forward to `android_set_abort_message` on
      Android platforms when available.][81469]
    - [`slice::IterMut<'_, T>` now implements `AsRef<[T]>`][82771]

OBS-URL: https://build.opensuse.org/request/show/900678
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=292
2021-06-18 05:32:54 +00:00
2b26fbdfa0 Accepting request 849719 from home:manfred-h:devel:languages:rust:rust-1.47
This request actually fixes two issues:

- rust-rpmlintrc: Reflect updated LLVM name in the filter.
#1: LLVM got updated to version 11, but the rpmlint filter does not reflect it. Fixes:

rust.x86_64: E: shlib-policy-name-error (Badness: 10000) libLLVM-11-rust-1_47_0-stable
 Your package contains a single shared library but is not named after its SONAME.

- Make all shared libraries in %{common_libdir} executable; otherwise
  the %{fdupes} macro will not find any duplicates in %{rustlibdir}.
#2: Files which only differ in their protection bits (i.e. execution bit in this case) will not be replaced by a hard link using the %{fdupes} call. This patch fixes:

rust.x86_64: E: files-duplicated-waste (Badness: 100) 4349464
 Your package contains duplicated files that are not hard- or symlinks. You
 should use the %fdupes macro to link the files to one.

Files in question are from /usr/lib/ and /usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/

OBS-URL: https://build.opensuse.org/request/show/849719
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=269
2020-11-22 17:59:38 +00:00
Luke Jones
d5285e9bf9 Accepting request 760082 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.40.0
Waiting on 1.39 to be merged in Factory.

OBS-URL: https://build.opensuse.org/request/show/760082
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=237
2020-01-01 19:06:39 +00:00
Federico Mena Quintero
7721178020 Accepting request 704523 from home:federico-mena:branches:devel:languages:rust
- Fix regexp for .rlib files in rust-rpmlintrc.

- Version 1.0.0-beta3.

OBS-URL: https://build.opensuse.org/request/show/704523
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=217
2019-05-22 15:18:03 +00:00
Luke Jones
8439266da0 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
2019-04-16 10:32:05 +00:00
Luke Jones
a96ee8dda3 Accepting request 686253 from home:luke_nukem:branches:devel:languages:rust
- Remove miri complete instead of excluding. This is experimental
  and so should not be included.
- BuildRequires ccache in attempt to reduce compile times.
- Remove more extraneous directories from src that will never be
  used.
- Extra patterns in rpmlintrc to catch more false positives:
  + Rust has no stable API, ignore SONAME warnings
  + Tool versions don't update in step with rust, ignore warnings

OBS-URL: https://build.opensuse.org/request/show/686253
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=202
2019-03-19 04:04:52 +00:00
Luke Jones
49905303e7 Accepting request 646330 from home:luke_nukem:branches:devel:languages:rust
- Patch: require patching of src/librustc_llvm/build.rs to ignore
  a flag that llvm-config --cxxflags outputs which GCC doesn't
  recognise.
- Default to building using the distro LLVM where the version is
  >= 5.0, instead of the Rust bundled LLVM which requires
  compilation. This should decrease build times. SLE LLVM is too old.
- Fixing various rpmlint warnings and errors:
  + ExclusiveArch instead of BuildArch for i686
  + Remove conflicts with same package name
  + Remove a few hidden files during prep, does not touch '.clang-format'
  + Remove old patch macro in comment
  + Fix lint warning about bash and zsh completition files
  + Fix various script shebang warnings (incorrect or missing)
  + Adjust rpmlintrc to mask some 'invalid' warnings
- Move Rust and its tools in to their own category under:
  + Development/Languages/Rust
- Jump from version 1.26.2 to 1.30.0 due to a build issue with using 1.26.x to
  compile 1.27.x. This package release requires %{rust_bootstrap} to be set.
- Enable extra rust tools to be built (cargo, rls, rustfmt, analysis)
    + cargo is now packaged with the same version number as the rust release, this
      may break any packages that relied on a cargo version number.
- Remove ccache and ninja from BuildRequires.
- Switch build configuration to use configure script, remove config.toml.
- Include all bootstraps in source rpm to make bootstrapping easier to manage
  within OBS.
- Remove unused patch: update-config-guess.patch
Update to version 1.30.0 (2018-10-25)
  + Language
    - Procedural macros are now available.-  These kinds of macros allow for
      more powerful code generation. There is a new chapter available
      in the Rust Programming Language book that goes further in depth.
    - You can now use keywords as identifiers using the raw identifiers
      syntax (`r#`),-  e.g. `let r#for = true;`
    - Using anonymous parameters in traits is now deprecated with a warning and
      will be a hard error in the 2018 edition.- 
    - You can now use `crate` in paths.-  This allows you to refer to the
      crate root in the path, e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`.
    - Using a external crate no longer requires being prefixed with `::`.- 
      Previously, using a external crate in a module without a use statement
      required `let json = ::serde_json::from_str(foo);` but can now be written
      as `let json = serde_json::from_str(foo);`.
    - You can now apply the `#[used]` attribute to static items to prevent the
      compiler from optimising them away, even if they appear to be unused,- 
      e.g. `#[used] static FOO: u32 = 1;`
    - You can now import and reexport macros from other crates with the `use`
      syntax.-  Macros exported with `#[macro_export]` are now placed into
      the root module of the crate. If your macro relies on calling other local
      macros, it is recommended to export with the
      `#[macro_export(local_inner_macros)]` attribute so users won't have to import
      those macros.
    - You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros
      using the `vis` specifier.- 
    - Non-macro attributes now allow all forms of literals, not just
      strings.-  Previously, you would write `#[attr("true")]`, and you can now
      write `#[attr(true)]`.
    - You can now specify a function to handle a panic in the Rust runtime with the
      `#[panic_handler]` attribute.- 
  + Compiler
    - Added the `riscv32imc-unknown-none-elf` target.- 
    - Added the `aarch64-unknown-netbsd` target- 
  + Libraries
    - `ManuallyDrop` now allows the inner type to be unsized.- 
  + Stabilized APIs
    - `Ipv4Addr::BROADCAST`
    - `Ipv4Addr::LOCALHOST`
    - `Ipv4Addr::UNSPECIFIED`
    - `Ipv6Addr::LOCALHOST`
    - `Ipv6Addr::UNSPECIFIED`
    - `Iterator::find_map`
    - The following methods are replacement methods for `trim_left`, `trim_right`,
      `trim_left_matches`, and `trim_right_matches`, which will be deprecated
      in 1.33.0:
      + `str::trim_end_matches`
      + `str::trim_end`
      + `str::trim_start_matches`
      + `str::trim_start`
  + Cargo
    - `cargo run` doesn't require specifying a package in workspaces.][cargo/5877]
    - `cargo doc` now supports `--message-format=json`.][cargo/5878] This is
      equivalent to calling `rustdoc --error-format=json`.
    - Cargo will now provide a progress bar for builds.][cargo/5995]
  + Misc
    - `rustdoc` allows you to specify what edition to treat your code as with the
      `--edition` option.- 
    - `rustdoc` now has the `--color` (specify whether to output color) and
      `--error-format` (specify error format, e.g. `json`) options.- 
    - We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust
      debug symbols.- 
    - Attributes from Rust tools such as `rustfmt` or `clippy` are now
      available,-  e.g. `#[rustfmt::skip]` will skip formatting the next item.
- Update to version 1.29.2 (2018-10-11)
  + Workaround for an aliasing-related LLVM bug, which caused miscompilation.
  + The `rls-preview` component on the windows-gnu targets has been restored.
- Update to version 1.29.1 (2018-09-25)
  + Security Notes
    - The standard library's `str::repeat` function contained an out of bounds write
      caused by an integer overflow. This has been fixed by deterministically
      panicking when an overflow happens.
- Update to version 1.29.0 (2018-09-13)
  + Compiler
    - Bumped minimum LLVM version to 5.0.
    - Added `powerpc64le-unknown-linux-musl` target.
    - Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.
  + Libraries
    - `Once::call_once` no longer requires `Once` to be `'static`.
    - `BuildHasherDefault` now implements `PartialEq` and `Eq`.
    - `Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.
    - Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
      for `&str`.
    - `Cell<T>` now allows `T` to be unsized.
    - `SocketAddr` is now stable on Redox.
  + Stabilized APIs
    - `Arc::downcast`
    - `Iterator::flatten`
    - `Rc::downcast`
  + Cargo
    - Cargo can silently fix some bad lockfiles.][cargo/5831] You can use
      `--locked` to disable this behavior.
    - `cargo-install` will now allow you to cross compile an install
      using `--target`.][cargo/5614]
    - Added the `cargo-fix` subcommand to automatically move project code from
      2015 edition to 2018.][cargo/5723]
    - `cargo doc` can now optionally document private types using the
      `--document-private-items` flag.][cargo/5543]
  + Misc
    - `rustdoc` now has the `--cap-lints` option which demotes all lints above
      the specified level to that level. For example `--cap-lints warn`
      will demote `deny` and `forbid` lints to `warn`.
    - `rustc` and `rustdoc` will now have the exit code of `1` if compilation
      fails and `101` if there is a panic.
    - A preview of clippy has been made available through rustup.
      You can install the preview with `rustup component add clippy-preview`.
  + Compatibility Notes
    - `str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.
      Use `str::get_unchecked(begin..end)` instead.
    - `std::env::home_dir` is now deprecated for its unintuitive behavior.
      Consider using the `home_dir` function from
      https://crates.io/crates/dirs instead.
    - `rustc` will no longer silently ignore invalid data in target spec.
    - `cfg` attributes and `--cfg` command line flags are now more
      strictly validated.
- Update to version 1.28.0
  + Language
    - The `#[repr(transparent)]` attribute is now stable.-  This attribute
      allows a Rust newtype wrapper (`struct NewType<T>(T);`) to be represented as
      the inner type across Foreign Function Interface (FFI) boundaries.
    - The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved
      and can now be used as identifiers.- 
    - The `GlobalAlloc` trait and `#[global_allocator]` attribute are now
      stable.-  This will allow users to specify a global allocator for
      their program.
    - Unit test functions marked with the `#[test]` attribute can now return
      `Result<(), E: Debug>` in addition to `()`.- 
    - The `lifetime` specifier for `macro_rules!` is now stable.-  This
      allows macros to easily target lifetimes.
  + Compiler
    - The `s` and `z` optimisation levels are now stable.-  These optimisations
      prioritise making smaller binary sizes. `z` is the same as `s` with the
      exception that it does not vectorise loops, which typically results in an even
      smaller binary.
    - The short error format is now stable.-  Specified with
      `--error-format=short` this option will provide a more compressed output of
      rust error messages.
    - Added a lint warning when you have duplicated `macro_export`s.- 
    - Reduced the number of allocations in the macro parser.-  This can
      improve compile times of macro heavy crates on average by 5%.
  + Libraries
    - Implemented `Default` for `&mut str`.- 
    - Implemented `From<bool>` for all integer and unsigned number types.- 
    - Implemented `Extend` for `()`.- 
    - The `Debug` implementation of `time::Duration` should now be more easily
      human readable.-  Previously a `Duration` of one second would printed as
      `Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`.
    - Implemented `From<&String>` for `Cow<str>`, `From<&Vec<T>>` for `Cow<[T]>`,
      `From<Cow<CStr>>` for `CString`, `From<CString>, From<CStr>, From<&CString>`
      for `Cow<CStr>`, `From<OsString>, From<OsStr>, From<&OsString>` for
      `Cow<OsStr>`, `From<&PathBuf>` for `Cow<Path>`, and `From<Cow<Path>>`
      for `PathBuf`.- 
    - Implemented `Shl` and `Shr` for `Wrapping<u128>`
      and `Wrapping<i128>`.- 
    - `DirEntry::metadata` now uses `fstatat` instead of `lstat` when
      possible.-  This can provide up to a 40% speed increase.
    - Improved error messages when using `format!`.- 
  + Stabilized APIs
    - `Iterator::step_by`
    - `Path::ancestors`
    - `SystemTime::UNIX_EPOCH`
    - `alloc::GlobalAlloc`
    - `alloc::Layout`
    - `alloc::LayoutErr`
    - `alloc::System`
    - `alloc::alloc`
    - `alloc::alloc_zeroed`
    - `alloc::dealloc`
    - `alloc::realloc`
    - `alloc::handle_alloc_error`
    - `btree_map::Entry::or_default`
    - `fmt::Alignment`
    - `hash_map::Entry::or_default`
    - `iter::repeat_with`
    - `num::NonZeroUsize`
    - `num::NonZeroU128`
    - `num::NonZeroU16`
    - `num::NonZeroU32`
    - `num::NonZeroU64`
    - `num::NonZeroU8`
    - `ops::RangeBounds`
    - `slice::SliceIndex`
    - `slice::from_mut`
    - `slice::from_ref`
    - `{Any + Send + Sync}::downcast_mut`
    - `{Any + Send + Sync}::downcast_ref`
    - `{Any + Send + Sync}::is`
  + Cargo
    - Cargo will now no longer allow you to publish crates with build scripts that
      modify the `src` directory.][cargo/5584] The `src` directory in a crate should be
      considered to be immutable.
  + Misc
    - The `suggestion_applicability` field in `rustc`'s json output is now
      stable.-  This will allow dev tools to check whether a code suggestion
      would apply to them.
  + Compatibility Notes
    - Rust will consider trait objects with duplicated constraints to be the same
      type as without the duplicated constraint.-  For example the below code will
      now fail to compile.
      ```rust
      trait Trait {}
      impl Trait + Send {
          fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
      }
      impl Trait + Send + Send {
          fn test(&self) { println!("two"); }
      }
- Update to version 1.27.2:
  + Compatibility Notes
    - The borrow checker was fixed to avoid an additional potential unsoundness when using
      match ergonomics
- Update to version 1.27.1:
  + Security Notes
    - rustdoc would execute plugins in the /tmp/rustdoc/plugins directory
      when running, which enabled executing code as some other user on a
      given machine. This release fixes that vulnerability; you can read
      more about this on the blog. The associated CVE is [CVE-2018-1000622].
      Thank you to Red Hat for responsibily disclosing this vulnerability to us.
  + Compatibility Notes
    - The borrow checker was fixed to avoid an additional potential unsoundness when using
      match ergonomics
- Update to version 1.27.0:
  + Language
    - Removed 'proc' from the reserved keywords list. This allows `proc` to
      be used as an identifier.
    - The dyn syntax is now available. This syntax is equivalent to the
      bare `Trait` syntax, and should make it clearer when being used in tandem with
      `impl Trait` because it is equivalent to the following syntax:
      `&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and
      `Box<Trait> == Box<dyn Trait>`.
    - Attributes on generic parameters such as types and lifetimes are
      now stable. e.g.
      `fn foo<#[lifetime_attr] 'a, #[type_attr] T: 'a>() {}`
    - The `#[must_use]` attribute can now also be used on functions as well as
      types. It provides a lint that by default warns users when the
      value returned by a function has not been used.
  + Compiler
    - Added the `armvte-unknown-linux-musleabi` target.
  + Libraries
    - SIMD (Single Instruction Multiple Data) on x/x_ is now stable.
      This includes arch::x & arch::x_ modules which contain
      SIMD intrinsics, a new macro called `is_x_feature_detected!`, the
      `#[target_feature(enable="")]` attribute, and adding `target_feature = ""` to
      the `cfg` attribute.
    - A lot of methods for `[u]`, `f`, and `f` previously only available in
      std are now available in core.
    - The generic `Rhs` type parameter on `ops::{Shl, ShlAssign, Shr}` now defaults
      to `Self`.
    - std::str::replace` now has the `#[must_use]` attribute to clarify
      that the operation isn't done in place.
    - Clone::clone`, `Iterator::collect`, and `ToOwned::to_owned` now have
      the `#[must_use]` attribute] to warn about unused potentially
      expensive allocations.
  + Stabilized APIs
    - DoubleEndedIterator::rfind
    - DoubleEndedIterator::rfold
    - DoubleEndedIterator::try_rfold
    - Duration::from_micros
    - Duration::from_nanos
    - Duration::subsec_micros
    - Duration::subsec_millis
    - HashMap::remove_entry
    - Iterator::try_fold
    - Iterator::try_for_each
    - NonNull::cast
    - Option::filter
    - String::replace_range
    - Take::set_limit
    - hint::unreachable_unchecked
    - os::unix::process::parent_id
    - ptr::swap_nonoverlapping
    - slice::rsplit_mut
    - slice::rsplit
    - slice::swap_with_slice
  + Cargo
    - `cargo-metadata` now includes `authors`, `categories`, `keywords`,
      `readme`, and `repository` fields.
    - `cargo-metadata` now includes a package's `metadata` table.
    - Added the `--target-dir` optional argument. This allows you to specify
      a different directory than `target` for placing compilation artifacts.
    - Cargo will be adding automatic target inference for binaries, benchmarks,
      examples, and tests in the Rust 2018 edition. If your project specifies
      specific targets, e.g. using `[[bin]]`, and have other binaries in locations
      where cargo would infer a binary, Cargo will produce a warning. You can
      disable this feature ahead of time by setting any of the following to false:
      `autobins`, `autobenches`, `autoexamples`, `autotests`.
    - Cargo will now cache compiler information. This can be disabled by
      setting `CARGO_CACHE_RUSTC_INFO=0` in your environment.
  + Compatibility Notes
    - Calling a `CharExt` or `StrExt` method directly on core will no longer
      work. e.g. `::core::prelude::v1::StrExt::is_empty("")` will not
      compile, `"".is_empty()` will still compile.
    - `Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}`
      will only print the inner type. E.g.
      `print!("{:?}", AtomicBool::new(true))` will print `true`,
      not `AtomicBool(true)`.
    - The maximum number for `repr(align(N))` is now 2²⁹. Previously you
      could enter higher numbers but they were not supported by LLVM. Up to 512MB
      alignment should cover all use cases.
    - The `.description()` method on the `std::error::Error` trait
      has been soft-deprecated. It is no longer required to implement it.
  + Misc
    - Added “The Rustc book” into the official documentation.

OBS-URL: https://build.opensuse.org/request/show/646330
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=161
2018-11-05 08:18:23 +00:00
Luke Jones
45595d2fc4 Accepting request 535104 from home:luke_nukem:branches:devel:languages:rust
- Large cleanup of both the spec and config.toml to correct many
  build issues for the new version
- Add rust-1.21.0-44203-exclude-compiler-rt-test.patch
- Add rust-1.21.0-44066-ppc64-struct-abi.patch
- Add rust-1.21.0-44440-s390x-global-align.patch
- Remove add-soname.patch

OBS-URL: https://build.opensuse.org/request/show/535104
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=132
2017-10-19 05:50:12 +00:00
Luke Jones
e499e0d3ab Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
  + [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
    For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
  + [Macro recursion limit increased to 1024 from 64.][41676]
  + [Added lint for detecting unused macros.][41907]
  + [`loop` can now return a value with `break`.][42016] [RFC 1624]
    For example: `let x = loop { break 7; };`
  + [C compatible `union`s are now available.][42068] [RFC 1444] They can only
    contain `Copy` types and cannot have a `Drop` implementation.
    Example: `union Foo { bar: u8, baz: usize }`
  + [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
    Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
  + [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
  + [Change `arm-linux-androideabi` to correspond to the `armeabi`
    official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
    you should use `--target armv7-linux-androideabi`.
  + [Fixed ICE when removing a source file between compilation sessions.][41873]
  + [Minor optimisation of string operations.][42037]
  + [Compiler error message is now `aborting due to previous error(s)` instead of
    `aborting due to N previous errors`][42150] This was previously inaccurate and
    would only count certain kinds of errors.
  + [The compiler now supports Visual Studio 2017][42225]
  + [The compiler is now built against LLVM 4.0.1 by default][42948]
  + [Added a lot][42264] of [new error codes][42302]
  + [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
    libraries with C Run-time Libraries(CRT) to be statically linked.
  + [Fixed various ARM codegen bugs][42740]
- Librarie updates:
  + [`String` now implements `FromIterator<Cow<'a, str>>` and
    `Extend<Cow<'a, str>>`][41449]
  + [`Vec` now implements `From<&mut [T]>`][41530]
  + [`Box<[u8]>` now implements `From<Box<str>>`][41258]
  + [`SplitWhitespace` now implements `Clone`][41659]
  + [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
    1.5x faster][41764]
  + [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
    macros, but for printing to stderr.
- Stabilized APIs
  + [`OsString::shrink_to_fit`]
  + [`cmp::Reverse`]
  + [`Command::envs`]
  + [`thread::ThreadId`]
  
- Misc
  + [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
    Windows Debugger.
  + [Rust will now release XZ compressed packages][rust-installer/57]
  + [rustup will now prefer to download rust packages with
    XZ compression][rustup/1100] over GZip packages.
  + [Added the ability to escape `#` in rust documentation][41785] By adding
    additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
  x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
    + [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
      make the item visible to just that module tree. Also accepts the keyword
      `crate` to make something public to the whole crate but not users of the
      library. Example: `pub(crate) mod utils;`. [RFC 1422].
    + [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
      `/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
    + [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
      types like `Write + Send`, trailing `+` are now supported in trait objects,
      and better error reporting for trait objects starting with `?Sized`.
    + [0e+10 is now a valid floating point literal][40589]
    + [Now warns if you bind a lifetime parameter to 'static][40734]
    + [Tuples, Enum variant fields, and structs with no `repr` attribute or with
      `#[repr(Rust)]` are reordered to minimize padding and produce a smaller
      representation in some cases.][40377]
-Compiler updates
    + [rustc can now emit mir with `--emit mir`][39891]
    + [Improved LLVM IR for trivial functions][40367]
    + [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
    + [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
      opportunities found through profiling
    + [Improved backtrace formatting when panicking][38165]
- Library updates:
    + [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
      iterator hasn't been advanced the original `Vec` is reassembled with no actual
      iteration or reallocation.
    + [Simplified HashMap Bucket interface][40561] provides performance
      improvements for iterating and cloning.
    + [Specialize Vec::from_elem to use calloc][40409]
    + [Fixed Race condition in fs::create_dir_all][39799]
    + [No longer caching stdio on Windows][40516]
    + [Optimized insertion sort in slice][40807] insertion sort in some cases
      2.50%~ faster and in one case now 12.50% faster.
    + [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
    + [`Child::try_wait`]
    + [`HashMap::retain`]
    + [`HashSet::retain`]
    + [`PeekMut::pop`]
    + [`TcpStream::peek`]
    + [`UdpSocket::peek`]
- Misc:
    + [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
    + [Added rust-winbg script for better debugging on Windows][39983]
    + [Rust now uses the official cross compiler for NetBSD][40612]
    + [rustdoc now accepts `#` at the start of files][40828]
    + [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
    + [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
      always placed after the sign if it exists and before the digits. With the `#`
      flag the zeroes are placed after the prefix and before the digits.
    + [Due to the struct field optimisation][40377], using `transmute` on structs
      that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
      always been undefined behavior, but is now more likely to break in practice.
    + [The refactor of trait object type parsing][40043] fixed a bug where `+` was
      receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
      `&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
    + [Overlapping inherent `impl`s are now a hard error][40728]
    + [`PartialOrd` and `Ord` must agree on the ordering.][41270]
    + [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
      `out.asm` and `out.ll` instead of only one of the filetypes.
    + [ calling a function that returns `Self` will no longer work][41805] when
      the size of `Self` cannot be statically determined.
    + [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
      this has caused a few regressions namely:
    + Changed the link order of local static/dynamic libraries (respecting the
      order on given rather than having the compiler reorder).
    + Changed how MinGW is linked, native code linked to dynamic libraries
      may require manually linking to the gcc support library (for the native
      code itself)
- Adjustment of rust version dependency to prevent inability to
  build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
  these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
    * [The compiler's `dead_code` lint now accounts for type aliases][38051].
    * [Uninhabitable enums (those without any variants) no longer permit wildcard
      match patterns][38069]
    * [Clean up semantics of `self` in an import list][38313]
    * [`Self` may appear in `impl` headers][38920]
    * [`Self` may appear in struct expressions][39282]
- Compiler updates
    * [`rustc` now supports `--emit=metadata`, which causes rustc to emit
      a `.rmeta` file containing only crate metadata][38571]. This can be
      used by tools like the Rust Language Service to perform
      metadata-only builds.
    * [Levenshtein based typo suggestions now work in most places, while
      previously they worked only for fields and sometimes for local
      variables][38927]. Together with the overhaul of "no
      resolution"/"unexpected resolution" errors (#[38154]) they result in
      large and systematic improvement in resolution diagnostics.
    * [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
      `U`][38670]
    * [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
    * [`rustc` no longer attempts to provide "consider using an explicit
      lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
    * [`VecDeque::truncate`]
    * [`VecDeque::resize`]
    * [`String::insert_str`]
    * [`Duration::checked_add`]
    * [`Duration::checked_sub`]
    * [`Duration::checked_div`]
    * [`Duration::checked_mul`]
    * [`str::replacen`]
    * [`str::repeat`]
    * [`SocketAddr::is_ipv4`]
    * [`SocketAddr::is_ipv6`]
    * [`IpAddr::is_ipv4`]
    * [`IpAddr::is_ipv6`]
    * [`Vec::dedup_by`]
    * [`Vec::dedup_by_key`]
    * [`Result::unwrap_or_default`]
    * [`<*const T>::wrapping_offset`]
    * [`<*mut T>::wrapping_offset`]
    * `CommandExt::creation_flags`
    * [`File::set_permissions`]
    * [`String::split_off`]
- Updates to libraries
    * [`[T]::binary_search` and `[T]::binary_search_by_key` now take
      their argument by `Borrow` parameter][37761]
    * [All public types in std implement `Debug`][38006]
    * [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
    * [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
    * [Ctrl-Z returns from `Stdin.read()` when reading from the console on
      Windows][38274]
    * [std: Fix partial writes in `LineWriter`][38062]
    * [std: Clamp max read/write sizes on Unix][38062]
    * [Use more specific panic message for `&str` slicing errors][38066]
    * [`TcpListener::set_only_v6` is deprecated][38304]. This
      functionality cannot be achieved in std currently.
    * [`writeln!`, like `println!`, now accepts a form with no string
      or formatting arguments, to just print a newline][38469]
    * [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
    * [Reduce the size of static data in `std_unicode::tables`][38781]
    * [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
      `CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
      `Display`][38909]
    * [`Duration` implements `Sum`][38712]
    * [`String` implements `ToSocketAddrs`][39048]
- Misc
    * [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
      the path to the Rust implementation][38589]
    * [The `armv7-linux-androideabi` target no longer enables NEON
      extensions, per Google's ABI guide][38413]
    * [The stock standard library can be compiled for Redox OS][38401]
    * [Rust has initial SPARC support][38726]. Tier 3. No builds
      available.
    * [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
      builds available.
    * [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
    * [Uninhabitable enums (those without any variants) no longer permit wildcard
      match patterns][38069]
    * In this release, references to uninhabited types can not be
      pattern-matched. This was accidentally allowed in 1.15.
    * [The compiler's `dead_code` lint now accounts for type aliases][38051].
    * [Ctrl-Z returns from `Stdin.read()` when reading from the console on
      Windows][38274]
    * [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
  stable compiler
- Update to 1.16.0
- Language updates
    * Lifetimes in statics and consts default to `'static`. [RFC 1623]
    * [The compiler's `dead_code` lint now accounts for type aliases][38051].
    * [Uninhabitable enums (those without any variants) no longer permit wildcard
      match patterns][38069]
    * [Clean up semantics of `self` in an import list][38313]
    * [`Self` may appear in `impl` headers][38920]
    * [`Self` may appear in struct expressions][39282]
- Compiler updates
    * [`rustc` now supports `--emit=metadata`, which causes rustc to emit
      a `.rmeta` file containing only crate metadata][38571]. This can be
      used by tools like the Rust Language Service to perform
      metadata-only builds.
    * [Levenshtein based typo suggestions now work in most places, while
      previously they worked only for fields and sometimes for local
      variables][38927]. Together with the overhaul of "no
      resolution"/"unexpected resolution" errors (#[38154]) they result in
      large and systematic improvement in resolution diagnostics.
    * [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
      `U`][38670]
    * [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
    * [`rustc` no longer attempts to provide "consider using an explicit
      lifetime" suggestions][37057]. They were inaccurate.
      
- Stabilized APIs
    * [`VecDeque::truncate`]
    * [`VecDeque::resize`]
    * [`String::insert_str`]
    * [`Duration::checked_add`]
    * [`Duration::checked_sub`]
    * [`Duration::checked_div`]
    * [`Duration::checked_mul`]
    * [`str::replacen`]
    * [`str::repeat`]
    * [`SocketAddr::is_ipv4`]
    * [`SocketAddr::is_ipv6`]
    * [`IpAddr::is_ipv4`]
    * [`IpAddr::is_ipv6`]
    * [`Vec::dedup_by`]
    * [`Vec::dedup_by_key`]
    * [`Result::unwrap_or_default`]
    * [`<*const T>::wrapping_offset`]
    * [`<*mut T>::wrapping_offset`]
    * `CommandExt::creation_flags`
    * [`File::set_permissions`]
    * [`String::split_off`]
    
- Library updates
    * [`[T]::binary_search` and `[T]::binary_search_by_key` now take
      their argument by `Borrow` parameter][37761]
    * [All public types in std implement `Debug`][38006]
    * [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
    * [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
    * [Ctrl-Z returns from `Stdin.read()` when reading from the console on
      Windows][38274]
    * [std: Fix partial writes in `LineWriter`][38062]
    * [std: Clamp max read/write sizes on Unix][38062]
    * [Use more specific panic message for `&str` slicing errors][38066]
    * [`TcpListener::set_only_v6` is deprecated][38304]. This
      functionality cannot be achieved in std currently.
    * [`writeln!`, like `println!`, now accepts a form with no string
      or formatting arguments, to just print a newline][38469]
    * [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
    * [Reduce the size of static data in `std_unicode::tables`][38781]
    * [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
      `CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
      `Display`][38909]
    * [`Duration` implements `Sum`][38712]
    * [`String` implements `ToSocketAddrs`][39048]
    
- Misc fixes
    * [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
      the path to the Rust implementation][38589]
    * [The `armv7-linux-androideabi` target no longer enables NEON
      extensions, per Google's ABI guide][38413]
    * [The stock standard library can be compiled for Redox OS][38401]
    * [Rust has initial SPARC support][38726]. Tier 3. No builds
      available.
    * [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
      builds available.
    * [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
    * [Uninhabitable enums (those without any variants) no longer permit wildcard
      match patterns][38069]
    * In this release, references to uninhabited types can not be
      pattern-matched. This was accidentally allowed in 1.15.
    * [The compiler's `dead_code` lint now accounts for type aliases][38051].
    * [Ctrl-Z returns from `Stdin.read()` when reading from the console on
      Windows][38274]
    * [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
  implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in 
  openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
	* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
	stable. This allows popular code-generating crates like Serde and Diesel to
	work ergonomically. [RFC 1681].
	* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
	with curly braces][36868]. Part of [RFC 1506].
	* [A number of minor changes to name resolution have been activated][37127].
	They add up to more consistent semantics, allowing for future evolution of
	Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
	details of what is different. The breaking changes here have been transitioned
	through the [`legacy_imports`] lint since 1.14, with no known regressions.
	* [In `macro_rules`, `path` fragments can now be parsed as type parameter
	bounds][38279]
	* [`?Sized` can be used in `where` clauses][37791]
	* [There is now a limit on the size of monomorphized types and it can be
	modified with the `#![type_size_limit]` crate attribute, similarly to
	the `#![recursion_limit]` attribute][37789]
- Compiler changes
	* [On Windows, the compiler will apply dllimport attributes when linking to
	extern functions][37973]. Additional attributes and flags can control which
	library kind is linked and its name. [RFC 1717].
	* [Rust-ABI symbols are no longer exported from cdylibs][38117]
	* [The `--test` flag works with procedural macro crates][38107]
	* [Fix `extern "aapcs" fn` ABI][37814]
	* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
	* [The `format!` expander recognizes incorrect `printf` and shell-style
	formatting directives and suggests the correct format][37613].
	* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
	* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
	* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
	* [Don't clone in `UnificationTable::probe`][37848]
	* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
	* [Use small vectors in type walker][37760]
	* [Macro expansion performance was improved][37701]
	* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
	* [Replace FNV with a faster hash function][37229]
- For full change list, please see
	https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
  initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
    + appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
  packaged versions haven't successfully built in the past
- Update to version 1.14.0
    + Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
    + Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
    + support for RFC 1492. This small addition lets you use `..`
    in more places, for example when destructuring a struct or tuple
    + println!(), with no arguments, prints newline
    + Wrapping impls standard binary and unary operators on
    references, as well as the Sum and Product iterators, making
    references to these types easier to use
    + Implement From<Cow<str>> for String and From<Cow<[T]>> for
    Vec<T>. These implementations make sense, but were not yet added.
    + Expand .zip() specialization to .map() and .cloned() for
    improved performance.
    + Implement RefUnwindSafe for atomic types, as these types are
    “unwind safe,” though that wasn’t obvious at first.
    + Specialize Vec::extend to Vec::extend_from_slice for
    performance gains.
    + Don’t reuse HashMap random seeds. This helps to mitigate one
    type of DDoS attack.
    + The internal memory layout of HashMap is more cache-friendly,
    for significant improvements in some operations
    + Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
    for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
  or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
    + 0003-Disable-embedding-timestamp-information.patch - fixed
      by upstream
    + 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative 
  packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
  * fix armv6 and armv7 builds
- Update to 1.11
  + Add support for cdylib crate types
- Remove merged patches:
  * 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
  * 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
  * Add add-soname.patch
- Move to package named rust 
- Update to 1.10
    + -C panic=abort flag for rustc or equivalent in Cargo.toml
    + new crate type cdylib, embeded library for other languages
    + In addition, a number of performance improvements landed in
      the compiler, and so did a number of usability improvements
      across the documentation, rustdoc itself, and various error
      messages.
    + This is the first release, which is guaranteed to be built
    by previous stable release of rustc
- Packaging:
    + drop bootstrap mode and use rustc 1.9
    + move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
  simple ldconfig calls. Drop archaic %clean section.
  Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards. 
- Rename source package to rustc-190 to avoid unecessary rebuilds
  of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch 
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
    + Stabilization of std::panic
    + Deprecation warnings, #[deprecated] attribute
    + Compile time improvements
    + Rolling out use of specialization
    + Library stabilizations
      About 80 library functions and methods are now stable in 1.
    + http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
    + Various “operator equals” operators, such as += and -=, are now
      overloadable via various traits.
    + Empty struct declaration can contain cutly braces
    + New (non default) cargo based build system for rustc
    + About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
    + Many stabilized APIs
    + Improved library performance
    + BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
    + LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
    + str::replace now accepts a Pattern, like other string searching methods.
    + Any is implemented for unsized types.
    + Hash is implemented for Duration.
    + Soundness fixes, may break code. See RFC 1214 for more information.
    + Several bugs in the compiler's visibility calculations were fixed.
    + Parsing "." as a float results in an error instead of 0.
    + Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
    + Stabilization of libcore and other library functions
    + Crates.io disallows wildcards
- Update to version 1.4.0:
    + Several changes have been made to fix type soundness and improve the
    behavior of associated types. See RFC 1214. Although we have mostly
    introduced these changes as warnings this release, to become errors next
    release, there are still some scenarios that will see immediate breakage.
    + The str::lines and BufRead::lines iterators treat \r\n as line breaks in
    addition to \n.
    + Loans of 'static lifetime extend to the end of a function.
    + str::parse no longer introduces avoidable rounding error when parsing
    floating point numbers. Together with earlier changes to float
    formatting/output, "round trips" like f.to_string().parse() now preserve
    the value of f exactly.  Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
    + API stabilization, including the new Duration API and
    enhancements to Error and Hash/Hasher.
    + The substring matcher now uses a more efficient algorithm.
    + There were improvements to zero filling that speed up
    Vec::resize and Read::read_to_end.
    + The implementation of Read::read_to_end has been specialized
    for stdin and File, resulting in additional speedups.
    + The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
    + An across-the-board improvement to real-world compiler performance.
    Representative crates include hyper (compiles 1.16x faster), html5ever
    (1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
    can explore some of this performance data at Nick Cameron’s preliminary
    tracking site, using dates 2015-05-15 to 2015-06-25.
    + Parallel codegen is now working, and produces a 33% speedup when
    bootstrapping on a 4 core machine. Parallel codegen is particularly useful
    for debug builds, since it prevents some optimizations; but it can also be
    used with optimizations as an effective -O1 flag. It can be activated
    by passing -C codegen-units=N to rustc, where N is the desired number
    of threads.
- Update to version 1.1.0:
  + The std::fs module has been expanded to expand the set of
    functionality exposed:
    * DirEntry now supports optimizations like file_type and
      metadata which don't incur a syscall on some platforms.
    * A symlink_metadata function has been added.
    * The fs::Metadata structure now lowers to its OS counterpart,
      providing access to all underlying information.
  + The compiler now contains extended explanations of many errors.
    When an error with an explanation occurs the compiler suggests
    using the --explain flag to read the explanation. Error
    explanations are also available online.
  + Thanks to multiple improvements to type checking, as well as other
    work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
  + lint: deny transmuting from immutable to mutable, since it's undefined behavior
  + std: update select internals to not use mutable transmuting
  + std: Remove index notation on slice iterators
  + std: Destabilize io::BufStream
  + Make RwLock::try_write try to obtain a write lock
  + std: Remove addition on vectors for now
  + thread: right now you can't actually set those printers
  + Fix #24872, XSS in docs not found page.
  + Update AUTHORS.txt and RELEASES.md for 1.0
  + std: Mark `mem::forget` as a safe function
  + core: impl AsRef<[u8]> for str
  + collections: impl AsRef<[u8]> for String
  + collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
  + Fix invalid references due to the automated string substitution
  + dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
  + Introduce a `FreeRegionMap` data structure. (#22779)
  + Fix #20616
  + std: Fix inheriting standard handles on windows
  + Fix #24895.
  + Fix zero-normalization of the pos of a `MultiByteChar`.
  + lint for mixing `#[repr(C)]` with an impl of `Drop`.
  + Bump prerelease version to .4
  + Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
  + Update Windows caveats
  + Utilize if..let for get_mut doc-comment examples
  + Indicate keywords are code-like in Fuse::reset_fuse doc comment
  + doc: improve/fix 'let' FAQ
  + Fix broken links in the docs
  + Indicate None is code-like in doc comments
  + Fixed typo in hash_map::Entry documentation
  + Remove an unused import on windows
- Version 1.0.0-beta3.

OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 03:30:42 +00:00
Luke Jones
302db12c5c OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=100 2017-03-28 09:12:48 +00:00
Michal Vyskocil
029d4d490e Accepting request 424927 from home:KGronlund:branches:devel:languages:rust
Revised packaging suggestion for rust: Package as
rust from now on. Add Recommends: for cargo.

Will remove rustc-stable.

This makes it easier to submit new versions to
openSUSE:Factory, and easier for users to find
rust.

OBS-URL: https://build.opensuse.org/request/show/424927
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=1
2016-09-06 16:11:34 +00:00