From f6910e5a1e4e788f967647d2bb5007d20802a1a5 Mon Sep 17 00:00:00 2001 From: he <he@pkgsrc.org> Date: Mon, 11 Nov 2019 09:09:11 +0000 Subject: [PATCH] Update rust to version 1.39.0. Pkgsrc changes: * Remove patch which no longer applies (but what about RPATH?) * Adapt a few patches to changed files upstream. Upstream changes: Version 1.39.0 (2019-11-07) =========================== Language -------- - [You can now create `async` functions and blocks with `async fn`, `async move {}`, and `async {}` respectively, and you can now call `.await` on async expressions.][63209] - [You can now use certain attributes on function, closure, and function pointer parameters.][64010] These attributes include `cfg`, `cfg_attr`, `allow`, `warn`, `deny`, `forbid` as well as inert helper attributes used by procedural macro attributes applied to items. e.g. ```rust fn len( #[cfg(windows)] slice: &[u16], #[cfg(not(windows))] slice: &[u8], ) -> usize { slice.len() } ``` - [You can now take shared references to bind-by-move patterns in the `if` guards of `match` arms.][63118] e.g. ```rust fn main() { let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]); match array { nums // ---- `nums` is bound by move. if nums.iter().sum::<u8>() == 10 // ^------ `.iter()` implicitly takes a reference to `nums`. => { drop(nums); // ----------- Legal as `nums` was bound by move and so we have ownership. } _ => unreachable!(), } } ``` Compiler -------- - [Added tier 3\* support for the `i686-unknown-uefi` target.][64334] - [Added tier 3 support for the `sparc64-unknown-openbsd` target.][63595] - [rustc will now trim code snippets in diagnostics to fit in your terminal.] [63402] **Note** Cargo currently doesn't use this feature. Refer to [cargo#7315][cargo/7315] to track this feature's progress. - [You can now pass `--show-output` argument to test binaries to print the output of successful tests.][62600] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries --------- - [`Vec::new` and `String::new` are now `const` functions.][64028] - [`LinkedList::new` is now a `const` function.][63684] - [`str::len`, `[T]::len` and `str::as_bytes` are now `const` functions.][63770] - [The `abs`, `wrapping_abs`, and `overflowing_abs` numeric functions are now `const`.][63786] Stabilized APIs --------------- - [`Pin::into_inner`] - [`Instant::checked_duration_since`] - [`Instant::saturating_duration_since`] Cargo ----- - [You can now publish git dependencies if supplied with a `version`.] [cargo/7237] - [The `--all` flag has been renamed to `--workspace`.][cargo/7241] Using `--all` is now deprecated. Misc ---- - [You can now pass `-Clinker` to rustdoc to control the linker used for compiling doctests.][63834] Compatibility Notes ------------------- - [Code that was previously accepted by the old borrow checker, but rejected by the NLL borrow checker is now a hard error in Rust 2018.][63565] This was previously a warning, and will also become a hard error in the Rust 2015 edition in the 1.40.0 release. - [`rustdoc` now requires `rustc` to be installed and in the same directory to run tests.][63827] This should improve performance when running a large amount of doctests. - [The `try!` macro will now issue a deprecation warning.][62672] It is recommended to use the `?` operator instead. - [`asinh(-0.0)` now correctly returns `-0.0`.][63698] Previously this returned `0.0`. [62600]: https://github.com/rust-lang/rust/pull/62600/ [62672]: https://github.com/rust-lang/rust/pull/62672/ [63118]: https://github.com/rust-lang/rust/pull/63118/ [63209]: https://github.com/rust-lang/rust/pull/63209/ [63402]: https://github.com/rust-lang/rust/pull/63402/ [63565]: https://github.com/rust-lang/rust/pull/63565/ [63595]: https://github.com/rust-lang/rust/pull/63595/ [63684]: https://github.com/rust-lang/rust/pull/63684/ [63698]: https://github.com/rust-lang/rust/pull/63698/ [63770]: https://github.com/rust-lang/rust/pull/63770/ [63786]: https://github.com/rust-lang/rust/pull/63786/ [63827]: https://github.com/rust-lang/rust/pull/63827/ [63834]: https://github.com/rust-lang/rust/pull/63834/ [63927]: https://github.com/rust-lang/rust/pull/63927/ [63933]: https://github.com/rust-lang/rust/pull/63933/ [63934]: https://github.com/rust-lang/rust/pull/63934/ [63938]: https://github.com/rust-lang/rust/pull/63938/ [63940]: https://github.com/rust-lang/rust/pull/63940/ [63941]: https://github.com/rust-lang/rust/pull/63941/ [63945]: https://github.com/rust-lang/rust/pull/63945/ [64010]: https://github.com/rust-lang/rust/pull/64010/ [64028]: https://github.com/rust-lang/rust/pull/64028/ [64334]: https://github.com/rust-lang/rust/pull/64334/ [cargo/7237]: https://github.com/rust-lang/cargo/pull/7237/ [cargo/7241]: https://github.com/rust-lang/cargo/pull/7241/ [cargo/7315]: https://github.com/rust-lang/cargo/pull/7315/ [`Pin::into_inner`]: https://doc.rust-lang.org/std/pin/struct.Pin.html#method.into_inner [`Instant::checked_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.checked_duration_since [`Instant::saturating_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.saturating_duration_since --- lang/rust/Makefile | 5 ++- lang/rust/distinfo | 33 +++++++++---------- .../patches/patch-src_bootstrap_bin_rustc.rs | 15 --------- .../patches/patch-src_bootstrap_builder.rs | 6 ++-- lang/rust/patches/patch-src_bootstrap_lib.rs | 18 ++-------- .../rust/patches/patch-src_libunwind_build.rs | 12 +++---- 6 files changed, 30 insertions(+), 59 deletions(-) delete mode 100644 lang/rust/patches/patch-src_bootstrap_bin_rustc.rs diff --git a/lang/rust/Makefile b/lang/rust/Makefile index 42f237cfdcd0..84703103d8f3 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.123 2019/11/03 19:04:07 rillig Exp $ +# $NetBSD: Makefile,v 1.124 2019/11/11 09:09:11 he Exp $ -DISTNAME= rustc-1.38.0-src +DISTNAME= rustc-1.39.0-src PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} -PKGREVISION= 1 CATEGORIES= lang MASTER_SITES= http://static.rust-lang.org/dist/ diff --git a/lang/rust/distinfo b/lang/rust/distinfo index 94346893c9bc..275f82e5d5e5 100644 --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.91 2019/10/28 00:42:21 jperkin Exp $ +$NetBSD: distinfo,v 1.92 2019/11/11 09:09:11 he Exp $ SHA1 (rust-1.35.0-armv7-unknown-netbsd-eabihf.tar.gz) = 91517fa95f954427c627cf63eb7c518abd068f3e RMD160 (rust-1.35.0-armv7-unknown-netbsd-eabihf.tar.gz) = 06a3d922b27aac2deb570301542897a131b47cd0 @@ -48,10 +48,10 @@ SHA1 (rust-1.38.0-i686-unknown-netbsd.tar.gz) = 4f822144e65dafe45662caae04a89e8d RMD160 (rust-1.38.0-i686-unknown-netbsd.tar.gz) = c2716a3b917a0e291cd25d1c12910f30ee4b9878 SHA512 (rust-1.38.0-i686-unknown-netbsd.tar.gz) = 8ccf290c34040c058f549fdd953e6e11568ca8e02585934ed896837b8be5ee241d56aa368ab3770cc74ce2e192a81918b478b07420443ed92c422c4327374212 Size (rust-1.38.0-i686-unknown-netbsd.tar.gz) = 341906414 bytes -SHA1 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = 2907c2601150ffdda2dda5e7dbc98778e1f80045 -RMD160 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = b2679e49e7271a5b32e0fc472fee42808fdc6af2 -SHA512 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = 24d901cb6094350535dac8f956989e9e80361286cf966a5b4cccc343c069255ecba9bb1bc151e3a7ca80795f056bcfe968604d0e21d6d820bfd085fc1fdf86aa -Size (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = 297828691 bytes +SHA1 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = 8dace3276e8be1ce9b0069170948e792e3f478f5 +RMD160 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = e6614e4d4f22a4052e25eb91d68049509fb39098 +SHA512 (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = bd38a40356b85b2d1acc668f5cc6bfc4f9aedeeceda74de5244827af0d5ea87a9a40240299fe0c8344682f62e8b179ca2cf4adfc8527280c6a51e919e06110cc +Size (rust-1.38.0-x86_64-unknown-netbsd.tar.gz) = 332473263 bytes SHA1 (rust-std-1.35.0-armv7-unknown-netbsd-eabihf.tar.gz) = b8a8913c95d9d7f8894cc5fbae7000d5cd5a8ca9 RMD160 (rust-std-1.35.0-armv7-unknown-netbsd-eabihf.tar.gz) = 34753f2c4efe6bbec7044a1d417ef9f4586b50a0 SHA512 (rust-std-1.35.0-armv7-unknown-netbsd-eabihf.tar.gz) = ea834d454c8d23101d654de3611f07782a676a08f581c501152da13c617be1b08d09a3b1c0b4af34ea79d11b5c15b5a1ece7da8395f4def950b2add245e38f2e @@ -96,18 +96,17 @@ SHA1 (rust-std-1.38.0-i686-unknown-netbsd.tar.gz) = 18a660129b5dc412f213b7c5d9bf RMD160 (rust-std-1.38.0-i686-unknown-netbsd.tar.gz) = a43ebc439004d0d8a3e5c149a95025e088427821 SHA512 (rust-std-1.38.0-i686-unknown-netbsd.tar.gz) = cc0f250c021292405ea1043abbac8fc310c630d2c554fb58b4ebe7ca7b23fcf5c9d6553341282b661b15eb16958a3ccd0d7693707c4acb288cfa8f9fa08f1caa Size (rust-std-1.38.0-i686-unknown-netbsd.tar.gz) = 204889878 bytes -SHA1 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = e821ae575d1f1e8b6c44af0bd0b59d814797029c -RMD160 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = a9877f182d72729891a7ba918ab551ce79d5f9f8 -SHA512 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = 7e0e031c1e2a5864f8f4185171ae44cba28c1f51a22ed7b9a724bc3478c6bc6defffdacab10fd970947a2899716de86c7dc5b64fa434254ea7e6c4f38e271b12 -Size (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = 217882197 bytes -SHA1 (rustc-1.38.0-src.tar.gz) = 6ad0f778882c73a689c88e1ecdaab8e7b9ceb27b -RMD160 (rustc-1.38.0-src.tar.gz) = 95edfbd142e87fd72f4b5b3aacdcfb42df4bca9a -SHA512 (rustc-1.38.0-src.tar.gz) = eef16fcbd234ffe76158dd971fcc10ca129816c47f84ff2f2fe424c42509c8661ab45458f968cd88bb8eb6bab028d5d86920a4dee1f673f48270e1f446ffa882 -Size (rustc-1.38.0-src.tar.gz) = 152008577 bytes -SHA1 (patch-src_bootstrap_bin_rustc.rs) = 5e6b0cb25401db4fef6e74f73764e69f3c09569c +SHA1 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = 4316f27d90bf12d7dcc3e92dbdd7f5d8125c986e +RMD160 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = 6f20cdb3cb542485c94b1924e06c294c63ac63f3 +SHA512 (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = abaab363a2995148493681f17306d6309cbe4c7d359b9ad1c961aa7e93692e60277ab0a98101d9da11fde1eb6097b42af074950c4359278f68247bb70bb3f11e +Size (rust-std-1.38.0-x86_64-unknown-netbsd.tar.gz) = 204274822 bytes +SHA1 (rustc-1.39.0-src.tar.gz) = 82ef6f3b88b8d5e3bfa2fab67bbacf5d6f6ba6bb +RMD160 (rustc-1.39.0-src.tar.gz) = d5b04b87fc336e3be7d592f70de0363aa66622aa +SHA512 (rustc-1.39.0-src.tar.gz) = 77be74410b9f7a2e9f78f7a9860964e122ab9518553acc2cc80d5abeecf3302e9b3ed1fd29e022cccff1f9ff4a568b4015c0d3ac0a524f06e38e9cb360a3341e +Size (rustc-1.39.0-src.tar.gz) = 152803201 bytes SHA1 (patch-src_bootstrap_bootstrap.py) = 5b886b95857bf019c2e37cb380e6905cb444b756 -SHA1 (patch-src_bootstrap_builder.rs) = 7e23348dc5555fdb3833a7f8734cfe687c6e533c -SHA1 (patch-src_bootstrap_lib.rs) = e585b99ea2eb587d5eeb11739b77cde9bf5ad085 +SHA1 (patch-src_bootstrap_builder.rs) = f90a19cef1a53c4e7e24ab2ff441a618057efc8c +SHA1 (patch-src_bootstrap_lib.rs) = 59fc8949d98692550daba6f3e8119f71eed13fb2 SHA1 (patch-src_build__helper_lib.rs) = ef0b522e303f0490b86e64f40733c2ecb498da5b SHA1 (patch-src_librustc__codegen__ssa_back_linker.rs) = e7c592f78b9ee317521cf0258686173a31f1d2e0 SHA1 (patch-src_librustc__llvm_build.rs) = 7cc2aa0568aa2cbf4eb1fdbb00922b10df0b3ff6 @@ -115,7 +114,7 @@ SHA1 (patch-src_librustc__target_spec_solaris__base.rs) = 21db8af802edecb5e35ce7 SHA1 (patch-src_librustc__target_spec_x86__64__sun__solaris.rs) = f6ad33b41906bbf83a1cbd0e2fe13a4da37266fa SHA1 (patch-src_libstd_build.rs) = 9cfa91a11a575d5fef6d3e208864745a24770850 SHA1 (patch-src_libstd_sys_unix_thread.rs) = 2554f1a42afaa0ddce5053860f4dabecdf6c527a -SHA1 (patch-src_libunwind_build.rs) = c0a0aa9749705be07afe8eaaa0c7d70affa46566 +SHA1 (patch-src_libunwind_build.rs) = 33fe6fd2027cb7070424e9a30c05438586b5c6b7 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = c5e74d0e8deb555881ec94920a637b53b744c866 SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = 7588a46aaa277ef04b33ac6d904b9d1d81579f2a diff --git a/lang/rust/patches/patch-src_bootstrap_bin_rustc.rs b/lang/rust/patches/patch-src_bootstrap_bin_rustc.rs deleted file mode 100644 index e093cefc8386..000000000000 --- a/lang/rust/patches/patch-src_bootstrap_bin_rustc.rs +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-src_bootstrap_bin_rustc.rs,v 1.5 2019/01/19 12:44:08 ryoon Exp $ - -* Set RPATH for pkgsrc wrapper - ---- src/bootstrap/bin/rustc.rs.orig 2019-01-16 09:30:27.000000000 +0000 -+++ src/bootstrap/bin/rustc.rs -@@ -237,7 +237,7 @@ fn main() { - } else if !target.contains("windows") && - !target.contains("wasm32") && - !target.contains("fuchsia") { -- Some("-Wl,-rpath,$ORIGIN/../lib") -+ Some("-Wl,-rpath,@PREFIX@/lib") - } else { - None - }; diff --git a/lang/rust/patches/patch-src_bootstrap_builder.rs b/lang/rust/patches/patch-src_bootstrap_builder.rs index 7df9f30fd6a0..a0a8a386178b 100644 --- a/lang/rust/patches/patch-src_bootstrap_builder.rs +++ b/lang/rust/patches/patch-src_bootstrap_builder.rs @@ -1,10 +1,10 @@ -$NetBSD: patch-src_bootstrap_builder.rs,v 1.2 2019/03/03 09:16:21 he Exp $ +$NetBSD: patch-src_bootstrap_builder.rs,v 1.3 2019/11/11 09:09:11 he Exp $ Do not install 'src'. ---- src/bootstrap/builder.rs.orig 2018-11-25 15:56:35.000000000 +0000 +--- src/bootstrap/builder.rs.orig 2019-09-23 21:15:52.000000000 +0000 +++ src/bootstrap/builder.rs -@@ -464,7 +464,6 @@ impl<'a> Builder<'a> { +@@ -468,7 +468,6 @@ impl<'a> Builder<'a> { install::Clippy, install::Miri, install::Analysis, diff --git a/lang/rust/patches/patch-src_bootstrap_lib.rs b/lang/rust/patches/patch-src_bootstrap_lib.rs index 7b8f8bb2d0fc..34b2ce7d7129 100644 --- a/lang/rust/patches/patch-src_bootstrap_lib.rs +++ b/lang/rust/patches/patch-src_bootstrap_lib.rs @@ -1,23 +1,11 @@ -$NetBSD: patch-src_bootstrap_lib.rs,v 1.5 2019/10/27 18:34:27 he Exp $ +$NetBSD: patch-src_bootstrap_lib.rs,v 1.6 2019/11/11 09:09:11 he Exp $ Don't filter out optimization flags. FreeBSD has a particular C++ runtime library name -Also, don't make warnings fatal -- 1.38.0 warns about a construct -when building 1.38.0, ref. - https://github.com/rust-lang/rust/issues/65722 --- src/bootstrap/lib.rs.orig 2019-01-16 09:30:27.000000000 +0000 +++ src/bootstrap/lib.rs -@@ -104,7 +104,7 @@ - //! also check out the `src/bootstrap/README.md` file for more information. - - // NO-RUSTC-WRAPPER --#![deny(warnings, rust_2018_idioms, unused_lifetimes)] -+#![deny(rust_2018_idioms, unused_lifetimes)] - - #![feature(core_intrinsics)] - #![feature(drain_filter)] -@@ -768,7 +768,6 @@ impl Build { +@@ -757,7 +757,6 @@ impl Build { // cc-rs because the build scripts will determine that for themselves. let mut base = self.cc[&target].args().iter() .map(|s| s.to_string_lossy().into_owned()) @@ -25,7 +13,7 @@ when building 1.38.0, ref. .collect::<Vec<String>>(); // If we're compiling on macOS then we add a few unconditional flags -@@ -779,6 +778,11 @@ impl Build { +@@ -768,6 +767,11 @@ impl Build { base.push("-stdlib=libc++".into()); } diff --git a/lang/rust/patches/patch-src_libunwind_build.rs b/lang/rust/patches/patch-src_libunwind_build.rs index 8e71bf2f675b..49222d7237b5 100644 --- a/lang/rust/patches/patch-src_libunwind_build.rs +++ b/lang/rust/patches/patch-src_libunwind_build.rs @@ -1,17 +1,17 @@ -$NetBSD: patch-src_libunwind_build.rs,v 1.2 2019/03/07 20:19:11 jperkin Exp $ +$NetBSD: patch-src_libunwind_build.rs,v 1.3 2019/11/11 09:09:11 he Exp $ fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this. --- src/libunwind/build.rs.orig 2018-12-18 23:11:17.000000000 +0000 +++ src/libunwind/build.rs -@@ -25,7 +25,9 @@ fn main() { +@@ -21,7 +21,9 @@ fn main() { } else if target.contains("rumprun") { println!("cargo:rustc-link-lib=unwind"); } else if target.contains("netbsd") { - println!("cargo:rustc-link-lib=gcc_s"); -+ if !env::var_os("PKGSRC_HAVE_LIBCPP").is_some() { ++ if !env::var_os("PKGSRC_HAVE_LIBCPP").is_some() { + println!("cargo:rustc-link-lib=gcc_s"); -+ } ++ } } else if target.contains("openbsd") { - println!("cargo:rustc-link-lib=c++abi"); - } else if target.contains("solaris") { + if target.contains("sparc64") { + println!("cargo:rustc-link-lib=gcc");