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:   he
Date:           Tue Aug 30 19:22:18 UTC 2022

Modified Files:
        pkgsrc/lang/rust: Makefile distinfo options.mk platform.mk
        pkgsrc/lang/rust/files: gcc-wrap
        pkgsrc/lang/rust/patches:
            patch-compiler_rustc__codegen__ssa_src_back_linker.rs
            patch-compiler_rustc__llvm_build.rs
            patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
            patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
            patch-compiler_rustc__target_src_spec_mod.rs
            patch-compiler_rustc__target_src_spec_netbsd__base.rs
            patch-library_backtrace_src_symbolize_gimli.rs
            patch-library_backtrace_src_symbolize_gimli_elf.rs
            patch-library_std_src_sys_unix_thread.rs
            patch-src_bootstrap_bootstrap.py patch-src_bootstrap_builder.rs
            patch-src_bootstrap_compile.rs patch-src_bootstrap_lib.rs
            patch-src_tools_cargo_src_cargo_core_profiles.rs
            patch-vendor_backtrace_src_symbolize_gimli.rs
            patch-vendor_backtrace_src_symbolize_gimli_elf.rs
            patch-vendor_cc_src_lib.rs
            patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_libc_src_unix_solarish_mod.rs
            patch-vendor_target-lexicon_src_targets.rs
Added Files:
        pkgsrc/lang/rust/patches: patch-vendor_cc-1.0.69_src_lib.rs
            patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
Removed Files:
        pkgsrc/lang/rust/patches:
            patch-vendor_libc-0.2.112_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_libc-0.2.116_src_unix_bsd_netbsdlike_netbsd_mod.rs

Log Message:
lang/rust: update to version 1.62.1.

Pkgsrc changes:

 * Bump required GCC to 7 (same as LLVM) to avoid ABI issues
   Fixes native i386 and powerpc 8.x build w/pkgsrc LLVM 14
 * Bump available bootstraps to 1.61.0.
 * Also unlimit stacksize
 * Sync patches over from wip/rust
 * Adjust line number in patches which had non-zero offsets.
 * no longer pass -I/usr/pkg/include through via gcc-wrap script
   when building natively.  Attempt at fixing version skew with curl
   package vs. internal version of curl (may not work...)
 * The NetBSD bootstraps now use .xz compression.
 * Use mk/atomic64.mk.  Still have conditional for libatomic-links.
 * Default to using the internal LLVM when cross-building.

Upstream changes:

Version 1.62.1 (2022-07-19)
==========================

Rust 1.62.1 addresses a few recent regressions in the compiler and standard
library, and also mitigates a CPU vulnerability on Intel SGX.

* [The compiler fixed unsound function coercions involving `impl
  Trait` return types.][98608]
* [The compiler fixed an incremental compilation bug with `async
  fn` lifetimes.][98890]
* [Windows added a fallback for overlapped I/O in synchronous reads
  and writes.][98950]
* [The `x86_64-fortanix-unknown-sgx` target added a mitigation for the
  MMIO stale data vulnerability][98126], advisory [INTEL-SA-00615].

[98608]: https://github.com/rust-lang/rust/issues/98608
[98890]: https://github.com/rust-lang/rust/issues/98890
[98950]: https://github.com/rust-lang/rust/pull/98950
[98126]: https://github.com/rust-lang/rust/pull/98126
[INTEL-SA-00615]: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00615.html

Version 1.62.0 (2022-06-30)
==========================

Language
--------

- [Stabilize `#[derive(Default)]` on enums with a `#[default]` variant][94457]
- [Stop validating some checks in dead code after functions with
  uninhabited return types][93313]
- [Fix constants not getting dropped if part of a diverging expression][94775]
- [Support unit struct/enum variant in destructuring assignment][95380]
- [Remove mutable_borrow_reservation_conflict lint and allow the
  code pattern][96268]

Compiler
--------

- [linker: Stop using whole-archive on dependencies of dylibs][96436]
- [Make `unaligned_references` lint deny-by-default][95372]
  This lint is also a future compatibility lint, and is expected to eventually
  become a hard error.
- [Only add codegen backend to dep info if -Zbinary-dep-depinfo is used][93969]
- [Reject `#[thread_local]` attribute on non-static items][95006]
- [Add tier 3 `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm`
  targets\*][94872]
- [Implement a lint to warn about unused macro rules][96150]
- [Promote `x86_64-unknown-none` target to Tier 2\*][95705]

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

Libraries
---------

- [Move `CStr` to libcore, and `CString` to liballoc][94079]
- [Windows: Use a pipe relay for chaining pipes][95841]
- [Replace Linux Mutex and Condvar with futex based ones.][95035]
- [Replace RwLock by a futex based one on Linux][95801]
- [std: directly use pthread in UNIX parker implementation][96393]

Stabilized APIs
---------------

- [`bool::then_some`]
- [`f32::total_cmp`]
- [`f64::total_cmp`]
- [`Stdin::lines`]
- [`windows::CommandExt::raw_arg`]
- [`impl<T: Default> Default for AssertUnwindSafe<T>`]
- [`From<Rc<str>> for Rc<[u8]>`][rc-u8-from-str]
- [`From<Arc<str>> for Arc<[u8]>`][arc-u8-from-str]
- [`FusedIterator for EncodeWide`]
- [RDM intrinsics on aarch64][stdarch/1285]

Clippy
------

- [Create clippy lint against unexpectedly late drop for temporaries
  in match scrutinee expressions][94206]

Cargo
-----

- Added the `cargo add` command for adding dependencies to `Cargo.toml` from
  the command-line.
  [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-add.html)
- Package ID specs now support `name@version` syntax in addition to the
  previous `name:version` to align with the behavior in `cargo add` and other
  tools. `cargo install` and `cargo yank` also now support this syntax so the
  version does not need to passed as a separate flag.
- The `git` and `registry` directories in Cargo's home directory (usually
  `~/.cargo`) are now marked as cache directories so that they are not
  included in backups or content indexing (on Windows).
- Added automatic `@` argfile support, which will use "response files" if the
  command-line to `rustc` exceeds the operating system's limit.

Compatibility Notes
-------------------

- `cargo test` now passes `--target` to `rustdoc` if the specified target is
  the same as the host target.
  [#10594](https://github.com/rust-lang/cargo/pull/10594)
- [rustdoc: Remove .woff font files][96279]
- [Enforce Copy bounds for repeat elements while considering lifetimes][95819]

Internal Changes
----------------

- [Unify ReentrantMutex implementations across all platforms][96042]

These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

[93313]: https://github.com/rust-lang/rust/pull/93313/
[93969]: https://github.com/rust-lang/rust/pull/93969/
[94079]: https://github.com/rust-lang/rust/pull/94079/
[94206]: https://github.com/rust-lang/rust/pull/94206/
[94457]: https://github.com/rust-lang/rust/pull/94457/
[94775]: https://github.com/rust-lang/rust/pull/94775/
[94872]: https://github.com/rust-lang/rust/pull/94872/
[95006]: https://github.com/rust-lang/rust/pull/95006/
[95035]: https://github.com/rust-lang/rust/pull/95035/
[95372]: https://github.com/rust-lang/rust/pull/95372/
[95380]: https://github.com/rust-lang/rust/pull/95380/
[95431]: https://github.com/rust-lang/rust/pull/95431/
[95705]: https://github.com/rust-lang/rust/pull/95705/
[95801]: https://github.com/rust-lang/rust/pull/95801/
[95819]: https://github.com/rust-lang/rust/pull/95819/
[95841]: https://github.com/rust-lang/rust/pull/95841/
[96042]: https://github.com/rust-lang/rust/pull/96042/
[96150]: https://github.com/rust-lang/rust/pull/96150/
[96268]: https://github.com/rust-lang/rust/pull/96268/
[96279]: https://github.com/rust-lang/rust/pull/96279/
[96393]: https://github.com/rust-lang/rust/pull/96393/
[96436]: https://github.com/rust-lang/rust/pull/96436/
[96557]: https://github.com/rust-lang/rust/pull/96557/

[`bool::then_some`]: https://doc.rust-lang.org/stable/std/primitive.bool.html#method.then_some
[`f32::total_cmp`]: https://doc.rust-lang.org/stable/std/primitive.f32.html#method.total_cmp
[`f64::total_cmp`]: https://doc.rust-lang.org/stable/std/primitive.f64.html#method.total_cmp
[`Stdin::lines`]: https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#method.lines
[`impl<T: Default> Default for AssertUnwindSafe<T>`]: https://doc.rust-lang.org/stable/std/panic/struct.AssertUnwindSafe.html#impl-Default
[rc-u8-from-str]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3CRc%3Cstr%3E%3E
[arc-u8-from-str]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3CArc%3Cstr%3E%3E
[stdarch/1285]: https://github.com/rust-lang/stdarch/pull/1285
[`windows::CommandExt::raw_arg`]: https://doc.rust-lang.org/stable/std/os/windows/process/trait.CommandExt.html#tymethod.raw_arg
[`FusedIterator for EncodeWide`]: https://doc.rust-lang.org/stable/std/os/windows/ffi/struct.EncodeWide.html#impl-FusedIterator

Version 1.61.0 (2022-05-19)
==========================

Language
--------

- [`const fn` signatures can now include generic trait bounds][93827]
- [`const fn` signatures can now use `impl Trait` in argument and return
  position][93827]
- [Function pointers can now be created, cast, and passed around in a
  `const fn`][93827]
- [Recursive calls can now set the value of a function's opaque
  `impl Trait` return type][94081]

Compiler
--------

- [Linking modifier syntax in `#[link]` attributes and on the command
  line, as well as the `whole-archive` modifier specifically, are now
  supported][93901]
- [The `char` type is now described as UTF-32 in debuginfo][89887]
- The [`#[target_feature]`][target_feature] attribute
  [can now be used with aarch64 features][90621]
- X86 [`#[target_feature = "adx"]` is now stable][93745]

Libraries
---------

- [`ManuallyDrop<T>` is now documented to have the same layout as `T`][88375]
- [`#[ignore = "#"]` messages are printed when running tests][92714]
- [Consistently show absent stdio handles on Windows as NULL handles][93263]
- [Make `std::io::stdio::lock()` return `'static` handles.][93965]
  Previously, the creation of locked handles to stdin/stdout/stderr would
  borrow the handles being locked, which prevented writing
  `let out = std::io::stdout().lock();` because `out` would outlive
  the return value of `stdout()`.
  Such code now works, eliminating a common pitfall that affected many
  Rust users.
- [`Vec::from_raw_parts` is now less restrictive about its inputs][95016]
- [`std::thread::available_parallelism` now takes cgroup quotas into
  account.][92697] Since `available_parallelism` is often used to create a
  thread pool for parallel computation, which may be CPU-bound for
  performance, `available_parallelism` will return a value consistent with
  the ability to use that many threads continuously, if possible.
  For instance, in a container with 8 virtual CPUs but quotas only allowing
  for 50% usage, `available_parallelism` will return 4.

Stabilized APIs
---------------

- [`Pin::static_mut`]
- [`Pin::static_ref`]
- [`Vec::retain_mut`]
- [`VecDeque::retain_mut`]
- [`Write` for `Cursor<[u8; N]>`][cursor-write-array]
- [`std::os::unix::net::SocketAddr::from_pathname`]
- [`std::process::ExitCode`] and [`std::process::Termination`].
  The stabilization of these two API s now makes it possible for
  programs to return errors from `main` with custom exit codes.
- [`std::thread::JoinHandle::is_finished`]

These APIs are now usable in const contexts:

- [`<*const T>::offset` and `<*mut T>::offset`][ptr-offset]
- [`<*const T>::wrapping_offset` and `<*mut T>::wrapping_offset`]
  [ptr-wrapping_offset]
- [`<*const T>::add` and `<*mut T>::add`][ptr-add]
- [`<*const T>::sub` and `<*mut T>::sub`][ptr-sub]
- [`<*const T>::wrapping_add` and `<*mut T>::wrapping_add`][ptr-wrapping_add]
- [`<*const T>::wrapping_sub` and `<*mut T>::wrapping_sub`][ptr-wrapping_sub]
- [`<[T]>::as_mut_ptr`][slice-as_mut_ptr]
- [`<[T]>::as_ptr_range`][slice-as_ptr_range]
- [`<[T]>::as_mut_ptr_range`][slice-as_mut_ptr_range]

Cargo
-----

No feature changes, but see compatibility notes.

Compatibility Notes
-------------------

- Previously native static libraries were linked as `whole-archive` in
  some cases, but now rustc tries not to use `whole-archive` unless
  explicitly requested. This [change][93901] may result in linking errors
  in some cases. To fix such errors, native libraries linked from the
  command line, build scripts, or [`#[link]` attributes][link-attr] need to
  - (more common) either be reordered to respect dependencies between them
    (if `a` depends on `b` then `a` should go first and `b` second)
  - (less common) or be updated to use the [`+whole-archive`] modifier.
- [Catching a second unwind from FFI code while cleaning up from a Rust
  panic now causes the process to abort][92911]
- [Proc macros no longer see `ident` matchers wrapped in groups][92472]
- [The number of `#` in `r#` raw string literals is now required to be
  less than 256][95251]
- [When checking that a dyn type satisfies a trait bound, supertrait
  bounds are now enforced][92285]
- [`cargo vendor` now only accepts one value for each `--sync` flag]
  [cargo/10448]
- [`cfg` predicates in `all()` and `any()` are always evaluated to detect
  errors, instead of short-circuiting.][94295] The compatibility
  considerations here arise in nightly-only code that used the
  short-circuiting behavior of `all` to write something like
  `cfg(all(feature = "nightly", syntax-requiring-nightly))`, which
  will now fail to compile. Instead, use either `cfg_attr(feature
  = "nightly", ...)` or nested uses of `cfg`.
- [bootstrap: static-libstdcpp is now enabled by default, and can
  now be disabled when llvm-tools is enabled][94832]

Internal Changes
----------------

These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

- [debuginfo: Refactor debuginfo generation for types][94261]
- [Remove the everybody loops pass][93913]

[88375]: https://github.com/rust-lang/rust/pull/88375/
[89887]: https://github.com/rust-lang/rust/pull/89887/
[90621]: https://github.com/rust-lang/rust/pull/90621/
[92285]: https://github.com/rust-lang/rust/pull/92285/
[92472]: https://github.com/rust-lang/rust/pull/92472/
[92697]: https://github.com/rust-lang/rust/pull/92697/
[92714]: https://github.com/rust-lang/rust/pull/92714/
[92911]: https://github.com/rust-lang/rust/pull/92911/
[93263]: https://github.com/rust-lang/rust/pull/93263/
[93745]: https://github.com/rust-lang/rust/pull/93745/
[93827]: https://github.com/rust-lang/rust/pull/93827/
[93901]: https://github.com/rust-lang/rust/pull/93901/
[93913]: https://github.com/rust-lang/rust/pull/93913/
[93965]: https://github.com/rust-lang/rust/pull/93965/
[94081]: https://github.com/rust-lang/rust/pull/94081/
[94261]: https://github.com/rust-lang/rust/pull/94261/
[94295]: https://github.com/rust-lang/rust/pull/94295/
[94832]: https://github.com/rust-lang/rust/pull/94832/
[95016]: https://github.com/rust-lang/rust/pull/95016/
[95251]: https://github.com/rust-lang/rust/pull/95251/
[`+whole-archive`]: https://doc.rust-lang.org/stable/rustc/command-line-arguments.html#linking-modifiers-whole-archive
[`Pin::static_mut`]: https://doc.rust-lang.org/stable/std/pin/struct.Pin.html#method.static_mut
[`Pin::static_ref`]: https://doc.rust-lang.org/stable/std/pin/struct.Pin.html#method.static_ref
[`Vec::retain_mut`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.retain_mut
[`VecDeque::retain_mut`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.retain_mut
[`std::os::unix::net::SocketAddr::from_pathname`]: https://doc.rust-lang.org/stable/std/os/unix/net/struct.SocketAddr.html#method.from_pathname
[`std::process::ExitCode`]: https://doc.rust-lang.org/stable/std/process/struct.ExitCode.html
[`std::process::Termination`]: https://doc.rust-lang.org/stable/std/process/trait.Termination.html
[`std::thread::JoinHandle::is_finished`]: https://doc.rust-lang.org/stable/std/thread/struct.JoinHandle.html#method.is_finished
[cargo/10448]: https://github.com/rust-lang/cargo/pull/10448/
[cursor-write-array]: https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#impl-Write-4
[link-attr]: https://doc.rust-lang.org/stable/reference/items/external-blocks.html#the-link-attribute
[ptr-add]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.add
[ptr-offset]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset
[ptr-sub]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.sub
[ptr-wrapping_add]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_add
[ptr-wrapping_offset]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_offset
[ptr-wrapping_sub]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_sub
[slice-as_mut_ptr]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_ptr
[slice-as_mut_ptr_range]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_ptr_range
[slice-as_ptr_range]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_ptr_range
[target_feature]: https://doc.rust-lang.org/reference/attributes/codegen.html#the-target_feature-attribute


To generate a diff of this commit:
cvs rdiff -u -r1.264 -r1.265 pkgsrc/lang/rust/Makefile
cvs rdiff -u -r1.147 -r1.148 pkgsrc/lang/rust/distinfo
cvs rdiff -u -r1.26 -r1.27 pkgsrc/lang/rust/options.mk
cvs rdiff -u -r1.15 -r1.16 pkgsrc/lang/rust/platform.mk
cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/rust/files/gcc-wrap
cvs rdiff -u -r1.6 -r1.7 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs \
    pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs
cvs rdiff -u -r1.7 -r1.8 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs \
    pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
cvs rdiff -u -r1.5 -r1.6 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs
cvs rdiff -u -r1.8 -r1.9 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs \
    pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs \
    pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
cvs rdiff -u -r1.2 -r1.3 \
    pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
cvs rdiff -u -r1.11 -r1.12 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
cvs rdiff -u -r1.21 -r1.22 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
cvs rdiff -u -r1.14 -r1.15 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs
cvs rdiff -u -r1.10 -r1.11 \
    pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.112_src_unix_bsd_netbsdlike_netbsd_mod.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.116_src_unix_bsd_netbsdlike_netbsd_mod.rs
cvs rdiff -u -r0 -r1.5 \
    pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.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.264 pkgsrc/lang/rust/Makefile:1.265
--- pkgsrc/lang/rust/Makefile:1.264     Wed Jul 27 00:39:35 2022
+++ pkgsrc/lang/rust/Makefile   Tue Aug 30 19:22:17 2022
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.264 2022/07/27 00:39:35 tnn Exp $
+# $NetBSD: Makefile,v 1.265 2022/08/30 19:22:17 he Exp $
 
-DISTNAME=      rustc-1.60.0-src
+DISTNAME=      rustc-1.62.1-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
-PKGREVISION=   1
 CATEGORIES=    lang
 MASTER_SITES=  https://static.rust-lang.org/dist/
 
@@ -13,8 +12,8 @@ LICENSE=      mit OR apache-2.0
 
 CONFLICTS+=    rust-bin-[0-9]*
 
-# uses -std=c++14
-GCC_REQD+=     5
+# LLVM uses gcc7, follow suit.  Also, uses -std=c++14
+GCC_REQD+=     7
 
 USE_GCC_RUNTIME=       yes
 USE_LANGUAGES=         c c++11
@@ -72,7 +71,7 @@ MAKE_ENV.Darwin+=     MACOSX_DEPLOYMENT_TARG
 CFLAGS.SunOS+=         -D_POSIX_PTHREAD_SEMANTICS
 MAKE_ENV.SunOS+=       AR=gar
 
-UNLIMIT_RESOURCES+=    cputime datasize virtualsize
+UNLIMIT_RESOURCES+=    cputime stacksize datasize virtualsize
 
 TEST_TARGET=   check
 
@@ -155,6 +154,13 @@ CONFIGURE_ARGS+=   --set llvm.targets="ARM
 .  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099957
 MAKE_JOBS_SAFE?=       no
 .  endif
+
+# Open PRs
+#
+# Broken package with PREFIX not /usr/pkg:
+#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453
+#
+
 .endif
 
 #
@@ -180,49 +186,49 @@ BUILDLINK_TRANSFORM+=     opt:x86_64:arm64
 DISTFILES:=            ${DEFAULT_DISTFILES}
 
 .if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            aarch64-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}
 .endif
 .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            aarch64-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
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            arm-unknown-linux-gnueabihf
 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}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            armv7-unknown-linux-gnueabihf
 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}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
@@ -234,7 +240,7 @@ DISTFILES:=         ${DISTFILES} ${RUST_STAGE0}
 # x86_64-sun-solaris bootstrap and comment out the overrides.
 #
 .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            x86_64-unknown-illumos
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 SITES.${RUST_STAGE0}=  https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
@@ -247,17 +253,17 @@ CONFIGURE_ARGS+=  --host=${RUST_ARCH}
 CONFIGURE_ARGS+=       --target=${RUST_ARCH}
 .endif
 .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             i586-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -274,20 +280,20 @@ pre-build-fix-paxctl:
        ${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.59.0
+RUST_STAGE0_VER=       1.61.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
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             powerpc-unknown-netbsd
 
 # Cross-built against NetBSD 9.0
-.  if ${OPSYS_VERSION} >= 090000 || make(distinfo) || make(makesum) || make(mdi)
-RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
-RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
+.  if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
+RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.xz
+RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.xz
 DISTFILES:=                    ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=          ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -295,8 +301,8 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 
 # Cross-built against NetBSD 8.0
 .  if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
-RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=                    ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=          ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -304,37 +310,37 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_
 
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             aarch64_be-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.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
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=             armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=       1.59.0
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0_VER=       1.61.0
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -371,13 +377,16 @@ SUBST_VARS.rpath= PREFIX
 # updating and verification.
 #
 
-#CKSUM_CRATES+=        vendor/cc-1.0.69
-#CKSUMS+=      dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
-#CKSUMS+=      6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
-
-CKSUM_CRATES+= vendor/libc-0.2.116
-CKSUMS+=       5f927d3d26165689b3ae7a7535ea5504068a406ef76705572c610995dbea1f0e
-CKSUMS+=       a8da54099bdddb92bd0150fd23b90a7d94216927297b7b24bee219e7e1f754e1
+CKSUM_CRATES+= vendor/cc-1.0.69
+CKSUMS+=       6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
+CKSUMS+=       dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
+
+CKSUM_CRATES+= vendor/libc
+CKSUMS+=       8826303cad14a575fa8189f67c7df52a7e11f8eea0381d7d389ff8206757de9e
+CKSUMS+=       f79ec5ad2156182d51cf70d80401293da6f8277983dbdedfd2e6927133440e42
+#CKSUM_CRATES+=        vendor/libc
+CKSUMS+=       976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b
+CKSUMS+=       ee760c856bb491d885e9458fb723c53db7988ba775e59ab5b9ee8be438e69cf4
 
 CKSUM_CRATES+= vendor/lzma-sys
 CKSUMS+=       6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
@@ -434,6 +443,7 @@ MAKE_ENV+=          OPENSSL_DIR=${SSLBASE}
 .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so)
 BUILDLINK_TRANSFORM+=  rm:-lgcc_s
 MAKE_ENV+=             PKGSRC_HAVE_LIBCPP=yes
+
 pre-build: provide-libgcc-for-bootstrap
 .PHONY: provide-libgcc-for-bootstrap
 provide-libgcc-for-bootstrap:
@@ -587,12 +597,11 @@ stage0-bootstrap: install
 BUILD_DEPENDS+=        compat80>=0:../../emulators/compat80
 .endif
 
+.include "../../mk/atomic64.mk"
 # This is for when we build natively:
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
     !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
-# LLVM needs libatomic for 64-bit atomics on powerpc and i386
-.include "../../devel/libatomic/buildlink3.mk"
-# Make those libraries available via a unique directory:
+# Make libatomic library available via a unique directory:
 DEPENDS+=      libatomic-links>=0:../../devel/libatomic-links
 .endif
 

Index: pkgsrc/lang/rust/distinfo
diff -u pkgsrc/lang/rust/distinfo:1.147 pkgsrc/lang/rust/distinfo:1.148
--- pkgsrc/lang/rust/distinfo:1.147     Thu May 26 10:10:26 2022
+++ pkgsrc/lang/rust/distinfo   Tue Aug 30 19:22:17 2022
@@ -1,140 +1,142 @@
-$NetBSD: distinfo,v 1.147 2022/05/26 10:10:26 jperkin Exp $
+$NetBSD: distinfo,v 1.148 2022/08/30 19:22:17 he Exp $
 
-BLAKE2s (rust-1.59.0-aarch64-apple-darwin.tar.gz) = 3b9fbd710b04c088470b04e8817217fb7f9549e42159ac9b0a210e746e53b20e
-SHA512 (rust-1.59.0-aarch64-apple-darwin.tar.gz) = b60feca7e1ca4ae9eb7550b82de475b47da8f14aa293c1e3e9c4321eed70f9a899003d567c870a81e5f5fdb88a74d1ff654a77fd6577a992170353037c05f963
-Size (rust-1.59.0-aarch64-apple-darwin.tar.gz) = 275637417 bytes
-BLAKE2s (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = b67afe86baacfd99d7bd1b3dc763f46ca22cc64cb1247a74089f88e16237199e
-SHA512 (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 186d0d3b5c33c49735f8a50e5ffeb783821ca26bf646622e5d724ebbe698c39129000a568bc9dcc5cf521a9e72113bd853728bb76d31e442df92f5442f51cb2b
-Size (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 370532745 bytes
-BLAKE2s (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = 7ed024fb3b122475dc984e99b16a8a3e04c5c93bf6e489c2111dde0036577704
-SHA512 (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = f6ace1fe718953b9da3e2174201bb62819823904552cdd3ec264fa798d2aabde1f6663598e6c6377a074912b7de6eada86450967dc9a3d41173e4043009563d0
-Size (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = 237460036 bytes
-BLAKE2s (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 8f5e3660a56f349cbd6986bb68b462841fba98b771b273939b2343d9ac8da423
-SHA512 (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 638fd5ba7efa811f32778b445c953b203029414abf11e9a9c9be14ac367d435c1147a7fefde7373ed95082532ca91917ee2d1706f39e0776e331e999bdae2087
-Size (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 241627592 bytes
-BLAKE2s (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = fe8e19b4797e6c2f8b152ce66ec6bedb9256697c06df11f86df1b48b0f3baffa
-SHA512 (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 1b8420cd74ecea78e82faf03a9c1c3283728c5c9a3b10446e00fbcd3d9591af27af43a3e44be100d7a6ecc547fa8c7d3c44d345939625a71f79b2d272bb5b94c
-Size (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 303555009 bytes
-BLAKE2s (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = f66b427e703fcd3fe461e628ceab8cfce408c8665869dd599ca1b95915f9656f
-SHA512 (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 9b4106671d1167ec961aa5d12fd7bdab6ad0c1a9e38ef9b0c0fa74e856c0f5478230b0376f7a191fa7ab173bc9744a877db128c60eb06e9bfb94ade3e32e1283
-Size (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 295408222 bytes
-BLAKE2s (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = c5553e9bab0b1e4f2613c05a1d7de2fcdf7fc858b62b3a42ebb8839dd8dd7ab7
-SHA512 (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = c47b1804a53488015b2daf288142d1f150c57fbd27131472f4c41f23662d46787df0ba84f212ee3e26e2b706b157a001042842724039de4f4e2c6ceccc701e6e
-Size (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = 209450244 bytes
-BLAKE2s (rust-1.59.0-i586-unknown-netbsd.tar.gz) = 72d2f88fa0d9a938b872548faf95eb7bd8b88637c04d78911907155ce992718f
-SHA512 (rust-1.59.0-i586-unknown-netbsd.tar.gz) = 3026a19b03b98ce99b94674aab2508780499c823eb51f41e309eda2f9ec921e627b2e8f90abcee5012cc3c702d9bc81b91980578b4d60a05c95b01cf0713993f
-Size (rust-1.59.0-i586-unknown-netbsd.tar.gz) = 245354781 bytes
-BLAKE2s (rust-1.59.0-i686-unknown-linux-gnu.tar.gz) = e295004dea4da31b8af4da687145018370d8ef17eca66c2268fac50fe2c4d746
-SHA512 (rust-1.59.0-i686-unknown-linux-gnu.tar.gz) = 114f2092b6290ed794b8e5becfebcd532c9324727d8a85e258b8d95ac2de29d368997b2953941ae268dcf3c5a440b1d86f25fb804b0690278935bd32b731f988
-Size (rust-1.59.0-i686-unknown-linux-gnu.tar.gz) = 349107211 bytes
-BLAKE2s (rust-1.59.0-powerpc-unknown-netbsd.tar.gz) = a24379ea60448f1fc45254129c68fbb8145b0fb8b4d843a83a8aaee79fb1ef81
-SHA512 (rust-1.59.0-powerpc-unknown-netbsd.tar.gz) = 1473df8264a7ec8b301941b740009676a5dce1205bf8a862ba69c609b430fa765ffdeeb3d7ee190879005470fbaacda9a081bbfeaeae7a7e8bc5f852038290e0
-Size (rust-1.59.0-powerpc-unknown-netbsd.tar.gz) = 272184245 bytes
-BLAKE2s (rust-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 56e37971d490a4c50d16c9fa9ed98954d467a7fd6e49562e9b08bb6507f5766c
-SHA512 (rust-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 48a88cdbd0227e31737c8689c1a52aeebd227b32cad33808fed8361170d181ccbe413145e076e5b02f37ed2414612f2a314c6e68779423a113c605db6fbacfcf
-Size (rust-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 278494737 bytes
-BLAKE2s (rust-1.59.0-sparc64-unknown-netbsd.tar.gz) = c9fcdab084ecb10f838f74bdc88d82f15774d9658af9816f259adf6145117a29
-SHA512 (rust-1.59.0-sparc64-unknown-netbsd.tar.gz) = 1d8d4f93dce3acba63437ba4da0082d3baa3c1134531166d8a1102edb0f6cb43ffb4e90def670ac0c848ee226c3e0741a3d018f95aa654c3843178077aff677a
-Size (rust-1.59.0-sparc64-unknown-netbsd.tar.gz) = 245891630 bytes
-BLAKE2s (rust-1.59.0-x86_64-apple-darwin.tar.gz) = 365ae98bd77239b7a073dd5e8ddbda3e784d14d2f4ccc42f5ec30b00d126265e
-SHA512 (rust-1.59.0-x86_64-apple-darwin.tar.gz) = c360bc10f82e116fccab45e44c85ce55a2c6233badc3d0512b36748efcd12df9c0923f57f15e4bd80e163ea297eec05185f3693ee2e8708b67c59cb3014ba83a
-Size (rust-1.59.0-x86_64-apple-darwin.tar.gz) = 284198625 bytes
-BLAKE2s (rust-1.59.0-x86_64-unknown-freebsd.tar.gz) = f85add6bf0d4150957c6bcbe832fcf4da8f4a948c620d44c6c1d753113fe576d
-SHA512 (rust-1.59.0-x86_64-unknown-freebsd.tar.gz) = a170d55e2e80f7e5855caf6f52ed392630cfa076430886c462ea466f5a7a7c81d033a0764b9021de0e86fe105e22e797f67e85be47b87833b6d5133e486ac12d
-Size (rust-1.59.0-x86_64-unknown-freebsd.tar.gz) = 269933327 bytes
-BLAKE2s (rust-1.59.0-x86_64-unknown-illumos.tar.gz) = eb02521929ef646fce17a94813ca508d04d7f36144595bec9d86abff4eba016e
-SHA512 (rust-1.59.0-x86_64-unknown-illumos.tar.gz) = 1955a4d9c61bfdeab0103c4fcad1d3f934ede5af0e29e59d42d4041f44609c5de42254b0cafd20f75ac2883225036fccf0cef4519110e648b3ae348baa6bcc31
-Size (rust-1.59.0-x86_64-unknown-illumos.tar.gz) = 199400581 bytes
-BLAKE2s (rust-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = f60b459ad7b6d8286641fb318499a3caa3fea0868da63587c229dedacd019732
-SHA512 (rust-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = 460ed673cd260af28a3542bac95517e3a4e8bb63a029deecf5e5c671cd7784e73c9cabdcb0b7eb75a81a59d19671228d6a56093fd1712de7d9a76aeee43eca8a
-Size (rust-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = 258629397 bytes
-BLAKE2s (rust-1.59.0-x86_64-unknown-netbsd.tar.gz) = ace2a39acae8a5ea8420296e7d87b8b1dab8c21165c17a332eb4ca705309389a
-SHA512 (rust-1.59.0-x86_64-unknown-netbsd.tar.gz) = a8a347ac68b61ea0bd324e3a14d55ff31de20fbb1496924c9cc8efab29f239d72388247b61dfddfe19111d00e5e1d737de197bacdd17998e52113bad7139ed47
-Size (rust-1.59.0-x86_64-unknown-netbsd.tar.gz) = 249024467 bytes
-BLAKE2s (rust-std-1.59.0-aarch64-apple-darwin.tar.gz) = f7e8c87703419519e79de519362f914481346c827aec0e41dce5eed29f0f0c0f
-SHA512 (rust-std-1.59.0-aarch64-apple-darwin.tar.gz) = 3116b92777f7060af4033dd7fda716c60c2f989e2ca7513bb7508a557bfb274e818bb9bf71c731af804c0e2a0c9cb0d84c7c8f632f0c1d4131854d4dea5e47d3
-Size (rust-std-1.59.0-aarch64-apple-darwin.tar.gz) = 38541530 bytes
-BLAKE2s (rust-std-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 9b6b4f181e441d08352ddacacb5805aa7656c21c90c992c25ae1eb48c4884229
-SHA512 (rust-std-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = b72271e18cbdf3f42ae4cdd56531e0ec7d3b9b7037ae7683c3e91a9ca2766c370d13914da5d05cb7883cc6bd8f5edfed9e67259df7fd36a60feddb5c9fd4ec02
-Size (rust-std-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 53690069 bytes
-BLAKE2s (rust-std-1.59.0-aarch64-unknown-netbsd.tar.gz) = b0184654e7c222f4b9f22e1114d7689387375751b25a12eacca4f54cdf4f7bca
-SHA512 (rust-std-1.59.0-aarch64-unknown-netbsd.tar.gz) = d6eb76b5a4edfba58f0cf58a71f362b5077a344aa8d5ae7e659e1802e9384c814fba7bf8d58823cf0d0ee9e85bbd05ca46b297e56e9bad5c9ae745c8c5f93c99
-Size (rust-std-1.59.0-aarch64-unknown-netbsd.tar.gz) = 33598596 bytes
-BLAKE2s (rust-std-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = ff36bb5df89a6c1bc464f125903280b9dd8694e34bebef3de950d5c8c21a3e1b
-SHA512 (rust-std-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 862b34f0fe080ae7534db41136661a46db802c7eb6472727ef9515c18600e741ade71b480852d29d864071f9cd092c2bc9fd7d400f0731a67411425a41d9179e
-Size (rust-std-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 33601284 bytes
-BLAKE2s (rust-std-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 45db31882eee026422803dd1561dc270dd531207ce7d3813d81688e779b0417f
-SHA512 (rust-std-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = bb6e79f4eec6714cc3241de6282f7444f2a8dd027da0702050bafcd94a2d579f8796e2ba2d15587b3a2941c918a17c7544da11d5b08dfcb019254a6e61cf6ab0
-Size (rust-std-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 34676100 bytes
-BLAKE2s (rust-std-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 5010d5e365cef7754c75071503bf57753d59407b4399f306bcbf8e2a84bb1230
-SHA512 (rust-std-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = e542c535af5f7cd5d4ab7957fdadb3d8aa4e8f1531ace61070c52885d0aa41f8c13bca8a4928c9c0c42269ead952bcaca56f94e6dfa9113d870c019413e89bd7
-Size (rust-std-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 36509100 bytes
-BLAKE2s (rust-std-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = 12744fb922c058f81711ffcaa41f047f90fd4c3684f7e64e1a6093afa3edd627
-SHA512 (rust-std-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = 196a173014887e490c44ede94fbd035a6a5514ee569847d3582e21ab81c4eba608d6ca1a0cb81f0b0855808cd60700ba6846209dc0657f8b8fa2273838788d58
-Size (rust-std-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = 32109210 bytes
-BLAKE2s (rust-std-1.59.0-i586-unknown-netbsd.tar.gz) = 6ba522ac9182c7c5f831f8232796d8c6455ecc3d3d2c465f0feab69b52902715
-SHA512 (rust-std-1.59.0-i586-unknown-netbsd.tar.gz) = cbd63d0bbd86f2a56661cd0a5b7edb845e9533f6f4cbd284c4733f09f5f9a05a36d65eaed0bc1c2cf028ccc6d5ee26bf7895af1bc48f49a39ba2d3c60e0df145
-Size (rust-std-1.59.0-i586-unknown-netbsd.tar.gz) = 34276271 bytes
-BLAKE2s (rust-std-1.59.0-i686-unknown-linux-gnu.tar.gz) = 24e04f873312d4f290b7a34fc2d663f8b3b5754d302d1bdbde27409c1fe48080
-SHA512 (rust-std-1.59.0-i686-unknown-linux-gnu.tar.gz) = 768633cc980445bb736c74e3ea90fbf38fd237c20d9481d9127933d6ef02b9e9ec80ce4d60f661a1be3df311b924417e9c90681afc07235838d52a9025e071da
-Size (rust-std-1.59.0-i686-unknown-linux-gnu.tar.gz) = 38538390 bytes
-BLAKE2s (rust-std-1.59.0-powerpc-unknown-netbsd.tar.gz) = adb7006f3292d281a0569d7dffd962ed1afe0577756d26fd5f6660c27fb95542
-SHA512 (rust-std-1.59.0-powerpc-unknown-netbsd.tar.gz) = dfe64ef939487dbc04e6fba7608eebfed9dce56e9dee14288e4e6c55157246ad1fbaf2aacb704a7e969bb6a3e24fbc4b7ca72e88531616b6f685771f205d6966
-Size (rust-std-1.59.0-powerpc-unknown-netbsd.tar.gz) = 30124266 bytes
-BLAKE2s (rust-std-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 4b627fdaac2571e9af8b306d5438413a19d2f67d4b165f8792113cc242c96d56
-SHA512 (rust-std-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 5440644acfba3cb4c2b20890468e6bc968333a8f612882de288728be880de66552041a08e1e4164f7048d1b013278575340b7f0e43063f7173580649253faaf2
-Size (rust-std-1.59.0-powerpc-unknown-netbsd90.tar.gz) = 30119916 bytes
-BLAKE2s (rust-std-1.59.0-sparc64-unknown-netbsd.tar.gz) = 96b4a1d2d137fbbff671d63500c293dbbd1e2cdffa33e595db4e4ebc2f5ce140
-SHA512 (rust-std-1.59.0-sparc64-unknown-netbsd.tar.gz) = ae2c8b8fef6fe20d1866ac984f8e3cdceb662cc72b40124aa8084accb2491ccf6069c69c427227d0a7bdc55508d957d6b1db52e4255b0974c2c0782e6c65c6f8
-Size (rust-std-1.59.0-sparc64-unknown-netbsd.tar.gz) = 30269195 bytes
-BLAKE2s (rust-std-1.59.0-x86_64-apple-darwin.tar.gz) = 377df8d64efbe53eaac1eb27c73c264d46c626907e8e4a48e4b311ef278fb550
-SHA512 (rust-std-1.59.0-x86_64-apple-darwin.tar.gz) = 2621a4ec985c18da55a74a1d3b17eebd73e579295b7c42f45c62970ce374e9ec552be1aad9e9b92990bd8cf2c4ac1e63e4afd6cd96b54a8eb6f9333de74d1c00
-Size (rust-std-1.59.0-x86_64-apple-darwin.tar.gz) = 39328167 bytes
-BLAKE2s (rust-std-1.59.0-x86_64-unknown-freebsd.tar.gz) = 80e11aaee968d2bee4c969e23e87a4b3a1bfb20b42c8b35e1adf0a5f302d2e61
-SHA512 (rust-std-1.59.0-x86_64-unknown-freebsd.tar.gz) = 0cc583677fbf7c24eb3a255fa84dab6a67140bcac3294c366e94a4887fcc52b360e62cfdbf29d478e72962b4e749a5b8a7e995cc51bdea6f96a46fa15949a805
-Size (rust-std-1.59.0-x86_64-unknown-freebsd.tar.gz) = 41067268 bytes
-BLAKE2s (rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = 95cbd6edf55c997471c9f0dc63a2f2f19729eed150b77f5faa092e291d0a890c
-SHA512 (rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = 2e4319c2798e820e1485cf167030fd3dec95864afe4d40bbf912b77dfec7d136fceb2cdbc68f8c032045562a152163940bf1aab0a99705f852f9bc82a458b944
-Size (rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.gz) = 42505644 bytes
-BLAKE2s (rust-std-1.59.0-x86_64-unknown-netbsd.tar.gz) = 97a84b68cbd43bc6b836339ef678e2aae5e40433997a0d1228f2261fe637a4d1
-SHA512 (rust-std-1.59.0-x86_64-unknown-netbsd.tar.gz) = 5e11b1067d514376fbe05fefdd915aebff14e42876940b8593231b45a202d3bac3f8575b1047c21464092cc9c4d664af2da299387e3b43125f741a8656205eea
-Size (rust-std-1.59.0-x86_64-unknown-netbsd.tar.gz) = 38349557 bytes
-BLAKE2s (rustc-1.60.0-src.tar.gz) = 4b8bef4271345a46fb72965a67f5a371ef148f3e9439dea77e9484d34102be67
-SHA512 (rustc-1.60.0-src.tar.gz) = ae626482287949eb73a5467245b8e21b7624713a29d4bbdf1c1e1232e10f5497ba3435427e08df4fd5d2277c456213e5d04529e841d50924a4211fdb8c6acfd0
-Size (rustc-1.60.0-src.tar.gz) = 202376973 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 3c19dae8c19578860d3369253ef6bb35772db821
-SHA1 (patch-compiler_rustc__llvm_build.rs) = cdbed7372d12d1404119867eceaafe43ae8acb6d
-SHA1 (patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = acad7e2b0bbeb85f6453aeee74a0f2ca253d6a9b
-SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = efae710b37c089702802c3d5aa678d1cc5f88cc2
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = ee9668aecdaa509a8fb8c3d799e0ce5077f6a11c
-SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 18e3cb9f32c4170679459b2c63c856abe0fac6a3
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 94b6bf51fac39d3e28a261855fd747ad1e96b286
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 505192b8fec0cc0a167c27a2121acb3c1acef53c
+BLAKE2s (rust-1.61.0-aarch64-apple-darwin.tar.gz) = 302f636b2e73cdd5233e520bdfec0a2071d7c0c3c299780e2de75e727024fb38
+SHA512 (rust-1.61.0-aarch64-apple-darwin.tar.gz) = 248c5d1c3b440aa1ebb8d8d519651259566407f3efd0c33724d274a4f85a371c1b3ead79be24bf38cbca8b57740cb017b26634a4c34c1f3c605d28a8d181a8af
+Size (rust-1.61.0-aarch64-apple-darwin.tar.gz) = 223157966 bytes
+BLAKE2s (rust-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = 033b7a591e7880665e6b0aa0970ef6cc82788ffdaf4ffb557afbbb7b1ff2cf05
+SHA512 (rust-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = e655efc0442872df855d3593c5b8b5c91037682cfcdfe5f3fc62f23c08ffe52d035bea94d9418d99f279da6835bbe4b17b92038c7c8b61dfa16a8d419e43c0ea
+Size (rust-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = 384662543 bytes
+BLAKE2s (rust-1.61.0-aarch64-unknown-netbsd.tar.xz) = 1ce2a2f0feccc3be8dc3084e44a75d98a5277c4f8ef7c06503f1077110c95733
+SHA512 (rust-1.61.0-aarch64-unknown-netbsd.tar.xz) = c1ce3dd379ad469752bb4d44008f65cb4aacf5c06bc4ebe148bf43904de46e12beff404044e09d93c511172de2bd178fe050dda0b6abf56031188e8d0c290344
+Size (rust-1.61.0-aarch64-unknown-netbsd.tar.xz) = 152425036 bytes
+BLAKE2s (rust-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = ee8093109204823679d484928c010f6313b27ec6e787f0d960e84cf96f132109
+SHA512 (rust-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = f8b5a58a94ac9313a8c8445ba8a8d94dfa9fbfee21f3273d0d705f30ecec4eeeb0325723a73381fa2ea32ced419f09279f1233c174f749aa4ada93ec6810cabf
+Size (rust-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = 153824936 bytes
+BLAKE2s (rust-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = 3ad009c7620aacb0d3d4e6a43d87cd8b2fdb7643955ebceef5111ba867bbc52b
+SHA512 (rust-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = 74ada02f436b2a97e05c8ec5bb8f7c0b638c5a59a71f04ba274efa6016a10514477480bce4e3023fe5586ab3190bdc270db723787d4d8ffccbaf0ba995325c1d
+Size (rust-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = 313941585 bytes
+BLAKE2s (rust-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = 3a66ca94537a649efdcf4f87a26941717bbabf4da56edd330c6d0e1a5423e55f
+SHA512 (rust-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = 951e49690023a681215f0911937af84642dda2e5be5261629eda6662f50fdd8fea0cfb20d8067cd39b6eea51cc0e5fe7e0ab337c8c379d7408b1669816754c4d
+Size (rust-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = 305528469 bytes
+BLAKE2s (rust-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = fcfc58215e88b6a4d37994362def451a4d2b53aa1e941224a12d523d947d8fcf
+SHA512 (rust-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = 5f14d9489a472aa743a49870f561ff7f99d92eac9db4e56f4909a38710e4e7e496b48387392afc9e4dd0d29efb971d7c893a38108791bb29127f15bfb6af5e24
+Size (rust-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = 131446548 bytes
+BLAKE2s (rust-1.61.0-i586-unknown-netbsd.tar.xz) = 5b3fff5a7a53ca37dfc4ada3fefc2d494a60d7df785275b4b745be867ef4ad34
+SHA512 (rust-1.61.0-i586-unknown-netbsd.tar.xz) = 26d8d732d807ee62208db05c37e68dfe3f43924e0e4a57f02f86442e49f1660d736d74c218301af00a94fe62d35ea4a2eb2056c996387d6fc369cd2f4804a59b
+Size (rust-1.61.0-i586-unknown-netbsd.tar.xz) = 164105180 bytes
+BLAKE2s (rust-1.61.0-i686-unknown-linux-gnu.tar.gz) = b3d33a7243bed8546e1f233bb936970bfb4a1485902307430f479f5a9fb98dc2
+SHA512 (rust-1.61.0-i686-unknown-linux-gnu.tar.gz) = d2e7365ddc08e04de94a3aa1eb0388001e574d1a768e5506d88c6a637ebae54bcf6cf1790b08243bfdf439088c5fbaf1e8979cb2c80b699d47802149a7d26d76
+Size (rust-1.61.0-i686-unknown-linux-gnu.tar.gz) = 359348717 bytes
+BLAKE2s (rust-1.61.0-powerpc-unknown-netbsd.tar.xz) = 6d90142d69fd475a45713b7a1e9ea63465537d854e3b498baf5285eb87d60662
+SHA512 (rust-1.61.0-powerpc-unknown-netbsd.tar.xz) = b6e082decdcb28f4bb1c078ea48717c4ad3ef20d7cfecbc768df23e33b757515a266ad3146633a20befaf2da9ac443e1dd1ed69867513c1ce324e097808da9b5
+Size (rust-1.61.0-powerpc-unknown-netbsd.tar.xz) = 171267280 bytes
+BLAKE2s (rust-1.61.0-powerpc-unknown-netbsd90.tar.xz) = fae7b4b7c7aa5b82c3baa01534a430864e30d5338ddbf94dc3926d775feb0930
+SHA512 (rust-1.61.0-powerpc-unknown-netbsd90.tar.xz) = 5a4a10690155fe743536ff6490df7edb2dea3ba3be556bc2e3d9f903c66db58dd8f8d1430d9cfa067797db0006ddfb4191ade74109cbec74fa16a742d0f4d37c
+Size (rust-1.61.0-powerpc-unknown-netbsd90.tar.xz) = 173506228 bytes
+BLAKE2s (rust-1.61.0-sparc64-unknown-netbsd.tar.xz) = a30a9e02b087c374f54a2505aa70e62888070d7f0f1633cde5b0303a1099928a
+SHA512 (rust-1.61.0-sparc64-unknown-netbsd.tar.xz) = 0c08758d93b3d20fd9694e0a1e74d0db8a1065d362610b05e25cd6d4b2a5f5ceb6453fde8e03b90b328fdc1508cb385fd2331df89e8762f24d4b0dc56e34920d
+Size (rust-1.61.0-sparc64-unknown-netbsd.tar.xz) = 148653524 bytes
+BLAKE2s (rust-1.61.0-x86_64-apple-darwin.tar.gz) = 586f09f54f6bfa48bca1362e0aff4a77577de51c9ec7ba40039f21bbe6fe0f9d
+SHA512 (rust-1.61.0-x86_64-apple-darwin.tar.gz) = f585487ad238ee3a8d9268f5bcd76019da67de96ebd5a84d3b5f809ad6f3cd2ae79c7d93d8d2affbbf4bdfa61ab577a34a885196fe09408a658a577d20a892b2
+Size (rust-1.61.0-x86_64-apple-darwin.tar.gz) = 294924562 bytes
+BLAKE2s (rust-1.61.0-x86_64-unknown-freebsd.tar.gz) = b45e3011ce13ceeebac6eb179042c04da61713daaee1d01f3006f4c1563a974d
+SHA512 (rust-1.61.0-x86_64-unknown-freebsd.tar.gz) = da30babf3a6dba8af0cfdf5f131206360219af1b598568f6cbb55680e74e4d7a38ff14166e69daa4b8c16d7d9d9e2866511b9c20090b8e136b275ecb8c5a0133
+Size (rust-1.61.0-x86_64-unknown-freebsd.tar.gz) = 279844072 bytes
+BLAKE2s (rust-1.61.0-x86_64-unknown-illumos.tar.gz) = 3f6b3720e1d1643a832c9e576e9338b39236243965e245978a0fbc585cadf6cf
+SHA512 (rust-1.61.0-x86_64-unknown-illumos.tar.gz) = 31b38f6adc164e2f1873af31899a32180c93c0fb0881557c19ec688b952e85dfc9e2c4b8543aae642f13f77ebad98c0d9e14b206b32b3f54504d495ba801b3e5
+Size (rust-1.61.0-x86_64-unknown-illumos.tar.gz) = 196885675 bytes
+BLAKE2s (rust-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 5f3564c314d3622d64a590267706097d1cb9704c252638f07aa239c1fcf48256
+SHA512 (rust-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 7352d98d3acfe8bd754641381435d4bcb3399a8448fe6883b7c96ee41ffa380d8545cc8471ca4b21ee29c0d8e891e28de3ab91e985ad16b88965342358a87590
+Size (rust-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 267765196 bytes
+BLAKE2s (rust-1.61.0-x86_64-unknown-netbsd.tar.xz) = 286cc36270967561d44dd469ecb03fe8356e76fc1d44beb1b2ad92644149a483
+SHA512 (rust-1.61.0-x86_64-unknown-netbsd.tar.xz) = ada2acd0f34c45e689ae97d98fa3cfbcbdb330b9231178c1b3e91c0474af47a84a3ae893309aed1fb14b726e2b07894713520fedebc2b534b16cd559d276cf43
+Size (rust-1.61.0-x86_64-unknown-netbsd.tar.xz) = 168759980 bytes
+BLAKE2s (rust-std-1.61.0-aarch64-apple-darwin.tar.gz) = 1a6ce39d1b191696803a8e4190992217cf0c77133cd4a59f0b3fdcaa99a1ee17
+SHA512 (rust-std-1.61.0-aarch64-apple-darwin.tar.gz) = b5d613d9484ed7d505e62bd905f573565b691a11e61416b78b6f0dcd0e7bf8528b608ae8ae65a0523aa1b85d755e725399a3a250a7c5a7cd015a5d364bce5348
+Size (rust-std-1.61.0-aarch64-apple-darwin.tar.gz) = 40372015 bytes
+BLAKE2s (rust-std-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = eb33ffa3c0de6a95d7de177ba08a9220d42203adc8906a2634fd6edc8c54b36c
+SHA512 (rust-std-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = 574984228b3f39e43bc751a01593e8831e5f1b9c87a79f2b5870ee356206bf14572169f91bbf73a76081eea100bde73dd4a4bf176dcbf882394c7ef46d1f2aea
+Size (rust-std-1.61.0-aarch64-unknown-linux-gnu.tar.gz) = 57803910 bytes
+BLAKE2s (rust-std-1.61.0-aarch64-unknown-netbsd.tar.xz) = f32b0fa6188491cb80578d780a8d56461b9a5c8fa5a237950a80399f7e02d799
+SHA512 (rust-std-1.61.0-aarch64-unknown-netbsd.tar.xz) = 65962e7a5752645cb1e51b3338ddd358d5575faf74cf5869c12d5593e0daa9f898442d11ffde198873bc1eeb707f47c49aa90b1444d15e00dd1712698998d7f5
+Size (rust-std-1.61.0-aarch64-unknown-netbsd.tar.xz) = 23632144 bytes
+BLAKE2s (rust-std-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = b209b1bb802c4631c1b62121045ca86b4144bf4a778bb102587cce8535ebea38
+SHA512 (rust-std-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = e63ea551dd707882dd5a9db380a6d125bd36394c97833b47e840d5ee446b6acbb8b029881fd8ab74153ee3da042a995ebe7b708b0951b657ca6654d2915d20a3
+Size (rust-std-1.61.0-aarch64_be-unknown-netbsd.tar.xz) = 23334820 bytes
+BLAKE2s (rust-std-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = ab3d1591f25a7f39e9c1b0bb16506dea2ef31a5020b63cb11055d8b1c17520c5
+SHA512 (rust-std-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = d3d834a55107bed04ef71479db9d10a0e895422874d754ba8f36f0633291d395d9e869f9de9160df619f5102b29434a4c2a464a5a40d8845f9aec77bc25992cc
+Size (rust-std-1.61.0-arm-unknown-linux-gnueabihf.tar.gz) = 36343974 bytes
+BLAKE2s (rust-std-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = 8b46d14aa8a2bdcd0f5df8d324edc12bea56abf72ca5f3626302b164823790c8
+SHA512 (rust-std-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = d92eb00c53ed725c55aaa2addb1c9e9ea92c8c07d2305e7565c960a3c670a17239df17b7942f5d8f8ddd5d3fcf95c4a9051366f4abf0b5ad0908ff163f46fb6e
+Size (rust-std-1.61.0-armv7-unknown-linux-gnueabihf.tar.gz) = 38251240 bytes
+BLAKE2s (rust-std-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = 21d2975a4d1cb48bab85cdc96da017895ba17cd10828ad941803a06cbd451cf8
+SHA512 (rust-std-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = 96a21ba042e7313f94244f56e8b946b9f69ace8126770b9aec591755f7ea49553af28d00efc84d9eed214801c615394c0668ff1963090905ca8a98d2358a991a
+Size (rust-std-1.61.0-armv7-unknown-netbsd-eabihf.tar.xz) = 22710204 bytes
+BLAKE2s (rust-std-1.61.0-i586-unknown-netbsd.tar.xz) = 6e243ba70f0855a331e245d737989bf130058a9c5174448a0d1ce2b2c4b7d448
+SHA512 (rust-std-1.61.0-i586-unknown-netbsd.tar.xz) = ff746760d086bfb0b77932aa8167cebc2ecc0b6a35e3174ba2019b431f21bd8ca278f3a74f3f080b555d775add4d0b2604e12f7381cc7bf11717b24b82563ca9
+Size (rust-std-1.61.0-i586-unknown-netbsd.tar.xz) = 23293816 bytes
+BLAKE2s (rust-std-1.61.0-i686-unknown-linux-gnu.tar.gz) = 61440054014a811b7423c0eccd3cd9fd71c1dfff11dd959a530ed26856f6ea04
+SHA512 (rust-std-1.61.0-i686-unknown-linux-gnu.tar.gz) = c4140820a64b5079c156b7125fc0127b8b6c23b6e2a7fa4b8fb1935a2041d1248ca8c07acd14091bb0b7ef25012c256a951f906da34389df0fb8e5cbd8e71978
+Size (rust-std-1.61.0-i686-unknown-linux-gnu.tar.gz) = 40230974 bytes
+BLAKE2s (rust-std-1.61.0-powerpc-unknown-netbsd.tar.xz) = 089b76e138ffdc9f7b0a3778dc2f02dc967ebc720bdbca8d3631b0461f3b9d05
+SHA512 (rust-std-1.61.0-powerpc-unknown-netbsd.tar.xz) = 3d30a7c2c179ba619b5e26d7f3fc5836bcfce674e0761541af2bed64e1a139247559e011b2656f76ea7eb82f613d4e04811c6efa62527bdebf9d7c1f126b8ae5
+Size (rust-std-1.61.0-powerpc-unknown-netbsd.tar.xz) = 21332952 bytes
+BLAKE2s (rust-std-1.61.0-powerpc-unknown-netbsd90.tar.xz) = 27b508588df75b65a4615a58243b5886e3e27945311b95cb13166d8c5aa0a75c
+SHA512 (rust-std-1.61.0-powerpc-unknown-netbsd90.tar.xz) = f139d347f8605bc42065db26dc7d1a434413ec253785040ad6fac7a79ec273df18171369c2997491ece6492790055f7e604471f9df838ac92b424f6e986e392f
+Size (rust-std-1.61.0-powerpc-unknown-netbsd90.tar.xz) = 21334304 bytes
+BLAKE2s (rust-std-1.61.0-sparc64-unknown-netbsd.tar.xz) = c299a2ec5cd573f032fc76c0e702cbb5576d77cc42b90de31f54a3b310c572d7
+SHA512 (rust-std-1.61.0-sparc64-unknown-netbsd.tar.xz) = bb1749000628b9e35af994cd1722007a477435a113d5c95d6281abb61cbe06a9790de9c591ffa8cc9a2164eb345cf96a8dab0a2319bb6d78ed5a5d3cbe92fc75
+Size (rust-std-1.61.0-sparc64-unknown-netbsd.tar.xz) = 21462720 bytes
+BLAKE2s (rust-std-1.61.0-x86_64-apple-darwin.tar.gz) = 1ce8738fc0ce4e5864feb0cd2b70129a4faff271cef06e19cd490131f98cc941
+SHA512 (rust-std-1.61.0-x86_64-apple-darwin.tar.gz) = 37a36ed8abc2a304feb85d431731baf2d3fdca894e15a70691ec03758c224a77040d0397b7cd8a116f1780016feecb188daf73363b9f1f699b728db17b5f41d9
+Size (rust-std-1.61.0-x86_64-apple-darwin.tar.gz) = 41009315 bytes
+BLAKE2s (rust-std-1.61.0-x86_64-unknown-freebsd.tar.gz) = 1f92252ef318448abefb42ab70b3b4586ea1bf11b1ebfc8c13ae421f5fb18561
+SHA512 (rust-std-1.61.0-x86_64-unknown-freebsd.tar.gz) = c17cea0286ef48c9d7bd3af9e0995a2195f57a0fdf0eac27c95d356f1203ab173e94fa007bf70b7a81547a0f71a5236510bdd7f0dd69c836bb689fbcd678b046
+Size (rust-std-1.61.0-x86_64-unknown-freebsd.tar.gz) = 43121370 bytes
+BLAKE2s (rust-std-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 825453fd8e2badb7f1d2acc09ace3b5b581032db111e090c81c27cf369758804
+SHA512 (rust-std-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 57d8f2647f8732fb4c3d8b9581822911d650d4d5f32c01ab60158b38626cfff416cd435231fb312aa4c09da823a59bbb5a50492c8d197d2c628f793c9791dd30
+Size (rust-std-1.61.0-x86_64-unknown-linux-gnu.tar.gz) = 44597191 bytes
+BLAKE2s (rust-std-1.61.0-x86_64-unknown-netbsd.tar.xz) = 65c40ed6e23cecae9dbab49f746140887be77cb4bffd588df957d25ec025f68a
+SHA512 (rust-std-1.61.0-x86_64-unknown-netbsd.tar.xz) = 4dfee06b1cd8a7d0a1f1b24d402e40fe0b751e3ae38ace8ad93c5d7384da7228079a4de5e402d32c3b087027dea4b86354f6a0af327c7781cfa602786613e098
+Size (rust-std-1.61.0-x86_64-unknown-netbsd.tar.xz) = 26321476 bytes
+BLAKE2s (rustc-1.62.1-src.tar.gz) = 9471494b3df9069180c442607764884f29f24ce1ed5aea1943aa5a54ada7d4bd
+SHA512 (rustc-1.62.1-src.tar.gz) = cbc8127145db1e3e6c3113fd3db44b500d9cac05e7a8b55cab63c6016d2de617c40786d77603b08c54a437f712f306a728cc1a7421de4c879ea4bb599e49d140
+Size (rustc-1.62.1-src.tar.gz) = 202198995 bytes
+SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 8a653765ee34fb00414b146818339e01f5fa1336
+SHA1 (patch-compiler_rustc__llvm_build.rs) = bcc6ed331eebf0589a100d53b29182659596d90b
+SHA1 (patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = c81d0d288699056ae45569f8d0a1c9bb08153ec4
+SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = 71b5736952023931c94c6996e73cdcfc66b429fe
+SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 399d2f5319ab834f36d7efa83ad0be73de6eaf7c
+SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 57b26a7eb55a4a8e9ec8c4fb8b3b318a25d5a78b
+SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 32ab8ea3809cd4f6fee9fc0df5db47d76ccbd9d2
+SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 56621c10310914672a851cf5dfbf343a9ff4e1be
 SHA1 (patch-library_std_src_sys_unix_mod.rs) = f8669d680f169137ac2891af2977909619366a97
-SHA1 (patch-library_std_src_sys_unix_thread.rs) = ac9b172915163ac5652d06cfc4ccdd1f8b08e651
+SHA1 (patch-library_std_src_sys_unix_thread.rs) = aafa957d5cfa0f48a6e43c20cfa346261ec7aa76
 SHA1 (patch-library_unwind_build.rs) = 7ece6de566ead1d9aae490ba91d81ac2d0bc50a8
-SHA1 (patch-src_bootstrap_bootstrap.py) = 4c19629832d9cb2ae1fcb1e995b69b6161185cff
-SHA1 (patch-src_bootstrap_builder.rs) = 05616bb7a707e3c5f7e9e7fabb43a141f465a303
-SHA1 (patch-src_bootstrap_compile.rs) = 31c10251b2294d9fdbd02600934b13325c5be0cb
-SHA1 (patch-src_bootstrap_lib.rs) = d44981439e4ed1c04286933f7b63aab42ccd4645
+SHA1 (patch-src_bootstrap_bootstrap.py) = f836e7fc935680eeb725e2d07ed5905b8ffd1d1f
+SHA1 (patch-src_bootstrap_builder.rs) = e17ec4c4fbcac0824f0e45fb60f35c2db842bc6c
+SHA1 (patch-src_bootstrap_compile.rs) = 858e3b74fc9132d228e07f56ffafacb8e3ba76b8
+SHA1 (patch-src_bootstrap_lib.rs) = a033c8ae319a6e6e0f6ea5f98b952878a58f887e
 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = fb1b9ea0c81bf96abb5a88fcb523631c42cd8f14
 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = fef9f055d2b918c4480fbf8ee68e259197490a0f
 SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1
 SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 26982203916ad601599c7a3e05867e4dad742ae1
 SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 99b2fea3b8d59aa97c2cd4bb630eb8c768203dd9
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = d6c16e9f009b51d3bfc7ae712ac9099654308845
+SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = 88c2f26c5980a3cfacd7a928044dff68eb0ec61e
 SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906
 SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = 8174664b7bce2e60e690bc20ab688606b60c55dc
 SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 5236eda97fa686b5661e4e5832102e2f010def7b
 SHA1 (patch-src_tools_rust-installer_install-template.sh) = ca769db07986ded26d92957e1055961895def546
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = c5f4217146483389fe664c8cbe70796ca601ab4d
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 16d02570960aaa11571ced4437a7dad52e63aa7d
-SHA1 (patch-vendor_cc_src_lib.rs) = 84d81272ad8b120e092e231913c5c18d7a70378d
-SHA1 (patch-vendor_libc-0.2.112_src_unix_bsd_netbsdlike_netbsd_mod.rs) = c4d703bc084d8506afd8fed1428f59e578936f77
-SHA1 (patch-vendor_libc-0.2.116_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 90144e0a6a91db61c42308181a25bdf5ff60e670
-SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 351e213fc07b0dc7c35d70d6a0c2ecc6b5b9056e
-SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 15c552165d5310d5b218a777a12af44b601a2d57
+SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = b93148ff72a60a17c6a444f2616386c40d872153
+SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 308538090d9ce11d206d6eef0e675581a1fc6e80
+SHA1 (patch-vendor_cc-1.0.69_src_lib.rs) = b5c0f795624b928b8b02fe01174e6a24e770adea
+SHA1 (patch-vendor_cc_src_lib.rs) = 8864edc8dc0ad0665a89c89016bbaee7d603cbe1
+SHA1 (patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs) = d0af451a8d6a2061cf470968069e4270e5cfcb73
+SHA1 (patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs) = a0177bbfa1935ea5001551fd93e92fef41890089
+SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 5bc81fdffe4da056dab83c9d74b81688cf22040f
+SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 5b45640b2f0015142bd1eda5d5f02c7dbfe9210c
 SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437
 SHA1 (patch-vendor_openssl-src_src_lib.rs) = e62697daa7e7fa3d7b89f338c3a26066b93d7b34
+SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
 SHA1 (patch-vendor_stacker_src_lib.rs) = e00a1e95eb16540ff182715db778bf97ebd07a5e
-SHA1 (patch-vendor_target-lexicon_src_targets.rs) = 226c19a52589789b55584f73a585eab35aa5e55c
+SHA1 (patch-vendor_target-lexicon_src_targets.rs) = 421aa776a05a64674ffa447b85cfe463075160a2

Index: pkgsrc/lang/rust/options.mk
diff -u pkgsrc/lang/rust/options.mk:1.26 pkgsrc/lang/rust/options.mk:1.27
--- pkgsrc/lang/rust/options.mk:1.26    Mon Jul 11 20:13:50 2022
+++ pkgsrc/lang/rust/options.mk Tue Aug 30 19:22:17 2022
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.26 2022/07/11 20:13:50 jperkin Exp $
+# $NetBSD: options.mk,v 1.27 2022/08/30 19:22:17 he Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.rust
 PKG_SUPPORTED_OPTIONS+=        rust-cargo-static rust-docs
@@ -14,6 +14,11 @@ PKG_SUGGESTED_OPTIONS+=              rust-internal-l
 .  endif
 .endif
 
+# If cross-building, always use the internal LLVM
+.if !empty(TARGET)
+PKG_SUGGESTED_OPTIONS+=                rust-internal-llvm
+.endif
+
 # Bundle OpenSSL and curl into the cargo binary when producing
 # bootstraps on NetBSD.
 .if ${OPSYS} == "NetBSD" && ${BUILD_TARGET} == "dist"

Index: pkgsrc/lang/rust/platform.mk
diff -u pkgsrc/lang/rust/platform.mk:1.15 pkgsrc/lang/rust/platform.mk:1.16
--- pkgsrc/lang/rust/platform.mk:1.15   Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/platform.mk        Tue Aug 30 19:22:17 2022
@@ -1,4 +1,4 @@
-# $NetBSD: platform.mk,v 1.15 2022/05/25 21:31:26 he Exp $
+# $NetBSD: platform.mk,v 1.16 2022/08/30 19:22:17 he Exp $
 
 # This file encodes whether a given platform has support for rust.
 
@@ -7,8 +7,7 @@
 
 .if !defined(PLATFORM_SUPPORTS_RUST)
 
-.  include "../../mk/bsd.fast.prefs.mk"
-
+# Rust needs NetBSD>7
 .  for rust_arch in aarch64 earmv7hf i386 powerpc sparc64 x86_64
 .    for rust_os in Darwin FreeBSD Linux NetBSD SunOS
 .      if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*)

Index: pkgsrc/lang/rust/files/gcc-wrap
diff -u pkgsrc/lang/rust/files/gcc-wrap:1.4 pkgsrc/lang/rust/files/gcc-wrap:1.5
--- pkgsrc/lang/rust/files/gcc-wrap:1.4 Fri Dec 21 23:12:34 2018
+++ pkgsrc/lang/rust/files/gcc-wrap     Tue Aug 30 19:22:17 2022
@@ -72,7 +72,10 @@ while [ $# -gt 0 ]; do
                        args="$args -I=/usr/include/krb5"
                        ;;
                -I/usr/pkg/include)
-                       args="$args -I=/usr/pkg/include"
+# Try to drop this...
+                       if ! $native; then
+                               args="$args -I=/usr/pkg/include"
+                       fi
                        ;;
                -I)
                        if [ $2 = "/usr/include" ]; then
@@ -82,7 +85,10 @@ while [ $# -gt 0 ]; do
                                args="$args -I=/usr/include/krb5"
                                shift
                        elif [ $2 = "/usr/pkg/include" ]; then
-                               args="$args -I=/usr/pkg/include"
+# Try to drop this too...
+                               if ! $native; then
+                                       args="$args -I=/usr/pkg/include"
+                               fi
                                shift
                        else
                                args="$args -I"
@@ -149,7 +155,9 @@ done
 if $native; then
        # Try to avoid cwrappers, which does "undocumented magic"
        # by invoking the compiler "directly".
-       cmd="/usr/bin/${who} $args"
+       #cmd="/usr/bin/${who} $args"
+       # (however, this wrapper isn't used when buliding natively...)
+       cmd="${who} $args"
 else
        cmd="${root}/tools/bin/${gnuarch}-${who} \
                --sysroot=${root}/dest \

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs:1.6 pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs:1.7
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs:1.6  Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs      Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.6 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.7 2022/08/30 19:22:17 he Exp $
 
 Do not use @rpath on Darwin.
 
 --- compiler/rustc_codegen_ssa/src/back/linker.rs.orig 2021-09-06 18:42:35.000000000 +0000
 +++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -327,7 +327,7 @@ impl<'a> GccLinker<'a> {
+@@ -328,7 +328,7 @@ impl<'a> GccLinker<'a> {
              // principled solution at some point to force the compiler to pass
              // 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 {
Index: pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.6 pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.7
--- pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.6     Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_cc_src_lib.rs,v 1.6 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-vendor_cc_src_lib.rs,v 1.7 2022/08/30 19:22:17 he Exp $
 
 Add aarch64_eb.
 
 --- vendor/cc/src/lib.rs.orig  2021-07-26 15:20:38.000000000 +0000
 +++ vendor/cc/src/lib.rs
-@@ -2504,6 +2504,7 @@ impl Build {
+@@ -2551,6 +2551,7 @@ impl Build {
              "aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
              "aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
              "aarch64-unknown-netbsd" => Some("aarch64--netbsd"),
Index: pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs:1.6 pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs:1.7
--- pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs:1.6     Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_target-lexicon_src_targets.rs,v 1.6 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-vendor_target-lexicon_src_targets.rs,v 1.7 2022/08/30 19:22:17 he Exp $
 
 Add aarch64_eb for NetBSD.
 
 --- vendor/target-lexicon/src/targets.rs.orig  2021-05-03 21:35:46.000000000 +0000
 +++ vendor/target-lexicon/src/targets.rs
-@@ -1297,6 +1297,7 @@ mod tests {
+@@ -1332,6 +1332,7 @@ mod tests {
              "aarch64-unknown-linux-gnu_ilp32",
              "aarch64-unknown-linux-musl",
              "aarch64-unknown-netbsd",

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.7 pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.8
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.7    Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs        Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.7 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.8 2022/08/30 19:22:17 he Exp $
 
 Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
 
 --- compiler/rustc_llvm/build.rs.orig  2021-11-01 07:17:29.000000000 +0000
 +++ compiler/rustc_llvm/build.rs
-@@ -269,7 +269,13 @@ fn main() {
+@@ -331,7 +331,13 @@ fn main() {
          "c++"
      } else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
          // NetBSD uses a separate library when relocation is required
Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.7 pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.8
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.7 Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs     Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_bootstrap_compile.rs,v 1.7 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-src_bootstrap_compile.rs,v 1.8 2022/08/30 19:22:17 he Exp $
 
 On Darwin, do not use @rpath for internal libraries.
 
 --- src/bootstrap/compile.rs.orig      2021-09-06 18:42:35.000000000 +0000
 +++ src/bootstrap/compile.rs
-@@ -417,7 +417,7 @@ fn copy_sanitizers(
+@@ -416,7 +416,7 @@ fn copy_sanitizers(
  
          if target == "x86_64-apple-darwin" || target == "aarch64-apple-darwin" {
              // Update the library’s install name to reflect that it has has been renamed.

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.3 
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.4
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.3  Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs      Tue Aug 30 19:22:17 2022
@@ -1,4 +1,4 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.3 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.4 2022/08/30 19:22:17 he Exp $
 
 Add aarch64_be NetBSD target.
 
@@ -10,12 +10,12 @@ Add aarch64_be NetBSD target.
 +
 +pub fn target() -> Target {
 +    Target {
-+        llvm_target: "aarch64_be-unknown-netbsd".to_string(),
++        llvm_target: "aarch64_be-unknown-netbsd".into(),
 +        pointer_width: 64,
-+        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
-+        arch: "aarch64".to_string(),
++        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
++        arch: "aarch64".into(),
 +        options: TargetOptions {
-+            mcount: "__mcount".to_string(),
++            mcount: "__mcount".into(),
 +            max_atomic_width: Some(128),
 +            endian: Endian::Big,
 +            ..super::netbsd_base::opts()
Index: pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs:1.3 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs:1.4
--- pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs:1.3      Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs  Tue Aug 30 19:22:17 2022
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_backtrace_src_symbolize_gimli_elf.rs,v 1.3 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-vendor_backtrace_src_symbolize_gimli_elf.rs,v 1.4 2022/08/30 19:22:17 he Exp $
 
 Make NetBSD also find its debug libraries, if present.
 
@@ -10,7 +10,7 @@ Make NetBSD also find its debug librarie
  
 +#[cfg(target_os = "netbsd")]
 +const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
++#[cfg(target_os != "netbsd")]
  const DEBUG_PATH: &[u8] = b"/usr/lib/debug";
  
  fn debug_path_exists() -> bool {

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs:1.5 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs:1.6
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs:1.5 Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs     Tue Aug 30 19:22:17 2022
@@ -1,27 +1,26 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs,v 1.5 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs,v 1.6 2022/08/30 19:22:17 he Exp $
 
 Add an i586 / pentium variant, in an effort to support AMD Geode etc.
 
 --- compiler/rustc_target/src/spec/i586_unknown_netbsd.rs.orig 2021-06-19 17:28:44.197224530 +0000
 +++ compiler/rustc_target/src/spec/i586_unknown_netbsd.rs
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
 +
 +pub fn target() -> Target {
 +    let mut base = super::netbsd_base::opts();
-+    base.cpu = "pentium".to_string();
++    base.cpu = "pentium".into();
 +    base.max_atomic_width = Some(64);
-+    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
++    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
 +    // don't use probe-stack=inline-asm until rust-lang/rust#83139 is resolved.
 +    base.stack_probes = StackProbeType::Call;
 +
 +    Target {
-+        llvm_target: "i586-unknown-netbsdelf".to_string(),
++        llvm_target: "i586-unknown-netbsdelf".into(),
 +        pointer_width: 32,
 +        data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
-+            f64:32:64-f80:32-n8:16:32-S128"
-+            .to_string(),
-+        arch: "x86".to_string(),
-+        options: TargetOptions { mcount: "__mcount".to_string(), ..base },
++            f64:32:64-f80:32-n8:16:32-S128".into(),
++        arch: "x86".into(),
++        options: TargetOptions { mcount: "__mcount".into(), ..base },
 +    }
 +}
Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs:1.5 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs:1.6
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs:1.5  Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs      Tue Aug 30 19:22:17 2022
@@ -1,13 +1,13 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_netbsd__base.rs,v 1.5 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_netbsd__base.rs,v 1.6 2022/08/30 19:22:17 he Exp $
 
 For the benefit of powerpc, when libatomic-links is installed,
 search the directory containing the symlinks to -latomic.
 
---- compiler/rustc_target/src/spec/netbsd_base.rs.orig 2021-09-06 18:42:35.000000000 +0000
+--- compiler/rustc_target/src/spec/netbsd_base.rs.orig 2022-05-18 01:29:36.000000000 +0000
 +++ compiler/rustc_target/src/spec/netbsd_base.rs
 @@ -1,6 +1,14 @@
--use crate::spec::{RelroLevel, TargetOptions};
-+use crate::spec::{LinkArgs, LinkerFlavor, RelroLevel, TargetOptions};
+-use crate::spec::{cvs, RelroLevel, TargetOptions};
++use crate::spec::{cvs, RelroLevel, LinkArgs, LinkerFlavor, TargetOptions};
  
  pub fn opts() -> TargetOptions {
 +    let mut args = LinkArgs::new();
@@ -15,14 +15,14 @@ search the directory containing the syml
 +        LinkerFlavor::Gcc,
 +        vec![
 +            // For the benefit of powerpc, when libatomic-links is installed,
-+            "-Wl,-L@PREFIX@/lib/libatomic".to_string(),
++            "-Wl,-L@PREFIX@/lib/libatomic".into(),
 +        ],
 +    );
      TargetOptions {
-         os: "netbsd".to_string(),
+         os: "netbsd".into(),
          dynamic_linking: true,
 @@ -8,6 +16,7 @@ pub fn opts() -> TargetOptions {
-         families: vec!["unix".to_string()],
+         families: cvs!["unix"],
          no_default_libraries: false,
          has_rpath: true,
 +        pre_link_args: args,

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs:1.8 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs:1.9
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs:1.8   Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs       Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.8 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.9 2022/08/30 19:22:17 he Exp $
 
 Add i586(pentium) and aarch64_be targets.
 
 --- compiler/rustc_target/src/spec/mod.rs.orig 2021-03-23 16:15:10.000000000 +0000
 +++ compiler/rustc_target/src/spec/mod.rs
-@@ -884,9 +884,11 @@ supported_targets! {
+@@ -889,9 +889,11 @@ supported_targets! {
      ("powerpc-unknown-openbsd", powerpc_unknown_openbsd),
  
      ("aarch64-unknown-netbsd", aarch64_unknown_netbsd),
Index: pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs
diff -u pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs:1.8 pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs:1.9
--- pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs:1.8       Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs   Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.8 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.9 2022/08/30 19:22:17 he Exp $
 
 Fix stack-clash on SunOS.
 
 --- library/std/src/sys/unix/thread.rs.orig    2020-10-07 07:53:22.000000000 +0000
 +++ library/std/src/sys/unix/thread.rs
-@@ -493,7 +493,7 @@ pub mod guard {
+@@ -584,7 +584,7 @@ pub mod guard {
          let page_size = os::page_size();
          PAGE_SIZE.store(page_size, Ordering::Relaxed);
  
Index: pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs:1.8 pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs:1.9
--- pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs:1.8     Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.8 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.9 2022/08/30 19:22:17 he Exp $
 
 Fix xattr build.
 
 --- vendor/libc/src/unix/solarish/mod.rs.orig  2019-05-20 13:47:24.000000000 +0000
 +++ vendor/libc/src/unix/solarish/mod.rs
-@@ -1315,6 +1315,8 @@ pub const EOWNERDEAD: ::c_int = 58;
+@@ -1516,6 +1516,8 @@ pub const EOWNERDEAD: ::c_int = 58;
  pub const ENOTRECOVERABLE: ::c_int = 59;
  pub const ENOSTR: ::c_int = 60;
  pub const ENODATA: ::c_int = 61;

Index: pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
diff -u pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs:1.1 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs:1.2
--- pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs:1.1 Wed May 18 20:57:28 2022
+++ pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs     Tue Aug 30 19:22:17 2022
@@ -1,18 +1,10 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli.rs,v 1.1 2022/05/18 20:57:28 he Exp $
+$NetBSD: patch-library_backtrace_src_symbolize_gimli.rs,v 1.2 2022/08/30 19:22:17 he Exp $
 
-Do mmap also on NetBSD, and also do dl_iterate_phdr.
+Add NetBSD to the family who uses dl_iterate_phdr().
 
---- library/backtrace/src/symbolize/gimli.rs.orig      2022-02-23 04:07:36.000000000 +0000
+--- library/backtrace/src/symbolize/gimli.rs.orig      2022-04-04 09:41:26.000000000 +0000
 +++ library/backtrace/src/symbolize/gimli.rs
-@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
-         target_os = "ios",
-         target_os = "linux",
-         target_os = "macos",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
-@@ -177,6 +178,7 @@ cfg_if::cfg_if! {
+@@ -177,6 +177,7 @@ cfg_if::cfg_if! {
              target_os = "linux",
              target_os = "fuchsia",
              target_os = "freebsd",
Index: pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs:1.1  Wed May 18 20:57:28 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs      Tue Aug 30 19:22:17 2022
@@ -1,9 +1,9 @@
-$NetBSD: patch-vendor_backtrace_src_symbolize_gimli.rs,v 1.1 2022/05/18 20:57:28 he Exp $
+$NetBSD: patch-vendor_backtrace_src_symbolize_gimli.rs,v 1.2 2022/08/30 19:22:17 he Exp $
 
-Do mmap and dl_iterate_phdr() on NetBSD as well.
+Do mmap on NetBSD as well.
 
---- vendor/backtrace/src/symbolize/gimli.rs.orig       2022-02-23 05:34:24.000000000 +0000
-+++ vendor/backtrace/src/symbolize/gimli.rs
+--- ./vendor/backtrace/src/symbolize/gimli.rs.orig     2022-04-04 11:10:55.000000000 +0000
++++ ./vendor/backtrace/src/symbolize/gimli.rs
 @@ -38,6 +38,7 @@ cfg_if::cfg_if! {
          target_os = "ios",
          target_os = "linux",
@@ -12,11 +12,3 @@ Do mmap and dl_iterate_phdr() on NetBSD 
          target_os = "openbsd",
          target_os = "solaris",
          target_os = "illumos",
-@@ -177,6 +178,7 @@ cfg_if::cfg_if! {
-             target_os = "linux",
-             target_os = "fuchsia",
-             target_os = "freebsd",
-+            target_os = "netbsd",
-             target_os = "openbsd",
-             all(target_os = "android", feature = "dl_iterate_phdr"),
-         ),
Index: pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.1        Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs    Tue Aug 30 19:22:17 2022
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.2 2022/08/30 19:22:17 he Exp $
 
 Copy execinfo function definitions from openbsd's mod.rs.
 
 --- vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig     2022-05-10 20:59:35.217463943 +0000
 +++ vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2787,6 +2787,22 @@ extern "C" {
+@@ -2807,6 +2807,22 @@ extern "C" {
      pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
  }
  

Index: pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
diff -u pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs:1.2 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs:1.3
--- pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs:1.2     Mon May 23 15:13:00 2022
+++ pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs Tue Aug 30 19:22:17 2022
@@ -1,8 +1,8 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.2 2022/05/23 15:13:00 jperkin Exp $
+$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.3 2022/08/30 19:22:17 he Exp $
 
 Make NetBSD also find its debug libraries, if present.
 
---- library/backtrace/src/symbolize/gimli/elf.rs.orig  2022-02-23 04:07:36.000000000 +0000
+--- library/backtrace/src/symbolize/gimli/elf.rs.orig  2022-04-04 09:41:26.000000000 +0000
 +++ library/backtrace/src/symbolize/gimli/elf.rs
 @@ -276,11 +276,16 @@ fn decompress_zlib(input: &[u8], output:
      }
@@ -16,8 +16,8 @@ Make NetBSD also find its debug librarie
  fn debug_path_exists() -> bool {
      cfg_if::cfg_if! {
 -        if #[cfg(any(target_os = "freebsd", target_os = "linux"))] {
-+        if #[cfg(any(target_os = "freebsd",
-+                     target_os = "netbsd",
++        if #[cfg(any(target_os = "freebsd", 
++                   target_os = "netbsd",
 +                     target_os = "linux"))] {
              use core::sync::atomic::{AtomicU8, Ordering};
              static DEBUG_PATH_EXISTS: AtomicU8 = AtomicU8::new(0);

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.11 pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.12
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.11      Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py   Tue Aug 30 19:22:17 2022
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.11 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.12 2022/08/30 19:22:17 he Exp $
 
 Use `uname -p` on NetBSD, as that is reliable and sensible there.
 Handle earmv7hf for NetBSD.
@@ -6,7 +6,7 @@ Default to non-verbose compilation.
 
 --- src/bootstrap/bootstrap.py.orig    2021-02-10 17:36:44.000000000 +0000
 +++ src/bootstrap/bootstrap.py
-@@ -259,6 +259,11 @@ def default_build_triple(verbose):
+@@ -264,6 +264,11 @@ def default_build_triple(verbose):
          'OpenBSD': 'unknown-openbsd'
      }
  
@@ -18,7 +18,7 @@ Default to non-verbose compilation.
      # Consider the direct transformation first and then the special cases
      if ostype in ostype_mapper:
          ostype = ostype_mapper[ostype]
-@@ -312,6 +317,7 @@ def default_build_triple(verbose):
+@@ -317,6 +322,7 @@ def default_build_triple(verbose):
      cputype_mapper = {
          'BePC': 'i686',
          'aarch64': 'aarch64',
@@ -26,7 +26,7 @@ Default to non-verbose compilation.
          'amd64': 'x86_64',
          'arm64': 'aarch64',
          'i386': 'i686',
-@@ -350,10 +356,12 @@ def default_build_triple(verbose):
+@@ -355,10 +361,12 @@ def default_build_triple(verbose):
              ostype = 'linux-androideabi'
          else:
              ostype += 'eabihf'
@@ -40,7 +40,7 @@ Default to non-verbose compilation.
          else:
              ostype += 'eabihf'
      elif cputype == 'mips':
-@@ -1034,7 +1042,7 @@ class RustBuild(object):
+@@ -890,7 +898,7 @@ class RustBuild(object):
                  self.cargo()))
          args = [self.cargo(), "build", "--manifest-path",
                  os.path.join(self.rust_root, "src/bootstrap/Cargo.toml")]

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.21 pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.22
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.21        Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs     Tue Aug 30 19:22:17 2022
@@ -1,13 +1,13 @@
-$NetBSD: patch-src_bootstrap_builder.rs,v 1.21 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-src_bootstrap_builder.rs,v 1.22 2022/08/30 19:22:17 he Exp $
 
 Do not install 'src'.
 Use @PREFIX@, not $ORIGIN in rpath.
-
 Fix RPATH for pkgsrc.
+Pull in upstream commit 5122bb55 to fix install on illumos.
 
---- src/bootstrap/builder.rs.orig      2021-09-06 18:42:35.000000000 +0000
+--- src/bootstrap/builder.rs.orig      2022-06-27 13:37:07.000000000 +0000
 +++ src/bootstrap/builder.rs
-@@ -617,7 +617,6 @@ impl<'a> Builder<'a> {
+@@ -659,7 +659,6 @@ impl<'a> Builder<'a> {
                  install::Clippy,
                  install::Miri,
                  install::Analysis,
@@ -15,7 +15,7 @@ Fix RPATH for pkgsrc.
                  install::Rustc
              ),
              Kind::Run => describe!(run::ExpandYamlAnchors, run::BuildManifest, run::BumpStage0),
-@@ -1277,7 +1276,7 @@ impl<'a> Builder<'a> {
+@@ -1370,7 +1369,7 @@ impl<'a> Builder<'a> {
                  Some("-Wl,-rpath,@loader_path/../lib")
              } else if !target.contains("windows") {
                  rustflags.arg("-Clink-args=-Wl,-z,origin");
@@ -24,3 +24,13 @@ Fix RPATH for pkgsrc.
              } else {
                  None
              };
+@@ -1433,7 +1432,8 @@ impl<'a> Builder<'a> {
+             let needs_unstable_opts = target.contains("linux")
+                 || target.contains("windows")
+                 || target.contains("bsd")
+-                || target.contains("dragonfly");
++                || target.contains("dragonfly")
++                || target.contains("illumos");
+ 
+             if needs_unstable_opts {
+                 rustflags.arg("-Zunstable-options");

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.14 pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.15
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.14    Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs Tue Aug 30 19:22:17 2022
@@ -1,11 +1,13 @@
-$NetBSD: patch-src_bootstrap_lib.rs,v 1.14 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-src_bootstrap_lib.rs,v 1.15 2022/08/30 19:22:17 he Exp $
 
 Don't filter out optimization flags.
 FreeBSD has a particular C++ runtime library name
 
 --- src/bootstrap/lib.rs.orig  2021-09-06 18:42:35.000000000 +0000
 +++ src/bootstrap/lib.rs
-@@ -957,14 +957,13 @@ impl Build {
+--- src/bootstrap/lib.rs.orig  2022-07-16 08:49:08.000000000 +0000
++++ src/bootstrap/lib.rs
+@@ -1029,14 +1029,13 @@ impl Build {
              .args()
              .iter()
              .map(|s| s.to_string_lossy().into_owned())

Index: pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
diff -u pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs:1.10 pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs:1.11
--- pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs:1.10      Wed May 25 21:31:26 2022
+++ pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs   Tue Aug 30 19:22:17 2022
@@ -1,11 +1,11 @@
-$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.10 2022/05/25 21:31:26 he Exp $
+$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.11 2022/08/30 19:22:17 he Exp $
 
 Turn off incremental builds for sparc64, ref.
 https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
 
 --- src/tools/cargo/src/cargo/core/profiles.rs.orig    2018-10-24 20:01:28.000000000 +0000
 +++ src/tools/cargo/src/cargo/core/profiles.rs
-@@ -754,6 +754,9 @@ impl Profile {
+@@ -643,6 +643,9 @@ impl Profile {
              debuginfo: Some(2),
              debug_assertions: true,
              overflow_checks: true,

Added files:

Index: pkgsrc/lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs:1.1
--- /dev/null   Tue Aug 30 19:22:18 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs  Tue Aug 30 19:22:17 2022
@@ -0,0 +1,14 @@
+$NetBSD: patch-vendor_cc-1.0.69_src_lib.rs,v 1.1 2022/08/30 19:22:17 he Exp $
+
+Add aarch64_be-unknown-netbsd.
+
+--- vendor/cc-1.0.69/src/lib.rs.orig   2022-04-04 11:10:55.000000000 +0000
++++ vendor/cc-1.0.69/src/lib.rs
+@@ -2382,6 +2382,7 @@ impl Build {
+             "aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
+             "aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
+             "aarch64-unknown-netbsd" => Some("aarch64--netbsd"),
++          "aarch64_be-unknown-netbsd" => Some("aarch64--netbsd"),
+             "arm-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
+             "armv4t-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
+             "armv5te-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
Index: pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.1
--- /dev/null   Tue Aug 30 19:22:18 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs    Tue Aug 30 19:22:17 2022
@@ -0,0 +1,30 @@
+$NetBSD: patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2022/08/30 19:22:17 he Exp $
+
+Copy execinfo function definitions from openbsd's mod.rs.
+
+--- vendor/libc-0.2.119/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig     2022-05-18 03:01:05.000000000 +0000
++++ vendor/libc-0.2.119/src/unix/bsd/netbsdlike/netbsd/mod.rs
+@@ -2788,6 +2788,23 @@ extern "C" {
+     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
+ }
+ 
++#[link(name = "execinfo")]
++extern "C" {
++    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
++    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
++    pub fn backtrace_symbols_fd(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fd: ::c_int,
++    ) -> ::c_int;
++    pub fn backtrace_symbols_fmt(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fmt: *const ::c_char,
++    ) -> *mut *mut ::c_char;
++}
++
++
+ cfg_if! {
+     if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;
Index: pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.1
--- /dev/null   Tue Aug 30 19:22:18 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs    Tue Aug 30 19:22:17 2022
@@ -0,0 +1,29 @@
+$NetBSD: patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2022/08/30 19:22:17 he Exp $
+
+Copy execinfo function definitions from openbsd's mod.rs.
+
+--- vendor/libc-0.2.123/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig     2022-06-27 15:22:31.000000000 +0000
++++ vendor/libc-0.2.123/src/unix/bsd/netbsdlike/netbsd/mod.rs
+@@ -2784,6 +2784,22 @@ extern "C" {
+     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
+ }
+ 
++#[link(name = "execinfo")]
++extern "C" {
++    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
++    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
++    pub fn backtrace_symbols_fd(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fd: ::c_int,
++    ) -> ::c_int;
++    pub fn backtrace_symbols_fmt(
++        addrlist: *const *mut ::c_void,
++        len: ::size_t,
++        fmt: *const ::c_char,
++    ) -> *mut *mut ::c_char;
++}
++
+ cfg_if! {
+     if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;

Index: pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.5
--- /dev/null   Tue Aug 30 19:22:18 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs       Tue Aug 30 19:22:17 2022
@@ -0,0 +1,27 @@
+$NetBSD: patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.5 2022/08/30 19:22:17 he Exp $
+
+Add aarch64_be NetBSD target.
+
+--- /dev/null  2021-04-26 00:02:43.147970692 +0200
++++ vendor/rustc-ap-rustc_target/src/spec/aarch64_be_unknown_netbsd.rs 2021-04-26 00:07:44.657579025 +0200
+@@ -0,0 +1,20 @@
++use crate::abi::Endian;
++use crate::spec::{Target, TargetOptions};
++
++pub fn target() -> Target {
++    let mut base = super::netbsd_base::opts();
++    base.max_atomic_width = Some(128);
++    base.unsupported_abis = super::arm_base::unsupported_abis();
++
++    Target {
++        llvm_target: "aarch64_be-unknown-netbsd".to_string(),
++        pointer_width: 64,
++        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
++        arch: "aarch64".to_string(),
++        options: TargetOptions {
++            mcount: "__mcount".to_string(),
++            endian: Endian::Big,
++            ..base
++        },
++    }
++}



Home | Main Index | Thread Index | Old Index