summaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2021-04-19 17:08:09 +0000
committerhe <he@pkgsrc.org>2021-04-19 17:08:09 +0000
commitdfcd605ff206e259e13543ec0aefddb5dad229ca (patch)
tree2bff0bf4e8d42cc9c61a5c6bdf6065ec8ce7a0ac /lang/rust
parent00844b8fd8596c19f28fdbd070603e0a01c9bfc7 (diff)
downloadpkgsrc-dfcd605ff206e259e13543ec0aefddb5dad229ca.tar.gz
Update lang/rust to version 1.50.0.
Pkgsrc changes: * Adjust patches, re-compute line offsets, fix capitalization. * Remove i686/FreeBSD support, no longer provided upstream. * Bump bootstraps to 1.49.0. * Change USE_TOOLS from bsdtar to gtar. * Reduce diffs to pkgsrc-wip package patches. * Allow rust.BUILD_TARGET to override automatic choice of target. * Add an i586/NetBSD (pentium) bootstrap variant (needs testing), not yet added as bootstrap since 1.49 doesn't have that variant. Upstream changes: Version 1.50.0 (2021-02-11) ============================ Language ----------------------- - [You can now use `const` values for `x` in `[x; N]` array expressions.][79270] This has been technically possible since 1.38.0, as it was unintentionally stabilized. - [Assignments to `ManuallyDrop<T>` union fields are now considered safe.][78068] Compiler ----------------------- - [Added tier 3\* support for the `armv5te-unknown-linux-uclibceabi` target.][78142] - [Added tier 3 support for the `aarch64-apple-ios-macabi` target.][77484] - [The `x86_64-unknown-freebsd` is now built with the full toolset.][79484] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries ----------------------- - [`proc_macro::Punct` now implements `PartialEq<char>`.][78636] - [`ops::{Index, IndexMut}` are now implemented for fixed sized arrays of any length.][74989] - [On Unix platforms, the `std::fs::File` type now has a "niche" of `-1`.][74699] This value cannot be a valid file descriptor, and now means `Option<File>` takes up the same amount of space as `File`. Stabilized APIs --------------- - [`bool::then`] - [`btree_map::Entry::or_insert_with_key`] - [`f32::clamp`] - [`f64::clamp`] - [`hash_map::Entry::or_insert_with_key`] - [`Ord::clamp`] - [`RefCell::take`] - [`slice::fill`] - [`UnsafeCell::get_mut`] The following previously stable methods are now `const`. - [`IpAddr::is_ipv4`] - [`IpAddr::is_ipv6`] - [`Layout::size`] - [`Layout::align`] - [`Layout::from_size_align`] - `pow` for all integer types. - `checked_pow` for all integer types. - `saturating_pow` for all integer types. - `wrapping_pow` for all integer types. - `next_power_of_two` for all unsigned integer types. - `checked_power_of_two` for all unsigned integer types. Cargo ----------------------- - [Added the `[build.rustc-workspace-wrapper]` option.][cargo/8976] This option sets a wrapper to execute instead of `rustc`, for workspace members only. - [`cargo:rerun-if-changed` will now, if provided a directory, scan the entire contents of that directory for changes.][cargo/8973] - [Added the `--workspace` flag to the `cargo update` command.][cargo/8725] Misc ---- - [The search results tab and the help button are focusable with keyboard in rustdoc.][79896] - [Running tests will now print the total time taken to execute.][75752] Compatibility Notes ------------------- - [The `compare_and_swap` method on atomics has been deprecated.][79261] It's recommended to use the `compare_exchange` and `compare_exchange_weak` methods instead. - [Changes in how `TokenStream`s are checked have fixed some cases where you could write unhygenic `macro_rules!` macros.][79472] - [`#![test]` as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the `soft_unstable` lint.][79003] - [Overriding a `forbid` lint at the same level that it was set is now a hard error.][78864] - [Dropped support for all cloudabi targets.][78439] - [You can no longer intercept `panic!` calls by supplying your own macro.][78343] It's recommended to use the `#[panic_handler]` attribute to provide your own implementation. - [Semi-colons after item statements (e.g. `struct Foo {};`) now produce a warning.][78296] [74989]: https://github.com/rust-lang/rust/pull/74989 [79261]: https://github.com/rust-lang/rust/pull/79261 [79896]: https://github.com/rust-lang/rust/pull/79896 [79484]: https://github.com/rust-lang/rust/pull/79484 [79472]: https://github.com/rust-lang/rust/pull/79472 [79270]: https://github.com/rust-lang/rust/pull/79270 [79003]: https://github.com/rust-lang/rust/pull/79003 [78864]: https://github.com/rust-lang/rust/pull/78864 [78636]: https://github.com/rust-lang/rust/pull/78636 [78439]: https://github.com/rust-lang/rust/pull/78439 [78343]: https://github.com/rust-lang/rust/pull/78343 [78296]: https://github.com/rust-lang/rust/pull/78296 [78068]: https://github.com/rust-lang/rust/pull/78068 [75752]: https://github.com/rust-lang/rust/pull/75752 [74699]: https://github.com/rust-lang/rust/pull/74699 [78142]: https://github.com/rust-lang/rust/pull/78142 [77484]: https://github.com/rust-lang/rust/pull/77484 [cargo/8976]: https://github.com/rust-lang/cargo/pull/8976 [cargo/8973]: https://github.com/rust-lang/cargo/pull/8973 [cargo/8725]: https://github.com/rust-lang/cargo/pull/8725 [`IpAddr::is_ipv4`]: https://doc.rust-lang.org/stable/std/net/enum.IpAddr.html#method.is_ipv4 [`IpAddr::is_ipv6`]: https://doc.rust-lang.org/stable/std/net/enum.IpAddr.html#method.is_ipv6 [`Layout::align`]: https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align [`Layout::from_size_align`]: https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.from_size_align [`Layout::size`]: https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.size [`Ord::clamp`]: https://doc.rust-lang.org/stable/std/cmp/trait.Ord.html#method.clamp [`RefCell::take`]: https://doc.rust-lang.org/stable/std/cell/struct.RefCell.html#method.take [`UnsafeCell::get_mut`]: https://doc.rust-lang.org/stable/std/cell/struct.UnsafeCell.html#method.get_mut [`bool::then`]: https://doc.rust-lang.org/stable/std/primitive.bool.html#method.then [`btree_map::Entry::or_insert_with_key`]: https://doc.rust-lang.org/stable/std/collections/btree_map/enum.Entry.html#method.or_insert_with_key [`f32::clamp`]: https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp [`f64::clamp`]: https://doc.rust-lang.org/stable/std/primitive.f64.html#method.clamp [`hash_map::Entry::or_insert_with_key`]: https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.or_insert_with_key [`slice::fill`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.fill
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile41
-rw-r--r--lang/rust/buildlink3.mk6
-rw-r--r--lang/rust/cross.mk16
-rw-r--r--lang/rust/distinfo147
-rw-r--r--lang/rust/patches/patch-compiler_rustc__llvm_build.rs8
-rw-r--r--lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs26
-rw-r--r--lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs14
-rw-r--r--lang/rust/patches/patch-library_std_src_sys_unix_mod.rs14
-rw-r--r--lang/rust/patches/patch-library_std_src_sys_unix_thread.rs8
-rw-r--r--lang/rust/patches/patch-library_unwind_build.rs12
-rw-r--r--lang/rust/patches/patch-src_bootstrap_bootstrap.py12
-rw-r--r--lang/rust/patches/patch-src_bootstrap_builder.rs8
-rw-r--r--lang/rust/patches/patch-src_bootstrap_compile.rs6
-rw-r--r--lang/rust/patches/patch-src_bootstrap_lib.rs8
-rw-r--r--lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt6
-rw-r--r--lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake3
-rw-r--r--lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h6
-rw-r--r--lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp6
-rw-r--r--lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs6
-rw-r--r--lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs10
-rw-r--r--lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs8
-rw-r--r--lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs10
-rw-r--r--lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs6
-rw-r--r--lang/rust/patches/patch-vendor_lzma-sys_config.h5
-rw-r--r--lang/rust/patches/patch-vendor_openssl-src_src_lib.rs12
-rw-r--r--lang/rust/patches/patch-vendor_stacker_src_lib.rs6
-rw-r--r--lang/rust/platform.mk38
27 files changed, 243 insertions, 205 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 0a83db5afcd..3e7402194d7 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.229 2021/04/16 01:14:37 gutteridge Exp $
+# $NetBSD: Makefile,v 1.230 2021/04/19 17:08:09 he Exp $
-DISTNAME= rustc-1.49.0-src
+DISTNAME= rustc-1.50.0-src
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
-PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/
@@ -49,11 +48,15 @@ CONFIGURE_ARGS+= --disable-ninja
# Include (optional) settings to cross-build rust
.include "cross.mk"
+.if !empty(rust.BUILD_TARGET)
+BUILD_TARGET= ${rust.BUILD_TARGET)
+.endif
+
.if !empty(TARGET)
# Use "dist" build target for cross compile of bootstrap
-BUILD_TARGET= dist
+BUILD_TARGET?= dist
.else
-BUILD_TARGET= build
+BUILD_TARGET?= build
.endif
# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
@@ -157,7 +160,7 @@ BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags
DISTFILES:= ${DEFAULT_DISTFILES}
.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH:= x86_64-apple-darwin
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -165,7 +168,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH:= i686-unknown-linux-gnu
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -173,7 +176,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH:= x86_64-unknown-linux-gnu
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -186,7 +189,7 @@ pre-build-fix:
# x86_64-sun-solaris bootstrap and comment out the overrides.
#
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH:= x86_64-unknown-illumos
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
@@ -199,16 +202,8 @@ CONFIGURE_ARGS+= --host=${RUST_ARCH}
CONFIGURE_ARGS+= --target=${RUST_ARCH}
pre-build-fix:
.endif
-.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
-RUST_ARCH:= i686-unknown-freebsd
-RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-pre-build-fix:
-.endif
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH:= x86_64-unknown-freebsd
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -233,7 +228,7 @@ pre-build-fix:
${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.48.0
+RUST_STAGE0_VER= 1.49.0
RUST_ARCH= x86_64-unknown-netbsd
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -343,7 +338,7 @@ CKSUMS+= 9e146a847e1f726fa7d7eae224aaa925030287f99770f950a012cb398e088d12
CKSUM_CRATES+= vendor/openssl-src
CKSUMS+= 03dcdaac7de880b860ecfe859ba2ac3e46c8f46a7bf948aa674147eebee421b0
-CKSUMS+= 41ab6811d4ffde68f245e5097081ba8052a07a4b86df69a356ba11205e7e2210
+CKSUMS+= 90456c77ade1702fbf116d9cdc57c0c8dba5f059f591d3dffc9b54c7a7088be8
SUBST_CLASSES+= cksum
SUBST_STAGE.cksum= pre-configure
@@ -370,11 +365,13 @@ post-extract:
${RM} -f c++-wrap; \
${RM} -f clang++-wrap; \
${RM} -f clang-wrap; \
+ ${RM} -f ar-wrap; \
${CP} ${.CURDIR}/files/gcc-wrap .; \
${CHMOD} +x gcc-wrap; \
${LN} -s gcc-wrap c++-wrap; \
${LN} -s gcc-wrap clang++-wrap; \
- ${LN} -s gcc-wrap clang-wrap
+ ${LN} -s gcc-wrap clang-wrap; \
+ ${LN} -s gcc-wrap ar-wrap
.endif
.if ${OPSYS} == "FreeBSD"
@@ -444,7 +441,7 @@ GENERATE_PLIST+= ${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
#BOOTSTRAP_NAME= ${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH}
BOOTSTRAP_NAME= ${PKGNAME_NOREV}-${RUST_ARCH}
BOOTSTRAP_TMPDIR= ${WRKDIR}/${BOOTSTRAP_NAME}
-USE_TOOLS+= bsdtar
+USE_TOOLS+= gtar
# The NetBSD part is so far untested, because I could not convince
# the rust build to use the gcc wrapper when building natively,
diff --git a/lang/rust/buildlink3.mk b/lang/rust/buildlink3.mk
index 92ccd069337..0e97a2db0f5 100644
--- a/lang/rust/buildlink3.mk
+++ b/lang/rust/buildlink3.mk
@@ -1,11 +1,11 @@
-# $NetBSD: buildlink3.mk,v 1.7 2020/11/13 20:35:58 he Exp $
-
-BUILDLINK_TREE+= rust
+# $NetBSD: buildlink3.mk,v 1.8 2021/04/19 17:08:09 he Exp $
#
# DO NOT include this directly! Use rust.mk instead.
#
+BUILDLINK_TREE+= rust
+
.if !defined(RUST_BUILDLINK3_MK)
RUST_BUILDLINK3_MK:=
diff --git a/lang/rust/cross.mk b/lang/rust/cross.mk
index 3ae16dfd9a8..ba4acf8a537 100644
--- a/lang/rust/cross.mk
+++ b/lang/rust/cross.mk
@@ -1,4 +1,4 @@
-# $NetBSD: cross.mk,v 1.3 2020/07/16 09:35:37 jperkin Exp $
+# $NetBSD: cross.mk,v 1.4 2021/04/19 17:08:09 he Exp $
# These settings may be used to cross-build rust.
#
@@ -18,6 +18,7 @@
#CROSS_ROOT= /u/9.0-macppc
#CROSS_ROOT= /u/evbarm64
#CROSS_ROOT= /u/i386
+#CROSS_ROOT= /
#MAKE_ENV+= CROSS_ROOT=${CROSS_ROOT}
# The GNU cross target designation
@@ -37,6 +38,7 @@
#TARGET= powerpc-unknown-netbsd
#TARGET= aarch64-unknown-netbsd
#TARGET= i686-unknown-netbsd
+#TARGET= i586-unknown-netbsd
#
#SCRIPTS= ${WRKDIR}/scripts
#CONFIGURE_ARGS+= --host=${TARGET}
@@ -44,7 +46,9 @@
#CONFIGURE_ARGS+= --set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
#CONFIGURE_ARGS+= --set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
#CONFIGURE_ARGS+= --set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
+# Pick one:
#CONFIGURE_ARGS+= --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
+#CONFIGURE_ARGS+= --set=target.${TARGET}.ar=${SCRIPTS}/ar-wrap
# May be required when cross-building on NetBSD
#MAKE_ENV+= OPENSSL_DIR=/usr
@@ -53,15 +57,15 @@
# Cross-compile illumos target. The host is identical, it's just the target
# that is renamed from x86_64-sun-solaris to x86_64-unknown-illumos.
#
-#TARGET= x86_64-unknown-illumos
+#TARGET= x86_64-unknown-illumos
#
# Use these variables for "cross-compiling" from x86_64-sun-solaris.
#
-#CONFIGURE_ARGS+= --set=target.${TARGET}.llvm-config=${LLVM_CONFIG_PATH}
-#CONFIGURE_ARGS+= --host=${TARGET}
-#CONFIGURE_ARGS+= --target=${TARGET}
+#CONFIGURE_ARGS+= --set=target.${TARGET}.llvm-config=${LLVM_CONFIG_PATH}
+#CONFIGURE_ARGS+= --host=${TARGET}
+#CONFIGURE_ARGS+= --target=${TARGET}
#
# Set this variable when using a native x86_64-unknown-illumos bootstrap, as
# the build still defaults to x86_64-sun-solaris based on uname.
#
-#CONFIGURE_ARGS+= --build=${TARGET}
+#CONFIGURE_ARGS+= --build=${TARGET}
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 945fcaa2d4d..bb6a0c3aa99 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,33 +1,5 @@
-$NetBSD: distinfo,v 1.128 2021/04/04 08:40:44 he Exp $
+$NetBSD: distinfo,v 1.129 2021/04/19 17:08:09 he Exp $
-SHA1 (rust-1.48.0-i686-unknown-freebsd.tar.gz) = a5c6f5d2c820a936c8a38c24b25df4b4fa23423c
-RMD160 (rust-1.48.0-i686-unknown-freebsd.tar.gz) = 98dc484371f80b02a3f9fb60a3cd9467c4465df0
-SHA512 (rust-1.48.0-i686-unknown-freebsd.tar.gz) = 17affc369bb539656515fe8c55a9803dc50e06158f744111515382fbf7e7570502d909203e77cde8e986c8ea6011fd505af999884fb62423b630a48f48e0e137
-Size (rust-1.48.0-i686-unknown-freebsd.tar.gz) = 169305599 bytes
-SHA1 (rust-1.48.0-i686-unknown-linux-gnu.tar.gz) = cb4e5168c67dec2b76f02b1e8353bd5105b4ef0c
-RMD160 (rust-1.48.0-i686-unknown-linux-gnu.tar.gz) = b326b227dc3a8713567a54d75648fbc65345e32e
-SHA512 (rust-1.48.0-i686-unknown-linux-gnu.tar.gz) = af4335e5e50c93711bb304bb65b777dee9affccd27eda1a774ab3bfab8ddb9027bcc9942d8fcedc975eaa0d38b3e46aff67632d1d5eab568825c5aa0c0340ec8
-Size (rust-1.48.0-i686-unknown-linux-gnu.tar.gz) = 267825837 bytes
-SHA1 (rust-1.48.0-x86_64-apple-darwin.tar.gz) = 3197701068ee2d2b40d8c2600f0b71db8a99877e
-RMD160 (rust-1.48.0-x86_64-apple-darwin.tar.gz) = b88c6c0635fe7154e77baa70e2b88ecb9b7c0845
-SHA512 (rust-1.48.0-x86_64-apple-darwin.tar.gz) = a28bf31fc6a184e02bf5ef424d102353478facc8b0150461930214f227a2695d92f148697d3051bd1a607c3b48a27191edde530a50bd13635a33446d59a1f1a8
-Size (rust-1.48.0-x86_64-apple-darwin.tar.gz) = 213477157 bytes
-SHA1 (rust-1.48.0-x86_64-unknown-freebsd.tar.gz) = e1056a7c9d228189f5ed5540a41c48947cc153d3
-RMD160 (rust-1.48.0-x86_64-unknown-freebsd.tar.gz) = e817ec2767fd1c04476cba0c7b6850c35664f788
-SHA512 (rust-1.48.0-x86_64-unknown-freebsd.tar.gz) = ff89fc630c5641d8d8c0866dc9fe7f3b69a90f88d6e84f00e802dbd64e6088046d8e8db4eab525a224d24ea191267214002caddaa7319c6e017093c51f4e69ed
-Size (rust-1.48.0-x86_64-unknown-freebsd.tar.gz) = 170506290 bytes
-SHA1 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 23afcbc003c01940277978553b4afd75ec5d333d
-RMD160 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 6510186be6f216e47cb1971500dbf1fd27f96e09
-SHA512 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = e0153c7c400eea2f3b59c9f63c0ee0dbaf3f8ccf645c1ad4c66f90727d41894dcb49ddacf622fc8572ab45734472e59970de64939bec0f6d6f94f5797ce05fb4
-Size (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 189960423 bytes
-SHA1 (rust-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = f0615a346a5db786a05b3e9ea45ef3ce5c86e5fb
-RMD160 (rust-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = d54c946315ef1a736b91227db99d8ddebf65dd94
-SHA512 (rust-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = d9c11d0ddc968b7733f010159ac2a83aa62fac772f0f993e27e8d1876d69dab7bdfeac9e4ee0ab673b857cc7881fb16f924f4bc1954662590d17939acd1bc704
-Size (rust-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = 266268898 bytes
-SHA1 (rust-1.48.0-x86_64-unknown-netbsd.tar.gz) = a08036afb80f017b195138eab7b3677122951c1d
-RMD160 (rust-1.48.0-x86_64-unknown-netbsd.tar.gz) = 9e61fa3043f0360cd1a027cff5b5ac6bb76afad9
-SHA512 (rust-1.48.0-x86_64-unknown-netbsd.tar.gz) = 411a878d2fe5dc5317ea128382c7879743aeba56ce04017fe20629a1cb681606fe828bafff28339b188998aaf6d46734d856dd84e57e7cd03293486edd21ce6d
-Size (rust-1.48.0-x86_64-unknown-netbsd.tar.gz) = 173093248 bytes
SHA1 (rust-1.49.0-aarch64-unknown-netbsd.tar.gz) = 97804c99b787a54bf16c0c13665eb74cab6c7bba
RMD160 (rust-1.49.0-aarch64-unknown-netbsd.tar.gz) = 5940c473d0655dc50efc10d2a7dc4bb7c0b85590
SHA512 (rust-1.49.0-aarch64-unknown-netbsd.tar.gz) = f8d430fcc2d3b83e37d01c49932395eb3e3882e7e593238fdbab363f98418bd50b478054197760c1fd549cd7df87b34325678f26bee6e9b7ff21d159551af7af
@@ -36,6 +8,10 @@ SHA1 (rust-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = c6ff63c7e8f4c1c23eaf6e70
RMD160 (rust-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 2177ba63fd60de56fe804b86fc48f7e853fe390c
SHA512 (rust-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 956209fbbc7555a83a2ab4bdc191f5d12f3dbe3b978794be819269e98af054231f57ec2c754944a42d957057c52566f6a40e1aae119b1badb8a3d2237f461a43
Size (rust-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 241080722 bytes
+SHA1 (rust-1.49.0-i686-unknown-linux-gnu.tar.gz) = de8d345b47dcacff306b39bd594d4bbd2fc0fb24
+RMD160 (rust-1.49.0-i686-unknown-linux-gnu.tar.gz) = 0cb4b449e91d645f13d45281f3c60642d6a2f9c8
+SHA512 (rust-1.49.0-i686-unknown-linux-gnu.tar.gz) = 12b42537b4b0b02bf97634c8c4e14465b6039638b40d086e1b42c9df64909a0051b0f67aec477349168943cdf37739de44309ee91f6535958c22c165adbf987a
+Size (rust-1.49.0-i686-unknown-linux-gnu.tar.gz) = 327377966 bytes
SHA1 (rust-1.49.0-i686-unknown-netbsd.tar.gz) = 4f8a5261751fd43495b0e0ef19d8cef448a9004e
RMD160 (rust-1.49.0-i686-unknown-netbsd.tar.gz) = 9515ae688b8ca3ae878470f5cec23370473ab51e
SHA512 (rust-1.49.0-i686-unknown-netbsd.tar.gz) = 334570b5a9a88490f3151db36a5821709602f527cab0a0839ccf5c2b5a1bcdd096d65a4d165d88d350589fc7d61330bd613c114d8896685bb727780d6ea7b0b9
@@ -52,30 +28,26 @@ SHA1 (rust-1.49.0-sparc64-unknown-netbsd.tar.gz) = 1ff0966777105cd733e67dc227d96
RMD160 (rust-1.49.0-sparc64-unknown-netbsd.tar.gz) = 70fd99278ff73ce4a30a5c43890ac2406b18f294
SHA512 (rust-1.49.0-sparc64-unknown-netbsd.tar.gz) = b28eabfbbcd7e7e895a102f66a7d87fd0daf88049c7f1ef69247d0288b11482d22d6c9ac09ac89b113ce372550e066fb9350db349a0cf31363848bd5289ac3b9
Size (rust-1.49.0-sparc64-unknown-netbsd.tar.gz) = 275214266 bytes
-SHA1 (rust-std-1.48.0-i686-unknown-freebsd.tar.gz) = 6d33cf01cc1f5e69a42fa34f2d81ac4bc5577206
-RMD160 (rust-std-1.48.0-i686-unknown-freebsd.tar.gz) = 14dcd57168d55d9f5c77b4268ee79d5256be06ec
-SHA512 (rust-std-1.48.0-i686-unknown-freebsd.tar.gz) = 0a494e086b43f22f23d6347fae334b0c4214ff8dbba7e2f9bccb36ed97d73395b97a749303f898300e66e6e252f7cab6be47d5f45c79ee2bfcea118a5ab4d3a7
-Size (rust-std-1.48.0-i686-unknown-freebsd.tar.gz) = 33669962 bytes
-SHA1 (rust-std-1.48.0-i686-unknown-linux-gnu.tar.gz) = 61177ee70ea27ac4ee7f4b6a8adaeeb7a94ab336
-RMD160 (rust-std-1.48.0-i686-unknown-linux-gnu.tar.gz) = ebe3f73b95b7aa2875181ec621416c9395c3222d
-SHA512 (rust-std-1.48.0-i686-unknown-linux-gnu.tar.gz) = 9c886eccc52452045a542f2d44020ea35a4caa9c1605002b12b6a30d801f3e72ba6f6eb5f34309eff600b4ad7251e1a386df11414d2d2f4265ef6da2fa1afe3e
-Size (rust-std-1.48.0-i686-unknown-linux-gnu.tar.gz) = 34286860 bytes
-SHA1 (rust-std-1.48.0-x86_64-apple-darwin.tar.gz) = f2e0bd1171fcebb01613b2a648ab5101b475dfd5
-RMD160 (rust-std-1.48.0-x86_64-apple-darwin.tar.gz) = 496b22e26c721f198a8ab038a8d8252edb55c7d8
-SHA512 (rust-std-1.48.0-x86_64-apple-darwin.tar.gz) = 8d32a321de4ca19f73d83cfa36d2fdb0e208746df3ef8514ade3e23c39531703423d539309d803a7c3727b22154f7910e280ad5c011a79a1beb670dbdeb5229b
-Size (rust-std-1.48.0-x86_64-apple-darwin.tar.gz) = 34034084 bytes
-SHA1 (rust-std-1.48.0-x86_64-unknown-freebsd.tar.gz) = 19266af438bfe78e4e9d829b7f81b56c34c403de
-RMD160 (rust-std-1.48.0-x86_64-unknown-freebsd.tar.gz) = c61b789c1b49d795c400e0339d448b0629142e1f
-SHA512 (rust-std-1.48.0-x86_64-unknown-freebsd.tar.gz) = 6c4ccd907a0aea86daa677b52c226efe22f5df7870154c202bd6906f29a42da79c813fa2109ff8bc258d39a320eb6c8d8bf5ea320fb4d0fe110f3ae9259cc4b9
-Size (rust-std-1.48.0-x86_64-unknown-freebsd.tar.gz) = 36167516 bytes
-SHA1 (rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = db3a14bedb607607ea5bae6486b56279645fe59e
-RMD160 (rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = 936bf26ea2e4546149f465a66b3aecface4b4a3b
-SHA512 (rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = cb817fd699edc7c7c71cff4e1280256ecb4a033bb23b90a615a747b9dbeabbe7bda54cb9656f4c2a886a10d47ee2a793a927e126b40abec4ea3902455da89c74
-Size (rust-std-1.48.0-x86_64-unknown-linux-gnu.tar.gz) = 37674284 bytes
-SHA1 (rust-std-1.48.0-x86_64-unknown-netbsd.tar.gz) = 2065187a843f778d98fac140e48a69a16854808e
-RMD160 (rust-std-1.48.0-x86_64-unknown-netbsd.tar.gz) = ae3dcc4250eddd03b7ed6de582a08745f8cd70c2
-SHA512 (rust-std-1.48.0-x86_64-unknown-netbsd.tar.gz) = 9734a501899a1fcde94b0f51b789584c9c870e4232a963a89be82b9fd07fb444c58bd11b854a0f673f699068b27204621825f2e38b2d74f243b937a1c87b5a53
-Size (rust-std-1.48.0-x86_64-unknown-netbsd.tar.gz) = 33698113 bytes
+SHA1 (rust-1.49.0-x86_64-apple-darwin.tar.gz) = 81f697111f1d981a8d3596b11e3e64283bc1546f
+RMD160 (rust-1.49.0-x86_64-apple-darwin.tar.gz) = 9ecae8f9636061769d05b4459095a217d1627619
+SHA512 (rust-1.49.0-x86_64-apple-darwin.tar.gz) = dd2c9375571880d3fabcd61161d06169c365cfb9dabfd023e728b2e6affdb8101d631edc9ae00b7d7fdc9c2babb578f71acfacd1780877c56572ad3beb19b524
+Size (rust-1.49.0-x86_64-apple-darwin.tar.gz) = 262777607 bytes
+SHA1 (rust-1.49.0-x86_64-unknown-freebsd.tar.gz) = 0a529d605715930e9004cf6a693b19ae2dec19c1
+RMD160 (rust-1.49.0-x86_64-unknown-freebsd.tar.gz) = 5ca3f5f805c5fd1525eda8b276b2834f5e51f495
+SHA512 (rust-1.49.0-x86_64-unknown-freebsd.tar.gz) = c7768ae65fe0bcce7fc3d915618c8034da93cd213a45c3ae16501060a959a29527c0b2e4ca7ecd84f907797dc1683f361614daf096334451a6812e889aaeee48
+Size (rust-1.49.0-x86_64-unknown-freebsd.tar.gz) = 218268823 bytes
+SHA1 (rust-1.49.0-x86_64-unknown-illumos.tar.gz) = 5fe74da4ad2f63561bf9129b20dc058b83fc2ce9
+RMD160 (rust-1.49.0-x86_64-unknown-illumos.tar.gz) = 5c38b2eb78689cb83147a6ceb45c82dc1f909958
+SHA512 (rust-1.49.0-x86_64-unknown-illumos.tar.gz) = a49dbe2fafa604323c634196fc48bbe274808087bd9940db79f65101db4d70e46ab3d1e078e6e9d4ccab2093f6cf16fc379405c10af539ebdc6084ebfbf2d6fd
+Size (rust-1.49.0-x86_64-unknown-illumos.tar.gz) = 196387210 bytes
+SHA1 (rust-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 44c79f6113770cf25d05ebb4acad6494d39e6a2f
+RMD160 (rust-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 7513ac2472723a02491a3ddc7934c16edfe7423c
+SHA512 (rust-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 334c3ae93009c54390289a6d5266538d080e6b4909dd4cb2073a1eb0349eb7287d052305d4130e7ea39fdfee013e29080d6dc4b9335fa717bcc0c9f87849eece
+Size (rust-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 250314423 bytes
+SHA1 (rust-1.49.0-x86_64-unknown-netbsd.tar.gz) = c43ab0af19139dc8cc36cc007f5cdf0b0bb1ea02
+RMD160 (rust-1.49.0-x86_64-unknown-netbsd.tar.gz) = d0043d669b55fa9f40497cf143afa2870e2275ef
+SHA512 (rust-1.49.0-x86_64-unknown-netbsd.tar.gz) = aa9b4a6da515bf5d4c2bd0f96c5f3589a4e48b2f612285cb0c1c867aa492f23fda0fe832874ed515784bf4c4b833e3b9b5946af12fdd4a0346453b4e726f2e8b
+Size (rust-1.49.0-x86_64-unknown-netbsd.tar.gz) = 227006885 bytes
SHA1 (rust-std-1.49.0-aarch64-unknown-netbsd.tar.gz) = bec960b56661b1f039233ef75e33f304b6ed176d
RMD160 (rust-std-1.49.0-aarch64-unknown-netbsd.tar.gz) = f3e70c1b7fa0c75ea668860c3f7c546ad7a97fee
SHA512 (rust-std-1.49.0-aarch64-unknown-netbsd.tar.gz) = 6a1f31fc63cf6d0b10b461e2dc003b75f87763c586f1fa81e1bc102c2f50fc856f2cd42529bd4d3d0d668a16747cf0568ccf6e1b70c1e01c61a1617caaf03f0c
@@ -84,6 +56,10 @@ SHA1 (rust-std-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = b3f82f4c2d2af9be54eb
RMD160 (rust-std-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 58468d07240e082820d844bb2bd512f5e293a7e3
SHA512 (rust-std-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 7057a8a850e0ed8a70acaee032b3ca69c9dd3f708da5e2124d160e8942e59a63faa6a6782cc2565b9edb7056e37ae06509c281c07aa48a8921663db04ad55d84
Size (rust-std-1.49.0-armv7-unknown-netbsd-eabihf.tar.gz) = 24763715 bytes
+SHA1 (rust-std-1.49.0-i686-unknown-linux-gnu.tar.gz) = fe9e151fb962dcec0a6a5e1ede2d91a31ebc32d4
+RMD160 (rust-std-1.49.0-i686-unknown-linux-gnu.tar.gz) = b3dad53f90b1a0695ddf7dbdb203f1f428487422
+SHA512 (rust-std-1.49.0-i686-unknown-linux-gnu.tar.gz) = 17915db60012b5697454a5102316d740d33a4ba9e52908f89e16b725b5e18b325399e27ff5603b649bfd0d892bad2597273d9ceb80c432fbeeaab0c0465ccf55
+Size (rust-std-1.49.0-i686-unknown-linux-gnu.tar.gz) = 34871922 bytes
SHA1 (rust-std-1.49.0-i686-unknown-netbsd.tar.gz) = 82b880a53d18895d413666292705b89910457ec2
RMD160 (rust-std-1.49.0-i686-unknown-netbsd.tar.gz) = e3d64206873fa9b5d8ca5bef8cc5a07739bf03fc
SHA512 (rust-std-1.49.0-i686-unknown-netbsd.tar.gz) = 07a47749534cc266092933c334c1876592403bfb7ae929b3035f0eae3d92cf9b3b9bba09980770fdd7f58e92ff083c4ed5e49b886c24245d43ee97f31b2f165a
@@ -100,35 +76,54 @@ SHA1 (rust-std-1.49.0-sparc64-unknown-netbsd.tar.gz) = 04b12a7778944d03446df235a
RMD160 (rust-std-1.49.0-sparc64-unknown-netbsd.tar.gz) = 4a7f19c5539b012b6e0b10e2cf2d57ffc7a1243b
SHA512 (rust-std-1.49.0-sparc64-unknown-netbsd.tar.gz) = 7828a1205373d938a1417c23f5ade5f82980db247dae40b0e9a6506319f4f3bdc413b25c6ffc6b82c3eb191030b3d3ee54d30c0caec8d7e4f75b7c5cc4cd439f
Size (rust-std-1.49.0-sparc64-unknown-netbsd.tar.gz) = 24558005 bytes
-SHA1 (rustc-1.49.0-src.tar.gz) = 561f8d3b09bde24aa7998a8ae0e35d3429fa7016
-RMD160 (rustc-1.49.0-src.tar.gz) = f690ef8098a64eaf1dab3122140cacf0cf4d6a32
-SHA512 (rustc-1.49.0-src.tar.gz) = 033aa9fb9b9a79055ee075c33c27ae40defe7430972057a6477829070b5f54f8fc5082d36f5c751a2fb4cdfcf0d83db7b879dee15a8c4229b517295d6b7b6896
-Size (rustc-1.49.0-src.tar.gz) = 157809463 bytes
+SHA1 (rust-std-1.49.0-x86_64-apple-darwin.tar.gz) = c41c47d76316bb14b3cde8c65b79a94ab10c3685
+RMD160 (rust-std-1.49.0-x86_64-apple-darwin.tar.gz) = b43ecabbcfa19327be5dccf09fc72855d0707a49
+SHA512 (rust-std-1.49.0-x86_64-apple-darwin.tar.gz) = 932de6e305035f9c83a8fe700b0b18bc9f88f556d0e3f0908fd3a6a141e862e016acfa83724517a21b9ba25fd76efbb1d6b5ea41f07e87409e353ab8a8bb11f3
+Size (rust-std-1.49.0-x86_64-apple-darwin.tar.gz) = 35384330 bytes
+SHA1 (rust-std-1.49.0-x86_64-unknown-freebsd.tar.gz) = 9a8a5c3b5c329126f60dda2cf4aa3760f23ff5c0
+RMD160 (rust-std-1.49.0-x86_64-unknown-freebsd.tar.gz) = d4a18f9b630d7d629457af633e03d58a253e88ae
+SHA512 (rust-std-1.49.0-x86_64-unknown-freebsd.tar.gz) = 59bc9b4073bd3928f72376e2f73266a9d35b22637bcc12a781586c84e3c57299a3662ecbd6f2fd49ce3390b1b84b8676e200ad3bf08f42bc3659ae9e434cd926
+Size (rust-std-1.49.0-x86_64-unknown-freebsd.tar.gz) = 34555877 bytes
+SHA1 (rust-std-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 96d184f1b39dcf3cb91e938f53aa79e78eebff53
+RMD160 (rust-std-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = bd1afebd4c117df734ebc5b41ceae7f80428020c
+SHA512 (rust-std-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 4c0d51989d44c6b113fdeb67508c28a434779ff2f944c9d04c428536a2e820a1b0d0feef96fea606cbf43276ca546a44614fd7a468d35d8c6c5094d892995f4c
+Size (rust-std-1.49.0-x86_64-unknown-linux-gnu.tar.gz) = 38292344 bytes
+SHA1 (rust-std-1.49.0-x86_64-unknown-netbsd.tar.gz) = ee366640b89f6af3d5eeac5068a6d344e40f3710
+RMD160 (rust-std-1.49.0-x86_64-unknown-netbsd.tar.gz) = fdb5e5201d217985e2a667d5aba425205e7763b6
+SHA512 (rust-std-1.49.0-x86_64-unknown-netbsd.tar.gz) = 919fa961ec132df601db47f7a0ffd4bf8c3c5e5f562374dad0c9bea53fe2c9132f024284f898cc248d8fd9ee675c1eb0c17742a6b79e4edf87c035cb2cfbb5e3
+Size (rust-std-1.49.0-x86_64-unknown-netbsd.tar.gz) = 34459628 bytes
+SHA1 (rustc-1.50.0-src.tar.gz) = 86657ff8f88d6ed8dd48189493249e4b8ec99ca7
+RMD160 (rustc-1.50.0-src.tar.gz) = 07633389398c9e746a6d349e97775201aaeeeb3b
+SHA512 (rustc-1.50.0-src.tar.gz) = 30a8a64379427901fe9a23044897456f26e7f7ab146400464feeb663aeff7539c98d78ecbd6a446535a86c8740a6ece9edf19807dc28795b832a988722fe7990
+Size (rustc-1.50.0-src.tar.gz) = 159542148 bytes
SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 72746bbf0fa5e72fe151c95e3876b9eb1e70ae39
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 42ff9f15004426e9e6d134bf1364df997f78964d
+SHA1 (patch-compiler_rustc__llvm_build.rs) = 88b3b4dbafbd9d8e43998a0f19e3212493ca0add
+SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = 96611262cd34bbc7f1f757f9df354760cd65fe85
+SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 4b44776982c715f818342b56564efa9576ca995e
SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 877d185e5ca58a3a3f145558be527185a276c154
SHA1 (patch-compiler_rustc__target_src_spec_solaris__base.rs) = f0b41a3a5685ae33d037f8ded0b1fa6f1acb0867
SHA1 (patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs) = f629fcf782c0c915c2921456eb1ffa8e91c244c1
SHA1 (patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure) = 5dc1cfc843894156b513c86453db5032917a5529
SHA1 (patch-library_std_build.rs) = c69af2a424bca60bc91741b8d4cb5fd633bbacca
-SHA1 (patch-library_std_src_sys_unix_thread.rs) = 517a1836d6c5c56d5b7ec642559ccbe1f980e9d5
-SHA1 (patch-library_unwind_build.rs) = 68bd62f14c764a266b7e92a2a3cd36810d006847
-SHA1 (patch-src_bootstrap_bootstrap.py) = 53e0409527f3e52dd00b5c86e6c38047626e2379
-SHA1 (patch-src_bootstrap_builder.rs) = 082d312bbad522ae6b0e2d9e08cb1ba0c8fbac25
-SHA1 (patch-src_bootstrap_compile.rs) = 67d5ad13e13e6818535a319f55e990d511e7b83f
-SHA1 (patch-src_bootstrap_lib.rs) = 3277f2be69a269ac761a2a6ab4d5389d121e6ca6
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427
-SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = bfdf8dc323cc5e59e880627fc7a240be805941d8
+SHA1 (patch-library_std_src_sys_unix_mod.rs) = 927b03f3f34bd21a81bd2a8b6bcf30fe241e2d32
+SHA1 (patch-library_std_src_sys_unix_thread.rs) = c431e3221849e3220fc63b072984ccb1896f83c8
+SHA1 (patch-library_unwind_build.rs) = 2cff0229bfb26445ea3f2e2e5b6e4ea8884df28f
+SHA1 (patch-src_bootstrap_bootstrap.py) = a8c094a781339a613221259d8ce7d00f6e0aa3e6
+SHA1 (patch-src_bootstrap_builder.rs) = d6ea923f5c67a1b1e98350d6269b4d78817a5934
+SHA1 (patch-src_bootstrap_compile.rs) = 5d5d31eb08d404cb24aca7e1be8de438004a49d6
+SHA1 (patch-src_bootstrap_lib.rs) = 4b2ff5b2e280e3523ef1fd8903fab7324e6699a0
+SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 03a95b0893a339cb34b0b84773e33ade50deb87e
+SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 4d35c1d51e0bb6f5cf4c48ed3f68826624f6934e
SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = 7588a46aaa277ef04b33ac6d904b9d1d81579f2a
-SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 977de4b2a9d37f7e7c782f2407c15591e032b6c6
-SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2675b93a1d636b297a3e1e84b915a15a3da67939
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = 3aac5d54a6fe96b9559552e67e497488142d4e80
-SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 10e6c1253adac0262b000aec7636fa0d2ebb666c
-SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = fade3e60fecac5c4e4d4ee5bee82659b4eb385b7
-SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 51af64526db55abcf6b4b3165df314a16cf62e34
+SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 213870dbeac00aa465ba65a12cfb47d2c58edcfd
+SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 272c5049b62e371ff3b975b70302a111dc4871c1
+SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = 1109d9adafae49434f2979af061c052e68a855a7
+SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 7d9910f62ed7e8b8ba2120b71b96a7b3324b8a5f
+SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = 5b79c164e0a10d282a12578d41d0ae4ed2283236
+SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 23b827fe5ce421e4b63e8ae22d0c9cc282a4b8ac
SHA1 (patch-src_tools_rust-installer_install-template.sh) = f2ec6dced2be1fa23773d5827503ad07d0913dc2
-SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 804ea03be546fef0d2bd37d7f8abb26d38a7892b
-SHA1 (patch-vendor_lzma-sys_config.h) = ab963fc8d7a847715e0e0dc2928333efe38e923f
+SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = ff77adccf71e3683d8465d8b08face45e7b2b8a9
+SHA1 (patch-vendor_lzma-sys_config.h) = 414c5c46eae69f205e958b0fd01af7feca2bfd63
SHA1 (patch-vendor_net2_src_ext.rs) = 5c34f3eaaa0589eefe14d374d34fadd4900565fd
-SHA1 (patch-vendor_openssl-src_src_lib.rs) = dd79a75e4d570567ac02e8dbb42695682762d9e4
-SHA1 (patch-vendor_stacker_src_lib.rs) = 2f4db9971c0558ec7034052c810b8c8be80c4ae3
+SHA1 (patch-vendor_openssl-src_src_lib.rs) = cd4e6269fad10c6c7f51a044a16303ab1c55a8bf
+SHA1 (patch-vendor_stacker_src_lib.rs) = 5da51ee9cc928617f0a2b35eedabb7071fbfb059
diff --git a/lang/rust/patches/patch-compiler_rustc__llvm_build.rs b/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
index f82dedc7ffd..d814fb31974 100644
--- a/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
+++ b/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.1 2021/01/01 20:44:48 he Exp $
+$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.2 2021/04/19 17:08:09 he Exp $
-fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
+Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
---- compiler/rustc_llvm/build.rs.orig 2019-08-13 06:27:22.000000000 +0000
+--- compiler/rustc_llvm/build.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ compiler/rustc_llvm/build.rs
-@@ -261,7 +261,13 @@ fn main() {
+@@ -281,7 +281,13 @@ fn main() {
"c++"
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
// NetBSD uses a separate library when relocation is required
diff --git a/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs b/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
new file mode 100644
index 00000000000..2447fe4dcd4
--- /dev/null
+++ b/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
@@ -0,0 +1,26 @@
+$NetBSD: patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs,v 1.1 2021/04/19 17:08:09 he Exp $
+
+Add an i586 / pentium variant, in an effort to support AMD Geode etc.
+
+--- compiler/rustc_target/src/speci586_unknown_netbsd.rs.orig 2021-04-11 00:12:43.084770395 +0200
++++ compiler/rustc_target/src/spec/i586_unknown_netbsd.rs 2021-04-17 00:25:10.240902011 +0200
+@@ -0,0 +1,19 @@
++use crate::spec::{LinkerFlavor, Target, TargetOptions};
++
++pub fn target() -> Target {
++ let mut base = super::netbsd_base::opts();
++ base.cpu = "pentium".to_string();
++ base.max_atomic_width = Some(64);
++ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string());
++ base.stack_probes = true;
++
++ Target {
++ llvm_target: "i586-unknown-netbsdelf".to_string(),
++ pointer_width: 32,
++ data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
++ f64:32:64-f80:32-n8:16:32-S128"
++ .to_string(),
++ arch: "x86".to_string(),
++ options: TargetOptions { mcount: "__mcount".to_string(), ..base },
++ }
++}
diff --git a/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs b/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
new file mode 100644
index 00000000000..886ef013234
--- /dev/null
+++ b/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
@@ -0,0 +1,14 @@
+$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.1 2021/04/19 17:08:09 he Exp $
+
+Add reference to i586 / pentium NetBSD variant.
+
+--- compiler/rustc_target/src/spec/mod.rs.orig 2021-02-10 17:36:44.000000000 +0000
++++ compiler/rustc_target/src/spec/mod.rs
+@@ -551,6 +551,7 @@ supported_targets! {
+ ("aarch64-unknown-netbsd", aarch64_unknown_netbsd),
+ ("armv6-unknown-netbsd-eabihf", armv6_unknown_netbsd_eabihf),
+ ("armv7-unknown-netbsd-eabihf", armv7_unknown_netbsd_eabihf),
++ ("i586-unknown-netbsd", i586_unknown_netbsd),
+ ("i686-unknown-netbsd", i686_unknown_netbsd),
+ ("powerpc-unknown-netbsd", powerpc_unknown_netbsd),
+ ("sparc64-unknown-netbsd", sparc64_unknown_netbsd),
diff --git a/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs b/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs
new file mode 100644
index 00000000000..942d475d589
--- /dev/null
+++ b/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs
@@ -0,0 +1,14 @@
+$NetBSD: patch-library_std_src_sys_unix_mod.rs,v 1.1 2021/04/19 17:08:09 he Exp $
+
+Add libexecinfo for backtrace() on NetBSD.
+
+--- library/std/src/sys/unix/mod.rs.orig 2021-02-10 17:36:44.000000000 +0000
++++ library/std/src/sys/unix/mod.rs
+@@ -248,6 +248,7 @@ cfg_if::cfg_if! {
+ #[link(name = "pthread")]
+ extern "C" {}
+ } else if #[cfg(target_os = "netbsd")] {
++ #[link(name = "execinfo")]
+ #[link(name = "pthread")]
+ #[link(name = "rt")]
+ extern "C" {}
diff --git a/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs b/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
index 39c8b0af5f1..746d5363d21 100644
--- a/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
+++ b/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
@@ -1,15 +1,15 @@
-$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.1 2020/11/13 20:35:58 he Exp $
+$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.2 2021/04/19 17:08:09 he Exp $
Fix stack-clash on SunOS.
---- library/std/src/sys/unix/thread.rs.orig 2020-10-07 07:53:22.000000000 +0000
+--- library/std/src/sys/unix/thread.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ library/std/src/sys/unix/thread.rs
-@@ -333,7 +333,7 @@ pub mod guard {
+@@ -322,7 +322,7 @@ pub mod guard {
let page_size = os::page_size();
PAGE_SIZE.store(page_size, Ordering::Relaxed);
- if cfg!(all(target_os = "linux", not(target_env = "musl"))) {
-+ if cfg!(any(all(target_os = "linux", not(target_env = "musl")), target_os = "solaris")) {
++ if cfg!(any(target_os = "solaris", all(target_os = "linux", not(target_env = "musl")))) {
// Linux doesn't allocate the whole stack right away, and
// the kernel has its own stack-guard mechanism to fault
// when growing too close to an existing mapping. If we map
diff --git a/lang/rust/patches/patch-library_unwind_build.rs b/lang/rust/patches/patch-library_unwind_build.rs
index e8c555663a1..d400b50d197 100644
--- a/lang/rust/patches/patch-library_unwind_build.rs
+++ b/lang/rust/patches/patch-library_unwind_build.rs
@@ -1,17 +1,17 @@
-$NetBSD: patch-library_unwind_build.rs,v 1.1 2020/11/13 20:35:58 he Exp $
+$NetBSD: patch-library_unwind_build.rs,v 1.2 2021/04/19 17:08:09 he Exp $
-fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
+Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
---- library/unwind/build.rs.orig 2020-10-07 07:53:22.000000000 +0000
+--- library/unwind/build.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ library/unwind/build.rs
-@@ -23,7 +23,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") {
if target.contains("sparc64") {
println!("cargo:rustc-link-lib=gcc");
diff --git a/lang/rust/patches/patch-src_bootstrap_bootstrap.py b/lang/rust/patches/patch-src_bootstrap_bootstrap.py
index 10bfd17f305..27a1c97f235 100644
--- a/lang/rust/patches/patch-src_bootstrap_bootstrap.py
+++ b/lang/rust/patches/patch-src_bootstrap_bootstrap.py
@@ -1,12 +1,12 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.4 2020/02/17 20:24:18 jperkin Exp $
+$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.5 2021/04/19 17:08:09 he Exp $
Use `uname -p` on NetBSD, as that is reliable and sensible there.
Do not use debuginfo; optimize 'bootstrap' instead.
Handle earmv7hf for NetBSD.
---- src/bootstrap/bootstrap.py.orig 2020-01-27 15:34:02.000000000 +0000
+--- src/bootstrap/bootstrap.py.orig 2021-02-10 17:36:44.000000000 +0000
+++ src/bootstrap/bootstrap.py
-@@ -185,6 +185,11 @@ def default_build_triple():
+@@ -228,6 +228,11 @@ def default_build_triple(verbose):
'OpenBSD': 'unknown-openbsd'
}
@@ -18,7 +18,7 @@ Handle earmv7hf for NetBSD.
# Consider the direct transformation first and then the special cases
if ostype in ostype_mapper:
ostype = ostype_mapper[ostype]
-@@ -271,10 +276,12 @@ def default_build_triple():
+@@ -314,10 +319,12 @@ def default_build_triple(verbose):
ostype = 'linux-androideabi'
else:
ostype += 'eabihf'
@@ -32,12 +32,12 @@ Handle earmv7hf for NetBSD.
else:
ostype += 'eabihf'
elif cputype == 'mips':
-@@ -645,7 +652,7 @@ class RustBuild(object):
+@@ -793,7 +800,7 @@ class RustBuild(object):
if "LIBRARY_PATH" in env else ""
# preserve existing RUSTFLAGS
env.setdefault("RUSTFLAGS", "")
- env["RUSTFLAGS"] += " -Cdebuginfo=2"
+ env["RUSTFLAGS"] += " -Copt-level=2"
- build_section = "target.{}".format(self.build_triple())
+ build_section = "target.{}".format(self.build)
target_features = []
diff --git a/lang/rust/patches/patch-src_bootstrap_builder.rs b/lang/rust/patches/patch-src_bootstrap_builder.rs
index b4d75b60970..7f1e64e17b2 100644
--- a/lang/rust/patches/patch-src_bootstrap_builder.rs
+++ b/lang/rust/patches/patch-src_bootstrap_builder.rs
@@ -1,13 +1,13 @@
-$NetBSD: patch-src_bootstrap_builder.rs,v 1.13 2021/02/14 08:24:31 he Exp $
+$NetBSD: patch-src_bootstrap_builder.rs,v 1.14 2021/04/19 17:08:09 he Exp $
Do not install 'src'.
Use @PREFIX@, not $ORIGIN in rpath.
Fix RPATH for pkgsrc.
---- src/bootstrap/builder.rs.orig 2020-12-29 03:03:09.000000000 +0000
+--- src/bootstrap/builder.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ src/bootstrap/builder.rs
-@@ -480,7 +480,6 @@ impl<'a> Builder<'a> {
+@@ -483,7 +483,6 @@ impl<'a> Builder<'a> {
install::Clippy,
install::Miri,
install::Analysis,
@@ -15,7 +15,7 @@ Fix RPATH for pkgsrc.
install::Rustc
),
Kind::Run => describe!(run::ExpandYamlAnchors, run::BuildManifest),
-@@ -1065,7 +1064,7 @@ impl<'a> Builder<'a> {
+@@ -1082,7 +1081,7 @@ impl<'a> Builder<'a> {
rustflags.arg("-Zosx-rpath-install-name");
Some("-Wl,-rpath,@loader_path/../lib")
} else if !target.contains("windows") {
diff --git a/lang/rust/patches/patch-src_bootstrap_compile.rs b/lang/rust/patches/patch-src_bootstrap_compile.rs
index 4477683d775..46a97d5cce1 100644
--- a/lang/rust/patches/patch-src_bootstrap_compile.rs
+++ b/lang/rust/patches/patch-src_bootstrap_compile.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_bootstrap_compile.rs,v 1.1 2020/03/14 08:02:46 jperkin Exp $
+$NetBSD: patch-src_bootstrap_compile.rs,v 1.2 2021/04/19 17:08:09 he Exp $
On Darwin, do not use @rpath for internal libraries.
---- src/bootstrap/compile.rs.orig 2020-03-09 22:11:17.000000000 +0000
+--- src/bootstrap/compile.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ src/bootstrap/compile.rs
-@@ -290,7 +290,7 @@ fn copy_sanitizers(
+@@ -359,7 +359,7 @@ fn copy_sanitizers(
// Update the library install name reflect the fact it has been renamed.
let status = Command::new("install_name_tool")
.arg("-id")
diff --git a/lang/rust/patches/patch-src_bootstrap_lib.rs b/lang/rust/patches/patch-src_bootstrap_lib.rs
index f7549fe29e6..c49744aff37 100644
--- a/lang/rust/patches/patch-src_bootstrap_lib.rs
+++ b/lang/rust/patches/patch-src_bootstrap_lib.rs
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_bootstrap_lib.rs,v 1.7 2020/03/13 18:34:53 jperkin Exp $
+$NetBSD: patch-src_bootstrap_lib.rs,v 1.8 2021/04/19 17:08:09 he Exp $
Don't filter out optimization flags.
FreeBSD has a particular C++ runtime library name
---- src/bootstrap/lib.rs.orig 2020-03-09 22:11:17.000000000 +0000
+--- src/bootstrap/lib.rs.orig 2021-02-10 17:36:44.000000000 +0000
+++ src/bootstrap/lib.rs
-@@ -759,7 +759,6 @@ impl Build {
+@@ -836,7 +836,6 @@ impl Build {
.args()
.iter()
.map(|s| s.to_string_lossy().into_owned())
@@ -13,7 +13,7 @@ FreeBSD has a particular C++ runtime library name
.collect::<Vec<String>>();
// If we're compiling on macOS then we add a few unconditional flags
-@@ -770,6 +769,11 @@ impl Build {
+@@ -847,6 +846,11 @@ impl Build {
base.push("-stdlib=libc++".into());
}
diff --git a/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt
index c0bacd73276..fae823b7d30 100644
--- a/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt
+++ b/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.1 2019/04/14 12:42:03 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.2 2021/04/19 17:08:09 he Exp $
Don't implement sys/regset.h workaround, fix source instead.
---- src/llvm-project/llvm/CMakeLists.txt.orig 2018-03-10 02:51:13.000000000 +0000
+--- src/llvm-project/llvm/CMakeLists.txt.orig 2020-12-08 20:04:43.000000000 +0000
+++ src/llvm-project/llvm/CMakeLists.txt
-@@ -806,11 +806,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBS
+@@ -959,11 +959,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBS
link_directories("/usr/local/lib")
endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
diff --git a/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
index d553877b57e..8eb9b7ae737 100644
--- a/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
+++ b/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
@@ -1,5 +1,6 @@
-$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.4 2020/11/13 20:35:58 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.5 2021/04/19 17:08:09 he Exp $
+"-z discard-unused" is only supported by Oracle Solaris ld.
On Darwin, use correct install-name for shared libraries.
--- src/llvm-project/llvm/cmake/modules/AddLLVM.cmake.orig 2020-05-20 18:10:32.000000000 +0000
diff --git a/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
index 42a14ee2e90..f1920ea8228 100644
--- a/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
+++ b/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.1 2019/04/14 12:42:03 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.2 2021/04/19 17:08:09 he Exp $
Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h
---- src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h.orig 2018-08-01 16:32:37.000000000 +0000
+--- src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h.orig 2020-12-08 20:04:43.000000000 +0000
+++ src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h
-@@ -20,6 +20,10 @@
+@@ -19,6 +19,10 @@
#ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H
#define LLVM_ANALYSIS_CONSTANTFOLDING_H
diff --git a/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
index 69f13124852..38de7478f1b 100644
--- a/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
+++ b/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.2 2019/10/02 12:51:43 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.3 2021/04/19 17:08:09 he Exp $
Avoid ambiguous function call.
---- src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp.orig 2019-02-12 15:22:48.000000000 +0000
+--- src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp.orig 2020-12-08 20:04:43.000000000 +0000
+++ src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp
-@@ -406,7 +406,7 @@ static void DumpAnnotatedInput(raw_ostre
+@@ -558,7 +558,7 @@ static void DumpAnnotatedInput(raw_ostre
unsigned LineCount = InputFileText.count('\n');
if (InputFileEnd[-1] != '\n')
++LineCount;
diff --git a/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
index 7262e6fbba3..9736bf68385 100644
--- a/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
+++ b/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.3 2019/03/07 20:19:11 jperkin Exp $
+$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.4 2021/04/19 17:08:09 he Exp $
Turn off incremental builds for sparc64, ref.
https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
---- src/tools/cargo/src/cargo/core/profiles.rs.orig 2018-10-24 20:01:28.000000000 +0000
+--- src/tools/cargo/src/cargo/core/profiles.rs.orig 2021-02-10 17:37:00.000000000 +0000
+++ src/tools/cargo/src/cargo/core/profiles.rs
-@@ -458,6 +458,9 @@ impl Profile {
+@@ -695,6 +695,9 @@ impl Profile {
debuginfo: Some(2),
debug_assertions: true,
overflow_checks: true,
diff --git a/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs
index 1770ff452d3..5f61a77ca1f 100644
--- a/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs
+++ b/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.5 2019/08/29 14:09:57 he Exp $
+$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.6 2021/04/19 17:08:09 he Exp $
Don't attempt incremental operations on sparc64, ref.
https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
---- src/tools/cargo/tests/testsuite/build.rs.orig 2019-08-13 06:27:40.000000000 +0000
+--- src/tools/cargo/tests/testsuite/build.rs.orig 2021-02-10 17:37:00.000000000 +0000
+++ src/tools/cargo/tests/testsuite/build.rs
-@@ -38,6 +38,7 @@ fn cargo_fail_with_no_stderr() {
+@@ -45,6 +45,7 @@ fn cargo_fail_with_no_stderr() {
/// Checks that the `CARGO_INCREMENTAL` environment variable results in
/// `rustc` getting `-C incremental` passed to it.
@@ -13,7 +13,7 @@ https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_increment
#[cargo_test]
fn cargo_compile_incremental() {
let p = project()
-@@ -60,6 +61,7 @@ fn cargo_compile_incremental() {
+@@ -67,6 +68,7 @@ fn cargo_compile_incremental() {
.run();
}
@@ -21,7 +21,7 @@ https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_increment
#[cargo_test]
fn incremental_profile() {
let p = project()
-@@ -102,6 +104,7 @@ fn incremental_profile() {
+@@ -109,6 +111,7 @@ fn incremental_profile() {
.run();
}
diff --git a/lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs b/lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs
index bb99f197b04..6d306aaf9c6 100644
--- a/lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs
+++ b/lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_tools_rls_rls_src_cmd.rs,v 1.1 2019/04/14 12:42:03 he Exp $
+$NetBSD: patch-src_tools_rls_rls_src_cmd.rs,v 1.2 2021/04/19 17:08:09 he Exp $
Use 32-bit atomic instead of 64-bit; latter may not be available on
32-bit platforms (powerpc, earmv7).
---- src/tools/rls/rls/src/cmd.rs.orig 2019-04-10 18:46:16.000000000 +0000
+--- src/tools/rls/rls/src/cmd.rs.orig 2021-02-10 17:37:00.000000000 +0000
+++ src/tools/rls/rls/src/cmd.rs
-@@ -17,7 +17,7 @@ use crate::config::Config;
+@@ -7,7 +7,7 @@ use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
use rls_analysis::{AnalysisHost, Target};
use rls_vfs::Vfs;
@@ -14,7 +14,7 @@ Use 32-bit atomic instead of 64-bit; latter may not be available on
use lsp_types::{
ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -323,8 +323,8 @@ fn url(file_name: &str) -> Url {
+@@ -316,8 +316,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
diff --git a/lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs b/lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs
index e2e80ac2906..ffb45495c1c 100644
--- a/lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs
+++ b/lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_tools_rls_rls_src_server_io.rs,v 1.2 2019/05/31 14:11:23 jperkin Exp $
+$NetBSD: patch-src_tools_rls_rls_src_server_io.rs,v 1.3 2021/04/19 17:08:09 he Exp $
Use 32-bit atomic instead of 64-bit; latter may not be available on
32-bit platforms (powerpc, earmv7).
---- src/tools/rls/rls/src/server/io.rs.orig 2019-05-20 12:10:32.000000000 +0000
+--- src/tools/rls/rls/src/server/io.rs.orig 2021-02-10 17:37:00.000000000 +0000
+++ src/tools/rls/rls/src/server/io.rs
-@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, L
+@@ -5,7 +5,7 @@ use crate::lsp_data::{LSPNotification, L
use std::fmt;
use std::io::{self, BufRead, Write};
@@ -14,7 +14,7 @@ Use 32-bit atomic instead of 64-bit; latter may not be available on
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone +
+@@ -169,13 +169,13 @@ pub trait Output: Sync + Send + Clone +
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
@@ -30,7 +30,7 @@ Use 32-bit atomic instead of 64-bit; latter may not be available on
}
}
-@@ -194,7 +194,7 @@ impl Output for StdioOutput {
+@@ -192,7 +192,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
diff --git a/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs b/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
index 3ae0e9e6401..291be018913 100644
--- a/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
+++ b/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.1 2019/05/31 14:11:23 jperkin Exp $
+$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.2 2021/04/19 17:08:09 he Exp $
Fix xattr build.
---- vendor/libc/src/unix/solarish/mod.rs.orig 2019-05-20 13:47:24.000000000 +0000
+--- vendor/libc/src/unix/solarish/mod.rs.orig 2021-02-10 18:18:38.000000000 +0000
+++ vendor/libc/src/unix/solarish/mod.rs
-@@ -981,6 +981,8 @@ pub const EOWNERDEAD: ::c_int = 58;
+@@ -1177,6 +1177,8 @@ pub const EOWNERDEAD: ::c_int = 58;
pub const ENOTRECOVERABLE: ::c_int = 59;
pub const ENOSTR: ::c_int = 60;
pub const ENODATA: ::c_int = 61;
diff --git a/lang/rust/patches/patch-vendor_lzma-sys_config.h b/lang/rust/patches/patch-vendor_lzma-sys_config.h
index 5723ecf9f36..9b09624fe3b 100644
--- a/lang/rust/patches/patch-vendor_lzma-sys_config.h
+++ b/lang/rust/patches/patch-vendor_lzma-sys_config.h
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_lzma-sys_config.h,v 1.1 2019/10/28 00:42:21 jperkin Exp $
+$NetBSD: patch-vendor_lzma-sys_config.h,v 1.2 2021/04/19 17:08:09 he Exp $
Fix SunOS builds with newer compilers.
--- vendor/lzma-sys/config.h.orig 2019-09-23 23:15:03.000000000 +0000
+++ vendor/lzma-sys/config.h
-@@ -35,6 +35,10 @@
+@@ -35,7 +35,11 @@
// change to `MYTHREAD_WIN95` if targeting Windows XP or earlier
#define MYTHREAD_VISTA 1
#else
@@ -15,3 +15,4 @@ Fix SunOS builds with newer compilers.
+#endif
#define MYTHREAD_POSIX 1
#endif
+
diff --git a/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs b/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
index 6b3feccca3f..c049d670d64 100644
--- a/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
+++ b/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.2 2021/02/14 08:24:31 he Exp $
+$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.3 2021/04/19 17:08:09 he Exp $
Provide defaults for the various NetBSD targets.
@@ -12,7 +12,7 @@ Provide defaults for the various NetBSD targets.
"aarch64-pc-windows-msvc" => "VC-WIN64-ARM",
"arm-linux-androideabi" => "linux-armv4",
"armv7-linux-androideabi" => "linux-armv4",
-@@ -178,6 +179,7 @@ impl Build {
+@@ -178,9 +179,11 @@ impl Build {
"armv7-unknown-freebsd" => "BSD-generic32",
"armv7-unknown-linux-gnueabihf" => "linux-armv4",
"armv7-unknown-linux-musleabihf" => "linux-armv4",
@@ -20,7 +20,11 @@ Provide defaults for the various NetBSD targets.
"asmjs-unknown-emscripten" => "gcc",
"i586-unknown-linux-gnu" => "linux-elf",
"i586-unknown-linux-musl" => "linux-elf",
-@@ -188,6 +190,7 @@ impl Build {
++ "i586-unknown-netbsd" => "BSD-x86-elf",
+ "i686-apple-darwin" => "darwin-i386-cc",
+ "i686-linux-android" => "linux-elf",
+ "i686-pc-windows-gnu" => "mingw",
+@@ -188,6 +191,7 @@ impl Build {
"i686-unknown-freebsd" => "BSD-x86-elf",
"i686-unknown-linux-gnu" => "linux-elf",
"i686-unknown-linux-musl" => "linux-elf",
@@ -28,7 +32,7 @@ Provide defaults for the various NetBSD targets.
"mips-unknown-linux-gnu" => "linux-mips32",
"mips-unknown-linux-musl" => "linux-mips32",
"mips64-unknown-linux-gnuabi64" => "linux64-mips64",
-@@ -195,12 +198,14 @@ impl Build {
+@@ -195,12 +199,14 @@ impl Build {
"mipsel-unknown-linux-gnu" => "linux-mips32",
"mipsel-unknown-linux-musl" => "linux-mips32",
"powerpc-unknown-linux-gnu" => "linux-ppc",
diff --git a/lang/rust/patches/patch-vendor_stacker_src_lib.rs b/lang/rust/patches/patch-vendor_stacker_src_lib.rs
index c875d3bffcc..098f63623f5 100644
--- a/lang/rust/patches/patch-vendor_stacker_src_lib.rs
+++ b/lang/rust/patches/patch-vendor_stacker_src_lib.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.1 2020/08/06 11:42:56 jperkin Exp $
+$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.2 2021/04/19 17:08:09 he Exp $
Avoid missing pthread_* on older SunOS.
---- vendor/stacker/src/lib.rs.orig 2020-07-13 18:18:17.000000000 +0000
+--- vendor/stacker/src/lib.rs.orig 2021-02-10 18:18:39.000000000 +0000
+++ vendor/stacker/src/lib.rs
-@@ -355,7 +355,7 @@ cfg_if! {
+@@ -407,7 +407,7 @@ cfg_if! {
);
Some(mi.assume_init().AllocationBase as usize + get_thread_stack_guarantee() + 0x1000)
}
diff --git a/lang/rust/platform.mk b/lang/rust/platform.mk
index 77ced0dbab5..f6fa207ed4e 100644
--- a/lang/rust/platform.mk
+++ b/lang/rust/platform.mk
@@ -1,4 +1,4 @@
-# $NetBSD: platform.mk,v 1.7 2021/01/04 11:25:27 nia Exp $
+# $NetBSD: platform.mk,v 1.8 2021/04/19 17:08:09 he Exp $
# This file encodes whether a given platform has support for rust.
@@ -7,36 +7,18 @@
.if !defined(PLATFORM_SUPPORTS_RUST)
-.include "../../mk/bsd.fast.prefs.mk"
-
-# All Rust bootstraps are built for NetBSD 8.0 at minimum.
-. if !empty(MACHINE_PLATFORM:MNetBSD-7.*-*)
-PLATFORM_SUPPORTS_RUST?= no
-. endif
-
-# Rust bootstraps are built for NetBSD 9.0 on the following platforms.
-. if !empty(MACHINE_PLATFORM:MNetBSD-8.*-*arm*) || \
- !empty(MACHINE_PLATFORM:MNetBSD-8.*-aarch64*) || \
- !empty(MACHINE_PLATFORM:MNetBSD-8.*-sparc64)
-PLATFORM_SUPPORTS_RUST?= no
-. endif
-
-RUST_PLATFORMS+= Darwin-*-x86_64
-RUST_PLATFORMS+= FreeBSD-*-i386
-RUST_PLATFORMS+= FreeBSD-*-x86_64
-RUST_PLATFORMS+= Linux-*-i386
-RUST_PLATFORMS+= Linux-*-x86_64
-RUST_PLATFORMS+= NetBSD-*-i386
-RUST_PLATFORMS+= NetBSD-*-x86_64
-RUST_PLATFORMS+= NetBSD-*-powerpc
-RUST_PLATFORMS+= NetBSD-*-aarch64
-RUST_PLATFORMS+= NetBSD-*-sparc64
-RUST_PLATFORMS+= NetBSD-*-earmv7hf
-RUST_PLATFORMS+= SunOS-*-x86_64
+# Rust needs NetBSD>7
+. for rust_arch in aarch64 earmv7hf i386 powerpc sparc64 x86_64
+. for rust_os in Darwin FreeBSD Linux NetBSD SunOS
+. if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*)
+RUST_PLATFORMS+= ${rust_os}-*-${rust_arch}
+. endif
+. endfor
+. endfor
. for rust_platform in ${RUST_PLATFORMS}
. if !empty(MACHINE_PLATFORM:M${rust_platform})
-PLATFORM_SUPPORTS_RUST?= yes
+PLATFORM_SUPPORTS_RUST= yes
. endif
. endfor
PLATFORM_SUPPORTS_RUST?= no