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:           Mon Jan 23 18:49:04 UTC 2023

Modified Files:
        pkgsrc/lang/rust: Makefile buildlink3.mk cargo.mk cross.mk distinfo
            do-cross.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_mipsel__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_mod.rs
            patch-library_std_src_sys_unix_thread.rs
            patch-library_unwind_build.rs patch-src_bootstrap_bootstrap.py
            patch-src_bootstrap_builder.rs patch-src_bootstrap_compile.rs
            patch-src_bootstrap_lib.rs
            patch-src_llvm-project_llvm_CMakeLists.txt
            patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
            patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
            patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
            patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
            patch-src_tools_cargo_src_cargo_core_profiles.rs
            patch-src_tools_cargo_tests_testsuite_build.rs
            patch-src_tools_rust-installer_install-template.sh
            patch-vendor_backtrace_src_symbolize_gimli.rs
            patch-vendor_backtrace_src_symbolize_gimli_elf.rs
            patch-vendor_cc_src_lib.rs
            patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs
            patch-vendor_crossbeam-epoch_no__atomic.rs
            patch-vendor_crossbeam-queue_no__atomic.rs
            patch-vendor_crossbeam-utils_no__atomic.rs
            patch-vendor_kqueue_src_time.rs
            patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs
            patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_libc_src_unix_solarish_mod.rs
            patch-vendor_lzma-sys_config.h patch-vendor_openssl-src_src_lib.rs
            patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
            patch-vendor_stacker_src_lib.rs
            patch-vendor_target-lexicon_src_targets.rs
            patch-vendor_valuable_no__atomic.rs
Added Files:
        pkgsrc/lang/rust/patches:
            patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs
            patch-library_std_src_sys_unix_thread__parker_netbsd.rs
            patch-src_bootstrap_install.rs
            patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
            patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs
            patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs
            patch-vendor_crossbeam_no__atomic.rs
            patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs
            patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs
            patch-vendor_openssl-src_openssl_Configurations_10-main.conf
            patch-vendor_openssl-sys_build_main.rs
Removed Files:
        pkgsrc/lang/rust/patches: patch-src_tools_rls_rls_src_cmd.rs
            patch-src_tools_rls_rls_src_server_io.rs
            patch-vendor_cc-1.0.69_src_lib.rs
            patch-vendor_crossbea_no__atomic.rs
            patch-vendor_crossbeam-epch-0.9.6_no__atomic.rs
            patch-vendor_crossbeam-utils-0.8.0_no__atomic.rs

Log Message:
rust: Upgrade to version 1.66.1.

Pkgsrc changes:
 * pkglint cleanups, bump bootstrap kits to 1.65.0.
 * New target: mipsel-unknown-netbsd, for cpu=mips32 with soft-float.
 * Managed to retain the build of aarch64_be, llvm needed a patch to
   avoid use of neon instructions in the BE case (llvm doesn't support
   use of neon in BE mode).  Ref. patch to
   src/llvm-project/llvm/lib/Support/BLAKE3/blake3_impl.h.
   Also submitted upstream of LLVM to the BLAKE3 maintainers.
 * The minimum gcc version is now 7.x, and that includes the
   cross-compiler for the targets.  For i386 this also needs to
   /usr/include/gcc-7 include files in the target root, because
   immintrin.h from gcc 5 is not compatible with gcc 7.x.  This
   applies for the targets where we build against a root from netbsd-8
   (sparc64, powerpc, i386), and files/gcc-wrap gets a hack for this.
 * Pick up tweak for -latomic inclusion from
   https://github.com/rust-lang/rust/issues/104220
   and
   https://github.com/rust-lang/rust/pull/104572
 * Retain ability to do 32-bit NetBSD, by changing from 64 to 32 bit
   types in library/std/src/sys/unix/thread_parker/netbsd.rs.
 * I've tried to get the "openssl-src" build with -latomic where it's
   needed.  I've introduced the "NetBSD-generic32" system type and use
   it for the NetBSD mipsel target.  There is another attempt to do
   the same in the patch to vendor/openssl-sys/build/main.rs.

Upstream changes:

Version 1.66.1 (2023-01-10)
===========================

- Added validation of SSH host keys for git URLs in Cargo
  ([CVE-2022-46176](https://www.cve.org/CVERecord?id=CVE-2022-46176))

Version 1.66.0 (2022-12-15)
===========================

Language
--------
- [Permit specifying explicit discriminants on all `repr(Int)`
  enums](https://github.com/rust-lang/rust/pull/95710/)
  ```rust
  #[repr(u8)]
  enum Foo {
      A(u8) = 0,
      B(i8) = 1,
      C(bool) = 42,
  }
  ```
- [Allow transmutes between the same type differing only in
  lifetimes](https://github.com/rust-lang/rust/pull/101520/)
- [Change constant evaluation errors from a deny-by-default lint to a
  hard error](https://github.com/rust-lang/rust/pull/102091/)
- [Trigger `must_use` on `impl Trait` for
  supertraits](https://github.com/rust-lang/rust/pull/102287/) This
  makes `impl ExactSizeIterator` respect the existing `#[must_use]`
  annotation on `Iterator`.
- [Allow `..X` and `..=X` in
  patterns](https://github.com/rust-lang/rust/pull/102275/)
- [Uplift `clippy::for_loops_over_fallibles` lint into
  rustc](https://github.com/rust-lang/rust/pull/99696/)
- [Stabilize `sym` operands in inline
  assembly](https://github.com/rust-lang/rust/pull/103168/)
- [Update to Unicode 15](https://github.com/rust-lang/rust/pull/101912/)
- [Opaque types no longer imply lifetime
  bounds](https://github.com/rust-lang/rust/pull/95474/) This is a
  soundness fix which may break code that was erroneously relying on this
  behavior.

Compiler
--------
- [Add armv5te-none-eabi and thumbv5te-none-eabi tier 3
  targets](https://github.com/rust-lang/rust/pull/101329/)
  - Refer to Rust's [platform support page][platform-support-doc] for
    more information on Rust's tiered platform support.
- [Add support for linking against macOS universal
  libraries](https://github.com/rust-lang/rust/pull/98736)

Libraries
---------
- [Fix `#[derive(Default)]` on a generic `#[default]` enum adding
  unnecessary `Default`
  bounds](https://github.com/rust-lang/rust/pull/101040/)
- [Update to Unicode 15](https://github.com/rust-lang/rust/pull/101821/)

Stabilized APIs
---------------
- [`proc_macro::Span::source_text`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.source_text)
- [`uX::{checked_add_signed, overflowing_add_signed,
  saturating_add_signed,
  wrapping_add_signed}`](https://doc.rust-lang.org/stable/std/primitive.u8.html#method.checked_add_signed)
- [`iX::{checked_add_unsigned, overflowing_add_unsigned,
  saturating_add_unsigned,
  wrapping_add_unsigned}`](https://doc.rust-lang.org/stable/std/primitive.i8.html#method.checked_add_unsigned)
- [`iX::{checked_sub_unsigned, overflowing_sub_unsigned,
  saturating_sub_unsigned,
  wrapping_sub_unsigned}`](https://doc.rust-lang.org/stable/std/primitive.i8.html#method.checked_sub_unsigned)
- [`BTreeSet::{first, last, pop_first,
  pop_last}`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html#method.first)
- [`BTreeMap::{first_key_value, last_key_value, first_entry, last_entry,
  pop_first,
  pop_last}`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.first_key_value)
- [Add `AsFd` implementations for stdio lock types on
  WASI.](https://github.com/rust-lang/rust/pull/101768/)
- [`impl TryFrom<Vec<T>> for Box<[T;
  N]>`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#impl-TryFrom%3CVec%3CT%2C%20Global%3E%3E-for-Box%3C%5BT%3B%20N%5D%2C%20Global%3E)
- [`core::hint::black_box`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
- [`Duration::try_from_secs_{f32,f64}`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.try_from_secs_f32)
- [`Option::unzip`](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.unzip)
- [`std::os::fd`](https://doc.rust-lang.org/stable/std/os/fd/index.html)

Rustdoc
-------
- [Add Rustdoc warning for invalid HTML tags in the
  documentation](https://github.com/rust-lang/rust/pull/101720/)

Cargo
-----
- [Added `cargo remove` to remove dependencies from
  Cargo.toml](https://doc.rust-lang.org/nightly/cargo/commands/cargo-remove.html)
- [`cargo publish` now waits for the new version to be downloadable
  before exiting](https://github.com/rust-lang/cargo/pull/11062)

See [detailed release notes](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-166-2022-12-15) for more.

Compatibility Notes
-------------------
- [Only apply `ProceduralMasquerade` hack to older versions of
  `rental`](https://github.com/rust-lang/rust/pull/94063/)
- [Don't export `__heap_base` and `__data_end` on
  wasm32-wasi.](https://github.com/rust-lang/rust/pull/102385/)
- [Don't export `__wasm_init_memory` on
  WebAssembly.](https://github.com/rust-lang/rust/pull/102426/)
- [Only export `__tls_*` on
  wasm32-unknown-unknown.](https://github.com/rust-lang/rust/pull/102440/)
- [Don't link to `libresolv` in libstd on
  Darwin](https://github.com/rust-lang/rust/pull/102766/)
- [Update libstd's libc to 0.2.135 (to make `libstd` no longer pull in
  `libiconv.dylib` on
  Darwin)](https://github.com/rust-lang/rust/pull/103277/)
- [Opaque types no longer imply lifetime
  bounds](https://github.com/rust-lang/rust/pull/95474/)
  This is a soundness fix which may break code that was erroneously
  relying on this behavior.
- [Make `order_dependent_trait_objects` show up in future-breakage
  reports](https://github.com/rust-lang/rust/pull/102635/)
- [Change std::process::Command spawning to default to inheriting the
  parent's signal mask](https://github.com/rust-lang/rust/pull/101077/)

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

These changes do not affect any public interfaces of Rust, but they
represent significant improvements to the performance or internals of
rustc and related tools.

- [Enable BOLT for LLVM
  compilation](https://github.com/rust-lang/rust/pull/94381/)
- [Enable LTO for
  rustc_driver.so](https://github.com/rust-lang/rust/pull/101403/)

Version 1.65.0 (2022-11-03)
==========================

Language
--------
- [Error on `as` casts of enums with `#[non_exhaustive]` variants]
  (https://github.com/rust-lang/rust/pull/92744/)
- [Stabilize `let else`](https://github.com/rust-lang/rust/pull/93628/)
- [Stabilize generic associated types (GATs)]
  (https://github.com/rust-lang/rust/pull/96709/)
- [Add lints `let_underscore_drop`, `let_underscore_lock`, and
  `let_underscore_must_use` from Clippy]
  (https://github.com/rust-lang/rust/pull/97739/)
- [Stabilize `break`ing from arbitrary labeled blocks ("label-break-value")]
  (https://github.com/rust-lang/rust/pull/99332/)
- [Uninitialized integers, floats, and raw pointers are now considered
  immediate UB](https://github.com/rust-lang/rust/pull/98919/).
  Usage of `MaybeUninit` is the correct way to work with uninitialized
  memory.
- [Stabilize raw-dylib for Windows x86_64, aarch64, and thumbv7a]
  (https://github.com/rust-lang/rust/pull/99916/)
- [Do not allow `Drop` impl on foreign ADTs]
  (https://github.com/rust-lang/rust/pull/99576/)

Compiler
--------
- [Stabilize -Csplit-debuginfo on Linux]
  (https://github.com/rust-lang/rust/pull/98051/)
- [Use niche-filling optimization even when multiple variants have
  data] (https://github.com/rust-lang/rust/pull/94075/)
- [Associated type projections are now verified to be well-formed
  prior to resolving the underlying type]
  (https://github.com/rust-lang/rust/pull/99217/#issuecomment-1209365630)
- [Stringify non-shorthand visibility correctly]
  (https://github.com/rust-lang/rust/pull/100350/)
- [Normalize struct field types when unsizing]
  (https://github.com/rust-lang/rust/pull/101831/)
- [Update to LLVM 15](https://github.com/rust-lang/rust/pull/99464/)
- [Fix aarch64 call abi to correctly zeroext when needed]
  (https://github.com/rust-lang/rust/pull/97800/)
- [debuginfo: Generalize C++-like encoding for enums]
  (https://github.com/rust-lang/rust/pull/98393/)
- [Add `special_module_name` lint]
  (https://github.com/rust-lang/rust/pull/94467/)
- [Add support for generating unique profraw files by default when
  using `-C instrument-coverage`]
  (https://github.com/rust-lang/rust/pull/100384/)
- [Allow dynamic linking for iOS/tvOS targets]
  (https://github.com/rust-lang/rust/pull/100636/)

New targets:
- [Add armv4t-none-eabi as a tier 3 target]
  (https://github.com/rust-lang/rust/pull/100244/)
- [Add powerpc64-unknown-openbsd and riscv64-unknown-openbsd as tier 3 targets]
  (https://github.com/rust-lang/rust/pull/101025/)
- Refer to Rust's [platform support page][platform-support-doc] for more
  information on Rust's tiered platform support.

Libraries
---------
- [Don't generate `PartialEq::ne` in derive(PartialEq)]
  (https://github.com/rust-lang/rust/pull/98655/)
- [Windows RNG: Use `BCRYPT_RNG_ALG_HANDLE` by default]
  (https://github.com/rust-lang/rust/pull/101325/)
- [Forbid mixing `System` with direct system allocator calls]
  (https://github.com/rust-lang/rust/pull/101394/)
- [Document no support for writing to non-blocking stdio/stderr]
  (https://github.com/rust-lang/rust/pull/101416/)
- [`std::layout::Layout` size must not overflow `isize::MAX` when
  rounded up to `align`](https://github.com/rust-lang/rust/pull/95295)
  This also changes the safety conditions on
  `Layout::from_size_align_unchecked`.

Stabilized APIs
---------------
- [`std::backtrace::Backtrace`]
  (https://doc.rust-lang.org/stable/std/backtrace/struct.Backtrace.html)
- [`Bound::as_ref`]
  (https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.as_ref)
- [`std::io::read_to_string`]
  (https://doc.rust-lang.org/stable/std/io/fn.read_to_string.html)
- [`<*const T>::cast_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.cast_mut)
- [`<*mut T>::cast_const`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.cast_const)

These APIs are now stable in const contexts:
- [`<*const T>::offset_from`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from)
- [`<*mut T>::offset_from`]
  (https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from)

Cargo
-----
- [Apply GitHub fast path even for partial hashes]
  (https://github.com/rust-lang/cargo/pull/10807/)
- [Do not add home bin path to PATH if it's already there]
  (https://github.com/rust-lang/cargo/pull/11023/)
- [Take priority into account within the pending queue]
  (https://github.com/rust-lang/cargo/pull/11032/).
  This slightly optimizes job scheduling by Cargo, with typically
  small improvements on larger crate graph builds.

Compatibility Notes
-------------------
- [`std::layout::Layout` size must not overflow `isize::MAX` when
  rounded up to `align`] (https://github.com/rust-lang/rust/pull/95295).
  This also changes the safety conditions on
  `Layout::from_size_align_unchecked`.
- [`PollFn` now only implements `Unpin` if the closure is `Unpin`]
  (https://github.com/rust-lang/rust/pull/102737).
  This is a possible breaking change if users were relying on the
  blanket unpin implementation.  See discussion on the PR for
  details of why this change was made.
- [Drop ExactSizeIterator impl from std::char::EscapeAscii]
  (https://github.com/rust-lang/rust/pull/99880)
  This is a backwards-incompatible change to the standard library's
  surface area, but is unlikely to affect real world usage.
- [Do not consider a single repeated lifetime eligible for elision
  in the return type] (https://github.com/rust-lang/rust/pull/103450)
  This behavior was unintentionally changed in 1.64.0, and this
  release reverts that change by making this an error again.
- [Reenable disabled early syntax gates as future-incompatibility
  lints] (https://github.com/rust-lang/rust/pull/99935/)
- [Update the minimum external LLVM to 13]
  (https://github.com/rust-lang/rust/pull/100460/)
- [Don't duplicate file descriptors into stdio fds]
  (https://github.com/rust-lang/rust/pull/101426/)
- [Sunset RLS](https://github.com/rust-lang/rust/pull/100863/)
- [Deny usage of `#![cfg_attr(..., crate_type = ...)]` to set the
  crate type] (https://github.com/rust-lang/rust/pull/99784/)
  This strengthens the forward compatibility lint
  deprecated_cfg_attr_crate_type_name to deny.
- [`llvm-has-rust-patches` allows setting the build system to treat
  the LLVM as having Rust-specific patches]
  (https://github.com/rust-lang/rust/pull/101072)
  This option may need to be set for distributions that are building
  Rust with a patched LLVM via `llvm-config`, not the built-in
  LLVM.

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

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

- [Add `x.sh` and `x.ps1` shell scripts]
  (https://github.com/rust-lang/rust/pull/99992/)
- [compiletest: use target cfg instead of hard-coded tables]
  (https://github.com/rust-lang/rust/pull/100260/)
- [Use object instead of LLVM for reading bitcode from rlibs]
  (https://github.com/rust-lang/rust/pull/98100/)
- [Enable MIR inlining for optimized compilations]
  (https://github.com/rust-lang/rust/pull/91743)
  This provides a 3-10% improvement in compiletimes for real world
  crates. See [perf results]
  (https://perf.rust-lang.org/compare.html?start=aedf78e56b2279cc869962feac5153b6ba7001ed&end=0075bb4fad68e64b6d1be06bf2db366c30bc75e1&stat=instructions:u).


To generate a diff of this commit:
cvs rdiff -u -r1.276 -r1.277 pkgsrc/lang/rust/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/lang/rust/buildlink3.mk
cvs rdiff -u -r1.31 -r1.32 pkgsrc/lang/rust/cargo.mk
cvs rdiff -u -r1.9 -r1.10 pkgsrc/lang/rust/cross.mk
cvs rdiff -u -r1.153 -r1.154 pkgsrc/lang/rust/distinfo
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/rust/do-cross.mk
cvs rdiff -u -r1.17 -r1.18 pkgsrc/lang/rust/platform.mk
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/rust/files/gcc-wrap
cvs rdiff -u -r1.9 -r1.10 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs \
    pkgsrc/lang/rust/patches/patch-library_unwind_build.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
cvs rdiff -u -r1.4 -r1.5 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h \
    pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
cvs rdiff -u -r1.6 -r1.7 \
    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 \
    pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h \
    pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs \
    pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread__parker_netbsd.rs \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_install.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs \
    pkgsrc/lang/rust/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf \
    pkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_main.rs
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs \
    pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs
cvs rdiff -u -r1.11 -r1.12 \
    pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
cvs rdiff -u -r1.2 -r1.3 \
    pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs \
    pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
cvs rdiff -u -r1.10 -r1.11 \
    pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs \
    pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt \
    pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs \
    pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs
cvs rdiff -u -r1.16 -r1.17 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
cvs rdiff -u -r1.24 -r1.25 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
cvs rdiff -u -r1.18 -r1.19 \
    pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs
cvs rdiff -u -r1.12 -r1.13 \
    pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
cvs rdiff -u -r1.6 -r0 \
    pkgsrc/lang/rust/patches/patch-src_tools_rls_rls_src_cmd.rs
cvs rdiff -u -r1.7 -r0 \
    pkgsrc/lang/rust/patches/patch-src_tools_rls_rls_src_server_io.rs
cvs rdiff -u -r1.8 -r1.9 \
    pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh \
    pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbea_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epch-0.9.6_no__atomic.rs \
    pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.0_no__atomic.rs
cvs rdiff -u -r1.5 -r1.6 \
    pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h \
    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.276 pkgsrc/lang/rust/Makefile:1.277
--- pkgsrc/lang/rust/Makefile:1.276     Sat Dec 17 21:29:44 2022
+++ pkgsrc/lang/rust/Makefile   Mon Jan 23 18:49:03 2023
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.276 2022/12/17 21:29:44 jperkin Exp $
+# $NetBSD: Makefile,v 1.277 2023/01/23 18:49:03 he Exp $
 
-DISTNAME=      rustc-1.64.0-src
+DISTNAME=      rustc-1.66.1-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
 CATEGORIES=    lang
 MASTER_SITES=  https://static.rust-lang.org/dist/
@@ -10,7 +10,7 @@ HOMEPAGE=     https://www.rust-lang.org/
 COMMENT=       Safe, concurrent, practical language
 LICENSE=       mit OR apache-2.0
 
-CONFLICTS+=    rust-bin-[0-9]* rust-src-[0-9]* rust-analyzer-[0-9]*
+CONFLICTS+=    rust-bin-[0-9]*
 
 # LLVM uses gcc7, follow suit.  Also, uses -std=c++14
 GCC_REQD+=     7
@@ -141,26 +141,15 @@ CONFIGURE_ARGS+=  --set llvm.targets="Mip
 CONFIGURE_ARGS+=       --set llvm.targets="Mips;X86"
 .endif
 
-#REPLACE_SH+=  library/backtrace/ci/android-sdk.sh
-#REPLACE_SH+=  library/backtrace/ci/debuglink.sh
-#REPLACE_SH+=  library/backtrace/ci/run.sh
-#REPLACE_SH+=  library/backtrace/ci/run-docker.sh
-#REPLACE_SH+=  library/stdarch/ci/style.sh
-#REPLACE_SH+=  library/stdarch/ci/run.sh
-#REPLACE_SH+=  library/stdarch/ci/run-docker.sh
-#REPLACE_SH+=  library/stdarch/ci/dox.sh
-#
-#REPLACE_PYTHON+=library/core/src/unicode/printable.py
-
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/android-sdk.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/debuglink.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/run.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/core/src/unicode/printable.py
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/style.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/run.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/dox.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/backtrace/ci/android-sdk.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/backtrace/ci/debuglink.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/backtrace/ci/run.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/backtrace/ci/run-docker.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/core/src/unicode/printable.py
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/stdarch/ci/style.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/stdarch/ci/run.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/stdarch/ci/run-docker.sh
+CHECK_INTERPRETER_SKIP+=       lib/rustlib/src/rust/library/stdarch/ci/dox.sh
 
 .if ${OPSYS} == "NetBSD"
 # This block contains information about known trouble on NetBSD and workarounds.
@@ -221,49 +210,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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.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
@@ -275,7 +264,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.63.0
+RUST_STAGE0_VER=       1.65.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/
@@ -288,14 +277,14 @@ 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.63.0
+RUST_STAGE0_VER=       1.65.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.63.0
+RUST_STAGE0_VER=       1.65.0
 RUST_ARCH=             i586-unknown-netbsd
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -315,14 +304,14 @@ 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.63.0
+RUST_STAGE0_VER=       1.65.0
 RUST_ARCH=             x86_64-unknown-netbsd
 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.63.0
+RUST_STAGE0_VER=       1.65.0
 RUST_ARCH=             powerpc-unknown-netbsd
 
 # Cross-built against NetBSD 9.0
@@ -345,7 +334,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=               1.63.0
+RUST_STAGE0_VER=               1.65.0
 RUST_ARCH=                     aarch64-unknown-netbsd
 RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -354,7 +343,7 @@ SITES.${RUST_STAGE0}=               ${MASTER_SITE_LOC
 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.63.0
+RUST_STAGE0_VER=               1.65.0
 RUST_ARCH=                     aarch64_be-unknown-netbsd
 RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -363,7 +352,7 @@ SITES.${RUST_STAGE0}=               ${MASTER_SITE_LOC
 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.63.0
+RUST_STAGE0_VER=               1.65.0
 RUST_ARCH=                     sparc64-unknown-netbsd
 RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -373,7 +362,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=                     armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=               1.63.0
+RUST_STAGE0_VER=               1.65.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}
@@ -382,7 +371,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=                     armv6-unknown-netbsd-eabihf
-RUST_STAGE0_VER=               1.63.0
+RUST_STAGE0_VER=               1.65.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}
@@ -391,7 +380,7 @@ SITES.${RUST_STD_STAGE0}=   ${MASTER_SITE_
 .endif
 #.if !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || make(distinfo) || make (makesum) || make(mdi)
 #RUST_ARCH=                    mipsel-unknown-netbsd
-#RUST_STAGE0_VER=              1.63.0
+#RUST_STAGE0_VER=              1.65.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}
@@ -432,24 +421,26 @@ SUBST_VARS.rpath= PREFIX
 
 CKSUM_CRATES+= vendor/cc
 CKSUMS+=       38970d678de0efb4b5e2978265daa8a613a1db35fc42e669621b03fc56d5b138
-CKSUMS+=       1a5dd77a916141a3398372a99278e05cfa9ec9ff56c99325afca6a6b7375c300
+CKSUMS+=       83df624c670f44d1ad895b8383a848d7fd49d9b3f088e866a77e513008735b70
 
 CKSUM_CRATES+= vendor/libc
+CKSUMS+=       8914a68865af026c1f4fb1d5f02ba0053362ef34b813ad60cc4aa3a88aa4999e
+CKSUMS+=       36261a678137edb49eab7c4d51052e4a9c78312a248dd25c4b67a44180cfbbd6
+CKSUMS+=       8f9613e50c2771b33d7cf817a735d536b389ec57f861b9486d870373c768276e
+CKSUMS+=       86a2db06339eb850f9d28d524a94a9db5aa4f4d2c3fd080fb90c8c101ef53bed
+CKSUMS+=       fa260decf53280d4fdf714af60f42d4774f8d6f2da71b0a55a6c2a85e422eb57
+CKSUMS+=       d35c4f5c2ad764235adc8b315a3b8d69c3f322feeda0738f56a1a25b49a9649d
+CKSUMS+=       52a31038984e68582347f4b28fd64c01e6308ff4293628818bb279605e7b28c6
+CKSUMS+=       d7c68074765debe9f6d21797be22b34f7699535e2b9f15b131db18a8ba2bc751
+
+CKSUM_CRATES+= vendor/libc-0.2.126
 CKSUMS+=       cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55
-CKSUMS+=       cea54f3eb0929a12fa9c2c07e647343f28fbb6d5394ef0f8e7331959fb540fd3
-CKSUMS+=       976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b
-CKSUMS+=       ee760c856bb491d885e9458fb723c53db7988ba775e59ab5b9ee8be438e69cf4
-CKSUMS+=       cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55
-CKSUMS+=       b4d5e82df95afc69a931db296be1ef6f40350af60029219587f64ca600f5f53d
+CKSUMS+=       e449f032ed443158128ef105521fbe67aaef8f01beb83581357e774fab67d0ea
 
 CKSUM_CRATES+= vendor/lzma-sys
 CKSUMS+=       6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
 CKSUMS+=       5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
 
-CKSUM_CRATES+= vendor/cc-1.0.69
-CKSUMS+=       6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
-CKSUMS+=       dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
-
 CKSUM_CRATES+= vendor/stacker
 CKSUMS+=       cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e
 CKSUMS+=       79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4
@@ -469,6 +460,8 @@ CKSUMS+=    1ca104253f186211d88627c66086278
 CKSUM_CRATES+= vendor/crossbeam-utils
 CKSUMS+=       916ed15218bb7b75a4e0d432430e7134efd27ca43ca8a8766e0c90e89febb602
 CKSUMS+=       9203c99b493cf333be37410484eb3a1d7f9fccf5049aa5fd6fc9b89b20f946ed
+CKSUMS+=       f58085b9d0666ccf62e0ae17fb5dae937c0a86fcc55dc0ae04ad8659e696a49c
+CKSUMS+=       edd00ed29d88c1324bf15008e83394dbb5e09f723a7f040c322f8be1d50e41ea
 
 CKSUM_CRATES+= vendor/crossbeam-epoch
 CKSUMS+=       916ed15218bb7b75a4e0d432430e7134efd27ca43ca8a8766e0c90e89febb602
@@ -484,7 +477,13 @@ CKSUMS+=   67fd5293c2f8d25fd2eaa4694198178
 
 CKSUM_CRATES+= vendor/openssl-src
 CKSUMS+=       40cd1069246b552b04fcdfd13eb77b3a89194192f18c426b77377a78abbfd72f
-CKSUMS+=       0762dfc33f22810157225d9a78415ac3df6a89d589d1937cc58f75a6611e7fc9
+CKSUMS+=       f358adc7b69c478ca89a96505f9a28f51cc6ad481bcdd304d5089e112c0904db
+CKSUMS+=       b3c59089fa4151eb978a55f17e2adff6ceb752d579b64962336b49cefe41776b
+CKSUMS+=       db49cdc41015692a4dd2076a33d694c3371a6720db176742cb6c509d533a1fcd
+
+CKSUM_CRATES+= vendor/openssl-sys
+CKSUMS+=       d397af804c0b786978867528635fa9148cd2ad0e6abd591ace21b5bd3719c38d
+CKSUMS+=       246d1f71852a08745fba8d00f126d2bd7816c9428d568a0d5e4907e69548ab9b
 
 SUBST_CLASSES+=                cksum
 SUBST_STAGE.cksum=     pre-configure
@@ -630,13 +629,13 @@ stage0-bootstrap: install
                ${CP} `${PKG_CC} -print-file-name=$${lib}` \
                    ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
        done; \
-       for lib in libLLVM-14.so libcrypto.so.1.1 libcurl.so.4 \
-                  libssl.so.1.1 libz.so.1; do \
+       for lib in libLLVM-15.so libcrypto.so.1.1 libcurl.so.4 \
+                  libssl.so.1.1 libz.so.1 libzstd.so.1; do \
                ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
        done; \
        for lib in libiconv.so.2 libidn2.so.0 libintl.so.8 liblber.so.2 \
                   libldap.so.2 libnghttp2.so.14 libsasl2.so.3 \
-                  libssh2.so.1 libunistring.so.2; do \
+                  libssh2.so.1 libunistring.so.5; do \
                ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
        done; \
        for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \
@@ -699,5 +698,4 @@ BUILD_DEPENDS+= cmake-[0-9]*:../../devel
 .include "../../devel/cmake/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
 .include "../../lang/python/tool.mk"
-.include "../../lang/python/application.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/lang/rust/buildlink3.mk
diff -u pkgsrc/lang/rust/buildlink3.mk:1.10 pkgsrc/lang/rust/buildlink3.mk:1.11
--- pkgsrc/lang/rust/buildlink3.mk:1.10 Tue Jun 28 11:34:15 2022
+++ pkgsrc/lang/rust/buildlink3.mk      Mon Jan 23 18:49:03 2023
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.10 2022/06/28 11:34:15 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.11 2023/01/23 18:49:03 he Exp $
 
 BUILDLINK_TREE+=       rust
 
@@ -9,8 +9,7 @@ BUILDLINK_TREE+=        rust
 .if !defined(RUST_BUILDLINK3_MK)
 RUST_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.rust+=   rust>=1.20.0
-BUILDLINK_ABI_DEPENDS.rust?=   rust>=1.60.0nb1
+BUILDLINK_API_DEPENDS.rust+=   rust>=1.56.1
 BUILDLINK_PKGSRCDIR.rust?=     ../../lang/rust
 BUILDLINK_PASSTHRU_DIRS+=      ${PREFIX}/lib/rustlib
 .endif

Index: pkgsrc/lang/rust/cargo.mk
diff -u pkgsrc/lang/rust/cargo.mk:1.31 pkgsrc/lang/rust/cargo.mk:1.32
--- pkgsrc/lang/rust/cargo.mk:1.31      Thu Dec 15 21:47:46 2022
+++ pkgsrc/lang/rust/cargo.mk   Mon Jan 23 18:49:03 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cargo.mk,v 1.31 2022/12/15 21:47:46 jperkin Exp $
+# $NetBSD: cargo.mk,v 1.32 2023/01/23 18:49:03 he Exp $
 #
 # Common logic that can be used by packages that depend on cargo crates
 # from crates.io. This lets existing pkgsrc infrastructure fetch and verify
@@ -36,9 +36,6 @@ SITES.${crate}.crate+=                -${MASTER_SITE_C
 EXTRACT_DIR.${crate}.crate?=   ${CARGO_VENDOR_DIR}
 .endfor
 
-# pkgsrc handles stripping and we might need to generate CTF data.
-BUILDLINK_TRANSFORM.SunOS+=    rm:-Wl,--strip-all
-
 .include "../../mk/bsd.prefs.mk"
 # Triggers NetBSD ld.so bug (PR toolchain/54192)
 # See Makefile for further information.

Index: pkgsrc/lang/rust/cross.mk
diff -u pkgsrc/lang/rust/cross.mk:1.9 pkgsrc/lang/rust/cross.mk:1.10
--- pkgsrc/lang/rust/cross.mk:1.9       Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/cross.mk   Mon Jan 23 18:49:03 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cross.mk,v 1.9 2022/11/15 23:11:14 he Exp $
+# $NetBSD: cross.mk,v 1.10 2023/01/23 18:49:03 he Exp $
 
 # These settings may be used to cross-build rust.
 #
@@ -40,7 +40,7 @@
 # host the compiler is supposed to run on.
 # Rust's target designation
 #TARGET=               armv7-unknown-netbsd-eabihf
-#TARGET=               armv6-unknown-netbsd-eabihf
+#TARGET=               armv6-unknown-netbsd-eabihf
 #TARGET=               sparc64-unknown-netbsd
 #TARGET=               powerpc-unknown-netbsd
 #TARGET=               aarch64-unknown-netbsd

Index: pkgsrc/lang/rust/distinfo
diff -u pkgsrc/lang/rust/distinfo:1.153 pkgsrc/lang/rust/distinfo:1.154
--- pkgsrc/lang/rust/distinfo:1.153     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/distinfo   Mon Jan 23 18:49:03 2023
@@ -1,157 +1,162 @@
-$NetBSD: distinfo,v 1.153 2022/11/15 23:11:14 he Exp $
+$NetBSD: distinfo,v 1.154 2023/01/23 18:49:03 he Exp $
 
-BLAKE2s (rust-1.63.0-aarch64-apple-darwin.tar.gz) = 8b6bb1a17756ad68c516afc05fd0f2760c9608975e65399781b1fc85bd7d91bf
-SHA512 (rust-1.63.0-aarch64-apple-darwin.tar.gz) = f8bca4ac150db2296ea1be8ef7cd887e5a9e2dfbc7a7fb4c5f8d31c539ffdf58aa9d46611a281bd718c6272a85fca2aef60d1838a9a27b0b622e9d50e33cc1e6
-Size (rust-1.63.0-aarch64-apple-darwin.tar.gz) = 228229488 bytes
-BLAKE2s (rust-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = 58ede5121c9ee8b61edfa792771851da61b75a08e63379f9b836395e9e61bbb5
-SHA512 (rust-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = 04d2a917e64c66b15cda3bbe9353d61737c57eb1ee4d9a2207d976b9f8f588e447f8682c7f87cf33cbc3cf14c37195795c8f259202509d3229ce9c5c175311f4
-Size (rust-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = 391767348 bytes
-BLAKE2s (rust-1.63.0-aarch64-unknown-netbsd.tar.xz) = 6aa93fab83a104585c44d4bc78e4ad3e46e37ae907e2e23c5a56a11903e54876
-SHA512 (rust-1.63.0-aarch64-unknown-netbsd.tar.xz) = 690348f679f2d9d6af8b4ce648e6a68cd83bd724906566cdbf4a5e56e75d5aa596b5dc702807baef8296883a94bafdb0c6506a8de1f764271d07b6950a9115de
-Size (rust-1.63.0-aarch64-unknown-netbsd.tar.xz) = 153412536 bytes
-BLAKE2s (rust-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = 0b3fed187c6701c687e028857085f5c09fd4a93bb67b91897c938c5a52427c69
-SHA512 (rust-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = 766344c17c59007fe3c6fdfd4caefb9bf0eec3b6c8fec878744f71979069e3edafc3b023727341f9526c7c5169b13d0fc234a0e3f5118858218149a5c7d85a08
-Size (rust-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = 152749160 bytes
-BLAKE2s (rust-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = dcb4cc227039a5ee59606b30e29e6172b56eb86590a248e9483d6b4234070d2d
-SHA512 (rust-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = e27cb6f86ef5c5fd4466afe37a34e09f910a0a09a7a7f98c735831a89983de83d447569165dd44c49fc6511aa37d065742748e222d03e240d519d011c5dbd73c
-Size (rust-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = 321731846 bytes
-BLAKE2s (rust-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = 3b9eef9621283979f385c91814721099120169eb08ed9d6f769d7b04831d2ded
-SHA512 (rust-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9a4d2c8d31ef62bb9d5bd5854503dc71587fbf6f1d0044c468a6e6de6a9c41b627c086c57b91d4bd466db7c9990a890212f9a8d6b5283c86822b58626b154e94
-Size (rust-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = 152484384 bytes
-BLAKE2s (rust-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = af2f939e619d49b2ea52628418c9e4d4e6234a37d508335d18a99ac46274e365
-SHA512 (rust-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = da0b59f52de3457ab1bf5b47ed4c51b4348e9b4e85844b0698e592706367ed78d3ad12d20740c8e1a9d907116c2d18d68382769e213894ad9844ad7e027af860
-Size (rust-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = 313156635 bytes
-BLAKE2s (rust-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = e07fdec17a5292b99df1a517349a7b15c1ac2c15c2cd3d5c1620a55f2e222cf7
-SHA512 (rust-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = d27f655ede43e38e4a1654c3117346332da73032d8b45a5b79d8bd52ae20acc083fe263b1e32c1bb5b394a33c0b6ac7dcbdc1623da227b505c92f0744e140da3
-Size (rust-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = 134099348 bytes
-BLAKE2s (rust-1.63.0-i586-unknown-netbsd.tar.xz) = 4dd319d183bdcf209c47887f54288c1ad92893c25127ae0fc1a6a1c29812f868
-SHA512 (rust-1.63.0-i586-unknown-netbsd.tar.xz) = 6fd39e5e55d9baf3645ff241ac1be63290419533bec6fb9ab0e68a9e0897559195c07ecdfc807dd0a6b1c7ddbfa5d23faff3276e1036cb43fa8c047582f3f466
-Size (rust-1.63.0-i586-unknown-netbsd.tar.xz) = 165878492 bytes
-BLAKE2s (rust-1.63.0-i686-unknown-linux-gnu.tar.gz) = b194a05fc85145bd16a30d9204598a270db509c3a9597eb929a1681c7d43425c
-SHA512 (rust-1.63.0-i686-unknown-linux-gnu.tar.gz) = 759d0bcb79bcbc38a49dbdf9c7611c7d520910b8de6f07939d76140ea6c4178ba6fc80367d399482c2989160b213ac3b26107344996b7cb06cf8d67609fb9ba9
-Size (rust-1.63.0-i686-unknown-linux-gnu.tar.gz) = 369810939 bytes
-BLAKE2s (rust-1.63.0-powerpc-unknown-netbsd.tar.xz) = d4d4b8b369e7c3a2ffe72d66963086e9b35165c97611dd825a05b95d3b2b8f7e
-SHA512 (rust-1.63.0-powerpc-unknown-netbsd.tar.xz) = eeb03a94ded0ee104d5bddf8b370a064ff0ea082228ff621ed19f22fee6cc2a61b79d99b7fc257a5d86666e46a0ff1298a30e62e13a4b47ad1a15cf454e4a3ae
-Size (rust-1.63.0-powerpc-unknown-netbsd.tar.xz) = 169274792 bytes
-BLAKE2s (rust-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 3464e8f6a823eddaea3fbcb0c8b6cf629df73f12f2121ddc21ed45185ed6a3f7
-SHA512 (rust-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 90c5facc452705d2edc87f14b02d117443dadb476d0b02328849a4efc5bbc0520fd3c346112547e3b398dab04601919fdc9f1eec285c6ff5d1e07329d78c35ce
-Size (rust-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 177793992 bytes
-BLAKE2s (rust-1.63.0-sparc64-unknown-netbsd.tar.xz) = 3251a4e4303b1e57d0239e9cb1f49e72354ab9633ec4a729776d651db0856e58
-SHA512 (rust-1.63.0-sparc64-unknown-netbsd.tar.xz) = c9da3d518ece8596ea6f8fe3f69c6623735e0876d3ceb587a885c5a02939bf00fa794dad4d1d081b0916251186b2941ac3185b70d611c58bccaa4893d822c59d
-Size (rust-1.63.0-sparc64-unknown-netbsd.tar.xz) = 149584036 bytes
-BLAKE2s (rust-1.63.0-x86_64-apple-darwin.tar.gz) = 7f12ec36e0deade8f9536c3dc55465afd78e0d8388e5c6b46cb7f3a8092a807d
-SHA512 (rust-1.63.0-x86_64-apple-darwin.tar.gz) = 241f230c6eba6b21eb5a34745b31ab979ea757bef02c86625f6641c0e6579173a5ab29aafc724372a33c6c2d5b741a4861cbc2520cb80242400f8086ed4d32c1
-Size (rust-1.63.0-x86_64-apple-darwin.tar.gz) = 293106442 bytes
-BLAKE2s (rust-1.63.0-x86_64-unknown-freebsd.tar.gz) = eab6148a4ef45c7ce78f10873db3e90ba9cc424f161e3fc7518337e99556998b
-SHA512 (rust-1.63.0-x86_64-unknown-freebsd.tar.gz) = 33652c6e1db7aed358f9fd63fc5e0c10755a558f264a90b6180245c1b95a4292ed201af91c78f9b8b030a55e7d6eb5f2d67823a1770b780ace5ac2da67806dca
-Size (rust-1.63.0-x86_64-unknown-freebsd.tar.gz) = 288166502 bytes
-BLAKE2s (rust-1.63.0-x86_64-unknown-illumos.tar.gz) = 7844914d1a21e8df16bc2a7aad5f01d8502a79806f4606edf2edc7fa38d7f6e5
-SHA512 (rust-1.63.0-x86_64-unknown-illumos.tar.gz) = 1279e4cb7dce1e23cdf8b40afa3540c60e24f22e41a02acd0985cdfa13d825d09ba92859e138734ab2f8435808b4e61c510006a4aba75a02f6b3a45b9bafe556
-Size (rust-1.63.0-x86_64-unknown-illumos.tar.gz) = 201958566 bytes
-BLAKE2s (rust-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = 9ea24101e32efb791fe30f9639b92f705b55c1cb72017a15adada51dd33fe48c
-SHA512 (rust-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = 84a680e7dbf7025490d6681eb49e540acae2f02b32f9762593e92811824300b61862c72671f8288c59483716b3e8a53324714738234e7baf452f75921c751b48
-Size (rust-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = 267333435 bytes
-BLAKE2s (rust-1.63.0-x86_64-unknown-netbsd.tar.xz) = cd865da1c25e3915a8dd8b66554072a550e52ed6dbc284a11f335b49cba52ea3
-SHA512 (rust-1.63.0-x86_64-unknown-netbsd.tar.xz) = 046431fc3382994e42b1755f6ead2e124ffe92ce5df1638bbf6c14d9e5a4bd56bd960d775b49e91dc2573bd3995178e926b719d20a2be223f029b17c3587f536
-Size (rust-1.63.0-x86_64-unknown-netbsd.tar.xz) = 173189252 bytes
-BLAKE2s (rust-std-1.63.0-aarch64-apple-darwin.tar.gz) = 7cbda155876eaff413ca9574dbe90909fd6fd00d4dad40494c03d7a75a519276
-SHA512 (rust-std-1.63.0-aarch64-apple-darwin.tar.gz) = 44252454d3932476675a971fda6a7c01560a372d9dfb51f64ef7d3d53971715bb1a39b09a2cb43cdd6639af2857cf278c4206728e85f6fb68d679ef4ea42f44b
-Size (rust-std-1.63.0-aarch64-apple-darwin.tar.gz) = 39776510 bytes
-BLAKE2s (rust-std-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = d48310db4c8934aac0b039e9c40feb5dec29366956ee6c24a27c3bbede37e8e4
-SHA512 (rust-std-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = 10a8fe1fee134a201393ae5bf0221f599722156d0139bb75175fd10611941f032fe2899d2a256ce708390b0a5a185d045b53cf5cf52fd9ab67da43605a8b9012
-Size (rust-std-1.63.0-aarch64-unknown-linux-gnu.tar.gz) = 57250791 bytes
-BLAKE2s (rust-std-1.63.0-aarch64-unknown-netbsd.tar.xz) = 5b4c8c7c7e1a7e6d151d30cceacb8dc7cb686305c9b67ac6d7a3334958b0ecf7
-SHA512 (rust-std-1.63.0-aarch64-unknown-netbsd.tar.xz) = 1b67a4e5089eae4a092eee248b215621a80f381879682fe629b62fc293e32965c0b18534642ded510abada0bff6f831f5937220eed2360d9e2e38b5924a4d1bf
-Size (rust-std-1.63.0-aarch64-unknown-netbsd.tar.xz) = 22653612 bytes
-BLAKE2s (rust-std-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = c45ee00c8cd3b6636d58128982f0d57a1e4729c8062791c735518db1c9b5bde0
-SHA512 (rust-std-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = 0a142992f084367750bb479fb4ff8694f4ee4256e6f0181815246c6b1ea64320a599da5563642927bc67a6f2ded959c456f45987ffe28c90438388d3c7e9b513
-Size (rust-std-1.63.0-aarch64_be-unknown-netbsd.tar.xz) = 22614832 bytes
-BLAKE2s (rust-std-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = 9d08ca076d966386b7cbf23aa72f5aeac47600686d105eeca7363867cf4eec66
-SHA512 (rust-std-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = dd14e86345ffcd6a19c5640c893d941efe70f0f98d226cf76b7d630c4cf56112c2202e908584d17afe15fc85b01b1be7a603ed67da4ba1334254a48ea07b0b4e
-Size (rust-std-1.63.0-arm-unknown-linux-gnueabihf.tar.gz) = 35898004 bytes
-BLAKE2s (rust-std-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = 5b6725f8eadbd72384b6fcb6db57710a6bee114dd97aedbcad3427524068e0d1
-SHA512 (rust-std-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = fda6ce37ec784eb5a9f57674088ac34d7100dab3a024f44f3eeac04dc3502ac31550e400edcf1c4b5356ed33abf8d3e2b0dc7470d76815a44935672ec0380925
-Size (rust-std-1.63.0-armv6-unknown-netbsd-eabihf.tar.xz) = 20757660 bytes
-BLAKE2s (rust-std-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = d54b985d08493510a1fc84084b91b68f3b407d449e9bdfa5fbd379b876e033f5
-SHA512 (rust-std-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = b97e3d076a04405890f1540b866d5787ee61cbdbc5fc6b45a6814ccda38276d59c809a2a9fa9a4ed77b07210cf1b7ce4a2f362e65211e803b3107c8aa95cb59b
-Size (rust-std-1.63.0-armv7-unknown-linux-gnueabihf.tar.gz) = 37741784 bytes
-BLAKE2s (rust-std-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = e37494b5e764b30b081ee73c1275a488270092d4ab9e263483131fd9ca70982a
-SHA512 (rust-std-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = a9920722c8739478a617c93504b06f615865297d87921c1faa8d8da7b2ff95be3cfcd2b2417e6b7ec8e81ef31e5e0396ca65f8e3b4cf19cb73e387b55d2d330e
-Size (rust-std-1.63.0-armv7-unknown-netbsd-eabihf.tar.xz) = 21831664 bytes
-BLAKE2s (rust-std-1.63.0-i586-unknown-netbsd.tar.xz) = 564b67526782d80c9962d2bdbcbb631642a526eb0b157264c996ba83f7aa1fc2
-SHA512 (rust-std-1.63.0-i586-unknown-netbsd.tar.xz) = 269f53d2d197578febef3d96f9feaa2e7f3e098fc0d52e8a85b65530e859943a535904c33f2bbda1631d71e5de921caebda2b616134940e0a6072b1c196c16b6
-Size (rust-std-1.63.0-i586-unknown-netbsd.tar.xz) = 22699044 bytes
-BLAKE2s (rust-std-1.63.0-i686-unknown-linux-gnu.tar.gz) = 5f0e031fbbbf54670535b083165d3d452de4e0588849f9dfb71ed74663402d10
-SHA512 (rust-std-1.63.0-i686-unknown-linux-gnu.tar.gz) = e862660fd94fe3d9b30df994e95247d3ab7b6a4943098e910f2824026cfaf6df0a44afd6950074d80e94e6f0cfa3bde95660a765d6c5c31fc0a742f6818569d0
-Size (rust-std-1.63.0-i686-unknown-linux-gnu.tar.gz) = 39728937 bytes
-BLAKE2s (rust-std-1.63.0-powerpc-unknown-netbsd.tar.xz) = cf467af536d5f44ca40566f8385123f54d60c7587c2f3b12d03a934ed7aa8d55
-SHA512 (rust-std-1.63.0-powerpc-unknown-netbsd.tar.xz) = aa5f69063548875a2cad381fe5004a576376ea121c95599cef831deffb1509d05e5f1764714220de3d6c49794c1768df772789fe772f34281a7ea36cf1ad2097
-Size (rust-std-1.63.0-powerpc-unknown-netbsd.tar.xz) = 20677128 bytes
-BLAKE2s (rust-std-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 8a5734eda79f3d1249e3c5c6343088e5e566e6c35cf5eed9675039c54c3f630f
-SHA512 (rust-std-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 609b321facbda65fea8cadd1b28c6c0c15d7d470bd89af61f442cc6b640e598c4c03b77adcf7f87b0545f5fb8a9da479a810fe813f72e808548c35031183b9f8
-Size (rust-std-1.63.0-powerpc-unknown-netbsd90.tar.xz) = 20743540 bytes
-BLAKE2s (rust-std-1.63.0-sparc64-unknown-netbsd.tar.xz) = 9c38cca66a59768f22737c5b4d88e201ddd9c381239b49556d44cf60d1175af5
-SHA512 (rust-std-1.63.0-sparc64-unknown-netbsd.tar.xz) = ce6e74057ffa960cfd4a87a1f08d2eb2fe7cb15af233caf05fd0b19ff37ad464a82f6a32f8eb4cf9bdccb2ca62b0ff6d682c9bd986d7d05ebb65940b67ab46af
-Size (rust-std-1.63.0-sparc64-unknown-netbsd.tar.xz) = 20674968 bytes
-BLAKE2s (rust-std-1.63.0-x86_64-apple-darwin.tar.gz) = 165cd3cb5ade9ff694fdc60f4a327245ea75ca9794e90624bc5ecd7c7fd731e1
-SHA512 (rust-std-1.63.0-x86_64-apple-darwin.tar.gz) = 2f62040a55e3a9d52a2bfabecacc2f0e36fd1dcdc00b3adc549acac85cb8c1ceeefc68222968eefb6f37d8114a154a91d02fd18ee95889cf80efc291cdc8df6d
-Size (rust-std-1.63.0-x86_64-apple-darwin.tar.gz) = 40445814 bytes
-BLAKE2s (rust-std-1.63.0-x86_64-unknown-freebsd.tar.gz) = 888fad5e8a5b4fd08e8d895cf2fb82d9a552df486716a6b28d98a77e41c1c977
-SHA512 (rust-std-1.63.0-x86_64-unknown-freebsd.tar.gz) = 63c39aa71b0e8ef972bc6211f0c2ec7cf85e30a5ee161d37b8c3f4e2650eb6b843d9c7be46447cb0d4cdef44627b298257a4139c16b5e94636b39ea93d60ee77
-Size (rust-std-1.63.0-x86_64-unknown-freebsd.tar.gz) = 42592740 bytes
-BLAKE2s (rust-std-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = 6202c2a656b8f0069ca2acec86f11103479f35a8ce08d7a699cb55be954d7764
-SHA512 (rust-std-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = d79f38ef9879ea9ec2841c3c64c49a3e4645d7225a6500fad38ef7161c147664905812f2f20dbd1d8f955ae629f15f74c09bff23d24f4d969b91e5bac1191852
-Size (rust-std-1.63.0-x86_64-unknown-linux-gnu.tar.gz) = 44064096 bytes
-BLAKE2s (rust-std-1.63.0-x86_64-unknown-netbsd.tar.xz) = 5328a4215846005afcbc8a8118d9a4d927557a63814a3db3a7095a9999a90c15
-SHA512 (rust-std-1.63.0-x86_64-unknown-netbsd.tar.xz) = b7b1fda019b7a161bd8ceb259c980f2ad26fac186d6deb7c5493b81652cbc04e5ca3036ca93ec64fcf9bee49df24b9c438532c7a4a221472ab1efa4f7cff6f58
-Size (rust-std-1.63.0-x86_64-unknown-netbsd.tar.xz) = 25553764 bytes
-BLAKE2s (rustc-1.64.0-src.tar.gz) = b390e0040c2cffa5b69eadba870e40667986d4d0b9c4952692d6e62b6cddc810
-SHA512 (rustc-1.64.0-src.tar.gz) = 1c453702f6d6cbdb12633d3db617495d69f7b6c6645cbef72750470b6ca826dd410fde0bbacbf11621234c4e12fa72e27f61fc2858983ec4490a68ce025e4660
-Size (rustc-1.64.0-src.tar.gz) = 205881934 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = bfa0196fa53ac0fc95dc30a4a5097b8db805251e
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 73f8225f6dea809da9381d78a8099d13c7c151c0
+BLAKE2s (rust-1.65.0-aarch64-apple-darwin.tar.gz) = 2fdcead04098326a367cc9f8eff1b39a103a936c4bffd0087e064b676be99128
+SHA512 (rust-1.65.0-aarch64-apple-darwin.tar.gz) = 12c5d233d5a4a532e8e07788c0e93974023b84670384fbe6f4ebd88d584bcd0105602431563515151a811636effe905e93c4e780dd79009918467c2bfd35afad
+Size (rust-1.65.0-aarch64-apple-darwin.tar.gz) = 235004088 bytes
+BLAKE2s (rust-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = 55867f179974d0e372a3849dce2ce7d69e9304e8409995396f522b30cf25716b
+SHA512 (rust-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = 1561771e3c29f250c0ff4954e510a0d4f4519cacfd9a53f64c3557033892997526b2a5bb02e0764dcd4116f00e6bbbff027a00e12362274427847cd7cf6e5284
+Size (rust-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = 427040302 bytes
+BLAKE2s (rust-1.65.0-aarch64-unknown-netbsd.tar.xz) = 89e6bcc8a704841dc5755f6d3a304a4f35eaf1cc3945b9af40af4cb82a5cc324
+SHA512 (rust-1.65.0-aarch64-unknown-netbsd.tar.xz) = 294e2973c5803f24c94006dd6636795c338684bcd7b860010a964287d57d0a9954c9b37bf3dc3e1b0e09b2dd427db11f5624977e007dc93b097634bc710f37cc
+Size (rust-1.65.0-aarch64-unknown-netbsd.tar.xz) = 154863148 bytes
+BLAKE2s (rust-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = b5d9b014c4f2f5cf6bf5dfaac399f47c18b1ea3ffd9567c8e59871da729436b3
+SHA512 (rust-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = b0e644bf08cd5bc2f8f5d2e0d42de5e6688b501920f06bd93b8c6fafa466a88a2e80e31d6fd03c63adfe3120607a4c72d5879fdd4d382d3a7d9d9e1698340181
+Size (rust-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = 156272688 bytes
+BLAKE2s (rust-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = b5de2d001afe1bea2096b199a7970f3ef1f9f3cef6a0ea90fb9b9953c93774d5
+SHA512 (rust-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = 77230ae132ec835e6cff3b2cd5a548e7f72fa5505ce8847c406e5ba38650b20bb32da5e2bedce138222786fa10bf958d51ccb616375a0ec9872521ff7558d87e
+Size (rust-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = 329447632 bytes
+BLAKE2s (rust-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = a66a36b36df714165f8253c6a4521287cee1277b8dad9a304d364d763c329ebe
+SHA512 (rust-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = 067407fb25ea1f484bf99f6b79277de28bb780b4b4d8dc4bdbecbd6b8104185d1e4d217ff97b3e7ccb3e530cb7ab37a4094a879547758651419076b90c347cff
+Size (rust-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = 131418940 bytes
+BLAKE2s (rust-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = df95eba72e8384f5553f8a24424da363c2d5ddda61567b770e5aadc204a06e4f
+SHA512 (rust-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = ff6f712ec87b4650b0fc36440a2a2c90cc9bd1de8752af7fe0de528cb9fffb0fa00abdb1ae6b74373acdb1675cfd3cab12a2b0665d0d3d63389a3d6b528bd2c1
+Size (rust-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = 320493381 bytes
+BLAKE2s (rust-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = ef52c8633f35b52f27e00dd04396efe98ade233d3f88034f4dba94f46ef0781c
+SHA512 (rust-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = 424d58c7f61fa456a9a960d8c9117f6bf4e0b6b67484123130e1f006e536f897365cb233e368440e0ea80f46a401353331f1877d7101616d0ed4cceec741b172
+Size (rust-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = 134385320 bytes
+BLAKE2s (rust-1.65.0-i586-unknown-netbsd.tar.xz) = 44a91ec1f1726f2ef106a68a8c72cf91c20b724cd522bc4009bb5c2bbc70d828
+SHA512 (rust-1.65.0-i586-unknown-netbsd.tar.xz) = 15d5f24d18fa8394914bec5f128ea0cd8b35a228ee833607e3d190a941ebe70937e1d8ca1707d26993b62a8f9a56f7bacd885c7bdf57a0e796e52e8fb9ad4ed5
+Size (rust-1.65.0-i586-unknown-netbsd.tar.xz) = 168620576 bytes
+BLAKE2s (rust-1.65.0-i686-unknown-linux-gnu.tar.gz) = 3cd6e9e538eea9d7274a12d73b27e1a154282c9afe1ad4b7e09fb6255b6e3a6c
+SHA512 (rust-1.65.0-i686-unknown-linux-gnu.tar.gz) = 2afe5b3a0cec7fe0a43cf0f1057d82a64677a6a0dccc0a6a34fa22f85390a99a72ba0406e638754ecdd819bcd4eace8b12cac5c30572b9d390437f525079fc04
+Size (rust-1.65.0-i686-unknown-linux-gnu.tar.gz) = 390830346 bytes
+BLAKE2s (rust-1.65.0-powerpc-unknown-netbsd.tar.xz) = 3947aa52e476fd1e331e6e0be5c8169681cbdc526e83b4b0b85b94d95c21d215
+SHA512 (rust-1.65.0-powerpc-unknown-netbsd.tar.xz) = 6e2e50ca0dcf729e2a79ad3d48d8ed830f90868d9548a730e9a98c61f0c5344fb32ec58c8a2e5d2c8c75c8253d213db2e7f2df5639b274e7f977ce72c0505a45
+Size (rust-1.65.0-powerpc-unknown-netbsd.tar.xz) = 178065264 bytes
+BLAKE2s (rust-1.65.0-powerpc-unknown-netbsd90.tar.xz) = cb05e60d4c5ab5bbad21a4539ee9e11d0a0aba8b433171822178d1c1172d824e
+SHA512 (rust-1.65.0-powerpc-unknown-netbsd90.tar.xz) = 3331e9c6c5b13ba15d1119e86e25d96adbfe38200339353ff68081627fbcdcd5e7f0041d8caecb91e0bfd48cd2ed7a9f72648c4661aa06cc15c916ff17c79b24
+Size (rust-1.65.0-powerpc-unknown-netbsd90.tar.xz) = 178033536 bytes
+BLAKE2s (rust-1.65.0-sparc64-unknown-netbsd.tar.xz) = 23e51b12c1e75555b371129297ba6a2fa67a7fe7350546f8f628e5048d3597eb
+SHA512 (rust-1.65.0-sparc64-unknown-netbsd.tar.xz) = 2380623d6eec3d185d50092521e2bacde53260f6966e67a2c0d5607838eb48096452d3a697cc4312c012202080b4719c2624edcd572e1d919fb3ad36e0715d6e
+Size (rust-1.65.0-sparc64-unknown-netbsd.tar.xz) = 150133048 bytes
+BLAKE2s (rust-1.65.0-x86_64-apple-darwin.tar.gz) = f792425d2488b039933e3fda551f3f2e1516838b27c0679f8d85e3963a40749f
+SHA512 (rust-1.65.0-x86_64-apple-darwin.tar.gz) = 3c86be5aef282a42a053e38beba8b7427e5dc1ed0a34dabf1a70678c8337a5099222fafa1195be7f2a7b14c13d86c1a1f6914ba36f7a8a3ed1662f1098e906e9
+Size (rust-1.65.0-x86_64-apple-darwin.tar.gz) = 311415518 bytes
+BLAKE2s (rust-1.65.0-x86_64-unknown-freebsd.tar.gz) = 8e461a07757d20baef2f59d9a569b9233564100ec7ec54167b65e9ca44d629d0
+SHA512 (rust-1.65.0-x86_64-unknown-freebsd.tar.gz) = ff3b047706f59161162c1f7a236fcdd7d1001327a23a55a90ff4492442cabd016827773cc6741f4401adacfd45d11ba4596f37a9b11e21a943961ade3a818de2
+Size (rust-1.65.0-x86_64-unknown-freebsd.tar.gz) = 296010717 bytes
+BLAKE2s (rust-1.65.0-x86_64-unknown-illumos.tar.gz) = 188743e2ec82e23a894be7ee855da66a77d9a076f641d19caae8f52b2fc9be98
+SHA512 (rust-1.65.0-x86_64-unknown-illumos.tar.gz) = 60c951cff927ed43b323d49222e402912abb61467ffe1ce2d4d787ac0d33b7e92e4db3a3075fd51c04f8fbc1c3c6dee1f30f22151bf70bee47bfaf87a022de16
+Size (rust-1.65.0-x86_64-unknown-illumos.tar.gz) = 216073730 bytes
+BLAKE2s (rust-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = 6f8c760be001dfd29b78f36c1d7fd770259a8ac4153844ac97fb1f8b94de788a
+SHA512 (rust-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = 61df0ec494eccd4814c9d33e6a760e9fe1a01f48d8233774c65b00951348d031824472e9e9a9534ef40f7b20c58bd6de8a2e120f46a0a272196ad233b9ad0b66
+Size (rust-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = 282897761 bytes
+BLAKE2s (rust-1.65.0-x86_64-unknown-netbsd.tar.xz) = 06b0d29e50709eb5909449e157fc54e1eee80806d741d06ed67a99d0be10c366
+SHA512 (rust-1.65.0-x86_64-unknown-netbsd.tar.xz) = 2af6381d6ad1f5e7a9a9b49591b99b4bdedddc471f3edbd8528a86923be8995bc627395eafc1fffae231fde5f8dea2aab11f0d2917b778efd544e8302e9169a9
+Size (rust-1.65.0-x86_64-unknown-netbsd.tar.xz) = 174907764 bytes
+BLAKE2s (rust-std-1.65.0-aarch64-apple-darwin.tar.gz) = 00c915b9b1a6f2aeecbf26922c534714fc0871dd166caff7d84fa570a764fac3
+SHA512 (rust-std-1.65.0-aarch64-apple-darwin.tar.gz) = 0d1cd8fc1ed6af0ed33b2762f632552e73b7120fe1419572ffce7eb7dc8e9caad8401edaf7b92e0e15b4f6dd6d69b726787928164eab7de37323b0f9ebe6c39a
+Size (rust-std-1.65.0-aarch64-apple-darwin.tar.gz) = 44490798 bytes
+BLAKE2s (rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = fc2af5c7aa15ca345bbbc0e24a0de8c74ac76637176f292aa9095e02129536a2
+SHA512 (rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = fc78825fff7a0a513f0211162548c29cf73f1fbb76a6f7981912f6e531191b254b3511bf277d0a695f261bf9eea15fc21c77ca2c193fb656db9d76b0705171af
+Size (rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.gz) = 67183170 bytes
+BLAKE2s (rust-std-1.65.0-aarch64-unknown-netbsd.tar.xz) = 18f291644b95959760541454b334bb6157a17dd24b860a39c89c0a81b9562eab
+SHA512 (rust-std-1.65.0-aarch64-unknown-netbsd.tar.xz) = cdbd125c2992557e08d6bbb816a38d13b3d95a51d9011c132f96c0b9e0d23cef77d00f51e8b84f49ce01889973eebc620e644f375619603dbcb07a264ffa468a
+Size (rust-std-1.65.0-aarch64-unknown-netbsd.tar.xz) = 25744444 bytes
+BLAKE2s (rust-std-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = a620ccb4e093ffc418a046c44abd337d67248d175074ffddec34c7be7faf447d
+SHA512 (rust-std-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = c7d92c23347891e73534eb2d41b9a9fa695504fe4089fcc181d4404e4b28d512cd8606ab81f8ffa4980b1c520a9e36f416e7286e9e47482cbbdea7f9a674f8e9
+Size (rust-std-1.65.0-aarch64_be-unknown-netbsd.tar.xz) = 25624176 bytes
+BLAKE2s (rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = 1667d0ec09ed0c15d39e550af646a161c289105eb98518806102ea451861e482
+SHA512 (rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = bb7579039eb6b539af0c25901acf3ce2bd55ccdd14c695836a9f4c897de4d47124ba8fcf5a7df2d4735e66a8f63fd7a136060fb2d57243bd3c5cb5008c41da3f
+Size (rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.gz) = 40346399 bytes
+BLAKE2s (rust-std-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = e7223f8552c97eb49b6527f628cd4f79937ada1f664bc4ae8e1075172141b210
+SHA512 (rust-std-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = ff2806b84ee6dac68b552be5ebd89438a30d5ec208bd45979214f4a703503a017b1389df455381095090df75729025f10c58f5007c825218fe846edb81af45fa
+Size (rust-std-1.65.0-armv6-unknown-netbsd-eabihf.tar.xz) = 23725352 bytes
+BLAKE2s (rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = 2e1f51c07a12bfbf335a11d5950454510d9fe2af49e73cb33f3590a053110f07
+SHA512 (rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = a648430ea2bcfdc9180f09536d9765cdc70cd47599d06af082308f521a15991fbf8cdd7e125879fdbebdb6e8092449fed73ef135dc3b35a6ddef2fe2721f91ee
+Size (rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.gz) = 42211117 bytes
+BLAKE2s (rust-std-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = 72cd88b75f305c84a275cffec5372a725f91ec76f68affbcc175ab6fe43f71a2
+SHA512 (rust-std-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = da33200c40e21b23bae3accd721de3d4f1d22d556a49cbe0d18f2727dc72647254bd7792dcd2ce8bb68f5bf3159be8652623c448565f362ba42d914b3e82ef6a
+Size (rust-std-1.65.0-armv7-unknown-netbsd-eabihf.tar.xz) = 24638088 bytes
+BLAKE2s (rust-std-1.65.0-i586-unknown-netbsd.tar.xz) = 74e70ba56f98bc9bf5fa0fd7d7cd1796cd7dac93cd4ff51b762bfae49caecca4
+SHA512 (rust-std-1.65.0-i586-unknown-netbsd.tar.xz) = 867c9fa47f3cb555be2c0d116a70929fd08945d865deefd256ba4468f4d7d2ae5bc531c6df824387b8477b70ffe3bcb3b1250bc47b7db7dea12da5b364b397f3
+Size (rust-std-1.65.0-i586-unknown-netbsd.tar.xz) = 26137324 bytes
+BLAKE2s (rust-std-1.65.0-i686-unknown-linux-gnu.tar.gz) = 1eec3a6185232d75d9ef234e1bbac3fd1329b47c9e12d2234210a7067c06f51d
+SHA512 (rust-std-1.65.0-i686-unknown-linux-gnu.tar.gz) = a45f8d5e2df181f78c3f6564af3d1e4c5d1756f5cee2294df14a35f9cdf2560d67e53cefbf8d53f4d698fd1b83ac10160d08f22b35610ac124eda79e18084d5d
+Size (rust-std-1.65.0-i686-unknown-linux-gnu.tar.gz) = 44955280 bytes
+BLAKE2s (rust-std-1.65.0-powerpc-unknown-netbsd.tar.xz) = 19fbbbe1376f564c3a62814c8e7694eac229c5939d6a89784a63e70ab42ff0ad
+SHA512 (rust-std-1.65.0-powerpc-unknown-netbsd.tar.xz) = 94f664f2951b241a162867450721099961e138587a5a56fd01d510c31ad632b31cdfc037910829a0154b19ab452e61e7f5995d41e399f2512c46ed2e2d84a461
+Size (rust-std-1.65.0-powerpc-unknown-netbsd.tar.xz) = 23349728 bytes
+BLAKE2s (rust-std-1.65.0-powerpc-unknown-netbsd90.tar.xz) = b199c02124b35b0a302f77b401dd07db702c81ebf877edd0e6c0c27925238265
+SHA512 (rust-std-1.65.0-powerpc-unknown-netbsd90.tar.xz) = 22f789f437ad3211d491d2ab29f26b25a6aa88633dccfd6518c45e5ff7ea8ef51e204a7d7afbd11c5aa5d9ede84ff58daabfaf6a22880fd4c479c5095ce0fdba
+Size (rust-std-1.65.0-powerpc-unknown-netbsd90.tar.xz) = 23423344 bytes
+BLAKE2s (rust-std-1.65.0-sparc64-unknown-netbsd.tar.xz) = 15c7f08ee4c707f429f9b63dd1b6188feb6122bca74fcc0d8efd94c6e193aa87
+SHA512 (rust-std-1.65.0-sparc64-unknown-netbsd.tar.xz) = c5a2ddbb8eee4b236600496443beebe5c1bb0419c6fcadb74d1773ad0ce71fad72f534ce473492594433fe4defaa9441f7cc8a804c957aebccc42f5bdf4a86e2
+Size (rust-std-1.65.0-sparc64-unknown-netbsd.tar.xz) = 23555660 bytes
+BLAKE2s (rust-std-1.65.0-x86_64-apple-darwin.tar.gz) = 8aac504717744735c38d0362fbd252e2874c7f78a6e6bab09775533ad1fa0920
+SHA512 (rust-std-1.65.0-x86_64-apple-darwin.tar.gz) = 6a456752ffa8efef66c78e14898ee0bdba40f48ab6bad73180459f1215f853359fca0585db9f0c282091e9e028facd0364244e91d03134c0300961e9333c73d8
+Size (rust-std-1.65.0-x86_64-apple-darwin.tar.gz) = 45706086 bytes
+BLAKE2s (rust-std-1.65.0-x86_64-unknown-freebsd.tar.gz) = a0f2e93adc60f9c4cd717624af877557a1c861fb059191b4cf6d6111380a0486
+SHA512 (rust-std-1.65.0-x86_64-unknown-freebsd.tar.gz) = 5ae25ee2596e3ee8d5bce7ad7a44a78f5a3f4baf5fce103586cc01fd905709375d3a4b755e14ef0966b58078eacbecafff32c7e01396a0ace2c0e8e2b026d9ea
+Size (rust-std-1.65.0-x86_64-unknown-freebsd.tar.gz) = 47971940 bytes
+BLAKE2s (rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = f1b026e2cf0bcfee905f545ba17b7c42fbae6dc84c599f41e222be6f319dc579
+SHA512 (rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = 5b59e49cd617c7f651561dd1f21eecbbba8b40a3d72485bc86c2c91f0d60b1e4b23db5e680724f1ce7d24db04afd517bb46f6c27aadb8bff9c488e695201641e
+Size (rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.gz) = 49616647 bytes
+BLAKE2s (rust-std-1.65.0-x86_64-unknown-netbsd.tar.xz) = 18ce68091b739cfeab6886521ae848d089bac374dbcba0aba8cc82903c07e588
+SHA512 (rust-std-1.65.0-x86_64-unknown-netbsd.tar.xz) = dbe5f2271b3a9189d905e122663ad70c34ed0e8158c8d6a72f23a5972fb4af3266712b023be3305b0f6e0af14d6d37af1efd87c38cd847265b2ef767c272ae86
+Size (rust-std-1.65.0-x86_64-unknown-netbsd.tar.xz) = 29329492 bytes
+BLAKE2s (rustc-1.66.1-src.tar.gz) = 37e1b3d987083c30b539d86c3622fc79eaf960772e75d536dc2c6d3199a3257f
+SHA512 (rustc-1.66.1-src.tar.gz) = 411683112efa723f60c858afc63b3f72d93d281d468abd153f4978b590dccf3e0c57389fe9ea855f7473481016a130f7fa6918281b7a31e887e2c02e84b53204
+Size (rustc-1.66.1-src.tar.gz) = 210680677 bytes
+SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 62819cf6db7d2e3e77d433fe883046c28fc20d91
+SHA1 (patch-compiler_rustc__llvm_build.rs) = e99c9eb2fd1731c0e6f5d38ff74bf28bf0be87d0
 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_mipsel__unknown__netbsd.rs) = 41a6d29fca1419f8a89f9d0be0c190481c349d0e
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 275120b9e07863a19c821064d9010c6fbb537044
-SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 57b26a7eb55a4a8e9ec8c4fb8b3b318a25d5a78b
+SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = 866d01e7c1f3d8dd7d26f2fdc4360df273ed401f
+SHA1 (patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs) = a0fb5338d0020d3ee1266d1ed1361e7bf2eea611
+SHA1 (patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs) = fc78fc681f170be9e3b6e3c823a6bd62da742cbd
+SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 5042a89fe5da4219b54082c104a1b44ba7cc395e
+SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = bc73a140d7b1d3ced12ad2564be4edce5b9579f0
 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) = e5f661b3dd00058e874fe60cd89d9e919325e99b
+SHA1 (patch-library_std_src_sys_unix_thread__parker_netbsd.rs) = a8dcda5f9ff273b53f5b59718020c24526399a37
 SHA1 (patch-library_unwind_build.rs) = df092d5c07fa0be63a9510f1d6a77e5094ca3b15
 SHA1 (patch-src_bootstrap_bootstrap.py) = fdb4e2e7fd61ae10f4f4b06ef895a8ebf47fbf7a
-SHA1 (patch-src_bootstrap_builder.rs) = b0ba2b3d611158ecf5ae2745d671e5fcdd2c4032
-SHA1 (patch-src_bootstrap_compile.rs) = c57799aee9c12603f5e6a13cb6b5befc8f96b4b6
+SHA1 (patch-src_bootstrap_builder.rs) = 98daac929d2bbc9c475c39d225d50d37491528a8
+SHA1 (patch-src_bootstrap_compile.rs) = 94b05db59b8bc50dce48537aeb72ba9ce293bb07
+SHA1 (patch-src_bootstrap_install.rs) = 65b0571a6297c3469cd50cde9a8dbf86638136f4
 SHA1 (patch-src_bootstrap_lib.rs) = f6918e0939b6fe63ae9b524d4c809375149efb15
 SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 67de0d9fc105ef7ea7a0d96fa25fc779c2b89024
 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_include_llvm_Analysis_ConstantFolding.h) = 39d76e6659143d154ae690ac70781b698a2023d8
+SHA1 (patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h) = 67e93f198258a5b59580be20ff47ce58b146c5d5
 SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
 SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = dc9b405b41882bc7c74e08b8188acab3d4aed4ad
 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) = 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) = 2f6b0ad800b31cd33334f194651981491ecf7641
-SHA1 (patch-vendor_crossbea_no__atomic.rs) = 6054fa9cb00b9cc7d9125354702945ac22ad6aeb
-SHA1 (patch-vendor_crossbeam-epch-0.9.6_no__atomic.rs) = 96334fb4ceee3332b5f1c7750c93664485b01365
+SHA1 (patch-vendor_cc_src_lib.rs) = dc40f4fb0f7508b886d6d93b27e9936403a96765
+SHA1 (patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs) = 96334fb4ceee3332b5f1c7750c93664485b01365
 SHA1 (patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs) = fce16287a86bfa54f4b138f0c4a6c477f2d2e217
 SHA1 (patch-vendor_crossbeam-epoch_no__atomic.rs) = ee6294d0cef62e843aa7d4e693cc72b1347ff6e1
 SHA1 (patch-vendor_crossbeam-queue_no__atomic.rs) = aaa732788e97803eb7e219614f5e7ff1d9dc1d0f
-SHA1 (patch-vendor_crossbeam-utils-0.8.0_no__atomic.rs) = 7f31d6c45ef843eb2595df58e46b0e44dded0cc9
+SHA1 (patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs) = 7f31d6c45ef843eb2595df58e46b0e44dded0cc9
 SHA1 (patch-vendor_crossbeam-utils_no__atomic.rs) = 4ada02a26490ca6fcd87af999bbb8cef48078060
+SHA1 (patch-vendor_crossbeam_no__atomic.rs) = 6054fa9cb00b9cc7d9125354702945ac22ad6aeb
 SHA1 (patch-vendor_kqueue_src_time.rs) = 21950e7d79fb88257bdb11b988f2a3ae0084ba3d
+SHA1 (patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 4d3bcccb5aa57260d93baaee1beb4d3e3d6f3aa4
+SHA1 (patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 3f498a38aaecf15386160218a013394f17b10e21
 SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 09326b70d7821b1742285c464c70b347400191d7
-SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = cd974123dbefc1149abce884f91d9727e82bb8b6
+SHA1 (patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 5b74832fac31de5064eee07e240be4acdbb8606c
 SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 8364e19ea09203d32494c37ff3db19fe3d6b9d8a
 SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437
-SHA1 (patch-vendor_openssl-src_src_lib.rs) = 393b5dd0b5bd32c41cd60fec787ffb8a2dc3cd20
+SHA1 (patch-vendor_openssl-src_openssl_Configurations_10-main.conf) = 1c4e1d5520776e70d588f3da0fd54b6f956835b5
+SHA1 (patch-vendor_openssl-src_src_lib.rs) = 918fac850f3a6e948d25ef3f673ef62345de386f
+SHA1 (patch-vendor_openssl-sys_build_main.rs) = 3924efda02e7d8e2115db55b84a7dcc9756e365c
 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) = e0c67288516ff8d379d6d1e7b05d4ab86f9ac0a7
-SHA1 (patch-vendor_valuable_no__atomic.rs) = 4c3415e08569c6330f238ff47b25ef229ab7b68f
+SHA1 (patch-vendor_target-lexicon_src_targets.rs) = 7aab839a16e51534aee01a8d3098d7a916803ec4
+SHA1 (patch-vendor_valuable_no__atomic.rs) = 3a40cb846bf1fae864c55a0ddba8fdeb5efcba72

Index: pkgsrc/lang/rust/do-cross.mk
diff -u pkgsrc/lang/rust/do-cross.mk:1.5 pkgsrc/lang/rust/do-cross.mk:1.6
--- pkgsrc/lang/rust/do-cross.mk:1.5    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/do-cross.mk        Mon Jan 23 18:49:03 2023
@@ -1,19 +1,19 @@
-# $NetBSD: do-cross.mk,v 1.5 2022/11/15 23:11:14 he Exp $
+# $NetBSD: do-cross.mk,v 1.6 2023/01/23 18:49:03 he Exp $
 # Do all the NetBSD cross builds
 # Collect the bootstrap kits in dist/
 
 VERSION!=      make show-var VARNAME=PKGVERSION
 V_NOREV!=      make show-var VARNAME=PKGVERSION_NOREV
 
-SHORT_TARGETS+=        armv7
-SHORT_TARGETS+= armv6
-SHORT_TARGETS+=        sparc64
-SHORT_TARGETS+=        powerpc
-SHORT_TARGETS+=        powerpc90
-SHORT_TARGETS+=        arm64
-SHORT_TARGETS+=        arm64_be
-SHORT_TARGETS+=        i386
-#SHORT_TARGETS+=       mipsel
+SHORT_TARGETS+=                armv7
+SHORT_TARGETS+=                armv6
+SHORT_TARGETS+=                sparc64
+SHORT_TARGETS+=                powerpc
+SHORT_TARGETS+=                powerpc90
+SHORT_TARGETS+=                arm64
+SHORT_TARGETS+=                arm64_be
+SHORT_TARGETS+=                i386
+SHORT_TARGETS+=                mipsel  # produces mips32 (not mips1) executables
 
 # Conditional local overrides of ROOT.* variables:
 .sinclude "local-roots.mk"

Index: pkgsrc/lang/rust/platform.mk
diff -u pkgsrc/lang/rust/platform.mk:1.17 pkgsrc/lang/rust/platform.mk:1.18
--- pkgsrc/lang/rust/platform.mk:1.17   Tue Dec 27 18:49:55 2022
+++ pkgsrc/lang/rust/platform.mk        Mon Jan 23 18:49:03 2023
@@ -1,4 +1,4 @@
-# $NetBSD: platform.mk,v 1.17 2022/12/27 18:49:55 nia Exp $
+# $NetBSD: platform.mk,v 1.18 2023/01/23 18:49:03 he Exp $
 
 # This file encodes whether a given platform has support for rust.
 
@@ -7,38 +7,14 @@
 
 .if !defined(PLATFORM_SUPPORTS_RUST)
 
-.  include "../../mk/bsd.fast.prefs.mk"
-
-.  if ${OPSYS} == "NetBSD"
-.    if ${OPSYS_VERSION} > 090000
-RUST_PLATFORMS+=       NetBSD-*-aarch64
-RUST_PLATFORMS+=       NetBSD-*-aarch64eb
-RUST_PLATFORMS+=       NetBSD-*-earmv6hf
-RUST_PLATFORMS+=       NetBSD-*-earmv7hf
-RUST_PLATFORMS+=       NetBSD-*-sparc64
-.    endif
-.    if ${OPSYS_VERSION} > 080000
-RUST_PLATFORMS+=       NetBSD-*-i386
-RUST_PLATFORMS+=       NetBSD-*-x86_64
-RUST_PLATFORMS+=       NetBSD-*-powerpc
-.    endif
-.  endif
-
-RUST_PLATFORMS+=       Darwin-*-aarch64
-RUST_PLATFORMS+=       Darwin-*-x86_64
-
-RUST_PLATFORMS+=       FreeBSD-*-x86_64
-
-RUST_PLATFORMS+=       Linux-*-aarch64
-RUST_PLATFORMS+=       Linux-*-earmv6hf
-RUST_PLATFORMS+=       Linux-*-earmv7hf
-RUST_PLATFORMS+=       Linux-*-i386
-RUST_PLATFORMS+=       Linux-*-x86_64
-
-# XXX: how to specifically detect illumos?
-.  if ${OPSYS} == "SunOS" && ${OPSYS_VERSION} >= 051000
-RUST_PLATFORMS+=       SunOS-*-x86_64
-.  endif
+# Rust needs NetBSD>7
+.  for rust_arch in aarch64 earmv7hf i386 powerpc sparc64 x86_64
+.    for rust_os in Darwin FreeBSD Linux NetBSD SunOS
+.      if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*)
+RUST_PLATFORMS+=       ${rust_os}-*-${rust_arch}
+.      endif
+.    endfor
+.  endfor
 
 .  for rust_platform in ${RUST_PLATFORMS}
 .    if !empty(MACHINE_PLATFORM:M${rust_platform})

Index: pkgsrc/lang/rust/files/gcc-wrap
diff -u pkgsrc/lang/rust/files/gcc-wrap:1.5 pkgsrc/lang/rust/files/gcc-wrap:1.6
--- pkgsrc/lang/rust/files/gcc-wrap:1.5 Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/files/gcc-wrap     Mon Jan 23 18:49:04 2023
@@ -8,18 +8,47 @@
 # ...or the native root, when we don't cross-compile
 root=${CROSS_ROOT:-/}
 
+incadd=""
 native=false
 if [ $root = "/" ]; then
        native=true
 else
        # What's the tools/bin prefix (if we're cross-building)?
        gnuarch=${GNU_CROSS_TARGET:?}
+
+       # A special hack for netbsd-8 targets.
+       # netbsd-8 has gcc 5.5, but llvm and rust needs >= 7
+       # so we build tools from -9, and try to use that, but
+       # then the include path becomes wrong, and <stdatomic.h>
+       # is no longer picked up automatically by the compiler
+       # from the target destination directory
+       case $gnuarch in
+               sparc64*)       incadd="-I=/usr/include/gcc-5"
+                               ;;
+
+                               # immintrin & from gcc-5 not
+                               # compatible with gcc7, apparently
+               i[3456]86*)     incadd="-I=/usr/include/gcc-7"
+                               ;;
+
+                               # mips64 does soft-float
+               mips64*)        madd="-msoft-float"
+                               ;;
+       esac
+       # We build both for -8 and -9 due to ABI differences,
+       # so can't just test $gnuarch...  Yes, a vile hack.
+       if [ "$root" = "/u/macppc" ]; then
+               incadd="-I=/usr/include/gcc-5"
+       fi
 fi
 
 # Who are we a wrapper for? (Typically either gcc or c++)
 who=$(basename $0 | sed -e 's/-wrap$//')
 
 args=""
+if [ ! -z "$madd" ]; then
+       args="$args $madd"
+fi
 
 # May need to add $linkadd before first -l or fist -L
 linkadd="-Wl,--sysroot=${root}/dest"
@@ -161,9 +190,10 @@ if $native; then
 else
        cmd="${root}/tools/bin/${gnuarch}-${who} \
                --sysroot=${root}/dest \
+               $incadd \
                $args"
 fi
 
 # Cannot echo to stdout, messes up e.g. "gcc -print-prog-name=ld" output...
-#echo $cmd >&2
+#echo $cmd >> /tmp/gcc-wrap.log
 exec $cmd

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.9 pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs:1.10
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs:1.9  Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs      Mon Jan 23 18:49:04 2023
@@ -1,10 +1,10 @@
-$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.9 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.10 2023/01/23 18:49:04 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.orig 2022-12-12 16:02:12.000000000 +0000
 +++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -326,7 +326,7 @@ impl<'a> GccLinker<'a> {
+@@ -325,7 +325,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.unstable_opts.osx_rpath_install_name {
Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.9 pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.10
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs:1.9    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs        Mon Jan 23 18:49:04 2023
@@ -1,10 +1,56 @@
-$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.9 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.10 2023/01/23 18:49:04 he Exp $
 
 Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
 
+Pick up -latomic tweak from
+https://github.com/rust-lang/rust/issues/104220
+and
+https://github.com/rust-lang/rust/pull/104572
+
 --- compiler/rustc_llvm/build.rs.orig  2021-11-01 07:17:29.000000000 +0000
 +++ compiler/rustc_llvm/build.rs
-@@ -268,7 +268,13 @@ fn main() {
+@@ -235,20 +235,32 @@ fn main() {
+     let mut cmd = Command::new(&llvm_config);
+     cmd.arg(llvm_link_arg).arg("--libs");
+ 
+-    if !is_crossed {
+-        cmd.arg("--system-libs");
+-    } else if target.contains("windows-gnu") {
+-        println!("cargo:rustc-link-lib=shell32");
+-        println!("cargo:rustc-link-lib=uuid");
+-    } else if target.contains("netbsd") || target.contains("haiku") || target.contains("darwin") {
+-        println!("cargo:rustc-link-lib=z");
+-    } else if target.starts_with("arm")
++    if target.starts_with("arm")
+         || target.starts_with("mips-")
+         || target.starts_with("mipsel-")
+         || target.starts_with("powerpc-")
+     {
+         // 32-bit targets need to link libatomic.
+         println!("cargo:rustc-link-lib=atomic");
++        println!("cargo:rustc-link-lib=z");
++    } else if !is_crossed {
++        cmd.arg("--system-libs");
++    } else if target.contains("windows-gnu") {
++        println!("cargo:rustc-link-lib=shell32");
++        println!("cargo:rustc-link-lib=uuid");
++    } else if target.contains("netbsd")
++        || target.contains("haiku") 
++        || target.contains("darwin")
++    {
++      // We build for i486, and then need -latomic for 64-bit atomics
++        if target.starts_with("i386")
++            || target.starts_with("i486") 
++            || target.starts_with("i586") 
++            || target.starts_with("i686") 
++        {
++          println!("cargo:rustc-link-lib=atomic");
++        }
++        println!("cargo:rustc-link-lib=z");
+     }
+     cmd.args(&components);
+ 
+@@ -334,7 +346,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-library_unwind_build.rs
diff -u pkgsrc/lang/rust/patches/patch-library_unwind_build.rs:1.9 pkgsrc/lang/rust/patches/patch-library_unwind_build.rs:1.10
--- pkgsrc/lang/rust/patches/patch-library_unwind_build.rs:1.9  Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-library_unwind_build.rs      Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-library_unwind_build.rs,v 1.9 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-library_unwind_build.rs,v 1.10 2023/01/23 18:49:04 he Exp $
 
 Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
 
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp:1.9 pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp:1.10
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp:1.9      Mon Oct 10 20:34:15 2022
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp  Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.9 2022/10/10 20:34:15 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.10 2023/01/23 18:49:04 he Exp $
 
 Avoid ambiguous function call.
 

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.4 
pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.5
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.4  Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs      Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.4 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.5 2023/01/23 18:49:04 he Exp $
 
 Add aarch64_be NetBSD target.
 
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h:1.4 pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h:1.5
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h:1.4 Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h     Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h,v 1.4 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h,v 1.5 2023/01/23 18:49:04 he Exp $
 
 Don't implement sys/regset.h workaround, fix source instead.
 
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.4 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs:1.5
--- pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs:1.4      Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs  Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_backtrace_src_symbolize_gimli_elf.rs,v 1.4 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-vendor_backtrace_src_symbolize_gimli_elf.rs,v 1.5 2023/01/23 18:49:04 he Exp $
 
 Make NetBSD also find its debug libraries, if present.
 
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.4 pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.5
--- pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.4        Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs    Mon Jan 23 18:49:04 2023
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.4 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.5 2023/01/23 18:49:04 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
-@@ -2821,6 +2821,22 @@ extern "C" {
+@@ -3008,6 +3008,22 @@ extern "C" {
      pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
  }
  
@@ -27,16 +27,17 @@ Copy execinfo function definitions from 
  cfg_if! {
      if #[cfg(target_arch = "aarch64")] {
          mod aarch64;
-@@ -2840,6 +2856,12 @@ cfg_if! {
+@@ -3027,7 +3043,12 @@ cfg_if! {
      } else if #[cfg(target_arch = "x86")] {
          mod x86;
          pub use self::x86::*;
 +    } else if #[cfg(target_arch = "mips")] {
 +        mod mips;
 +        pub use self::mips::*;
-+    } else if #[cfg(target_arch = "mipsel")] {
-+        mod mips;
-+        pub use self::mips::*;
      } else {
-         // Unknown target_arch
+-        // Unknown target_arch
++        // Unknown target_arch, this should error out
++        mod unknown;
++        pub use self::unknown::*;
      }
+ }

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.6 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs:1.7
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs:1.6 Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs     Mon Jan 23 18:49:04 2023
@@ -1,17 +1,20 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs,v 1.6 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs,v 1.7 2023/01/23 18:49:04 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.orig 2022-12-21 19:11:11.452711494 +0000
 +++ compiler/rustc_target/src/spec/i586_unknown_netbsd.rs
-@@ -0,0 +1,19 @@
-+use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
+@@ -0,0 +1,23 @@
++use crate::spec::{Cc, Lld, LinkerFlavor, StackProbeType, Target, TargetOptions};
 +
 +pub fn target() -> Target {
 +    let mut base = super::netbsd_base::opts();
 +    base.cpu = "pentium".into();
 +    base.max_atomic_width = Some(64);
-+    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
++    base.pre_link_args
++        .entry(LinkerFlavor::Gnu(Cc::Yes, Lld::No))
++        .or_default()
++        .push("-m32".into());
 +    // don't use probe-stack=inline-asm until rust-lang/rust#83139 is resolved.
 +    base.stack_probes = StackProbeType::Call;
 +
@@ -19,7 +22,8 @@ Add an i586 / pentium variant, in an eff
 +        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".into(),
++            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.6 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs:1.7
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs:1.6  Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs      Mon Jan 23 18:49:04 2023
@@ -1,19 +1,18 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_netbsd__base.rs,v 1.6 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_netbsd__base.rs,v 1.7 2023/01/23 18:49:04 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 2022-05-18 01:29:36.000000000 +0000
+--- compiler/rustc_target/src/spec/netbsd_base.rs.orig 2022-12-12 16:02:12.000000000 +0000
 +++ compiler/rustc_target/src/spec/netbsd_base.rs
-@@ -1,6 +1,14 @@
+@@ -1,12 +1,20 @@
 -use crate::spec::{cvs, RelroLevel, TargetOptions};
-+use crate::spec::{cvs, RelroLevel, LinkArgs, LinkerFlavor, TargetOptions};
++use crate::spec::{cvs, Cc, Lld, RelroLevel, LinkerFlavor, TargetOptions};
  
  pub fn opts() -> TargetOptions {
-+    let mut args = LinkArgs::new();
-+    args.insert (
-+        LinkerFlavor::Gcc,
-+        vec![
++    let pre_link_args = TargetOptions::link_args(
++        LinkerFlavor::Gnu(Cc::Yes, Lld::No),
++       &[
 +            // For the benefit of powerpc, when libatomic-links is installed,
 +            "-Wl,-L@PREFIX@/lib/libatomic".into(),
 +        ],
@@ -21,11 +20,10 @@ search the directory containing the syml
      TargetOptions {
          os: "netbsd".into(),
          dynamic_linking: true,
-@@ -8,6 +16,7 @@ pub fn opts() -> TargetOptions {
          families: cvs!["unix"],
          no_default_libraries: false,
          has_rpath: true,
-+        pre_link_args: args,
++        pre_link_args,
          position_independent_executables: true,
          relro_level: RelroLevel::Full,
          use_ctors_section: true,
Index: pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs
diff -u pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs:1.6 pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs:1.7
--- pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs:1.6  Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_mod.rs      Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-library_std_src_sys_unix_mod.rs,v 1.6 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-library_std_src_sys_unix_mod.rs,v 1.7 2023/01/23 18:49:04 he Exp $
 
 Add libexecinfo for backtrace() on NetBSD.
 
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h:1.6 
pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h:1.7
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h:1.6    Fri Jan 21 23:20:36 2022
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h        Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.6 2022/01/21 23:20:36 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.7 2023/01/23 18:49:04 he Exp $
 
 Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h
 
@@ -12,6 +12,6 @@ Fix SunOS CS conflict not handled by inc
 +#undef CS
 +#endif
 +
+ #include <stdint.h>
+ 
  namespace llvm {
- class APInt;
- template <typename T> class ArrayRef;
Index: pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs:1.6 pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs:1.7
--- pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs:1.6        Fri Jan 21 23:20:36 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_stacker_src_lib.rs    Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.6 2022/01/21 23:20:36 he Exp $
+$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.7 2023/01/23 18:49:04 he Exp $
 
 Avoid missing pthread_* on older SunOS.
 

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs
diff -u pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs:1.1 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs:1.2
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs:1.1       Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs   Mon Jan 23 18:49:04 2023
@@ -1,16 +1,19 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_mipsel__unknown__netbsd.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add target spec for NetBSD/mipsel.
+This one uses mips32 (mips1 llvm fails), so this one is not universally
+usable on NetBSD's supported 32-bit MIPS processors.
 
 --- compiler/rustc_target/src/spec/mipsel_unknown_netbsd.rs.orig       2022-11-06 18:16:59.750850353 +0000
 +++ compiler/rustc_target/src/spec/mipsel_unknown_netbsd.rs    2022-11-06 18:14:10.846209169 +0000
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,21 @@
 +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(32);
++    base.cpu = "mips32".into();
 +
 +    Target {
 +      llvm_target: "mipsel-unknown-netbsd".into(),
@@ -18,6 +21,7 @@ Add target spec for NetBSD/mipsel.
 +      data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".into(),
 +      arch: "mips".into(),
 +      options: TargetOptions {
++          features: "+soft-float".into(),
 +          mcount: "__mcount".into(),
 +          endian: Endian::Little,
 +          ..base
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs:1.1       Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs   Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_crossbeam-epoch-0.9.8_no__atomic.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add "mipsel-unknown-netbsd" to the list who don't have 
 native 64-bit atomic ops.
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs:1.1     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch_no__atomic.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_crossbeam-epoch_no__atomic.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_crossbeam-epoch_no__atomic.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add "mipsel-unknown-netbsd" to the list who don't have 
 native 64-bit atomic ops.
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs:1.1     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-queue_no__atomic.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_crossbeam-queue_no__atomic.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_crossbeam-queue_no__atomic.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add "mipsel-unknown-netbsd" to the list who don't have 
 native 64-bit atomic ops.
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs:1.1     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils_no__atomic.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_crossbeam-utils_no__atomic.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_crossbeam-utils_no__atomic.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add "mipsel-unknown-netbsd" to the list who don't have 
 native 64-bit atomic ops.
Index: pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs:1.1        Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_kqueue_src_time.rs    Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_kqueue_src_time.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_kqueue_src_time.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Use the timespec component types instead of hardcoding int lengths.
 ...except Linux has a quirk.
Index: pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs:1.1       Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs   Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-# $NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mips.rs,v 1.2 2023/01/23 18:49:04 he Exp $
 
 Add mips support.
 
Index: pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs:1.1 pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs:1.2
--- pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs:1.1    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_valuable_no__atomic.rs        Mon Jan 23 18:49:04 2023
@@ -1,4 +1,6 @@
-$NetBSD: patch-vendor_valuable_no__atomic.rs,v 1.1 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_valuable_no__atomic.rs,v 1.2 2023/01/23 18:49:04 he Exp $
+
+Add mipsel-unknown-netbsd.
 
 --- vendor/valuable/no_atomic.rs.orig  2022-09-19 15:35:03.000000000 +0000
 +++ vendor/valuable/no_atomic.rs

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.11 pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs:1.12
--- pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs:1.11  Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs       Mon Jan 23 18:49:04 2023
@@ -1,11 +1,11 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.11 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.12 2023/01/23 18:49:04 he Exp $
 
 Add i586(pentium), aarch64_be and mips NetBSD targets.
 
 --- compiler/rustc_target/src/spec/mod.rs.orig 2021-03-23 16:15:10.000000000 +0000
 +++ compiler/rustc_target/src/spec/mod.rs
-@@ -898,9 +898,12 @@ supported_targets! {
-     ("powerpc-unknown-openbsd", powerpc_unknown_openbsd),
+@@ -989,9 +989,12 @@ supported_targets! {
+     ("x86_64-unknown-openbsd", x86_64_unknown_openbsd),
  
      ("aarch64-unknown-netbsd", aarch64_unknown_netbsd),
 +    ("aarch64_be-unknown-netbsd", aarch64_be_unknown_netbsd),
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.11 pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.12
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake:1.11       Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake    Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.11 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.12 2023/01/23 18:49:04 he Exp $
 
 On Darwin, use correct install-name for shared libraries.
 

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.2 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs:1.3
--- pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs:1.2 Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs     Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli.rs,v 1.2 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-library_backtrace_src_symbolize_gimli.rs,v 1.3 2023/01/23 18:49:04 he Exp $
 
 Add NetBSD to the family who uses dl_iterate_phdr().
 
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.2 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs:1.3
--- pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs:1.2  Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs      Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_backtrace_src_symbolize_gimli.rs,v 1.2 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-vendor_backtrace_src_symbolize_gimli.rs,v 1.3 2023/01/23 18:49:04 he Exp $
 
 Do mmap on NetBSD as well.
 

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.3 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs:1.4
--- pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs:1.3     Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.3 2022/08/30 19:22:17 he Exp $
+$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.4 2023/01/23 18:49:04 he Exp $
 
 Make NetBSD also find its debug libraries, if present.
 

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.10 pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs:1.11
--- pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs:1.10      Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread.rs   Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.10 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-library_std_src_sys_unix_thread.rs,v 1.11 2023/01/23 18:49:04 he Exp $
 
 Fix stack-clash on SunOS.
 
Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.10 pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.11
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs:1.10        Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_compile.rs     Mon Jan 23 18:49:04 2023
@@ -1,13 +1,13 @@
-$NetBSD: patch-src_bootstrap_compile.rs,v 1.10 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_bootstrap_compile.rs,v 1.11 2023/01/23 18:49:04 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.orig      2022-12-12 16:02:12.000000000 +0000
 +++ src/bootstrap/compile.rs
-@@ -414,7 +414,7 @@ fn copy_sanitizers(
+@@ -465,7 +465,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.
+             // Update the library’s install name to reflect that it has been renamed.
 -            apple_darwin_update_library_name(&dst, &format!("@rpath/{}", &runtime.name));
 +            apple_darwin_update_library_name(&dst, &format!("@PREFIX@/lib/{}", &runtime.name));
              // Upon renaming the install name, the code signature of the file will invalidate,
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt
diff -u pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt:1.10 pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt:1.11
--- pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt:1.10    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_CMakeLists.txt Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.10 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.11 2023/01/23 18:49:04 he Exp $
 
 Don't implement sys/regset.h workaround, fix source instead.
 
Index: pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs
diff -u pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs:1.10 pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs:1.11
--- pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs:1.10        Fri Jan 21 23:20:36 2022
+++ pkgsrc/lang/rust/patches/patch-src_tools_cargo_tests_testsuite_build.rs     Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.10 2022/01/21 23:20:36 he Exp $
+$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.11 2023/01/23 18:49:04 he Exp $
 
 Don't attempt incremental operations on sparc64, ref.
 https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
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.10 pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs:1.11
--- pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs:1.10    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.10 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.11 2023/01/23 18:49:04 he Exp $
 
 Fix xattr build.
 

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.16 pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.17
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py:1.16      Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_bootstrap.py   Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.16 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.17 2023/01/23 18:49:04 he Exp $
 
 Use `uname -p` on NetBSD, as that is reliable and sensible there.
 Handle earmv[67]hf for NetBSD.

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.24 pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.25
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs:1.24        Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs     Mon Jan 23 18:49:04 2023
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_bootstrap_builder.rs,v 1.24 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_bootstrap_builder.rs,v 1.25 2023/01/23 18:49:04 he Exp $
 
 Use @PREFIX@, not $ORIGIN in rpath.
 
---- src/bootstrap/builder.rs.orig      2022-06-27 13:37:07.000000000 +0000
+--- src/bootstrap/builder.rs.orig      2022-12-12 16:02:12.000000000 +0000
 +++ src/bootstrap/builder.rs
-@@ -1702,7 +1701,7 @@ impl<'a> Builder<'a> {
+@@ -1710,7 +1710,7 @@ impl<'a> Builder<'a> {
                  Some("-Wl,-rpath,@loader_path/../lib")
              } else if !target.contains("windows") {
                  rustflags.arg("-Clink-args=-Wl,-z,origin");

Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.18 pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.19
--- pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs:1.18    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_lib.rs Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_bootstrap_lib.rs,v 1.18 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_bootstrap_lib.rs,v 1.19 2023/01/23 18:49:04 he Exp $
 
 Don't filter out optimization flags.
 FreeBSD has a particular C++ runtime library name

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.12 pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs:1.13
--- pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs:1.12      Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs   Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.12 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.13 2023/01/23 18:49:04 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/

Index: pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh
diff -u pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh:1.8 pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh:1.9
--- pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh:1.8     Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-src_tools_rust-installer_install-template.sh Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_tools_rust-installer_install-template.sh,v 1.8 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-src_tools_rust-installer_install-template.sh,v 1.9 2023/01/23 18:49:04 he Exp $
 
 No logging to 'install.log'.
 Do not create 'uninstall.sh'.
Index: pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.8 pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.9
--- pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs:1.8     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_cc_src_lib.rs Mon Jan 23 18:49:04 2023
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_cc_src_lib.rs,v 1.8 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_cc_src_lib.rs,v 1.9 2023/01/23 18:49:04 he Exp $
 
-Add aarch64_eb.
+Add aarch64_eb and mipsel for NetBSD.
 
 --- vendor/cc/src/lib.rs.orig  2021-07-26 15:20:38.000000000 +0000
 +++ vendor/cc/src/lib.rs
-@@ -2382,6 +2382,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"),
@@ -12,3 +12,11 @@ Add aarch64_eb.
              "arm-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
              "armv4t-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
              "armv5te-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
+@@ -2585,6 +2586,7 @@ impl Build {
+             "mips-unknown-linux-musl" => Some("mips-linux-musl"),
+             "mipsel-unknown-linux-gnu" => Some("mipsel-linux-gnu"),
+             "mipsel-unknown-linux-musl" => Some("mipsel-linux-musl"),
++            "mipsel-unknown-netbsd" => Some("mipsel--netbsd"),
+             "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
+             "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
+             "mipsisa32r6-unknown-linux-gnu" => Some("mipsisa32r6-linux-gnu"),
Index: pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs:1.8 pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs:1.9
--- pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs:1.8    Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs        Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.8 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.9 2023/01/23 18:49:04 he Exp $
 
 Provide defaults for the various NetBSD targets.
 
@@ -40,7 +40,7 @@ Provide defaults for the various NetBSD 
              "mips64el-unknown-linux-muslabi64" => "linux64-mips64",
              "mipsel-unknown-linux-gnu" => "linux-mips32",
              "mipsel-unknown-linux-musl" => "linux-mips32",
-+            "mipsel-unknown-netbsd" => "BSD-generic32",
++            "mipsel-unknown-netbsd" => "NetBSD-generic32",
              "powerpc-unknown-freebsd" => "BSD-generic32",
              "powerpc-unknown-linux-gnu" => "linux-ppc",
 +            "powerpc-unknown-netbsd" => "BSD-generic32",
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.8 pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs:1.9
--- pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs:1.8     Tue Nov 15 23:11:14 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs Mon Jan 23 18:49:04 2023
@@ -1,10 +1,10 @@
-$NetBSD: patch-vendor_target-lexicon_src_targets.rs,v 1.8 2022/11/15 23:11:14 he Exp $
+$NetBSD: patch-vendor_target-lexicon_src_targets.rs,v 1.9 2023/01/23 18:49:04 he Exp $
 
-Add aarch64_eb for NetBSD.
+Add aarch64_eb and mipsel for NetBSD.
 
 --- vendor/target-lexicon/src/targets.rs.orig  2021-05-03 21:35:46.000000000 +0000
 +++ vendor/target-lexicon/src/targets.rs
-@@ -1287,6 +1287,7 @@ mod tests {
+@@ -1335,6 +1335,7 @@ mod tests {
              "aarch64-unknown-linux-gnu_ilp32",
              "aarch64-unknown-linux-musl",
              "aarch64-unknown-netbsd",
@@ -12,3 +12,11 @@ Add aarch64_eb for NetBSD.
              "aarch64-unknown-none",
              "aarch64-unknown-none-softfloat",
              "aarch64-unknown-openbsd",
+@@ -1423,6 +1424,7 @@ mod tests {
+             "mipsel-unknown-linux-gnu",
+             "mipsel-unknown-linux-musl",
+             "mipsel-unknown-linux-uclibc",
++            "mipsel-unknown-netbsd",
+             "mipsel-unknown-none",
+             "mipsisa32r6el-unknown-linux-gnu",
+             "mipsisa32r6-unknown-linux-gnu",

Index: pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h
diff -u pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h:1.5 pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h:1.6
--- pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h:1.5 Sat Nov 20 16:09:46 2021
+++ pkgsrc/lang/rust/patches/patch-vendor_lzma-sys_config.h     Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-vendor_lzma-sys_config.h,v 1.5 2021/11/20 16:09:46 he Exp $
+$NetBSD: patch-vendor_lzma-sys_config.h,v 1.6 2023/01/23 18:49:04 he Exp $
 
 Fix SunOS builds with newer compilers.
 
Index: pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
diff -u pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.5 
pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.6
--- pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs:1.5   Tue Aug 30 19:22:17 2022
+++ pkgsrc/lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs       Mon Jan 23 18:49:04 2023
@@ -1,4 +1,4 @@
-$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 $
+$NetBSD: patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.6 2023/01/23 18:49:04 he Exp $
 
 Add aarch64_be NetBSD target.
 

Added files:

Index: pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs Mon Jan 23 18:49:04 2023
@@ -0,0 +1,29 @@
+$NetBSD: patch-compiler_rustc__target_src_spec_mips64el__unknown__netbsd.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Provide a mips64el target with N32, suitable for NetBSD/mips64el.
+
+--- compiler/rustc_target/src/spec/mips64el_unknown_netbsd.rs.orig     2022-12-29 22:55:00.640217876 +0000
++++ compiler/rustc_target/src/spec/mips64el_unknown_netbsd.rs
+@@ -0,0 +1,22 @@
++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(32);
++    base.cpu = "mips32".into();
++
++    Target {
++        llvm_target: "mipsel-unknown-netbsd".into(),
++        pointer_width: 32,
++        data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".into(),
++        arch: "mips".into(),
++        options: TargetOptions {
++            abi: "n32".into(),
++            features: "+soft-float,+abi=n32".into(),
++            endian: Endian::Little,
++            mcount: "__mcount".into(),
++            ..base
++        },
++    }
++}
Index: pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread__parker_netbsd.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread__parker_netbsd.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-library_std_src_sys_unix_thread__parker_netbsd.rs    Mon Jan 23 18:49:04 2023
@@ -0,0 +1,75 @@
+$NetBSD: patch-library_std_src_sys_unix_thread__parker_netbsd.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Try to cast to make this build, to avoid
+
+74 |                 tv_nsec: dur.subsec_nanos().into(),
+   |                          ^^^^^^^^^^^^^^^^^^ ---- required by a bound introduced by this call
+   |                          |
+   |                          the trait `core::convert::From<u32>` is not implemented for `i32`
+...
+   = note: required for `u32` to implement `core::convert::Into<i32>`
+
+For more information about this error, try `rustc --explain E0277`.
+
+Also, try to unbreak 32-bit ports ... again.
+
+--- library/std/src/sys/unix/thread_parker/netbsd.rs.orig      2022-11-02 14:36:24.000000000 +0000
++++ library/std/src/sys/unix/thread_parker/netbsd.rs
+@@ -2,7 +2,7 @@ use crate::ffi::{c_int, c_void};
+ use crate::pin::Pin;
+ use crate::ptr::{null, null_mut};
+ use crate::sync::atomic::{
+-    AtomicU64,
++    AtomicU32,
+     Ordering::{Acquire, Relaxed, Release},
+ };
+ use crate::time::Duration;
+@@ -24,19 +24,19 @@ extern "C" {
+ ///
+ /// Zero cannot be a valid LWP id, since it is used as empty value for the unpark
+ /// argument in _lwp_park.
+-const EMPTY: u64 = 0;
++const EMPTY: u32 = 0;
+ /// The token is available. Do not park anymore.
+-const NOTIFIED: u64 = u64::MAX;
++const NOTIFIED: u32 = u32::MAX;
+ 
+ pub struct Parker {
+     /// The parker state. Contains either one of the two state values above or the LWP
+     /// id of the parked thread.
+-    state: AtomicU64,
++    state: AtomicU32,
+ }
+ 
+ impl Parker {
+     pub unsafe fn new(parker: *mut Parker) {
+-        parker.write(Parker { state: AtomicU64::new(EMPTY) })
++        parker.write(Parker { state: AtomicU32::new(EMPTY) })
+     }
+ 
+     // Does not actually need `unsafe` or `Pin`, but the pthread implementation does.
+@@ -44,7 +44,7 @@ impl Parker {
+         // If the token has already been made available, we can skip
+         // a bit of work, so check for it here.
+         if self.state.load(Acquire) != NOTIFIED {
+-            let parked = _lwp_self() as u64;
++            let parked = _lwp_self();
+             let hint = self.state.as_mut_ptr().cast();
+             if self.state.compare_exchange(EMPTY, parked, Relaxed, Acquire).is_ok() {
+                 // Loop to guard against spurious wakeups.
+@@ -65,13 +65,13 @@ impl Parker {
+     // Does not actually need `unsafe` or `Pin`, but the pthread implementation does.
+     pub unsafe fn park_timeout(self: Pin<&Self>, dur: Duration) {
+         if self.state.load(Acquire) != NOTIFIED {
+-            let parked = _lwp_self() as u64;
++            let parked = _lwp_self();
+             let hint = self.state.as_mut_ptr().cast();
+             let mut timeout = timespec {
+                 // Saturate so that the operation will definitely time out
+                 // (even if it is after the heat death of the universe).
+                 tv_sec: dur.as_secs().try_into().ok().unwrap_or(time_t::MAX),
+-                tv_nsec: dur.subsec_nanos().into(),
++                tv_nsec: (dur.subsec_nanos() as libc::c_long).into(),
+             };
+ 
+             if self.state.compare_exchange(EMPTY, parked, Relaxed, Acquire).is_ok() {
Index: pkgsrc/lang/rust/patches/patch-src_bootstrap_install.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-src_bootstrap_install.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-src_bootstrap_install.rs     Mon Jan 23 18:49:04 2023
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_bootstrap_install.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Backport https://github.com/rust-lang/rust/commit/bcb75e61
+
+--- src/bootstrap/install.rs.orig      2022-12-12 16:02:12.000000000 +0000
++++ src/bootstrap/install.rs
+@@ -200,10 +200,14 @@ install!((self, builder, _config),
+         install_sh(builder, "clippy", self.compiler.stage, Some(self.target), &tarball);
+     };
+     Miri, alias = "miri", Self::should_build(_config), only_hosts: true, {
+-        let tarball = builder
+-            .ensure(dist::Miri { compiler: self.compiler, target: self.target })
+-            .expect("missing miri");
+-        install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
++        if let Some(tarball) = builder.ensure(dist::Miri { compiler: self.compiler, target: self.target }) {
++            install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
++        } else {
++            // Miri is only available on nightly
++            builder.info(
++                &format!("skipping Install miri stage{} ({})", self.compiler.stage, self.target),
++            );
++        }
+     };
+     Rustfmt, alias = "rustfmt", Self::should_build(_config), only_hosts: true, {
+         if let Some(tarball) = builder.ensure(dist::Rustfmt {
Index: pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
diff -u /dev/null pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h      Mon Jan 23 18:49:04 2023
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Do not try to use neon on big-endian aarch64, as we have
+an #error waiting there.
+
+--- src/llvm-project/llvm/lib/Support/BLAKE3/blake3_impl.h.orig        2022-09-02 08:17:54.000000000 +0000
++++ src/llvm-project/llvm/lib/Support/BLAKE3/blake3_impl.h
+@@ -64,7 +64,11 @@ enum blake3_flags {
+ #if !defined(BLAKE3_USE_NEON) 
+   // If BLAKE3_USE_NEON not manually set, autodetect based on AArch64ness
+   #if defined(IS_AARCH64)
+-    #define BLAKE3_USE_NEON 1
++    #if defined(__ARM_BIG_ENDIAN)
++      #define BLAKE3_USE_NEON 0
++    #else
++      #define BLAKE3_USE_NEON 1
++    #endif
+   #else
+     #define BLAKE3_USE_NEON 0
+   #endif
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs   Mon Jan 23 18:49:04 2023
@@ -0,0 +1,15 @@
+$NetBSD: patch-vendor_crossbeam-epoch-0.9.6_no__atomic.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Add "mipsel-unknown-netbsd" to the list who don't have 
+native 64-bit atomic ops.
+
+--- vendor/crossbeam-epoch-0.9.6/no_atomic.rs.orig     2022-09-19 15:35:01.000000000 +0000
++++ vendor/crossbeam-epoch-0.9.6/no_atomic.rs
+@@ -31,6 +31,7 @@ const NO_ATOMIC_64: &[&str] = &[
+     "mipsel-unknown-linux-musl",
+     "mipsel-unknown-linux-uclibc",
+     "mipsel-unknown-none",
++    "mipsel-unknown-netbsd",
+     "mipsisa32r6-unknown-linux-gnu",
+     "mipsisa32r6el-unknown-linux-gnu",
+     "powerpc-unknown-freebsd",
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs   Mon Jan 23 18:49:04 2023
@@ -0,0 +1,15 @@
+$NetBSD: patch-vendor_crossbeam-utils-0.8.8_no__atomic.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Add "mipsel-unknown-netbsd" to the list who don't have 
+native 64-bit atomic ops.
+
+--- vendor/crossbeam-utils-0.8.8/no_atomic.rs.orig     2022-09-19 15:35:01.000000000 +0000
++++ vendor/crossbeam-utils-0.8.8/no_atomic.rs
+@@ -36,6 +36,7 @@ const NO_ATOMIC_64: &[&str] = &[
+     "mipsel-unknown-linux-musl",
+     "mipsel-unknown-linux-uclibc",
+     "mipsel-unknown-none",
++    "mipsel-unknown-netbsd",
+     "mipsisa32r6-unknown-linux-gnu",
+     "mipsisa32r6el-unknown-linux-gnu",
+     "msp430-none-elf",
Index: pkgsrc/lang/rust/patches/patch-vendor_crossbeam_no__atomic.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_crossbeam_no__atomic.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_crossbeam_no__atomic.rs       Mon Jan 23 18:49:04 2023
@@ -0,0 +1,15 @@
+$NetBSD: patch-vendor_crossbeam_no__atomic.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Add "mipsel-unknown-netbsd" to the list who don't have
+native 64-bit atomic ops.
+
+--- vendor/crossbeam/no_atomic.rs.orig 2022-09-19 15:35:01.000000000 +0000
++++ vendor/crossbeam/no_atomic.rs
+@@ -28,6 +28,7 @@ const NO_ATOMIC_64: &[&str] = &[
+     "mipsel-unknown-linux-musl",
+     "mipsel-unknown-linux-uclibc",
+     "mipsel-unknown-none",
++    "mipsel-unknown-netbsd",
+     "mipsisa32r6-unknown-linux-gnu",
+     "mipsisa32r6el-unknown-linux-gnu",
+     "powerpc-unknown-linux-gnu",
Index: pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs   Mon Jan 23 18:49:04 2023
@@ -0,0 +1,29 @@
+$NetBSD: patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mips.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Replicate patch from unversioned libc.
+
+--- vendor/libc-0.2.126/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig    2022-12-28 21:30:25.222843485 +0000
++++ vendor/libc-0.2.126/src/unix/bsd/netbsdlike/netbsd/mips.rs
+@@ -0,0 +1,22 @@
++use PT_FIRSTMACH;
++
++pub type c_long = i32;
++pub type c_ulong = u32;
++pub type c_char = i8;
++pub type __cpu_simple_lock_nv_t = ::c_int;
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 8 - 1;
++    }
++}
++
++pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
++pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
++pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
++pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
Index: pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs    Mon Jan 23 18:49:04 2023
@@ -0,0 +1,20 @@
+$NetBSD: patch-vendor_libc-0.2.126_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Replicate patch from un-versioned libc.
+
+--- vendor/libc-0.2.126/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig     2022-12-12 18:23:58.000000000 +0000
++++ vendor/libc-0.2.126/src/unix/bsd/netbsdlike/netbsd/mod.rs
+@@ -2840,7 +2840,12 @@ cfg_if! {
+     } else if #[cfg(target_arch = "x86")] {
+         mod x86;
+         pub use self::x86::*;
++    } else if #[cfg(target_arch = "mips")] {
++      mod mips;
++      pub use self::mips::*;
+     } else {
+-        // Unknown target_arch
++        // Unknown target_arch, this should error out
++      mod unknown;
++      pub use self::unknown::*;
+     }
+ }
Index: pkgsrc/lang/rust/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf       Mon Jan 23 18:49:04 2023
@@ -0,0 +1,18 @@
+$NetBSD: patch-vendor_openssl-src_openssl_Configurations_10-main.conf,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Replicate part of
+https://github.com/openssl/openssl/pull/15086
+
+--- vendor/openssl-src/openssl/Configurations/10-main.conf.orig        2022-11-02 16:21:42.000000000 +0000
++++ vendor/openssl-src/openssl/Configurations/10-main.conf
+@@ -943,6 +943,10 @@ my %targets = (
+         shared_cflag     => "-fPIC",
+         shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
+     },
++    "NetBSD-generic32" => {
++        inherit_from     => [ "BSD-generic32" ],
++        ex_libs          => add(threads("-latomic")),
++    },
+     "BSD-generic64" => {
+         inherit_from     => [ "BSD-generic32" ],
+         bn_ops           => "SIXTY_FOUR_BIT_LONG",
Index: pkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_main.rs
diff -u /dev/null pkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_main.rs:1.1
--- /dev/null   Mon Jan 23 18:49:04 2023
+++ pkgsrc/lang/rust/patches/patch-vendor_openssl-sys_build_main.rs     Mon Jan 23 18:49:04 2023
@@ -0,0 +1,24 @@
+$NetBSD: patch-vendor_openssl-sys_build_main.rs,v 1.1 2023/01/23 18:49:04 he Exp $
+
+Patterned after Linux and Android, on 32-bit NetBSD ports
+include -latomic.  Parts of this inspired by
+https://github.com/sfackler/rust-openssl/commit/a0a1d1d29263abb7c47fc2e58cef8dab13762a45
+
+--- vendor/openssl-sys/build/main.rs.orig      2022-11-02 16:21:42.000000000 +0000
++++ vendor/openssl-sys/build/main.rs
+@@ -117,6 +117,15 @@ fn main() {
+     {
+         println!("cargo:rustc-link-lib=dylib=atomic");
+     }
++    // Patterned of the above, make sure we include -latomic
++    // on ilp32 ports (yes, this only tests the "p32" part).
++    if kind == "static"
++        && env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
++        && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
++    {
++        println!("cargo:rustc-link-lib=dylib=atomic");
++    }
++
+ 
+     if kind == "static" && target.contains("windows") {
+         println!("cargo:rustc-link-lib=dylib=gdi32");



Home | Main Index | Thread Index | Old Index