pkgsrc-Changes archive

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

CVS commit: pkgsrc/lang/rust



Module Name:    pkgsrc
Committed By:   jperkin
Date:           Thu Aug  6 11:42:57 UTC 2020

Modified Files:
        pkgsrc/lang/rust: Makefile cargo.mk distinfo platform.mk
        pkgsrc/lang/rust/patches:
            patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
            patch-vendor_libssh2-sys_libssh2_Makefile.am
Added Files:
        pkgsrc/lang/rust/patches: patch-vendor_rand-0.6.1_src_rngs_os.rs
            patch-vendor_stacker_src_lib.rs patch-vendor_tokio-uds_src_ucred.rs
Removed Files:
        pkgsrc/lang/rust/patches: patch-src_vendor_rand-0.6.1_src_rngs_os.rs

Log Message:
rust: Update to version 1.45.2.

While here clean up all pkglint warnings.  Changes since 1.44.1:

Version 1.45.2 (2020-08-03)
==========================

* [Fix bindings in tuple struct patterns][74954]
* [Fix track_caller integration with trait objects][74784]

[74954]: https://github.com/rust-lang/rust/issues/74954
[74784]: https://github.com/rust-lang/rust/issues/74784

Version 1.45.1 (2020-07-30)
==========================

* [Fix const propagation with references.][73613]
* [rustfmt accepts rustfmt_skip in cfg_attr again.][73078]
* [Avoid spurious implicit region bound.][74509]
* [Install clippy on x.py install][74457]

[73613]: https://github.com/rust-lang/rust/pull/73613
[73078]: https://github.com/rust-lang/rust/issues/73078
[74509]: https://github.com/rust-lang/rust/pull/74509
[74457]: https://github.com/rust-lang/rust/pull/74457

Version 1.45.0 (2020-07-16)
==========================

Language
--------
- [Out of range float to int conversions using `as` has been defined as a saturating
  conversion.][71269] This was previously undefined behaviour, but you can use the
   `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which
   may be desirable in rare performance sensitive situations.
- [`mem::Discriminant<T>` now uses `T`'s discriminant type instead of always
  using `u64`.][70705]
- [Function like procedural macros can now be used in expression, pattern, and  statement
  positions.][68717] This means you can now use a function-like procedural macro
  anywhere you can use a declarative (`macro_rules!`) macro.

Compiler
--------
- [You can now override individual target features through the `target-feature`
  flag.][72094] E.g. `-C target-feature=+avx2 -C target-feature=+fma` is now
  equivalent to `-C target-feature=+avx2,+fma`.
- [Added the `force-unwind-tables` flag.][69984] This option allows
  rustc to always generate unwind tables regardless of panic strategy.
- [Added the `embed-bitcode` flag.][71716] This codegen flag allows rustc
  to include LLVM bitcode into generated `rlib`s (this is on by default).
- [Added the `tiny` value to the `code-model` codegen flag.][72397]
- [Added tier 3 support\* for the `mipsel-sony-psp` target.][72062]
- [Added tier 3 support for the `thumbv7a-uwp-windows-msvc` target.][72133]

\* Refer to Rust's [platform support page][forge-platform-support] for more
information on Rust's tiered platform support.

Libraries
---------
- [`net::{SocketAddr, SocketAddrV4, SocketAddrV6}` now implements `PartialOrd`
  and `Ord`.][72239]
- [`proc_macro::TokenStream` now implements `Default`.][72234]
- [You can now use `char` with
  `ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}` to iterate over
  a range of codepoints.][72413] E.g.
  you can now write the following;
  ```rust
  for ch in 'a'..='z' {
      print!("{}", ch);
  }
  println!();
  // Prints "abcdefghijklmnopqrstuvwxyz"
  ```
- [`OsString` now implements `FromStr`.][71662]
- [The `saturating_neg` method as been added to all signed integer primitive
  types, and the `saturating_abs` method has been added for all integer
  primitive types.][71886]
- [`Arc<T>`, `Rc<T>` now implement  `From<Cow<'_, T>>`, and `Box` now
  implements `From<Cow>` when `T` is `[T: Copy]`, `str`, `CStr`, `OsStr`,
  or `Path`.][71447]
- [`Box<[T]>` now implements `From<[T; N]>`.][71095]
- [`BitOr` and `BitOrAssign` are implemented for all `NonZero`
  integer types.][69813]
- [The `fetch_min`, and `fetch_max` methods have been added to all atomic
  integer types.][72324]
- [The `fetch_update` method has been added to all atomic integer types.][71843]

Stabilized APIs
---------------
- [`Arc::as_ptr`]
- [`BTreeMap::remove_entry`]
- [`Rc::as_ptr`]
- [`rc::Weak::as_ptr`]
- [`rc::Weak::from_raw`]
- [`rc::Weak::into_raw`]
- [`str::strip_prefix`]
- [`str::strip_suffix`]
- [`sync::Weak::as_ptr`]
- [`sync::Weak::from_raw`]
- [`sync::Weak::into_raw`]
- [`char::UNICODE_VERSION`]
- [`Span::resolved_at`]
- [`Span::located_at`]
- [`Span::mixed_site`]
- [`unix::process::CommandExt::arg0`]

Cargo
-----

Misc
----
- [Rustdoc now supports strikethrough text in Markdown.][71928] E.g.
  `~~outdated information~~` becomes "~~outdated information~~".
- [Added an emoji to Rustdoc's deprecated API message.][72014]

Compatibility Notes
-------------------
- [Trying to self initialize a static value (that is creating a value using
  itself) is unsound and now causes a compile error.][71140]
- [`{f32, f64}::powi` now returns a slightly different value on Windows.][73420]
  This is due to changes in LLVM's intrinsics which `{f32, f64}::powi` uses.
- [Rustdoc's CLI's extra error exit codes have been removed.][71900] These were
  previously undocumented and not intended for public use. Rustdoc still provides
  a non-zero exit code on errors.

Internals Only
--------------
- [Make clippy a git subtree instead of a git submodule][70655]
- [Unify the undo log of all snapshot types][69464]

[73420]: https://github.com/rust-lang/rust/issues/73420/
[72324]: https://github.com/rust-lang/rust/pull/72324/
[71843]: https://github.com/rust-lang/rust/pull/71843/
[71886]: https://github.com/rust-lang/rust/pull/71886/
[72234]: https://github.com/rust-lang/rust/pull/72234/
[72239]: https://github.com/rust-lang/rust/pull/72239/
[72397]: https://github.com/rust-lang/rust/pull/72397/
[72413]: https://github.com/rust-lang/rust/pull/72413/
[72014]: https://github.com/rust-lang/rust/pull/72014/
[72062]: https://github.com/rust-lang/rust/pull/72062/
[72094]: https://github.com/rust-lang/rust/pull/72094/
[72133]: https://github.com/rust-lang/rust/pull/72133/
[71900]: https://github.com/rust-lang/rust/pull/71900/
[71928]: https://github.com/rust-lang/rust/pull/71928/
[71662]: https://github.com/rust-lang/rust/pull/71662/
[71716]: https://github.com/rust-lang/rust/pull/71716/
[71447]: https://github.com/rust-lang/rust/pull/71447/
[71269]: https://github.com/rust-lang/rust/pull/71269/
[71095]: https://github.com/rust-lang/rust/pull/71095/
[71140]: https://github.com/rust-lang/rust/pull/71140/
[70655]: https://github.com/rust-lang/rust/pull/70655/
[70705]: https://github.com/rust-lang/rust/pull/70705/
[69984]: https://github.com/rust-lang/rust/pull/69984/
[69813]: https://github.com/rust-lang/rust/pull/69813/
[69464]: https://github.com/rust-lang/rust/pull/69464/
[68717]: https://github.com/rust-lang/rust/pull/68717/
[`Arc::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.as_ptr
[`BTreeMap::remove_entry`]: https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.remove_entry
[`Rc::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.as_ptr
[`rc::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.as_ptr
[`rc::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.from_raw
[`rc::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.into_raw
[`sync::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.as_ptr
[`sync::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.from_raw
[`sync::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.into_raw
[`str::strip_prefix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_prefix
[`str::strip_suffix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_suffix
[`char::UNICODE_VERSION`]: https://doc.rust-lang.org/stable/std/char/constant.UNICODE_VERSION.html
[`Span::resolved_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.resolved_at
[`Span::located_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.located_at
[`Span::mixed_site`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.mixed_site
[`unix::process::CommandExt::arg0`]: https://doc.rust-lang.org/std/os/unix/process/trait.CommandExt.html#tymethod.arg0


To generate a diff of this commit:
cvs rdiff -u -r1.187 -r1.188 pkgsrc/lang/rust/Makefile
cvs rdiff -u -r1.17 -r1.18 pkgsrc/lang/rust/cargo.mk
cvs rdiff -u -r1.117 -r1.118 pkgsrc/lang/rust/distinfo
cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/rust/platform.mk
cvs rdiff -u -r1.2 -r1.3 \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/lang/rust/patches/patch-src_vendor_rand-0.6.1_src_rngs_os.rs
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/lang/rust/patches/patch-vendor_rand-0.6.1_src_rngs_os.rs \
    pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_tokio-uds_src_ucred.rs

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/rust/Makefile
diff -u pkgsrc/lang/rust/Makefile:1.187 pkgsrc/lang/rust/Makefile:1.188
--- pkgsrc/lang/rust/Makefile:1.187     Wed Jul  8 14:46:14 2020
+++ pkgsrc/lang/rust/Makefile   Thu Aug  6 11:42:56 2020
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.187 2020/07/08 14:46:14 jperkin Exp $
+# $NetBSD: Makefile,v 1.188 2020/08/06 11:42:56 jperkin Exp $
 
-DISTNAME=      rustc-1.44.1-src
+DISTNAME=      rustc-1.45.2-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
 CATEGORIES=    lang
 MASTER_SITES=  http://static.rust-lang.org/dist/
@@ -156,16 +156,8 @@ BUILDLINK_TRANSFORM.NetBSD+=       rm:-Wl,--en
 #
 DISTFILES:=            ${DEFAULT_DISTFILES}
 
-.if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.41.1
-RUST_ARCH:=            i686-apple-darwin
-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:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -173,7 +165,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -181,7 +173,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -189,7 +181,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 RUST_ARCH:=            x86_64-sun-solaris
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 SITES.${RUST_STAGE0}=  https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
@@ -198,7 +190,7 @@ RUST_BOOTSTRAP_PATH?=       ${WRKDIR}/rust-${R
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -206,7 +198,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -214,7 +206,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -231,7 +223,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.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -239,7 +231,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 RUST_ARCH=             powerpc-unknown-netbsd
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -249,7 +241,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -259,7 +251,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 pre-build-fix:
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.43.1
+RUST_STAGE0_VER=       1.44.1
 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
@@ -340,10 +332,18 @@ CKSUMS+=  baa97a46744047bef086334ed9a63b3
 CKSUMS+=       8d8a171090b75e86e7505921460fba072db0077942edd11c4a3c8a70e9164eef
 CKSUMS+=       7ad3b486020bd652ad7c5af752f039c30ee0099c86ff6b6f336587db7a2bc523
 
+CKSUM_CRATES+= vendor/stacker
+CKSUMS+=       0f3602e048ab4bc5304226b9c171aee46bd58d0e354ead9c7d2ba6ac6d6f262f
+CKSUMS+=       978a71088fd5b6116eb9839d311b34a701d1429928fc536de872c2e5cd74dec8
+
 CKSUM_CRATES+= vendor/time
 CKSUMS+=       4f6bc5c6300c2d49da7d21615152872e16d53c0f02540824f48c45edd4d3140f
 CKSUMS+=       6d460b1899de033f625ccb13b1e3ba28cd338980a8c88c518a18749a079bafc3
 
+CKSUM_CRATES+= vendor/tokio-uds
+CKSUMS+=       2d4ba4a488ebc43333a5a89dbf1bf614d157e916e97b0364c06e3056d5865913
+CKSUMS+=       9b9f0d753fdd362defe0c28c118b80dee04a8d736c5b090a62560e9bc771c7ea
+
 SUBST_CLASSES+=                cksum
 SUBST_STAGE.cksum=     pre-configure
 .for crate in ${CKSUM_CRATES}
@@ -403,9 +403,6 @@ do-install:
        && ${_ULIMIT_CMD} ${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
                ${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
 
-GENERATE_PLIST+=       find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
-                       sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
-
 .if ${OPSYS} == "Darwin"
 .PHONY: fix-darwin-install-name
 post-install: fix-darwin-install-name
@@ -415,6 +412,9 @@ fix-darwin-install-name:
        done
 .endif
 
+GENERATE_PLIST+=       ${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
+                       ${SED} -e 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
+
 # Create a relocatable stage2 bootstrap from the bits we just built that can be
 # used to build the next version of rust.  Currently only tested on SmartOS.
 #
@@ -427,6 +427,7 @@ USE_TOOLS+=         gtar
 # cannot extend the length of the RPATH...
 ELFEDIT?=      /usr/bin/elfedit
 
+.PHONY: stage0-bootstrap
 stage0-bootstrap: install
        ${RM} -rf ${BOOTSTRAP_TMPDIR}
        ${MKDIR} ${BOOTSTRAP_TMPDIR}
@@ -478,7 +479,8 @@ stage0-bootstrap: install
                   libssh2.so.1 libunistring.so.2; do \
                ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
        done
-       for f in ${BOOTSTRAP_TMPDIR}/bin/{cargo*,clippy*,rls,rustc,rustdoc,rustfmt}; do \
+       for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \
+               /bin/file -b "$$f" | grep ^ELF >/dev/null || continue; \
                ${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \
        done
        for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \

Index: pkgsrc/lang/rust/cargo.mk
diff -u pkgsrc/lang/rust/cargo.mk:1.17 pkgsrc/lang/rust/cargo.mk:1.18
--- pkgsrc/lang/rust/cargo.mk:1.17      Sun Jun 14 15:33:27 2020
+++ pkgsrc/lang/rust/cargo.mk   Thu Aug  6 11:42:56 2020
@@ -1,4 +1,4 @@
-# $NetBSD: cargo.mk,v 1.17 2020/06/14 15:33:27 nia Exp $
+# $NetBSD: cargo.mk,v 1.18 2020/08/06 11:42:56 jperkin Exp $
 #
 # Common logic that can be used by packages that depend on cargo crates
 # from crates.io. This lets existing pkgsrc infrastructure fetch and verify
@@ -28,10 +28,10 @@ USE_TOOLS+=         bsdtar digest
 CARGO_VENDOR_DIR=      ${WRKDIR}/vendor
 
 DISTFILES?=                    ${DEFAULT_DISTFILES}
-.for _crate in ${CARGO_CRATE_DEPENDS}
-DISTFILES+=                    ${_crate}.crate
-SITES.${_crate}.crate+=                -${MASTER_SITE_CRATESIO}${_crate:C/-[0-9]+\.[0-9.]+.*$//}/${_crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${_crate}.crate?=  ${CARGO_VENDOR_DIR}
+.for crate in ${CARGO_CRATE_DEPENDS}
+DISTFILES+=                    ${crate}.crate
+SITES.${crate}.crate+=         -${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
+EXTRACT_DIR.${crate}.crate?=   ${CARGO_VENDOR_DIR}
 .endfor
 
 .include "../../mk/bsd.prefs.mk"
@@ -48,10 +48,10 @@ cargo-vendor-crates:
        ${RUN}${MKDIR} ${WRKSRC}/.cargo
        ${RUN}${PRINTF} "[source.crates-io]\nreplace-with = \"vendored-sources\"\n[source.vendored-sources]\ndirectory = \"${CARGO_VENDOR_DIR}\"\n" > ${WRKSRC}/.cargo/config
        ${RUN}${MKDIR} ${CARGO_VENDOR_DIR}
-.for _crate in ${CARGO_CRATE_DEPENDS}
+.for crate in ${CARGO_CRATE_DEPENDS}
        ${RUN}${PRINTF} '{"package":"%s","files":{}}'   \
-         $$(${DIGEST} sha256 < ${_DISTDIR}/${_crate}.crate) \
-         > ${CARGO_VENDOR_DIR}/${_crate}/.cargo-checksum.json
+         $$(${DIGEST} sha256 < ${_DISTDIR}/${crate}.crate) \
+         > ${CARGO_VENDOR_DIR}/${crate}/.cargo-checksum.json
 .endfor
 
 .PHONY: show-cargo-depends

Index: pkgsrc/lang/rust/distinfo
diff -u pkgsrc/lang/rust/distinfo:1.117 pkgsrc/lang/rust/distinfo:1.118
--- pkgsrc/lang/rust/distinfo:1.117     Wed Jul  8 14:46:14 2020
+++ pkgsrc/lang/rust/distinfo   Thu Aug  6 11:42:56 2020
@@ -1,109 +1,101 @@
-$NetBSD: distinfo,v 1.117 2020/07/08 14:46:14 jperkin Exp $
+$NetBSD: distinfo,v 1.118 2020/08/06 11:42:56 jperkin Exp $
 
-SHA1 (rust-1.41.1-i686-apple-darwin.tar.gz) = 5a778b77fc88b19f1c668316e3bf677c60f8ead1
-RMD160 (rust-1.41.1-i686-apple-darwin.tar.gz) = ae61f32a4d27a760e6f2b79f4042ed0cf385f784
-SHA512 (rust-1.41.1-i686-apple-darwin.tar.gz) = 3bcc32f87151907f0bac41d4b855751a4408964b4cf944bcdbc78242ff10b58c2cfbfe11e2d60adf4f9d3b7923565ab761da44ccaa7e71fed18a925408ce9e41
-Size (rust-1.41.1-i686-apple-darwin.tar.gz) = 162481148 bytes
-SHA1 (rust-1.43.1-aarch64-unknown-netbsd.tar.gz) = 3b26d41f96804973774032b6cedc97032983561b
-RMD160 (rust-1.43.1-aarch64-unknown-netbsd.tar.gz) = b547c20f6e3e38876e67ddb0ad545cdfd13d2dca
-SHA512 (rust-1.43.1-aarch64-unknown-netbsd.tar.gz) = 121b552460bc7fac9200b0022dc6af0b2e3df37f2f32c39174c0339b52f3b10e32c9bc95cb4750440a5d01c04ac9674fd04b06ad5a603479767eb7db716d0435
-Size (rust-1.43.1-aarch64-unknown-netbsd.tar.gz) = 154208692 bytes
-SHA1 (rust-1.43.1-i686-unknown-freebsd.tar.gz) = 3407c9b3f5d2e8766f357e5b3af7cb9174487c4d
-RMD160 (rust-1.43.1-i686-unknown-freebsd.tar.gz) = 4d6d83b6032970547435392ad1696d91dd759625
-SHA512 (rust-1.43.1-i686-unknown-freebsd.tar.gz) = 3da8df511873c4577cd08610eed9e1a2abbd254bee515eeb467248e1ceba1045dc619334af1a0ad1c6321ba36336ca68330de68a755b7116ddb031c5e48fa920
-Size (rust-1.43.1-i686-unknown-freebsd.tar.gz) = 124972858 bytes
-SHA1 (rust-1.43.1-i686-unknown-linux-gnu.tar.gz) = cb5a8783436855273270a70edd6aaec0feaf303e
-RMD160 (rust-1.43.1-i686-unknown-linux-gnu.tar.gz) = ae04ee5789eb0d45382242e4b0a83ac05420a354
-SHA512 (rust-1.43.1-i686-unknown-linux-gnu.tar.gz) = 6518c8b8ad4851dbb34f883e513df98ca4272930f887dbc1f717632060cff769f18113d77158d6516a37e937eeba370e371ef44e3079791ff5d166d12267e180
-Size (rust-1.43.1-i686-unknown-linux-gnu.tar.gz) = 205821030 bytes
-SHA1 (rust-1.43.1-i686-unknown-netbsd.tar.gz) = 6ab132b364e0f526374f7b3726c8caaec38cf8cb
-RMD160 (rust-1.43.1-i686-unknown-netbsd.tar.gz) = 41c0c2f03e7beffe2e4af58d98ef0ed079ed2eba
-SHA512 (rust-1.43.1-i686-unknown-netbsd.tar.gz) = 137c5630f0b7a85865f32b8949009ebf8602c08ed8dd3d63240742afb66f15e59afb425371e4efa31e81cb8c2ace150a030453305836c070cc75e9d41ba1917a
-Size (rust-1.43.1-i686-unknown-netbsd.tar.gz) = 163584255 bytes
-SHA1 (rust-1.43.1-powerpc-unknown-netbsd.tar.gz) = 919beaea3995748efb97a5cd3a3c0597864c28c6
-RMD160 (rust-1.43.1-powerpc-unknown-netbsd.tar.gz) = 3b4da09be7567929ea5765ed70d0260b8fc9926f
-SHA512 (rust-1.43.1-powerpc-unknown-netbsd.tar.gz) = 224a93854f8520e0cfb8a5c844aeb85728a5350871e3b3e44db7711c563d1323f6c33a62c08f983c6d5b07b1f625a288dc30f0d6cc1e28a3d0980e6eea0c3560
-Size (rust-1.43.1-powerpc-unknown-netbsd.tar.gz) = 178386425 bytes
-SHA1 (rust-1.43.1-sparc64-unknown-netbsd.tar.gz) = 33b067e39fc0ebef9c3c6219baa6e3bb855f3c8a
-RMD160 (rust-1.43.1-sparc64-unknown-netbsd.tar.gz) = 18433612c50030bd8753e94601507a1758b69994
-SHA512 (rust-1.43.1-sparc64-unknown-netbsd.tar.gz) = f4c3802a94df189c9b9c53d79572d3d51d75e56b6960f9a3b0f3bcbad48713e3f0c31dce8d7a00b4bf7da4ca891d8b8364eaebd5f2ad21971c0955213bd1d09a
-Size (rust-1.43.1-sparc64-unknown-netbsd.tar.gz) = 163032694 bytes
-SHA1 (rust-1.43.1-x86_64-apple-darwin.tar.gz) = b59cf750e845d7b6ecaa85d238186b54e4410b96
-RMD160 (rust-1.43.1-x86_64-apple-darwin.tar.gz) = ad0bd7abfa4b0c8a50587395124d19b17235b0ee
-SHA512 (rust-1.43.1-x86_64-apple-darwin.tar.gz) = 0d34a2f89ced24bec9c71caf235a892f6eed4c67b09c9279a687a8f92bd7b80ad49997072fe29fbfacff6cf20a473f38943c8c99b2a4c4658578b18c3309a2cb
-Size (rust-1.43.1-x86_64-apple-darwin.tar.gz) = 173789010 bytes
-SHA1 (rust-1.43.1-x86_64-sun-solaris.tar.gz) = 904cbc6d45e7b438e035c6c24c105d14840d94d3
-RMD160 (rust-1.43.1-x86_64-sun-solaris.tar.gz) = 1b98afbebd9143e93cee33c6f894c72c018cdad7
-SHA512 (rust-1.43.1-x86_64-sun-solaris.tar.gz) = 9722a7f4ace04fae6aef578ca5998568ae4695e522aabc84d0cce2c7417e30473172462ccb82e56e25a597607269306498705366bb5bbe4337fe79b5789cc9ec
-Size (rust-1.43.1-x86_64-sun-solaris.tar.gz) = 155516184 bytes
-SHA1 (rust-1.43.1-x86_64-unknown-freebsd.tar.gz) = 26a18b4567814156df782b8bac3246d7ee347eb4
-RMD160 (rust-1.43.1-x86_64-unknown-freebsd.tar.gz) = e45c987f285ed0d2f0ff9f11112d3206a27747f3
-SHA512 (rust-1.43.1-x86_64-unknown-freebsd.tar.gz) = 4c42f28284f074b074b722b98e42f47bdc18f725f0286b22abab95648675c108dded419bfed5eab97527e5215c226ad0d6d99ae172b9a7a3ff16f79a919ebee4
-Size (rust-1.43.1-x86_64-unknown-freebsd.tar.gz) = 124873971 bytes
-SHA1 (rust-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = d9fe02041f76fc260dc7002353e7b330e86e5fc4
-RMD160 (rust-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = e7f8be16b241f815f3a02c342790dd3dc7a898f9
-SHA512 (rust-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = d8317ecfd75eaa7cf99812c7dbf63790faa3810b5500759b493ee5051809ea87f0c748c1b779a16a54db059487b34b30eb56b76366525f13f8dd61904b27b8df
-Size (rust-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = 189589399 bytes
-SHA1 (rust-1.43.1-x86_64-unknown-netbsd.tar.gz) = fa25b284877d679fd41483424e047f6700576b74
-RMD160 (rust-1.43.1-x86_64-unknown-netbsd.tar.gz) = dc49c1235d39d09375be8d6baccbe255b5b112be
-SHA512 (rust-1.43.1-x86_64-unknown-netbsd.tar.gz) = 606fba4b91a9ac0e0babb1acea3c985510bfd58a989a504e8e72df9b289f55f70902305d4984617c58b7e82ec1b7f454d29c59824726c4a893ca860013c14fa4
-Size (rust-1.43.1-x86_64-unknown-netbsd.tar.gz) = 130247848 bytes
 SHA1 (rust-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = c08ff8852b5a8af3df62728ead7a5bd342b416d6
 RMD160 (rust-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = 512a339ae09b7803d2d97d1a65e35a32022bac5b
 SHA512 (rust-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = c2bae11700ceb20753ced519db77b58640b6306d9cbf979cbc3fcb80dcd6d580283a227599aa7e5dee2dac5ad230290f6ee19843ae5522103e41e9d5c14ff2cc
 Size (rust-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = 148880580 bytes
-SHA1 (rust-std-1.41.1-i686-apple-darwin.tar.gz) = 9ca7be96d70269238c66263e2cfb1634829fad42
-RMD160 (rust-std-1.41.1-i686-apple-darwin.tar.gz) = 289028f8a0b68b91e01681d579bbee2d4186e136
-SHA512 (rust-std-1.41.1-i686-apple-darwin.tar.gz) = 19943ed2edf2effb45f9d343b87205a48b84a81298bdf432ef21229fd300101a9b63e68a02c30b1c2b678c7646aae6b249e653a1d29515feef6ccd10b8bacc01
-Size (rust-std-1.41.1-i686-apple-darwin.tar.gz) = 21329270 bytes
-SHA1 (rust-std-1.43.1-aarch64-unknown-netbsd.tar.gz) = 3f7117bf6e5c9cb6ddca9556d50386549f2ae51e
-RMD160 (rust-std-1.43.1-aarch64-unknown-netbsd.tar.gz) = 2444047989f87610f860e0f7f1cb24e73fa3f7fe
-SHA512 (rust-std-1.43.1-aarch64-unknown-netbsd.tar.gz) = 08db19f12ce702cbeded7b831d6f6a7216b0860e7f1f22725de4c28d9c34f12c30cec21f6122d9840b806dcda25068fd6040da69dda709c7c2c723267fb73e3c
-Size (rust-std-1.43.1-aarch64-unknown-netbsd.tar.gz) = 17156365 bytes
-SHA1 (rust-std-1.43.1-i686-unknown-freebsd.tar.gz) = b325487c83909e0cdb739cda9c27677004741e80
-RMD160 (rust-std-1.43.1-i686-unknown-freebsd.tar.gz) = 54b6c312d01b3a86721f3061c59af7de433129ca
-SHA512 (rust-std-1.43.1-i686-unknown-freebsd.tar.gz) = e4a7678dc92291479f86d1665ceb4dde444f137af59082353a5cd943ed68537990a9bdd7471ec13606408db1d8f670ffeb9f087becb4eab5946d34a9475a8e81
-Size (rust-std-1.43.1-i686-unknown-freebsd.tar.gz) = 22387895 bytes
-SHA1 (rust-std-1.43.1-i686-unknown-linux-gnu.tar.gz) = 4515c435b86f26ca21a29a35ed0ec4320dc5ee35
-RMD160 (rust-std-1.43.1-i686-unknown-linux-gnu.tar.gz) = d81e215af8f508918bb2ef35592d1ff2bc5bfe7d
-SHA512 (rust-std-1.43.1-i686-unknown-linux-gnu.tar.gz) = d1d54443bc7fbcb9d9972cba7376019aea4a813f77be20b1c6a6f6ce57a9c4f3184848cee29f2066565cb8282971742951e08151615f1e3e19be54006bc6388a
-Size (rust-std-1.43.1-i686-unknown-linux-gnu.tar.gz) = 22905734 bytes
-SHA1 (rust-std-1.43.1-i686-unknown-netbsd.tar.gz) = d733be350c38aff0e1575651deaa186c3aa6c37b
-RMD160 (rust-std-1.43.1-i686-unknown-netbsd.tar.gz) = 0e1422c33256bc33102465ea4425e3d981d2cb17
-SHA512 (rust-std-1.43.1-i686-unknown-netbsd.tar.gz) = 8f9cdbbf0fe49aefacc74f9e7c142f1e6f8b8a20077bda60944999ccd35b770d73e9ddf42d78ddb7916299e725670a901b40a1b6be176403cdffc0c67ab956c6
-Size (rust-std-1.43.1-i686-unknown-netbsd.tar.gz) = 18561474 bytes
-SHA1 (rust-std-1.43.1-powerpc-unknown-netbsd.tar.gz) = ae8b7a00ccbc7249bc0e816d26f24f2eea5fff9c
-RMD160 (rust-std-1.43.1-powerpc-unknown-netbsd.tar.gz) = 8b45fae2b2348d9240c5fc57c4d27f7c47977030
-SHA512 (rust-std-1.43.1-powerpc-unknown-netbsd.tar.gz) = a4882573188aa39bd5bda90663da44c95c1729ce89eeb9aac6b7da998ca462c78859adf7fd01e7fbdea9e26bcaaf7d9be983fa7312673e407a0bd9e637fc854d
-Size (rust-std-1.43.1-powerpc-unknown-netbsd.tar.gz) = 16831155 bytes
-SHA1 (rust-std-1.43.1-sparc64-unknown-netbsd.tar.gz) = 013c3c87bb86b85d4b09cfcc3b7cb93150f3e54b
-RMD160 (rust-std-1.43.1-sparc64-unknown-netbsd.tar.gz) = b8b6b55609ad9cda9b7b6967c7949905291e80d6
-SHA512 (rust-std-1.43.1-sparc64-unknown-netbsd.tar.gz) = 600e82ed633eaffb4675e473879ca679295135970214393b540644c2d8ea196869cc72193b59df2c9f4b7907761cc7fe4d472f2fa0cffef748d7be488c83cc31
-Size (rust-std-1.43.1-sparc64-unknown-netbsd.tar.gz) = 16966645 bytes
-SHA1 (rust-std-1.43.1-x86_64-apple-darwin.tar.gz) = 7542d7f553ce8360bb48f2e94776f1b5ee2b3f95
-RMD160 (rust-std-1.43.1-x86_64-apple-darwin.tar.gz) = 1ce3cf584ca9467e8a8836282fb959ae898fea54
-SHA512 (rust-std-1.43.1-x86_64-apple-darwin.tar.gz) = 07e420d45a5402daba37c1ccdb111717d5defe98c6c003cff34073a9e80da44194f2c3e5457e015b68361c2e241f0933016c854771cd80c677460c8f7a6a12e6
-Size (rust-std-1.43.1-x86_64-apple-darwin.tar.gz) = 23405362 bytes
-SHA1 (rust-std-1.43.1-x86_64-unknown-freebsd.tar.gz) = 2564fd5758ea45b06ada59218743cd34ef5d72c3
-RMD160 (rust-std-1.43.1-x86_64-unknown-freebsd.tar.gz) = 1fb92052c71e5cfaeea0847999e06972730b9b93
-SHA512 (rust-std-1.43.1-x86_64-unknown-freebsd.tar.gz) = 4059f8e5df617826a08f4de0e1d42b6b589c4a0c4e196ae9d46ab970955bde2aa918b73690e1dfa8243cbe3c1471f35f452788c8b471a49905ab436ef9e482cb
-Size (rust-std-1.43.1-x86_64-unknown-freebsd.tar.gz) = 22407767 bytes
-SHA1 (rust-std-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = 6dd2b6214f714a45f419967d99f217131b3de4bd
-RMD160 (rust-std-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = b97759baec1bfd96669527e56c6558ed89cc0ca8
-SHA512 (rust-std-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = f8dac5e8d7ba745545c555586b24c637845702d4d70e1e5ba2e6296f2674cba7034b4e23dd8b6c9033e9b44649e5227aa0abe297e0ac3ce18ea0587a35937d91
-Size (rust-std-1.43.1-x86_64-unknown-linux-gnu.tar.gz) = 25934117 bytes
-SHA1 (rust-std-1.43.1-x86_64-unknown-netbsd.tar.gz) = 36fd37c0120e1ea3a90c757fe0b86857b639345a
-RMD160 (rust-std-1.43.1-x86_64-unknown-netbsd.tar.gz) = c9424130bca455c91f012dbffda550bc1467b0ef
-SHA512 (rust-std-1.43.1-x86_64-unknown-netbsd.tar.gz) = 5c910b2bed5dfe1a405596303c56c04fdf282a2abbddac0a9e914631de5105d5f2efcc43fe35ea74a77fb02de116e2cbaeef82f3b6d929b4bb0a71e5a4f98a50
-Size (rust-std-1.43.1-x86_64-unknown-netbsd.tar.gz) = 22361341 bytes
+SHA1 (rust-1.44.1-aarch64-unknown-netbsd.tar.gz) = e5ff7fdc3d6c126867b0a8d029bf23d38bf61b01
+RMD160 (rust-1.44.1-aarch64-unknown-netbsd.tar.gz) = 7d0a0c3ae1c1c579ee282bd14f8f97577f94799a
+SHA512 (rust-1.44.1-aarch64-unknown-netbsd.tar.gz) = ffde9bb83988291e259377de7229380cb6eee47342fb6465a0aa80efa6f98b33ec0f20eb3eb8bbeb7c8dd4cd8468d47ce61f0297987d22d73a3f0db4af01b49e
+Size (rust-1.44.1-aarch64-unknown-netbsd.tar.gz) = 155146344 bytes
+SHA1 (rust-1.44.1-i686-unknown-freebsd.tar.gz) = 84de4d6ac613724d4a3d7077411bb2e617888a19
+RMD160 (rust-1.44.1-i686-unknown-freebsd.tar.gz) = 1ac0f9dff7f32f8637af8d066e09c8aea39de716
+SHA512 (rust-1.44.1-i686-unknown-freebsd.tar.gz) = 913b8d7016eccb2bdec3ddfbf25f6e00319e4b9a7151426bc374c5ab1d6e1703eccf1a8a40dfcb34b12a96079b36bcc76ed8842c9e2cfcb44c9b3d2d14c23bea
+Size (rust-1.44.1-i686-unknown-freebsd.tar.gz) = 123791731 bytes
+SHA1 (rust-1.44.1-i686-unknown-linux-gnu.tar.gz) = 053e7703cef1cce55a032198d60245c8713b5176
+RMD160 (rust-1.44.1-i686-unknown-linux-gnu.tar.gz) = 4d17c0ed0df388dad2e07992ea278d7004550b7a
+SHA512 (rust-1.44.1-i686-unknown-linux-gnu.tar.gz) = eadcb9feb8cfefd23b8d75324fb9de01d983c5ddfdfe9ca1f909470bfe5a4fe90cd85f5d3d76c13e24b60acf99305a14311a030e153fd3f92dc420bcfcd7e029
+Size (rust-1.44.1-i686-unknown-linux-gnu.tar.gz) = 205340142 bytes
+SHA1 (rust-1.44.1-i686-unknown-netbsd.tar.gz) = 8de77aa5ce6e4ed3ab3e88e09820a7490adf4564
+RMD160 (rust-1.44.1-i686-unknown-netbsd.tar.gz) = f7bd0f5ccca4be910bd1eae5d68d89d1ce03c9f5
+SHA512 (rust-1.44.1-i686-unknown-netbsd.tar.gz) = d14eb2968b2bf5fe6329fddce652ac53c1179caffefac9117bb1397092df2cd7749804b8351aedbb16a2cbce990fac11a5021a189aeb9f87885d716a1a9488f5
+Size (rust-1.44.1-i686-unknown-netbsd.tar.gz) = 164323310 bytes
+SHA1 (rust-1.44.1-powerpc-unknown-netbsd.tar.gz) = c126c0124efcc36df0ac7c2c4e0836e1587fa2be
+RMD160 (rust-1.44.1-powerpc-unknown-netbsd.tar.gz) = 160ae6e795e7dd28f3e9e095da5a026f34b5fa40
+SHA512 (rust-1.44.1-powerpc-unknown-netbsd.tar.gz) = 704095c99a43e3d61f6329187ea96b011561ca07c576de4b60778b2e09e4d8f7365d746a5ac075cdde36738275b745bc119b11e908024b07690a401bb2936985
+Size (rust-1.44.1-powerpc-unknown-netbsd.tar.gz) = 172387750 bytes
+SHA1 (rust-1.44.1-sparc64-unknown-netbsd.tar.gz) = 88d53387943b9456ab9660bb0a9556f0c635cc85
+RMD160 (rust-1.44.1-sparc64-unknown-netbsd.tar.gz) = 0c59faa5190dfeb161bf5752d03f548efb19a4bc
+SHA512 (rust-1.44.1-sparc64-unknown-netbsd.tar.gz) = b48cbb0903ff3e4b64f593f9d3ba93d5049ceacf4b1945ccc487e4e94e09592b80a2992171b6f55887d7e9b77b5e8d6a65ce8c24b40bd47ff89440c19f031e5c
+Size (rust-1.44.1-sparc64-unknown-netbsd.tar.gz) = 163658729 bytes
+SHA1 (rust-1.44.1-x86_64-apple-darwin.tar.gz) = efce87a3d3d48d93f031e165b9794a850eafee2e
+RMD160 (rust-1.44.1-x86_64-apple-darwin.tar.gz) = d4aa88273da38bfc74030dd4e15f7dac11c2afc6
+SHA512 (rust-1.44.1-x86_64-apple-darwin.tar.gz) = 81b923805f0425311073142e6cb798429c1833240b3951cd615850f13900d6a47e2751bf65389246db7b98a7a81c11fa90d3a6861c4eff579cda6af53097c0d4
+Size (rust-1.44.1-x86_64-apple-darwin.tar.gz) = 173941368 bytes
+SHA1 (rust-1.44.1-x86_64-sun-solaris.tar.gz) = 03184328a67abf1abf36a804cb437dd394617b8e
+RMD160 (rust-1.44.1-x86_64-sun-solaris.tar.gz) = bc5642a8b5207d54f4d35fc80ff4345b543a5b94
+SHA512 (rust-1.44.1-x86_64-sun-solaris.tar.gz) = de8d1e0d560ab3ed59090eb91abcb4b7c22a72613935cafe923960f0b9098447c522a3e1bc297426ebfcd7ed23dff6b90c82ec1c065fd949c7b6e335af58c79f
+Size (rust-1.44.1-x86_64-sun-solaris.tar.gz) = 143237723 bytes
+SHA1 (rust-1.44.1-x86_64-unknown-freebsd.tar.gz) = a4a32fc0300272f7ab75973cf95ca7a52b4cba24
+RMD160 (rust-1.44.1-x86_64-unknown-freebsd.tar.gz) = a26b6a2df7e8d09e92549490121b73fd6a938ce5
+SHA512 (rust-1.44.1-x86_64-unknown-freebsd.tar.gz) = 750d0e7b07bc3fba1980ef4ccd777a2c062283b9c94798e6150ade7f1de40d32f3398a8f6675220649ee2fc3c537f6071981dd852ba0933c7619731d33be1244
+Size (rust-1.44.1-x86_64-unknown-freebsd.tar.gz) = 124148420 bytes
+SHA1 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = d9f79f976c7270a782cba9e5c08f3064d94ccb1e
+RMD160 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = 3a5cbf8538b3aadfe2bda6cbec5599a2eccba9ce
+SHA512 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = aa78c32a3dfd4b01d5e69a44bc978206b50581586af1b45105400fbd6b28a9946141063d68781218ca9fbaaf0edfdfe708081ecf97facba176095868b6187773
+Size (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = 189534350 bytes
+SHA1 (rust-1.44.1-x86_64-unknown-netbsd.tar.gz) = fdb370afafbd7d5d2664ca1e7193d7fab3ec37fe
+RMD160 (rust-1.44.1-x86_64-unknown-netbsd.tar.gz) = 9947ed43a8291676505b2890bf586be3499df691
+SHA512 (rust-1.44.1-x86_64-unknown-netbsd.tar.gz) = 06e21c3ca1ef29a6d2239a89eb207b4cbc03f9f86a74edf9aebebb2260fdbd7adcaa0ffcd4526d5447fb0b05491819ed61262c90210095a9db83f6ee4da38e86
+Size (rust-1.44.1-x86_64-unknown-netbsd.tar.gz) = 129662288 bytes
 SHA1 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = ef2043dd95e4b56526060f9497c523ca7670ebcd
 RMD160 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = f2a11dea07bd9982b99e26baf74259ce21af3121
 SHA512 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = 8903e258f3cc3a9fd8b1bf982b42560bbc47b3be583dea8687d50eadc92a98f739211d865a812de2cf6e4828e94e97a5934a02120d3eaff8342669ee1e0afc37
 Size (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = 17716720 bytes
-SHA1 (rustc-1.44.1-src.tar.gz) = 2637785cb0c31111eec92a3e019ada0c2d5eb884
-RMD160 (rustc-1.44.1-src.tar.gz) = 26f924774eb3e0c57909705bdf1eb2d5891674ac
-SHA512 (rustc-1.44.1-src.tar.gz) = f6b719a2a63aa96a192a098f58ff1042251cee96a1ff742ecb09d5b88fe5be79bc7023f118e0a6c0d46aa1c819ff77274ab669668f8e53efa4eb5e3041227928
-Size (rustc-1.44.1-src.tar.gz) = 136760887 bytes
+SHA1 (rust-std-1.44.1-aarch64-unknown-netbsd.tar.gz) = 546a8299b855cb900ac6faaf388225635d7db3eb
+RMD160 (rust-std-1.44.1-aarch64-unknown-netbsd.tar.gz) = aa115005fda7c572546aba6eed507a9d1cfb311d
+SHA512 (rust-std-1.44.1-aarch64-unknown-netbsd.tar.gz) = 5eaf1d1d334e30c713c2b3da9de59e6ddd2970371b3e797cf5306e44ad4babcd6e8c0bd392306e65e44e0b3a3ecca40adf4ae1a083911cb4203f40f758f9ee4f
+Size (rust-std-1.44.1-aarch64-unknown-netbsd.tar.gz) = 17873583 bytes
+SHA1 (rust-std-1.44.1-i686-unknown-freebsd.tar.gz) = 68cc2c9fc4af62e0b2d1a39e18c714895fa95c8f
+RMD160 (rust-std-1.44.1-i686-unknown-freebsd.tar.gz) = 823551f739cf6d0a75b973696d93bd7d9bfccea5
+SHA512 (rust-std-1.44.1-i686-unknown-freebsd.tar.gz) = 1a395c368f6b64876e3169934d9c3f8ea07bfd509bbd80a958d0db9903fc7f99b1f2b3222ad69ebc576a916fe185d3730f2521afa2e523ecee1245c494f21b4d
+Size (rust-std-1.44.1-i686-unknown-freebsd.tar.gz) = 22674933 bytes
+SHA1 (rust-std-1.44.1-i686-unknown-linux-gnu.tar.gz) = 630421b44f3d1c6028be520cd9f01704e1c5b7cb
+RMD160 (rust-std-1.44.1-i686-unknown-linux-gnu.tar.gz) = 4a059a0a969cb3c8dcc2b70d45f63967c69e0a65
+SHA512 (rust-std-1.44.1-i686-unknown-linux-gnu.tar.gz) = a1a837f3740651f4985589350c0cfbf01c696e319086efe209adf7aa018de594f32b40cb5cafd376448b828a32a074b7d5a8535f48d4427e06092b8b6ae3b033
+Size (rust-std-1.44.1-i686-unknown-linux-gnu.tar.gz) = 23338895 bytes
+SHA1 (rust-std-1.44.1-i686-unknown-netbsd.tar.gz) = 6474a717f40ea14d562f9e5ad94e1ebfdfd36a8f
+RMD160 (rust-std-1.44.1-i686-unknown-netbsd.tar.gz) = bf861949d2ee970f23598f93f45b14704e476982
+SHA512 (rust-std-1.44.1-i686-unknown-netbsd.tar.gz) = ce194778568f96baf42163a46ac56719f8827d904c9dcda0a9bb5916ca32f5fbd40aa9620d2ebbaf8532c826d4265874a617f670b771680a6dfb1bcc64c15687
+Size (rust-std-1.44.1-i686-unknown-netbsd.tar.gz) = 19334579 bytes
+SHA1 (rust-std-1.44.1-powerpc-unknown-netbsd.tar.gz) = 128b4213938261131f7db2f853cfa6f337c66b72
+RMD160 (rust-std-1.44.1-powerpc-unknown-netbsd.tar.gz) = 12749d0af13fff59359d901014550627a8d72540
+SHA512 (rust-std-1.44.1-powerpc-unknown-netbsd.tar.gz) = bdbb4310cf34db0283544ea61336e28ee721fe1092faba09d946f769f7d0f3f9efb11579154b1572bec1b95fd35133e676e20a59ecaf2bec71d4541849553d56
+Size (rust-std-1.44.1-powerpc-unknown-netbsd.tar.gz) = 17452288 bytes
+SHA1 (rust-std-1.44.1-sparc64-unknown-netbsd.tar.gz) = a3c9f64fba652ae7d3c16cde7ee2547bc87fd92d
+RMD160 (rust-std-1.44.1-sparc64-unknown-netbsd.tar.gz) = ab1ab014a26c5d724bb0745bfab951ef2123d5bc
+SHA512 (rust-std-1.44.1-sparc64-unknown-netbsd.tar.gz) = d96f88e872669fb5c36804b1f99422f36c23d7ca0cd12bb2b31485e3993c5639fd9d79ef8ea8df4f6aacfea4620239c3379586856ba76309705965c048330a98
+Size (rust-std-1.44.1-sparc64-unknown-netbsd.tar.gz) = 17626664 bytes
+SHA1 (rust-std-1.44.1-x86_64-apple-darwin.tar.gz) = 06df3959bedb25a5f47e6f050a4c26217a303d9e
+RMD160 (rust-std-1.44.1-x86_64-apple-darwin.tar.gz) = 770585582cc6af8f96464140001ef5cddba899a9
+SHA512 (rust-std-1.44.1-x86_64-apple-darwin.tar.gz) = f121d275b2fddf3bbf24f4f23d2f156e4b8da838a408e5268c1b755e1b400c0199477890a49aaf9331376d4c364d2ef90c3293d3e7b5ddea78b43587489ba3ba
+Size (rust-std-1.44.1-x86_64-apple-darwin.tar.gz) = 23935573 bytes
+SHA1 (rust-std-1.44.1-x86_64-unknown-freebsd.tar.gz) = b6d63ae79006d0e1e16954d5f490b599e95e524e
+RMD160 (rust-std-1.44.1-x86_64-unknown-freebsd.tar.gz) = c7d893fbdf4d28386ab059a595ecb1e2b999fc92
+SHA512 (rust-std-1.44.1-x86_64-unknown-freebsd.tar.gz) = 2d052db6eab154366fc872a96a11a5c81f87b7b93ac348bd4e059291fffc6b2d111b98fa6e73dd5098e33bd0294dac50efde52c26d93b5f8f57978d2b09f3952
+Size (rust-std-1.44.1-x86_64-unknown-freebsd.tar.gz) = 22873337 bytes
+SHA1 (rust-std-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = d39a6f66ec30a2bf19730f901727fdc3943bc607
+RMD160 (rust-std-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = fade7ca14a845c1433db0f91785125e0d470b6f3
+SHA512 (rust-std-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = ac700cb7c7133cfd2a53a12be7b6955c435032a237235d803a26ae9dac793ff14d09155271da160f35b93c25970920ceddacd7f413292caa90ea7dd125cc5d93
+Size (rust-std-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = 26512846 bytes
+SHA1 (rust-std-1.44.1-x86_64-unknown-netbsd.tar.gz) = 08b3b9c6f88d4775fef9884ae78e95dc4af3057e
+RMD160 (rust-std-1.44.1-x86_64-unknown-netbsd.tar.gz) = 880bf477fd42647db5c20b810442060ab12ec3b1
+SHA512 (rust-std-1.44.1-x86_64-unknown-netbsd.tar.gz) = 489a702fdec977d82e497e9ab692eb41f1bf0573fa8b3d8c0c07b5e0faf2a866865b4c275826a23f0cdfcd34b89df3190e34990e9e7092f20ce4bf4e387548c1
+Size (rust-std-1.44.1-x86_64-unknown-netbsd.tar.gz) = 22890301 bytes
+SHA1 (rustc-1.45.2-src.tar.gz) = 48a9e15c9ed66345d7b7aca69037fd212e57e67f
+RMD160 (rustc-1.45.2-src.tar.gz) = 5c912683356937d4334e6f6de12a7f4df071ad23
+SHA512 (rustc-1.45.2-src.tar.gz) = 5996f899d3677dd73487561d95b0bee6d6e33f7087f40806fa8176d685de9e6d42974344c855402a9fc634c0e91e0df6e33fcb3194b3e4296e1a1cb49defb98e
+Size (rustc-1.45.2-src.tar.gz) = 141671717 bytes
 SHA1 (patch-src_bootstrap_bootstrap.py) = 53e0409527f3e52dd00b5c86e6c38047626e2379
 SHA1 (patch-src_bootstrap_builder.rs) = 5dd33ec8458cdcc6f1780d98c7e0b8e7a93e00d9
 SHA1 (patch-src_bootstrap_compile.rs) = 67d5ad13e13e6818535a319f55e990d511e7b83f
@@ -116,7 +108,7 @@ SHA1 (patch-src_libstd_build.rs) = eb8fa
 SHA1 (patch-src_libstd_sys_unix_thread.rs) = 2554f1a42afaa0ddce5053860f4dabecdf6c527a
 SHA1 (patch-src_libunwind_build.rs) = 723ded63580812f74d04c447f90925725ae9bfc9
 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427
-SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = c5e74d0e8deb555881ec94920a637b53b744c866
+SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 199ae71ae2e42bb67e54354a051fc9faa71f9bfe
 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
@@ -125,15 +117,17 @@ SHA1 (patch-src_tools_cargo_tests_testsu
 SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = fade3e60fecac5c4e4d4ee5bee82659b4eb385b7
 SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 51af64526db55abcf6b4b3165df314a16cf62e34
 SHA1 (patch-src_tools_rust-installer_install-template.sh) = f2ec6dced2be1fa23773d5827503ad07d0913dc2
-SHA1 (patch-src_vendor_rand-0.6.1_src_rngs_os.rs) = c068ae41fb69a524336efcef7df7a9d1326d04f1
 SHA1 (patch-vendor_backtrace-sys_src_libbacktrace_configure) = 90e54f66edce65ebe23fbf2480deb193ca926733
 SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 804ea03be546fef0d2bd37d7f8abb26d38a7892b
-SHA1 (patch-vendor_libssh2-sys_libssh2_Makefile.am) = 5343adcf044eeed1f325cd29d28964e209a50058
+SHA1 (patch-vendor_libssh2-sys_libssh2_Makefile.am) = fc859243adffbe4e4202ed44792ecab09f347f31
 SHA1 (patch-vendor_lzma-sys_config.h) = ab963fc8d7a847715e0e0dc2928333efe38e923f
 SHA1 (patch-vendor_mio_src_sys_unix_mod.rs) = ebc40c32ee5a709cce986304c493cb852aee642e
 SHA1 (patch-vendor_mio_src_sys_unix_ready.rs) = 2479285f60290c3669df84b6a6ce9f5fd0c5edc7
 SHA1 (patch-vendor_net2_src_ext.rs) = d390377f3ba98b9a38c9460c2b320af5b26901b6
 SHA1 (patch-vendor_net2_src_lib.rs) = dc3595a88f1322f39049de23755ef54f340eb054
 SHA1 (patch-vendor_net2_src_sys_unix_mod.rs) = 368b05d524edbaf3bb4f72b7066086aa876e2b9a
+SHA1 (patch-vendor_rand-0.6.1_src_rngs_os.rs) = c068ae41fb69a524336efcef7df7a9d1326d04f1
 SHA1 (patch-vendor_rand__os_src_netbsd.rs) = 049df63c904abd81cb92f33fa0882f5c81cae51a
+SHA1 (patch-vendor_stacker_src_lib.rs) = 2f4db9971c0558ec7034052c810b8c8be80c4ae3
 SHA1 (patch-vendor_time_src_sys.rs) = 9684a60cb9c6fb6a0f3eed3d6101a76986a38d8d
+SHA1 (patch-vendor_tokio-uds_src_ucred.rs) = 175f870a50fe27e9ada8b1a680b3bf5f8734a3a4

Index: pkgsrc/lang/rust/platform.mk
diff -u pkgsrc/lang/rust/platform.mk:1.4 pkgsrc/lang/rust/platform.mk:1.5
--- pkgsrc/lang/rust/platform.mk:1.4    Thu Jun 18 15:00:21 2020
+++ pkgsrc/lang/rust/platform.mk        Thu Aug  6 11:42:56 2020
@@ -1,4 +1,4 @@
-# $NetBSD: platform.mk,v 1.4 2020/06/18 15:00:21 gdt Exp $
+# $NetBSD: platform.mk,v 1.5 2020/08/06 11:42:56 jperkin Exp $
 
 # This file encodes whether a given platform has support for rust.
 
@@ -8,18 +8,18 @@
 .if !defined(PLATFORM_SUPPORTS_RUST)
 
 # Rust needs NetBSD>7
-.  for _rust_arch in aarch64 armv7 i386 powerpc sparc64 x86_64
-.    for _rust_os in Darwin FreeBSD Linux NetBSD SunOS
+.  for rust_arch in aarch64 armv7 i386 powerpc sparc64 x86_64
+.    for rust_os in Darwin FreeBSD Linux NetBSD SunOS
 # rust fails to build on NetBSD/earmv7
 # http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54621
 .      if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*)
-RUST_PLATFORMS+=       ${_rust_os}-*-${_rust_arch}
+RUST_PLATFORMS+=       ${rust_os}-*-${rust_arch}
 .      endif
 .    endfor
 .  endfor
 
-.  for _rust_platform in ${RUST_PLATFORMS}
-.    if !empty(MACHINE_PLATFORM:M${_rust_platform})
+.  for rust_platform in ${RUST_PLATFORMS}
+.    if !empty(MACHINE_PLATFORM:M${rust_platform})
 PLATFORM_SUPPORTS_RUST=                yes
 .    endif
 .  endfor

Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.2 pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.3
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.2        Wed Oct  2 12:51:43 2019
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake    Thu Aug  6 11:42:56 2020
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.2 2019/10/02 12:51:43 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.3 2020/08/06 11:42:56 jperkin 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     2018-08-01 16:32:37.000000000 +0000
+--- src/llvm-project/llvm/cmake/modules/AddLLVM.cmake.orig     2020-05-20 18:10:32.000000000 +0000
 +++ src/llvm-project/llvm/cmake/modules/AddLLVM.cmake
-@@ -223,8 +223,6 @@ function(add_link_opts target_name)
+@@ -234,8 +234,6 @@ function(add_link_opts target_name)
          set_property(TARGET ${target_name} APPEND_STRING PROPERTY
                       LINK_FLAGS " -Wl,-dead_strip")
        elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
@@ -14,12 +14,12 @@ On Darwin, use correct install-name for 
        elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND
               NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD|AIX")
          # Object files are compiled with -ffunction-data-sections.
-@@ -1727,7 +1725,7 @@ function(llvm_setup_rpath name)
+@@ -1887,7 +1885,7 @@ function(llvm_setup_rpath name)
    endif()
  
    if (APPLE)
 -    set(_install_name_dir INSTALL_NAME_DIR "@rpath")
 +    set(_install_name_dir INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
-     set(_install_rpath "@loader_path/../lib" ${extra_libdir})
+     set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
    elseif(UNIX)
      set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})

Index: pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am
diff -u pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am:1.1 pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am:1.1   Thu Mar 12 12:51:29 2020
+++ pkgsrc/lang/rust/patches/patch-vendor_libssh2-sys_libssh2_Makefile.am       Thu Aug  6 11:42:56 2020
@@ -1,4 +1,6 @@
-$NetBSD: patch-vendor_libssh2-sys_libssh2_Makefile.am,v 1.1 2020/03/12 12:51:29 ryoon Exp $
+$NetBSD: patch-vendor_libssh2-sys_libssh2_Makefile.am,v 1.2 2020/08/06 11:42:56 jperkin Exp $
+
+Shell portability fix.
 
 --- vendor/libssh2-sys/libssh2/Makefile.am.orig        2020-02-25 00:28:47.000000000 +0000
 +++ vendor/libssh2-sys/libssh2/Makefile.am

Added files:

Index: pkgsrc/lang/rust/patches/patch-vendor_rand-0.6.1_src_rngs_os.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_rand-0.6.1_src_rngs_os.rs:1.1
--- /dev/null   Thu Aug  6 11:42:57 2020
+++ pkgsrc/lang/rust/patches/patch-vendor_rand-0.6.1_src_rngs_os.rs     Thu Aug  6 11:42:56 2020
@@ -0,0 +1,101 @@
+$NetBSD: patch-vendor_rand-0.6.1_src_rngs_os.rs,v 1.1 2020/08/06 11:42:56 jperkin Exp $
+
+-Explicitly disable getrandom support on SunOS, the test fails.
+-https://github.com/rust-random/rand/issues/637
+
+The rand implementation for NetBSD drains a byte from /dev/random on every
+rustc invocation, with the intent to ensure /dev/urandom is seeded.
+This is inappropriate; seeding the rng should be handled by rc.d scripts only.
+The result is that rustc eventually blocks for very long times when generating
+temp file names, causing the lang/rust build to take days(!) in some cases.
+The fix is to delete the NetBSD specific implementation and instead use the
+FreeBSD implementation which relies on the kern.arandom sysctl instead of
+/dev/{u,}random.
+The bootstrap compiler of course has the same issue so I will raise a PR
+with upstream authors to address this.
+
+--- vendor/rand-0.6.1/src/rngs/os.rs.orig      2019-09-23 23:15:03.000000000 +0000
++++ vendor/rand-0.6.1/src/rngs/os.rs
+@@ -246,7 +246,7 @@ trait OsRngImpl where Self: Sized {
+ // All instances use a single internal file handle, to prevent possible
+ // exhaustion of file descriptors.
+ #[cfg(any(target_os = "linux", target_os = "android",
+-          target_os = "netbsd", target_os = "dragonfly",
++          target_os = "dragonfly",
+           target_os = "solaris", target_os = "redox",
+           target_os = "haiku", target_os = "emscripten"))]
+ mod random_device {
+@@ -487,56 +487,6 @@ mod imp {
+     }
+ }
+ 
+-
+-#[cfg(target_os = "netbsd")]
+-mod imp {
+-    use Error;
+-    use super::random_device;
+-    use super::OsRngImpl;
+-
+-    use std::fs::File;
+-    use std::io::Read;
+-    use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering};
+-
+-    #[derive(Clone, Debug)]
+-    pub struct OsRng { initialized: bool }
+-
+-    impl OsRngImpl for OsRng {
+-        fn new() -> Result<OsRng, Error> {
+-            random_device::open("/dev/urandom", &|p| File::open(p))?;
+-            Ok(OsRng { initialized: false })
+-        }
+-
+-        fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> {
+-            random_device::read(dest)
+-        }
+-
+-        // Read a single byte from `/dev/random` to determine if the OS RNG is
+-        // already seeded. NetBSD always blocks if not yet ready.
+-        fn test_initialized(&mut self, dest: &mut [u8], _blocking: bool)
+-            -> Result<usize, Error>
+-        {
+-            static OS_RNG_INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
+-            if !self.initialized {
+-                self.initialized = OS_RNG_INITIALIZED.load(Ordering::Relaxed);
+-            }
+-            if self.initialized { return Ok(0); }
+-
+-            info!("OsRng: testing random device /dev/random");
+-            let mut file =
+-                File::open("/dev/random").map_err(random_device::map_err)?;
+-            file.read(&mut dest[..1]).map_err(random_device::map_err)?;
+-
+-            OS_RNG_INITIALIZED.store(true, Ordering::Relaxed);
+-            self.initialized = true;
+-            Ok(1)
+-        }
+-
+-        fn method_str(&self) -> &'static str { "/dev/urandom" }
+-    }
+-}
+-
+-
+ #[cfg(any(target_os = "dragonfly",
+           target_os = "haiku",
+           target_os = "emscripten"))]
+@@ -677,6 +627,7 @@ mod imp {
+     }
+ 
+     fn getrandom(buf: &mut [u8], blocking: bool) -> libc::c_long {
++        return -1;
+         extern "C" {
+             fn syscall(number: libc::c_long, ...) -> libc::c_long;
+         }
+@@ -824,7 +775,7 @@ mod imp {
+ }
+ 
+ 
+-#[cfg(target_os = "freebsd")]
++#[cfg(any(target_os = "freebsd", target_os = "netbsd"))]
+ mod imp {
+     extern crate libc;
+ 
Index: pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs:1.1
--- /dev/null   Thu Aug  6 11:42:57 2020
+++ pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs    Thu Aug  6 11:42:56 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.1 2020/08/06 11:42:56 jperkin 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
+@@ -355,7 +355,7 @@ cfg_if! {
+             );
+             Some(mi.assume_init().AllocationBase as usize + get_thread_stack_guarantee() + 0x1000)
+         }
+-    } else if #[cfg(any(target_os = "linux", target_os="solaris", target_os = "netbsd"))] {
++    } else if #[cfg(any(target_os = "linux", target_os = "netbsd"))] {
+         unsafe fn guess_os_stack_limit() -> Option<usize> {
+             let mut attr = std::mem::MaybeUninit::<libc::pthread_attr_t>::uninit();
+             assert_eq!(libc::pthread_attr_init(attr.as_mut_ptr()), 0);
Index: pkgsrc/lang/rust/patches/patch-vendor_tokio-uds_src_ucred.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_tokio-uds_src_ucred.rs:1.1
--- /dev/null   Thu Aug  6 11:42:57 2020
+++ pkgsrc/lang/rust/patches/patch-vendor_tokio-uds_src_ucred.rs        Thu Aug  6 11:42:56 2020
@@ -0,0 +1,24 @@
+$NetBSD: patch-vendor_tokio-uds_src_ucred.rs,v 1.1 2020/08/06 11:42:56 jperkin Exp $
+
+Support illumos.
+
+--- vendor/tokio-uds/src/ucred.rs.orig 2020-07-13 18:18:17.000000000 +0000
++++ vendor/tokio-uds/src/ucred.rs
+@@ -15,7 +15,7 @@ pub use self::impl_linux::get_peer_cred;
+ #[cfg(any(target_os = "dragonfly", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))]
+ pub use self::impl_macos::get_peer_cred;
+ 
+-#[cfg(any(target_os = "solaris"))]
++#[cfg(any(target_os = "illumos", target_os = "solaris"))]
+ pub use self::impl_solaris::get_peer_cred;
+ 
+ #[cfg(any(target_os = "linux", target_os = "android"))]
+@@ -89,7 +89,7 @@ pub mod impl_macos {
+ }
+ 
+ 
+-#[cfg(any(target_os = "solaris"))]
++#[cfg(any(target_os = "illumos", target_os = "solaris"))]
+ pub mod impl_solaris {
+     use std::io;
+     use std::os::unix::io::AsRawFd;



Home | Main Index | Thread Index | Old Index