Go to file
Neal Gompa 17041caeb7 Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48
Final SR - promised :)

- <https://github.com/rust-lang/rust/issues/74976>: Add "--stage 1"
  to the "./x.py doc" call to ensure the newly built compiler gets
  used.

-------------------------------------------------------------------
Sat Jan  9 09:25:07 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>

- Leap 15.3 does not provide a suitable llvm-devel package, hence
  explicitly require llvm9-devel. Details can be seen in the following
  e-mail thread
  <https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/ZQWAMG2VYBSI2BFM7G3H5YG26ALXWAOA/>

-------------------------------------------------------------------
Sun Jan  3 11:27:23 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>

- LLVM >= 9.0 is needed nowadays.
- Disable usage of "ninja" for all distributions older than Leap 15.2

-------------------------------------------------------------------
Sat Jan  2 16:50:47 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>

- Update to version 1.48.0
  + Language
  - The `unsafe` keyword is now syntactically permitted on modules.
    This is still rejected semantically, but can now be parsed by procedural
    macros.
  + Compiler
  - Stabilised the `-C link-self-contained=<yes|no>` compiler flag.
    This tells `rustc` whether to link its own C runtime and libraries or to
    rely on a external linker to find them. (Supported only on `windows-gnu`,
    `linux-musl`, and `wasi` platforms.)
  - You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.
    Note: If you're using cargo you must explicitly pass the `--target` flag.
  - Added tier 2* support for aarch64-unknown-linux-musl.
  * Refer to Rust's platform support page for more information on Rust's
    tiered platform support.
  + Libraries
  - io::Write is now implemented for &ChildStdin &Sink, &Stdout, and &Stderr.
  - All arrays of any length now implement TryFrom<Vec<T>>.
  - The matches! macro now supports having a trailing comma.
  - Vec<A> now implements PartialEq<[B]> where A: PartialEq<B>.
  - The RefCell::{replace, replace_with, clone} methods now all use #[track_caller].
  + Stabilized APIs
  - slice::as_ptr_range
  - slice::as_mut_ptr_range
  - VecDeque::make_contiguous
  - future::pending
  - future::ready
  The following previously stable methods are now `const fn's`:
  - Option::is_some
  - Option::is_none
  - Option::as_ref
  - Result::is_ok
  - Result::is_err
  - Result::as_ref
  - Ordering::reverse
  - Ordering::then
  + Cargo
  + Rustdoc
  - You can now link to items in rustdoc using the intra-doc link syntax.
    E.g. /// Uses [`std::future`] will automatically generate a link to
    std::future's documentation. See "Linking to items by name" for more
    information.
  - You can now specify #[doc(alias = "<alias>")] on items to add search
    aliases when searching through rustdoc's UI.
  + Compatibility Notes
  - Promotion of references to 'static lifetime inside const fn now
    follows the same rules as inside a fn body. In particular, &foo()
    will not be promoted to 'static lifetime any more inside const fns.
  - Associated type bindings on trait objects are now verified to meet
    the bounds declared on the trait when checking that they implement
    the trait.
  - When trait bounds on associated types or opaque types are ambiguous,
    the compiler no longer makes an arbitrary choice on which bound to use.
  - Fixed recursive nonterminals not being expanded in macros during
    pretty-print/reparse check. This may cause errors if your macro
    wasn't correctly handling recursive nonterminal tokens.
  - &mut references to non zero-sized types are no longer promoted.
  - rustc will now warn if you use attributes like #[link_name] or
    #[cold] in places where they have no effect.
  - Updated _mm256_extract_epi8 and _mm256_extract_epi16 signatures
    in arch::{x86, x86_64} to return i32 to match the vendor signatures.
  - mem::uninitialized will now panic if any inner types inside a struct
    or enum disallow zero-initialization.
  - #[target_feature] will now error if used in a place where it has no effect.
  - Foreign exceptions are now caught by catch_unwind and will cause an
    abort. Note: This behaviour is not guaranteed and is still considered
    undefined behaviour, see the catch_unwind documentation for further
    information.
  + Internal Only
    These changes provide no direct user facing benefits, but represent
    significant improvements to the internals and overall performance of
    rustc and related tools.
  - Building rustc from source now uses ninja by default over make.
    You can continue building with make by setting ninja=false in
    your config.toml.
  - cg_llvm: fewer_names in uncached_llvm_type
  - Made ensure_sufficient_stack() non-generic
- Rebased patches:
  + ignore-Wstring-conversion.patch (location)

OBS-URL: https://build.opensuse.org/request/show/862086
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=272
2021-01-10 12:26:42 +00:00
_constraints Accepting request 765285 from home:dimstar:Factory 2020-01-17 14:09:40 +00:00
_service Accepting request 760082 from home:luke_nukem:branches:devel:languages:rust 2020-01-01 19:06:39 +00:00
.gitattributes Accepting request 424927 from home:KGronlund:branches:devel:languages:rust 2016-09-06 16:11:34 +00:00
.gitignore Accepting request 424927 from home:KGronlund:branches:devel:languages:rust 2016-09-06 16:11:34 +00:00
ignore-Wstring-conversion.patch Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
README.suse-maint - Rename README to README.suse-maint and add it as a source 2019-11-29 14:44:48 +00:00
rust-1.47.0-aarch64-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-aarch64-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-armv7-unknown-linux-gnueabihf.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-armv7-unknown-linux-gnueabihf.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-i686-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-i686-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc64-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc64-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-powerpc-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-s390x-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-s390x-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz.asc Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust-rpmlintrc Accepting request 849719 from home:manfred-h:devel:languages:rust:rust-1.47 2020-11-22 17:59:38 +00:00
rust.changes Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rust.keyring Accepting request 851409 from home:bmwiedemann:branches:devel:languages:rust 2020-11-28 01:42:57 +00:00
rust.spec Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00
rustc-1.48.0-src.tar.xz Accepting request 862086 from home:manfred-h:devel:languages:rust:rust-1.48 2021-01-10 12:26:42 +00:00

# Automatic updating via _service

Edit the spec file, and update the variables related with the version
(in format X.YY.Z):

- *version_current*: for the new version of Rust
- *version_previous*: for the previous version of Rust
- *version_bootstrap*: for the version used to compile Rust, it
  recommended to use the same version that *version_previous*
- *rustfmt_version*: for the version of rustfmt cli, check the tarball
   to find the correct version
- *clippy_version*: for the version of clippy, check the tarball to
   find the correct version

After that, we can execute the service file:

  osc service disabledrun

If `osc` complains about a missing service component, double check
that the components are installed. For example, for Tumbleweed:

  zypper in obs-service-download_files obs-service-refresh_patches

Finally, update the changelog based on the releases notes:

  https://github.com/rust-lang/rust/blob/master/RELEASES.md

# Updating to a new version from upstream

(Original link: https://en.opensuse.org/Rust)

Branch the rust package in the devel:languages:rust project.

You'll need to download precompiled binaries for the compiler used for
bootstrapping, and the actual source code for the compiler. In the
"Other Installation Methods" page listed below, note that it shows
links to .tar.gz packages and their .tar.gz.asc GPG signatures, but
.tar.xz versions are also available.

*Binaries for bootstrapping* - Go to the "Other Installation Methods"
page from rust-lang.org and scroll down to the "Standalone installers"
section. Download the following:

- rust-<version>-aarch64-unknown-linux-gnu.tar.xz
- rust-<version>-armv7-unknown-linux-gnueabihf.tar.xz
- rust-<version>-i686-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64le-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64-unknown-linux-gnu.tar.xz
- rust-<version>-s390x-unknown-linux-gnu.tar.xz
- rust-<version>-x86_64-unknown-linux-gnu.tar.xz

*Compiler source code* - From the same page, but now in the "Source
code" section, download this:

  rustc-<version>-src.tar.xz

Update those files in the source RPM. Check that all the patches still
apply.

Update the version number in rust.spec.

Add the release notes to rust.changes.