pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/rust Update rust to version 1.36.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3449697768cf
branches:  trunk
changeset: 397860:3449697768cf
user:      he <he%pkgsrc.org@localhost>
date:      Fri Jul 05 09:55:31 2019 +0000

description:
Update rust to version 1.36.0

Pkgsrc changes:
 * NetBSD/sparc64 disabling of "packed" removed ("packed" removed upstream)
 * Adapt src_libstd_build.rs patch, update sed'ing of .cargo-checksum.json

Build verified on NetBSD 8.0/amd64.

Upstream changes:

Version 1.36.0 (2019-07-04)
==========================

Language
--------
- [Non-Lexical Lifetimes are now enabled on the 2015 edition.][59114]
- [The order of traits in trait objects no longer affects the semantics of that
  object.][59445] 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` implem
entation.][58623]
- [`TryFromSliceError` now implements `From<Infallible>`.][60318]
- [`mem::needs_drop` is now available as a const fn.][60364]
- [`alloc::Layout::from_size_align_unchecked` is now available as a const fn.][6
0370]
- [`String` now implements `BorrowMut<str>`.][60404]
- [`io::Cursor` now implements `Default`.][60234]
- [Both `NonNull::{dangling, cast}` are now const fns.][60244]
- [The `alloc` crate is now stable.][59675] `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>`.][59825]
- [You can now pass multiple arguments to the `dbg!` macro.][59826] `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.][59648]

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.][cargo/6860]
- [You can now pass the `--offline` flag to run cargo without accessing the netw
ork.][cargo/6934]

You can find further change's in [Cargo's 1.36.0 release notes][cargo-1-36-0].

Clippy
------
There have been numerous additions and fixes to clippy, see [Clippy's 1.36.0 rel
ease notes][clippy-1-36-0] for more details.

Misc
----

Compatibility Notes
-------------------
- [`std::arch::x86::_rdtsc` returns `u64` instead of `i64`][stdsimd/559]
- [`std::arch::x86_64::_mm_shuffle_ps` takes an `i32` instead of `u32` for `mask
`][stdsimd/522]
- With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no
  longer recommended, and will be deprecated in 1.38.0.

[60318]: https://github.com/rust-lang/rust/pull/60318/
[60364]: https://github.com/rust-lang/rust/pull/60364/
[60370]: https://github.com/rust-lang/rust/pull/60370/
[60404]: https://github.com/rust-lang/rust/pull/60404/
[60234]: https://github.com/rust-lang/rust/pull/60234/
[60244]: https://github.com/rust-lang/rust/pull/60244/
[58623]: https://github.com/rust-lang/rust/pull/58623/
[59648]: https://github.com/rust-lang/rust/pull/59648/
[59675]: https://github.com/rust-lang/rust/pull/59675/
[59825]: https://github.com/rust-lang/rust/pull/59825/
[59826]: https://github.com/rust-lang/rust/pull/59826/
[59445]: https://github.com/rust-lang/rust/pull/59445/
[59114]: https://github.com/rust-lang/rust/pull/59114/
[cargo/6860]: https://github.com/rust-lang/cargo/pull/6860/
[cargo/6934]: https://github.com/rust-lang/cargo/pull/6934/
[`VecDeque::rotate_left`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_left
[`VecDeque::rotate_right`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_right
[`Iterator::copied`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#tymethod.copied
[`io::IoSlice`]: https://doc.rust-lang.org/std/io/struct.IoSlice.html
[`io::IoSliceMut`]: https://doc.rust-lang.org/std/io/struct.IoSliceMut.html
[`Read::read_vectored`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_vectored
[`Write::write_vectored`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_vectored
[`str::as_mut_ptr`]: https://doc.rust-lang.org/std/primitive.str.html#method.as_mut_ptr
[`mem::MaybeUninit`]: https://doc.rust-lang.org/std/mem/union.MaybeUninit.html
[`pointer::align_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.align_offset
[`future::Future`]: https://doc.rust-lang.org/std/future/trait.Future.html
[`task::Context`]: https://doc.rust-lang.org/beta/std/task/struct.Context.html
[`task::RawWaker`]: https://doc.rust-lang.org/beta/std/task/struct.RawWaker.html
[`task::RawWakerVTable`]: https://doc.rust-lang.org/beta/std/task/struct.RawWakerVTable.html
[`task::Waker`]: https://doc.rust-lang.org/beta/std/task/struct.Waker.html
[`task::Poll`]: https://doc.rust-lang.org/beta/std/task/enum.Poll.html
[clippy-1-36-0]: https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-136
[cargo-1-36-0]: https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-136-2019-07-04
[stdsimd/522]: https://github.com/rust-lang-nursery/stdsimd/issues/522
[stdsimd/559]: https://github.com/rust-lang-nursery/stdsimd/issues/559

diffstat:

 lang/rust/Makefile                                           |   7 ++--
 lang/rust/distinfo                                           |  13 ++++----
 lang/rust/patches/patch-src_libstd_build.rs                  |   8 ++--
 lang/rust/patches/patch-src_libsyntax__pos_span__encoding.rs |  17 ------------
 4 files changed, 13 insertions(+), 32 deletions(-)

diffs (106 lines):

diff -r e5e66330c0aa -r 3449697768cf lang/rust/Makefile
--- a/lang/rust/Makefile        Fri Jul 05 09:17:38 2019 +0000
+++ b/lang/rust/Makefile        Fri Jul 05 09:55:31 2019 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.104 2019/06/13 19:06:30 tnn Exp $
+# $NetBSD: Makefile,v 1.105 2019/07/05 09:55:31 he Exp $
 
-DISTNAME=      rustc-1.35.0-src
-PKGREVISION=   1
+DISTNAME=      rustc-1.36.0-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
 CATEGORIES=    lang
 MASTER_SITES=  http://static.rust-lang.org/dist/
@@ -312,7 +311,7 @@
        ${SED} -e 's/1e732c2e3b4bd1561f11e0979bf9d20669a96eae7afe0deff9dfbb980ee47bf1/bc03f2345d7cfa7000f9da817120b6afa073359789c21a9a790ebd8676c50cca/' 
${WRKSRC}/vendor/rand/.cargo-checksum.json.orig > ${WRKSRC}/vendor/rand/.cargo-checksum.json
        ${CP} ${WRKSRC}/vendor/libc/.cargo-checksum.json \
                ${WRKSRC}/vendor/libc/.cargo-checksum.json.orig
-       ${SED} -e 's/c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d/01ca1e6a21f01efd9d4b2768c1f9bcfab829e95a23d88cd35bf4e0172c672f3a/' 
${WRKSRC}/vendor/libc/.cargo-checksum.json.orig > ${WRKSRC}/vendor/libc/.cargo-checksum.json
+       ${SED} -e 's/0c6d148d84f2fa9feb86b464d30af9c52322553bf321ae4fe27184d274ccbe21/27dae4ec77f317c74e2c205658bcc8220c512f751802b754b07770c16e420dd1/' 
${WRKSRC}/vendor/libc/.cargo-checksum.json.orig > ${WRKSRC}/vendor/libc/.cargo-checksum.json
        ${CP} ${WRKSRC}/vendor/backtrace-sys/.cargo-checksum.json \
              ${WRKSRC}/vendor/backtrace-sys/.cargo-checksum.json.orig
        ${SED} -e 's/59763fc255248b54fba5d0761d61093a73d51fa4cb400b0df1b5f339b9c2f48a/ba66d192421fd536ceddb50616c4c4aea06f4e39450eb0bc2bbbaed0b1e684c1/' 
${WRKSRC}/vendor/backtrace-sys/.cargo-checksum.json.orig > ${WRKSRC}/vendor/backtrace-sys/.cargo-checksum.json
diff -r e5e66330c0aa -r 3449697768cf lang/rust/distinfo
--- a/lang/rust/distinfo        Fri Jul 05 09:17:38 2019 +0000
+++ b/lang/rust/distinfo        Fri Jul 05 09:55:31 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.80 2019/06/13 19:06:30 tnn Exp $
+$NetBSD: distinfo,v 1.81 2019/07/05 09:55:31 he Exp $
 
 SHA1 (rust-1.34.2-i686-apple-darwin.tar.gz) = 1c7f71c554dd4cffc4bdbdf291234292c5fcc9ad
 RMD160 (rust-1.34.2-i686-apple-darwin.tar.gz) = e1f3228f63a2580d7980f28e10e3f4fa34f63dac
@@ -100,10 +100,10 @@
 RMD160 (rust-std-1.35.0-x86_64-unknown-netbsd.tar.gz) = 3d26b20c208f48b6eab0615e2387ed211438a082
 SHA512 (rust-std-1.35.0-x86_64-unknown-netbsd.tar.gz) = f8eae17906de67a56ea5669147ca62f02a909fe181e4167f58744e0e3c4cda9b20e2a3dcf9798444189bc9748eb3e57c02b7e17031c4fee53809b79aeab5ba90
 Size (rust-std-1.35.0-x86_64-unknown-netbsd.tar.gz) = 83401018 bytes
-SHA1 (rustc-1.35.0-src.tar.gz) = f57561cd9fe8a972d3c4f34a87352c6779fc4916
-RMD160 (rustc-1.35.0-src.tar.gz) = ae3e11c4421f050d5728bddc4fe17aabfbccc37d
-SHA512 (rustc-1.35.0-src.tar.gz) = b23e6e221bf96e8621ea7aba2e8fc686c2ba1ae334072f13f1f0d4b0ae909632f511a9c62fdcc29c7467af931269020298f799064651b676e387dd3e6dfe6e8e
-Size (rustc-1.35.0-src.tar.gz) = 151564062 bytes
+SHA1 (rustc-1.36.0-src.tar.gz) = c9e5473d342e49440a8cc30f72e2605325f2cf95
+RMD160 (rustc-1.36.0-src.tar.gz) = 9a845895fcca685cd61b66b4c543e96132dc8933
+SHA512 (rustc-1.36.0-src.tar.gz) = f0bd470a98d2b044c2af40d0c19838c3f7410c4acea5b2f8b5bcf0ca8294917986e7e5aed7d00ea5520e8b03d7130f993e75125576c693ba571feae0d0b961e9
+Size (rustc-1.36.0-src.tar.gz) = 154643124 bytes
 SHA1 (patch-src_bootstrap_bin_rustc.rs) = 5e6b0cb25401db4fef6e74f73764e69f3c09569c
 SHA1 (patch-src_bootstrap_bootstrap.py) = 5b886b95857bf019c2e37cb380e6905cb444b756
 SHA1 (patch-src_bootstrap_builder.rs) = 7e23348dc5555fdb3833a7f8734cfe687c6e533c
@@ -111,9 +111,8 @@
 SHA1 (patch-src_librustc__llvm_build.rs) = d6e71891eb8d42a9c4175505ba7ed98338153860
 SHA1 (patch-src_librustc__target_spec_solaris__base.rs) = 90d7fbe239fb4481adbed7f145e67ec8b4837a61
 SHA1 (patch-src_librustc__target_spec_x86__64__sun__solaris.rs) = f6ad33b41906bbf83a1cbd0e2fe13a4da37266fa
-SHA1 (patch-src_libstd_build.rs) = 2334879e4b730014de08bb2dfff1a643292a630e
+SHA1 (patch-src_libstd_build.rs) = aa7020339ccc2888d1302721e1a38f7a4e0925a3
 SHA1 (patch-src_libstd_sys_unix_thread.rs) = 2554f1a42afaa0ddce5053860f4dabecdf6c527a
-SHA1 (patch-src_libsyntax__pos_span__encoding.rs) = c891cffab8ae47b13b3b391ddd1a6c62ee2b38f3
 SHA1 (patch-src_libunwind_build.rs) = c0a0aa9749705be07afe8eaaa0c7d70affa46566
 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427
 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 19daf5f8a26bfaebca942b5cbe8521fb060fe8d9
diff -r e5e66330c0aa -r 3449697768cf lang/rust/patches/patch-src_libstd_build.rs
--- a/lang/rust/patches/patch-src_libstd_build.rs       Fri Jul 05 09:17:38 2019 +0000
+++ b/lang/rust/patches/patch-src_libstd_build.rs       Fri Jul 05 09:55:31 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_libstd_build.rs,v 1.3 2019/01/19 12:44:08 ryoon Exp $
+$NetBSD: patch-src_libstd_build.rs,v 1.4 2019/07/05 09:55:31 he Exp $
 
 SunOS support:
  - Support PKGSRC_USE_SSP (ugly for now).
@@ -7,15 +7,15 @@
 
 --- src/libstd/build.rs.orig   2019-01-16 09:30:27.000000000 +0000
 +++ src/libstd/build.rs
-@@ -42,6 +42,7 @@ fn main() {
+@@ -18,6 +18,7 @@ fn main() {
          println!("cargo:rustc-link-lib=execinfo");
          println!("cargo:rustc-link-lib=pthread");
      } else if target.contains("netbsd") {
 +        println!("cargo:rustc-link-lib=execinfo");
          println!("cargo:rustc-link-lib=pthread");
          println!("cargo:rustc-link-lib=rt");
-     } else if target.contains("dragonfly") || target.contains("bitrig") ||
-@@ -52,6 +53,9 @@ fn main() {
+     } else if target.contains("dragonfly") || target.contains("openbsd") {
+@@ -27,6 +28,9 @@ fn main() {
          println!("cargo:rustc-link-lib=posix4");
          println!("cargo:rustc-link-lib=pthread");
          println!("cargo:rustc-link-lib=resolv");
diff -r e5e66330c0aa -r 3449697768cf lang/rust/patches/patch-src_libsyntax__pos_span__encoding.rs
--- a/lang/rust/patches/patch-src_libsyntax__pos_span__encoding.rs      Fri Jul 05 09:17:38 2019 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-$NetBSD: patch-src_libsyntax__pos_span__encoding.rs,v 1.1 2018/10/29 22:24:11 he Exp $
-
-Workaround for compiler bug hitting sparc64 causing unaligned accesses.
-
---- src/libsyntax_pos/span_encoding.rs.orig    2018-10-24 20:00:01.000000000 +0000
-+++ src/libsyntax_pos/span_encoding.rs
-@@ -26,7 +26,9 @@ use std::hash::{Hash, Hasher};
- /// The primary goal of `Span` is to be as small as possible and fit into other structures
- /// (that's why it uses `packed` as well). Decoding speed is the second priority.
- /// See `SpanData` for the info on span fields in decoded representation.
--#[repr(packed)]
-+
-+/// Workaround for compiler bug: https://github.com/rust-lang/rust/issues/53181
-+#[cfg_attr(not(any(target_arch = "sparc64", target_arch = "sparcv9")), repr(packed))]
- pub struct Span(u32);
- 
- impl Copy for Span {}



Home | Main Index | Thread Index | Old Index