summaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2021-01-01 20:44:48 +0000
committerhe <he@pkgsrc.org>2021-01-01 20:44:48 +0000
commit733775efa9a7604725f9825ea8e659e703d22633 (patch)
treee7752dfb4be839268d3d244da806f415b7380370 /lang/rust
parent87e7ba0ca0fa6821a361648a2d6fc15a39098824 (diff)
downloadpkgsrc-733775efa9a7604725f9825ea8e659e703d22633.tar.gz
Upgrade rust to version 1.48.0.
Pkgsrc changes: * Compensate for files being moved around upstream. * Introduce optional, on-by-default semi-static building of cargo, using the internal curl and openssl sources. This reduces the dynamic dependencies of cargo and therefore the rust package itself. Ref. options.mk. * The 1.47.0 bootstrap kits have been re-built with the above option turned on, so no longer depends on curl or openssl from pkgsrc and/or from earlier OS or pkgsrc versions. This should hopefully fix installation of rust with non-default PREFIX, ref. PR#54453. Upstream changes: Version 1.48.0 (2020-11-19) ========================== Language -------- - [The `unsafe` keyword is now syntactically permitted on modules.][75857] This is still rejected *semantically*, but can now be parsed by procedural macros. Compiler -------- - [Stabilised the `-C link-self-contained=<yes|no>` compiler flag.][76158] This tells `rustc` whether to link its own C runtime and libraries or to rely on a external linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.] [77386] Note: If you're using cargo you must explicitly pass the `--target` flag. - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries --------- - [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`, and `&Stderr`.][76275] - [All arrays of any length now implement `TryFrom<Vec<T>>`.][76310] - [The `matches!` macro now supports having a trailing comma.][74880] - [`Vec<A>` now implements `PartialEq<[B]>` where `A: PartialEq<B>`.][74194] - [The `RefCell::{replace, replace_with, clone}` methods now all use `#[track_caller]`.][77055] Stabilized APIs --------------- - [`slice::as_ptr_range`] - [`slice::as_mut_ptr_range`] - [`VecDeque::make_contiguous`] - [`future::pending`] - [`future::ready`] The following previously stable methods are now `const fn`'s: - [`Option::is_some`] - [`Option::is_none`] - [`Option::as_ref`] - [`Result::is_ok`] - [`Result::is_err`] - [`Result::as_ref`] - [`Ordering::reverse`] - [`Ordering::then`] Cargo ----- Rustdoc ------- - [You can now link to items in `rustdoc` using the intra-doc link syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate a link to `std::future`'s documentation. See ["Linking to items by name"][intradoc-links] for more information. - [You can now specify `#[doc(alias = "<alias>")]` on items to add search aliases when searching through `rustdoc`'s UI.][75740] Compatibility Notes ------------------- - [Promotion of references to `'static` lifetime inside `const fn` now follows the same rules as inside a `fn` body.][75502] In particular, `&foo()` will not be promoted to `'static` lifetime any more inside `const fn`s. - [Associated type bindings on trait objects are now verified to meet the bounds declared on the trait when checking that they implement the trait.][27675] - [When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use.][54121] - [Fixed recursive nonterminals not being expanded in macros during pretty-print/reparse check.][77153] This may cause errors if your macro wasn't correctly handling recursive nonterminal tokens. - [`&mut` references to non zero-sized types are no longer promoted.][75585] - [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]` in places where they have no effect.][73461] - [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166] - [`mem::uninitialized` will now panic if any inner types inside a struct or enum disallow zero-initialization.][71274] - [`#[target_feature]` will now error if used in a place where it has no effect.][78143] - [Foreign exceptions are now caught by `catch_unwind` and will cause an abort.][70212] Note: This behaviour is not guaranteed and is still considered undefined behaviour, see the [`catch_unwind`] documentation for further information. Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [Building `rustc` from source now uses `ninja` by default over `make`.][74922] You can continue building with `make` by setting `ninja=false` in your `config.toml`. - [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030] - [Made `ensure_sufficient_stack()` non-generic][76680] [78143]: https://github.com/rust-lang/rust/issues/78143 [76680]: https://github.com/rust-lang/rust/pull/76680/ [76030]: https://github.com/rust-lang/rust/pull/76030/ [70212]: https://github.com/rust-lang/rust/pull/70212/ [27675]: https://github.com/rust-lang/rust/issues/27675/ [54121]: https://github.com/rust-lang/rust/issues/54121/ [71274]: https://github.com/rust-lang/rust/pull/71274/ [77386]: https://github.com/rust-lang/rust/pull/77386/ [77153]: https://github.com/rust-lang/rust/pull/77153/ [77055]: https://github.com/rust-lang/rust/pull/77055/ [76275]: https://github.com/rust-lang/rust/pull/76275/ [76310]: https://github.com/rust-lang/rust/pull/76310/ [76420]: https://github.com/rust-lang/rust/pull/76420/ [76158]: https://github.com/rust-lang/rust/pull/76158/ [75857]: https://github.com/rust-lang/rust/pull/75857/ [75585]: https://github.com/rust-lang/rust/pull/75585/ [75740]: https://github.com/rust-lang/rust/pull/75740/ [75502]: https://github.com/rust-lang/rust/pull/75502/ [74880]: https://github.com/rust-lang/rust/pull/74880/ [74922]: https://github.com/rust-lang/rust/pull/74922/ [74430]: https://github.com/rust-lang/rust/pull/74430/ [74194]: https://github.com/rust-lang/rust/pull/74194/ [73461]: https://github.com/rust-lang/rust/pull/73461/ [73166]: https://github.com/rust-lang/rust/pull/73166/ [intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html [`catch_unwind`]: https://doc.rust-lang.org/std/panic/fn.catch_unwind.html [`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some [`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none [`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref [`Result::is_ok`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_ok [`Result::is_err`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_err [`Result::as_ref`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.as_ref [`Ordering::reverse`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.reverse [`Ordering::then`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.then [`slice::as_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr_range [`slice::as_mut_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_mut_ptr_range [`VecDeque::make_contiguous`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.make_contiguous [`future::pending`]: https://doc.rust-lang.org/std/future/fn.pending.html [`future::ready`]: https://doc.rust-lang.org/std/future/fn.ready.html
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile96
-rw-r--r--lang/rust/distinfo218
-rw-r--r--lang/rust/options.mk18
-rw-r--r--lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs (renamed from lang/rust/patches/patch-src_librustc__codegen__ssa_back_linker.rs)8
-rw-r--r--lang/rust/patches/patch-compiler_rustc__llvm_build.rs (renamed from lang/rust/patches/patch-src_librustc__llvm_build.rs)6
-rw-r--r--lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs (renamed from lang/rust/patches/patch-src_librustc__target_spec_netbsd__base.rs)6
-rw-r--r--lang/rust/patches/patch-compiler_rustc__target_src_spec_solaris__base.rs (renamed from lang/rust/patches/patch-src_librustc__target_spec_solaris__base.rs)6
-rw-r--r--lang/rust/patches/patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs (renamed from lang/rust/patches/patch-src_librustc__target_spec_x86__64__sun__solaris.rs)6
-rw-r--r--lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure15
-rw-r--r--lang/rust/patches/patch-library_std_src_os_linux_fs.rs16
-rw-r--r--lang/rust/patches/patch-src_bootstrap_builder.rs10
-rw-r--r--lang/rust/patches/patch-vendor_net2_src_ext.rs17
-rw-r--r--lang/rust/patches/patch-vendor_openssl-src_src_lib.rs44
13 files changed, 310 insertions, 156 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 6d7ebf4bae9..02abc5fb34b 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.208 2020/11/29 20:15:15 he Exp $
+# $NetBSD: Makefile,v 1.209 2021/01/01 20:44:48 he Exp $
-DISTNAME= rustc-1.47.0-src
+DISTNAME= rustc-1.48.0-src
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/
@@ -44,12 +44,18 @@ CONFIGURE_ARGS+= --disable-ninja
# XXX: to be enabled in the future
#CONFIGURE_ARGS+= --jemalloc-root=${BUILDLINK_PREFIX.jemalloc}/lib
+# Include (optional) settings to cross-build rust
+.include "cross.mk"
+
+.if !empty(TARGET)
# Use "dist" build target for cross compile of bootstrap
-#BUILD_TARGET= dist
+BUILD_TARGET= dist
+.else
BUILD_TARGET= build
+.endif
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
+# More diag when failing
+#MAKE_ENV+= RUST_BACKTRACE=1
# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
# uncommenting the LD_LIBRARY_PATH setting may be required to run
@@ -154,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.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -162,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.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -170,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.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -187,7 +193,7 @@ RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -195,7 +201,7 @@ 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.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -203,7 +209,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.0
RUST_ARCH= i686-unknown-netbsd
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -220,7 +226,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.46.0
+RUST_STAGE0_VER= 1.47.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
@@ -228,7 +234,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.0
RUST_ARCH= powerpc-unknown-netbsd
# Cross-built against NetBSD 9.0
@@ -252,7 +258,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.0
RUST_ARCH= aarch64-unknown-netbsd
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -262,7 +268,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.0
RUST_ARCH= sparc64-unknown-netbsd
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -273,7 +279,7 @@ pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
RUST_ARCH= armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER= 1.46.0
+RUST_STAGE0_VER= 1.47.0
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}
@@ -282,7 +288,8 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
pre-build-fix:
.endif
-# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler.
+# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf
+# if you have a local bootstrap compiler.
.if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH)
NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM}
.else
@@ -299,8 +306,9 @@ TOOLS_PLATFORM.gzcat= ${PREFIX}/bin/gzip -cd
SUBST_CLASSES+= rpath
SUBST_STAGE.rpath= pre-configure
-SUBST_FILES.rpath+= src/librustc_codegen_ssa/back/linker.rs
+SUBST_FILES.rpath+= compiler/rustc_codegen_ssa/src/back/linker.rs
SUBST_FILES.rpath+= src/bootstrap/builder.rs
+SUBST_FILES.rpath+= src/bootstrap/compile.rs
SUBST_VARS.rpath= PREFIX
#
@@ -310,16 +318,25 @@ SUBST_VARS.rpath= PREFIX
# updating and verification.
#
CKSUM_CRATES+= vendor/libc
-CKSUMS+= 9f96e346d87296e2b0b87b9fe375d67fb66cd88ce61ea2905466c8c5891d3108
-CKSUMS+= ebcb0709586e6ed1e8b4538368201638006e26042d464bbc1151bef9eb158f8c
+CKSUMS+= a9e46c0eee970cb5b4bd910924141d223fad4aa45380d3df1ce4b25992a13037
+CKSUMS+= 41394431697e352653c37188233bd44776881eb704132203b1a232271d1afd92
CKSUM_CRATES+= vendor/lzma-sys
CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
CKSUM_CRATES+= vendor/stacker
-CKSUMS+= 37ef9666d048191eeca23d8f7d99cf912b953cc489bf860107aec306b95b2d99
-CKSUMS+= 410f22f5e95860530be1abaaf2e279d2f4226e5c17c2cee302661d8079246b3a
+CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e
+CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4
+
+CKSUM_CRATES+= vendor/net2
+CKSUMS+= 03836f768aaf8c7bc9a351f3c10ce47d1f27f162133e99941850f84bb0e9dbc5
+CKSUMS+= bc857fca2bb7a6c999b19911339dff54a882ef096ad424f21dcec9e13600b871
+
+CKSUM_CRATES+= vendor/openssl-src
+CKSUMS+= 29499e62a2cde2fda48d21df58812ee5c198ef744522992bde8faae76747ac08
+CKSUMS+= e34f9921c6531d043f3516821442aaeda86c7912d40cbddaf79bba6b08c37952
+
SUBST_CLASSES+= cksum
SUBST_STAGE.cksum= pre-configure
@@ -330,6 +347,17 @@ SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
SUBST_SED.cksum+= -e 's,${from},${to},g'
.endfor
+# Patchelf appears to create unrecognized binaries...
+#.if ${OPSYS} == "NetBSD"
+#TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
+#PATCHELF= ${PREFIX}/bin/patchelf
+#FORCE_RPATH= --force-rpath
+#.endif
+
+#TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
+#PATCHELF= ${PREFIX}/bin/patchelf
+#FORCE_RPATH= --force-rpath
+
post-extract:
set -e; \
if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \
@@ -351,6 +379,12 @@ post-extract:
${LN} -s gcc-wrap c++-wrap; \
${LN} -s gcc-wrap clang++-wrap; \
${LN} -s gcc-wrap clang-wrap
+ # Fixup cargo rpath to pick up libcurl.so
+# RPATH='${PREFIX}/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \
+# for f in bin/cargo; do \
+# f=${RUST_BOOTSTRAP_PATH:Q}/$$f; \
+# ${PATCHELF} ${FORCE_RPATH} --set-rpath $${RPATH} $$f; \
+# done
.endif
.if ${OPSYS} == "FreeBSD"
@@ -439,7 +473,11 @@ stage0-bootstrap: install
${ECHO} "$${RUST_STD_FILE}"; \
)
.endif
+
.if ${OS_VARIANT} == "SmartOS"
+stage0-bootstrap: install
+ ${RM} -rf ${BOOTSTRAP_TMPDIR}
+ ${MKDIR} ${BOOTSTRAP_TMPDIR}
${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/
${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/
${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc
@@ -447,12 +485,12 @@ stage0-bootstrap: install
${CP} `${PKG_CC} -print-file-name=$${lib}` \
${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
done
- # direct dependencies
+ : direct dependencies
for lib in libLLVM-10.so libcrypto.so.1.1 libcurl.so.4 \
libssl.so.1.1 libz.so.1; do \
${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
done
- # libcurl dependencies
+ : libcurl dependencies
for lib in libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \
libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \
libssh2.so.1 libunistring.so.2; do \
@@ -527,9 +565,13 @@ DEPENDS+= libatomic-links>=0:../../devel/libatomic-links
DEPENDS+= openssl>=1.1:../../security/openssl
.endif
+# This is for when we build natively:
+.if ((${OPSYS} == "NetBSD") && \
+ ((${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "i386")))
+# For 8-byte atomics, required by LLVM
+.include "../../devel/libatomic/buildlink3.mk"
+.endif
+
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/tool.mk"
-.include "../../security/openssl/buildlink3.mk"
-BUILDLINK_API_DEPENDS.curl+= curl>=7.67.0
-.include "../../www/curl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index efb607dbdaf..eedf695b67a 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,121 +1,123 @@
-$NetBSD: distinfo,v 1.122 2020/11/29 20:15:15 he Exp $
+$NetBSD: distinfo,v 1.123 2021/01/01 20:44:48 he Exp $
-SHA1 (rust-1.46.0-aarch64-unknown-netbsd.tar.gz) = eded0c71aa6a82c76d6cfbac118894a6f7da4ec6
-RMD160 (rust-1.46.0-aarch64-unknown-netbsd.tar.gz) = 2cd29b4fbc4d0ef45b8c354143285d10544bbc99
-SHA512 (rust-1.46.0-aarch64-unknown-netbsd.tar.gz) = c786388985624bca14f570fac428b3cf5c44651eb6b4531a772a37532aad0a483675ad14eb085a151e2df5158015b3304fc50f6891143b87db6062c631e03e0b
-Size (rust-1.46.0-aarch64-unknown-netbsd.tar.gz) = 182621413 bytes
-SHA1 (rust-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 893a266a63dfe09f9171ccdbc9f1ed0a5e1ed790
-RMD160 (rust-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 784efe53365fb31e3c22b65665d787c6bcc7429e
-SHA512 (rust-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = b14d57936a2acf0b75ed06f993f6a3fc3d6256916a8779d95e32070035fa70244c438757cdaa7589e579a94506f4fd51b642c3741efcc4600fa74fe17b13289e
-Size (rust-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 178391148 bytes
-SHA1 (rust-1.46.0-i686-unknown-freebsd.tar.gz) = ae44f976ccf0d75fa628111066c837b30fe48552
-RMD160 (rust-1.46.0-i686-unknown-freebsd.tar.gz) = 7192a7ec3466e052adff03276aa4a700056d9c6a
-SHA512 (rust-1.46.0-i686-unknown-freebsd.tar.gz) = 83dc955a5d4ae662cc9d040f63ad4256f4f119840206e9a6cc63a50471e50e0ec2d8ba0d5a08c884be426f0c564e5aac8cdb72f3d53d1dcf9693721fb1907281
-Size (rust-1.46.0-i686-unknown-freebsd.tar.gz) = 148236060 bytes
-SHA1 (rust-1.46.0-i686-unknown-linux-gnu.tar.gz) = 03708900d3b598fb5d0744fc3231717583332480
-RMD160 (rust-1.46.0-i686-unknown-linux-gnu.tar.gz) = b1b0edef4ef59fb45b10651be535e86ab39388cb
-SHA512 (rust-1.46.0-i686-unknown-linux-gnu.tar.gz) = f1c31dd5ff2418558adc066ec28a30397174c98c430fe2d460e7fd8aa69bdf829c4664d6ce0e0865abe0826a2c4b984f657fbdd16434b652c246f9565e726e8e
-Size (rust-1.46.0-i686-unknown-linux-gnu.tar.gz) = 239332716 bytes
-SHA1 (rust-1.46.0-i686-unknown-netbsd.tar.gz) = b0df9421abd4fb83642b70f7e4b2110b7832d7b6
-RMD160 (rust-1.46.0-i686-unknown-netbsd.tar.gz) = 607b734ba3ba0a22e72d90aea6e5a108e7f8349b
-SHA512 (rust-1.46.0-i686-unknown-netbsd.tar.gz) = 9f3fe35d90560d421d2b6451c224ce25e428b503edeff0480ae641816de417114fc4625403c9de9ace25727ba3e96d0724972a1de8ca842436e1cc0b1a7fa3fa
-Size (rust-1.46.0-i686-unknown-netbsd.tar.gz) = 188902391 bytes
-SHA1 (rust-1.46.0-powerpc-unknown-netbsd.tar.gz) = cd9f2ead55fd0a352c49e8b8ec54d3d2dadfac9f
-RMD160 (rust-1.46.0-powerpc-unknown-netbsd.tar.gz) = b7256e0585cc847ee7ce684df7eef9b2c3b33cab
-SHA512 (rust-1.46.0-powerpc-unknown-netbsd.tar.gz) = cec587e5f637e98b7e84dbb98a7909761ff542a11db4a8bba803c23c5506f3e295c978a44d58b8dc04e1922eaa84a8975e51e94d6468a389a8269b4112be734a
-Size (rust-1.46.0-powerpc-unknown-netbsd.tar.gz) = 203327311 bytes
-SHA1 (rust-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 351da480de1729ed2b71da77db33125bace91502
-RMD160 (rust-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 31e921ff8afa8d5fb10bde7c978db0201c2f416e
-SHA512 (rust-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 246db3de65be1f15f258a2fc0d1a8581fd7f79b9f268b3c0f4a5d2c568128015d9ee1a58764554adc391511b2456be1865bbba1ab8157ea326056d40cf21221b
-Size (rust-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 205741294 bytes
-SHA1 (rust-1.46.0-sparc64-unknown-netbsd.tar.gz) = 81496a47afde128a6e218372120d246443f4b8b6
-RMD160 (rust-1.46.0-sparc64-unknown-netbsd.tar.gz) = 1cc4cef2f9cfd870c880f968f9e1f0886c7a3005
-SHA512 (rust-1.46.0-sparc64-unknown-netbsd.tar.gz) = 13b71a650d6c654bf226d2e576e56f502bc09135db467e72bfc6a72a3487aa42a53ae5b3f8d5872cb5d984038c1331eaf2520e64fd54fa9b9342e8593f96bdda
-Size (rust-1.46.0-sparc64-unknown-netbsd.tar.gz) = 194861080 bytes
-SHA1 (rust-1.46.0-x86_64-apple-darwin.tar.gz) = ab50631713ba1ea0c9cf8759d4a4773dc2583133
-RMD160 (rust-1.46.0-x86_64-apple-darwin.tar.gz) = 389cca70b6343be27ba0719803a00117a36b882d
-SHA512 (rust-1.46.0-x86_64-apple-darwin.tar.gz) = a49f3e1205a0cf4419a0c910168f16c5566b665129ca5f7c7ba0b7c885a335672484aecffad1bf2fb8b462d1e08a7f70c5150e1a7394e138eec0e8c7f3ee8d28
-Size (rust-1.46.0-x86_64-apple-darwin.tar.gz) = 200695610 bytes
SHA1 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = 081ed2fab901b7b4fbf5035b731abe7793e927b8
RMD160 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = fdac437710f87a228d4c56b569fc831784f193c5
SHA512 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = cbb5be647b1ee0f2f2074d1e3138e6b1ec69e500e4411342255128b1625cb78797af15e0bc895601d62f43ce50049401b2f88edb7c951a405ee7aa645e4b67cf
Size (rust-1.46.0-x86_64-sun-solaris.tar.gz) = 174780795 bytes
-SHA1 (rust-1.46.0-x86_64-unknown-freebsd.tar.gz) = 8232b2e76f71d56c3e274ca62c44767020926a56
-RMD160 (rust-1.46.0-x86_64-unknown-freebsd.tar.gz) = 6dd5f589bb146c59139a56b023f76b6903d79eff
-SHA512 (rust-1.46.0-x86_64-unknown-freebsd.tar.gz) = 1e1b0dbeaa17e27be58704b7c600d88b53322689a05471e8ffcfd65934b90a3ff4dddc49cbf2be8ae1f069ca4ee6512b5e3aebc7a88ee329baa3d37d12788118
-Size (rust-1.46.0-x86_64-unknown-freebsd.tar.gz) = 148721211 bytes
-SHA1 (rust-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 466e32dbaf6fe105e7d754c1daba4ab32365d3d6
-RMD160 (rust-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 832375edc504d4b7eab308c64db86b4f13c76d4c
-SHA512 (rust-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 1924938ad33a145c022d0880b6d2ae03dc263a2a3c316147f4ec44751d42a74a4280b4a74ea32f1723644f8299e26ddcb0876b12f32ee9a3d359072bfa55be22
-Size (rust-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 220885103 bytes
-SHA1 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = 61956d35f668318f91523edf983ef280c967e4f8
-RMD160 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = f73fe050d4f536bba8577104eb93471a468b714c
-SHA512 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = afaeb235f445a8813838548ee694c90ab71c3a0fc235652ce0d35e932f0609e2be9f5986bd99ed80d03b24e1b1362ccb6db05cb1eff61284a523477b19f34d7a
-Size (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = 154685586 bytes
-SHA1 (rust-std-1.46.0-aarch64-unknown-netbsd.tar.gz) = d04cb25391069a02db58a04e23407c6334d34ae3
-RMD160 (rust-std-1.46.0-aarch64-unknown-netbsd.tar.gz) = ee49ba41901143b8fafe71dad2e0b775458f7fac
-SHA512 (rust-std-1.46.0-aarch64-unknown-netbsd.tar.gz) = 562418e30c7339caec19259fdf4154d3690e913ec1c2f6498f05acd9b877b13527acd7c5daecfe32dc0f0c30142860fcd1315488df0c585190bf96862bf68162
-Size (rust-std-1.46.0-aarch64-unknown-netbsd.tar.gz) = 17642299 bytes
-SHA1 (rust-std-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = c2484f9088ac95a9121608a56b115fa5399cfea7
-RMD160 (rust-std-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 32db03fbc65dcc85ab3336ba1ae6093977652683
-SHA512 (rust-std-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 2400ff368953bd65b90b52354d1c037a6fe6ea1f9ede3cd7388678107af799b717187921716b5a479647e940010a746facadcc4a5d03106a17316132ae290548
-Size (rust-std-1.46.0-armv7-unknown-netbsd-eabihf.tar.gz) = 17330293 bytes
-SHA1 (rust-std-1.46.0-i686-unknown-freebsd.tar.gz) = 71034bf67db32451c92dd1c60ac106f6f47c4d3f
-RMD160 (rust-std-1.46.0-i686-unknown-freebsd.tar.gz) = 900eec237b79d3fd8aa54954c8694d48024d7880
-SHA512 (rust-std-1.46.0-i686-unknown-freebsd.tar.gz) = 1280f7b6571522d635e27c529fe32c4d4b65b796ed5ddf6a62dd64e96ee19136f9437027fcee282998c4b52b959c55590f418dfc17c1576339ccfbe88e9e3419
-Size (rust-std-1.46.0-i686-unknown-freebsd.tar.gz) = 22264630 bytes
-SHA1 (rust-std-1.46.0-i686-unknown-linux-gnu.tar.gz) = 9963b64d434d3119e3bc450f5316251ff79fd812
-RMD160 (rust-std-1.46.0-i686-unknown-linux-gnu.tar.gz) = 8f5fa510347b15c0f7d02f56c5eb849a82dbded4
-SHA512 (rust-std-1.46.0-i686-unknown-linux-gnu.tar.gz) = 64172faa19ef725748a3b219d8cdd3d919ceca61ee8dd3fdb11b6ef540f4956b759eb589888af83829bd5f95c033b0a528115a996b41e09c3dfa090b7aba5438
-Size (rust-std-1.46.0-i686-unknown-linux-gnu.tar.gz) = 22931718 bytes
-SHA1 (rust-std-1.46.0-i686-unknown-netbsd.tar.gz) = 4df47785a48a91b0e97447437281764617123f52
-RMD160 (rust-std-1.46.0-i686-unknown-netbsd.tar.gz) = de36c4ec1da2923e6df222e1842ab9f862013038
-SHA512 (rust-std-1.46.0-i686-unknown-netbsd.tar.gz) = e343a4be4d7bad99eb34c0a78b85a418b1745b92e01e0366dc4faee785d8abc64db86781508a184298085d6f4fef5e405b7c25a2c47461b4d7dd9ef63526ea25
-Size (rust-std-1.46.0-i686-unknown-netbsd.tar.gz) = 19130660 bytes
-SHA1 (rust-std-1.46.0-powerpc-unknown-netbsd.tar.gz) = 720f9223284f64c46b4a97b03646dbf49bdbd8b9
-RMD160 (rust-std-1.46.0-powerpc-unknown-netbsd.tar.gz) = 383f5d6d0b1d5400c4350f4beb330bb7c845e070
-SHA512 (rust-std-1.46.0-powerpc-unknown-netbsd.tar.gz) = 8c300cfbefe0e6d73da6db23bb29bd53f72f44f1fc141d35bf54b92253ad32f1a67b0a046a062dec748f2fe596b375d29b960de2461537bfdf2b07b2a1f5e812
-Size (rust-std-1.46.0-powerpc-unknown-netbsd.tar.gz) = 17214042 bytes
-SHA1 (rust-std-1.46.0-powerpc-unknown-netbsd90.tar.gz) = e8402adb09f3b6f5f1e2d946326b080b39f85273
-RMD160 (rust-std-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 5cfd6606ba4efafc24510744a2128873134c185a
-SHA512 (rust-std-1.46.0-powerpc-unknown-netbsd90.tar.gz) = fca29cc0d24214e9adbfcef066eba90d8547895d6cb11756437d2c9e546f2177270006c2920d8df2d446167ede4da77e7a44d962c9b0cdef1bce0f2c2025cb1f
-Size (rust-std-1.46.0-powerpc-unknown-netbsd90.tar.gz) = 17215928 bytes
-SHA1 (rust-std-1.46.0-sparc64-unknown-netbsd.tar.gz) = a8c7c0fc2ea161cc7b510fced1ffdd901606c72b
-RMD160 (rust-std-1.46.0-sparc64-unknown-netbsd.tar.gz) = b33198386d7bc104ec2de32391dc743bcf34c90a
-SHA512 (rust-std-1.46.0-sparc64-unknown-netbsd.tar.gz) = 5be3e09c41c30273422364e02c08152b0ad4566cdd9226c7f93b3d2ee4b6b61ff111deeb1f52c78fcdae83e70b45b3b318acb6a419053709d2fdbb976a06bb4c
-Size (rust-std-1.46.0-sparc64-unknown-netbsd.tar.gz) = 17426659 bytes
-SHA1 (rust-std-1.46.0-x86_64-apple-darwin.tar.gz) = b13298974a034fbabd93dfba6555a3a9d5615dfa
-RMD160 (rust-std-1.46.0-x86_64-apple-darwin.tar.gz) = bd8d58fca200428b03603d770beeee8bf94e5de6
-SHA512 (rust-std-1.46.0-x86_64-apple-darwin.tar.gz) = d8d46db3dd54c7b14115bf8da7c96a18dc62e7fcf1605ec3060c0760bd2db960fd9b5e0a22a0b7e39c3429454d60d24d67eca4a546dd8e5acf46aad33113e16b
-Size (rust-std-1.46.0-x86_64-apple-darwin.tar.gz) = 22888748 bytes
-SHA1 (rust-std-1.46.0-x86_64-unknown-freebsd.tar.gz) = 04bf127ce1d9037d8bd6eb5ca7fb86c0a34a8af1
-RMD160 (rust-std-1.46.0-x86_64-unknown-freebsd.tar.gz) = 02f08dbccf2db9cfbcca54c295005c77597fef62
-SHA512 (rust-std-1.46.0-x86_64-unknown-freebsd.tar.gz) = 3f55e514aff6dfcc61c1959a94d182d3c6ac0c2ac597de4770f400ade8905259f689b0e92854ed0ede6d82ca8ea2f0934c6acb51eef28e2346f38f8eec63bfec
-Size (rust-std-1.46.0-x86_64-unknown-freebsd.tar.gz) = 22639606 bytes
-SHA1 (rust-std-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = deb1cb9d57777ef630b2acbda60794f902dc5a08
-RMD160 (rust-std-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 928fa8cee3123af975ab3e5bbcc58f8258a37cd9
-SHA512 (rust-std-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 0291f64bb01ca02dbfa8e25c23ff1c90ffc431e8455244e366bc1e88ce3db9ff5de452f744692b5bb3e9c34c50308fe11997737566f378ec3c09ac4345889c8a
-Size (rust-std-1.46.0-x86_64-unknown-linux-gnu.tar.gz) = 26310833 bytes
-SHA1 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 154767516a8f1e358c340d602efa9d86622cb4bd
-RMD160 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 1f504e4f7053246067d0e41ddbcadd85ddf573c6
-SHA512 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 2e3431bfe462408906b4553a181653b68c615bae6170362e73dd125ae538b499cd745cc903ca79db41aff9bff3ce366726c92570be5fa264723be7d7018fbbce
-Size (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 22644831 bytes
-SHA1 (rustc-1.47.0-src.tar.gz) = 5a337c88aeb04a31011037671588fd66b046ca32
-RMD160 (rustc-1.47.0-src.tar.gz) = 2fee85c5e52046982a51eff62f64e123f798ed56
-SHA512 (rustc-1.47.0-src.tar.gz) = a6df9e2d599806eeddbfb35f7dea976781533f63d369a765b8a304221281c9f9e642ff952978f69eaaa0b28740ab5ea566b35ce481097c37fd5117bfec1f43dd
-Size (rustc-1.47.0-src.tar.gz) = 151861620 bytes
+SHA1 (rust-1.47.0-aarch64-unknown-netbsd.tar.gz) = f0b42fe4c567ffb0d83b523854bca4fa67d4167e
+RMD160 (rust-1.47.0-aarch64-unknown-netbsd.tar.gz) = e5d079b0920aa02b16b4a9804867e6d1118833eb
+SHA512 (rust-1.47.0-aarch64-unknown-netbsd.tar.gz) = 169ec96ffaa4acf11a788df32645e2a05eec51577bb9fa1dc6d92138e7b192cfd9cc5cf7233888fc2f92faea9b01e825c6ad12bce22e90cdb3547d921b716072
+Size (rust-1.47.0-aarch64-unknown-netbsd.tar.gz) = 199151437 bytes
+SHA1 (rust-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = af3cd6f8e399bb4bd3b380656bd38be442659d63
+RMD160 (rust-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = 252e5b5acd7127771c3e2efad5d0778261d3e9c7
+SHA512 (rust-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = 8e848269796a8873a6a38280fc6d36126e028fc86a23fc6b10abe9144f0ac3fde8bbaeab94a2fff6f8c6afc472102397b25acad9c941ffb9df675b807abb4e7d
+Size (rust-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = 194009311 bytes
+SHA1 (rust-1.47.0-i686-unknown-freebsd.tar.gz) = 300946572098d0b5a0f0cb478a3db603552b0094
+RMD160 (rust-1.47.0-i686-unknown-freebsd.tar.gz) = df7837448c979ed0236fdca341416970ed318789
+SHA512 (rust-1.47.0-i686-unknown-freebsd.tar.gz) = 3afd2825a595a0b49f70be5208af32d009a893a0503d39a8107c0a7f6aed03388de17d7969952f38e5f17cb8eec797c7b6c0ef4fb7e8753117d25b8f636867b2
+Size (rust-1.47.0-i686-unknown-freebsd.tar.gz) = 165705233 bytes
+SHA1 (rust-1.47.0-i686-unknown-linux-gnu.tar.gz) = 4bfcacb88da06c79cbf4befed7abaf2c68879136
+RMD160 (rust-1.47.0-i686-unknown-linux-gnu.tar.gz) = 18f068c22805456608b317388599c16198fe3577
+SHA512 (rust-1.47.0-i686-unknown-linux-gnu.tar.gz) = e0242669826ea5cdc7c16f76cfb5aa83ea8b258575086e48c60e47b4532f763133ec3d205be262bc2ea6fb34157e71fae1a9851075d88065c2a44bb1aa05c083
+Size (rust-1.47.0-i686-unknown-linux-gnu.tar.gz) = 260725750 bytes
+SHA1 (rust-1.47.0-i686-unknown-netbsd.tar.gz) = 8879f74868b4be0cb3a67e8cb8f0e5012f860886
+RMD160 (rust-1.47.0-i686-unknown-netbsd.tar.gz) = ac76b7f4dcc02869c914078198815c75ab31dede
+SHA512 (rust-1.47.0-i686-unknown-netbsd.tar.gz) = 7adfa7bd4333e51f66747c020e357611078bd043fa198eaff794f1c7052b88f567eca8d072a6d91256524057108985e4c274727dc6b069093329557f6b19a1da
+Size (rust-1.47.0-i686-unknown-netbsd.tar.gz) = 211036337 bytes
+SHA1 (rust-1.47.0-powerpc-unknown-netbsd.tar.gz) = c525e9f7e5522aa5317d2a4cbcfac9be6ad51450
+RMD160 (rust-1.47.0-powerpc-unknown-netbsd.tar.gz) = 505fb203ef2760b4e4b959bb086942086d3869e4
+SHA512 (rust-1.47.0-powerpc-unknown-netbsd.tar.gz) = 244cce86e51069c6e551c396340294b47ac980c86f7c87e0c8e5b0e6d2412d463cb877c17173534198d96880de86bec63d158ec28781f350c5cc37a88ddba57f
+Size (rust-1.47.0-powerpc-unknown-netbsd.tar.gz) = 221658288 bytes
+SHA1 (rust-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 77af4384128f27a8c90927485fdc9d9f317003f3
+RMD160 (rust-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 98d1bfcc425dc36b8c43d2bd660d517903a7d534
+SHA512 (rust-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 5f076f9499c7ff99dc242fd32600b1fae8d95009f4aa7e23bd8d24d5e3fe661c37f861678229e053767da346f43f4ad9198854bcb7cdc583f30f3b3566b811fc
+Size (rust-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 224431630 bytes
+SHA1 (rust-1.47.0-sparc64-unknown-netbsd.tar.gz) = 6fba5170fe900e407df2fb9458dd0b55bbeb3abd
+RMD160 (rust-1.47.0-sparc64-unknown-netbsd.tar.gz) = af00b5c05f4596326ddee34c2b49c83ca82cf0af
+SHA512 (rust-1.47.0-sparc64-unknown-netbsd.tar.gz) = fa7b8171a8fc3cc68e8d01d19ef7cbdd86c972d72b12ff4b82db453cff7ab2737cf877998dbed04110d194a7921c51dbfa7d74290bbf6a032ae47e9c76243750
+Size (rust-1.47.0-sparc64-unknown-netbsd.tar.gz) = 213420565 bytes
+SHA1 (rust-1.47.0-x86_64-apple-darwin.tar.gz) = b6fab31455cab494f6181fadf62a62024e3f04bf
+RMD160 (rust-1.47.0-x86_64-apple-darwin.tar.gz) = 96a923852dcd07403dc99690cbb8a30f8f079b8e
+SHA512 (rust-1.47.0-x86_64-apple-darwin.tar.gz) = a79d0b63c80156071f3c45495aef8c15a21e542ef91ddc82b060fe855435931aff9a033e49489d1bdc99b9fa90c3699c070ec315ba1528ae80c3b04dca386092
+Size (rust-1.47.0-x86_64-apple-darwin.tar.gz) = 217297294 bytes
+SHA1 (rust-1.47.0-x86_64-unknown-freebsd.tar.gz) = 188b6ff63d84c5cc77837a8c0da336a252817193
+RMD160 (rust-1.47.0-x86_64-unknown-freebsd.tar.gz) = 75b1bf671bb213c21e2837b2906a304efed73140
+SHA512 (rust-1.47.0-x86_64-unknown-freebsd.tar.gz) = c7f824a3c30abe88dc1407d9cf3df3a15ae1956bac1440ef840bb8568ba5c90de41752c5fb7911efe6ea2d980e043024a919a91c00baf9818d9860b73e8c095f
+Size (rust-1.47.0-x86_64-unknown-freebsd.tar.gz) = 167054016 bytes
+SHA1 (rust-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = 0490c63e3867f2f08ccb9d59115d4178fe9a2d48
+RMD160 (rust-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = a778edf90b0588410548fe4be0555c8d6af04d83
+SHA512 (rust-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = 71a4e1502fa61343f375e546d32be9c7ef80f5121ed8245fc5bce4fc63a71e5b773860c1c73c30b43b0fe9d925edef83724e5bdee647a57674cc0a49ae80a140
+Size (rust-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = 258961351 bytes
+SHA1 (rust-1.47.0-x86_64-unknown-netbsd.tar.gz) = 7266eda5b62ad3694adf060ae338b377f87a1964
+RMD160 (rust-1.47.0-x86_64-unknown-netbsd.tar.gz) = 3af2c1979828ac4b58f8bac7afab6f74a7c50049
+SHA512 (rust-1.47.0-x86_64-unknown-netbsd.tar.gz) = 8144315817e95bda035bfb4e36d26cc98b05207608153d904a6b844d7fb5b91c05d8b85e835364c61ac03e1abc7de35da9c1f38f14e097821336707ef9bc8103
+Size (rust-1.47.0-x86_64-unknown-netbsd.tar.gz) = 169801360 bytes
+SHA1 (rust-std-1.47.0-aarch64-unknown-netbsd.tar.gz) = 884af2f7056645358eff12d13d9cb31e67144b0c
+RMD160 (rust-std-1.47.0-aarch64-unknown-netbsd.tar.gz) = a103715a5281546f5d980bb24eac6f5967b1ff61
+SHA512 (rust-std-1.47.0-aarch64-unknown-netbsd.tar.gz) = 813507abf2bec48741823315d0b234460ab248da1ff6b0f8eeb72452b7dd9ef80e3fa1df98134204aeced60486d6076ac11cc2f1ce77a370957aa9111a1d1fda
+Size (rust-std-1.47.0-aarch64-unknown-netbsd.tar.gz) = 24376858 bytes
+SHA1 (rust-std-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = d082780034e9c0bafd349f9e3a4e863754e814ac
+RMD160 (rust-std-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = d1decf4edda1898ac80b4529361d13d12a464dae
+SHA512 (rust-std-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = 39d9fb834732a385da7ee931e2e2fea569c484fbe2a582c0c8c487fd1edd82818acf9c88dca792bcc8c6629110dd5f88ff483af86f9c28821922904d999ce762
+Size (rust-std-1.47.0-armv7-unknown-netbsd-eabihf.tar.gz) = 24100214 bytes
+SHA1 (rust-std-1.47.0-i686-unknown-freebsd.tar.gz) = 518fad5ad56029f56d6ff336bd211e6e004eb913
+RMD160 (rust-std-1.47.0-i686-unknown-freebsd.tar.gz) = ab375f9c4c70598f05dd0ebb1b51388b104807a7
+SHA512 (rust-std-1.47.0-i686-unknown-freebsd.tar.gz) = a0b047de934f54db8298409f98e3d96f81d67bcc476a80573c5a3dcc13da9c6e83a0118992a2d6831c5659f08f02421dae9a0b78f2c1e3c5fbc188bdcc2caf4e
+Size (rust-std-1.47.0-i686-unknown-freebsd.tar.gz) = 30859334 bytes
+SHA1 (rust-std-1.47.0-i686-unknown-linux-gnu.tar.gz) = 467467bfe511a6f02b4df1d41254793d4439d537
+RMD160 (rust-std-1.47.0-i686-unknown-linux-gnu.tar.gz) = fe3145387d6294a79df0530cc4a7b57409368644
+SHA512 (rust-std-1.47.0-i686-unknown-linux-gnu.tar.gz) = efe1495c98f400d3d3fc9f720b0102dab5805d4d0117d231e5d7cc0849022ef6230b0c9d84c8d932e039ab79c76cf7368b5f5281af91152fee4219b8dc614275
+Size (rust-std-1.47.0-i686-unknown-linux-gnu.tar.gz) = 31420176 bytes
+SHA1 (rust-std-1.47.0-i686-unknown-netbsd.tar.gz) = 344493acb21c5300948df243bfc09f4e3d2549c4
+RMD160 (rust-std-1.47.0-i686-unknown-netbsd.tar.gz) = 7ac33388f10dbac506103d07c5dedeea5d7189e4
+SHA512 (rust-std-1.47.0-i686-unknown-netbsd.tar.gz) = c50311303f42be9bcc685a325475b171c525ff8b04dacc4909fb3cb7efdf4a6d6727713cb886d65878226220e3ab6b033539c1f45a3ffc8664e6b10b0c1e793e
+Size (rust-std-1.47.0-i686-unknown-netbsd.tar.gz) = 27757522 bytes
+SHA1 (rust-std-1.47.0-powerpc-unknown-netbsd.tar.gz) = 38baf76e558de59734bb8e206f24469edb8bed38
+RMD160 (rust-std-1.47.0-powerpc-unknown-netbsd.tar.gz) = 6695e5f27cd67bc21fe691cb765e75aba1e7f89d
+SHA512 (rust-std-1.47.0-powerpc-unknown-netbsd.tar.gz) = eac80d5eac3a7cb68703c9a3725ef4edfe13492a9663d1523dd1a68bfa583b345e0dec80bc452cb771d22066e4ab6d9487b7be72da6c9c6d6e335e8724b3d7e5
+Size (rust-std-1.47.0-powerpc-unknown-netbsd.tar.gz) = 23960056 bytes
+SHA1 (rust-std-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 525732d0e731c80285db7f2a06f77f094fa4ea9f
+RMD160 (rust-std-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 15f0254a64d644177d706b5dddefd79ede2bf118
+SHA512 (rust-std-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 08a06928090fdd9dcbacca4b9155737ea9bc0eafc16e7a4873caea35e34946ed347f10f79e9f9c630f315f51e64124907cd1f3ad8fa76c99f80243f56378d223
+Size (rust-std-1.47.0-powerpc-unknown-netbsd90.tar.gz) = 23954845 bytes
+SHA1 (rust-std-1.47.0-sparc64-unknown-netbsd.tar.gz) = cfe530888826ef444be25c9e7574cab259667d4a
+RMD160 (rust-std-1.47.0-sparc64-unknown-netbsd.tar.gz) = 5fe62ffada49ef06cfdb9a510e0fc279e65a04fc
+SHA512 (rust-std-1.47.0-sparc64-unknown-netbsd.tar.gz) = dbc3e1d9deea4682e4c6e8558611bf79ae6dafabb99ee119408e2822cc847792cce1174691c37e659b011b6ee14f11d6936a3962e4d8ea32bac9ef7f5da38266
+Size (rust-std-1.47.0-sparc64-unknown-netbsd.tar.gz) = 24246031 bytes
+SHA1 (rust-std-1.47.0-x86_64-apple-darwin.tar.gz) = 170efd4dab0b26a15689a8fe07044f25de23dcb7
+RMD160 (rust-std-1.47.0-x86_64-apple-darwin.tar.gz) = e14974ba0ad1756d19e586fd1323437c46a6928a
+SHA512 (rust-std-1.47.0-x86_64-apple-darwin.tar.gz) = 687f82a95fc3c7ff14611ad0f3322bb64aabc97395edcd3d3f62a9143344ae43e8151f7757eabc4d2c809190d5fc773739909116b94ea230eae83e8032dc3ed0
+Size (rust-std-1.47.0-x86_64-apple-darwin.tar.gz) = 31292294 bytes
+SHA1 (rust-std-1.47.0-x86_64-unknown-freebsd.tar.gz) = f98597b57d0ccb032fd55500c9a955a19fa2f83b
+RMD160 (rust-std-1.47.0-x86_64-unknown-freebsd.tar.gz) = 48d7eb61876ef75c1ba396e914cdf3e84d4fda48
+SHA512 (rust-std-1.47.0-x86_64-unknown-freebsd.tar.gz) = 5f7707a83f69e7dfc73e1b7a88cfad82aa974af04e533bc77073252804b17b40cef16423febcd3d2a994925318631eadcc6103e635f7d7cb13f5ba4f5be197a8
+Size (rust-std-1.47.0-x86_64-unknown-freebsd.tar.gz) = 33406878 bytes
+SHA1 (rust-std-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = e597556b5f3c006b695ec4d6281273077e0f261e
+RMD160 (rust-std-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = c5d7f6bfc6cb36222d855ddcaca10e07977f21c4
+SHA512 (rust-std-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = 7a37d9d910ba2cf5afc44a6951e8b82ff30a26f5ff88f98acdaef6336d5aef3ca50e7ca9814b3ca8d790866f12daf3fcd9aba446e7c7c3a3ff7717c2cd29b453
+Size (rust-std-1.47.0-x86_64-unknown-linux-gnu.tar.gz) = 34935707 bytes
+SHA1 (rust-std-1.47.0-x86_64-unknown-netbsd.tar.gz) = c5cfef99946d0868031bcadd198ca790c82709a2
+RMD160 (rust-std-1.47.0-x86_64-unknown-netbsd.tar.gz) = b463eff178c6ba0bb8f375e079c0e09a6bd00834
+SHA512 (rust-std-1.47.0-x86_64-unknown-netbsd.tar.gz) = 5696d3ad8db20e250dc4d93130160b61b7e359623b0838edd8a836cc126264dcdccddba7f50c968d98c02472880ebffe2057f48b2ab2c8cab7be54eb708ad3ef
+Size (rust-std-1.47.0-x86_64-unknown-netbsd.tar.gz) = 30938962 bytes
+SHA1 (rustc-1.48.0-src.tar.gz) = a26f089d27c9cc283a7305fc8ece6b4674a036fd
+RMD160 (rustc-1.48.0-src.tar.gz) = 28b6c2319a29c8f4282bf15da2c97d8c43bb27e1
+SHA512 (rustc-1.48.0-src.tar.gz) = e28e5f0813cfd94fb92399a2d64aa19bdf0933b5fc768ea10da2a5b787c94bac6a5efb98b2c3702da3d1c46c6766b157df3727e5845b4b83a237b44ec45b27ba
+Size (rustc-1.48.0-src.tar.gz) = 154487032 bytes
+SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 72746bbf0fa5e72fe151c95e3876b9eb1e70ae39
+SHA1 (patch-compiler_rustc__llvm_build.rs) = 42ff9f15004426e9e6d134bf1364df997f78964d
+SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 61d2a0d0d7947a7e272c97a5bb773b6e2d6d3a81
+SHA1 (patch-compiler_rustc__target_src_spec_solaris__base.rs) = 362534c5af4d59d33e049fb771df0fc9f8d8505b
+SHA1 (patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs) = ba9216104891f8d2c239c9dd8d62e2c0c444360c
+SHA1 (patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure) = 5dc1cfc843894156b513c86453db5032917a5529
SHA1 (patch-library_std_build.rs) = c69af2a424bca60bc91741b8d4cb5fd633bbacca
+SHA1 (patch-library_std_src_os_linux_fs.rs) = 33c5e22c9a15c01898a5ffe2d7091e78381ec120
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) = 5dd33ec8458cdcc6f1780d98c7e0b8e7a93e00d9
+SHA1 (patch-src_bootstrap_builder.rs) = 59d7ac0c525f232ed5d89ef725b6cad9fa13d23f
SHA1 (patch-src_bootstrap_compile.rs) = 67d5ad13e13e6818535a319f55e990d511e7b83f
SHA1 (patch-src_bootstrap_lib.rs) = 3277f2be69a269ac761a2a6ab4d5389d121e6ca6
-SHA1 (patch-src_librustc__codegen__ssa_back_linker.rs) = e7c592f78b9ee317521cf0258686173a31f1d2e0
-SHA1 (patch-src_librustc__llvm_build.rs) = 7cc2aa0568aa2cbf4eb1fdbb00922b10df0b3ff6
-SHA1 (patch-src_librustc__target_spec_netbsd__base.rs) = 841d8fd276b0f48b15e9010e1c170da93888fd9f
-SHA1 (patch-src_librustc__target_spec_solaris__base.rs) = 5ed283e5ead1ec60f0c9879fa3c8190248976dc7
-SHA1 (patch-src_librustc__target_spec_x86__64__sun__solaris.rs) = f6ad33b41906bbf83a1cbd0e2fe13a4da37266fa
SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427
SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = bfdf8dc323cc5e59e880627fc7a240be805941d8
SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = 7588a46aaa277ef04b33ac6d904b9d1d81579f2a
@@ -128,4 +130,6 @@ SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 51af64526db55abcf6b4b3165df314
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_net2_src_ext.rs) = 5c34f3eaaa0589eefe14d374d34fadd4900565fd
+SHA1 (patch-vendor_openssl-src_src_lib.rs) = 1512fa1da8c19aebca27ac5576293b7e7447aa40
SHA1 (patch-vendor_stacker_src_lib.rs) = 2f4db9971c0558ec7034052c810b8c8be80c4ae3
diff --git a/lang/rust/options.mk b/lang/rust/options.mk
index 4af966e7d41..b0ec210b252 100644
--- a/lang/rust/options.mk
+++ b/lang/rust/options.mk
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.7 2020/06/24 09:46:26 nia Exp $
+# $NetBSD: options.mk,v 1.8 2021/01/01 20:44:48 he Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.rust
PKG_SUPPORTED_OPTIONS= # empty
@@ -14,6 +14,9 @@ PKG_SUGGESTED_OPTIONS+= rust-llvm
. endif
.endif
+PKG_SUPPORTED_OPTIONS+= rust-cargo-static
+PKG_SUGGESTED_OPTIONS+= rust-cargo-static
+
.include "../../mk/bsd.options.mk"
#
@@ -30,3 +33,16 @@ CONFIGURE_ARGS+= --llvm-root=${BUILDLINK_PREFIX.llvm}
# XXX: fix for Rust 1.41.0 https://github.com/rust-lang/rust/issues/68714
MAKE_ENV+= LIBRARY_PATH=${BUILDLINK_PREFIX.llvm}/lib
.endif
+
+#
+# Link cargo statically against "native" libraries.
+# (openssl and curl specifically).
+#
+.if !empty(PKG_OPTIONS:Mrust-cargo-static)
+CONFIGURE_ARGS+= --enable-cargo-native-static
+.else
+BUILDLINK_API_DEPENDS.nghttp2+= nghttp2>=1.41.0
+BUILDLINK_API_DEPENDS.curl+= curl>=7.67.0
+.include "../../www/curl/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.endif
diff --git a/lang/rust/patches/patch-src_librustc__codegen__ssa_back_linker.rs b/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
index 0def539aacf..0bedd5d21af 100644
--- a/lang/rust/patches/patch-src_librustc__codegen__ssa_back_linker.rs
+++ b/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_librustc__codegen__ssa_back_linker.rs,v 1.1 2019/09/09 16:19:49 adam Exp $
+$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.1 2021/01/01 20:44:48 he Exp $
Do not use @rpath on Darwin.
---- src/librustc_codegen_ssa/back/linker.rs.orig 2019-09-06 11:20:11.000000000 +0000
-+++ src/librustc_codegen_ssa/back/linker.rs
-@@ -362,7 +362,7 @@ impl<'a> Linker for GccLinker<'a> {
+--- compiler/rustc_codegen_ssa/src/back/linker.rs.orig 2020-11-16 14:01:53.000000000 +0000
++++ compiler/rustc_codegen_ssa/src/back/linker.rs
+@@ -244,7 +244,7 @@ impl<'a> GccLinker<'a> {
// the right `-Wl,-install_name` with an `@rpath` in it.
if self.sess.opts.cg.rpath || self.sess.opts.debugging_opts.osx_rpath_install_name {
self.linker_arg("-install_name");
diff --git a/lang/rust/patches/patch-src_librustc__llvm_build.rs b/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
index 7398c1e4426..f82dedc7ffd 100644
--- a/lang/rust/patches/patch-src_librustc__llvm_build.rs
+++ b/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
@@ -1,9 +1,9 @@
-$NetBSD: patch-src_librustc__llvm_build.rs,v 1.6 2019/09/19 17:37:29 jperkin Exp $
+$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.1 2021/01/01 20:44:48 he Exp $
fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
---- src/librustc_llvm/build.rs.orig 2019-08-13 06:27:22.000000000 +0000
-+++ src/librustc_llvm/build.rs
+--- compiler/rustc_llvm/build.rs.orig 2019-08-13 06:27:22.000000000 +0000
++++ compiler/rustc_llvm/build.rs
@@ -261,7 +261,13 @@ fn main() {
"c++"
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
diff --git a/lang/rust/patches/patch-src_librustc__target_spec_netbsd__base.rs b/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs
index c34da3b36d6..2954dc4255c 100644
--- a/lang/rust/patches/patch-src_librustc__target_spec_netbsd__base.rs
+++ b/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_librustc__target_spec_netbsd__base.rs,v 1.1 2020/11/29 20:15:15 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_netbsd__base.rs,v 1.1 2021/01/01 20:44:48 he Exp $
For the benefit of powerpc, when libatomic-links is installed,
search the directory containing the symlinks to -latomic.
---- src/librustc_target/spec/netbsd_base.rs.orig 2020-08-24 15:00:49.000000000 +0000
-+++ src/librustc_target/spec/netbsd_base.rs
+--- compiler/rustc_target/src/spec/netbsd_base.rs.orig 2020-08-24 15:00:49.000000000 +0000
++++ compiler/rustc_target/src/spec/netbsd_base.rs
@@ -10,6 +10,8 @@ pub fn opts() -> TargetOptions {
// libraries which follow this flag. Thus, use it before
// specifying libraries to link to.
diff --git a/lang/rust/patches/patch-src_librustc__target_spec_solaris__base.rs b/lang/rust/patches/patch-compiler_rustc__target_src_spec_solaris__base.rs
index f2d4c602fe9..925e078e3c4 100644
--- a/lang/rust/patches/patch-src_librustc__target_spec_solaris__base.rs
+++ b/lang/rust/patches/patch-compiler_rustc__target_src_spec_solaris__base.rs
@@ -1,9 +1,9 @@
-$NetBSD: patch-src_librustc__target_spec_solaris__base.rs,v 1.4 2020/10/28 11:16:46 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_solaris__base.rs,v 1.1 2021/01/01 20:44:48 he Exp $
Enable frame pointers on SunOS.
---- src/librustc_target/spec/solaris_base.rs.orig 2020-08-24 15:00:49.000000000 +0000
-+++ src/librustc_target/spec/solaris_base.rs
+--- compiler/rustc_target/src/spec/solaris_base.rs.orig 2020-08-24 15:00:49.000000000 +0000
++++ compiler/rustc_target/src/spec/solaris_base.rs
@@ -7,6 +7,7 @@ pub fn opts() -> TargetOptions {
has_rpath: true,
target_family: Some("unix".to_string()),
diff --git a/lang/rust/patches/patch-src_librustc__target_spec_x86__64__sun__solaris.rs b/lang/rust/patches/patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs
index 9401273cf74..4341de23ae5 100644
--- a/lang/rust/patches/patch-src_librustc__target_spec_x86__64__sun__solaris.rs
+++ b/lang/rust/patches/patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs
@@ -1,9 +1,9 @@
-$NetBSD: patch-src_librustc__target_spec_x86__64__sun__solaris.rs,v 1.1 2019/05/31 14:11:23 jperkin Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs,v 1.1 2021/01/01 20:44:48 he Exp $
Enable stack probes on SunOS.
---- src/librustc_target/spec/x86_64_sun_solaris.rs.orig 2019-01-16 09:30:27.000000000 +0000
-+++ src/librustc_target/spec/x86_64_sun_solaris.rs
+--- compiler/rustc_target/src/spec/x86_64_sun_solaris.rs.orig 2019-01-16 09:30:27.000000000 +0000
++++ compiler/rustc_target/src/spec/x86_64_sun_solaris.rs
@@ -15,7 +15,7 @@ pub fn target() -> TargetResult {
base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]);
base.cpu = "x86-64".to_string();
diff --git a/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure b/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure
new file mode 100644
index 00000000000..db1df0ebdb7
--- /dev/null
+++ b/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure
@@ -0,0 +1,15 @@
+$NetBSD: patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure,v 1.1 2021/01/01 20:44:48 he Exp $
+
+Use pkgsrc libtool.
+
+--- library/backtrace/crates/backtrace-sys/src/libbacktrace/configure.orig 2020-10-07 08:04:03.000000000 +0000
++++ library/backtrace/crates/backtrace-sys/src/libbacktrace/configure
+@@ -7916,7 +7916,7 @@ fi
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='libtool'
+
+
+
diff --git a/lang/rust/patches/patch-library_std_src_os_linux_fs.rs b/lang/rust/patches/patch-library_std_src_os_linux_fs.rs
new file mode 100644
index 00000000000..65081b13b59
--- /dev/null
+++ b/lang/rust/patches/patch-library_std_src_os_linux_fs.rs
@@ -0,0 +1,16 @@
+$NetBSD: patch-library_std_src_os_linux_fs.rs,v 1.1 2021/01/01 20:44:48 he Exp $
+
+Disambiguate reference; on some targets we get a warning turned into
+error that this is both a function and a struct.
+
+--- library/std/src/os/linux/fs.rs.orig 2020-11-16 14:01:53.000000000 +0000
++++ library/std/src/os/linux/fs.rs
+@@ -20,7 +20,7 @@ pub trait MetadataExt {
+ /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the
+ /// cross-Unix abstractions contained within the raw stat.
+ ///
+- /// [`stat`]: crate::os::linux::raw::stat
++ /// [`stat`]: struct@crate::os::linux::raw::stat
+ ///
+ /// # Examples
+ ///
diff --git a/lang/rust/patches/patch-src_bootstrap_builder.rs b/lang/rust/patches/patch-src_bootstrap_builder.rs
index d392ad4ffb9..930a52ac46c 100644
--- a/lang/rust/patches/patch-src_bootstrap_builder.rs
+++ b/lang/rust/patches/patch-src_bootstrap_builder.rs
@@ -1,21 +1,21 @@
-$NetBSD: patch-src_bootstrap_builder.rs,v 1.11 2020/07/06 13:56:32 he Exp $
+$NetBSD: patch-src_bootstrap_builder.rs,v 1.12 2021/01/01 20:44:48 he Exp $
Do not install 'src'.
Use @PREFIX@, not $ORIGIN in rpath.
Fix RPATH for pkgsrc.
---- src/bootstrap/builder.rs.orig 2020-01-27 15:34:02.000000000 +0000
+--- src/bootstrap/builder.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ src/bootstrap/builder.rs
-@@ -454,7 +454,6 @@ impl<'a> Builder<'a> {
+@@ -475,7 +475,6 @@ impl<'a> Builder<'a> {
install::Clippy,
install::Miri,
install::Analysis,
- install::Src,
install::Rustc
),
- Kind::Run => describe!(run::ExpandYamlAnchors,),
-@@ -956,7 +955,7 @@ impl<'a> Builder<'a> {
+ Kind::Run => describe!(run::ExpandYamlAnchors, run::BuildManifest,),
+@@ -1001,7 +1000,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-vendor_net2_src_ext.rs b/lang/rust/patches/patch-vendor_net2_src_ext.rs
new file mode 100644
index 00000000000..ad8d594db7a
--- /dev/null
+++ b/lang/rust/patches/patch-vendor_net2_src_ext.rs
@@ -0,0 +1,17 @@
+$NetBSD: patch-vendor_net2_src_ext.rs,v 1.3 2021/01/01 20:44:48 he Exp $
+
+It looks like NetBSD doesn't need the same tweak as OpenBSD
+to use SO_KEEPALIVE instead of TCP_KEEPIDLE when specifying
+TCP-layer keepalive value.
+
+--- vendor/net2/src/ext.rs.orig 2020-11-16 14:27:49.000000000 +0000
++++ vendor/net2/src/ext.rs
+@@ -668,7 +668,7 @@ impl<T: AsRawSocket> AsSock for T {
+ cfg_if! {
+ if #[cfg(any(target_os = "macos", target_os = "ios"))] {
+ use libc::TCP_KEEPALIVE as KEEPALIVE_OPTION;
+- } else if #[cfg(any(target_os = "haiku", target_os = "netbsd", target_os = "openbsd"))] {
++ } else if #[cfg(any(target_os = "haiku", target_os = "openbsd"))] {
+ use libc::SO_KEEPALIVE as KEEPALIVE_OPTION;
+ } else if #[cfg(unix)] {
+ use libc::TCP_KEEPIDLE as KEEPALIVE_OPTION;
diff --git a/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs b/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
new file mode 100644
index 00000000000..f3296eb6c55
--- /dev/null
+++ b/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
@@ -0,0 +1,44 @@
+$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.1 2021/01/01 20:44:48 he Exp $
+
+Provide defaults for the various NetBSD targets.
+
+--- vendor/openssl-src/src/lib.rs.orig 2020-11-16 14:27:50.000000000 +0000
++++ vendor/openssl-src/src/lib.rs
+@@ -167,6 +167,7 @@ impl Build {
+ "aarch64-unknown-freebsd" => "BSD-generic64",
+ "aarch64-unknown-linux-gnu" => "linux-aarch64",
+ "aarch64-unknown-linux-musl" => "linux-aarch64",
++ "aarch64-unknown-netbsd" => "BSD-generic64",
+ "aarch64-pc-windows-msvc" => "VC-WIN64-ARM",
+ "arm-linux-androideabi" => "linux-armv4",
+ "armv7-linux-androideabi" => "linux-armv4",
+@@ -178,6 +179,7 @@ impl Build {
+ "armv7-unknown-freebsd" => "BSD-generic32",
+ "armv7-unknown-linux-gnueabihf" => "linux-armv4",
+ "armv7-unknown-linux-musleabihf" => "linux-armv4",
++ "armv7-unknown-netbsd-eabihf" => "BSD-generic32",
+ "asmjs-unknown-emscripten" => "gcc",
+ "i686-apple-darwin" => "darwin-i386-cc",
+ "i686-linux-android" => "linux-elf",
+@@ -186,6 +188,7 @@ impl Build {
+ "i686-unknown-freebsd" => "BSD-x86-elf",
+ "i686-unknown-linux-gnu" => "linux-elf",
+ "i686-unknown-linux-musl" => "linux-elf",
++ "i686-unknown-netbsd" => "BSD-x86-elf",
+ "mips-unknown-linux-gnu" => "linux-mips32",
+ "mips-unknown-linux-musl" => "linux-mips32",
+ "mips64-unknown-linux-gnuabi64" => "linux64-mips64",
+@@ -193,11 +196,13 @@ impl Build {
+ "mipsel-unknown-linux-gnu" => "linux-mips32",
+ "mipsel-unknown-linux-musl" => "linux-mips32",
+ "powerpc-unknown-linux-gnu" => "linux-ppc",
++ "powerpc-unknown-netbsd" => "BSD-generic32",
+ "powerpc64-unknown-freebsd" => "BSD-generic64",
+ "powerpc64-unknown-linux-gnu" => "linux-ppc64",
+ "powerpc64le-unknown-linux-gnu" => "linux-ppc64le",
+ "riscv64gc-unknown-linux-gnu" => "linux-generic64",
+ "s390x-unknown-linux-gnu" => "linux64-s390x",
++ "sparc64-unknown-netbsd" => "BSD-generic64",
+ "x86_64-apple-darwin" => "darwin64-x86_64-cc",
+ "x86_64-linux-android" => "linux-x86_64",
+ "x86_64-pc-windows-gnu" => "mingw64",