pkgsrc-WIP-changes archive

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

rust18[78][-bin]: removed; base has rust 1.88.0



Module Name:	pkgsrc-wip
Committed By:	Adam Ciarciński <adam%defguard.net@localhost>
Pushed By:	adam
Date:		Fri Aug 29 12:55:38 2025 +0200
Changeset:	a5c8c835fea6ebd60dc62d8ad76bb271b66c1653

Modified Files:
	Makefile
Removed Files:
	rust187-bin/DESCR
	rust187-bin/Makefile
	rust187-bin/buildlink3.mk
	rust187-bin/distinfo
	rust187-bin/files/install.sh
	rust187/DESCR
	rust187/HOWTO-BOOTSTRAP
	rust187/Makefile
	rust187/buildlink3.mk
	rust187/cargo.mk
	rust187/cross.mk
	rust187/distinfo
	rust187/do-cross.mk
	rust187/files/gcc-wrap
	rust187/options.mk
	rust187/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust187/patches/patch-compiler_rustc__llvm_build.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust187/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust187/patches/patch-libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust187/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust187/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust187/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust187/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
	rust187/patches/patch-src_bootstrap_bootstrap.py
	rust187/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust187/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust187/patches/patch-src_bootstrap_src_core_builder_cargo.rs
	rust187/patches/patch-src_bootstrap_src_lib.rs
	rust187/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust187/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust187/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust187/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust187/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust187/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust187/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust187/patches/patch-src_tools_clippy_clippy__utils_src_consts.rs
	rust187/patches/patch-src_tools_clippy_clippy__utils_src_lib.rs
	rust187/patches/patch-src_tools_rust-installer_install-template.sh
	rust187/patches/patch-tests_assembly_targets_targets-elf.rs
	rust187/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust187/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust187/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust187/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust187/patches/patch-vendor_libc-0.2.167_src_unix_solarish_mod.rs
	rust187/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
	rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust187/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
	rust187/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust187/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust187/patches/patch-vendor_line-index-0.1.2_src_lib.rs
	rust187/patches/patch-vendor_lzma-sys-0.1.20_config.h
	rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust187/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust187/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust187/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
	rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
	rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
	rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
	rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
	rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.106_build_find__normal.rs
	rust187/patches/patch-vendor_openssl-sys-0.9.106_build_main.rs
	rust187/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust187/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust187/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
	rust187/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
	rust187/platform.mk
	rust187/rust.mk
	rust188-bin/DESCR
	rust188-bin/Makefile
	rust188-bin/buildlink3.mk
	rust188-bin/distinfo
	rust188-bin/files/install.sh
	rust188/DESCR
	rust188/HOWTO-BOOTSTRAP
	rust188/Makefile
	rust188/buildlink3.mk
	rust188/cargo.mk
	rust188/cross.mk
	rust188/distinfo
	rust188/do-cross.mk
	rust188/files/gcc-wrap
	rust188/options.mk
	rust188/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust188/patches/patch-compiler_rustc__llvm_build.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust188/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust188/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust188/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust188/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust188/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
	rust188/patches/patch-src_bootstrap_bootstrap.py
	rust188/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust188/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust188/patches/patch-src_bootstrap_src_core_builder_cargo.rs
	rust188/patches/patch-src_bootstrap_src_lib.rs
	rust188/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust188/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust188/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust188/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust188/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust188/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust188/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust188/patches/patch-src_tools_rust-installer_install-template.sh
	rust188/patches/patch-tests_assembly_targets_targets-elf.rs
	rust188/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust188/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust188/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust188/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust188/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
	rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust188/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
	rust188/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust188/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust188/patches/patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust188/patches/patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs
	rust188/patches/patch-vendor_line-index-0.1.2_src_lib.rs
	rust188/patches/patch-vendor_lzma-sys-0.1.20_config.h
	rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust188/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust188/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust188/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
	rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
	rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
	rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
	rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
	rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.107_build_find__normal.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.107_build_main.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.108_build_find__normal.rs
	rust188/patches/patch-vendor_openssl-sys-0.9.108_build_main.rs
	rust188/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust188/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust188/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
	rust188/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
	rust188/platform.mk
	rust188/rust.mk

Log Message:
rust18[78][-bin]: removed; base has rust 1.88.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a5c8c835fea6ebd60dc62d8ad76bb271b66c1653

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

diffstat:
 Makefile                                           |   4 -
 rust187-bin/DESCR                                  |  17 -
 rust187-bin/Makefile                               | 308 -------
 rust187-bin/buildlink3.mk                          |  13 -
 rust187-bin/distinfo                               |  56 --
 rust187-bin/files/install.sh                       | 971 ---------------------
 rust187/DESCR                                      |  13 -
 rust187/HOWTO-BOOTSTRAP                            |  85 --
 rust187/Makefile                                   | 753 ----------------
 rust187/buildlink3.mk                              |  24 -
 rust187/cargo.mk                                   | 121 ---
 rust187/cross.mk                                   |  83 --
 rust187/distinfo                                   | 176 ----
 rust187/do-cross.mk                                | 107 ---
 rust187/files/gcc-wrap                             | 199 -----
 rust187/options.mk                                 | 100 ---
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...et_src_spec_Targets_sparc64__unknown__netbsd.rs |  30 -
 ...-compiler_rustc__target_src_spec_base_netbsd.rs |  32 -
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  14 -
 ...rc_spec_targets_aarch64__be__unknown__netbsd.rs |  17 -
 ...et_src_spec_targets_aarch64__unknown__netbsd.rs |  17 -
 ...t_src_spec_targets_mips64el__unknown__netbsd.rs |  35 -
 ...get_src_spec_targets_mipsel__unknown__netbsd.rs |  14 -
 ...c-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  26 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 ...darch_crates_std__detect_tests_cpu-detection.rs |  15 -
 rust187/patches/patch-src_bootstrap_bootstrap.py   |  67 --
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  13 -
 .../patch-src_bootstrap_src_core_builder_cargo.rs  |  26 -
 rust187/patches/patch-src_bootstrap_src_lib.rs     |  25 -
 .../patch-src_llvm-project_llvm_CMakeLists.txt     |  18 -
 ...c_llvm-project_llvm_cmake_modules_AddLLVM.cmake |  49 --
 ...rc_llvm-project_llvm_include_llvm-c_DataTypes.h |  34 -
 ...ct_llvm_include_llvm_Analysis_ConstantFolding.h |  17 -
 ...llvm-project_llvm_utils_FileCheck_FileCheck.cpp |  15 -
 ...atch-src_tools_cargo_src_cargo_core_profiles.rs |  17 -
 .../patch-src_tools_cargo_tests_testsuite_build.rs |  39 -
 ...ch-src_tools_clippy_clippy__utils_src_consts.rs |  91 --
 ...patch-src_tools_clippy_clippy__utils_src_lib.rs |  20 -
 ...ch-src_tools_rust-installer_install-template.sh | 179 ----
 .../patch-tests_assembly_targets_targets-elf.rs    |  16 -
 .../patch-vendor_bytecount-0.6.8_src_lib.rs        |  45 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 ...c-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.155_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  43 -
 ...ch-vendor_libc-0.2.167_src_unix_solarish_mod.rs |  15 -
 ...ch-vendor_libc-0.2.168_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  90 --
 ...ch-vendor_libc-0.2.169_src_unix_solarish_mod.rs |  15 -
 ...2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  89 --
 ...2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  90 --
 .../patch-vendor_line-index-0.1.2_src_lib.rs       |  42 -
 .../patches/patch-vendor_lzma-sys-0.1.20_config.h  |  25 -
 ...-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs |  24 -
 ...tch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs |  15 -
 .../patch-vendor_memchr-2.7.4_src_memchr.rs        | 128 ---
 ...atch-vendor_memchr-2.7.4_src_memmem_searcher.rs |  78 --
 .../patch-vendor_memchr-2.7.4_src_vector.rs        |  15 -
 ...17.0+1.1.1m_openssl_Configurations_10-main.conf |  18 -
 ...-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c |  18 -
 ...h-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs |  63 --
 ...0.4.2+3.4.1_openssl_Configurations_10-main.conf |  18 -
 ...sl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c |  18 -
 ...tch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs |  22 -
 ...endor_openssl-sys-0.9.102_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.102_build_main.rs |  23 -
 ...endor_openssl-sys-0.9.104_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.104_build_main.rs |  23 -
 ...endor_openssl-sys-0.9.106_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.106_build_main.rs |  23 -
 ...target_src_spec_aarch64__be__unknown__netbsd.rs |  27 -
 .../patch-vendor_zerocopy-0.7.32_src_lib.rs        |  25 -
 .../patch-vendor_zerocopy-0.7.35_src_lib.rs        |  25 -
 .../patches/patch-vendor_zeroize-1.8.1_src_lib.rs  |  15 -
 rust187/platform.mk                                |  28 -
 rust187/rust.mk                                    |  60 --
 rust188-bin/DESCR                                  |  17 -
 rust188-bin/Makefile                               | 308 -------
 rust188-bin/buildlink3.mk                          |  13 -
 rust188-bin/distinfo                               |  56 --
 rust188-bin/files/install.sh                       | 971 ---------------------
 rust188/DESCR                                      |  13 -
 rust188/HOWTO-BOOTSTRAP                            |  85 --
 rust188/Makefile                                   | 762 ----------------
 rust188/buildlink3.mk                              |  28 -
 rust188/cargo.mk                                   | 121 ---
 rust188/cross.mk                                   |  83 --
 rust188/distinfo                                   | 174 ----
 rust188/do-cross.mk                                | 107 ---
 rust188/files/gcc-wrap                             | 199 -----
 rust188/options.mk                                 | 100 ---
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...et_src_spec_Targets_sparc64__unknown__netbsd.rs |  30 -
 ...-compiler_rustc__target_src_spec_base_netbsd.rs |  32 -
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  14 -
 ...rc_spec_targets_aarch64__be__unknown__netbsd.rs |  17 -
 ...et_src_spec_targets_aarch64__unknown__netbsd.rs |  17 -
 ...t_src_spec_targets_mips64el__unknown__netbsd.rs |  35 -
 ...get_src_spec_targets_mipsel__unknown__netbsd.rs |  14 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  26 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 ...darch_crates_std__detect_tests_cpu-detection.rs |  15 -
 rust188/patches/patch-src_bootstrap_bootstrap.py   |  67 --
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  13 -
 .../patch-src_bootstrap_src_core_builder_cargo.rs  |  26 -
 rust188/patches/patch-src_bootstrap_src_lib.rs     |  25 -
 .../patch-src_llvm-project_llvm_CMakeLists.txt     |  18 -
 ...c_llvm-project_llvm_cmake_modules_AddLLVM.cmake |  49 --
 ...rc_llvm-project_llvm_include_llvm-c_DataTypes.h |  34 -
 ...ct_llvm_include_llvm_Analysis_ConstantFolding.h |  17 -
 ...llvm-project_llvm_utils_FileCheck_FileCheck.cpp |  15 -
 ...atch-src_tools_cargo_src_cargo_core_profiles.rs |  17 -
 .../patch-src_tools_cargo_tests_testsuite_build.rs |  39 -
 ...ch-src_tools_rust-installer_install-template.sh | 179 ----
 .../patch-tests_assembly_targets_targets-elf.rs    |  16 -
 .../patch-vendor_bytecount-0.6.8_src_lib.rs        |  45 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 ...c-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.155_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  44 -
 ...ch-vendor_libc-0.2.168_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  90 --
 ...ch-vendor_libc-0.2.169_src_unix_solarish_mod.rs |  15 -
 ...2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  89 --
 ...2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  90 --
 ...2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  89 --
 ...ch-vendor_libc-0.2.172_src_unix_solarish_mod.rs |  15 -
 .../patch-vendor_line-index-0.1.2_src_lib.rs       |  42 -
 .../patches/patch-vendor_lzma-sys-0.1.20_config.h  |  25 -
 ...-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs |  24 -
 ...tch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs |  15 -
 .../patch-vendor_memchr-2.7.4_src_memchr.rs        | 128 ---
 ...atch-vendor_memchr-2.7.4_src_memmem_searcher.rs |  78 --
 .../patch-vendor_memchr-2.7.4_src_vector.rs        |  15 -
 ...17.0+1.1.1m_openssl_Configurations_10-main.conf |  18 -
 ...-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c |  18 -
 ...h-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs |  63 --
 ...0.4.2+3.4.1_openssl_Configurations_10-main.conf |  18 -
 ...sl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c |  18 -
 ...tch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs |  22 -
 ...endor_openssl-sys-0.9.104_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.104_build_main.rs |  23 -
 ...endor_openssl-sys-0.9.107_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.107_build_main.rs |  23 -
 ...endor_openssl-sys-0.9.108_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.108_build_main.rs |  23 -
 ...target_src_spec_aarch64__be__unknown__netbsd.rs |  27 -
 .../patch-vendor_zerocopy-0.7.32_src_lib.rs        |  25 -
 .../patch-vendor_zerocopy-0.7.35_src_lib.rs        |  25 -
 .../patches/patch-vendor_zeroize-1.8.1_src_lib.rs  |  15 -
 rust188/platform.mk                                |  34 -
 rust188/rust.mk                                    |  60 --
 165 files changed, 10557 deletions(-)

diffs:
diff --git a/Makefile b/Makefile
index f5e47bea3e..6eb369be4d 100644
--- a/Makefile
+++ b/Makefile
@@ -5265,10 +5265,6 @@ SUBDIR+=	runas
 SUBDIR+=	runcpm
 SUBDIR+=	rust-analyzer
 SUBDIR+=	rust-synapse-compress-state
-SUBDIR+=	rust187
-SUBDIR+=	rust187-bin
-SUBDIR+=	rust188
-SUBDIR+=	rust188-bin
 SUBDIR+=	rust189
 SUBDIR+=	rust189-bin
 SUBDIR+=	s-nail
diff --git a/rust187-bin/DESCR b/rust187-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust187-bin/DESCR
+++ /dev/null
@@ -1,17 +0,0 @@
-Rust is a systems programming language focused on three goals: safety,
-speed, and concurrency.  It maintains these goals without having a
-garbage collector, making it a useful language for a number of use cases
-other languages aren't good at: embedding in other languages, programs
-with specific space and time requirements, and writing low-level code,
-like device drivers and operating systems.
-
-It improves on current languages targeting this space by having a number
-of compile-time safety checks that produce no runtime overhead, while
-eliminating all data races.  Rust also aims to achieve "zero-cost
-abstractions" even though some of these abstractions feel like those of
-a high-level language.  Even then, Rust still allows precise control
-like a low-level language would.
-
-This package installs a released binary, on architectures supported by
-upstream, or a TNF-built binary, on NetBSD versions not supported by
-upstream.
diff --git a/rust187-bin/Makefile b/rust187-bin/Makefile
deleted file mode 100644
index e545d592b6..0000000000
--- a/rust187-bin/Makefile
+++ /dev/null
@@ -1,308 +0,0 @@
-# $NetBSD: Makefile,v 1.75 2025/04/08 09:33:47 wiz Exp $
-
-DISTNAME=	rust-1.87.0
-PKGNAME=	${DISTNAME:S/rust/rust-bin/1}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-DIST_SUBDIR=	${PKGNAME_NOREV}
-
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://rust-lang.org/
-COMMENT=	Safe, concurrent, practical language (pre-built distribution)
-LICENSE=	mit OR apache-2.0
-
-CONFLICTS+=	rust-[0-9]*
-
-# Rust upstream provided binaries
-ONLY_FOR_PLATFORM+=	Darwin-*-aarch64
-ONLY_FOR_PLATFORM+=	Darwin-*-x86_64
-ONLY_FOR_PLATFORM+=	FreeBSD-*-x86_64
-ONLY_FOR_PLATFORM+=	Linux-*-aarch64
-ONLY_FOR_PLATFORM+=	Linux-*-i386
-ONLY_FOR_PLATFORM+=	Linux-*-x86_64
-ONLY_FOR_PLATFORM+=	NetBSD-*-x86_64
-
-# he%NetBSD.org@localhost provided binaries
-ONLY_FOR_PLATFORM+=	NetBSD-*-aarch64
-ONLY_FOR_PLATFORM+=	NetBSD-*-aarch64eb
-ONLY_FOR_PLATFORM+=	NetBSD-*-earmv7hf
-ONLY_FOR_PLATFORM+=	NetBSD-*-earmv6hf
-ONLY_FOR_PLATFORM+=	NetBSD-*-i386
-ONLY_FOR_PLATFORM+=	NetBSD-*-powerpc
-ONLY_FOR_PLATFORM+=	NetBSD-*-sparc64
-ONLY_FOR_PLATFORM+=	NetBSD-*-mipsel
-ONLY_FOR_PLATFORM+=	NetBSD-*-riscv64
-
-# Illumos, jperkin@ provided binaries
-ONLY_FOR_PLATFORM+=	SunOS-*-x86_64
-
-NETBSD_REPO=	https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/
-
-CHECK_RELRO_SKIP+=	lib/rustlib/*/bin/*
-
-CHECK_SHLIBS_SKIP+=	bin/cargo-clippy
-CHECK_SHLIBS_SKIP+=	bin/rustfmt
-
-# Bootstraps built for 9.0 or newer, -8 gcc is too old...
-BROKEN_ON_PLATFORM+=	NetBSD-8.*
-
-# Binary distributions aren't built as PIE.
-MKPIE_SUPPORTED=	no
-
-NO_BUILD=	yes
-USE_TOOLS+=	bash pax
-WRKSRC=		${WRKDIR}/${DISTFILES:C/.tar.[gx]z//}
-
-GENERATE_PLIST+=	find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
-			sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
-
-INSTALLATION_DIRS=	bin ${PKGMANDIR} share/doc/cargo/bash_completion.d
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000
-BROKEN+=		"Bootstrap unavailable for old NetBSD version"
-.endif
-
-DISTFILES:=	# empty
-
-# Rust upstream provided binaries
-
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MDarwin-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MFreeBSD-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-freebsd
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MLinux-*-i386} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	i686-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-aarch64} && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-aarch64} && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-linux-musl
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-x86_64} && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-x86_64} && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-linux-musl
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-netbsd
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-
-# NetBSD provided binaries:
-
-NBSUF=
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64eb} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64_be-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv6hf} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	armv6-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv7hf} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	armv7-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	i586-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	powerpc-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-sparc64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	sparc64-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	mipsel-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-riscv64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	riscv64gc-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-
-# Illumos:
-#.if ${MACHINE_PLATFORM:MSunOS-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-#RUST_ARCH:=	x86_64-unknown-illumos
-#DN:=		${DISTNAME}
-#EXTRACT_SUFX=	.tar.gz
-#DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-#DISTFILES:=	${DISTFILES} ${DF}
-#SITES.${DF}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-#.endif
-
-
-# Binary still extracts to plain non-nb'ed directory
-WRKSRC:=	${WRKSRC:C/nb[0-9]*//}
-WRKSRC:=	${WRKSRC:C/-$//}
-
-do-install:
-	cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC}
-	cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \
-	--destdir=${DESTDIR} --prefix=${PREFIX}
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh
-
-.if ${OPSYS} == "Darwin"
-.PHONY: fix-darwin-install-name
-post-install: fix-darwin-install-name
-fix-darwin-install-name:
-.  for bin in cargo-clippy clippy-driver miri rls rust-analyzer rustc rustdoc rustfmt
-	otool -XL ${DESTDIR}${PREFIX}/bin/${bin}			\
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/bin/${bin};			\
-	done
-.  endfor
-.  for libexec in rust-analyzer-proc-macro-srv
-	otool -XL ${DESTDIR}${PREFIX}/libexec/${libexec}		\
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/libexec/${libexec};		\
-	done
-.  endfor
-.  for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump 	\
-		llvm-profdata llvm-readobj llvm-size llvm-strip
-	otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
-	done
-.  endfor
-.  for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends
-	for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do		\
-		[ ! -f $$f ] && continue;				\
-		install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
-		otool -XL $$f | grep '@rpath' | while read rpath rest; do \
-			install_name_tool -change $$rpath \
-			    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-			    $$f;					\
-		done;							\
-	done
-.  endfor
-.else
-# Not Darwin:
-
-TOOL_DEPENDS+=		patchelf-[0-9]*:../../devel/patchelf
-
-RUST_LLVM_RPATH=	${PREFIX}/lib
-FORCE_RPATH=		--force-rpath
-
-# 32-bit NetBSD ports need libatomic
-.  if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-i386}
-.    include "../../devel/libatomic/buildlink3.mk"
-.  endif
-
-.PHONY: fix-relative-rpath
-post-install: fix-relative-rpath
-fix-relative-rpath:
-.  for bin in \
-	bin/cargo \
-	bin/cargo-clippy \
-	bin/cargo-fmt \
-	bin/clippy-driver \
-	bin/miri  \
-	bin/rls \
-	bin/rust-analyzer \
-	bin/rust-demangler \
-	bin/rustc \
-	bin/rustdoc \
-	bin/rustfmt \
-	libexec/rust-analyzer-proc-macro-srv
-	if [ -f ${DESTDIR}${PREFIX}/${bin} ]; then \
-		${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
-		    ${PREFIX}/lib ${DESTDIR}${PREFIX}/${bin} ; \
-	fi
-.  endfor
-# Only Linux builds link these binaries against an LLVM library
-.  if ${OPSYS} == "Linux"
-.    for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-link llvm-nm llvm-objcopy \
-	   llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
-	   rust-lld gcc-ld/ld64.lld gcc-ld/ld.lld gcc-ld/lld-link gcc-ld/wasm-ld
-	 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
-	   ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}
-.    endfor
-.  endif
-.  for lib in lib lib/rustlib/${RUST_ARCH}/lib \
-		lib/rustlib/${RUST_ARCH}/codegen-backends
-	for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do			\
-		[ ! -f $$f ] && continue;				\
-		${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f;	\
-	done
-.  endfor
-# wrong architecture binary distributed, unused except on macOS
-# https://github.com/rust-lang/rust/issues/139195
-# https://github.com/rust-lang/rust/issues/138943
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-objcopy
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust187-bin/buildlink3.mk b/rust187-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust187-bin/buildlink3.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.2 2022/07/01 07:00:28 pin Exp $
-
-BUILDLINK_TREE+=	rust-bin
-
-.if !defined(RUST_BIN_BUILDLINK3_MK)
-RUST_BIN_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=1.56.1
-BUILDLINK_PKGSRCDIR.rust-bin?=		../../lang/rust-bin
-BUILDLINK_PASSTHRU_DIRS+=		${PREFIX}/lib/rustlib
-.endif
-
-BUILDLINK_TREE+=	-rust-bin
diff --git a/rust187-bin/distinfo b/rust187-bin/distinfo
deleted file mode 100644
index 7e24bd9038..0000000000
--- a/rust187-bin/distinfo
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: distinfo,v 1.44 2025/04/08 09:33:47 wiz Exp $
-
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-aarch64-apple-darwin.tar.gz) = 10af213e2fc6ccea7f999047e1ef38941da5e046745e626a8c7e2f0ec8364d4c
-SHA512 (rust-bin-1.87.0/rust-1.87.0-aarch64-apple-darwin.tar.gz) = f13f1781ffb6496bdd66fcb9ad8d28343de6656c9bf642e3f1b8a187cc3198245c020624bb3fbee2e8d9b9ee3eade2331d95ff82d974e46781752c722939a353
-Size (rust-bin-1.87.0/rust-1.87.0-aarch64-apple-darwin.tar.gz) = 374337450 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 261e71aa52c842e6b89699ac0d4b1e00e3287707d69ee681d7458f70eed15fec
-SHA512 (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 0afe841190c91a1dadf191cdc1ae661da54540ea3ba880fe60fe59da1059a1271122956623e6378be325d00842b77c1ff7ea4dec39f27c917a8acfba2f9d7d61
-Size (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 314521673 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-musl.tar.gz) = 01054768c06de72e8a93cc19fc4d93ffb7384ab1b5b9690378fe9017b3580753
-SHA512 (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-musl.tar.gz) = 5d53b22107800bd919aa696e60b41e140cefbc28084acdaa772e0605e7f39250c96e7208a37d791cebe653544f05918f5496f5735c1bee05fecea056d9e37516
-Size (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-linux-musl.tar.gz) = 446107590 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 82570b244a5f9b3f6c1ad94b87053bc481d3634d81be1bfd0d1fa61550e08e7e
-SHA512 (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 5bdff7b24b3c53f679917aba1bc7e62d29979c42b601bf2797270e9f5282d32185ede43ed1edade274e4022caf0563280b7b9614f4872e9f82590a8ec9adf451
-Size (rust-bin-1.87.0/rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 232384708 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 761257d366e4c41adea1f5d9385e625d300b3105a6c78330c893e3940c67338a
-SHA512 (rust-bin-1.87.0/rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = c94c84022d7164284cfd064ccb46477a695c3862011c0d5103d8826c7dec7ab8d57e29a5d39db5b4b9a679b328355311f92005aed5fed1dfa56ca89f40880e42
-Size (rust-bin-1.87.0/rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 232686736 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 3c1bc931314b52b7ead06d306fb654d6770bb9bc799f4353b5e6e0cf636ec68a
-SHA512 (rust-bin-1.87.0/rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = cdb392feef760a0db0b907663542b40bafdbaffa089d2eec69b44e90a264197f331d5c1584e0c82115f8d7ac5efdd051bbb8b833ee2885abd5b28c214a78e027
-Size (rust-bin-1.87.0/rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 184519204 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = e2c52503a61857921f7f21e91df8c1199c2d8469cd8d821619fa71b6ffc75906
-SHA512 (rust-bin-1.87.0/rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 603b372ee88973ebd138c4885d6a2476da5551aca47429de19e460175c3a4b06fe103fc6100943e2dbbc08b27e082bfdc96e1ebec4afe0e3b002c36196f87d94
-Size (rust-bin-1.87.0/rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 185289080 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-i586-unknown-netbsd.tar.xz) = 0a538763c444d3608328ffa92958c690a29f3cd8dbc198ceca04737f2f3d25f5
-SHA512 (rust-bin-1.87.0/rust-1.87.0-i586-unknown-netbsd.tar.xz) = 8230d4be392ecb2d8725fc101340f9412d18feea2c70d5d9eb5f3c492a347b445c5bcf6ac043e7349388741f9946868ee01f0766c9e549174dd287a76c596f30
-Size (rust-bin-1.87.0/rust-1.87.0-i586-unknown-netbsd.tar.xz) = 254600640 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 905fe3c2c247c27c2e58af0f9847d0248c6bf434f4d2b0830f88a304a58f0923
-SHA512 (rust-bin-1.87.0/rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 770747c0d32d358e9607407c32fa357f0f955bce430f5934e9906473ef227452873ad5ff4f7218e22107048efee7a8dd4d59fa2bb0b1be0074892d452ab81f7e
-Size (rust-bin-1.87.0/rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 486242931 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-mipsel-unknown-netbsd.tar.xz) = a1428880dd7866bf3df00c8d7d850afda6940a68522a7dfed6f6b8ca7d1fa029
-SHA512 (rust-bin-1.87.0/rust-1.87.0-mipsel-unknown-netbsd.tar.xz) = 4b491209bead066a77443a61f543533220f3c1094692789c4c1142aa161291cf1ac8c59ce0b268ee0e9dfc60ced7b86b33a633174df8ad3de5891db6ec04b5e8
-Size (rust-bin-1.87.0/rust-1.87.0-mipsel-unknown-netbsd.tar.xz) = 191129080 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = c3a36716ce24205ea2591353b1f193dc891af1486c5724bac521c21f13d89eb6
-SHA512 (rust-bin-1.87.0/rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = aa20d1e833f79fa1498ea67662fb5a43dbeba2c542d0ed1c3a6886917e2bea1c1e4b69c83e9fedc30aa5e454343c18332c9033a0837030dded029640e99ae077
-Size (rust-bin-1.87.0/rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = 265863956 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 0bfa5d6f2352d83fd2d619c6ad3a83e067f1afbbe96f7e0d1d14464efb022106
-SHA512 (rust-bin-1.87.0/rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 178a8115a7559012436029daa7f0716a4b09d3ad2866cf93f02b892b80c5efcc7d62e6e3b40bfb93f1e8d6124fc1d6cdb2b2f09bb7611c3835f9f62d871d1602
-Size (rust-bin-1.87.0/rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 253079552 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = e1f1e5a84ca8758d2c34cd3413488937fbaa86f10e306e2220c265a214066fd1
-SHA512 (rust-bin-1.87.0/rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = 89b482559b8418f46696d52bce6f40fc2235137ac80e8796ba8025cc3edd27e386f49a90917b712ae006c70c4b6133ec1a802ab4f4950d5fb76ff723c0199384
-Size (rust-bin-1.87.0/rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = 227545816 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-x86_64-apple-darwin.tar.gz) = c9d957c710c7f6d0b23d92f03a47021d3e5ed59ab25901efeddf32ba4aeea31f
-SHA512 (rust-bin-1.87.0/rust-1.87.0-x86_64-apple-darwin.tar.gz) = c8c894450888a8d073ab99890cdf560a094b663b7e376211a1f7c5c5f3ab952f115ff779497ab4f567e24eaed08b4334ea4be1889474291369e2dae08995ca4e
-Size (rust-bin-1.87.0/rust-1.87.0-x86_64-apple-darwin.tar.gz) = 386517789 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = be9f43f7e6c297911fd2fa1211d1ca69b6a8bae15ad8f8cbec4f1b5d6df7ab2c
-SHA512 (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = e61e195b3b468250776efc6230ec788497654d160f5ae26d9568f3a40e2e82a1520de9357255d63124601028398e6f32fcfe276e349456210c86f60a00be7397
-Size (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = 374981980 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = d6c8c9e0223122a73ceba3de013cfc0d88511d23d9d5e05d14c7f006e99e9fe6
-SHA512 (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = eb6b45f768c36cbbfacd0ca27cb2ecf73afda602de442b55d44c2cc0c14dfcf068a0aea9492ee21aa03f5cc121dc3411b861814fa55aa9f709d358ba50987c16
-Size (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = 359529223 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-musl.tar.gz) = 5b9878017ae7ef97839bd77fd9679ec29ab6a735b352ab6611265c7bbbc35d5f
-SHA512 (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-musl.tar.gz) = 222cbcb36ecb53b8f8f49b8d3c28591953eec3f7643ea93e3d8613ef525442b0f2c44b68d4cefaf4e3b480e32b2f7bf022abf1374b90b8192a053009eaff59a4
-Size (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-linux-musl.tar.gz) = 532322190 bytes
-BLAKE2s (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-netbsd.tar.gz) = 8188ecd0bafc27856cca0f07f4fa16ba318a1142344bf8526ceec8edd8f4d9af
-SHA512 (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-netbsd.tar.gz) = 31ad41331c31edf3b2812f47fca82e142b2cb3dd73245c3c941df0e14dcf3ded29a5f2ad94dfc2deb2884243f978bc8b8657e443924571cf395b97d3dbe35778
-Size (rust-bin-1.87.0/rust-1.87.0-x86_64-unknown-netbsd.tar.gz) = 396886423 bytes
diff --git a/rust187-bin/files/install.sh b/rust187-bin/files/install.sh
deleted file mode 100755
index 1cc270c333..0000000000
--- a/rust187-bin/files/install.sh
+++ /dev/null
@@ -1,971 +0,0 @@
-#!/bin/bash
-# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-# No undefined variables
-set -u
-
-init_logging() {
-    local _abs_libdir="$1"
-    local _logfile="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/install.log"
-    LOGFILE="$_logfile"
-}
-
-log_line() {
-    local _line="$1"
-
-}
-
-msg() {
-    local _line="install: ${1-}"
-    echo "$_line"
-    log_line "$_line"
-}
-
-verbose_msg() {
-    if [ -n "${CFG_VERBOSE-}" ]; then
-	msg "${1-}"
-    else
-	log_line "install: ${1-}"
-    fi
-}
-
-step_msg() {
-    msg
-    msg "$1"
-    msg
-}
-
-verbose_step_msg() {
-    if [ -n "${CFG_VERBOSE-}" ]; then
-	msg
-	msg "$1"
-	msg
-    else
-	log_line ""
-	log_line "install: $1"
-	log_line ""
-    fi
-}
-
-warn() {
-    local _line="install: WARNING: $1"
-    echo "$_line" >&2
-    log_line "$_line"
-}
-
-err() {
-    local _line="install: error: $1"
-    echo "$_line" >&2
-    log_line "$_line"
-    exit 1
-}
-
-# A non-user error that is likely to result in a corrupted install
-critical_err() {
-    local _line="install: error: $1. see logs at '${LOGFILE-}'"
-    echo "$_line" >&2
-    log_line "$_line"
-    exit 1
-}
-
-need_ok() {
-    if [ $? -ne 0 ]
-    then
-        err "$1"
-    fi
-}
-
-critical_need_ok() {
-    if [ $? -ne 0 ]
-    then
-        critical_err "$1"
-    fi
-}
-
-want_ok() {
-    if [ $? -ne 0 ]; then
-	warn "$1"
-    fi
-}
-
-assert_nz() {
-    if [ -z "$1" ]; then err "assert_nz $2"; fi
-}
-
-need_cmd() {
-    if command -v $1 >/dev/null 2>&1
-    then verbose_msg "found $1"
-    else err "need $1"
-    fi
-}
-
-run() {
-    local _line="\$ $*"
-    "$@"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-write_to_file() {
-    local _msg="$1"
-    local _file="$2"
-    local _line="$ echo \"$_msg\" > \"$_file\""
-    echo "$_msg" > "$_file"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-append_to_file() {
-    local _msg="$1"
-    local _file="$2"
-    local _line="$ echo \"$_msg\" >> \"$_file\""
-    echo "$_msg" >> "$_file"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-make_dir_recursive() {
-    local _dir="$1"
-    local _line="$ umask 022 && mkdir -p \"$_dir\""
-    umask 022 && mkdir -p "$_dir"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-putvar() {
-    local t
-    local tlen
-    eval t=\$$1
-    eval tlen=\${#$1}
-}
-
-valopt() {
-    VAL_OPTIONS="$VAL_OPTIONS $1"
-
-    local op=$1
-    local default=$2
-    shift
-    shift
-    local doc="$*"
-    if [ $HELP -eq 0 ]
-    then
-        local uop=$(echo $op | tr 'a-z-' 'A-Z_')
-        local v="CFG_${uop}"
-        eval $v="$default"
-        for arg in $CFG_ARGS
-        do
-            if echo "$arg" | grep -q -- "--$op="
-            then
-                local val=$(echo "$arg" | cut -f2 -d=)
-                eval $v=$val
-            fi
-        done
-        putvar $v
-    else
-        if [ -z "$default" ]
-        then
-            default="<none>"
-        fi
-        op="${op}=[${default}]"
-        printf "    --%-30s %s\n" "$op" "$doc"
-    fi
-}
-
-opt() {
-    BOOL_OPTIONS="$BOOL_OPTIONS $1"
-
-    local op=$1
-    local default=$2
-    shift
-    shift
-    local doc="$*"
-    local flag=""
-
-    if [ $default -eq 0 ]
-    then
-        flag="enable"
-    else
-        flag="disable"
-        doc="don't $doc"
-    fi
-
-    if [ $HELP -eq 0 ]
-    then
-        for arg in $CFG_ARGS
-        do
-            if [ "$arg" = "--${flag}-${op}" ]
-            then
-                op=$(echo $op | tr 'a-z-' 'A-Z_')
-                flag=$(echo $flag | tr 'a-z' 'A-Z')
-                local v="CFG_${flag}_${op}"
-                eval $v=1
-                putvar $v
-            fi
-        done
-    else
-        if [ ! -z "${META-}" ]
-        then
-            op="$op=<$META>"
-        fi
-        printf "    --%-30s %s\n" "$flag-$op" "$doc"
-     fi
-}
-
-flag() {
-    BOOL_OPTIONS="$BOOL_OPTIONS $1"
-
-    local op=$1
-    shift
-    local doc="$*"
-
-    if [ $HELP -eq 0 ]
-    then
-        for arg in $CFG_ARGS
-        do
-            if [ "$arg" = "--${op}" ]
-            then
-                op=$(echo $op | tr 'a-z-' 'A-Z_')
-                local v="CFG_${op}"
-                eval $v=1
-                putvar $v
-            fi
-        done
-    else
-        if [ ! -z "${META-}" ]
-        then
-            op="$op=<$META>"
-        fi
-        printf "    --%-30s %s\n" "$op" "$doc"
-     fi
-}
-
-validate_opt () {
-    for arg in $CFG_ARGS
-    do
-        local is_arg_valid=0
-        for option in $BOOL_OPTIONS
-        do
-            if test --disable-$option = $arg
-            then
-                is_arg_valid=1
-            fi
-            if test --enable-$option = $arg
-            then
-                is_arg_valid=1
-            fi
-            if test --$option = $arg
-            then
-                is_arg_valid=1
-            fi
-        done
-        for option in $VAL_OPTIONS
-        do
-            if echo "$arg" | grep -q -- "--$option="
-            then
-                is_arg_valid=1
-            fi
-        done
-        if [ "$arg" = "--help" ]
-        then
-            echo
-            echo "No more help available for Configure options,"
-            echo "check the Wiki or join our IRC channel"
-            break
-        else
-            if test $is_arg_valid -eq 0
-            then
-                err "Option '$arg' is not recognized"
-            fi
-        fi
-    done
-}
-
-absolutify() {
-    local file_path="$1"
-    local file_path_dirname="$(dirname "$file_path")"
-    local file_path_basename="$(basename "$file_path")"
-    local file_abs_path="$(abs_path "$file_path_dirname")"
-    local file_path="$file_abs_path/$file_path_basename"
-    # This is the return value
-    RETVAL="$file_path"
-}
-
-# Prints the absolute path of a directory to stdout
-abs_path() {
-    local path="$1"
-    # Unset CDPATH because it causes havok: it makes the destination unpredictable
-    # and triggers 'cd' to print the path to stdout. Route `cd`'s output to /dev/null
-    # for good measure.
-    (unset CDPATH && cd "$path" > /dev/null && pwd)
-}
-
-uninstall_legacy() {
-    local _abs_libdir="$1"
-
-    local _uninstalled_something=false
-
-    # Replace commas in legacy manifest list with spaces
-    _legacy_manifest_dirs=`echo "$TEMPLATE_LEGACY_MANIFEST_DIRS" | sed "s/,/ /g"`
-
-    # Uninstall from legacy manifests
-    local _md
-    for _md in $_legacy_manifest_dirs; do
-	# First, uninstall from the installation prefix.
-	# Errors are warnings - try to rm everything in the manifest even if some fail.
-	if [ -f "$_abs_libdir/$_md/manifest" ]
-	then
-
-	    # iterate through installed manifest and remove files
-	    local _p;
-	    while read _p; do
-		# the installed manifest contains absolute paths
-		msg "removing legacy file $_p"
-		if [ -f "$_p" ]
-		then
-		    run rm -f "$_p"
-		    want_ok "failed to remove $_p"
-		else
-		    warn "supposedly installed file $_p does not exist!"
-		fi
-	    done < "$_abs_libdir/$_md/manifest"
-
-	    # If we fail to remove $md below, then the
-	    # installed manifest will still be full; the installed manifest
-	    # needs to be empty before install.
-	    msg "removing legacy manifest $_abs_libdir/$_md/manifest"
-	    run rm -f "$_abs_libdir/$_md/manifest"
-	    # For the above reason, this is a hard error
-	    need_ok "failed to remove installed manifest"
-
-	    # Remove $template_rel_manifest_dir directory
-	    msg "removing legacy manifest dir $_abs_libdir/$_md"
-	    run rm -R "$_abs_libdir/$_md"
-	    want_ok "failed to remove $_md"
-
-	    _uninstalled_something=true
-	fi
-    done
-
-    RETVAL="$_uninstalled_something"
-}
-
-uninstall_components() {
-    local _abs_libdir="$1"
-    local _dest_prefix="$2"
-    local _components="$3"
-
-    # We're going to start by uninstalling existing components. This
-    local _uninstalled_something=false
-
-    # First, try removing any 'legacy' manifests from before
-    # rust-installer
-    uninstall_legacy "$_abs_libdir"
-    assert_nz "$RETVAL", "RETVAL"
-    if [ "$RETVAL" = true ]; then
-	_uninstalled_something=true;
-    fi
-
-    # Load the version of the installed installer
-    local _installed_version=
-    if [ -f "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version" ]; then
-	_installed_version=`cat "$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version"`
-
-	# Sanity check
-	if [ ! -n "$_installed_version" ]; then critical_err "rust installer version is empty"; fi
-    fi
-
-    # If there's something installed, then uninstall
-    if [ -n "$_installed_version" ]; then
-	# Check the version of the installed installer
-	case "$_installed_version" in
-
-	    # If this is a previous version, then upgrade in place to the
-	    # current version before uninstalling.
-	    2 )
-		# The only change between version 2 -> 3 is that components are placed
-		# in subdirectories of the installer tarball. There are no changes
-		# to the installed data format, so nothing to do.
-		;;
-
-	    # This is the current version. Nothing need to be done except uninstall.
-	    "$TEMPLATE_RUST_INSTALLER_VERSION")
-		;;
-
-	    # If this is an unknown (future) version then bail.
-	    * )
-		echo "The copy of $TEMPLATE_PRODUCT_NAME at $_dest_prefix was installed using an"
-		echo "unknown version ($_installed_version) of rust-installer."
-		echo "Uninstall it first with the installer used for the original installation"
-		echo "before continuing."
-		exit 1
-		;;
-	esac
-
-	local _md="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-	local _installed_components="$(cat "$_md/components")"
-
-	# Uninstall (our components only) before reinstalling
-	local _available_component
-	for _available_component in $_components; do
-	    local _installed_component
-	    for _installed_component in $_installed_components; do
-		if [ "$_available_component" = "$_installed_component" ]; then
-		    msg "uninstalling component '$_available_component'"
-		    local _component_manifest="$_md/manifest-$_installed_component"
-
-		    # Sanity check: there should be a component manifest
-		    if [ ! -f "$_component_manifest" ]; then
-			critical_err "installed component '$_installed_component' has no manifest"
-		    fi
-
-		    # Iterate through installed component manifest and remove files
-		    local _directive
-		    while read _directive; do
-
-			local _command=${_directive%%:*}
-			local _file=${_directive#*:}
-
-			# Sanity checks
-			if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-			if [ ! -n "$_file" ]; then critical_err "malformed installation directive"; fi
-
-			case "$_command" in
-			    file)
-				verbose_msg "removing file $_file"
-				if [ -f "$_file" ]; then
-				    run rm -f "$_file"
-				    want_ok "failed to remove $_file"
-				else
-				    warn "supposedly installed file $_file does not exist!"
-				fi
-				;;
-
-			    dir)
-				verbose_msg "removing directory $_file"
-				run rm -r "$_file"
-				want_ok "unable to remove directory $_file"
-				;;
-
-			    *)
-				critical_err "unknown installation directive"
-				;;
-			esac
-
-		    done < "$_component_manifest"
-
-		    # Remove the installed component manifest
-		    verbose_msg "removing component manifest $_component_manifest"
-		    run rm "$_component_manifest"
-		    # This is a hard error because the installation is unrecoverable
-		    critical_need_ok "failed to remove installed manifest for component '$_installed_component'"
-
-		    # Update the installed component list
-		    local _modified_components="$(sed "/^$_installed_component\$/d" "$_md/components")"
-		    write_to_file "$_modified_components" "$_md/components"
-		    critical_need_ok "failed to update installed component list"
-		fi
-	    done
-	done
-
-	# If there are no remaining components delete the manifest directory,
-	# but only if we're doing an uninstall - if we're doing an install,
-	# then leave the manifest directory around to hang onto the logs,
-	# and any files not managed by the installer.
-	if [ -n "${CFG_UNINSTALL-}" ]; then
-	    local _remaining_components="$(cat "$_md/components")"
-	    if [ ! -n "$_remaining_components" ]; then
-		verbose_msg "removing manifest directory $_md"
-		run rm -r "$_md"
-		want_ok "failed to remove $_md"
-
-		maybe_unconfigure_ld
-	    fi
-	fi
-
-	_uninstalled_something=true
-    fi
-
-    # There's no installed version. If we were asked to uninstall, then that's a problem.
-    if [ -n "${CFG_UNINSTALL-}" -a "$_uninstalled_something" = false ]
-    then
-	err "unable to find installation manifest at $CFG_LIBDIR/$TEMPLATE_REL_MANIFEST_DIR"
-    fi
-}
-
-install_components() {
-    local _src_dir="$1"
-    local _abs_libdir="$2"
-    local _dest_prefix="$3"
-    local _components="$4"
-
-    local _component
-    for _component in $_components; do
-
-	msg "installing component '$_component'"
-
-	# The file name of the manifest we're installing from
-	local _input_manifest="$_src_dir/$_component/manifest.in"
-
-	# Sanity check: do we have our input manifests?
-	if [ ! -f "$_input_manifest" ]; then
-	    critical_err "manifest for $_component does not exist at $_input_manifest"
-	fi
-
-	# The installed manifest directory
-	local _md="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-
-	# The file name of the manifest we're going to create during install
-	local _installed_manifest="$_md/manifest-$_component"
-
-	# Create the installed manifest, which we will fill in with absolute file paths
-	touch "$_installed_manifest"
-	critical_need_ok "failed to create installed manifest"
-
-	# Add this component to the installed component list
-	append_to_file "$_component" "$_md/components"
-	critical_need_ok "failed to update components list for $_component"
-
-	# Now install, iterate through the new manifest and copy files
-	local _directive
-	while read _directive; do
-
-	    local _command=${_directive%%:*}
-	    local _file=${_directive#*:}
-
-	    # Sanity checks
-	    if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-	    if [ ! -n "$_file" ]; then critical_err "malformed installation directive"; fi
-
-	    # Decide the destination of the file
-	    local _file_install_path="$_dest_prefix/$_file"
-
-	    case "$_file" in
-		etc/*)
-		    local _f=${_file#"etc/"}
-		    _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
-		    ;;
-		bin/*)
-		    local _f=${_file#"bin/"}
-		    _file_install_path="$CFG_BINDIR/$_f"
-		    ;;
-		lib/*)
-		    local _f=${_file#"lib/"}
-		    _file_install_path="$CFG_LIBDIR/$_f"
-		    ;;
-		share/man/*)
-		    local _f=${_file#"share/man/"}
-		    _file_install_path="$CFG_DESTDIR_PREFIX/$PKGMANDIR/$_f"
-		    ;;
-		share/doc/*)
-            # HACK: Try to support overriding --docdir.  Paths with the form
-            # "share/doc/$product/" can be redirected to a single --docdir
-            # path. If the following detects that --docdir has been specified
-            # then it will replace everything preceeding the "$product" path
-            # component. The problem here is that the combined rust installer
-            # contains two "products": rust and cargo; so the contents of those
-            # directories will both be dumped into the same directory; and the
-            # contents of those directories are _not_ disjoint. Since this feature
-            # is almost entirely to support 'make install' anyway I don't expect
-            # this problem to be a big deal in practice.
-		    if [ "$CFG_DOCDIR" != "<default>" ]; then
-			local _f=${_file#"share/doc/"*/}
-			_file_install_path="$CFG_DOCDIR/$_f"
-		    fi
-		    ;;
-		share/*)
-		    local _f=${_file#"share/"}
-		    _file_install_path="$CFG_DATADIR/$_f"
-		    ;;
-	    esac
-
-
-	    # Make sure there's a directory for it
-	    make_dir_recursive "$(dirname "$_file_install_path")"
-	    critical_need_ok "directory creation failed"
-
-	    # Make the path absolute so we can uninstall it later without
-	    # starting from the installation cwd
-	    absolutify "$_file_install_path"
-	    _file_install_path="$RETVAL"
-	    assert_nz "$_file_install_path" "file_install_path"
-
-	    case "$_command" in
-		file )
-
-		    verbose_msg "copying file $_file_install_path"
-
-		    maybe_backup_path "$_file_install_path"
-
-		    local mode=644
-		    if test -x "$_src_dir/$_component/$_file"; then
-			mode=755
-		    fi
-		    case "$_file" in
-			bin/*) mode=755
-			       ;;
-		    esac
-		    run cp "$_src_dir/$_component/$_file" "$_file_install_path"
-		    run chmod $mode "$_file_install_path"
-		    critical_need_ok "file creation failed"
-
-		    # Update the manifest
-		    append_to_file "file:$_file_install_path" "$_installed_manifest"
-		    critical_need_ok "failed to update manifest"
-
-		    ;;
-
-		dir )
-
-		    verbose_msg "copying directory $_file_install_path"
-
-		    maybe_backup_path "$_file_install_path"
-
-		    run cp -R "$_src_dir/$_component/$_file" "$_file_install_path"
-		    critical_need_ok "failed to copy directory"
-
-                    # Set permissions. 0755 for dirs, 644 for files
-                    run chmod -R u+rwX,go+rX,go-w "$_file_install_path"
-                    critical_need_ok "failed to set permissions on directory"
-
-		    # Update the manifest
-		    append_to_file "dir:$_file_install_path" "$_installed_manifest"
-		    critical_need_ok "failed to update manifest"
-		    ;;
-
-		*)
-		    critical_err "unknown installation directive"
-		    ;;
-	    esac
-	done < "$_input_manifest"
-
-    done
-}
-
-maybe_configure_ld() {
-    local _abs_libdir="$1"
-
-    local _ostype="$(uname -s)"
-    assert_nz "$_ostype"  "ostype"
-
-    if [ "$_ostype" = "Linux" -a ! -n "${CFG_DISABLE_LDCONFIG-}" ]; then
-
-	# Fedora-based systems do not configure the dynamic linker to look
-	# /usr/local/lib, which is our default installation directory. To
-	# make things just work, try to put that directory in
-	# /etc/ld.so.conf.d/rust-installer-v1 so ldconfig picks it up.
-	# Issue #30.
-	#
-	# This will get rm'd when the last component is uninstalled in
-	# maybe_unconfigure_ld.
-	if [ "$_abs_libdir" = "/usr/local/lib" -a -d "/etc/ld.so.conf.d" ]; then
-	    echo "$_abs_libdir" > "/etc/ld.so.conf.d/rust-installer-v1-$TEMPLATE_REL_MANIFEST_DIR.conf"
-	    if [ $? -ne 0 ]; then
-		# This shouldn't happen if we've gotten this far
-		# installing to /usr/local
-		warn "failed to update /etc/ld.so.conf.d. this is unexpected"
-	    fi
-	fi
-
-	verbose_msg "running ldconfig"
-	if [ -n "${CFG_VERBOSE-}" ]; then
-	    ldconfig
-	else
-	    ldconfig 2> /dev/null
-	fi
-	if [ $? -ne 0 ]
-	then
-            warn "failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error"
-	fi
-    fi
-}
-
-maybe_unconfigure_ld() {
-    local _ostype="$(uname -s)"
-    assert_nz "$_ostype"  "ostype"
-
-    if [ "$_ostype" != "Linux" ]; then
-	return 0
-    fi
-
-    rm "/etc/ld.so.conf.d/rust-installer-v1-$TEMPLATE_REL_MANIFEST_DIR.conf" 2> /dev/null
-    # Above may fail since that file may not have been created on install
-}
-
-# Doing our own 'install'-like backup that is consistent across platforms
-maybe_backup_path() {
-    local _file_install_path="$1"
-
-    if [ -e "$_file_install_path" ]; then
-	msg "backing up existing file at $_file_install_path"
-	run mv -f "$_file_install_path" "$_file_install_path.old"
-	critical_need_ok "failed to back up $_file_install_path"
-    fi
-}
-
-install_uninstaller() {
-    local _src_dir="$1"
-    local _src_basename="$2"
-    local _abs_libdir="$3"
-
-    local _uninstaller="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/uninstall.sh"
-    msg "creating uninstall script at $_uninstaller"
-    run cp "$_src_dir/$_src_basename" "$_uninstaller"
-    critical_need_ok "unable to install uninstaller"
-}
-
-do_preflight_sanity_checks() {
-    local _src_dir="$1"
-    local _dest_prefix="$2"
-
-    # Sanity check: can we can write to the destination?
-    verbose_msg "verifying destination is writable"
-    make_dir_recursive "$CFG_LIBDIR"
-    need_ok "can't write to destination. consider \`sudo\`."
-    touch "$CFG_LIBDIR/rust-install-probe" > /dev/null
-    if [ $? -ne 0 ]
-    then
-	err "can't write to destination. consider \`sudo\`."
-    fi
-    rm "$CFG_LIBDIR/rust-install-probe"
-    need_ok "failed to remove install probe"
-
-    # Sanity check: don't install to the directory containing the installer.
-    # That would surely cause chaos.
-    verbose_msg "verifying destination is not the same as source"
-    local _prefix_dir="$(abs_path "$dest_prefix")"
-    if [ "$_src_dir" = "$_dest_prefix" -a "${CFG_UNINSTALL-}" != 1 ]; then
-	err "cannot install to same directory as installer"
-    fi
-}
-
-verbose_msg "looking for install programs"
-verbose_msg
-
-need_cmd mkdir
-need_cmd printf
-need_cmd cut
-need_cmd grep
-need_cmd uname
-need_cmd tr
-need_cmd sed
-need_cmd chmod
-need_cmd env
-need_cmd pwd
-
-CFG_ARGS="${@:-}"
-
-HELP=0
-if [ "${1-}" = "--help" ]
-then
-    HELP=1
-    shift
-    echo
-    echo "Usage: $0 [options]"
-    echo
-    echo "Options:"
-    echo
-else
-    verbose_step_msg "processing arguments"
-fi
-
-OPTIONS=""
-BOOL_OPTIONS=""
-VAL_OPTIONS=""
-
-flag uninstall "only uninstall from the installation prefix"
-valopt destdir "" "set installation root"
-valopt prefix "/usr/local" "set installation prefix"
-
-# Avoid prepending an extra / to the prefix path if there's no destdir
-# NB: CFG vars here are undefined when passing --help
-if [ -z "${CFG_DESTDIR-}" ]; then
-    CFG_DESTDIR_PREFIX="${CFG_PREFIX-}"
-else
-    CFG_DESTDIR_PREFIX="$CFG_DESTDIR/$CFG_PREFIX"
-fi
-
-# NB This isn't quite the same definition as in `configure`.
-# just using 'lib' instead of configure's CFG_LIBDIR_RELATIVE
-valopt without "" "comma-separated list of components to not install"
-valopt components "" "comma-separated list of components to install"
-flag list-components "list available components"
-valopt sysconfdir "$CFG_DESTDIR_PREFIX/etc" "install system configuration files"
-valopt bindir "$CFG_DESTDIR_PREFIX/bin" "install binaries"
-valopt libdir "$CFG_DESTDIR_PREFIX/lib" "install libraries"
-valopt datadir "$CFG_DESTDIR_PREFIX/share" "install data"
-# NB We repeat datadir default value because we don't set CFG_DATADIR in --help
-valopt mandir "${CFG_DATADIR-"$CFG_DESTDIR_PREFIX/share"}/man" "install man pages in PATH"
-# NB See the docdir handling in install_components for an explanation of this
-# weird <default> string
-valopt docdir "\<default\>" "install documentation in PATH"
-opt ldconfig 1 "run ldconfig after installation (Linux only)"
-opt verify 1 "obsolete"
-flag verbose "run with verbose output"
-
-if [ $HELP -eq 1 ]
-then
-    echo
-    exit 0
-fi
-
-verbose_step_msg "validating arguments"
-validate_opt
-
-# Template configuration.
-# These names surrounded by '%%` are replaced by sed when generating install.sh
-# FIXME: Might want to consider loading this from a file and not generating install.sh
-
-# Rust or Cargo
-TEMPLATE_PRODUCT_NAME='Rust'
-# rustlib or cargo
-TEMPLATE_REL_MANIFEST_DIR=rustlib
-# 'Rust is ready to roll.' or 'Cargo is cool to cruise.'
-TEMPLATE_SUCCESS_MESSAGE='rust installed.'
-# Locations to look for directories containing legacy, pre-versioned manifests
-TEMPLATE_LEGACY_MANIFEST_DIRS='rustlib,cargo'
-# The installer version
-TEMPLATE_RUST_INSTALLER_VERSION='3'
-
-# OK, let's get installing ...
-
-# This is where we are installing from
-src_dir="$(abs_path $(dirname "$0"))"
-
-# The name of the script
-src_basename="$(basename "$0")"
-
-# If we've been run as 'uninstall.sh' (from the existing installation)
-# then we're doing a full uninstall, as opposed to the --uninstall flag
-# which just means 'uninstall my components'.
-if [ "$src_basename" = "uninstall.sh" ]; then
-    if [ "${*:-}" != "" ]; then
-	# Currently don't know what to do with arguments in this mode
-	err "uninstall.sh does not take any arguments"
-    fi
-    CFG_UNINSTALL=1
-    CFG_DESTDIR_PREFIX="$(abs_path "$src_dir/../../")"
-    CFG_LIBDIR="$(abs_path "$src_dir/../")"
-fi
-
-# This is where we are installing to
-dest_prefix="$CFG_DESTDIR_PREFIX"
-
-# Open the components file to get the list of components to install.
-# NB: During install this components file is read from the installer's
-# source dir, during a full uninstall it's read from the manifest dir,
-# and thus contains all installed components.
-components=`cat "$src_dir/components"`
-
-# Sanity check: do we have components?
-if [ ! -n "$components" ]; then
-    err "unable to find installation components"
-fi
-
-# If the user asked for a component list, do that and exit
-if [ -n "${CFG_LIST_COMPONENTS-}" ]; then
-    echo
-    echo "# Available components"
-    echo
-    for component in $components; do
-	echo "* $component"
-    done
-    echo
-    exit 0
-fi
-
-# If the user specified which components to install/uninstall,
-# then validate that they exist and select them for installation
-if [ -n "$CFG_COMPONENTS" ]; then
-    # Remove commas
-    user_components="$(echo "$CFG_COMPONENTS" | sed "s/,/ /g")"
-    for user_component in $user_components; do
-	found=false
-	for my_component in $components; do
-	    if [ "$user_component" = "$my_component" ]; then
-		found=true
-	    fi
-	done
-	if [ "$found" = false ]; then
-	    err "unknown component: $user_component"
-	fi
-    done
-    components="$user_components"
-fi
-
-if [ -n "$CFG_WITHOUT" ]; then
-    without_components="$(echo "$CFG_WITHOUT" | sed "s/,/ /g")"
-    for without_component in $without_components; do
-	components="$(echo "$components" | sed "s/$without_component//" | sed "s/$without_component//")"
-    done
-fi
-
-if [ -z "$components" ]; then
-    if [ -z "${CFG_UNINSTALL-}" ]; then
-	err "no components selected for installation"
-    else
-	err "no components selected for uninstallation"
-    fi
-fi
-
-do_preflight_sanity_checks "$src_dir" "$dest_prefix"
-
-# Using an absolute path to libdir in a few places so that the status
-# messages are consistently using absolute paths.
-absolutify "$CFG_LIBDIR"
-abs_libdir="$RETVAL"
-assert_nz "$abs_libdir" "abs_libdir"
-
-# Create the manifest directory, where we will put our logs
-make_dir_recursive "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-need_ok "failed to create $TEMPLATE_REL_MANIFEST_DIR"
-
-# Log messages and commands
-init_logging "$abs_libdir"
-
-# First do any uninstallation, including from legacy manifests. This
-# will also upgrade the metadata of existing installs.
-uninstall_components "$abs_libdir" "$dest_prefix" "$components"
-
-# If we're only uninstalling then exit
-if [ -n "${CFG_UNINSTALL-}" ]
-then
-    echo
-    echo "    $TEMPLATE_PRODUCT_NAME is uninstalled."
-    echo
-    exit 0
-fi
-
-# Create the manifest directory again! uninstall_legacy
-# may have deleted it.
-make_dir_recursive "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-need_ok "failed to create $TEMPLATE_REL_MANIFEST_DIR"
-
-# Drop the version number into the manifest dir
-write_to_file "$TEMPLATE_RUST_INSTALLER_VERSION" "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version"
-critical_need_ok "failed to write installer version"
-
-# Install the uninstaller
-
-# Install each component
-install_components "$src_dir" "$abs_libdir" "$dest_prefix" "$components"
-
-# Make dynamic libraries available to the linker
-maybe_configure_ld "$abs_libdir"
-
-echo
-echo "    $TEMPLATE_SUCCESS_MESSAGE"
-echo
-
-
diff --git a/rust187/DESCR b/rust187/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust187/DESCR
+++ /dev/null
@@ -1,13 +0,0 @@
-Rust is a systems programming language focused on three goals: safety,
-speed, and concurrency.  It maintains these goals without having a
-garbage collector, making it a useful language for a number of use cases
-other languages aren't good at: embedding in other languages, programs
-with specific space and time requirements, and writing low-level code,
-like device drivers and operating systems.
-
-It improves on current languages targeting this space by having a number
-of compile-time safety checks that produce no runtime overhead, while
-eliminating all data races.  Rust also aims to achieve "zero-cost
-abstractions" even though some of these abstractions feel like those of
-a high-level language.  Even then, Rust still allows precise control
-like a low-level language would.
diff --git a/rust187/HOWTO-BOOTSTRAP b/rust187/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust187/HOWTO-BOOTSTRAP
+++ /dev/null
@@ -1,85 +0,0 @@
-How to build a rust bootstrap kit using pkgsrc
-----------------------------------------------
-
-A rust bootstrap kit is simply a pre-compiled binary of rust and
-the rust standard library, and contains the "rust" and "rust-std"
-build results, found in
-
-   work/rustc-<version>/build/dist/
-as
-   rust-<version>-<target>.tar.xz
-and
-   rust-std-<version>-<target>.tar.xz
-
-These result files are produced when the "dist" build target is
-used, ref. BUILD_TARGET.   For a normal native build of the rust
-pkgsrc package, the default BUILD_TARGET is "build", not "dist".
-
-There are two possible ways to produce a bootstrap kit:
-
-1) a native build.  This requires minimum preparation, except
-   possibly for setting rust.BUILD_TARGET to "dist" via e.g.
-   /etc/mk.conf.  Note that on NetBSD, using the "BUILD_TARGET" ==
-   "dist" results in the "rust-cargo-static" option being set, ref.
-   options.mk.  This is so that the resulting bootstrap kits are
-   built with mostly-static linking, reducing the run-time dependencies
-   of the bootstrap kits.
-
-2) a cross-build.  This requires a bit of preparation:
-
-   For each target you want to cross-build rust for, you need
-     - the cross toolchain resulting from "build.sh tools" for
-       the intended target
-     - an OS distribution extracted, including the comp.tgz
-       set so that the target's include files can be used
-     - for 32-bit ports, the "libatomic" package needs to be
-       available.  I'm sure there's a clever and long-winded
-       use of pkg_install which can be used to effect this;
-       I on my hand have always just extracted the tgz file
-       and done the minimal cleanup of the "cruft" files
-       which are part of the package meta-data.
-     - Pick a root directory for the target, e.g. /u/i386.
-       Below this directory place the "tools" containing
-       the cross-compiler in a "tools" sub-directory.
-       Similarly, the extracted OS distribution in the "dest"
-       sub-directory.
-
-   There are two methods available for doing the cross-compile:
-
-   a) Using the "cross.mk" file.  For an i386 build against i586, the
-      following settings should be active:
-
-CROSS_ROOT=            /u/i386
-MAKE_ENV+=             CROSS_ROOT=${CROSS_ROOT}
-GNU_CROSS_TARGET=      i486--netbsdelf
-MAKE_ENV+=             GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
-TARGET=                i586-unknown-netbsd
-SCRIPTS=               ${WRKDIR}/scripts
-CONFIGURE_ARGS+=       --host=${TARGET}
-CONFIGURE_ARGS+=       --target=${TARGET}
-CONFIGURE_ARGS+=       --set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
-
-      Then doing a "make" will cross-build rust, including the LLVM
-      embedded in the rust distribution, ref. the defaulting of that
-      option when TARGET is defined ref. options.mk.
-
-      Note that when TARGET is set, the default build target for
-      the rust makefile becomes "dist", so there's no need to set
-      rust.BUILD_TARGET for cross-builds.
-
-   b) Using the "do-cross.mk" Makefile.  This will attempt to
-      cross-build rust for all the targets listed in the SHORT_TARGETS
-      variable in that file.  Overriding the root directories for
-      the various targets can be done by making your own "local-roots.mk"
-      file, ref. "do-cross.mk".
-
-      This will create a "dist" subdirectory in the rust pkgsrc
-      directory, and the bootstrap kits for each architecture, plus
-      the library source kit will be placed in this directory.
-
-The bootstrap kits can then be placed in /usr/pkgsrc/distfiles, and
-be used by the "next" rust version, where you can use "make makesum"
-to compute the updated checksums for the bootstrap kits.
diff --git a/rust187/Makefile b/rust187/Makefile
deleted file mode 100644
index a0e963ab75..0000000000
--- a/rust187/Makefile
+++ /dev/null
@@ -1,753 +0,0 @@
-# $NetBSD: Makefile,v 1.339 2025/06/17 15:19:17 jperkin Exp $
-
-DISTNAME=	rustc-1.87.0-src
-PKGNAME=	${DISTNAME:S/rustc/rust/:S/-src//}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://www.rust-lang.org/
-COMMENT=	Safe, concurrent, practical language
-LICENSE=	mit OR apache-2.0
-
-CONFLICTS+=	rust-bin-[0-9]*
-
-# LLVM uses -std=c++17
-USE_CXX_FEATURES+=	c++17
-USE_GCC_RUNTIME=	yes
-USE_LANGUAGES=		c c++
-USE_LIBTOOL=		yes
-USE_TOOLS+=		bash grep gmake perl:build pkg-config
-
-# This is a bug:
-#   https://github.com/rust-lang/rust/issues/130708
-# "Building rust 1.81.0 does network access in the "build" phase"
-# but set it for now to allow progress in finding other build issues.
-#ALLOW_NETWORK_ACCESS=	yes
-# Ref. dist.vendor below.
-
-# The NetBSD bootstraps are built for NetBSD 9 (because rust doesn't
-# build on 8 or earlier), or because the target didn't exist in 8
-# or 9 (as in riscv64).  Therefore, mark earlier versions as broken.
-BROKEN_ON_PLATFORM+=	NetBSD-[1-8].*-*
-
-HAS_CONFIGURE=		yes
-PYTHON_FOR_BUILD_ONLY=	tool
-CONFIG_SHELL=		${TOOL_PYTHONBIN}
-CONFIGURE_SCRIPT=	src/bootstrap/configure.py
-CONFIGURE_ARGS+=	--prefix=${PREFIX}
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
-CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
-CONFIGURE_ARGS+=	--python=${TOOL_PYTHONBIN}
-CONFIGURE_ARGS+=	--release-channel=stable
-CONFIGURE_ARGS+=	--local-rust-root=${RUST_BOOTSTRAP_PATH}
-CONFIGURE_ARGS+=	--enable-extended	# Build and install cargo too.
-CONFIGURE_ARGS+=	--enable-rpath
-CONFIGURE_ARGS+=	--disable-codegen-tests
-CONFIGURE_ARGS+=	--disable-compiler-docs
-CONFIGURE_ARGS+=	--disable-llvm-static-stdcpp
-CONFIGURE_ARGS+=	--disable-ninja
-CONFIGURE_ARGS+=	--dist-compression-formats=xz
-# Ref. issue #130708 & backport of pull-request 130110
-CONFIGURE_ARGS+=	--set dist.vendor=false
-
-REPLACE_BASH+=		library/portable-simd/subtree-sync.sh
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# This should allow us to perform "offline" builds (so cargo doesn't fetch
-# dependencies during the build stage) but this isn't hooked up yet.
-CONFIGURE_ARGS+=	--enable-vendor
-
-# cargo defaults to using the number of available CPUs
-MAKE_ENV+=		CARGO_BUILD_JOBS=${_MAKE_JOBS_N}
-
-CFLAGS.SunOS+=		-D_POSIX_PTHREAD_SEMANTICS
-MAKE_ENV.SunOS+=	AR=gar
-
-# Debugging of crate resolution
-# Annoyingly, this makes the powerpc build succeed...
-#MAKE_ENV+=		RUSTC_LOG=rustc_metadata
-
-UNLIMIT_RESOURCES+=	cputime stacksize datasize virtualsize
-
-TEST_TARGET=	check
-
-# bin/* lib/*, but names vary
-CHECK_RELRO_SUPPORTED=	no
-CHECK_SSP_SUPPORTED=	no
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "NetBSD"
-# Getting RPATH with $ORIGIN into the bootstrap binaries is
-# problematic, since pkgsrc refuses to put $ORIGIN into RPATHs
-# of executables. So instead we need these so that the bootstrap
-# compiler can be run out of the $RUST_BOOTSTRAP_PATH directory as
-# part of the initial part of the rust compiler build.
-# This problem is not present with the amd64 bootstrap bits,
-# which are built by our upstream and uses $ORIGIN/../lib in RPATH.
-#
-# The above is only true on NetBSD, for other bootstrap kits (e.g. illumos)
-# the binaries are made to be relocatable after the build using elfedit or
-# similar.  It is unclear why this approach is not used by NetBSD too.
-#
-MAKE_ENV+=		LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-.endif
-
-# TODO: Hack introduced for 1.86.0 as @loader_path is stripped from the
-# bootstrap compiler arguments and the stage1 libraries cannot be found.
-# Ideally this should be inserted only in the necessary points of the
-# bootstrap script.
-.if ${OPSYS} == "Darwin"
-MAKE_ENV+=	DYLD_LIBRARY_PATH="${WRKSRC}/build/${MACHINE_ARCH}-apple-darwin/stage1/lib:${WRKSRC}/build/${MACHINE_ARCH}-apple-darwin/stage2/lib"
-.endif
-
-# Allow overriding MAKE_JOBS_SAFE
-# some may chose to mostly build faster,
-# and deal with any failures due to deadlocks
-.if !empty(rust.MAKE_JOBS_SAFE)
-.  if ${rust.MAKE_JOBS_SAFE:tl} == "yes"
-MAKE_JOBS_SAFE=		yes
-.  endif
-.endif
-
-.if !empty(rust.BUILD_TARGET)
-BUILD_TARGET=	${rust.BUILD_TARGET}
-.endif
-
-.if !empty(TARGET)
-# Use "dist" build target for cross compile of bootstrap
-BUILD_TARGET?=		dist
-.else
-BUILD_TARGET?=		build
-.endif
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-    !empty(TARGET:Marmv[67]-unknown-netbsd-eabihf) || \
-    !empty(TARGET:Mmipsel-unknown-netbsd)
-# Bootstrapping on NetBSD/powerpc requires no debug-info from rustc
-# (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits)
-# Also try to downsize the armv[67] build.
-CONFIGURE_ARGS+=	--disable-debug
-CONFIGURE_ARGS+=	--disable-debug-assertions
-CONFIGURE_ARGS+=	--disable-llvm-release-debuginfo
-CONFIGURE_ARGS+=	--debuginfo-level=0
-CONFIGURE_ARGS+=	--debuginfo-level-rustc=0
-CONFIGURE_ARGS+=	--debuginfo-level-std=0
-CONFIGURE_ARGS+=	--debuginfo-level-tools=0
-CONFIGURE_ARGS+=	--debuginfo-level-tests=0
-.endif
-
-# Only build the ARM target on/for this host, due to resource constraints
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf}
-CONFIGURE_ARGS+=	--set llvm.targets="ARM"
-.endif
-# When cross-building for ARM on X86, X86 needs to go along due
-# to 2-stage build process
-.if !empty(TARGET:Marmv[67]-unknown-netbsd-eabihf)
-CONFIGURE_ARGS+=	--set llvm.targets="ARM;X86"
-.endif
-# Same for mips:
-.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel}
-CONFIGURE_ARGS+=	--set llvm.targets="Mips"
-.endif
-.if !empty(TARGET:Mmipsel-unknown-netbsd)
-CONFIGURE_ARGS+=	--set llvm.targets="Mips;X86"
-.endif
-
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/*.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/core/src/unicode/printable.py
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/*.sh
-CHECK_PORTABILITY_SKIP+=	tests/run-make/dump-ice-to-disk/check.sh
-CHECK_PORTABILITY_SKIP+=	vendor/libdbus-sys-0.2.5/vendor/dbus/tools/cmake-format
-
-.if ${OPSYS} == "NetBSD"
-# This block contains information about known trouble on NetBSD and workarounds.
-
-# Parallel builds failed on NetBSD due to dynamic linker locking bugs.
-# \todo Explain if the build is believed to be sound if not parallel,
-# or if a non-parallel build is merely more likely to work.
-#
-# See toolchain/54192 at
-#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54192
-# which was fixed in -current on 2020-04-19:
-#   http://mail-index.netbsd.org/source-changes/2020/04/16/msg116256.html
-#   http://mail-index.netbsd.org/source-changes/2020/04/19/msg116337.html
-# These  were pulled up to netbsd-9 on 2020-05-13:
-#   http://releng.netbsd.org/cgi-bin/req-9.cgi?show=907
-# This has not been pulled up to netbsd-8
-#   \todo Explain if it's not applicable, shouldn't be pulled up, should be
-#   but hasn't, is too hard, etc.
-#
-# On pkgbuild for 2020Q1 9.0_RELEASE amd64, rust did not build despite
-# MAKE_JOBS_SAFE=no, but setting MAKE_JOBS=1 resulted in success. (No
-# PR is open for this.)  \todo Understand and fix.
-#
-# If we aren't on 9-current, and are on 8.x or 9.x, avoid parallel.
-# Release 9.x and 9.1 or later is OK.
-.  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} > 090999 && ${OPSYS_VERSION} < 090900
-MAKE_JOBS_SAFE?=	no
-.  endif
-
-# Open PRs
-#
-# Broken package with PREFIX not /usr/pkg:
-#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453
-#
-
-.endif
-
-#
-# Under NetBSD, do not use DT_RUNPATH
-#
-BUILDLINK_TRANSFORM.NetBSD+=	rm:-Wl,--enable-new-dtags
-
-#
-# Somewhere in the LLVM build "-arch x86_64" is passed on macOS/arm64 which
-# breaks linking, see https://github.com/rust-lang/rust/issues/81790.  Until
-# this can be located (proving difficult!) we just force it.
-#
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-BUILDLINK_TRANSFORM+=	opt:x86_64:arm64
-.endif
-
-#
-# Rust unfortunately requires itself to build.  On platforms which aren't
-# supported by upstream (where they offer binary bootstraps), or where we do
-# not trust random binaries from the Internet, we need to build and provide our
-# own bootstrap.  See the stage0-bootstrap below for more details.
-#
-DISTFILES:=		${DEFAULT_DISTFILES}
-
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MDarwin-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MLinux-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MLinux-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MLinux-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MLinux-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MLinux-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-.endif
-#
-# The SunOS target defaults to illumos as that's what the current bootstraps
-# are built on.  If you wish to target Oracle Solaris you'll need to create an
-# x86_64-sun-solaris bootstrap and comment out the overrides.
-#
-.if ${MACHINE_PLATFORM:MSunOS-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.85.1
-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/
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-RUST_BOOTSTRAP_PATH?=	${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
-# Override default "x86_64-sun-solaris" selection
-CONFIGURE_ARGS+=	--set=target.${RUST_ARCH}.llvm-config=${LLVM_CONFIG_PATH}
-CONFIGURE_ARGS+=	--build=${RUST_ARCH}
-CONFIGURE_ARGS+=	--host=${RUST_ARCH}
-CONFIGURE_ARGS+=	--target=${RUST_ARCH}
-.endif
-.if ${MACHINE_PLATFORM:MFreeBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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
-SITES.${RUST_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-# Setting this changes it for every distfile, which doesn't match what is
-# currently in distinfo.
-#DIST_SUBDIR=		${PKGNAME}
-# For atomic ops
-CFLAGS+=		-march=i586
-CONFIGURE_ARGS+=	--build=${RUST_ARCH}
-pre-build: pre-build-fix-paxctl
-.PHONY: pre-build-fix-paxctl
-pre-build-fix-paxctl:
-	${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo
-	${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.86.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 ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.86.0
-RUST_ARCH=			powerpc-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}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.86.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64eb} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.86.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-sparc64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.86.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.86.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			armv6-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.86.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-#.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make (makesum) || make(mdi)
-#RUST_ARCH=			mipsel-unknown-netbsd
-#RUST_STAGE0_VER=		1.86.0
-#RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-#RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-#DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-#SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-#SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-#.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-riscv64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			riscv64gc-unknown-netbsd
-RUST_STAGE0_VER=		1.86.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-
-# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf
-# if you have a local bootstrap compiler.
-.if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH)
-NOT_FOR_PLATFORM+=	${MACHINE_PLATFORM}
-.else
-RUST_BOOTSTRAP_PATH?=	${WRKDIR}/rust-bootstrap
-.endif
-
-.if ${OPSYS} == "SunOS"
-TOOL_DEPENDS+=		coreutils>=0:../../sysutils/coreutils
-TOOL_DEPENDS+=		gzip>=0:../../archivers/gzip
-TOOLS_CREATE+=		md5sum
-TOOLS_PATH.md5sum=	${TOOLBASE}/bin/gmd5sum
-TOOLS_PLATFORM.gzcat=	${TOOLBASE}/bin/gzip -cd
-.endif
-
-SUBST_CLASSES+=		prefix
-SUBST_STAGE.prefix=	pre-configure
-SUBST_FILES.prefix+=	compiler/rustc_codegen_ssa/src/back/linker.rs
-SUBST_FILES.prefix+=	compiler/rustc_target/src/spec/base/netbsd.rs
-SUBST_FILES.prefix+=	src/bootstrap/src/core/build_steps/compile.rs
-SUBST_FILES.prefix+=	src/bootstrap/src/core/builder/cargo.rs
-SUBST_FILES.prefix+=	src/bootstrap/bootstrap.py
-SUBST_VARS.prefix=	PREFIX
-
-#
-# Generate list of subst entries for various .cargo-checksum.json files.  These
-# are all handled together in one big substitution to simplify things rather
-# than one substitution entry per file, but are kept separate below to ease
-# updating and verification.
-#
-
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.18
-CKSUMS+=	31a8276afd38e39987a169eeb02e9bed32670de5ca36d7eb74aab7e506cf9dc4
-CKSUMS+=	ead4bda23c322bde8c01e48d4cd19b70e7b7e473a56466218d279f88463ab466
-
-CKSUM_CRATES+=	vendor/openssl-sys-0.9.106
-CKSUMS+=	c31c73324926afcfa5096c27fc2941cadfe20242d0e7f2d5203f01579deab4a3
-CKSUMS+=	ebe8ce90949155b2c348d2eeabd1ed5d896a04ac26930091deb475f0fd22eead
-CKSUMS+=	a0d47c624273b43b4250cff5fa2f9b75e4199ca76897608563b526aedcdf3a16
-CKSUMS+=	fcfc15ca30e1f881ed46cf57597a72bd2a8307269d0394c905f23e076a983e12
-
-CKSUM_CRATES+=	vendor/openssl-src-300.4.2+3.4.1
-CKSUMS+=	16c0b9fa70475cfb50ac21ad4ce049b494c45b3270fed386013785a28abb8d0a
-CKSUMS+=	6e30595035395b92291de1b59b6e7b3e19732f15a6012bfe0c239b62c8738225
-CKSUMS+=	6e62515e67910aea2f04b64c643aa2545732f9dd7bf0abf87d8accf8c2c1fb88
-CKSUMS+=	ccc5252660386fbfec2d66423f2dc87e6da74efd39ca0fcd7c7fd583056725c1
-CKSUMS+=	ac5501e7bff0f4384db0537307b362bf1bcb120d8b5859e5f08bd796e78feaea
-CKSUMS+=	6d2c2831119e059d35e81a89b08195a29e325f68acfd86a3a7157ebf8e78182d
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-CKSUMS+=	b8d6f089fc8eb2cb59e45335a26c9ce871b846216c9859b553c6b91982f8de33
-CKSUMS+=	d8c4a979ce9b406fb63c5aaf2827b616689294331341737fec392b8faa2126fa
-
-CKSUM_CRATES+=	vendor/libc-0.2.167
-CKSUMS+=	2b6c62850c168e7200955ba1f52464fa03c329df7a4e77a30054544280308dc1
-CKSUMS+=	ce9b6fb7a2c7377e6cfbe882f7195736baf20408559d4259f2ef70c160872024
-CKSUMS+=	742d6c0607ee20c81a2184a6378dc2d9c18f7180a0dc93aa91f830a0d1a06878
-CKSUMS+=	4f39616cd4010e5ac122d1162e022af0d0304f361cf718d5997819b666f8eb26
-CKSUMS+=	81664f910e884d70f0a758c42a17cc242db4811ce9dda1257fbd66b291cf0d52
-CKSUMS+=	d3bead33c12d072f930d0165dcfde27bfe1bb9309cf70f5bb76e7e0bd62e82fb
-
-CKSUM_CRATES+=	vendor/libc-0.2.169
-CKSUMS+=	dc216609dfc6b2835e26f8c3e70f4c7c65425933eef04538de603f51e9429ec5
-CKSUMS+=	04004bda0ea97d55c3588a7d82fa1faf0d150c5390250a298216ff3cc899b911
-CKSUMS+=	b5dae853ebfc3355b155f8c20f3a481517bce27e164e304f56dfff172e313098
-CKSUMS+=	55fb7f2c0877231286b2b6515e08eda1d5cac1311a402d0aa162c7eb867ee19b
-CKSUMS+=	0b1936bad97b3a272c2d323d3435f6860fc355abe7603ca7ed8c4166cac75cc5
-CKSUMS+=	1eb383a057cdf2826d884b19142bf0b68b6b30c5bc20baf7ee10401a92a8ef22
-
-CKSUM_CRATES+=	vendor/libc-0.2.171
-CKSUMS+=	f3778a9bd2ba923220537d167cfb10b91580ffbf583100789a46d2807f7a1e3e
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-
-CKSUM_CRATES+=	vendor/libc-0.2.170
-CKSUMS+=	f3778a9bd2ba923220537d167cfb10b91580ffbf583100789a46d2807f7a1e3e
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.32
-CKSUMS+=	2f21f18a4ca1d4be2d997f037158cb21a7421b2ba2cc52f3e4c5f9410197ed27
-CKSUMS+=	abe079743c2b2dea5b2c42564f98741a5eb9e24ff019e01742ace5581e53c06f
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.35
-CKSUMS+=	eb5033d1f2f3d5314625bc63353b1d105cb414d4bc68edf8700b401e4055d669
-CKSUMS+=	bd504cc95f722a296a5f221c3a3068c9eaa946258beff163581d9492de6ccdce
-
-CKSUM_CRATES+=	vendor/memchr-2.7.4
-CKSUMS+=	5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
-CKSUMS+=	34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
-CKSUMS+=	7763472d43c66df596ca0697c07db0b4666d38a6a14f64f9f298aaf756c4a715
-CKSUMS+=	1b26fca824c410077780fbc2f4c53c1d195ba3bdf6785b529ceb0a11f039cec2
-CKSUMS+=	3b15d5cb9715f26e655598eacbb8bbba74cbe8ddb2fb969d13aa75f216a118dd
-CKSUMS+=	8844a2cd5e71abb8efdf8fc3ee54d9c66f3fedb529cdaf5984c279177f5f90af
-CKSUMS+=	6ae779ec5d00f443075316e0105edf30b489a38e2e96325bec14ccecd014145b
-CKSUMS+=	28d66e566b73f6f0f7add4092874dc967ce133bfb6dcbd81f03c9a04b6e4e1d0
-CKSUMS+=	44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
-CKSUMS+=	27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
-
-CKSUM_CRATES+=	vendor/bytecount-0.6.8
-CKSUMS+=	01cd755a128d8a5892f3edda195b26bb461be375be17dd72e6e4f061169e6dff
-CKSUMS+=	7c6609685c161ac6b2c667f59bd6476c5c14c7269ec949fb2def5a0238198c25
-
-CKSUM_CRATES+=	vendor/line-index-0.1.2
-CKSUMS+=	c4613b718951cf0b880a3a7829e102a9ec7196591437e3bc0cfd857c717bfb61
-CKSUMS+=	5183e802793932fb980b4e321656c65d1b6231de3febd1ac94dfa73de31245f0
-
-CKSUM_CRATES+=	vendor/lzma-sys-0.1.20
-CKSUMS+=	6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
-CKSUMS+=	2a68e3e635dce81c7dba25b3d3abfaa894ee729e1604f2d000ae3e201f7739a4
-
-CKSUM_CRATES+=	vendor/zeroize-1.8.1
-CKSUMS+=	9f59308c21265a2fb46935a6468d8bc2e86e4613c9a942fcfc91d61bec8cc878
-CKSUMS+=	9e20af81edc96e11f17c3e3a2933c073b6c6f9b86ca25cab0eabd763c6b80aee
-
-SUBST_CLASSES+=		cksum
-SUBST_STAGE.cksum=	pre-configure
-.for crate in ${CKSUM_CRATES}
-SUBST_FILES.cksum+=	${crate}/.cargo-checksum.json
-.endfor
-.for from to in ${CKSUMS}
-SUBST_SED.cksum+=	-e 's,${from},${to},g'
-.endfor
-
-post-extract:
-	set -e;									\
-	if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh	\
-	  -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \
-		cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH};	\
-		env ${MAKE_ENV} ${TOOLS_BASH} \
-			./install.sh --prefix=${RUST_BOOTSTRAP_PATH};	\
-		cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH};	\
-		env ${MAKE_ENV} ${TOOLS_BASH} \
-			./install.sh --prefix=${RUST_BOOTSTRAP_PATH};	\
-	fi
-.if ${OPSYS} == "NetBSD"
-	SDIR=${WRKDIR}/scripts; \
-	${MKDIR} $${SDIR}; \
-	cd $${SDIR}; \
-	${RM} -f c++-wrap; \
-	${RM} -f clang++-wrap; \
-	${RM} -f clang-wrap; \
-	${RM} -f ar-wrap; \
-	${CP} ${.CURDIR}/files/gcc-wrap .; \
-	${CHMOD} +x gcc-wrap; \
-	${LN} -s gcc-wrap c++-wrap; \
-	${LN} -s gcc-wrap clang++-wrap; \
-	${LN} -s gcc-wrap clang-wrap; \
-	${LN} -s gcc-wrap ar-wrap
-.endif
-
-.if ${OPSYS} == "FreeBSD"
-MAKE_ENV+=		OPENSSL_DIR=${SSLBASE}
-.endif
-
-.if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so)
-BUILDLINK_TRANSFORM+=	rm:-lgcc_s
-MAKE_ENV+=		PKGSRC_HAVE_LIBCPP=yes
-
-pre-build: provide-libgcc-for-bootstrap
-.PHONY: provide-libgcc-for-bootstrap
-provide-libgcc-for-bootstrap:
-.  if exists(${FILESDIR}/libgcc_s.so.1)
-	cp ${FILESDIR}/libgcc_s.so.1 ${RUST_BOOTSTRAP_PATH}/lib/.
-.  endif
-.endif
-
-# Rust builds some bundled components with strict version requirements, ensure
-# that any conflicting packages pulled in via dependencies are not buildlinked.
-BUILDLINK_FILES_CMD.xz=		${TRUE}
-MAKE_ENV+=			LZMA_API_STATIC=1
-pre-configure:
-	${RM} -rf ${BUILDLINK_DIR}/include/libssh2*
-
-#
-# These are essentially copies of the "all", "test", and "install" Makefile
-# targets, but are duplicated here so that we can specify -j.
-#
-do-build:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-	sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then		\
-		unset DESTDIR;						\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${TOOL_PYTHONBIN} ./x.py test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${TOOL_PYTHONBIN} ./x.py install -j ${_MAKE_JOBS_N}
-.if ${OPSYS} == "Darwin"
-	cd ${DESTDIR}${PREFIX}/lib && \
-	for lib in rustlib/*/lib/libstd-*.${SHLIB_EXT}; do \
-		${LN} -f $${lib} $${lib##*/}; \
-	done
-.endif
-
-SUBST_CLASSES+=		destdir
-SUBST_STAGE.destdir=	post-install
-SUBST_FILES.destdir=	${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
-SUBST_SED.destdir=	-e 's|file:${DESTDIR}${PREFIX}|file:${PREFIX}|'
-
-GENERATE_PLIST+=	${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
-			${SED} -e 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
-
-# Create a relocatable stage2 bootstrap from the bits we just built that can be
-# used to build the next version of rust.  Currently only tested on SmartOS.
-#
-# Use the alternate BOOTSTRAP_NAME when creating a nightly release.
-#
-#BOOTSTRAP_NAME=	${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH}
-BOOTSTRAP_NAME=		${PKGNAME_NOREV}-${RUST_ARCH}
-BOOTSTRAP_TMPDIR=	${WRKDIR}/${BOOTSTRAP_NAME}
-USE_TOOLS+=		gtar
-
-# The NetBSD part is so far untested, because I could not convince
-# the rust build to use the gcc wrapper when building natively,
-# so that I could get a placeholder in the RPATH, because chrpath
-# cannot extend the length of the RPATH...
-ELFEDIT?=	/usr/bin/elfedit
-
-.PHONY: stage0-bootstrap
-stage0-bootstrap: install
-	${RM} -rf ${BOOTSTRAP_TMPDIR}
-	${MKDIR} ${BOOTSTRAP_TMPDIR}
-.if ${OPSYS} == "NetBSD"
-	(cd ${BOOTSTRAP_TMPDIR}; \
-	DISTDIR=${WRKSRC}/bild/dist; \
-	VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \
-	RUSTC=rustc-$${VER_ARCH}; \
-	RUSTC_FILE=$${RUSTC}.tar.gz; \
-	RUST_STD=rust-std-$${VER_ARCH}; \
-	RUST_STD_FILE=$${RUST_STD}.tar.gz; \
-	${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \
-		(cd ${RUSTC}; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \
-	for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \
-		chrpath -r $$RPATH $$f; \
-	done; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \
-	for f in rustc/lib/*.so*; do \
-		chrpath -r $$RPATH $$f; \
-	done; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \
-	for f in rustc/lib/rustlib/*/*/*.so*; do \
-		chrpath -r $$RPATH $$f; \
-	done;); \
-	${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \
-	${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \
-	${ECHO} "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \
-	${ECHO} "$${RUSTC_FILE}"; \
-	${ECHO} "$${RUST_STD_FILE}"; \
-	)
-.endif
-.if ${OS_VARIANT} == "SmartOS"
-	${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/
-	${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/
-	${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc
-	set -e; \
-	for lib in libgcc_s.so.1 libstdc++.so.6; do \
-		${CP} `${PKG_CC} -print-file-name=$${lib}` \
-		    ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
-	done; \
-	for lib in libLLVM.so.19.1 libcrypto.so.3 libcurl.so.4 \
-		   libssl.so.3 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 liblzma.so.5 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5 libxml2.so.16; do \
-		${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \
-		/bin/file -b "$$f" | grep ^ELF >/dev/null || continue; \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/*/*.so* \
-		 ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/bin/*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \
-	done; \
-	cd ${WRKDIR}; ${GTAR} -zcf ${BOOTSTRAP_NAME}.tar.gz ${BOOTSTRAP_NAME}
-	@${ECHO} ""
-	@${ECHO} "Verify correct library paths using the following:"
-	@${ECHO} ""
-	@${ECHO} "	cd ${BOOTSTRAP_TMPDIR}"
-	@${ECHO} "	find . -type f | xargs ldd 2>/dev/null | egrep 'not.found|${PREFIX}'"
-	@${ECHO} ""
-	@${ECHO} "If there is no output then this bootstrap kit is ready to go:"
-	@${ECHO} ""
-	@${ECHO} "	${WRKDIR}/${BOOTSTRAP_NAME}.tar.gz"
-	@${ECHO} ""
-.endif
-
-.include "options.mk"
-
-# These dependencies currently use the bundled sources as they require
-# development features not yet available in released versions.
-#
-#.include "../../devel/libgit2/buildlink3.mk"
-#.include "../../security/libssh2/buildlink3.mk"
-#.include "../../www/http-parser/buildlink3.mk"
-#.include "../../devel/jemalloc/buildlink3.mk"
-
-## Issues specific to: bootstrap AND NetBSD follow
-
-# rust i386 and sparc64 bootstraps are built for 8.0
-# and still depend on libstdc++.so.8.
-# Pull in compat80 on 9.x and newer.
-.if (${MACHINE_PLATFORM:MNetBSD-*-i386} || \
-     ${MACHINE_PLATFORM:MNetBSD-*-sparc64}) \
-    && empty(OS_VERSION:M8.*)
-TOOL_DEPENDS+=	compat80>=0:../../emulators/compat80
-.endif
-
-.include "../../mk/atomic64.mk"
-# This is for when we build natively:
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-i386} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-riscv64}
-# Make libatomic library available via a unique directory:
-DEPENDS+=	libatomic-links>=0:../../devel/libatomic-links
-.endif
-
-TOOL_DEPENDS+=	cmake-[0-9]*:../../devel/cmake
-
-.include "../../devel/zlib/buildlink3.mk"
-.include "../../lang/python/tool.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust187/buildlink3.mk b/rust187/buildlink3.mk
deleted file mode 100644
index b8cd208042..0000000000
--- a/rust187/buildlink3.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.17 2025/03/31 16:38:43 jakllsch Exp $
-
-BUILDLINK_TREE+=	rust
-
-#
-# DO NOT include this directly! Use rust.mk instead.
-#
-
-.if !defined(RUST_BUILDLINK3_MK)
-RUST_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.rust+=	rust>=1.56.1
-BUILDLINK_PKGSRCDIR.rust?=	../../wip/rust
-BUILDLINK_PASSTHRU_DIRS+=	${PREFIX}/lib/rustlib
-
-pkgbase:= rust
-.include "../../mk/pkg-build-options.mk"
-.if empty(PKG_BUILD_OPTIONS.rust:Mrust-internal-llvm)
-.  include "../../lang/libunwind/buildlink3.mk"
-.endif
-
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust187/cargo.mk b/rust187/cargo.mk
deleted file mode 100644
index 5eb1aaa9ef..0000000000
--- a/rust187/cargo.mk
+++ /dev/null
@@ -1,121 +0,0 @@
-# $NetBSD: cargo.mk,v 1.41 2025/04/04 21:29:22 riastradh 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
-# cargo crates instead of using the rust package manager in the build phase.
-# Inspired by cargo.mk from FreeBSD ports.
-#
-# Usage example:
-#
-# CARGO_CRATE_DEPENDS+=	sha1-0.20
-# .include "../../lang/rust/cargo.mk"
-#
-# If modifying the list of dependencies, re-run the build once without
-# --offline in CARGO_ARGS to generate a new valid Cargo.lock.
-# e.g: make CARGO_ARGS="build --release" build
-#
-# a list of CARGO_CRATE_DEPENDS can be generated via
-#      make print-cargo-depends > cargo-depends.mk
-#
-# See also www/geckodriver for a full example.
-
-MASTER_SITES?=	-${MASTER_SITE_CRATESIO}${PKGBASE}/${PKGVERSION_NOREV}/download
-
-CHECK_SSP_SUPPORTED=	no
-
-.include "../../lang/rust/rust.mk"
-
-USE_TOOLS+=		bsdtar digest
-CARGO_VENDOR_DIR=	${WRKDIR}/vendor
-CARGO_WRKSRC?=		${WRKSRC}
-
-# TODO: some Cargo.lock files include git+https sources which need to be fetched from the URL (not necessarily resolving to a crate.io url)
-DISTFILES?=			${DEFAULT_DISTFILES}
-.for crate in ${CARGO_CRATE_DEPENDS}
-DISTFILES+=			${crate}.crate
-.  if ${crate:M*+*}
-# E.g., for `curl-sys-0.4.75+curl-8.10.0', we use the URL:
-# https://crates.io/api/v1/crates/curl-sys/0.4.77+curl-8.10.1/download
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*\+.*)$/\1/}/download
-.  else
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-.  endif
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# Triggers NetBSD ld.so bug (PR toolchain/54192)
-# See Makefile for further information.
-.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099957
-MAKE_JOBS_SAFE=	no
-.endif
-
-post-extract: cargo-vendor-crates
-.PHONY: cargo-vendor-crates
-cargo-vendor-crates:
-	@${STEP_MSG} "Extracting local cargo crates"
-	${RUN}${MKDIR} ${WRKDIR}/.cargo
-	${RUN}${PRINTF} "[source.crates-io]\nreplace-with = \"vendored-sources\"\n[source.vendored-sources]\ndirectory = \"${CARGO_VENDOR_DIR}\"\n" > ${WRKDIR}/.cargo/config.toml
-	${RUN}${MKDIR} ${CARGO_VENDOR_DIR}
-.for crate in ${CARGO_CRATE_DEPENDS}
-	${RUN}${PRINTF} '{"package":"%s","files":{}}'	\
-	  `${DIGEST} sha256 < ${_DISTDIR}/${crate}.crate` \
-	  > ${CARGO_VENDOR_DIR}/${crate}/.cargo-checksum.json
-.endfor
-
-# Legacy name
-.PHONY: show-cargo-depends
-show-cargo-depends: print-cargo-depends
-
-.PHONY: print-cargo-depends
-print-cargo-depends:
-	${RUN}${AWK} 'BEGIN {print "# $$Net" "BSD$$"; print;}		\
-		/^name = / { split($$3, a, "\""); name=a[2]; }		\
-		/^version = / { split($$3, a, "\""); vers=a[2]; }	\
-		/^source = / {						\
-			print "CARGO_CRATE_DEPENDS+=\t" name "-" vers;	\
-			}' ${CARGO_WRKSRC}/Cargo.lock
-
-.if ${RUST_TYPE} == "native"
-CARGO=			cargo
-.else
-CARGO=			${PREFIX}/bin/cargo
-.endif
-DEFAULT_CARGO_ARGS=	--offline -j${_MAKE_JOBS_N}	\
-			  ${CARGO_NO_DEFAULT_FEATURES:M[yY][eE][sS]:C/[yY][eE][sS]/--no-default-features/}	\
-			  ${CARGO_FEATURES:C/.*/--features/W}	\
-			  ${CARGO_FEATURES:S/ /,/Wg}
-CARGO_ARGS?=		build --release ${DEFAULT_CARGO_ARGS}
-CARGO_INSTALL_ARGS?=	install --path . --root ${DESTDIR}${PREFIX} ${DEFAULT_CARGO_ARGS}
-
-MAKE_ENV+=		RUSTFLAGS=${RUSTFLAGS:Q}
-ALL_ENV+=		CARGO_HOME=${WRKDIR}
-
-.if !target(do-build)
-do-build: do-cargo-build
-.endif
-
-.PHONY: do-cargo-build
-do-cargo-build:
-	${RUN} cd ${CARGO_WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO} ${CARGO_ARGS}
-
-.if !target(do-install) && ${GNU_CONFIGURE:Uno:tl} == no
-do-install: do-cargo-install
-.endif
-
-.PHONY: do-cargo-install
-do-cargo-install:
-	${RUN} cd ${CARGO_WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO} ${CARGO_INSTALL_ARGS}
-	# remove files cargo uses for tracking installations
-	${RM} -f ${DESTDIR}${PREFIX}/.crates.toml
-	${RM} -f ${DESTDIR}${PREFIX}/.crates2.json
-
-.if ${OPSYS} == "Darwin"
-.PHONY: do-cargo-post-install-darwin-fix-rpath
-post-install: do-cargo-post-install-darwin-fix-rpath
-do-cargo-post-install-darwin-fix-rpath:
-	${RUN} cd ${DESTDIR};								\
-	for i in $$(${FIND} .${PREFIX}/lib -name '*.so' | ${SED} -e 's|^\./||'); do	\
-	  install_name_tool -id /$$i $$i;						\
-	done
-.endif
diff --git a/rust187/cross.mk b/rust187/cross.mk
deleted file mode 100644
index a9a53164f1..0000000000
--- a/rust187/cross.mk
+++ /dev/null
@@ -1,83 +0,0 @@
-# $NetBSD: cross.mk,v 1.11 2023/07/10 12:01:24 he Exp $
-
-# These settings may be used to cross-build rust.
-#
-# They interact with the files/gcc-wrap script to pick the
-# right compiler for the different phases of the build, and
-# use the headers for the target when required.  Note that the
-# cross-root tree will need to have the required binary packages
-# installed (curl etc., see list of buildlink3.mk includes in main
-# Makefile).
-
-# The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable
-# to do a cross-build.  The wrapper script assumes dest/ and tools/
-# as a result of a cross-build of NetBSD as subdirectories of this root
-#CROSS_ROOT=		/u/evbarm-armv7hf
-#CROSS_ROOT=		/u/evbarm-armv7hf-10.0
-#CROSS_ROOT=		/u/evbarm-armv6hf
-#CROSS_ROOT=		/u/sparc64
-#CROSS_ROOT=		/u/macppc
-#CROSS_ROOT=		/u/evbarm64
-#CROSS_ROOT=		/u/evbarm64eb
-#CROSS_ROOT=		/u/i386
-#CROSS_ROOT=		/u/riscv64
-#CROSS_ROOT=		/u/mipsel
-#CROSS_ROOT=		/
-#MAKE_ENV+=		CROSS_ROOT=${CROSS_ROOT}
-
-# The GNU cross target designation
-#GNU_CROSS_TARGET=	armv7--netbsdelf-eabihf
-#GNU_CROSS_TARGET=	armv6--netbsdelf-eabihf
-#GNU_CROSS_TARGET=	sparc64--netbsd
-#GNU_CROSS_TARGET=	powerpc--netbsd
-#GNU_CROSS_TARGET=	aarch64--netbsd
-#GNU_CROSS_TARGET=	aarch64_be--netbsd
-#GNU_CROSS_TARGET=	i486--netbsdelf
-#GNU_CROSS_TARGET=	riscv64--netbsd
-#GNU_CROSS_TARGET=	mipsel--netbsd
-#MAKE_ENV+=		GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
-
-# To cross-build rust, you need to specify
-# the ultimate target to built for, as well as the
-# host the compiler is supposed to run on.
-# Rust's target designation
-#TARGET=		armv7-unknown-netbsd-eabihf
-#TARGET=		armv6-unknown-netbsd-eabihf
-#TARGET=		sparc64-unknown-netbsd
-#TARGET=		powerpc-unknown-netbsd
-#TARGET=		aarch64-unknown-netbsd
-#TARGET=		aarch64_be-unknown-netbsd
-#TARGET=		i686-unknown-netbsd
-#TARGET=		i586-unknown-netbsd
-#TARGET=		riscv64gc-unknown-netbsd
-#TARGET=		mipsel-unknown-netbsd
-#
-#SCRIPTS=		${WRKDIR}/scripts
-#CONFIGURE_ARGS+=	--host=${TARGET}
-#CONFIGURE_ARGS+=	--target=${TARGET}
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
-# Pick one:
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.ar=${SCRIPTS}/ar-wrap
-
-# May be required when cross-building on NetBSD
-#MAKE_ENV+=		OPENSSL_DIR=/usr
-
-#
-# Cross-compile illumos target.  The host is identical, it's just the target
-# that is renamed from x86_64-sun-solaris to x86_64-unknown-illumos.
-#
-#TARGET=		x86_64-unknown-illumos
-#
-# Use these variables for "cross-compiling" from x86_64-sun-solaris.
-#
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.llvm-config=${LLVM_CONFIG_PATH}
-#CONFIGURE_ARGS+=	--host=${TARGET}
-#CONFIGURE_ARGS+=	--target=${TARGET}
-#
-# Set this variable when using a native x86_64-unknown-illumos bootstrap, as
-# the build still defaults to x86_64-sun-solaris based on uname.
-#
-#CONFIGURE_ARGS+=	--build=${TARGET}
diff --git a/rust187/distinfo b/rust187/distinfo
deleted file mode 100644
index 0b0f5dd57f..0000000000
--- a/rust187/distinfo
+++ /dev/null
@@ -1,176 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 2b5ddc732b2bcc18ce012bd94a0185ee98870624b10e8918e88c451ad75a8998
-SHA512 (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 0517c342dbdd1477c610c505c2fc0b1c03eede445fc9008c4fb807dd7041b84fab5c23616d2261bc80939a39089665e27d54d8db9f9da73836522f1e69567ae0
-Size (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 235777837 bytes
-BLAKE2s (rust-1.86.0-aarch64-apple-darwin.tar.gz) = e977b696467fbd42c1ee8a9c95d84ae4709a1c934abd9c1cd6afc2837d41ae35
-SHA512 (rust-1.86.0-aarch64-apple-darwin.tar.gz) = c3b4c4db8d7f3b237d603ede92f0ecafc9d99bc0bd92e0564cbd8e6ef04449ae4cb458bbd0d70d4abc687ab531a7e1a5a2ecf960de28b93dc40b7cab5df8fa6a
-Size (rust-1.86.0-aarch64-apple-darwin.tar.gz) = 361462804 bytes
-BLAKE2s (rust-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = 21e66e20191d3e5b77059f8d8b2e2f5ea47557620eae83b3f1fe409651c91638
-SHA512 (rust-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = bf1a79fd78e1c0a37fed6bb56ffea4069bde69bc2cfdf9a60559c90847851e59c5f0c6d948153fd07a13958d0bbed518e664f4cdb7dbcc8587a6ab695b86e54b
-Size (rust-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = 305745526 bytes
-BLAKE2s (rust-1.86.0-aarch64-unknown-netbsd.tar.xz) = a33d55fb355293654a2b323abbc5f555737877afe165a9d920477c8c506444d4
-SHA512 (rust-1.86.0-aarch64-unknown-netbsd.tar.xz) = 6b1d18a5841e5ab68baff3a27da179a86c323965d2b74bcbaff11feef93f274e72d88494879633d04c4988acf254aa6ff5c698e289a29623ca317076e63b7429
-Size (rust-1.86.0-aarch64-unknown-netbsd.tar.xz) = 222893444 bytes
-BLAKE2s (rust-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 02748eb6d7e98bda943f3e1e31243524fa00c068e849869824d93433ce4e865e
-SHA512 (rust-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 43cc73b43e41b76f4801c8a287bacf0832d399d0a66ddc8aba6160b4e5161b932cf59f82ab28825035f11f569b4f39a58d48b33b615cf13ae84902ae36fbdcb9
-Size (rust-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 220065100 bytes
-BLAKE2s (rust-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = 757bdcf1abe2c0e03e64176fb8efe69b31f3f6a957205940fa4226ba6894064a
-SHA512 (rust-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = 58ea931cea05469b10adacc3f5ca0d3dfe48a4329f69d39c27fcda737d4869140edb9bfd4c642a301ba740e711f31d8c7ab188cf69ac5bbcf5622411dba86c8b
-Size (rust-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = 413253414 bytes
-BLAKE2s (rust-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = 01cc2b770b8f7c81a47e200570cacac724549118ff63b23d4a1ec74045b36472
-SHA512 (rust-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = 51dd5db8b6ace6fca60d767e0763ba529b6c97f9916936bca03f102fc24f6b107465d7bf4517f368bcfeed96b4fc0360ec02bd73f8bf7654b574d1a852c2e0e2
-Size (rust-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = 177118460 bytes
-BLAKE2s (rust-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = 701faa63d9693a5b7ac67eece6a9ceafac45ae1cc7b06329d46c118284922e01
-SHA512 (rust-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = e1fdc1e26c8c0ba96a16a46e8396f359469adcdc6ec2c226c17fcbe024b93dcaa2115090c2b793b774edb90ecb2880be270a3199a9523f2ac032999e00ff6838
-Size (rust-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = 398892413 bytes
-BLAKE2s (rust-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = 8eb703a0cf48fd993d17c58d06dc0dce321e6c1219ab728c0f9efc84f13baeef
-SHA512 (rust-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = bc33b16e577e9eedfb2e6144adc8481744a924a9a46328db61f9ddb61131083c64f125b7c52c7df4855ab2898122299760afa5c3f1758b78423c42d36aea123d
-Size (rust-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = 178398408 bytes
-BLAKE2s (rust-1.86.0-i586-unknown-netbsd.tar.xz) = 3b77fd46acb962c97006dcc32b4c1f38eda8f7a59586127515458ae45faf8f69
-SHA512 (rust-1.86.0-i586-unknown-netbsd.tar.xz) = bebf9ce65693d1b167a1c597c0ce7c2e685ef973bd8872a01f067d101700c89f7d0d4d39cc9baeb0aedc285230aa9795d0af96a55fcdad8757a39e1131aa9668
-Size (rust-1.86.0-i586-unknown-netbsd.tar.xz) = 244827116 bytes
-BLAKE2s (rust-1.86.0-i686-unknown-linux-gnu.tar.gz) = d1ae19cc1218cdee125ca9e239fc8ea8ee11bd8f85a1f484f7c2e812eb011080
-SHA512 (rust-1.86.0-i686-unknown-linux-gnu.tar.gz) = 075dd21f4850ac7d8cf765a1d50661e7c7b09f0f196e4c3eb283a203ed39c7e74e758851b12e148eea04515bfc681822c3f55eefb485c740d86e60a4536e5c49
-Size (rust-1.86.0-i686-unknown-linux-gnu.tar.gz) = 286064640 bytes
-BLAKE2s (rust-1.86.0-powerpc-unknown-netbsd.tar.xz) = fa1bdd88e05782f116bb46f68440ac21df5e60ddc6bd96b8b390cf7c6862ce29
-SHA512 (rust-1.86.0-powerpc-unknown-netbsd.tar.xz) = addf0cab616ab2174ac6a2b2f0ae6a021310bffde20ee840167896b70fd82ba101472d46008202bd5a316a52c360a20997368061d64eb49658db02cd805358d7
-Size (rust-1.86.0-powerpc-unknown-netbsd.tar.xz) = 256440072 bytes
-BLAKE2s (rust-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = d5c3ccf41d644971e60836b5cb066368d0386444931496a24283ac6be83c1836
-SHA512 (rust-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = 411eecaf0197b7733b83bbfb5e6a8eab0c0f23d65b45a0cf23a69175482b106d8d9bc954bd201f83fc006ad07f894a5acfe5a0d2b82e7491d1d7c8bd807c75ad
-Size (rust-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = 241199228 bytes
-BLAKE2s (rust-1.86.0-sparc64-unknown-netbsd.tar.xz) = 8f90b72dd32b32d965e7901db5f9e19696b66284d6f4b33d1228e8d5bcc1a25b
-SHA512 (rust-1.86.0-sparc64-unknown-netbsd.tar.xz) = fc4a7b853db45fbb5db6814fd52f4d4ec492268ec9ca38d279df47e8fc100ae6b4bc6dae7bf55534510c7bb4de75ce748398eef6f9c7bd2d8e3866958e600339
-Size (rust-1.86.0-sparc64-unknown-netbsd.tar.xz) = 218846968 bytes
-BLAKE2s (rust-1.86.0-x86_64-apple-darwin.tar.gz) = 2e7e119a08b1b4623a3ee545c72d302e7273576e30c56f31360a385c2c4c6557
-SHA512 (rust-1.86.0-x86_64-apple-darwin.tar.gz) = 77d3f6ecd1aa025106afa8fcfde76727e289319c72b0726522caf398469eb1e89cc613e45332bc7a3b60f7b5808482757e11f2142a0959d8424dca7222fd3e35
-Size (rust-1.86.0-x86_64-apple-darwin.tar.gz) = 374736268 bytes
-BLAKE2s (rust-1.86.0-x86_64-unknown-freebsd.tar.gz) = 3a5b5ee7d0d515e1bc4fede49b3e6cf880e84083b279395579a8be425399bf53
-SHA512 (rust-1.86.0-x86_64-unknown-freebsd.tar.gz) = 68097fd99c55e2b85110b8ce42c27f5f0d5ece4e715afd676b44e1407a9ef061a06369389c48af02bbc4d1d96a9cb23b7e0f68ceae1b5be7b151dd2288289ed9
-Size (rust-1.86.0-x86_64-unknown-freebsd.tar.gz) = 363813068 bytes
-BLAKE2s (rust-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = d7a8e9afb4b415a2f0469e261d815f478b8498c41bd2acbebcda813e210a592c
-SHA512 (rust-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = 724b950f75cd9cda4f09f266b41eeecbd919d3e8d326af7e4675b66ac15a7a3f0c45370cca9ad300c71213d06476b764b5a343686e2a0945e4e3c8d3be50c1f1
-Size (rust-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = 351164562 bytes
-BLAKE2s (rust-1.86.0-x86_64-unknown-netbsd.tar.xz) = c74748bdba73d2c31a989bb99e664b58c6b5138abadad6359344f8d480298407
-SHA512 (rust-1.86.0-x86_64-unknown-netbsd.tar.xz) = b4be269e360c6230bcd957adde6bccb28648d3bbdf055714ea46011772b642b38fc2119c35b79f184f4b40d754167e1d6cb4f5d8f2d318feb6a96b5fbad6d9c2
-Size (rust-1.86.0-x86_64-unknown-netbsd.tar.xz) = 218748808 bytes
-BLAKE2s (rust-std-1.86.0-aarch64-apple-darwin.tar.gz) = 5a0c6d01475de343f7f50f0e12f0f977a2f7a4f3346853861c607e83ddea855a
-SHA512 (rust-std-1.86.0-aarch64-apple-darwin.tar.gz) = c3eaaaf60bc393565b41b1001f2853d9584e9b4c5f34ce8501ea3adfe47f6ae1cbcca18e5ff5778597c8deb3906615829840dc084c2ed88aa962a22db23950b5
-Size (rust-std-1.86.0-aarch64-apple-darwin.tar.gz) = 43028194 bytes
-BLAKE2s (rust-std-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = a5c64a981ba887c4a44924573e7e799de37900ff60452dc0dd64052cb6693998
-SHA512 (rust-std-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = 9b59c5cdd1ce68ba12675e9a7370eb4f0e3f26810b9b394e9147b46d41d27f4d24c261a8dd919dff6df919ee51cde4611f31cf83f201c2d469699ccc3e0044e0
-Size (rust-std-1.86.0-aarch64-unknown-linux-gnu.tar.gz) = 47556021 bytes
-BLAKE2s (rust-std-1.86.0-aarch64-unknown-netbsd.tar.xz) = 88f1829070f5d103f712d99145bdc4c952a34543280a7c7a39b89b0eb1c1b86b
-SHA512 (rust-std-1.86.0-aarch64-unknown-netbsd.tar.xz) = c4e5ee76e90e0c41b9182aa4210b05a69ed5711314d0d8b20b36ee966da1fecc425e975cf27ab29770706f6eeb3f26dca886572f3d81d632b2846d3aa856ebec
-Size (rust-std-1.86.0-aarch64-unknown-netbsd.tar.xz) = 24683236 bytes
-BLAKE2s (rust-std-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 7566f2ea7239f189ca813c61f4d3b67dbae9a4e508d67acba3aa92b56de2afcd
-SHA512 (rust-std-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 16edfdaac865aaea02e4c31a8b78bd4880597c0ddc88f5089b80c1dd2f66ed85aa82f7f190de637ea5ffef5a5b05df3c18a4dc9a4e19cfdc68b4d9f9140201f2
-Size (rust-std-1.86.0-aarch64_be-unknown-netbsd.tar.xz) = 23216616 bytes
-BLAKE2s (rust-std-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = 67818d6dc058e223f748fd57e0ab52b54a70693a8f7f56728d9d145ad29134b2
-SHA512 (rust-std-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = b7d73b35784f9837e71a44658ea13785e8fe110d717f8ad8330ca72154a444ca1fb11665061e3911b52218f4aead3028d4968f3f995541ae251f0b7ed3dfe116
-Size (rust-std-1.86.0-arm-unknown-linux-gnueabihf.tar.gz) = 39993517 bytes
-BLAKE2s (rust-std-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = b3a5c179d1c7fec0686d97504264f1f9b54743f9407a71b626647b53e34505f0
-SHA512 (rust-std-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = ef5b4bd9abc3683fdd51c21b9eef94bc450cc9a72604325f4705908d4dcc51e8c3d85534f88efcb52d8795393040863cdd54659055ae25960974ef1848b4a8b1
-Size (rust-std-1.86.0-armv6-unknown-netbsd-eabihf.tar.xz) = 23114436 bytes
-BLAKE2s (rust-std-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = 94ad9f9b7ff1fcb8e4e0b374410f1fbbcee151013cf8470ea92d67713c082f39
-SHA512 (rust-std-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = 3ec10296b227af67ab086bcb9609d3132372e30ccc6e4f8e2da447ba66aea2b5c76912dce2bce213740c92e06af336be031093c40a819ae0cfaf3d8c539b9a00
-Size (rust-std-1.86.0-armv7-unknown-linux-gnueabihf.tar.gz) = 41339199 bytes
-BLAKE2s (rust-std-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = b75b5be19f4c10690588681bbc324d17f2a2d042bd289359b60d5f1e2250a726
-SHA512 (rust-std-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = 6ae7741bbb5d09c94b93754c82dbd0c478b6dcad332a5d89541bbc5680d71b3f320e3dfd3372b2b30dc4931b0d7db989a3f44e6f71e9a00f78de34e490501072
-Size (rust-std-1.86.0-armv7-unknown-netbsd-eabihf.tar.xz) = 24028328 bytes
-BLAKE2s (rust-std-1.86.0-i586-unknown-netbsd.tar.xz) = a27dea97aeb42dbe905896a43aeb3c8efb5051edbf2acd5fa066f6445b8ab890
-SHA512 (rust-std-1.86.0-i586-unknown-netbsd.tar.xz) = f27b7f0d3a33c8a2b24dccd2d5f073c6b065ffa22103056c7e7821e3a550f0b29b9368e548749dbe006485c6477bdf531211e8bd7093c868057da0de3797dded
-Size (rust-std-1.86.0-i586-unknown-netbsd.tar.xz) = 25968880 bytes
-BLAKE2s (rust-std-1.86.0-i686-unknown-linux-gnu.tar.gz) = 30eea9223651d3140c1921d6b868d86efc96eba867adaf2ac63c750559302cba
-SHA512 (rust-std-1.86.0-i686-unknown-linux-gnu.tar.gz) = fc1fedaebe93cce897a153f51feb7b65f62e8c1a14f65227468a4ac0f8db72f548514843ad206d4a3aa6de9241a84aab4238b473a2f1a1ba00a809cd265417d8
-Size (rust-std-1.86.0-i686-unknown-linux-gnu.tar.gz) = 44068827 bytes
-BLAKE2s (rust-std-1.86.0-powerpc-unknown-netbsd.tar.xz) = 894a582de03f10df9fa095eb1cfcd233151d8a1ace978ee618b21ffd5f2703e2
-SHA512 (rust-std-1.86.0-powerpc-unknown-netbsd.tar.xz) = 45fbe6839164049d85c51d8d043f318e69ae6f54810f43ebb3527438dd5ff7185cbea7d038166d24fbe103c4c343d81f8e7aabe63bdaf5dc9eab120f183c81ad
-Size (rust-std-1.86.0-powerpc-unknown-netbsd.tar.xz) = 23254656 bytes
-BLAKE2s (rust-std-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = eccd1763b746b539e1e0305d202ae417556e8f7130575a499434dc42657a2bb4
-SHA512 (rust-std-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = d9b27d7eb3b41498f1544574ab208b8a5c68cf82bc2b319ad86a82dea0fb5738b50a93d7b5731c2041f03f94b134fe77f3a9397625e72c2d8ac79e2ecd21ce49
-Size (rust-std-1.86.0-riscv64gc-unknown-netbsd.tar.xz) = 23367600 bytes
-BLAKE2s (rust-std-1.86.0-sparc64-unknown-netbsd.tar.xz) = 45d98e599fdbe62dac76cb53c5c4d865815aa6ac305479e00edade511f8bd758
-SHA512 (rust-std-1.86.0-sparc64-unknown-netbsd.tar.xz) = fed650fa194cc4ce1b8df9e222da578aedc3a73696ddd7ef6ca013bd4f9fb99e72b105d50580031f82a2b112a1fa5a3e48a867cfee9f184f1896d377b2564538
-Size (rust-std-1.86.0-sparc64-unknown-netbsd.tar.xz) = 23047844 bytes
-BLAKE2s (rust-std-1.86.0-x86_64-apple-darwin.tar.gz) = b7b53b2ad57c05efcb852c6274b6b475beb75f69b271f2887b214f920ca21626
-SHA512 (rust-std-1.86.0-x86_64-apple-darwin.tar.gz) = 84e2c8d586eb17e21a543edb8526c57dc1a1421a0351740da51b789ddb4fbd8bb84bf8649cb3b7aa5bb6beac3d3c0811937d3b734880323b9986e46ae59108af
-Size (rust-std-1.86.0-x86_64-apple-darwin.tar.gz) = 46087841 bytes
-BLAKE2s (rust-std-1.86.0-x86_64-unknown-freebsd.tar.gz) = b5304eac46f8685ad4fc92fc5f9594608b7faf26a8544c7483d27d5b410b0900
-SHA512 (rust-std-1.86.0-x86_64-unknown-freebsd.tar.gz) = ca8b09436a4a66cb829a59e826a1540b1ff91ab85f26bf705d35368f35c9ce8e681b88bb30c071d3d96df18f8221c7dbb3563a8ed7874103b86ae06ef978998f
-Size (rust-std-1.86.0-x86_64-unknown-freebsd.tar.gz) = 47506288 bytes
-BLAKE2s (rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = 2eac5e73a71473ff1c95e276a5595a2c03754754ccb32631e6ef06398c6ed90a
-SHA512 (rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = 57fc51fa858798d9ad4000fbf5069816dbd49690c5184bc688a78bf776ca67c8b2d28d58c2c16e9979ec1e1f8f842e1e72358edf69f055832e732112ffc9845c
-Size (rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.gz) = 49930173 bytes
-BLAKE2s (rust-std-1.86.0-x86_64-unknown-netbsd.tar.xz) = 6daf3bef3f2eee105b7a29ab94d8cabbbe209a23564faa4d03ddb6c515e90c40
-SHA512 (rust-std-1.86.0-x86_64-unknown-netbsd.tar.xz) = 82cb1cd4851365009ff4e60aca7f44a895d6624c25e0af12404ae8833173f0f674e08a0014325ec6633f20fc0fa31e5a08f97b4d35caaa5765a35ba11e425810
-Size (rust-std-1.86.0-x86_64-unknown-netbsd.tar.xz) = 28531864 bytes
-BLAKE2s (rustc-1.87.0-src.tar.gz) = 844af6cb402060845df35746ba8c7a622b8e77f8eb43b123ef210e182bf855f9
-SHA512 (rustc-1.87.0-src.tar.gz) = 2d2ea96753b7db6d79dbb133fa44f05a1b318418c4f52131439be622bec8e3b938c02c9093e3f232fe15ba0e9dcd38342c277d25b2c8a64f42caa148ff695453
-Size (rustc-1.87.0-src.tar.gz) = 610030228 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = bb4cc16be543116f3f7d981fd8ac349f37dad105
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 3acef995e3038a98b29b31b9bdd43286b1ac29f7
-SHA1 (patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs) = 416d369e197f2eba6b0e6dd321b727f0f64ff159
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = f6805317abaf61fa5e713af0b3599945a93a751a
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = a22b5d28997ed9a5565deec9c34322165d563d00
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs) = 620eaf74c1dd030973af53dfe4f9aa998be5b123
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs) = 1a02f2dd61a5f9cc4be1f66ac3404c961810c731
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs) = 0c5b7c31abe514e3394b910c6e601e40ebbd45c1
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs) = c5cd529719daee44aead47ffd97e682ca9d9a1ae
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 8b18e1dbde59f3e8f20e93c7669618b2c7a13294
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = 2e68c3a71b221cb1bfeb313327f366758782fe51
-SHA1 (patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs) = 97c3ad8ea39c25d41256fcad80fae1e6e4970124
-SHA1 (patch-src_bootstrap_bootstrap.py) = b2ccb6a2c3ca180a3a39493314d56285a7a6d8ea
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = e928203ed4734c93cc33c5a3f7879cf18dcecc83
-SHA1 (patch-src_bootstrap_src_core_build__steps_install.rs) = cc6558df42c9c9ac28fdb2ff180bdaa7f22ce816
-SHA1 (patch-src_bootstrap_src_core_builder_cargo.rs) = b7ce18d045c2ef250817ee4b6ed57e0524d99e71
-SHA1 (patch-src_bootstrap_src_lib.rs) = b90a3b9044c4ad92a7ba50a9e3388f6a91caf9c6
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 446acdd51fb6ddcba733371263aa2f9949299d31
-SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = e1b2eb2f0b3cf1cf87b443656ae306b3242f6b12
-SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1
-SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 39d76e6659143d154ae690ac70781b698a2023d8
-SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = e1af7fde97416e0a269ee34efd37f4f47fcf7a95
-SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 333ec513b9b94750b2424a7c1b21c809e6ea25b8
-SHA1 (patch-src_tools_clippy_clippy__utils_src_consts.rs) = bfebd1fa83be18626751d1059eaf32c275f43d28
-SHA1 (patch-src_tools_clippy_clippy__utils_src_lib.rs) = 68df85b3758a03860ec38b8d0b2cca30d4b02286
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-tests_assembly_targets_targets-elf.rs) = ee7d036c055ed2a2b3b303f381ad4694327c739b
-SHA1 (patch-vendor_bytecount-0.6.8_src_lib.rs) = df3641afebac2b06dc9d266524e295c461c441d4
-SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
-SHA1 (patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 36d927a0c3fd6ef8d211da5389a981e077aedc29
-SHA1 (patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
-SHA1 (patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 2cfc335e8ac0855fe04ffb1b870771b085316655
-SHA1 (patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 90e8f680f831985f993ee34266fafb5233aaaa58
-SHA1 (patch-vendor_libc-0.2.167_src_unix_solarish_mod.rs) = e4304cbfdad03c7da68ab95260af3a07bdde7b64
-SHA1 (patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs) = edbb81319e5f685fd9c2ffe94138c377855a982d
-SHA1 (patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 02c4efefbf1e9e1bd98eb9524515677250ae7454
-SHA1 (patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = c5e1c2d896d5e9d32aeb56bc3e4d9fb26be9edf0
-SHA1 (patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs) = e02c56106a092b4f2e27427ea8b5d96bf437c356
-SHA1 (patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = b6f2a00c83cbeedd8142dff58261bbb393449600
-SHA1 (patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = adfc737db618e2fdbe99aafaee3e7802ee04ca26
-SHA1 (patch-vendor_line-index-0.1.2_src_lib.rs) = 30aa5c82630ea0e8969abb527c11640712efba1e
-SHA1 (patch-vendor_lzma-sys-0.1.20_config.h) = 4849052ddb2f04f539fd7060fc1b43cc3acf99c4
-SHA1 (patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs) = 3e17e9f068afe5e812d10bf57fd3f6d4c21baf0b
-SHA1 (patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs) = 24bbd69c8b571e5652d5306989b6598b58ec1966
-SHA1 (patch-vendor_memchr-2.7.4_src_memchr.rs) = 4c2f4fa4911f38acd3b36c311abd14d3c9751672
-SHA1 (patch-vendor_memchr-2.7.4_src_memmem_searcher.rs) = a5038873015004ab0c8769dda84edc16a9c55f24
-SHA1 (patch-vendor_memchr-2.7.4_src_vector.rs) = 50a901d061cf58a745b0c387a1c45ff2f0c54e89
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf) = 2e229236a8b4cb956938cba13c1ffa58afcbc8bc
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c) = 366ba2116a371afb74cf1d0f00277110f8cc0324
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs) = 67bb65da109e8d721955925bfcd3498034c45c56
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf) = ebc0442d597083c7d40f08601938cfc127f8cca0
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c) = 703e5a0a1a8439e8fcc10a6b5fc72595184416a3
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs) = 9a9c491aa870c2eed9f42191d109cc1ff8fcedb2
-SHA1 (patch-vendor_openssl-sys-0.9.102_build_find__normal.rs) = 2cf1432ed2be79677d41f267f9a08ff3082e9cbc
-SHA1 (patch-vendor_openssl-sys-0.9.102_build_main.rs) = 8861b7d3acc1643f7fe6f494b18d452ac70cf810
-SHA1 (patch-vendor_openssl-sys-0.9.104_build_find__normal.rs) = ddfce30d203cc9f84169431b0a83336ae6fdf56d
-SHA1 (patch-vendor_openssl-sys-0.9.104_build_main.rs) = caf95c3d6e8777424b49600825d21535b2231eb2
-SHA1 (patch-vendor_openssl-sys-0.9.106_build_find__normal.rs) = 601652bd9325a82d9d3188c7164cfb656236b403
-SHA1 (patch-vendor_openssl-sys-0.9.106_build_main.rs) = 72465b0a301e615c04d7c3bf1d5071cd62c0f9b0
-SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
-SHA1 (patch-vendor_zerocopy-0.7.32_src_lib.rs) = d683e48900f427327f4ed518fe62b593e82c13d7
-SHA1 (patch-vendor_zerocopy-0.7.35_src_lib.rs) = b4b910405172f5653db4bf3286974b9410e77fab
-SHA1 (patch-vendor_zeroize-1.8.1_src_lib.rs) = 5e6c3a04e8a4974dc8427b86753bec18fa1aa5fe
diff --git a/rust187/do-cross.mk b/rust187/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust187/do-cross.mk
+++ /dev/null
@@ -1,107 +0,0 @@
-# $NetBSD$
-# 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+=		arm64
-SHORT_TARGETS+=		arm64_be
-SHORT_TARGETS+=		i386
-SHORT_TARGETS+=		riscv64
-SHORT_TARGETS+=		mipsel	# produces mips32 (not mips1) executables
-
-# Conditional local overrides of ROOT.* variables:
-.sinclude "local-roots.mk"
-
-# Root of target directories.
-# Must have dest/ (build.sh's DESTDIR) and tools/ subdirectories
-ROOT.armv7?=		/u/evbarm-armv7hf
-ROOT.armv6?=		/u/evbarm-armv6hf
-ROOT.sparc64?=		/u/sparc64
-ROOT.powerpc?=		/u/macppc
-ROOT.arm64?=		/u/evbarm64
-ROOT.arm64_be?=		/u/evbarm64eb
-ROOT.i386?=		/u/i386
-ROOT.mipsel?=		/u/mipsel
-ROOT.riscv64?=		/u/riscv64
-
-# Mapping to GNU triple
-G_TGT.armv7=		armv7--netbsdelf-eabihf
-G_TGT.armv6=		armv6--netbsdelf-eabihf
-G_TGT.sparc64=		sparc64--netbsd
-G_TGT.powerpc=		powerpc--netbsd
-G_TGT.arm64=		aarch64--netbsd
-G_TGT.arm64_be=		aarch64_be--netbsd
-G_TGT.i386=		i486--netbsdelf
-G_TGT.mipsel=		mipsel--netbsd
-G_TGT.riscv64=		riscv64--netbsd
-
-# Mapping to rust's TARGET specification
-TGT.armv7=		armv7-unknown-netbsd-eabihf
-TGT.armv6=		armv6-unknown-netbsd-eabihf
-TGT.sparc64=		sparc64-unknown-netbsd
-TGT.powerpc=		powerpc-unknown-netbsd
-TGT.arm64=		aarch64-unknown-netbsd
-TGT.arm64_be=		aarch64_be-unknown-netbsd
-TGT.i386=		i586-unknown-netbsd
-TGT.mipsel=		mipsel-unknown-netbsd
-TGT.riscv64=		riscv64gc-unknown-netbsd
-
-# Optional target tweak for bootstrap files
-#TT.powerpc=		powerpc-unknown-netbsd90
-
-WRKDIR=		${.CURDIR}/work
-SCRIPTS=	${WRKDIR}/scripts
-
-#DEBUG=		echo
-
-# Make list of make targets
-.for st in ${SHORT_TARGETS}
-MTGTS+=	do-${st}
-.endfor
-
-all: ${MTGTS}
-
-# Define the individual build targets, used above
-.for st in ${SHORT_TARGETS}
-CA.${st}=--host=${TGT.${st}}
-CA.${st}+=--target=${TGT.${st}}
-CA.${st}+=--set=target.${TGT.${st}}.cc=${SCRIPTS}/gcc-wrap
-CA.${st}+=--set=target.${TGT.${st}}.cxx=${SCRIPTS}/c++-wrap
-CA.${st}+=--set=target.${TGT.${st}}.linker=${SCRIPTS}/gcc-wrap
-CA.${st}+=--set=target.${TGT.${st}}.ar=${ROOT.${st}}/tools/bin/${G_TGT.${st}}-ar
-do-${st}:
-	mkdir -p dist
-	@echo "=======> Cross-building rust for ${st}"
-	${DEBUG} make -f Makefile clean
-	${DEBUG} env \
-		CROSS_ROOT=${ROOT.${st}} \
-		GNU_CROSS_TARGET=${G_TGT.${st}} \
-		make -f Makefile \
-			ADD_CONFIGURE_ARGS="${CA.${st}}" \
-			TARGET=${TGT.${st}}
-	if [ "${TT.${st}}" != "" ]; then \
-		TT=${TT.${st}}; \
-	else \
-		TT=${TGT.${st}}; \
-	fi; \
-	distdir=${WRKDIR}/rustc-${V_NOREV}-src/build/dist; \
-	for comp in rust rust-std; do \
-		src=$${distdir}/$${comp}-${V_NOREV}-${TGT.${st}}.tar.xz; \
-		tgt=dist/$${comp}-${VERSION}-$${TT}.tar.xz; \
-		if [ ! -f "$${tgt}" ]; then \
-			echo ln $${src} $${tgt}; \
-			${DEBUG} ln $${src} $${tgt}; \
-		fi; \
-	done; \
-	src_comp=rust-src-${V_NOREV}.tar.xz; \
-	if [ ! -f dist/$${src_comp} ]; then \
-		echo ln $${distdir}/$${src_comp} dist; \
-		${DEBUG} ln $${distdir}/$${src_comp} dist; \
-	fi
-.endfor
diff --git a/rust187/files/gcc-wrap b/rust187/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust187/files/gcc-wrap
+++ /dev/null
@@ -1,199 +0,0 @@
-#! /bin/sh
-
-# Root of targets tools + dest directories
-# or unset to default to a native build.
-
-# This script assumes target tools in $root/tools 
-# and target's destdir in $root/dest, the result of a NetBSD build.sh.
-# ...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"
-# (perhaps this is overly cautious, other adjustments we do
-# below may be sufficient...)
-# Lib directories to ensure we search and have in run-path
-libs="/lib /usr/lib /usr/pkg/lib"
-
-for d in $libs; do
-	if ! $native; then
-		linkadd="$linkadd -L=$d"
-		linkadd="$linkadd -Wl,-rpath-link=${root}/dest/$d"
-	fi
-	# Run-path is for when we execute on the target,
-	# so no $root prefix
-	linkadd="$linkadd -Wl,-rpath,$d"
-done
-
-# ...and add a placeholder so we can tweak RPATH with chrpath,
-# since chrpath can't extend the length of the run path
-# (This may also not be needed, we use LD_LIBRARY_PATH instead)
-placeholder="placeholder-$(date | openssl dgst -sha1 | \
-	awk '{ print $2 }')"
-linkadd="$linkadd -Wl,-rpath,/$placeholder"
-# the / is a sneaky attempt to let it past cwrapper...
-
-# More debugging
-linkadd="$linkadd -Wl,--verbose"
-
-linktweaked=false
-
-# Step through args, tweak where required
-set -- "$@"
-while [ $# -gt 0 ]; do
-	case "$1" in
-# Insert = at the front of -isystem args.
-# This is to get --sysroot prepended, so that
-# we pick up the correct set of header files.
-# (I thought this wasn't reqired, but apparently it is...)
-		-isystem)
-			shift
-			args="$args -isystem =$1"
-			;;
-# Also doctor -I directives of known paths and
-# redirect them to the --sysroot.
-		-I/usr/include)
-			args="$args -I=/usr/include"
-			;;
-		-I/usr/include/krb5)
-			args="$args -I=/usr/include/krb5"
-			;;
-		-I/usr/pkg/include)
-# Try to drop this...
-			if ! $native; then
-				args="$args -I=/usr/pkg/include"
-			fi
-			;;
-		-I)
-			if [ $2 = "/usr/include" ]; then
-				args="$args -I=/usr/include"
-				shift
-			elif [ $2 = "/usr/include/krb5" ]; then
-				args="$args -I=/usr/include/krb5"
-				shift
-			elif [ $2 = "/usr/pkg/include" ]; then
-# Try to drop this too...
-				if ! $native; then
-					args="$args -I=/usr/pkg/include"
-				fi
-				shift
-			else
-				args="$args -I"
-			fi
-			;;
-		-l*)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args $1"
-			;;
-		-L)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			shift
-			tweaked=false
-			# redirect these to -Wl,--sysroot
-			for d in /lib /usr/lib /usr/pkg/lib; do
-				if [ $1 = $d ]; then
-					args="$args -L =$d"
-					tweaked=true
-				fi
-			done
-			# Not redirected?  If so we need to add
-			if ! $tweaked; then
-				args="$args -L $1"
-			fi
-			;;
-			
-		-L/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/lib"
-			;;
-		-L/usr/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/usr/lib"
-			;;
-		-L/usr/pkg/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/usr/pkg/lib"
-			;;
-		-Wl,--enable-new-dtags)
-			# ignore
-			;;
-		*)
-			args="$args $1"
-			;;
-	esac
-	shift
-done
-
-if $native; then
-	# Try to avoid cwrappers, which does "undocumented magic"
-	# by invoking the compiler "directly".
-	#cmd="/usr/bin/${who} $args"
-	# (however, this wrapper isn't used when buliding natively...)
-	cmd="${who} $args"
-else
-	cmd="${root}/tools/bin/${gnuarch}-${who} \
-		--sysroot=${root}/dest \
-		$incadd \
-		$args"
-fi
-
-# Cannot echo to stdout, messes up e.g. "gcc -print-prog-name=ld" output...
-#echo $cmd >> /tmp/gcc-wrap.log
-exec $cmd
diff --git a/rust187/options.mk b/rust187/options.mk
deleted file mode 100644
index 67921efdaf..0000000000
--- a/rust187/options.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-# $NetBSD: options.mk,v 1.26 2022/07/11 20:13:50 jperkin Exp $
-
-PKG_OPTIONS_VAR=	PKG_OPTIONS.rust
-PKG_SUPPORTED_OPTIONS+=	rust-cargo-static rust-docs
-
-.include "../../mk/bsd.fast.prefs.mk"
-
-# The bundled LLVM current has issues building on SunOS.
-.if ${OPSYS} != "SunOS"
-PKG_SUPPORTED_OPTIONS+=		rust-internal-llvm
-# There may be compatibility issues with the base LLVM on e.g. NetBSD.
-.  if !empty(HAVE_LLVM)
-PKG_SUGGESTED_OPTIONS+=		rust-internal-llvm
-.  endif
-.endif
-
-# If cross-building, always use the internal LLVM
-.if !empty(TARGET)
-PKG_SUGGESTED_OPTIONS+=		rust-internal-llvm
-.endif
-
-PKG_OPTIONS_LEGACY_OPTS+=	rust-llvm:rust-internal-llvm
-
-# Bundle OpenSSL and curl into the cargo binary when producing
-# bootstraps on NetBSD.
-.if ${OPSYS} == "NetBSD" && ${BUILD_TARGET} == "dist"
-PKG_SUGGESTED_OPTIONS+=	rust-cargo-static
-.endif
-
-.include "../../mk/bsd.options.mk"
-
-# NetBSD/sparc64 when using the internal LLVM needs
-# to not use gcc 10.4 or 10.5 (as found in 10.0_BETA or 10.0), ref.
-# https://github.com/rust-lang/rust/issues/117231
-# (however, gcc from 9.x produces a working LLVM, go figure).
-.if ${MACHINE_PLATFORM:MNetBSD-10.*-sparc64}
-.  if !empty(PKG_OPTIONS:Mrust-internal-llvm)
-# Require GCC 12 (from pkgsrc) to correctly build the embedded LLVM (18.x).
-GCC_REQD+=	12
-.  endif
-.endif
-
-# Fix for problem seen during rust-installer run w/rust 1.84.1 on macppc,
-# "of course" experienced near the end of the build process:
-# assertion "memcmp(mf_ptr(mf) - 1, mf_ptr(mf) - matches[i].dist - 2, matches[i].len) == 0" failed: file "xz-5.2/src/liblzma/lz/lz_encoder_mf.c", line 40, function "lzma_mf_find"
-# The above is seen with both in-tree gcc (10.5.0) and gcc12 from pkgsrc.
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc}
-GCC_REQD+=	14
-.endif
-
-# Apparently, using pkgsrc LLVM 19.x does not work on
-# NetBSD/x86_64 9.x and NetBSD/i386 9.x unless rust is built
-# with a newer gcc than the platform-included 7.5.0.  Ref.
-# https://gnats.netbsd.org/59435 and
-# https://mail-index.netbsd.org/pkgsrc-users/2025/05/20/msg041603.html
-# and following discussion.
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.  if ${MACHINE_PLATFORM:MNetBSD-9.*-x86_64} || \
-      ${MACHINE_PLATFORM:MNetBSD-9.*-i386}
-GCC_REQD+=	10
-.  endif
-.endif
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-BUILDLINK_API_DEPENDS.llvm+=	llvm>=18.0.0
-.include "../../lang/libunwind/buildlink3.mk"
-.include "../../lang/llvm/buildlink3.mk"
-CONFIGURE_ARGS+=	--enable-llvm-link-shared
-CONFIGURE_ARGS+=	--llvm-libunwind=system
-CONFIGURE_ARGS+=	--llvm-root=${BUILDLINK_PREFIX.llvm}
-# Also turn off build of the internal LLD, as the external LLVM
-# may be older (e.g. 18) than the internal LLD (now 19.x), ref.
-# https://github.com/rust-lang/rust/issues/131291
-CONFIGURE_ARGS+=	--set rust.lld=false
-.endif
-
-#
-# Link cargo statically against "native" libraries.
-# (openssl and curl specifically).
-#
-.if !empty(PKG_OPTIONS:Mrust-cargo-static)
-CONFIGURE_ARGS+=	--enable-cargo-native-static
-.else
-BUILDLINK_API_DEPENDS.nghttp2+= nghttp2>=1.41.0
-BUILDLINK_API_DEPENDS.curl+= 	curl>=7.67.0
-.include "../../www/curl/buildlink3.mk"
-.include "../../security/openssl/buildlink3.mk"
-.endif
-
-#
-# Install documentation.
-#
-.if !empty(PKG_OPTIONS:Mrust-docs)
-CONFIGURE_ARGS+=	--enable-docs
-.else
-CONFIGURE_ARGS+=	--disable-docs
-.endif
diff --git a/rust187/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust187/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index dd6b2256c5..0000000000
--- a/rust187/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.19 2024/11/25 14:37:35 tnn Exp $
-
-Do not use @rpath on Darwin.
-Find external libunwind on Linux.
-
---- compiler/rustc_codegen_ssa/src/back/linker.rs.orig	2024-09-04 15:07:06.000000000 +0000
-+++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -402,7 +402,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 {
--                let mut rpath = OsString::from("@rpath/");
-+                let mut rpath = OsString::from("@PREFIX@/lib/");
-                 rpath.push(out_filename.file_name().unwrap());
-                 self.link_arg("-install_name").link_arg(rpath);
-             }
-@@ -528,6 +528,10 @@ impl<'a> Linker for GccLinker<'a> {
-     }
- 
-     fn link_dylib_by_name(&mut self, name: &str, verbatim: bool, as_needed: bool) {
-+        if self.sess.target.os.contains("linux") && name == "unwind" {
-+            self.link_arg("-R@PREFIX@/lib");
-+            self.link_arg("-L@PREFIX@/lib");
-+        }
-         if self.sess.target.os == "illumos" && name == "c" {
-             // libc will be added via late_link_args on illumos so that it will
-             // appear last in the library search order.
diff --git a/rust187/patches/patch-compiler_rustc__llvm_build.rs b/rust187/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 74346dbe8e..0000000000
--- a/rust187/patches/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.17 2024/04/18 09:29:42 pin 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	2023-10-03 02:52:17.000000000 +0000
-+++ compiler/rustc_llvm/build.rs
-@@ -249,6 +249,10 @@ fn main() {
-     {
-         // 32-bit targets need to link libatomic.
-         println!("cargo:rustc-link-lib=atomic");
-+        if target.contains("netbsd")
-+        {
-+            println!("cargo:rustc-link-lib=z");
-+        }
-     } else if target.contains("windows-gnu") {
-         println!("cargo:rustc-link-lib=shell32");
-         println!("cargo:rustc-link-lib=uuid");
-@@ -261,7 +265,11 @@ fn main() {
-         // On NetBSD/i386, gcc and g++ is built for i486 (to maximize backward compat)
-         // However, LLVM insists on using 64-bit atomics.
-         // This gives rise to a need to link rust itself with -latomic for these targets
--        if target.starts_with("i586") || target.starts_with("i686") {
-+        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");
-@@ -352,7 +360,13 @@ fn main() {
-         "c++"
-     } else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
-         // NetBSD uses a separate library when relocation is required
--        "stdc++_p"
-+        if env::var_os("PKGSRC_HAVE_LIBCPP").is_some() {
-+            "c++_pic"
-+        } else {
-+            "stdc++_pic"
-+        }
-+    } else if env::var_os("PKGSRC_HAVE_LIBCPP").is_some() {
-+        "c++"
-     } else if llvm_use_libcxx.is_some() {
-         "c++"
-     } else {
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index 9473df7bbc..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Minor adjustments so that this builds.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2025-03-31 21:37:24.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,12 +1,14 @@
- use rustc_abi::Endian;
- 
--use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, TargetOptions, base};
-+use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, base};
- 
- pub(crate) fn target() -> Target {
-     let mut base = base::netbsd::opts();
-     base.cpu = "v9".into();
-     base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
-     base.max_atomic_width = Some(64);
-+    base.endian = Endian::Big;
-+    base.mcount = "__mcount".into();
- 
-     Target {
-         llvm_target: "sparc64-unknown-netbsd".into(),
-@@ -19,6 +21,6 @@ pub(crate) fn target() -> Target {
-         pointer_width: 64,
-         data_layout: "E-m:e-i64:64-i128:128-n32:64-S128".into(),
-         arch: "sparc64".into(),
--        options: TargetOptions { endian: Endian::Big, mcount: "__mcount".into(), ..base },
-+        options: base,
-     }
- }
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index 93997710be..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD$
-
-For the benefit of powerpc, when libatomic-links is installed,
-search the directory containing the symlinks to -latomic.
-
---- compiler/rustc_target/src/spec/base/netbsd.rs.orig	2024-01-06 19:57:14.887897867 +0000
-+++ compiler/rustc_target/src/spec/base/netbsd.rs
-@@ -1,12 +1,23 @@
--use crate::spec::{RelroLevel, TargetOptions, cvs};
-+use crate::spec::{Cc, Lld, LinkerFlavor, RelroLevel, TargetOptions, cvs};
- 
- pub(crate) fn opts() -> TargetOptions {
-+    let add_linker_paths =
-+        &[
-+            // For the benefit of powerpc, when libatomic-links is installed,
-+            "-Wl,-R@PREFIX@/lib/libatomic",
-+            "-Wl,-L@PREFIX@/lib/libatomic",
-+        ];
-+    let pre_link_args = TargetOptions::link_args(
-+        LinkerFlavor::Gnu(Cc::Yes, Lld::No),
-+        add_linker_paths
-+    );
-     TargetOptions {
-         os: "netbsd".into(),
-         dynamic_linking: true,
-         families: cvs!["unix"],
-         no_default_libraries: false,
-         has_rpath: true,
-+        pre_link_args,
-         position_independent_executables: true,
-         relro_level: RelroLevel::Full,
-         has_thread_local: true,
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.17 2024/04/18 09:29:42 pin Exp $
-
-Add entry for NetBSD/mips64el.
-
---- compiler/rustc_target/src/spec/mod.rs.orig	2024-01-13 14:20:59.236278792 +0000
-+++ compiler/rustc_target/src/spec/mod.rs
-@@ -1532,6 +1532,7 @@ supported_targets! {
-     ("armv7-unknown-netbsd-eabihf", armv7_unknown_netbsd_eabihf),
-     ("i586-unknown-netbsd", i586_unknown_netbsd),
-     ("i686-unknown-netbsd", i686_unknown_netbsd),
-+    ("mips64el-unknown-netbsd", mips64el_unknown_netbsd),
-     ("mipsel-unknown-netbsd", mipsel_unknown_netbsd),
-     ("powerpc-unknown-netbsd", powerpc_unknown_netbsd),
-     ("riscv64gc-unknown-netbsd", riscv64gc_unknown_netbsd),
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. PR#58154.  Turn it off for now.
-Ideally should check whether the version has the fix or not, but
-e.g. __NetBSD_Version__ isn't easily available here that I know...
-
---- compiler/rustc_target/src/spec/targets/aarch64_be_unknown_netbsd.rs.orig	2024-07-23 19:21:34.344805113 +0000
-+++ compiler/rustc_target/src/spec/targets/aarch64_be_unknown_netbsd.rs
-@@ -18,6 +18,7 @@ pub fn target() -> Target {
-             max_atomic_width: Some(128),
-             stack_probes: StackProbeType::Inline,
-             endian: Endian::Big,
-+            has_thread_local: false, // ref. NetBSD PR#58154
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. PR#58154.  Turn it off for now.
-Ideally should check whether the version has the fix or not, but
-e.g. __NetBSD_Version__ isn't easily available here that I know...
-
---- compiler/rustc_target/src/spec/targets/aarch64_unknown_netbsd.rs.orig	2024-07-23 19:18:44.116841966 +0000
-+++ compiler/rustc_target/src/spec/targets/aarch64_unknown_netbsd.rs
-@@ -17,6 +17,7 @@ pub fn target() -> Target {
-             mcount: "__mcount".into(),
-             max_atomic_width: Some(128),
-             stack_probes: StackProbeType::Inline,
-+            has_thread_local: false, // ref. NetBSD PR#58154
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index 687ddb98da..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-$NetBSD$
-
-Provide a mips64el target with N32, suitable for NetBSD/mips64el.
-
---- compiler/rustc_target/src/spec/targets/mips64el_unknown_netbsd.rs.orig	2024-01-13 14:16:30.122042614 +0000
-+++ compiler/rustc_target/src/spec/targets/mips64el_unknown_netbsd.rs
-@@ -0,0 +1,28 @@
-+use rustc_abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub(crate) fn target() -> Target {
-+    let mut base = base::netbsd::opts();
-+    base.max_atomic_width = Some(32);
-+    base.cpu = "mips32".into();
-+
-+    Target {
-+        llvm_target: "mipsel-unknown-netbsd".into(),
-+        metadata: crate::spec::TargetMetadata {
-+            description: None,
-+            tier: None,
-+            host_tools: None,
-+            std: None,
-+        },
-+        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
-+        },
-+    }
-+}
diff --git a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust187/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Let's see if turning off thread local storage makes a difference...
-
---- compiler/rustc_target/src/spec/targets/mipsel_unknown_netbsd.rs.orig	2024-08-05 20:02:56.368978562 +0000
-+++ compiler/rustc_target/src/spec/targets/mipsel_unknown_netbsd.rs
-@@ -21,6 +21,7 @@ pub fn target() -> Target {
-             features: "+soft-float".into(),
-             mcount: "__mcount".into(),
-             endian: Endian::Little,
-+            has_thread_local: false, // Let's see if there's a difference...
-             ..base
-         },
-     }
diff --git a/rust187/patches/patch-libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust187/patches/patch-libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 2127d0f1bc..0000000000
--- a/rust187/patches/patch-libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-04-05 11:35:20.818765987 +0000
-+++ vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2850,6 +2850,7 @@ extern "C" {
-         hint: *const c_void,
-     ) -> c_int;
- 
-+    #[link_name = "__getmntinfo13"]
-     pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int;
-     pub fn getvfsstat(buf: *mut statvfs, bufsize: size_t, flags: c_int) -> c_int;
- }
diff --git a/rust187/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust187/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust187/patches/patch-library_backtrace_src_symbolize_gimli.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD to the family who is in the unix class.
-
---- library/backtrace/src/symbolize/gimli.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli.rs
-@@ -40,6 +40,7 @@ cfg_if::cfg_if! {
-         target_os = "haiku",
-         target_os = "hurd",
-         target_os = "linux",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust187/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust187/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index f49e07d14f..0000000000
--- a/rust187/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.8 2024/04/18 09:29:42 pin Exp $
-
-Make NetBSD also find its debug libraries, if present.
-
---- library/backtrace/src/symbolize/gimli/elf.rs.orig	2022-04-04 09:41:26.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli/elf.rs
-@@ -395,11 +395,18 @@ fn decompress_zstd(mut input: &[u8], mut
-     Some(())
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &str = "/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &str = "/usr/lib/debug";
- 
- fn debug_path_exists() -> bool {
-     cfg_if::cfg_if! {
--        if #[cfg(any(target_os = "freebsd", target_os = "hurd", target_os = "linux"))] {
-+        if #[cfg(any(target_os = "freebsd",
-+		     target_os = "netbsd",
-+                     target_os = "hurd",
-+		     target_os = "linux"
-+        ))] {
-             use core::sync::atomic::{AtomicU8, Ordering};
-             static DEBUG_PATH_EXISTS: AtomicU8 = AtomicU8::new(0);
- 
diff --git a/rust187/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust187/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 5a1738f10e..0000000000
--- a/rust187/patches/patch-library_std_src_sys_pal_unix_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add libexecinfo for backtrace() on NetBSD.
-
---- library/std/src/sys/pal/unix/mod.rs.orig	2025-03-31 21:37:24.000000000 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -379,6 +379,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         unsafe extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         unsafe extern "C" {}
diff --git a/rust187/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs b/rust187/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
deleted file mode 100644
index d57e0bb62a..0000000000
--- a/rust187/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-On NetBSD/aarch64, do the same as FreeBSD and OpenBSD.
-
---- library/stdarch/crates/std_detect/tests/cpu-detection.rs.orig	2024-11-10 17:39:05.836052531 +0000
-+++ library/stdarch/crates/std_detect/tests/cpu-detection.rs
-@@ -166,7 +166,7 @@ fn aarch64_windows() {
- #[test]
- #[cfg(all(
-     target_arch = "aarch64",
--    any(target_os = "freebsd", target_os = "openbsd")
-+    any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd")
- ))]
- fn aarch64_bsd() {
-     println!("asimd: {:?}", is_aarch64_feature_detected!("asimd"));
diff --git a/rust187/patches/patch-src_bootstrap_bootstrap.py b/rust187/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 7ec9a08b78..0000000000
--- a/rust187/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,67 +0,0 @@
-$NetBSD$
-
-Use `uname -p` on NetBSD, as that is reliable and sensible there.
-Handle earmv[67]hf for NetBSD.
-Also use @PREFIX@ and not $ORIGIN in rpath.
-
---- src/bootstrap/bootstrap.py.orig	2025-02-17 18:17:27.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -323,6 +323,11 @@ def default_build_triple(verbose):
-         "GNU": "unknown-hurd",
-     }
- 
-+    # For NetBSD, use `uname -p`, as there it is reliable & sensible
-+    if kernel == 'NetBSD':
-+        cputype = subprocess.check_output(
-+            ['uname', '-p']).strip().decode(default_encoding)
-+
-     # Consider the direct transformation first and then the special cases
-     if kernel in kerneltype_mapper:
-         kernel = kerneltype_mapper[kernel]
-@@ -427,10 +432,16 @@ def default_build_triple(verbose):
-             kernel = "linux-androideabi"
-         else:
-             kernel += "eabihf"
--    elif cputype in {"armv7l", "armv8l"}:
-+    elif cputype in {"armv6hf", "earmv6hf"}:
-+        cputype = "armv6"
-+        if kernel == "unknown-netbsd":
-+            kernel += "-eabihf"
-+    elif cputype in {"armv7l", "earmv7hf", "armv8l"}:
-         cputype = "armv7"
-         if kernel == "linux-android":
-             kernel = "linux-androideabi"
-+        elif kernel == "unknown-netbsd":
-+            kernel += "-eabihf"
-         else:
-             kernel += "eabihf"
-     elif cputype == "mips":
-@@ -688,11 +699,11 @@ class RustBuild(object):
-                 )
-             p = Pool(pool_size)
-             try:
--                # FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578,
--                # remove this once the issue is closed.
--                bootstrap_build_artifacts = os.path.join(self.bootstrap_out(), "debug")
--                if os.path.exists(bootstrap_build_artifacts):
--                    shutil.rmtree(bootstrap_build_artifacts)
-+#                # FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578,
-+#                # remove this once the issue is closed.
-+#                bootstrap_build_artifacts = os.path.join(self.bootstrap_out(), "debug")
-+#                if os.path.exists(bootstrap_build_artifacts):
-+#                    shutil.rmtree(bootstrap_build_artifacts)
- 
-                 p.map(unpack_component, tarballs_download_info)
-             finally:
-@@ -839,7 +850,10 @@ class RustBuild(object):
-             self.nix_deps_dir = nix_deps_dir
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
--        rpath_entries = [os.path.join(os.path.realpath(nix_deps_dir), "lib")]
-+        rpath_entries = [
-+            "@PREFIX@/lib",
-+            os.path.join(os.path.realpath(nix_deps_dir), "lib")
-+        ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
-         if ".so" not in fname:
-             # Finally, set the correct .interp for binaries
diff --git a/rust187/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust187/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust187/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_core_build__steps_compile.rs,v 1.2 2024/04/18 09:29:42 pin Exp $
-
-On Darwin, do not use @rpath for internal libraries.
-
---- src/bootstrap/src/core/build_steps/compile.rs.orig	2024-01-06 20:42:20.028206400 +0000
-+++ src/bootstrap/src/core/build_steps/compile.rs
-@@ -695,7 +695,7 @@ fn copy_sanitizers(
-             || target == "x86_64-apple-ios"
-         {
-             // Update the library’s install name to reflect that it has been renamed.
--            apple_darwin_update_library_name(builder, &dst, &format!("@rpath/{}", runtime.name));
-+            apple_darwin_update_library_name(builder, &dst, &format!("@PREFIX@/lib/{}", runtime.name));
-             // Upon renaming the install name, the code signature of the file will invalidate,
-             // so we will sign it again.
-             apple_darwin_sign_file(builder, &dst);
diff --git a/rust187/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust187/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust187/patches/patch-src_bootstrap_src_core_build__steps_install.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- src/bootstrap/src/core/build_steps/install.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ src/bootstrap/src/core/build_steps/install.rs
-@@ -200,7 +200,7 @@ macro_rules! install {
- install!((self, builder, _config),
-     Docs, path = "src/doc", _config.docs, only_hosts: false, {
-         let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs");
--        install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball);
-+        install_sh(builder, "rust", self.compiler.stage, Some(self.target), &tarball);
-     };
-     Std, path = "library/std", true, only_hosts: false, {
-         // `expect` should be safe, only None when host != build, but this
diff --git a/rust187/patches/patch-src_bootstrap_src_core_builder_cargo.rs b/rust187/patches/patch-src_bootstrap_src_core_builder_cargo.rs
deleted file mode 100644
index 0580e7f16a..0000000000
--- a/rust187/patches/patch-src_bootstrap_src_core_builder_cargo.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD$
-
-Find external libunwind and libLLVM in pkgsrc (not just Linux).
-Use @PREFIX@ in rpath.
-
---- src/bootstrap/src/core/builder/cargo.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ src/bootstrap/src/core/builder/cargo.rs
-@@ -251,7 +251,7 @@ impl Cargo {
-                 && !target.contains("xous")
-             {
-                 self.rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/lib"))
-             } else {
-                 None
-             };
-@@ -1249,6 +1249,9 @@ impl Builder<'_> {
-             // cargo bench/install do not accept `--release` and miri doesn't want it
-             !matches!(cmd_kind, Kind::Bench | Kind::Install | Kind::Miri | Kind::MiriSetup | Kind::MiriTest);
- 
-+        // added for pkgsrc libunwind or external LLVM
-+        rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX@/lib");
-+
-         Cargo {
-             command: cargo,
-             args: vec![],
diff --git a/rust187/patches/patch-src_bootstrap_src_lib.rs b/rust187/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index 8d8141a51f..0000000000
--- a/rust187/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_lib.rs,v 1.2 2024/04/18 09:29:42 pin Exp $
-
-Don't filter out optimization flags.
-FreeBSD has a particular C++ runtime library name
-
---- src/bootstrap/src/lib.rs.orig	2024-01-06 20:52:50.892941220 +0000
-+++ src/bootstrap/src/lib.rs
-@@ -1209,7 +1209,6 @@ Executed at: {executed_at}"#,
-         base.args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>()
-     }
- 
-@@ -1225,7 +1224,8 @@ Executed at: {executed_at}"#,
-         // If we're compiling C++ on macOS then we add a flag indicating that
-         // we want libc++ (more filled out than libstdc++), ensuring that
-         // LLVM/etc are all properly compiled.
--        if matches!(c, CLang::Cxx) && target.contains("apple-darwin") {
-+        if matches!(c, CLang::Cxx) &&
-+            (target.contains("apple-darwin") || target.contains("freebsd")) {
-             base.push("-stdlib=libc++".into());
-         }
- 
diff --git a/rust187/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust187/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index c175e399cb..0000000000
--- a/rust187/patches/patch-src_llvm-project_llvm_CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-Don't implement sys/regset.h workaround, fix source instead.
-
---- src/llvm-project/llvm/CMakeLists.txt.orig	2018-03-10 02:51:13.000000000 +0000
-+++ src/llvm-project/llvm/CMakeLists.txt
-@@ -1225,11 +1225,6 @@ if(LLVM_TARGET_IS_CROSSCOMPILE_HOST)
- # (this is a variable that CrossCompile sets on recursive invocations)
- endif()
- 
--if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
--   # special hack for Solaris to handle crazy system sys/regset.h
--   include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris")
--endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
--
- # Make sure we don't get -rdynamic in every binary. For those that need it,
- # use EXPORT_SYMBOLS argument.
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust187/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust187/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust187/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.15 2024/04/18 09:29:42 pin Exp $
-
-On Darwin, use correct install-name for shared libraries.
-
-Undo some of the RPATH magic so that cross-building
-works inside pkgsrc again (indirectly eliminates $ORIGIN rpath
-handling / editing, $ORIGIN handling is partially undone by cwrappers
-in pkgsrc).
-
---- src/llvm-project/llvm/cmake/modules/AddLLVM.cmake.orig	2023-07-12 03:33:01.000000000 +0000
-+++ src/llvm-project/llvm/cmake/modules/AddLLVM.cmake
-@@ -2311,7 +2311,7 @@ function(llvm_setup_rpath name)
-   endif()
- 
-   if (APPLE)
--    set(_install_name_dir INSTALL_NAME_DIR "@rpath")
-+    set(_install_name_dir INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
-     set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-   elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
-     # $ORIGIN is not interpreted at link time by aix ld.
-@@ -2320,8 +2320,7 @@ function(llvm_setup_rpath name)
-     # FIXME: update this when there is better solution.
-     set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-   elseif(UNIX)
--    set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-@@ -2335,16 +2334,9 @@ function(llvm_setup_rpath name)
-     return()
-   endif()
- 
--  # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set and not
--  # building for macOS or AIX, as those platforms seemingly require it.
--  # On AIX, the tool chain doesn't support modifying rpaths/libpaths for XCOFF
--  # on install at the moment, so BUILD_WITH_INSTALL_RPATH is required.
-+  # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set.
-   if("${CMAKE_BUILD_RPATH}" STREQUAL "")
--    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin|AIX")
--      set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
--    else()
--      set_property(TARGET ${name} APPEND PROPERTY BUILD_RPATH "${_build_rpath}")
--    endif()
-+    set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
-   endif()
- 
-   set_target_properties(${name} PROPERTIES
diff --git a/rust187/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust187/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust187/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
+++ /dev/null
@@ -1,34 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h,v 1.8 2024/04/18 09:29:42 pin Exp $
-
-Don't implement sys/regset.h workaround, fix source instead.
-
---- src/llvm-project/llvm/include/llvm-c/DataTypes.h.orig	2021-04-17 01:50:37.000000000 +0000
-+++ src/llvm-project/llvm/include/llvm-c/DataTypes.h
-@@ -77,4 +77,27 @@ typedef signed int ssize_t;
- # define UINT64_MAX 0xffffffffffffffffULL
- #endif
- 
-+#if defined(__sun)
-+#include <sys/regset.h>
-+#undef CS
-+#undef DS
-+#undef ES
-+#undef FS
-+#undef GS
-+#undef SS
-+#undef EAX
-+#undef ECX
-+#undef EDX
-+#undef EBX
-+#undef ESP
-+#undef EBP
-+#undef ESI
-+#undef EDI
-+#undef EIP
-+#undef UESP
-+#undef EFL
-+#undef ERR
-+#undef TRAPNO
-+#endif
-+
- #endif /* LLVM_C_DATATYPES_H */
diff --git a/rust187/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust187/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust187/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.10 2024/04/18 09:29:42 pin Exp $
-
-Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h
-
---- src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h.orig	2018-08-01 16:32:37.000000000 +0000
-+++ src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h
-@@ -19,6 +19,10 @@
- #ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H
- #define LLVM_ANALYSIS_CONSTANTFOLDING_H
- 
-+#ifdef __sun
-+#undef CS
-+#endif
-+
- #include <stdint.h>
- 
- namespace llvm {
diff --git a/rust187/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust187/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust187/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.13 2024/04/18 09:29:42 pin Exp $
-
-Avoid ambiguous function call.
-
---- src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp.orig	2019-02-12 15:22:48.000000000 +0000
-+++ src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp
-@@ -592,7 +592,7 @@ static void DumpAnnotatedInput(raw_ostre
-   unsigned LineCount = InputFileText.count('\n');
-   if (InputFileEnd[-1] != '\n')
-     ++LineCount;
--  unsigned LineNoWidth = std::log10(LineCount) + 1;
-+  unsigned LineNoWidth = std::log10((float)LineCount) + 1;
-   // +3 below adds spaces (1) to the left of the (right-aligned) line numbers
-   // on input lines and (2) to the right of the (left-aligned) labels on
-   // annotation lines so that input lines and annotation lines are more
diff --git a/rust187/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust187/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust187/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.17 2024/04/18 09:29:42 pin Exp $
-
-Turn off incremental builds for sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/src/cargo/core/profiles.rs.orig	2023-07-12 03:33:05.000000000 +0000
-+++ src/tools/cargo/src/cargo/core/profiles.rs
-@@ -681,6 +681,9 @@ impl Profile {
-             debuginfo: DebugInfo::Resolved(TomlDebugInfo::Full),
-             debug_assertions: true,
-             overflow_checks: true,
-+            #[cfg(target_arch = "sparc64")]
-+            incremental: false,
-+            #[cfg(not(target_arch = "sparc64"))]
-             incremental: true,
-             ..Profile::default()
-         }
diff --git a/rust187/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust187/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index faee0c00f9..0000000000
--- a/rust187/patches/patch-src_tools_cargo_tests_testsuite_build.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-Don't attempt incremental operations on sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/tests/testsuite/build.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ src/tools/cargo/tests/testsuite/build.rs
-@@ -41,6 +41,7 @@ i am foo
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn build_with_symlink_to_path_dependency_with_build_script_in_git() {
-     if !symlink_supported() {
-@@ -103,6 +104,7 @@ fn cargo_fail_with_no_stderr() {
- 
- /// Checks that the `CARGO_INCREMENTAL` environment variable results in
- /// `rustc` getting `-C incremental` passed to it.
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn cargo_compile_incremental() {
-     let p = project()
-@@ -132,6 +134,7 @@ fn cargo_compile_incremental() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_profile() {
-     let p = project()
-@@ -175,6 +178,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_config() {
-     let p = project()
diff --git a/rust187/patches/patch-src_tools_clippy_clippy__utils_src_consts.rs b/rust187/patches/patch-src_tools_clippy_clippy__utils_src_consts.rs
deleted file mode 100644
index 559021d901..0000000000
--- a/rust187/patches/patch-src_tools_clippy_clippy__utils_src_consts.rs
+++ /dev/null
@@ -1,91 +0,0 @@
-$NetBSD$
-
-Following on from https://github.com/rust-lang/rust/issues/137630
-apply patch gracefully supplied in
-https://github.com/beetrees/rust/commit/21f8bda79b2904c827b9d8d769a1307acfd855a1.patch
-
-Fixes cross-build for 32-bit mips on NetBSD which
-does not (yet?) support the f16 data type.
-
---- src/tools/clippy/clippy_utils/src/consts.rs.orig	2025-02-17 18:17:27.000000000 +0000
-+++ src/tools/clippy/clippy_utils/src/consts.rs
-@@ -41,14 +41,16 @@ pub enum Constant<'tcx> {
-     Char(char),
-     /// An integer's bit representation.
-     Int(u128),
--    /// An `f16`.
--    F16(f16),
-+    /// An `f16` bitcast to a `u16`.
-+    // FIXME(f16_f128): use `f16` once builtins are available on all host tools platforms.
-+    F16(u16),
-     /// An `f32`.
-     F32(f32),
-     /// An `f64`.
-     F64(f64),
--    /// An `f128`.
--    F128(f128),
-+    /// An `f128` bitcast to a `u128`.
-+    // FIXME(f16_f128): use `f128` once builtins are available on all host tools platforms.
-+    F128(u128),
-     /// `true` or `false`.
-     Bool(bool),
-     /// An array of constants.
-@@ -175,7 +177,7 @@ impl Hash for Constant<'_> {
-             },
-             Self::F16(f) => {
-                 // FIXME(f16_f128): once conversions to/from `f128` are available on all platforms,
--                f.to_bits().hash(state);
-+                f.hash(state);
-             },
-             Self::F32(f) => {
-                 f64::from(f).to_bits().hash(state);
-@@ -184,7 +186,7 @@ impl Hash for Constant<'_> {
-                 f.to_bits().hash(state);
-             },
-             Self::F128(f) => {
--                f.to_bits().hash(state);
-+                f.hash(state);
-             },
-             Self::Bool(b) => {
-                 b.hash(state);
-@@ -290,12 +292,12 @@ impl Constant<'_> {
- 
-     fn parse_f16(s: &str) -> Self {
-         let f: Half = s.parse().unwrap();
--        Self::F16(f16::from_bits(f.to_bits().try_into().unwrap()))
-+        Self::F16(f.to_bits().try_into().unwrap())
-     }
- 
-     fn parse_f128(s: &str) -> Self {
-         let f: Quad = s.parse().unwrap();
--        Self::F128(f128::from_bits(f.to_bits()))
-+        Self::F128(f.to_bits())
-     }
- }
- 
-@@ -851,10 +853,10 @@ pub fn mir_to_const<'tcx>(tcx: TyCtxt<'t
-             ty::Adt(adt_def, _) if adt_def.is_struct() => Some(Constant::Adt(result)),
-             ty::Bool => Some(Constant::Bool(int == ScalarInt::TRUE)),
-             ty::Uint(_) | ty::Int(_) => Some(Constant::Int(int.to_bits(int.size()))),
--            ty::Float(FloatTy::F16) => Some(Constant::F16(f16::from_bits(int.into()))),
-+            ty::Float(FloatTy::F16) => Some(Constant::F16(int.into())),
-             ty::Float(FloatTy::F32) => Some(Constant::F32(f32::from_bits(int.into()))),
-             ty::Float(FloatTy::F64) => Some(Constant::F64(f64::from_bits(int.into()))),
--            ty::Float(FloatTy::F128) => Some(Constant::F128(f128::from_bits(int.into()))),
-+            ty::Float(FloatTy::F128) => Some(Constant::F128(int.into())),
-             ty::RawPtr(_, _) => Some(Constant::RawPtr(int.to_bits(int.size()))),
-             _ => None,
-         },
-@@ -875,10 +877,10 @@ pub fn mir_to_const<'tcx>(tcx: TyCtxt<'t
-                 let range = alloc_range(offset + size * idx, size);
-                 let val = alloc.read_scalar(&tcx, range, /* read_provenance */ false).ok()?;
-                 res.push(match flt {
--                    FloatTy::F16 => Constant::F16(f16::from_bits(val.to_u16().discard_err()?)),
-+                    FloatTy::F16 => Constant::F16(val.to_u16().discard_err()?),
-                     FloatTy::F32 => Constant::F32(f32::from_bits(val.to_u32().discard_err()?)),
-                     FloatTy::F64 => Constant::F64(f64::from_bits(val.to_u64().discard_err()?)),
--                    FloatTy::F128 => Constant::F128(f128::from_bits(val.to_u128().discard_err()?)),
-+                    FloatTy::F128 => Constant::F128(val.to_u128().discard_err()?),
-                 });
-             }
-             Some(Constant::Vec(res))
diff --git a/rust187/patches/patch-src_tools_clippy_clippy__utils_src_lib.rs b/rust187/patches/patch-src_tools_clippy_clippy__utils_src_lib.rs
deleted file mode 100644
index 2d285353f6..0000000000
--- a/rust187/patches/patch-src_tools_clippy_clippy__utils_src_lib.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD$
-
-Following on from https://github.com/rust-lang/rust/issues/137630
-apply patch gracefully supplied in
-https://github.com/beetrees/rust/commit/21f8bda79b2904c827b9d8d769a1307acfd855a1
-.patch
-
-Fixes cross-build for 32-bit mips on NetBSD which
-does not (yet?) support the f16 data type.
-
---- src/tools/clippy/clippy_utils/src/lib.rs.orig	2025-02-17 18:17:27.000000000 +0000
-+++ src/tools/clippy/clippy_utils/src/lib.rs
-@@ -1,7 +1,5 @@
- #![feature(array_chunks)]
- #![feature(box_patterns)]
--#![feature(f128)]
--#![feature(f16)]
- #![feature(if_let_guard)]
- #![feature(macro_metavar_expr_concat)]
- #![feature(let_chains)]
diff --git a/rust187/patches/patch-src_tools_rust-installer_install-template.sh b/rust187/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust187/patches/patch-src_tools_rust-installer_install-template.sh
+++ /dev/null
@@ -1,179 +0,0 @@
-$NetBSD: patch-src_tools_rust-installer_install-template.sh,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-No logging to 'install.log'.
-Do not create 'uninstall.sh'.
-Do not make file backups (filename.old), so these will not end up in the final package.
-
-Rewrite to not use a whole lot of subprocesses just for doing
-pattern matching and substitution in the install phase using "grep"
-and "sed" when shell builtin "case" and "omit shortest match" ops
-should do just fine.
-
---- src/tools/rust-installer/install-template.sh.orig	2023-12-21 16:55:28.000000000 +0000
-+++ src/tools/rust-installer/install-template.sh
-@@ -6,20 +6,12 @@ set -u
- init_logging() {
-     local _abs_libdir="$1"
-     local _logfile="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/install.log"
--    rm -f "$_logfile"
--    need_ok "failed to remove old installation log"
--    touch "$_logfile"
--    need_ok "failed to create installation log"
-     LOGFILE="$_logfile"
- }
- 
- log_line() {
-     local _line="$1"
- 
--    if [ -n "${LOGFILE-}" -a -e "${LOGFILE-}" ]; then
--    echo "$_line" >> "$LOGFILE"
--    # Ignore errors, which may happen e.g. after the manifest dir is deleted
--    fi
- }
- 
- msg() {
-@@ -433,8 +425,8 @@ uninstall_components() {
-             local _directive
-             while read _directive; do
- 
--            local _command=`echo $_directive | cut -f1 -d:`
--            local _file=`echo $_directive | cut -f2 -d:`
-+            local _command=${_directive%%:*}
-+            local _file=${_directive#*:}
- 
-             # Sanity checks
-             if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -541,8 +533,8 @@ install_components() {
-     local _directive
-     while read _directive; do
- 
--        local _command=`echo $_directive | cut -f1 -d:`
--        local _file=`echo $_directive | cut -f2 -d:`
-+        local _command=${_directive%%:*}
-+        local _file=${_directive#*:}
- 
-         # Sanity checks
-         if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -551,36 +543,24 @@ install_components() {
-         # Decide the destination of the file
-         local _file_install_path="$_dest_prefix/$_file"
- 
--        if echo "$_file" | grep "^etc/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^etc\///')"
--        _file_install_path="$CFG_SYSCONFDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^bin/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^bin\///')"
--        _file_install_path="$CFG_BINDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^lib/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^lib\///')"
--        _file_install_path="$CFG_LIBDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^share" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^share\///')"
--        _file_install_path="$CFG_DATADIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^share/man/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^share\/man\///')"
--        _file_install_path="$CFG_MANDIR/$_f"
--        fi
--
-+        case "$_file" in
-+            etc/*)
-+                local _f=${_file#"etc/"}
-+                _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
-+                ;;
-+            bin/*)
-+                local _f=${_file#"bin/"}
-+                _file_install_path="$CFG_BINDIR/$_f"
-+                ;;
-+            lib/*)
-+                local _f=${_file#"lib/"}
-+                _file_install_path="$CFG_LIBDIR/$_f"
-+                ;;
-+            share/man/*)
-+                local _f=${_file#"share/man/"}
-+                _file_install_path="$CFG_MANDIR/$_f"
-+                ;;
-+            share/doc/*)
-             # HACK: Try to support overriding --docdir.  Paths with the form
-             # "share/doc/$product/" can be redirected to a single --docdir
-             # path. If the following detects that --docdir has been specified
-@@ -591,14 +571,17 @@ install_components() {
-             # contents of those directories are _not_ disjoint. Since this feature
-             # is almost entirely to support 'make install' anyway I don't expect
-             # this problem to be a big deal in practice.
--            if [ "$CFG_DOCDIR" != "<default>" ]
--            then
--            if echo "$_file" | grep "^share/doc/" > /dev/null
--            then
--            local _f="$(echo "$_file" | sed 's/^share\/doc\/[^/]*\///')"
--            _file_install_path="$CFG_DOCDIR/$_f"
--            fi
--            fi
-+                if [ "$CFG_DOCDIR" != "<default>" ]; then
-+                    local _f=${_file#"share/doc/"*/}
-+                    _file_install_path="$CFG_DOCDIR/$_f"
-+                fi
-+                ;;
-+            share/*)
-+                local _f=${_file#"share/"}
-+                _file_install_path="$CFG_DATADIR/$_f"
-+                ;;
-+        esac
-+
- 
-         # Make sure there's a directory for it
-         make_dir_recursive "$(dirname "$_file_install_path")"
-@@ -615,16 +598,16 @@ install_components() {
- 
-             verbose_msg "copying file $_file_install_path"
- 
--            maybe_backup_path "$_file_install_path"
--
--            if echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
--            then
--            run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--            run chmod 755 "$_file_install_path"
--            else
-+            local mode=644
-+            if test -x "$_src_dir/$_component/$_file"; then
-+                mode=755
-+            fi
-+            case "$_file" in
-+                bin/*) mode=755
-+                       ;;
-+            esac
-             run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--            run chmod 644 "$_file_install_path"
--            fi
-+            run chmod $mode "$_file_install_path"
-             critical_need_ok "file creation failed"
- 
-             # Update the manifest
-@@ -637,7 +620,6 @@ install_components() {
- 
-             verbose_msg "copying directory $_file_install_path"
- 
--            maybe_backup_path "$_file_install_path"
- 
-             run cp -R "$_src_dir/$_component/$_file" "$_file_install_path"
-             critical_need_ok "failed to copy directory"
-@@ -986,7 +968,6 @@ write_to_file "$TEMPLATE_RUST_INSTALLER_
- critical_need_ok "failed to write installer version"
- 
- # Install the uninstaller
--install_uninstaller "$src_dir" "$src_basename" "$abs_libdir"
- 
- # Install each component
- install_components "$src_dir" "$abs_libdir" "$dest_prefix" "$components"
diff --git a/rust187/patches/patch-tests_assembly_targets_targets-elf.rs b/rust187/patches/patch-tests_assembly_targets_targets-elf.rs
deleted file mode 100644
index 8a2594e503..0000000000
--- a/rust187/patches/patch-tests_assembly_targets_targets-elf.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Fix test suite.
-
---- tests/assembly/targets/targets-elf.rs.orig	2025-02-04 16:02:52.680691048 +0000
-+++ tests/assembly/targets/targets-elf.rs
-@@ -276,6 +276,9 @@
- //@ revisions: mips64el_unknown_linux_muslabi64
- //@ [mips64el_unknown_linux_muslabi64] compile-flags: --target mips64el-unknown-linux-muslabi64
- //@ [mips64el_unknown_linux_muslabi64] needs-llvm-components: mips
-+//@ revisions: mips64el_unknown_netbsd
-+//@ [mips64el_unknown_netbsd] compile-flags: --target mips64el_unknown_netbsd-unknown-linux-muslabi64
-+//@ [mips64el_unknown_netbsd] needs-llvm-components: mips
- //@ revisions: mips_unknown_linux_gnu
- //@ [mips_unknown_linux_gnu] compile-flags: --target mips-unknown-linux-gnu
- //@ [mips_unknown_linux_gnu] needs-llvm-components: mips
diff --git a/rust187/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust187/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index d587a1a864..0000000000
--- a/rust187/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD$
-
-Avoid using neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/bytecount-0.6.8/src/lib.rs.orig	2024-09-01 16:29:37.478735730 +0000
-+++ vendor/bytecount-0.6.8/src/lib.rs
-@@ -50,7 +50,10 @@ mod integer_simd;
-         feature = "runtime-dispatch-simd",
-         any(target_arch = "x86", target_arch = "x86_64")
-     ),
--    target_arch = "aarch64",
-+    all(
-+        target_arch = "aarch64",
-+        target_endian = "little"
-+    ),
-     target_arch = "wasm32",
-     feature = "generic-simd"
- ))]
-@@ -93,7 +96,11 @@ pub fn count(haystack: &[u8], needle: u8
-                 }
-             }
-         }
--        #[cfg(all(target_arch = "aarch64", not(feature = "generic_simd")))]
-+        #[cfg(all(
-+            target_arch = "aarch64",
-+            target_endian = "little",
-+            not(feature = "generic_simd")
-+        ))]
-         {
-             unsafe {
-                 return simd::aarch64::chunk_count(haystack, needle);
-@@ -155,7 +162,11 @@ pub fn num_chars(utf8_chars: &[u8]) -> u
-                 }
-             }
-         }
--        #[cfg(all(target_arch = "aarch64", not(feature = "generic_simd")))]
-+        #[cfg(all(
-+            target_arch = "aarch64",
-+            target_endian = "little",
-+            not(feature = "generic_simd")
-+        ))]
-         {
-             unsafe {
-                 return simd::aarch64::chunk_num_chars(utf8_chars);
diff --git a/rust187/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust187/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust187/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD/mipsel to non-atomic targets.
-
---- vendor/crossbeam-utils-0.8.18/no_atomic.rs.orig	2024-05-03 22:53:42.558166596 +0000
-+++ vendor/crossbeam-utils-0.8.18/no_atomic.rs
-@@ -5,6 +5,7 @@ const NO_ATOMIC: &[&str] = &[
-     "bpfeb-unknown-none",
-     "bpfel-unknown-none",
-     "mipsel-sony-psx",
-+    "mipsel-unknown-netbsd",
-     "msp430-none-elf",
-     "riscv32i-unknown-none-elf",
-     "riscv32im-unknown-none-elf",
diff --git a/rust187/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust187/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 1b6c7088be..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.155/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.155/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -3142,6 +3142,7 @@ cfg_if! {
-     if #[cfg(libc_union)] {
-         extern {
-             // these functions use statvfs:
-+            #[link_name = "__getmntinfo13"]
-             pub fn getmntinfo(mntbufp: *mut *mut ::statvfs, flags: ::c_int) -> ::c_int;
-             pub fn getvfsstat(buf: *mut statvfs, bufsize: ::size_t, flags: ::c_int) -> ::c_int;
-         }
diff --git a/rust187/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust187/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.155/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.155/src/unix/solarish/mod.rs
-@@ -1524,6 +1524,8 @@ pub const EOWNERDEAD: ::c_int = 58;
- pub const ENOTRECOVERABLE: ::c_int = 59;
- pub const ENOSTR: ::c_int = 60;
- pub const ENODATA: ::c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: ::c_int = 62;
- pub const ENOSR: ::c_int = 63;
- pub const ENONET: ::c_int = 64;
diff --git a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index ea3b603db6..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.167/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.167/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2872,6 +2872,7 @@ extern "C" {
-         hint: *const c_void,
-     ) -> c_int;
- 
-+    #[link_name = "__getmntinfo13"]
-     pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int;
-     pub fn getvfsstat(buf: *mut statvfs, bufsize: size_t, flags: c_int) -> c_int;
- }
diff --git a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 5bdabbf317..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-Patterned and simplified after patch to vendor/libc-0.2.169..
-This one is used during bootstrap build on riscv64.
-
---- vendor/libc-0.2.167/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-02-17 18:17:27.000000000 +0000
-+++ vendor/libc-0.2.167/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,4 +1,4 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
-@@ -8,15 +8,7 @@ pub type c_char = u8;
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
--
--s! {
--    pub struct mcontext_t {
--        pub __gregs: __gregset,
--        pub __fregs: __fpregset,
--        __spare: [crate::__greg_t; 7],
--    }
--}
-+pub type __fregset = [__fpreg; _NFREG];
- 
- s_no_extra_traits! {
-     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
-@@ -24,6 +16,11 @@ s_no_extra_traits! {
-         pub u_u64: u64,
-         pub u_d: c_double,
-     }
-+    pub struct mcontext_t {
-+        pub __gregs: __gregset,
-+        pub __fregs: __fregset,
-+        __spare: [crate::__greg_t; 7],
-+    }
- }
- 
- pub(crate) const _ALIGNBYTES: usize = mem::size_of::<c_long>() - 1;
diff --git a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_solarish_mod.rs b/rust187/patches/patch-vendor_libc-0.2.167_src_unix_solarish_mod.rs
deleted file mode 100644
index f3c8e1c437..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.167_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.167/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.167/src/unix/solarish/mod.rs
-@@ -1441,6 +1441,8 @@ pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
- pub const ENODATA: c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
- pub const ENONET: c_int = 64;
diff --git a/rust187/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs b/rust187/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
deleted file mode 100644
index 6af8f1a783..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.168/src/unix/solarish/mod.rs.orig	2025-04-05 11:37:41.783212722 +0000
-+++ vendor/libc-0.2.168/src/unix/solarish/mod.rs
-@@ -1421,6 +1421,8 @@ pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
- pub const ENODATA: c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
- pub const ENONET: c_int = 64;
diff --git a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 67b812ae9b..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2850,6 +2850,7 @@ extern "C" {
-         hint: *const c_void,
-     ) -> c_int;
- 
-+    #[link_name = "__getmntinfo13"]
-     pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int;
-     pub fn getvfsstat(buf: *mut statvfs, bufsize: size_t, flags: c_int) -> c_int;
- }
diff --git a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index a44e84040e..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-02-24 07:49:42.565876506 +0000
-+++ vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,4 +1,4 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
-@@ -8,20 +8,66 @@ pub type c_char = u8;
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
-+        pub __fregs: __fregset,
-         __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+	use core::marker::Copy;
-+	use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs b/rust187/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
deleted file mode 100644
index a1339953f1..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.169/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.169/src/unix/solarish/mod.rs
-@@ -1421,6 +1421,8 @@ pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
- pub const ENODATA: c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
- pub const ENONET: c_int = 64;
diff --git a/rust187/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust187/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 6111347f4f..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,89 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.170/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-05-19 23:28:32.395024196 +0000
-+++ vendor/libc-0.2.170/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,24 +1,70 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
-+        pub __fregs: __fregset,
-         __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+        use core::marker::Copy;
-+        use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust187/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust187/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index fdf24dce61..0000000000
--- a/rust187/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.171/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-05-19 22:03:59.982023413 +0000
-+++ vendor/libc-0.2.171/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,24 +1,70 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
--        __spare: [crate::__greg_t; 7],
-+        pub __fregs: __fregset,
-+        __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+        use core::marker::Copy;
-+        use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust187/patches/patch-vendor_line-index-0.1.2_src_lib.rs b/rust187/patches/patch-vendor_line-index-0.1.2_src_lib.rs
deleted file mode 100644
index 4d14411866..0000000000
--- a/rust187/patches/patch-vendor_line-index-0.1.2_src_lib.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD$
-
-Do not attempt use of neon extension in big-endian mode.
-
---- vendor/line-index-0.1.2/src/lib.rs.orig	2025-02-03 07:59:39.771200202 +0000
-+++ vendor/line-index-0.1.2/src/lib.rs
-@@ -235,7 +235,7 @@ fn analyze_source_file_dispatch(
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- fn analyze_source_file_dispatch(
-     src: &str,
-     lines: &mut Vec<TextSize>,
-@@ -347,7 +347,7 @@ unsafe fn analyze_source_file_sse2(
- }
- 
- #[target_feature(enable = "neon")]
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- #[inline]
- // See https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon
- //
-@@ -362,7 +362,7 @@ unsafe fn move_mask(v: std::arch::aarch6
- }
- 
- #[target_feature(enable = "neon")]
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn analyze_source_file_neon(
-     src: &str,
-     lines: &mut Vec<TextSize>,
-@@ -441,7 +441,7 @@ unsafe fn analyze_source_file_neon(
-     }
- }
- 
--#[cfg(not(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64")))]
-+#[cfg(not(any(target_arch = "x86", target_arch = "x86_64", all(target_arch = "aarch64", target_endian = "little"))))]
- // The target (or compiler version) does not support SSE2 ...
- fn analyze_source_file_dispatch(
-     src: &str,
diff --git a/rust187/patches/patch-vendor_lzma-sys-0.1.20_config.h b/rust187/patches/patch-vendor_lzma-sys-0.1.20_config.h
deleted file mode 100644
index 6eaa429abe..0000000000
--- a/rust187/patches/patch-vendor_lzma-sys-0.1.20_config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-clock_gettime() is available also on NetBSD.
-
-This takes care of this build error:
-
-  cargo:warning=xz-5.2/src/common/mythread.h: In function 'mythread_condtime_set':
-  cargo:warning=xz-5.2/src/common/mythread.h:312:9: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
-  cargo:warning=  312 |         gettimeofday(&now, NULL);
-  cargo:warning=      |         ^~~~~~~~~~~~
-
-which popped up when switching powerpc to using gcc14, but strangely
-was not triggered by gcc12 or in-tree gcc.
-
---- vendor/lzma-sys-0.1.20/config.h.orig	2025-02-11 23:15:56.129312069 +0000
-+++ vendor/lzma-sys-0.1.20/config.h
-@@ -39,7 +39,7 @@
-     #define MYTHREAD_POSIX 1
- #endif
- 
--#if defined(__sun)
-+#if defined(__sun) || defined(__NetBSD__)
-     #define HAVE_CLOCK_GETTIME 1
-     #define HAVE_DECL_CLOCK_MONOTONIC 1
- #endif
diff --git a/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs.orig	2024-09-22 14:55:32.455792108 +0000
-+++ vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs
-@@ -8,7 +8,7 @@ available for `aarch64` targets.)
- 
- macro_rules! defraw {
-     ($ty:ident, $find:ident, $start:ident, $end:ident, $($needles:ident),+) => {{
--        #[cfg(target_feature = "neon")]
-+        #[cfg(all(target_feature = "neon", target_endian = "little"))]
-         {
-             use crate::arch::aarch64::neon::memchr::$ty;
- 
-@@ -19,7 +19,7 @@ macro_rules! defraw {
-             // enabled.
-             $ty::new_unchecked($($needles),+).$find($start, $end)
-         }
--        #[cfg(not(target_feature = "neon"))]
-+        #[cfg(not(all(target_feature = "neon", target_endian = "little")))]
-         {
-             use crate::arch::all::memchr::$ty;
- 
diff --git a/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust187/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/arch/aarch64/mod.rs.orig	2024-09-22 19:17:13.167426584 +0000
-+++ vendor/memchr-2.7.4/src/arch/aarch64/mod.rs
-@@ -2,6 +2,8 @@
- Vector algorithms for the `aarch64` target.
- */
- 
-+#[cfg(target_endian = "little")]
- pub mod neon;
- 
-+#[cfg(target_endian = "little")]
- pub(crate) mod memchr;
diff --git a/rust187/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust187/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust187/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
+++ /dev/null
@@ -1,128 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/memchr.rs.orig	2024-09-22 14:50:24.931022916 +0000
-+++ vendor/memchr-2.7.4/src/memchr.rs
-@@ -518,14 +518,14 @@ unsafe fn memchr_raw(
-     {
-         crate::arch::wasm32::memchr::memchr_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).find_raw(start, end)
-@@ -551,14 +551,14 @@ unsafe fn memrchr_raw(
-     {
-         crate::arch::wasm32::memchr::memrchr_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).rfind_raw(start, end)
-@@ -585,14 +585,14 @@ unsafe fn memchr2_raw(
-     {
-         crate::arch::wasm32::memchr::memchr2_raw(needle1, needle2, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr2_raw(needle1, needle2, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Two::new(needle1, needle2)
-@@ -620,7 +620,7 @@ unsafe fn memrchr2_raw(
-     {
-         crate::arch::wasm32::memchr::memrchr2_raw(needle1, needle2, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr2_raw(
-             needle1, needle2, start, end,
-@@ -629,7 +629,7 @@ unsafe fn memrchr2_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Two::new(needle1, needle2)
-@@ -662,7 +662,7 @@ unsafe fn memchr3_raw(
-             needle1, needle2, needle3, start, end,
-         )
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr3_raw(
-             needle1, needle2, needle3, start, end,
-@@ -671,7 +671,7 @@ unsafe fn memchr3_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
-@@ -704,7 +704,7 @@ unsafe fn memrchr3_raw(
-             needle1, needle2, needle3, start, end,
-         )
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr3_raw(
-             needle1, needle2, needle3, start, end,
-@@ -713,7 +713,7 @@ unsafe fn memrchr3_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
-@@ -736,14 +736,14 @@ unsafe fn count_raw(needle: u8, start: *
-     {
-         crate::arch::wasm32::memchr::count_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::count_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).count_raw(start, end)
diff --git a/rust187/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust187/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust187/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
+++ /dev/null
@@ -1,78 +0,0 @@
-$NetBSD$
-
-Don't try to use neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/memmem/searcher.rs.orig	2024-09-22 14:44:21.224731060 +0000
-+++ vendor/memchr-2.7.4/src/memmem/searcher.rs
-@@ -3,7 +3,7 @@ use crate::arch::all::{
-     rabinkarp, twoway,
- };
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- use crate::arch::aarch64::neon::packedpair as neon;
- #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
- use crate::arch::wasm32::simd128::packedpair as simd128;
-@@ -129,7 +129,7 @@ impl Searcher {
-                 Searcher::twoway(needle, rabinkarp, prestrat)
-             }
-         }
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-         {
-             if let Some(pp) = neon::Finder::with_pair(needle, pair) {
-                 if do_packed_search(needle) {
-@@ -152,7 +152,7 @@ impl Searcher {
-         #[cfg(not(any(
-             all(target_arch = "x86_64", target_feature = "sse2"),
-             all(target_arch = "wasm32", target_feature = "simd128"),
--            target_arch = "aarch64"
-+            all(target_arch = "aarch64", target_endian = "little")
-         )))]
-         {
-             if prefilter.is_none() {
-@@ -253,7 +253,7 @@ union SearcherKind {
-     avx2: crate::arch::x86_64::avx2::packedpair::Finder,
-     #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
-     simd128: crate::arch::wasm32::simd128::packedpair::Finder,
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     neon: crate::arch::aarch64::neon::packedpair::Finder,
- }
- 
-@@ -421,7 +421,7 @@ unsafe fn searcher_kind_simd128(
- /// # Safety
- ///
- /// Callers must ensure that the `searcher.kind.neon` union field is set.
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn searcher_kind_neon(
-     searcher: &Searcher,
-     _prestate: &mut PrefilterState,
-@@ -686,7 +686,7 @@ impl Prefilter {
-     }
- 
-     /// Return a prefilter using a aarch64 neon vector algorithm.
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     #[inline]
-     fn neon(finder: neon::Finder, needle: &[u8]) -> Prefilter {
-         trace!("building aarch64 neon prefilter");
-@@ -763,7 +763,7 @@ union PrefilterKind {
-     avx2: crate::arch::x86_64::avx2::packedpair::Finder,
-     #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
-     simd128: crate::arch::wasm32::simd128::packedpair::Finder,
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     neon: crate::arch::aarch64::neon::packedpair::Finder,
- }
- 
-@@ -852,7 +852,7 @@ unsafe fn prefilter_kind_simd128(
- /// # Safety
- ///
- /// Callers must ensure that the `strat.kind.neon` union field is set.
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn prefilter_kind_neon(
-     strat: &Prefilter,
-     haystack: &[u8],
diff --git a/rust187/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust187/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust187/patches/patch-vendor_memchr-2.7.4_src_vector.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/vector.rs.orig	2024-09-22 14:16:06.473207292 +0000
-+++ vendor/memchr-2.7.4/src/vector.rs
-@@ -289,7 +289,7 @@ mod x86avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf b/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
deleted file mode 100644
index ce1d7f1936..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Replicate part of
-https://github.com/openssl/openssl/pull/15086
-
---- vendor/openssl-src-111.17.0+1.1.1m/openssl/Configurations/10-main.conf.orig	2025-05-18 13:23:47.013841572 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/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",
diff --git a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c b/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
deleted file mode 100644
index 37ef9a648d..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Make this build if bswap32 is already defined, as for NetBSD/i586.
-
---- vendor/openssl-src-111.17.0+1.1.1m/openssl/crypto/aria/aria.c.orig	2025-05-19 20:01:02.477323075 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/openssl/crypto/aria/aria.c
-@@ -32,9 +32,11 @@
- #define rotl32(v, r) (((uint32_t)(v) << (r)) | ((uint32_t)(v) >> (32 - r)))
- #define rotr32(v, r) (((uint32_t)(v) >> (r)) | ((uint32_t)(v) << (32 - r)))
- 
-+#ifndef bswap32
- #define bswap32(v)                                          \
-     (((v) << 24) ^ ((v) >> 24) ^                            \
-     (((v) & 0x0000ff00) << 8) ^ (((v) & 0x00ff0000) >> 8))
-+#endif
- 
- #define GET_U8_BE(X, Y) ((uint8_t)((X) >> ((3 - Y) * 8)))
- #define GET_U32_BE(X, Y) (                                  \
diff --git a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs b/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
deleted file mode 100644
index 58e6db0ad3..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-$NetBSD$
-
-Add the various NetBSD targets.
-
---- vendor/openssl-src-111.17.0+1.1.1m/src/lib.rs.orig	2025-05-18 13:26:41.970702318 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/src/lib.rs
-@@ -219,6 +219,8 @@ impl Build {
-             "aarch64-unknown-freebsd" => "BSD-generic64",
-             "aarch64-unknown-linux-gnu" => "linux-aarch64",
-             "aarch64-unknown-linux-musl" => "linux-aarch64",
-+            "aarch64-unknown-netbsd" => "BSD-generic64",
-+            "aarch64_be-unknown-netbsd" => "BSD-generic64",
-             "aarch64-pc-windows-msvc" => "VC-WIN64-ARM",
-             "arm-linux-androideabi" => "linux-armv4",
-             "armv7-linux-androideabi" => "linux-armv4",
-@@ -229,14 +231,17 @@ impl Build {
-             "armv5te-unknown-linux-gnueabi" => "linux-armv4",
-             "armv5te-unknown-linux-musleabi" => "linux-armv4",
-             "armv6-unknown-freebsd" => "BSD-generic32",
-+            "armv6-unknown-netbsd-eabihf" => "BSD-generic32",
-             "armv7-unknown-freebsd" => "BSD-generic32",
-             "armv7-unknown-linux-gnueabi" => "linux-armv4",
-             "armv7-unknown-linux-musleabi" => "linux-armv4",
-             "armv7-unknown-linux-gnueabihf" => "linux-armv4",
-             "armv7-unknown-linux-musleabihf" => "linux-armv4",
-+            "armv7-unknown-netbsd-eabihf" => "BSD-generic32",
-             "asmjs-unknown-emscripten" => "gcc",
-             "i586-unknown-linux-gnu" => "linux-elf",
-             "i586-unknown-linux-musl" => "linux-elf",
-+            "i586-unknown-netbsd" => "BSD-x86-elf",
-             "i686-apple-darwin" => "darwin-i386-cc",
-             "i686-linux-android" => "linux-elf",
-             "i686-pc-windows-gnu" => "mingw",
-@@ -244,6 +249,7 @@ impl Build {
-             "i686-unknown-freebsd" => "BSD-x86-elf",
-             "i686-unknown-linux-gnu" => "linux-elf",
-             "i686-unknown-linux-musl" => "linux-elf",
-+            "i686-unknown-netbsd" => "BSD-x86-elf",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-             "mips-unknown-linux-musl" => "linux-mips32",
-             "mips64-unknown-linux-gnuabi64" => "linux64-mips64",
-@@ -252,8 +258,10 @@ impl Build {
-             "mips64el-unknown-linux-muslabi64" => "linux64-mips64",
-             "mipsel-unknown-linux-gnu" => "linux-mips32",
-             "mipsel-unknown-linux-musl" => "linux-mips32",
-+            "mipsel-unknown-netbsd" => "NetBSD-generic32",
-             "powerpc-unknown-freebsd" => "BSD-generic32",
-             "powerpc-unknown-linux-gnu" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -261,8 +269,10 @@ impl Build {
-             "powerpc64le-unknown-linux-gnu" => "linux-ppc64le",
-             "powerpc64le-unknown-linux-musl" => "linux-ppc64le",
-             "riscv64gc-unknown-linux-gnu" => "linux-generic64",
-+            "riscv64gc-unknown-netbsd" => "BSD-generic64",
-             "s390x-unknown-linux-gnu" => "linux64-s390x",
-             "s390x-unknown-linux-musl" => "linux64-s390x",
-+            "sparc64-unknown-netbsd" => "BSD-generic64",
-             "x86_64-apple-darwin" => "darwin64-x86_64-cc",
-             "x86_64-linux-android" => "linux-x86_64",
-             "x86_64-pc-windows-gnu" => "mingw64",
diff --git a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf b/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
deleted file mode 100644
index c49cf39580..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Replicate part of
-https://github.com/openssl/openssl/pull/15086
-
---- vendor/openssl-src-300.4.2+3.4.1/openssl/Configurations/10-main.conf.orig	2025-05-20 09:03:49.120083364 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/openssl/Configurations/10-main.conf
-@@ -1033,6 +1033,10 @@ my %targets = (
-         shared_target    => "bsd-gcc-shared",
-         shared_cflag     => "-fPIC",
-     },
-+    "NetBSD-generic32" => {
-+        inherit_from    => [ "BSD-generic32" ],
-+        ex_libs         => add(threads("-latomic")),
-+    },
-     "BSD-generic64" => {
-         inherit_from     => [ "BSD-generic32" ],
-         bn_ops           => "SIXTY_FOUR_BIT_LONG",
diff --git a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c b/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
deleted file mode 100644
index 1ecc68763c..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Make this build also if bswap32 is already defined, as for NetBSD/i586.
-
---- vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/aria/aria.c.orig	2025-05-19 20:04:00.808387729 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/aria/aria.c
-@@ -32,9 +32,11 @@
- #define rotl32(v, r) (((uint32_t)(v) << (r)) | ((uint32_t)(v) >> (32 - r)))
- #define rotr32(v, r) (((uint32_t)(v) >> (r)) | ((uint32_t)(v) << (32 - r)))
- 
-+#ifndef bswap32
- #define bswap32(v)                                          \
-     (((v) << 24) ^ ((v) >> 24) ^                            \
-     (((v) & 0x0000ff00) << 8) ^ (((v) & 0x00ff0000) >> 8))
-+#endif
- 
- #define GET_U8_BE(X, Y) ((uint8_t)((X) >> ((3 - Y) * 8)))
- #define GET_U32_BE(X, Y) (                                  \
diff --git a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs b/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
deleted file mode 100644
index 13fae397c7..0000000000
--- a/rust187/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Make this build on NetBSD for arm64 and mipsel as well.
-
---- vendor/openssl-src-300.4.2+3.4.1/src/lib.rs.orig	2025-05-18 21:45:55.955282328 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/src/lib.rs
-@@ -321,6 +321,7 @@ impl Build {
-             "armv5te-unknown-linux-gnueabi" => "linux-armv4",
-             "armv5te-unknown-linux-musleabi" => "linux-armv4",
-             "armv6-unknown-freebsd" => "BSD-generic32",
-+            "armv6-unknown-netbsd-eabihf" => "BSD-generic32",
-             "armv6-alpine-linux-musleabihf" => "linux-armv6",
-             "armv7-unknown-freebsd" => "BSD-armv4",
-             "armv7-unknown-linux-gnueabi" => "linux-armv4",
-@@ -356,6 +357,7 @@ impl Build {
-             "mips64el-unknown-linux-muslabi64" => "linux64-mips64",
-             "mipsel-unknown-linux-gnu" => "linux-mips32",
-             "mipsel-unknown-linux-musl" => "linux-mips32",
-+            "mipsel-unknown-netbsd" => "NetBSD-generic32",
-             "powerpc-unknown-freebsd" => "BSD-ppc",
-             "powerpc-unknown-linux-gnu" => "linux-ppc",
-             "powerpc-unknown-linux-gnuspe" => "linux-ppc",
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
deleted file mode 100644
index 80d98e247b..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.102/build/find_normal.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.102/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
deleted file mode 100644
index a15188f472..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.102/build/main.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.102/build/main.rs
-@@ -142,6 +142,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on ilp32 ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+       println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
deleted file mode 100644
index d582f13250..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.104/build/find_normal.rs.orig	2025-05-18 13:34:58.828236052 +0000
-+++ vendor/openssl-sys-0.9.104/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
deleted file mode 100644
index eb03728346..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.104/build/main.rs.orig	2025-05-18 13:40:14.561460017 +0000
-+++ vendor/openssl-sys-0.9.104/build/main.rs
-@@ -218,6 +218,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on NetBSD ilp32 ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+        println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_find__normal.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_find__normal.rs
deleted file mode 100644
index cf7e90fd82..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.106/build/find_normal.rs.orig	2025-05-18 13:32:26.389875947 +0000
-+++ vendor/openssl-sys-0.9.106/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_main.rs b/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_main.rs
deleted file mode 100644
index 577888ec30..0000000000
--- a/rust187/patches/patch-vendor_openssl-sys-0.9.106_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.106/build/main.rs.orig	2025-05-18 13:36:43.472198938 +0000
-+++ vendor/openssl-sys-0.9.106/build/main.rs
-@@ -219,6 +219,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on ilp32 NetBSD ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+        println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust187/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust187/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust187/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.9 2024/04/18 09:29:43 pin Exp $
-
-Add aarch64_be NetBSD target.
-
---- /dev/null	2021-04-26 00:02:43.147970692 +0200
-+++ vendor/rustc-ap-rustc_target/src/spec/aarch64_be_unknown_netbsd.rs	2021-04-26 00:07:44.657579025 +0200
-@@ -0,0 +1,20 @@
-+use crate::abi::Endian;
-+use crate::spec::{Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    let mut base = super::netbsd_base::opts();
-+    base.max_atomic_width = Some(128);
-+    base.unsupported_abis = super::arm_base::unsupported_abis();
-+
-+    Target {
-+        llvm_target: "aarch64_be-unknown-netbsd".to_string(),
-+        pointer_width: 64,
-+        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
-+        arch: "aarch64".to_string(),
-+        options: TargetOptions {
-+            mcount: "__mcount".to_string(),
-+            endian: Endian::Big,
-+            ..base
-+        },
-+    }
-+}
diff --git a/rust187/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust187/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust187/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Attempt at skipping SIMD / neon on big-endian aarch64,
-ref. https://github.com/rust-lang/rust/issues/129819.
-
---- vendor/zerocopy-0.7.32/src/lib.rs.orig	2024-09-01 12:56:49.837065351 +0000
-+++ vendor/zerocopy-0.7.32/src/lib.rs
-@@ -3715,7 +3715,7 @@ mod simd {
-             powerpc64, powerpc64, vector_bool_long, vector_double, vector_signed_long, vector_unsigned_long
-         );
-         simd_arch_mod!(
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
-             int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
-             int16x8_t, int32x2_t, int32x4_t, int64x1_t, int64x2_t, poly8x8_t, poly8x8x2_t, poly8x8x3_t,
-@@ -7998,7 +7998,7 @@ mod tests {
-                 vector_signed_long,
-                 vector_unsigned_long
-             );
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             #[rustfmt::skip]
-             test_simd_arch_mod!(
-                 aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
diff --git a/rust187/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs b/rust187/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
deleted file mode 100644
index d71d7d0924..0000000000
--- a/rust187/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Attempt at skipping SIMD / neon on big-endian aarch64,
-ref. https://github.com/rust-lang/rust/issues/129819.
-
---- vendor/zerocopy-0.7.35/src/lib.rs.orig	2024-08-31 21:15:29.602997509 +0000
-+++ vendor/zerocopy-0.7.35/src/lib.rs
-@@ -3727,7 +3727,7 @@ mod simd {
-             powerpc64, powerpc64, vector_bool_long, vector_double, vector_signed_long, vector_unsigned_long
-         );
-         simd_arch_mod!(
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
-             int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
-             int16x8_t, int32x2_t, int32x4_t, int64x1_t, int64x2_t, poly8x8_t, poly8x8x2_t, poly8x8x3_t,
-@@ -8020,7 +8020,7 @@ mod tests {
-                 vector_signed_long,
-                 vector_unsigned_long
-             );
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             #[rustfmt::skip]
-             test_simd_arch_mod!(
-                 aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
diff --git a/rust187/patches/patch-vendor_zeroize-1.8.1_src_lib.rs b/rust187/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
deleted file mode 100644
index 990d660c45..0000000000
--- a/rust187/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to use the NEON-specific module in big-endian mode.
-
---- vendor/zeroize-1.8.1/src/lib.rs.orig	2025-04-06 07:17:23.864281079 +0000
-+++ vendor/zeroize-1.8.1/src/lib.rs
-@@ -245,7 +245,7 @@ extern crate std;
- #[cfg(feature = "zeroize_derive")]
- pub use zeroize_derive::{Zeroize, ZeroizeOnDrop};
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64;
- #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
- mod x86;
diff --git a/rust187/platform.mk b/rust187/platform.mk
deleted file mode 100644
index d3ef0fd1d6..0000000000
--- a/rust187/platform.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# $NetBSD: platform.mk,v 1.27 2024/08/01 15:24:39 tnn Exp $
-
-# This file encodes whether a given platform has support for rust.
-
-# Platforms where rust ought to work but does not require a link to an
-# open PR.
-
-.if !defined(PLATFORM_SUPPORTS_RUST)
-
-# Rust needs NetBSD>8
-.for rust_arch in aarch64 earmv6hf earmv7hf i386 powerpc riscv64 sparc64 x86_64
-.  for rust_os in Darwin FreeBSD Linux NetBSD SunOS
-.    if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-8].*)
-RUST_PLATFORMS+=	${rust_os}-*-${rust_arch}
-.    endif
-.  endfor
-.endfor
-
-RUST_DIR?=	../../lang/rust
-
-.for rust_platform in ${RUST_PLATFORMS}
-.  if !empty(MACHINE_PLATFORM:M${rust_platform})
-PLATFORM_SUPPORTS_RUST=		yes
-.  endif
-.endfor
-PLATFORM_SUPPORTS_RUST?=	no
-
-.endif # !defined(PLATFORM_SUPPORTS_RUST)
diff --git a/rust187/rust.mk b/rust187/rust.mk
deleted file mode 100644
index dc01362fd5..0000000000
--- a/rust187/rust.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-# $NetBSD: rust.mk,v 1.9 2024/07/07 11:00:37 wiz Exp $
-#
-# This file determines the type of rust package to use.
-#
-# It should be included by rust-dependent packages that don't use
-# cargo.mk.
-#
-# === User-settable variables ===
-#
-# RUST_TYPE
-#	The preferred type of Rust release to use -
-#	either bootstrap-from-source or an official binary.
-#
-#	Official Rust binaries are only published for certain platforms,
-#	including Darwin, FreeBSD, Linux, and NetBSD x86_64.
-#
-#	Possible values: src bin native
-#	Default: "src", except on 32-bit arm where it's "bin"
-#
-# === Package-settable variables ===
-#
-# RUST_REQ
-#	The minimum version of Rust required by the package.
-#
-#	Default: 1.56.1
-#
-# RUST_RUNTIME
-#	Whether rust is a runtime dependency.
-#	Usually it is only needed to build.
-#
-#	Possible values: yes no
-#	Default: no
-
-.include "../../mk/bsd.fast.prefs.mk"
-.include "platform.mk"
-
-RUST_REQ?=	1.56.1
-RUST_RUNTIME?=	no
-
-.if ${MACHINE_PLATFORM:M*-*-earm*}
-RUST_TYPE?=	bin
-.else
-RUST_TYPE?=	src
-.endif
-
-.if ${RUST_TYPE} == "bin"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust-bin?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=${RUST_REQ}
-.  include "${RUST_DIR}-bin/buildlink3.mk"
-.endif
-
-.if ${RUST_TYPE} == "src"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust+=		rust>=${RUST_REQ}
-.  include "${RUST_DIR}/buildlink3.mk"
-.endif
diff --git a/rust188-bin/DESCR b/rust188-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust188-bin/DESCR
+++ /dev/null
@@ -1,17 +0,0 @@
-Rust is a systems programming language focused on three goals: safety,
-speed, and concurrency.  It maintains these goals without having a
-garbage collector, making it a useful language for a number of use cases
-other languages aren't good at: embedding in other languages, programs
-with specific space and time requirements, and writing low-level code,
-like device drivers and operating systems.
-
-It improves on current languages targeting this space by having a number
-of compile-time safety checks that produce no runtime overhead, while
-eliminating all data races.  Rust also aims to achieve "zero-cost
-abstractions" even though some of these abstractions feel like those of
-a high-level language.  Even then, Rust still allows precise control
-like a low-level language would.
-
-This package installs a released binary, on architectures supported by
-upstream, or a TNF-built binary, on NetBSD versions not supported by
-upstream.
diff --git a/rust188-bin/Makefile b/rust188-bin/Makefile
deleted file mode 100644
index 1526969f64..0000000000
--- a/rust188-bin/Makefile
+++ /dev/null
@@ -1,308 +0,0 @@
-# $NetBSD: Makefile,v 1.75 2025/04/08 09:33:47 wiz Exp $
-
-DISTNAME=	rust-1.88.0
-PKGNAME=	${DISTNAME:S/rust/rust-bin/1}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-DIST_SUBDIR=	${PKGNAME_NOREV}
-
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://rust-lang.org/
-COMMENT=	Safe, concurrent, practical language (pre-built distribution)
-LICENSE=	mit OR apache-2.0
-
-CONFLICTS+=	rust-[0-9]*
-
-# Rust upstream provided binaries
-ONLY_FOR_PLATFORM+=	Darwin-*-aarch64
-ONLY_FOR_PLATFORM+=	Darwin-*-x86_64
-ONLY_FOR_PLATFORM+=	FreeBSD-*-x86_64
-ONLY_FOR_PLATFORM+=	Linux-*-aarch64
-ONLY_FOR_PLATFORM+=	Linux-*-i386
-ONLY_FOR_PLATFORM+=	Linux-*-x86_64
-ONLY_FOR_PLATFORM+=	NetBSD-*-x86_64
-
-# he%NetBSD.org@localhost provided binaries
-ONLY_FOR_PLATFORM+=	NetBSD-*-aarch64
-ONLY_FOR_PLATFORM+=	NetBSD-*-aarch64eb
-ONLY_FOR_PLATFORM+=	NetBSD-*-earmv7hf
-ONLY_FOR_PLATFORM+=	NetBSD-*-earmv6hf
-ONLY_FOR_PLATFORM+=	NetBSD-*-i386
-ONLY_FOR_PLATFORM+=	NetBSD-*-powerpc
-ONLY_FOR_PLATFORM+=	NetBSD-*-sparc64
-ONLY_FOR_PLATFORM+=	NetBSD-*-mipsel
-ONLY_FOR_PLATFORM+=	NetBSD-*-riscv64
-
-# Illumos, jperkin@ provided binaries
-ONLY_FOR_PLATFORM+=	SunOS-*-x86_64
-
-NETBSD_REPO=	https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/
-
-CHECK_RELRO_SKIP+=	lib/rustlib/*/bin/*
-
-CHECK_SHLIBS_SKIP+=	bin/cargo-clippy
-CHECK_SHLIBS_SKIP+=	bin/rustfmt
-
-# Bootstraps built for 9.0 or newer, -8 gcc is too old...
-BROKEN_ON_PLATFORM+=	NetBSD-8.*
-
-# Binary distributions aren't built as PIE.
-MKPIE_SUPPORTED=	no
-
-NO_BUILD=	yes
-USE_TOOLS+=	bash pax
-WRKSRC=		${WRKDIR}/${DISTFILES:C/.tar.[gx]z//}
-
-GENERATE_PLIST+=	find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
-			sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
-
-INSTALLATION_DIRS=	bin ${PKGMANDIR} share/doc/cargo/bash_completion.d
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000
-BROKEN+=		"Bootstrap unavailable for old NetBSD version"
-.endif
-
-DISTFILES:=	# empty
-
-# Rust upstream provided binaries
-
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MDarwin-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MFreeBSD-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-freebsd
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MLinux-*-i386} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	i686-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-aarch64} && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-aarch64} && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-linux-musl
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-x86_64} && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-linux-gnu
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if (${MACHINE_PLATFORM:MLinux-*-x86_64} && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-linux-musl
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	x86_64-unknown-netbsd
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-
-# NetBSD provided binaries:
-
-NBSUF=
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64eb} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64_be-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv6hf} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	armv6-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv7hf} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	armv7-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	i586-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	powerpc-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-sparc64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	sparc64-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	mipsel-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-riscv64} || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	riscv64gc-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-
-# Illumos:
-#.if ${MACHINE_PLATFORM:MSunOS-*-x86_64} || make(distinfo) || make(makesum) || make(mdi)
-#RUST_ARCH:=	x86_64-unknown-illumos
-#DN:=		${DISTNAME}
-#EXTRACT_SUFX=	.tar.gz
-#DF:=		${DN}-${RUST_ARCH}${EXTRACT_SUFX}
-#DISTFILES:=	${DISTFILES} ${DF}
-#SITES.${DF}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-#.endif
-
-
-# Binary still extracts to plain non-nb'ed directory
-WRKSRC:=	${WRKSRC:C/nb[0-9]*//}
-WRKSRC:=	${WRKSRC:C/-$//}
-
-do-install:
-	cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC}
-	cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \
-	--destdir=${DESTDIR} --prefix=${PREFIX}
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh
-
-.if ${OPSYS} == "Darwin"
-.PHONY: fix-darwin-install-name
-post-install: fix-darwin-install-name
-fix-darwin-install-name:
-.  for bin in cargo-clippy clippy-driver miri rls rust-analyzer rustc rustdoc rustfmt
-	otool -XL ${DESTDIR}${PREFIX}/bin/${bin}			\
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/bin/${bin};			\
-	done
-.  endfor
-.  for libexec in rust-analyzer-proc-macro-srv
-	otool -XL ${DESTDIR}${PREFIX}/libexec/${libexec}		\
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/libexec/${libexec};		\
-	done
-.  endfor
-.  for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump 	\
-		llvm-profdata llvm-readobj llvm-size llvm-strip
-	otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
-	done
-.  endfor
-.  for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends
-	for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do		\
-		[ ! -f $$f ] && continue;				\
-		install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
-		otool -XL $$f | grep '@rpath' | while read rpath rest; do \
-			install_name_tool -change $$rpath \
-			    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-			    $$f;					\
-		done;							\
-	done
-.  endfor
-.else
-# Not Darwin:
-
-TOOL_DEPENDS+=		patchelf-[0-9]*:../../devel/patchelf
-
-RUST_LLVM_RPATH=	${PREFIX}/lib
-FORCE_RPATH=		--force-rpath
-
-# 32-bit NetBSD ports need libatomic
-.  if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-      ${MACHINE_PLATFORM:MNetBSD-*-i386}
-.    include "../../devel/libatomic/buildlink3.mk"
-.  endif
-
-.PHONY: fix-relative-rpath
-post-install: fix-relative-rpath
-fix-relative-rpath:
-.  for bin in \
-	bin/cargo \
-	bin/cargo-clippy \
-	bin/cargo-fmt \
-	bin/clippy-driver \
-	bin/miri  \
-	bin/rls \
-	bin/rust-analyzer \
-	bin/rust-demangler \
-	bin/rustc \
-	bin/rustdoc \
-	bin/rustfmt \
-	libexec/rust-analyzer-proc-macro-srv
-	if [ -f ${DESTDIR}${PREFIX}/${bin} ]; then \
-		${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
-		    ${PREFIX}/lib ${DESTDIR}${PREFIX}/${bin} ; \
-	fi
-.  endfor
-# Only Linux builds link these binaries against an LLVM library
-.  if ${OPSYS} == "Linux"
-.    for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-link llvm-nm llvm-objcopy \
-	   llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
-	   rust-lld gcc-ld/ld64.lld gcc-ld/ld.lld gcc-ld/lld-link gcc-ld/wasm-ld
-	 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
-	   ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}
-.    endfor
-.  endif
-.  for lib in lib lib/rustlib/${RUST_ARCH}/lib \
-		lib/rustlib/${RUST_ARCH}/codegen-backends
-	for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do			\
-		[ ! -f $$f ] && continue;				\
-		${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f;	\
-	done
-.  endfor
-# wrong architecture binary distributed, unused except on macOS
-# https://github.com/rust-lang/rust/issues/139195
-# https://github.com/rust-lang/rust/issues/138943
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-objcopy
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust188-bin/buildlink3.mk b/rust188-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust188-bin/buildlink3.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.2 2022/07/01 07:00:28 pin Exp $
-
-BUILDLINK_TREE+=	rust-bin
-
-.if !defined(RUST_BIN_BUILDLINK3_MK)
-RUST_BIN_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=1.56.1
-BUILDLINK_PKGSRCDIR.rust-bin?=		../../lang/rust-bin
-BUILDLINK_PASSTHRU_DIRS+=		${PREFIX}/lib/rustlib
-.endif
-
-BUILDLINK_TREE+=	-rust-bin
diff --git a/rust188-bin/distinfo b/rust188-bin/distinfo
deleted file mode 100644
index 7ad92e1ca2..0000000000
--- a/rust188-bin/distinfo
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: distinfo,v 1.44 2025/04/08 09:33:47 wiz Exp $
-
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-aarch64-apple-darwin.tar.gz) = e598bba11e51fd6559850f9edf4088d30a0e83b721b81bfc28dfc078db7c71b6
-SHA512 (rust-bin-1.88.0/rust-1.88.0-aarch64-apple-darwin.tar.gz) = 2b87810076acd2d84bf2d97aec22234f4dde41cc496a8bcc6b1068c8dacf8071ab41cfe19bab30d8b074421a36dc465d3de56941c77a1f2399fa253ab2b51fd7
-Size (rust-bin-1.88.0/rust-1.88.0-aarch64-apple-darwin.tar.gz) = 371889808 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-gnu.tar.gz) = f17f443f05c4d5639ef57f445b886ce9fbea5dc8b8dc87eead2de6699099eaf9
-SHA512 (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-gnu.tar.gz) = 4c71c9d4fe5f60125d51f77a58b2172a48d67f5fccd9d478dea40d88159a65aba59f20be38be3d024c44c054ecc7bdb5017f2d139193b5f979c4bf2cf01a3422
-Size (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-gnu.tar.gz) = 311065166 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-musl.tar.gz) = d20511d01bb59c70c54c906ca9eb84e9bdbb2af56cf3559ecc88b2766d17521d
-SHA512 (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-musl.tar.gz) = e85bd67b6145726cd292b6cfef8a160d3bf74cdcfab878520a9ce6da9becddcc8632ba3e170c1a6751fcdeec50c6f4f90c4a01dbec4b2c84b3ab80fa0b9de921
-Size (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-linux-musl.tar.gz) = 443808038 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-netbsd.tar.xz) = 50641517079bf9474c2c7d3e132c870e0b6968c3810c67ffbab40d557232e372
-SHA512 (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-netbsd.tar.xz) = f40cbfb3ce16b35d409860c76aafa5de2ace4af60c9e2f46d418aabb707774e93f7eed807afb8017fab050ada3347a9d3f0394e243a653447af1640cc8cc1eff
-Size (rust-bin-1.88.0/rust-1.88.0-aarch64-unknown-netbsd.tar.xz) = 232820996 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-aarch64_be-unknown-netbsd.tar.xz) = a3d17f10b7a72df4eec5baea0e7f78aa022e7b8eeeefa8ac0d0508631552eb26
-SHA512 (rust-bin-1.88.0/rust-1.88.0-aarch64_be-unknown-netbsd.tar.xz) = 61505d5184888d4ae17c6b78313aec9205e201163653a42ed620493a4a634580ddb50ba41176a05b15eb82b21f1826b97140d5c0f86bda711f8cf72649a31c25
-Size (rust-bin-1.88.0/rust-1.88.0-aarch64_be-unknown-netbsd.tar.xz) = 232866308 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-armv6-unknown-netbsd-eabihf.tar.xz) = c892b41d3aa484ec9c877aa5154cdbf1d213c33e9baafb03a6233c7a69732193
-SHA512 (rust-bin-1.88.0/rust-1.88.0-armv6-unknown-netbsd-eabihf.tar.xz) = 2c92eaf11c767b9b81c8d8635ac2b0c33b37094be8675daf42a4e7e4aa1070ea152a484caa67637e1fed7fb2fb8f147302741e4f3f794c5fd2f2494026eac065
-Size (rust-bin-1.88.0/rust-1.88.0-armv6-unknown-netbsd-eabihf.tar.xz) = 184651684 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-armv7-unknown-netbsd-eabihf.tar.xz) = fddefb37b183ae71c459324a8f52662ffe97f77f403d0eb3bc801f617f95a752
-SHA512 (rust-bin-1.88.0/rust-1.88.0-armv7-unknown-netbsd-eabihf.tar.xz) = e7587f6d172d5a67be21eaa53605ba5ec93c5de9074bd6c32fd99b3aef636af9e5c5021d4959ad42e210291f1c0f3b3875171179309beed9891eb78e7792e8cb
-Size (rust-bin-1.88.0/rust-1.88.0-armv7-unknown-netbsd-eabihf.tar.xz) = 186443264 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-i586-unknown-netbsd.tar.xz) = b0c364f7a48b8a52faba67143867a8aa68e06594770fea3acaeea83f34772af4
-SHA512 (rust-bin-1.88.0/rust-1.88.0-i586-unknown-netbsd.tar.xz) = 34c2276a979cb1a9921cfbfea5fd92436f7cee2e704fecfa66678f18956f504b48926b07ae4bc20e282bdfd858467fd1a035607c7d1e75cf9afd771e85057238
-Size (rust-bin-1.88.0/rust-1.88.0-i586-unknown-netbsd.tar.xz) = 254159636 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-i686-unknown-linux-gnu.tar.gz) = 2376b994d9ae7060658f478075a0fe95b0f0f51722b67b7a89440968e886371b
-SHA512 (rust-bin-1.88.0/rust-1.88.0-i686-unknown-linux-gnu.tar.gz) = 2b23339eaadfca9f899dad38fa3796054fb0577fa907be4321ee5cc58f308abbc52238dd73f7aba1a071f5cb0104073b7cc876f96c3d2a592bea607de97c0ee0
-Size (rust-bin-1.88.0/rust-1.88.0-i686-unknown-linux-gnu.tar.gz) = 483505174 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-mipsel-unknown-netbsd.tar.xz) = b0d60d8433c431e35c7b62e07cc2a7b55e6afa48a7a957cbd31072b0c74ee56f
-SHA512 (rust-bin-1.88.0/rust-1.88.0-mipsel-unknown-netbsd.tar.xz) = 876045d23e1b809a8e72e35ec3a179943ca38e9e4ede713ba61aee058f758c4650ec27069645664b2526c9462a89436e55e4fd2f1072a59b98399e1afcce0809
-Size (rust-bin-1.88.0/rust-1.88.0-mipsel-unknown-netbsd.tar.xz) = 191220076 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-powerpc-unknown-netbsd.tar.xz) = 7a3239c4076a91bf9a67dd7c86ccc1ba85b99b7428c7583fb227b1f3ae97611f
-SHA512 (rust-bin-1.88.0/rust-1.88.0-powerpc-unknown-netbsd.tar.xz) = c63e583b4a628a2fde211ec1b2966540ebb8a73798a728fc5f68f2e2a831e8549dd65c9581cf3db1223d98400d7998c3077630c413b44d2ac420a35292fe157e
-Size (rust-bin-1.88.0/rust-1.88.0-powerpc-unknown-netbsd.tar.xz) = 266060872 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-riscv64gc-unknown-netbsd.tar.xz) = c46df1cd26318843f2d3da7a543d2ccb68621732e15be58fc903f41418534de9
-SHA512 (rust-bin-1.88.0/rust-1.88.0-riscv64gc-unknown-netbsd.tar.xz) = cf1b70e47cbbe39624d73eba8d2d57b8a594bd6af24664467a9b0091ad98c53d38fe6cccaac988d30e8e6bd800087bfd128f52708617977823988840e7097b41
-Size (rust-bin-1.88.0/rust-1.88.0-riscv64gc-unknown-netbsd.tar.xz) = 253189304 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-sparc64-unknown-netbsd.tar.xz) = 2774841316ae4589b298daac4420168119a6d51c7cf18f00e7f9755b5eef9476
-SHA512 (rust-bin-1.88.0/rust-1.88.0-sparc64-unknown-netbsd.tar.xz) = 53ec6e37ece660f6bab0809e1c0d079f9bc3f92a354d6808bbf001fbc446644774151496c39465414f87f94cb09bb37851278b254df569a64eddef48e4b0395b
-Size (rust-bin-1.88.0/rust-1.88.0-sparc64-unknown-netbsd.tar.xz) = 227555720 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-x86_64-apple-darwin.tar.gz) = 7e37004a4a8b52b782f366db7f62470a1105fa6ae00403cf7e7e134e847eb346
-SHA512 (rust-bin-1.88.0/rust-1.88.0-x86_64-apple-darwin.tar.gz) = b3f7a9e26622606e47d28ecf3f7065ce804728d2bf12df693cbd552cb0bdf9fe44b1bc14e8f2b69a05647091cb9be305881be9d168f0920fe0a3dfe9be404d66
-Size (rust-bin-1.88.0/rust-1.88.0-x86_64-apple-darwin.tar.gz) = 384165895 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-freebsd.tar.gz) = ddd54a59b0e8490523e4e5a0365406577759b0ba7597e88f39a355420e59738d
-SHA512 (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-freebsd.tar.gz) = 48caf334203bd978c4b5dc5cf0ba97b946664d8cf20c0914d92339778642ccfbb179a8957e8896ae546d99e2cb7d23d20307c0b76a9d8dac8ab4c73037419a33
-Size (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-freebsd.tar.gz) = 372872122 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-gnu.tar.gz) = 9dff5f4bf8a03546b2b2a5a87bd1ff65bab1d74ce8ff0a5a1fc2b9870bdd0b95
-SHA512 (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-gnu.tar.gz) = ebf44139bfb7648ee3993f475517119239c49bbffcda13f058cd37e0025b1d6fcf902b2aacacb6142f3464079c6e94019501bcff9575842c626760555b28edf7
-Size (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-gnu.tar.gz) = 355692289 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-musl.tar.gz) = 118cbe3e45c3d3e486ddc5456b7981a74882d1d6fda6c3e9e151c7d2dad50641
-SHA512 (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-musl.tar.gz) = 9be902fe5aa9304275dbe655e7be55aea6cb6451a73ae9ed4551581507b8ef49466943d626e877f44bd14b3cbb122d98e1201dd940cc5958d64f162aa13d7d59
-Size (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-linux-musl.tar.gz) = 529369467 bytes
-BLAKE2s (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-netbsd.tar.gz) = bf70d65becaec14f7274edef54ec5ccd50fced5284b0f4dd4f00111fac84c126
-SHA512 (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-netbsd.tar.gz) = 5d45cea40206ff95e664b0be77a34a92494143f4ac8ce6cd71218cfe9cc332a16bb189f3c4e862feb9944b32241a61b186bb2bda1de0034421da1a635a332b23
-Size (rust-bin-1.88.0/rust-1.88.0-x86_64-unknown-netbsd.tar.gz) = 394606838 bytes
diff --git a/rust188-bin/files/install.sh b/rust188-bin/files/install.sh
deleted file mode 100755
index 1cc270c333..0000000000
--- a/rust188-bin/files/install.sh
+++ /dev/null
@@ -1,971 +0,0 @@
-#!/bin/bash
-# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-# No undefined variables
-set -u
-
-init_logging() {
-    local _abs_libdir="$1"
-    local _logfile="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/install.log"
-    LOGFILE="$_logfile"
-}
-
-log_line() {
-    local _line="$1"
-
-}
-
-msg() {
-    local _line="install: ${1-}"
-    echo "$_line"
-    log_line "$_line"
-}
-
-verbose_msg() {
-    if [ -n "${CFG_VERBOSE-}" ]; then
-	msg "${1-}"
-    else
-	log_line "install: ${1-}"
-    fi
-}
-
-step_msg() {
-    msg
-    msg "$1"
-    msg
-}
-
-verbose_step_msg() {
-    if [ -n "${CFG_VERBOSE-}" ]; then
-	msg
-	msg "$1"
-	msg
-    else
-	log_line ""
-	log_line "install: $1"
-	log_line ""
-    fi
-}
-
-warn() {
-    local _line="install: WARNING: $1"
-    echo "$_line" >&2
-    log_line "$_line"
-}
-
-err() {
-    local _line="install: error: $1"
-    echo "$_line" >&2
-    log_line "$_line"
-    exit 1
-}
-
-# A non-user error that is likely to result in a corrupted install
-critical_err() {
-    local _line="install: error: $1. see logs at '${LOGFILE-}'"
-    echo "$_line" >&2
-    log_line "$_line"
-    exit 1
-}
-
-need_ok() {
-    if [ $? -ne 0 ]
-    then
-        err "$1"
-    fi
-}
-
-critical_need_ok() {
-    if [ $? -ne 0 ]
-    then
-        critical_err "$1"
-    fi
-}
-
-want_ok() {
-    if [ $? -ne 0 ]; then
-	warn "$1"
-    fi
-}
-
-assert_nz() {
-    if [ -z "$1" ]; then err "assert_nz $2"; fi
-}
-
-need_cmd() {
-    if command -v $1 >/dev/null 2>&1
-    then verbose_msg "found $1"
-    else err "need $1"
-    fi
-}
-
-run() {
-    local _line="\$ $*"
-    "$@"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-write_to_file() {
-    local _msg="$1"
-    local _file="$2"
-    local _line="$ echo \"$_msg\" > \"$_file\""
-    echo "$_msg" > "$_file"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-append_to_file() {
-    local _msg="$1"
-    local _file="$2"
-    local _line="$ echo \"$_msg\" >> \"$_file\""
-    echo "$_msg" >> "$_file"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-make_dir_recursive() {
-    local _dir="$1"
-    local _line="$ umask 022 && mkdir -p \"$_dir\""
-    umask 022 && mkdir -p "$_dir"
-    local _retval=$?
-    log_line "$_line"
-    return $_retval
-}
-
-putvar() {
-    local t
-    local tlen
-    eval t=\$$1
-    eval tlen=\${#$1}
-}
-
-valopt() {
-    VAL_OPTIONS="$VAL_OPTIONS $1"
-
-    local op=$1
-    local default=$2
-    shift
-    shift
-    local doc="$*"
-    if [ $HELP -eq 0 ]
-    then
-        local uop=$(echo $op | tr 'a-z-' 'A-Z_')
-        local v="CFG_${uop}"
-        eval $v="$default"
-        for arg in $CFG_ARGS
-        do
-            if echo "$arg" | grep -q -- "--$op="
-            then
-                local val=$(echo "$arg" | cut -f2 -d=)
-                eval $v=$val
-            fi
-        done
-        putvar $v
-    else
-        if [ -z "$default" ]
-        then
-            default="<none>"
-        fi
-        op="${op}=[${default}]"
-        printf "    --%-30s %s\n" "$op" "$doc"
-    fi
-}
-
-opt() {
-    BOOL_OPTIONS="$BOOL_OPTIONS $1"
-
-    local op=$1
-    local default=$2
-    shift
-    shift
-    local doc="$*"
-    local flag=""
-
-    if [ $default -eq 0 ]
-    then
-        flag="enable"
-    else
-        flag="disable"
-        doc="don't $doc"
-    fi
-
-    if [ $HELP -eq 0 ]
-    then
-        for arg in $CFG_ARGS
-        do
-            if [ "$arg" = "--${flag}-${op}" ]
-            then
-                op=$(echo $op | tr 'a-z-' 'A-Z_')
-                flag=$(echo $flag | tr 'a-z' 'A-Z')
-                local v="CFG_${flag}_${op}"
-                eval $v=1
-                putvar $v
-            fi
-        done
-    else
-        if [ ! -z "${META-}" ]
-        then
-            op="$op=<$META>"
-        fi
-        printf "    --%-30s %s\n" "$flag-$op" "$doc"
-     fi
-}
-
-flag() {
-    BOOL_OPTIONS="$BOOL_OPTIONS $1"
-
-    local op=$1
-    shift
-    local doc="$*"
-
-    if [ $HELP -eq 0 ]
-    then
-        for arg in $CFG_ARGS
-        do
-            if [ "$arg" = "--${op}" ]
-            then
-                op=$(echo $op | tr 'a-z-' 'A-Z_')
-                local v="CFG_${op}"
-                eval $v=1
-                putvar $v
-            fi
-        done
-    else
-        if [ ! -z "${META-}" ]
-        then
-            op="$op=<$META>"
-        fi
-        printf "    --%-30s %s\n" "$op" "$doc"
-     fi
-}
-
-validate_opt () {
-    for arg in $CFG_ARGS
-    do
-        local is_arg_valid=0
-        for option in $BOOL_OPTIONS
-        do
-            if test --disable-$option = $arg
-            then
-                is_arg_valid=1
-            fi
-            if test --enable-$option = $arg
-            then
-                is_arg_valid=1
-            fi
-            if test --$option = $arg
-            then
-                is_arg_valid=1
-            fi
-        done
-        for option in $VAL_OPTIONS
-        do
-            if echo "$arg" | grep -q -- "--$option="
-            then
-                is_arg_valid=1
-            fi
-        done
-        if [ "$arg" = "--help" ]
-        then
-            echo
-            echo "No more help available for Configure options,"
-            echo "check the Wiki or join our IRC channel"
-            break
-        else
-            if test $is_arg_valid -eq 0
-            then
-                err "Option '$arg' is not recognized"
-            fi
-        fi
-    done
-}
-
-absolutify() {
-    local file_path="$1"
-    local file_path_dirname="$(dirname "$file_path")"
-    local file_path_basename="$(basename "$file_path")"
-    local file_abs_path="$(abs_path "$file_path_dirname")"
-    local file_path="$file_abs_path/$file_path_basename"
-    # This is the return value
-    RETVAL="$file_path"
-}
-
-# Prints the absolute path of a directory to stdout
-abs_path() {
-    local path="$1"
-    # Unset CDPATH because it causes havok: it makes the destination unpredictable
-    # and triggers 'cd' to print the path to stdout. Route `cd`'s output to /dev/null
-    # for good measure.
-    (unset CDPATH && cd "$path" > /dev/null && pwd)
-}
-
-uninstall_legacy() {
-    local _abs_libdir="$1"
-
-    local _uninstalled_something=false
-
-    # Replace commas in legacy manifest list with spaces
-    _legacy_manifest_dirs=`echo "$TEMPLATE_LEGACY_MANIFEST_DIRS" | sed "s/,/ /g"`
-
-    # Uninstall from legacy manifests
-    local _md
-    for _md in $_legacy_manifest_dirs; do
-	# First, uninstall from the installation prefix.
-	# Errors are warnings - try to rm everything in the manifest even if some fail.
-	if [ -f "$_abs_libdir/$_md/manifest" ]
-	then
-
-	    # iterate through installed manifest and remove files
-	    local _p;
-	    while read _p; do
-		# the installed manifest contains absolute paths
-		msg "removing legacy file $_p"
-		if [ -f "$_p" ]
-		then
-		    run rm -f "$_p"
-		    want_ok "failed to remove $_p"
-		else
-		    warn "supposedly installed file $_p does not exist!"
-		fi
-	    done < "$_abs_libdir/$_md/manifest"
-
-	    # If we fail to remove $md below, then the
-	    # installed manifest will still be full; the installed manifest
-	    # needs to be empty before install.
-	    msg "removing legacy manifest $_abs_libdir/$_md/manifest"
-	    run rm -f "$_abs_libdir/$_md/manifest"
-	    # For the above reason, this is a hard error
-	    need_ok "failed to remove installed manifest"
-
-	    # Remove $template_rel_manifest_dir directory
-	    msg "removing legacy manifest dir $_abs_libdir/$_md"
-	    run rm -R "$_abs_libdir/$_md"
-	    want_ok "failed to remove $_md"
-
-	    _uninstalled_something=true
-	fi
-    done
-
-    RETVAL="$_uninstalled_something"
-}
-
-uninstall_components() {
-    local _abs_libdir="$1"
-    local _dest_prefix="$2"
-    local _components="$3"
-
-    # We're going to start by uninstalling existing components. This
-    local _uninstalled_something=false
-
-    # First, try removing any 'legacy' manifests from before
-    # rust-installer
-    uninstall_legacy "$_abs_libdir"
-    assert_nz "$RETVAL", "RETVAL"
-    if [ "$RETVAL" = true ]; then
-	_uninstalled_something=true;
-    fi
-
-    # Load the version of the installed installer
-    local _installed_version=
-    if [ -f "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version" ]; then
-	_installed_version=`cat "$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version"`
-
-	# Sanity check
-	if [ ! -n "$_installed_version" ]; then critical_err "rust installer version is empty"; fi
-    fi
-
-    # If there's something installed, then uninstall
-    if [ -n "$_installed_version" ]; then
-	# Check the version of the installed installer
-	case "$_installed_version" in
-
-	    # If this is a previous version, then upgrade in place to the
-	    # current version before uninstalling.
-	    2 )
-		# The only change between version 2 -> 3 is that components are placed
-		# in subdirectories of the installer tarball. There are no changes
-		# to the installed data format, so nothing to do.
-		;;
-
-	    # This is the current version. Nothing need to be done except uninstall.
-	    "$TEMPLATE_RUST_INSTALLER_VERSION")
-		;;
-
-	    # If this is an unknown (future) version then bail.
-	    * )
-		echo "The copy of $TEMPLATE_PRODUCT_NAME at $_dest_prefix was installed using an"
-		echo "unknown version ($_installed_version) of rust-installer."
-		echo "Uninstall it first with the installer used for the original installation"
-		echo "before continuing."
-		exit 1
-		;;
-	esac
-
-	local _md="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-	local _installed_components="$(cat "$_md/components")"
-
-	# Uninstall (our components only) before reinstalling
-	local _available_component
-	for _available_component in $_components; do
-	    local _installed_component
-	    for _installed_component in $_installed_components; do
-		if [ "$_available_component" = "$_installed_component" ]; then
-		    msg "uninstalling component '$_available_component'"
-		    local _component_manifest="$_md/manifest-$_installed_component"
-
-		    # Sanity check: there should be a component manifest
-		    if [ ! -f "$_component_manifest" ]; then
-			critical_err "installed component '$_installed_component' has no manifest"
-		    fi
-
-		    # Iterate through installed component manifest and remove files
-		    local _directive
-		    while read _directive; do
-
-			local _command=${_directive%%:*}
-			local _file=${_directive#*:}
-
-			# Sanity checks
-			if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-			if [ ! -n "$_file" ]; then critical_err "malformed installation directive"; fi
-
-			case "$_command" in
-			    file)
-				verbose_msg "removing file $_file"
-				if [ -f "$_file" ]; then
-				    run rm -f "$_file"
-				    want_ok "failed to remove $_file"
-				else
-				    warn "supposedly installed file $_file does not exist!"
-				fi
-				;;
-
-			    dir)
-				verbose_msg "removing directory $_file"
-				run rm -r "$_file"
-				want_ok "unable to remove directory $_file"
-				;;
-
-			    *)
-				critical_err "unknown installation directive"
-				;;
-			esac
-
-		    done < "$_component_manifest"
-
-		    # Remove the installed component manifest
-		    verbose_msg "removing component manifest $_component_manifest"
-		    run rm "$_component_manifest"
-		    # This is a hard error because the installation is unrecoverable
-		    critical_need_ok "failed to remove installed manifest for component '$_installed_component'"
-
-		    # Update the installed component list
-		    local _modified_components="$(sed "/^$_installed_component\$/d" "$_md/components")"
-		    write_to_file "$_modified_components" "$_md/components"
-		    critical_need_ok "failed to update installed component list"
-		fi
-	    done
-	done
-
-	# If there are no remaining components delete the manifest directory,
-	# but only if we're doing an uninstall - if we're doing an install,
-	# then leave the manifest directory around to hang onto the logs,
-	# and any files not managed by the installer.
-	if [ -n "${CFG_UNINSTALL-}" ]; then
-	    local _remaining_components="$(cat "$_md/components")"
-	    if [ ! -n "$_remaining_components" ]; then
-		verbose_msg "removing manifest directory $_md"
-		run rm -r "$_md"
-		want_ok "failed to remove $_md"
-
-		maybe_unconfigure_ld
-	    fi
-	fi
-
-	_uninstalled_something=true
-    fi
-
-    # There's no installed version. If we were asked to uninstall, then that's a problem.
-    if [ -n "${CFG_UNINSTALL-}" -a "$_uninstalled_something" = false ]
-    then
-	err "unable to find installation manifest at $CFG_LIBDIR/$TEMPLATE_REL_MANIFEST_DIR"
-    fi
-}
-
-install_components() {
-    local _src_dir="$1"
-    local _abs_libdir="$2"
-    local _dest_prefix="$3"
-    local _components="$4"
-
-    local _component
-    for _component in $_components; do
-
-	msg "installing component '$_component'"
-
-	# The file name of the manifest we're installing from
-	local _input_manifest="$_src_dir/$_component/manifest.in"
-
-	# Sanity check: do we have our input manifests?
-	if [ ! -f "$_input_manifest" ]; then
-	    critical_err "manifest for $_component does not exist at $_input_manifest"
-	fi
-
-	# The installed manifest directory
-	local _md="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-
-	# The file name of the manifest we're going to create during install
-	local _installed_manifest="$_md/manifest-$_component"
-
-	# Create the installed manifest, which we will fill in with absolute file paths
-	touch "$_installed_manifest"
-	critical_need_ok "failed to create installed manifest"
-
-	# Add this component to the installed component list
-	append_to_file "$_component" "$_md/components"
-	critical_need_ok "failed to update components list for $_component"
-
-	# Now install, iterate through the new manifest and copy files
-	local _directive
-	while read _directive; do
-
-	    local _command=${_directive%%:*}
-	    local _file=${_directive#*:}
-
-	    # Sanity checks
-	    if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-	    if [ ! -n "$_file" ]; then critical_err "malformed installation directive"; fi
-
-	    # Decide the destination of the file
-	    local _file_install_path="$_dest_prefix/$_file"
-
-	    case "$_file" in
-		etc/*)
-		    local _f=${_file#"etc/"}
-		    _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
-		    ;;
-		bin/*)
-		    local _f=${_file#"bin/"}
-		    _file_install_path="$CFG_BINDIR/$_f"
-		    ;;
-		lib/*)
-		    local _f=${_file#"lib/"}
-		    _file_install_path="$CFG_LIBDIR/$_f"
-		    ;;
-		share/man/*)
-		    local _f=${_file#"share/man/"}
-		    _file_install_path="$CFG_DESTDIR_PREFIX/$PKGMANDIR/$_f"
-		    ;;
-		share/doc/*)
-            # HACK: Try to support overriding --docdir.  Paths with the form
-            # "share/doc/$product/" can be redirected to a single --docdir
-            # path. If the following detects that --docdir has been specified
-            # then it will replace everything preceeding the "$product" path
-            # component. The problem here is that the combined rust installer
-            # contains two "products": rust and cargo; so the contents of those
-            # directories will both be dumped into the same directory; and the
-            # contents of those directories are _not_ disjoint. Since this feature
-            # is almost entirely to support 'make install' anyway I don't expect
-            # this problem to be a big deal in practice.
-		    if [ "$CFG_DOCDIR" != "<default>" ]; then
-			local _f=${_file#"share/doc/"*/}
-			_file_install_path="$CFG_DOCDIR/$_f"
-		    fi
-		    ;;
-		share/*)
-		    local _f=${_file#"share/"}
-		    _file_install_path="$CFG_DATADIR/$_f"
-		    ;;
-	    esac
-
-
-	    # Make sure there's a directory for it
-	    make_dir_recursive "$(dirname "$_file_install_path")"
-	    critical_need_ok "directory creation failed"
-
-	    # Make the path absolute so we can uninstall it later without
-	    # starting from the installation cwd
-	    absolutify "$_file_install_path"
-	    _file_install_path="$RETVAL"
-	    assert_nz "$_file_install_path" "file_install_path"
-
-	    case "$_command" in
-		file )
-
-		    verbose_msg "copying file $_file_install_path"
-
-		    maybe_backup_path "$_file_install_path"
-
-		    local mode=644
-		    if test -x "$_src_dir/$_component/$_file"; then
-			mode=755
-		    fi
-		    case "$_file" in
-			bin/*) mode=755
-			       ;;
-		    esac
-		    run cp "$_src_dir/$_component/$_file" "$_file_install_path"
-		    run chmod $mode "$_file_install_path"
-		    critical_need_ok "file creation failed"
-
-		    # Update the manifest
-		    append_to_file "file:$_file_install_path" "$_installed_manifest"
-		    critical_need_ok "failed to update manifest"
-
-		    ;;
-
-		dir )
-
-		    verbose_msg "copying directory $_file_install_path"
-
-		    maybe_backup_path "$_file_install_path"
-
-		    run cp -R "$_src_dir/$_component/$_file" "$_file_install_path"
-		    critical_need_ok "failed to copy directory"
-
-                    # Set permissions. 0755 for dirs, 644 for files
-                    run chmod -R u+rwX,go+rX,go-w "$_file_install_path"
-                    critical_need_ok "failed to set permissions on directory"
-
-		    # Update the manifest
-		    append_to_file "dir:$_file_install_path" "$_installed_manifest"
-		    critical_need_ok "failed to update manifest"
-		    ;;
-
-		*)
-		    critical_err "unknown installation directive"
-		    ;;
-	    esac
-	done < "$_input_manifest"
-
-    done
-}
-
-maybe_configure_ld() {
-    local _abs_libdir="$1"
-
-    local _ostype="$(uname -s)"
-    assert_nz "$_ostype"  "ostype"
-
-    if [ "$_ostype" = "Linux" -a ! -n "${CFG_DISABLE_LDCONFIG-}" ]; then
-
-	# Fedora-based systems do not configure the dynamic linker to look
-	# /usr/local/lib, which is our default installation directory. To
-	# make things just work, try to put that directory in
-	# /etc/ld.so.conf.d/rust-installer-v1 so ldconfig picks it up.
-	# Issue #30.
-	#
-	# This will get rm'd when the last component is uninstalled in
-	# maybe_unconfigure_ld.
-	if [ "$_abs_libdir" = "/usr/local/lib" -a -d "/etc/ld.so.conf.d" ]; then
-	    echo "$_abs_libdir" > "/etc/ld.so.conf.d/rust-installer-v1-$TEMPLATE_REL_MANIFEST_DIR.conf"
-	    if [ $? -ne 0 ]; then
-		# This shouldn't happen if we've gotten this far
-		# installing to /usr/local
-		warn "failed to update /etc/ld.so.conf.d. this is unexpected"
-	    fi
-	fi
-
-	verbose_msg "running ldconfig"
-	if [ -n "${CFG_VERBOSE-}" ]; then
-	    ldconfig
-	else
-	    ldconfig 2> /dev/null
-	fi
-	if [ $? -ne 0 ]
-	then
-            warn "failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error"
-	fi
-    fi
-}
-
-maybe_unconfigure_ld() {
-    local _ostype="$(uname -s)"
-    assert_nz "$_ostype"  "ostype"
-
-    if [ "$_ostype" != "Linux" ]; then
-	return 0
-    fi
-
-    rm "/etc/ld.so.conf.d/rust-installer-v1-$TEMPLATE_REL_MANIFEST_DIR.conf" 2> /dev/null
-    # Above may fail since that file may not have been created on install
-}
-
-# Doing our own 'install'-like backup that is consistent across platforms
-maybe_backup_path() {
-    local _file_install_path="$1"
-
-    if [ -e "$_file_install_path" ]; then
-	msg "backing up existing file at $_file_install_path"
-	run mv -f "$_file_install_path" "$_file_install_path.old"
-	critical_need_ok "failed to back up $_file_install_path"
-    fi
-}
-
-install_uninstaller() {
-    local _src_dir="$1"
-    local _src_basename="$2"
-    local _abs_libdir="$3"
-
-    local _uninstaller="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/uninstall.sh"
-    msg "creating uninstall script at $_uninstaller"
-    run cp "$_src_dir/$_src_basename" "$_uninstaller"
-    critical_need_ok "unable to install uninstaller"
-}
-
-do_preflight_sanity_checks() {
-    local _src_dir="$1"
-    local _dest_prefix="$2"
-
-    # Sanity check: can we can write to the destination?
-    verbose_msg "verifying destination is writable"
-    make_dir_recursive "$CFG_LIBDIR"
-    need_ok "can't write to destination. consider \`sudo\`."
-    touch "$CFG_LIBDIR/rust-install-probe" > /dev/null
-    if [ $? -ne 0 ]
-    then
-	err "can't write to destination. consider \`sudo\`."
-    fi
-    rm "$CFG_LIBDIR/rust-install-probe"
-    need_ok "failed to remove install probe"
-
-    # Sanity check: don't install to the directory containing the installer.
-    # That would surely cause chaos.
-    verbose_msg "verifying destination is not the same as source"
-    local _prefix_dir="$(abs_path "$dest_prefix")"
-    if [ "$_src_dir" = "$_dest_prefix" -a "${CFG_UNINSTALL-}" != 1 ]; then
-	err "cannot install to same directory as installer"
-    fi
-}
-
-verbose_msg "looking for install programs"
-verbose_msg
-
-need_cmd mkdir
-need_cmd printf
-need_cmd cut
-need_cmd grep
-need_cmd uname
-need_cmd tr
-need_cmd sed
-need_cmd chmod
-need_cmd env
-need_cmd pwd
-
-CFG_ARGS="${@:-}"
-
-HELP=0
-if [ "${1-}" = "--help" ]
-then
-    HELP=1
-    shift
-    echo
-    echo "Usage: $0 [options]"
-    echo
-    echo "Options:"
-    echo
-else
-    verbose_step_msg "processing arguments"
-fi
-
-OPTIONS=""
-BOOL_OPTIONS=""
-VAL_OPTIONS=""
-
-flag uninstall "only uninstall from the installation prefix"
-valopt destdir "" "set installation root"
-valopt prefix "/usr/local" "set installation prefix"
-
-# Avoid prepending an extra / to the prefix path if there's no destdir
-# NB: CFG vars here are undefined when passing --help
-if [ -z "${CFG_DESTDIR-}" ]; then
-    CFG_DESTDIR_PREFIX="${CFG_PREFIX-}"
-else
-    CFG_DESTDIR_PREFIX="$CFG_DESTDIR/$CFG_PREFIX"
-fi
-
-# NB This isn't quite the same definition as in `configure`.
-# just using 'lib' instead of configure's CFG_LIBDIR_RELATIVE
-valopt without "" "comma-separated list of components to not install"
-valopt components "" "comma-separated list of components to install"
-flag list-components "list available components"
-valopt sysconfdir "$CFG_DESTDIR_PREFIX/etc" "install system configuration files"
-valopt bindir "$CFG_DESTDIR_PREFIX/bin" "install binaries"
-valopt libdir "$CFG_DESTDIR_PREFIX/lib" "install libraries"
-valopt datadir "$CFG_DESTDIR_PREFIX/share" "install data"
-# NB We repeat datadir default value because we don't set CFG_DATADIR in --help
-valopt mandir "${CFG_DATADIR-"$CFG_DESTDIR_PREFIX/share"}/man" "install man pages in PATH"
-# NB See the docdir handling in install_components for an explanation of this
-# weird <default> string
-valopt docdir "\<default\>" "install documentation in PATH"
-opt ldconfig 1 "run ldconfig after installation (Linux only)"
-opt verify 1 "obsolete"
-flag verbose "run with verbose output"
-
-if [ $HELP -eq 1 ]
-then
-    echo
-    exit 0
-fi
-
-verbose_step_msg "validating arguments"
-validate_opt
-
-# Template configuration.
-# These names surrounded by '%%` are replaced by sed when generating install.sh
-# FIXME: Might want to consider loading this from a file and not generating install.sh
-
-# Rust or Cargo
-TEMPLATE_PRODUCT_NAME='Rust'
-# rustlib or cargo
-TEMPLATE_REL_MANIFEST_DIR=rustlib
-# 'Rust is ready to roll.' or 'Cargo is cool to cruise.'
-TEMPLATE_SUCCESS_MESSAGE='rust installed.'
-# Locations to look for directories containing legacy, pre-versioned manifests
-TEMPLATE_LEGACY_MANIFEST_DIRS='rustlib,cargo'
-# The installer version
-TEMPLATE_RUST_INSTALLER_VERSION='3'
-
-# OK, let's get installing ...
-
-# This is where we are installing from
-src_dir="$(abs_path $(dirname "$0"))"
-
-# The name of the script
-src_basename="$(basename "$0")"
-
-# If we've been run as 'uninstall.sh' (from the existing installation)
-# then we're doing a full uninstall, as opposed to the --uninstall flag
-# which just means 'uninstall my components'.
-if [ "$src_basename" = "uninstall.sh" ]; then
-    if [ "${*:-}" != "" ]; then
-	# Currently don't know what to do with arguments in this mode
-	err "uninstall.sh does not take any arguments"
-    fi
-    CFG_UNINSTALL=1
-    CFG_DESTDIR_PREFIX="$(abs_path "$src_dir/../../")"
-    CFG_LIBDIR="$(abs_path "$src_dir/../")"
-fi
-
-# This is where we are installing to
-dest_prefix="$CFG_DESTDIR_PREFIX"
-
-# Open the components file to get the list of components to install.
-# NB: During install this components file is read from the installer's
-# source dir, during a full uninstall it's read from the manifest dir,
-# and thus contains all installed components.
-components=`cat "$src_dir/components"`
-
-# Sanity check: do we have components?
-if [ ! -n "$components" ]; then
-    err "unable to find installation components"
-fi
-
-# If the user asked for a component list, do that and exit
-if [ -n "${CFG_LIST_COMPONENTS-}" ]; then
-    echo
-    echo "# Available components"
-    echo
-    for component in $components; do
-	echo "* $component"
-    done
-    echo
-    exit 0
-fi
-
-# If the user specified which components to install/uninstall,
-# then validate that they exist and select them for installation
-if [ -n "$CFG_COMPONENTS" ]; then
-    # Remove commas
-    user_components="$(echo "$CFG_COMPONENTS" | sed "s/,/ /g")"
-    for user_component in $user_components; do
-	found=false
-	for my_component in $components; do
-	    if [ "$user_component" = "$my_component" ]; then
-		found=true
-	    fi
-	done
-	if [ "$found" = false ]; then
-	    err "unknown component: $user_component"
-	fi
-    done
-    components="$user_components"
-fi
-
-if [ -n "$CFG_WITHOUT" ]; then
-    without_components="$(echo "$CFG_WITHOUT" | sed "s/,/ /g")"
-    for without_component in $without_components; do
-	components="$(echo "$components" | sed "s/$without_component//" | sed "s/$without_component//")"
-    done
-fi
-
-if [ -z "$components" ]; then
-    if [ -z "${CFG_UNINSTALL-}" ]; then
-	err "no components selected for installation"
-    else
-	err "no components selected for uninstallation"
-    fi
-fi
-
-do_preflight_sanity_checks "$src_dir" "$dest_prefix"
-
-# Using an absolute path to libdir in a few places so that the status
-# messages are consistently using absolute paths.
-absolutify "$CFG_LIBDIR"
-abs_libdir="$RETVAL"
-assert_nz "$abs_libdir" "abs_libdir"
-
-# Create the manifest directory, where we will put our logs
-make_dir_recursive "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-need_ok "failed to create $TEMPLATE_REL_MANIFEST_DIR"
-
-# Log messages and commands
-init_logging "$abs_libdir"
-
-# First do any uninstallation, including from legacy manifests. This
-# will also upgrade the metadata of existing installs.
-uninstall_components "$abs_libdir" "$dest_prefix" "$components"
-
-# If we're only uninstalling then exit
-if [ -n "${CFG_UNINSTALL-}" ]
-then
-    echo
-    echo "    $TEMPLATE_PRODUCT_NAME is uninstalled."
-    echo
-    exit 0
-fi
-
-# Create the manifest directory again! uninstall_legacy
-# may have deleted it.
-make_dir_recursive "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR"
-need_ok "failed to create $TEMPLATE_REL_MANIFEST_DIR"
-
-# Drop the version number into the manifest dir
-write_to_file "$TEMPLATE_RUST_INSTALLER_VERSION" "$abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/rust-installer-version"
-critical_need_ok "failed to write installer version"
-
-# Install the uninstaller
-
-# Install each component
-install_components "$src_dir" "$abs_libdir" "$dest_prefix" "$components"
-
-# Make dynamic libraries available to the linker
-maybe_configure_ld "$abs_libdir"
-
-echo
-echo "    $TEMPLATE_SUCCESS_MESSAGE"
-echo
-
-
diff --git a/rust188/DESCR b/rust188/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust188/DESCR
+++ /dev/null
@@ -1,13 +0,0 @@
-Rust is a systems programming language focused on three goals: safety,
-speed, and concurrency.  It maintains these goals without having a
-garbage collector, making it a useful language for a number of use cases
-other languages aren't good at: embedding in other languages, programs
-with specific space and time requirements, and writing low-level code,
-like device drivers and operating systems.
-
-It improves on current languages targeting this space by having a number
-of compile-time safety checks that produce no runtime overhead, while
-eliminating all data races.  Rust also aims to achieve "zero-cost
-abstractions" even though some of these abstractions feel like those of
-a high-level language.  Even then, Rust still allows precise control
-like a low-level language would.
diff --git a/rust188/HOWTO-BOOTSTRAP b/rust188/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust188/HOWTO-BOOTSTRAP
+++ /dev/null
@@ -1,85 +0,0 @@
-How to build a rust bootstrap kit using pkgsrc
-----------------------------------------------
-
-A rust bootstrap kit is simply a pre-compiled binary of rust and
-the rust standard library, and contains the "rust" and "rust-std"
-build results, found in
-
-   work/rustc-<version>/build/dist/
-as
-   rust-<version>-<target>.tar.xz
-and
-   rust-std-<version>-<target>.tar.xz
-
-These result files are produced when the "dist" build target is
-used, ref. BUILD_TARGET.   For a normal native build of the rust
-pkgsrc package, the default BUILD_TARGET is "build", not "dist".
-
-There are two possible ways to produce a bootstrap kit:
-
-1) a native build.  This requires minimum preparation, except
-   possibly for setting rust.BUILD_TARGET to "dist" via e.g.
-   /etc/mk.conf.  Note that on NetBSD, using the "BUILD_TARGET" ==
-   "dist" results in the "rust-cargo-static" option being set, ref.
-   options.mk.  This is so that the resulting bootstrap kits are
-   built with mostly-static linking, reducing the run-time dependencies
-   of the bootstrap kits.
-
-2) a cross-build.  This requires a bit of preparation:
-
-   For each target you want to cross-build rust for, you need
-     - the cross toolchain resulting from "build.sh tools" for
-       the intended target
-     - an OS distribution extracted, including the comp.tgz
-       set so that the target's include files can be used
-     - for 32-bit ports, the "libatomic" package needs to be
-       available.  I'm sure there's a clever and long-winded
-       use of pkg_install which can be used to effect this;
-       I on my hand have always just extracted the tgz file
-       and done the minimal cleanup of the "cruft" files
-       which are part of the package meta-data.
-     - Pick a root directory for the target, e.g. /u/i386.
-       Below this directory place the "tools" containing
-       the cross-compiler in a "tools" sub-directory.
-       Similarly, the extracted OS distribution in the "dest"
-       sub-directory.
-
-   There are two methods available for doing the cross-compile:
-
-   a) Using the "cross.mk" file.  For an i386 build against i586, the
-      following settings should be active:
-
-CROSS_ROOT=            /u/i386
-MAKE_ENV+=             CROSS_ROOT=${CROSS_ROOT}
-GNU_CROSS_TARGET=      i486--netbsdelf
-MAKE_ENV+=             GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
-TARGET=                i586-unknown-netbsd
-SCRIPTS=               ${WRKDIR}/scripts
-CONFIGURE_ARGS+=       --host=${TARGET}
-CONFIGURE_ARGS+=       --target=${TARGET}
-CONFIGURE_ARGS+=       --set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
-CONFIGURE_ARGS+=       --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
-
-      Then doing a "make" will cross-build rust, including the LLVM
-      embedded in the rust distribution, ref. the defaulting of that
-      option when TARGET is defined ref. options.mk.
-
-      Note that when TARGET is set, the default build target for
-      the rust makefile becomes "dist", so there's no need to set
-      rust.BUILD_TARGET for cross-builds.
-
-   b) Using the "do-cross.mk" Makefile.  This will attempt to
-      cross-build rust for all the targets listed in the SHORT_TARGETS
-      variable in that file.  Overriding the root directories for
-      the various targets can be done by making your own "local-roots.mk"
-      file, ref. "do-cross.mk".
-
-      This will create a "dist" subdirectory in the rust pkgsrc
-      directory, and the bootstrap kits for each architecture, plus
-      the library source kit will be placed in this directory.
-
-The bootstrap kits can then be placed in /usr/pkgsrc/distfiles, and
-be used by the "next" rust version, where you can use "make makesum"
-to compute the updated checksums for the bootstrap kits.
diff --git a/rust188/Makefile b/rust188/Makefile
deleted file mode 100644
index cd9655d7d5..0000000000
--- a/rust188/Makefile
+++ /dev/null
@@ -1,762 +0,0 @@
-# $NetBSD: Makefile,v 1.339 2025/06/17 15:19:17 jperkin Exp $
-
-DISTNAME=	rustc-1.88.0-src
-PKGNAME=	${DISTNAME:S/rustc/rust/:S/-src//}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://www.rust-lang.org/
-COMMENT=	Safe, concurrent, practical language
-LICENSE=	mit OR apache-2.0
-
-CONFLICTS+=	rust-bin-[0-9]*
-
-# LLVM uses -std=c++17
-USE_CXX_FEATURES+=	c++17
-USE_GCC_RUNTIME=	yes
-USE_LANGUAGES=		c c++
-USE_LIBTOOL=		yes
-USE_TOOLS+=		bash grep gmake perl:build pkg-config
-
-# This is a bug:
-#   https://github.com/rust-lang/rust/issues/130708
-# "Building rust 1.81.0 does network access in the "build" phase"
-# but set it for now to allow progress in finding other build issues.
-#ALLOW_NETWORK_ACCESS=	yes
-# Ref. dist.vendor below.
-
-# The NetBSD bootstraps are built for NetBSD 9 (because rust doesn't
-# build on 8 or earlier), or because the target didn't exist in 8
-# or 9 (as in riscv64).  Therefore, mark earlier versions as broken.
-BROKEN_ON_PLATFORM+=	NetBSD-[1-8].*-*
-
-HAS_CONFIGURE=		yes
-PYTHON_FOR_BUILD_ONLY=	tool
-CONFIG_SHELL=		${TOOL_PYTHONBIN}
-CONFIGURE_SCRIPT=	src/bootstrap/configure.py
-CONFIGURE_ARGS+=	--prefix=${PREFIX}
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
-CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
-CONFIGURE_ARGS+=	--python=${TOOL_PYTHONBIN}
-CONFIGURE_ARGS+=	--release-channel=stable
-CONFIGURE_ARGS+=	--local-rust-root=${RUST_BOOTSTRAP_PATH}
-CONFIGURE_ARGS+=	--enable-extended	# Build and install cargo too.
-CONFIGURE_ARGS+=	--enable-rpath
-CONFIGURE_ARGS+=	--disable-codegen-tests
-CONFIGURE_ARGS+=	--disable-compiler-docs
-CONFIGURE_ARGS+=	--disable-llvm-static-stdcpp
-CONFIGURE_ARGS+=	--disable-ninja
-CONFIGURE_ARGS+=	--dist-compression-formats=xz
-# Ref. issue #130708 & backport of pull-request 130110
-CONFIGURE_ARGS+=	--set dist.vendor=false
-
-REPLACE_BASH+=		library/portable-simd/subtree-sync.sh
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# This should allow us to perform "offline" builds (so cargo doesn't fetch
-# dependencies during the build stage) but this isn't hooked up yet.
-CONFIGURE_ARGS+=	--enable-vendor
-
-# cargo defaults to using the number of available CPUs
-MAKE_ENV+=		CARGO_BUILD_JOBS=${_MAKE_JOBS_N}
-
-CFLAGS.SunOS+=		-D_POSIX_PTHREAD_SEMANTICS
-MAKE_ENV.SunOS+=	AR=gar
-
-# Debugging of crate resolution
-# Annoyingly, this makes the powerpc build succeed...
-#MAKE_ENV+=		RUSTC_LOG=rustc_metadata
-
-UNLIMIT_RESOURCES+=	cputime stacksize datasize virtualsize
-
-TEST_TARGET=	check
-
-# bin/* lib/*, but names vary
-CHECK_RELRO_SUPPORTED=	no
-CHECK_SSP_SUPPORTED=	no
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "NetBSD"
-# Getting RPATH with $ORIGIN into the bootstrap binaries is
-# problematic, since pkgsrc refuses to put $ORIGIN into RPATHs
-# of executables. So instead we need these so that the bootstrap
-# compiler can be run out of the $RUST_BOOTSTRAP_PATH directory as
-# part of the initial part of the rust compiler build.
-# This problem is not present with the amd64 bootstrap bits,
-# which are built by our upstream and uses $ORIGIN/../lib in RPATH.
-#
-# The above is only true on NetBSD, for other bootstrap kits (e.g. illumos)
-# the binaries are made to be relocatable after the build using elfedit or
-# similar.  It is unclear why this approach is not used by NetBSD too.
-#
-MAKE_ENV+=		LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-.endif
-
-# TODO: Hack introduced for 1.86.0 as @loader_path is stripped from the
-# bootstrap compiler arguments and the stage1 libraries cannot be found.
-# Ideally this should be inserted only in the necessary points of the
-# bootstrap script.
-.if ${OPSYS} == "Darwin"
-MAKE_ENV+=	DYLD_LIBRARY_PATH="${WRKSRC}/build/${MACHINE_ARCH}-apple-darwin/stage1/lib:${WRKSRC}/build/${MACHINE_ARCH}-apple-darwin/stage2/lib"
-.endif
-
-# Allow overriding MAKE_JOBS_SAFE
-# some may chose to mostly build faster,
-# and deal with any failures due to deadlocks
-.if !empty(rust.MAKE_JOBS_SAFE)
-.  if ${rust.MAKE_JOBS_SAFE:tl} == "yes"
-MAKE_JOBS_SAFE=		yes
-.  endif
-.endif
-
-.if !empty(rust.BUILD_TARGET)
-BUILD_TARGET=	${rust.BUILD_TARGET}
-.endif
-
-.if !empty(TARGET)
-# Use "dist" build target for cross compile of bootstrap
-BUILD_TARGET?=		dist
-.else
-BUILD_TARGET?=		build
-.endif
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-    !empty(TARGET:Marmv[67]-unknown-netbsd-eabihf) || \
-    !empty(TARGET:Mmipsel-unknown-netbsd)
-# Bootstrapping on NetBSD/powerpc requires no debug-info from rustc
-# (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits)
-# Also try to downsize the armv[67] build.
-CONFIGURE_ARGS+=	--disable-debug
-CONFIGURE_ARGS+=	--disable-debug-assertions
-CONFIGURE_ARGS+=	--disable-llvm-release-debuginfo
-CONFIGURE_ARGS+=	--debuginfo-level=0
-CONFIGURE_ARGS+=	--debuginfo-level-rustc=0
-CONFIGURE_ARGS+=	--debuginfo-level-std=0
-CONFIGURE_ARGS+=	--debuginfo-level-tools=0
-CONFIGURE_ARGS+=	--debuginfo-level-tests=0
-.endif
-
-# Only build the ARM target on/for this host, due to resource constraints
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf}
-CONFIGURE_ARGS+=	--set llvm.targets="ARM"
-.endif
-# When cross-building for ARM on X86, X86 needs to go along due
-# to 2-stage build process
-.if !empty(TARGET:Marmv[67]-unknown-netbsd-eabihf)
-CONFIGURE_ARGS+=	--set llvm.targets="ARM;X86"
-.endif
-# Same for mips:
-.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel}
-CONFIGURE_ARGS+=	--set llvm.targets="Mips"
-.endif
-.if !empty(TARGET:Mmipsel-unknown-netbsd)
-CONFIGURE_ARGS+=	--set llvm.targets="Mips;X86"
-.endif
-
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/*.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/core/src/unicode/printable.py
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/*.sh
-CHECK_PORTABILITY_SKIP+=	tests/run-make/dump-ice-to-disk/check.sh
-CHECK_PORTABILITY_SKIP+=	vendor/libdbus-sys-0.2.5/vendor/dbus/tools/cmake-format
-
-.if ${OPSYS} == "NetBSD"
-# This block contains information about known trouble on NetBSD and workarounds.
-
-# Parallel builds failed on NetBSD due to dynamic linker locking bugs.
-# \todo Explain if the build is believed to be sound if not parallel,
-# or if a non-parallel build is merely more likely to work.
-#
-# See toolchain/54192 at
-#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54192
-# which was fixed in -current on 2020-04-19:
-#   http://mail-index.netbsd.org/source-changes/2020/04/16/msg116256.html
-#   http://mail-index.netbsd.org/source-changes/2020/04/19/msg116337.html
-# These  were pulled up to netbsd-9 on 2020-05-13:
-#   http://releng.netbsd.org/cgi-bin/req-9.cgi?show=907
-# This has not been pulled up to netbsd-8
-#   \todo Explain if it's not applicable, shouldn't be pulled up, should be
-#   but hasn't, is too hard, etc.
-#
-# On pkgbuild for 2020Q1 9.0_RELEASE amd64, rust did not build despite
-# MAKE_JOBS_SAFE=no, but setting MAKE_JOBS=1 resulted in success. (No
-# PR is open for this.)  \todo Understand and fix.
-#
-# If we aren't on 9-current, and are on 8.x or 9.x, avoid parallel.
-# Release 9.x and 9.1 or later is OK.
-.  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} > 090999 && ${OPSYS_VERSION} < 090900
-MAKE_JOBS_SAFE?=	no
-.  endif
-
-# Open PRs
-#
-# Broken package with PREFIX not /usr/pkg:
-#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453
-#
-
-.endif
-
-#
-# Under NetBSD, do not use DT_RUNPATH
-#
-BUILDLINK_TRANSFORM.NetBSD+=	rm:-Wl,--enable-new-dtags
-
-#
-# Somewhere in the LLVM build "-arch x86_64" is passed on macOS/arm64 which
-# breaks linking, see https://github.com/rust-lang/rust/issues/81790.  Until
-# this can be located (proving difficult!) we just force it.
-#
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-BUILDLINK_TRANSFORM+=	opt:x86_64:arm64
-.endif
-
-#
-# Rust unfortunately requires itself to build.  On platforms which aren't
-# supported by upstream (where they offer binary bootstraps), or where we do
-# not trust random binaries from the Internet, we need to build and provide our
-# own bootstrap.  See the stage0-bootstrap below for more details.
-#
-DISTFILES:=		${DEFAULT_DISTFILES}
-
-.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MDarwin-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MLinux-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MLinux-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MLinux-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MLinux-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MLinux-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-.endif
-#
-# The SunOS target defaults to illumos as that's what the current bootstraps
-# are built on.  If you wish to target Oracle Solaris you'll need to create an
-# x86_64-sun-solaris bootstrap and comment out the overrides.
-#
-.if ${MACHINE_PLATFORM:MSunOS-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.85.1
-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/
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-RUST_BOOTSTRAP_PATH?=	${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
-# Override default "x86_64-sun-solaris" selection
-CONFIGURE_ARGS+=	--set=target.${RUST_ARCH}.llvm-config=${LLVM_CONFIG_PATH}
-CONFIGURE_ARGS+=	--build=${RUST_ARCH}
-CONFIGURE_ARGS+=	--host=${RUST_ARCH}
-CONFIGURE_ARGS+=	--target=${RUST_ARCH}
-.endif
-.if ${MACHINE_PLATFORM:MFreeBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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
-SITES.${RUST_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-# Setting this changes it for every distfile, which doesn't match what is
-# currently in distinfo.
-#DIST_SUBDIR=		${PKGNAME}
-# For atomic ops
-CFLAGS+=		-march=i586
-CONFIGURE_ARGS+=	--build=${RUST_ARCH}
-pre-build: pre-build-fix-paxctl
-.PHONY: pre-build-fix-paxctl
-pre-build-fix-paxctl:
-	${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo
-	${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.87.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 ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.87.0
-RUST_ARCH=			powerpc-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}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.87.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64eb} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.87.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-sparc64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.87.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
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv7hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.87.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-earmv6hf} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			armv6-unknown-netbsd-eabihf
-RUST_STAGE0_VER=		1.87.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-#.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || make(distinfo) || make (makesum) || make(mdi)
-#RUST_ARCH=			mipsel-unknown-netbsd
-#RUST_STAGE0_VER=		1.87.0
-#RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-#RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-#DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-#SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-#SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-#.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-riscv64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=			riscv64gc-unknown-netbsd
-RUST_STAGE0_VER=		1.87.0
-RUST_STAGE0:=			rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-RUST_STD_STAGE0:=		rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
-DISTFILES:=			${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-SITES.${RUST_STAGE0}=		${MASTER_SITE_LOCAL:=rust/}
-SITES.${RUST_STD_STAGE0}=	${MASTER_SITE_LOCAL:=rust/}
-.endif
-
-# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf
-# if you have a local bootstrap compiler.
-.if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH)
-NOT_FOR_PLATFORM+=	${MACHINE_PLATFORM}
-.else
-RUST_BOOTSTRAP_PATH?=	${WRKDIR}/rust-bootstrap
-.endif
-
-.if ${OPSYS} == "SunOS"
-TOOL_DEPENDS+=		coreutils>=0:../../sysutils/coreutils
-TOOL_DEPENDS+=		gzip>=0:../../archivers/gzip
-TOOLS_CREATE+=		md5sum
-TOOLS_PATH.md5sum=	${TOOLBASE}/bin/gmd5sum
-TOOLS_PLATFORM.gzcat=	${TOOLBASE}/bin/gzip -cd
-.endif
-
-SUBST_CLASSES+=		prefix
-SUBST_STAGE.prefix=	pre-configure
-SUBST_FILES.prefix+=	compiler/rustc_codegen_ssa/src/back/linker.rs
-SUBST_FILES.prefix+=	compiler/rustc_target/src/spec/base/netbsd.rs
-SUBST_FILES.prefix+=	src/bootstrap/src/core/build_steps/compile.rs
-SUBST_FILES.prefix+=	src/bootstrap/src/core/builder/cargo.rs
-SUBST_FILES.prefix+=	src/bootstrap/bootstrap.py
-SUBST_VARS.prefix=	PREFIX
-
-#
-# Generate list of subst entries for various .cargo-checksum.json files.  These
-# are all handled together in one big substitution to simplify things rather
-# than one substitution entry per file, but are kept separate below to ease
-# updating and verification.
-#
-
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.18
-CKSUMS+=	31a8276afd38e39987a169eeb02e9bed32670de5ca36d7eb74aab7e506cf9dc4
-CKSUMS+=	ead4bda23c322bde8c01e48d4cd19b70e7b7e473a56466218d279f88463ab466
-
-CKSUM_CRATES+=	vendor/openssl-src-300.4.2+3.4.1
-CKSUMS+=	16c0b9fa70475cfb50ac21ad4ce049b494c45b3270fed386013785a28abb8d0a
-CKSUMS+=	6e30595035395b92291de1b59b6e7b3e19732f15a6012bfe0c239b62c8738225
-CKSUMS+=	6e62515e67910aea2f04b64c643aa2545732f9dd7bf0abf87d8accf8c2c1fb88
-CKSUMS+=	ccc5252660386fbfec2d66423f2dc87e6da74efd39ca0fcd7c7fd583056725c1
-CKSUMS+=	ac5501e7bff0f4384db0537307b362bf1bcb120d8b5859e5f08bd796e78feaea
-CKSUMS+=	6d2c2831119e059d35e81a89b08195a29e325f68acfd86a3a7157ebf8e78182d
-
-CKSUM_CRATES+=	vendor/openssl-sys-0.9.107
-CKSUMS+=	a0d47c624273b43b4250cff5fa2f9b75e4199ca76897608563b526aedcdf3a16
-CKSUMS+=	fcfc15ca30e1f881ed46cf57597a72bd2a8307269d0394c905f23e076a983e12
-CKSUMS+=	e6d478786035538d721d88b7736f602c965a38687a805cb377ebbe0ea1a14617
-CKSUMS+=	e2b2473bdf7ce5f854fcef6f07f984accc53b4382dba160d625c1fcbaba31612
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-CKSUMS+=	b8d6f089fc8eb2cb59e45335a26c9ce871b846216c9859b553c6b91982f8de33
-CKSUMS+=	d8c4a979ce9b406fb63c5aaf2827b616689294331341737fec392b8faa2126fa
-
-CKSUM_CRATES+=	vendor/libc-0.2.169
-CKSUMS+=	dc216609dfc6b2835e26f8c3e70f4c7c65425933eef04538de603f51e9429ec5
-CKSUMS+=	04004bda0ea97d55c3588a7d82fa1faf0d150c5390250a298216ff3cc899b911
-CKSUMS+=	b5dae853ebfc3355b155f8c20f3a481517bce27e164e304f56dfff172e313098
-CKSUMS+=	55fb7f2c0877231286b2b6515e08eda1d5cac1311a402d0aa162c7eb867ee19b
-CKSUMS+=	0b1936bad97b3a272c2d323d3435f6860fc355abe7603ca7ed8c4166cac75cc5
-CKSUMS+=	1eb383a057cdf2826d884b19142bf0b68b6b30c5bc20baf7ee10401a92a8ef22
-
-CKSUM_CRATES+=	vendor/libc-0.2.170
-CKSUMS+=	f3778a9bd2ba923220537d167cfb10b91580ffbf583100789a46d2807f7a1e3e
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-CKSUMS+=	27feafe043662f005d622502fbb31d99877c1ed8d83b30f350dafcdb513fee69
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-
-CKSUM_CRATES+=	vendor/libc-0.2.171
-CKSUMS+=	f3778a9bd2ba923220537d167cfb10b91580ffbf583100789a46d2807f7a1e3e
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-CKSUMS+=	27feafe043662f005d622502fbb31d99877c1ed8d83b30f350dafcdb513fee69
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-
-CKSUM_CRATES+=	vendor/libc-0.2.172
-CKSUMS+=	ec4c1dce83e8531df71b89e4aee1ab4d3b3b18d1b6d34b03d94573144c40e7c5
-CKSUMS+=	27a886823ba28aa0f5c2a55b325ad7df8c420cf1e92b050357a2411727a338e7
-CKSUMS+=	f3778a9bd2ba923220537d167cfb10b91580ffbf583100789a46d2807f7a1e3e
-CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.32
-CKSUMS+=	2f21f18a4ca1d4be2d997f037158cb21a7421b2ba2cc52f3e4c5f9410197ed27
-CKSUMS+=	abe079743c2b2dea5b2c42564f98741a5eb9e24ff019e01742ace5581e53c06f
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.35
-CKSUMS+=	eb5033d1f2f3d5314625bc63353b1d105cb414d4bc68edf8700b401e4055d669
-CKSUMS+=	bd504cc95f722a296a5f221c3a3068c9eaa946258beff163581d9492de6ccdce
-
-CKSUM_CRATES+=	vendor/memchr-2.7.4
-CKSUMS+=	5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
-CKSUMS+=	34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
-CKSUMS+=	7763472d43c66df596ca0697c07db0b4666d38a6a14f64f9f298aaf756c4a715
-CKSUMS+=	1b26fca824c410077780fbc2f4c53c1d195ba3bdf6785b529ceb0a11f039cec2
-CKSUMS+=	3b15d5cb9715f26e655598eacbb8bbba74cbe8ddb2fb969d13aa75f216a118dd
-CKSUMS+=	8844a2cd5e71abb8efdf8fc3ee54d9c66f3fedb529cdaf5984c279177f5f90af
-CKSUMS+=	6ae779ec5d00f443075316e0105edf30b489a38e2e96325bec14ccecd014145b
-CKSUMS+=	28d66e566b73f6f0f7add4092874dc967ce133bfb6dcbd81f03c9a04b6e4e1d0
-CKSUMS+=	44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
-CKSUMS+=	27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
-
-CKSUM_CRATES+=	vendor/bytecount-0.6.8
-CKSUMS+=	01cd755a128d8a5892f3edda195b26bb461be375be17dd72e6e4f061169e6dff
-CKSUMS+=	7c6609685c161ac6b2c667f59bd6476c5c14c7269ec949fb2def5a0238198c25
-
-CKSUM_CRATES+=	vendor/line-index-0.1.2
-CKSUMS+=	c4613b718951cf0b880a3a7829e102a9ec7196591437e3bc0cfd857c717bfb61
-CKSUMS+=	5183e802793932fb980b4e321656c65d1b6231de3febd1ac94dfa73de31245f0
-
-CKSUM_CRATES+=	vendor/lzma-sys-0.1.20
-CKSUMS+=	6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
-CKSUMS+=	2a68e3e635dce81c7dba25b3d3abfaa894ee729e1604f2d000ae3e201f7739a4
-
-CKSUM_CRATES+=	vendor/zeroize-1.8.1
-CKSUMS+=	9f59308c21265a2fb46935a6468d8bc2e86e4613c9a942fcfc91d61bec8cc878
-CKSUMS+=	9e20af81edc96e11f17c3e3a2933c073b6c6f9b86ca25cab0eabd763c6b80aee
-
-SUBST_CLASSES+=		cksum
-SUBST_STAGE.cksum=	pre-configure
-.for crate in ${CKSUM_CRATES}
-SUBST_FILES.cksum+=	${crate}/.cargo-checksum.json
-.endfor
-.for from to in ${CKSUMS}
-SUBST_SED.cksum+=	-e 's,${from},${to},g'
-.endfor
-
-post-extract:
-	set -e;									\
-	if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh	\
-	  -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \
-		cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH};	\
-		env ${MAKE_ENV} ${TOOLS_BASH} \
-			./install.sh --prefix=${RUST_BOOTSTRAP_PATH};	\
-		cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH};	\
-		env ${MAKE_ENV} ${TOOLS_BASH} \
-			./install.sh --prefix=${RUST_BOOTSTRAP_PATH};	\
-	fi
-.if ${OPSYS} == "NetBSD"
-	SDIR=${WRKDIR}/scripts; \
-	${MKDIR} $${SDIR}; \
-	cd $${SDIR}; \
-	${RM} -f c++-wrap; \
-	${RM} -f clang++-wrap; \
-	${RM} -f clang-wrap; \
-	${RM} -f ar-wrap; \
-	${CP} ${.CURDIR}/files/gcc-wrap .; \
-	${CHMOD} +x gcc-wrap; \
-	${LN} -s gcc-wrap c++-wrap; \
-	${LN} -s gcc-wrap clang++-wrap; \
-	${LN} -s gcc-wrap clang-wrap; \
-	${LN} -s gcc-wrap ar-wrap
-.endif
-
-.if ${OPSYS} == "FreeBSD"
-MAKE_ENV+=		OPENSSL_DIR=${SSLBASE}
-.endif
-
-.if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so)
-BUILDLINK_TRANSFORM+=	rm:-lgcc_s
-MAKE_ENV+=		PKGSRC_HAVE_LIBCPP=yes
-
-pre-build: provide-libgcc-for-bootstrap
-.PHONY: provide-libgcc-for-bootstrap
-provide-libgcc-for-bootstrap:
-.  if exists(${FILESDIR}/libgcc_s.so.1)
-	cp ${FILESDIR}/libgcc_s.so.1 ${RUST_BOOTSTRAP_PATH}/lib/.
-.  endif
-.endif
-
-# Rust builds some bundled components with strict version requirements, ensure
-# that any conflicting packages pulled in via dependencies are not buildlinked.
-BUILDLINK_FILES_CMD.xz=		${TRUE}
-MAKE_ENV+=			LZMA_API_STATIC=1
-pre-configure:
-	${RM} -rf ${BUILDLINK_DIR}/include/libssh2*
-
-#
-# These are essentially copies of the "all", "test", and "install" Makefile
-# targets, but are duplicated here so that we can specify -j.
-#
-do-build:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-	sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then		\
-		unset DESTDIR;						\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${TOOL_PYTHONBIN} ./x.py				\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${TOOL_PYTHONBIN} ./x.py test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${TOOL_PYTHONBIN} ./x.py install -j ${_MAKE_JOBS_N}
-.if ${OPSYS} == "Darwin"
-	cd ${DESTDIR}${PREFIX}/lib && \
-	for lib in rustlib/*/lib/libstd-*.${SHLIB_EXT}; do \
-		${LN} -f $${lib} $${lib##*/}; \
-	done
-.endif
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-i386}
-# Turn off Address space layout randomization
-# so that we can build firefox natively:
-post-install:
-	paxctl +a ${DESTDIR}/${PREFIX}/bin/rustc
-.endif
-
-SUBST_CLASSES+=		destdir
-SUBST_STAGE.destdir=	post-install
-SUBST_FILES.destdir=	${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
-SUBST_SED.destdir=	-e 's|file:${DESTDIR}${PREFIX}|file:${PREFIX}|'
-
-GENERATE_PLIST+=	${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
-			${SED} -e 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
-
-# Create a relocatable stage2 bootstrap from the bits we just built that can be
-# used to build the next version of rust.  Currently only tested on SmartOS.
-#
-# Use the alternate BOOTSTRAP_NAME when creating a nightly release.
-#
-#BOOTSTRAP_NAME=	${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH}
-BOOTSTRAP_NAME=		${PKGNAME_NOREV}-${RUST_ARCH}
-BOOTSTRAP_TMPDIR=	${WRKDIR}/${BOOTSTRAP_NAME}
-USE_TOOLS+=		gtar
-
-# The NetBSD part is so far untested, because I could not convince
-# the rust build to use the gcc wrapper when building natively,
-# so that I could get a placeholder in the RPATH, because chrpath
-# cannot extend the length of the RPATH...
-ELFEDIT?=	/usr/bin/elfedit
-
-.PHONY: stage0-bootstrap
-stage0-bootstrap: install
-	${RM} -rf ${BOOTSTRAP_TMPDIR}
-	${MKDIR} ${BOOTSTRAP_TMPDIR}
-.if ${OPSYS} == "NetBSD"
-	(cd ${BOOTSTRAP_TMPDIR}; \
-	DISTDIR=${WRKSRC}/bild/dist; \
-	VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \
-	RUSTC=rustc-$${VER_ARCH}; \
-	RUSTC_FILE=$${RUSTC}.tar.gz; \
-	RUST_STD=rust-std-$${VER_ARCH}; \
-	RUST_STD_FILE=$${RUST_STD}.tar.gz; \
-	${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \
-		(cd ${RUSTC}; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \
-	for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \
-		chrpath -r $$RPATH $$f; \
-	done; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \
-	for f in rustc/lib/*.so*; do \
-		chrpath -r $$RPATH $$f; \
-	done; \
-	RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \
-	for f in rustc/lib/rustlib/*/*/*.so*; do \
-		chrpath -r $$RPATH $$f; \
-	done;); \
-	${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \
-	${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \
-	${ECHO} "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \
-	${ECHO} "$${RUSTC_FILE}"; \
-	${ECHO} "$${RUST_STD_FILE}"; \
-	)
-.endif
-.if ${OS_VARIANT} == "SmartOS"
-	${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/
-	${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/
-	${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc
-	set -e; \
-	for lib in libgcc_s.so.1 libstdc++.so.6; do \
-		${CP} `${PKG_CC} -print-file-name=$${lib}` \
-		    ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
-	done; \
-	for lib in libLLVM.so.19.1 libcrypto.so.3 libcurl.so.4 \
-		   libssl.so.3 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 liblzma.so.5 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5 libxml2.so.16; do \
-		${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \
-		/bin/file -b "$$f" | grep ^ELF >/dev/null || continue; \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \
-	done; \
-	for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/*/*.so* \
-		 ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/bin/*; do \
-		${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \
-	done; \
-	cd ${WRKDIR}; ${GTAR} -zcf ${BOOTSTRAP_NAME}.tar.gz ${BOOTSTRAP_NAME}
-	@${ECHO} ""
-	@${ECHO} "Verify correct library paths using the following:"
-	@${ECHO} ""
-	@${ECHO} "	cd ${BOOTSTRAP_TMPDIR}"
-	@${ECHO} "	find . -type f | xargs ldd 2>/dev/null | egrep 'not.found|${PREFIX}'"
-	@${ECHO} ""
-	@${ECHO} "If there is no output then this bootstrap kit is ready to go:"
-	@${ECHO} ""
-	@${ECHO} "	${WRKDIR}/${BOOTSTRAP_NAME}.tar.gz"
-	@${ECHO} ""
-.endif
-
-.include "options.mk"
-
-# These dependencies currently use the bundled sources as they require
-# development features not yet available in released versions.
-#
-#.include "../../devel/libgit2/buildlink3.mk"
-#.include "../../security/libssh2/buildlink3.mk"
-#.include "../../www/http-parser/buildlink3.mk"
-#.include "../../devel/jemalloc/buildlink3.mk"
-
-## Issues specific to: bootstrap AND NetBSD follow
-
-# rust i386 and sparc64 bootstraps are built for 8.0
-# and still depend on libstdc++.so.8.
-# Pull in compat80 on 9.x and newer.
-.if (${MACHINE_PLATFORM:MNetBSD-*-i386} || \
-     ${MACHINE_PLATFORM:MNetBSD-*-sparc64}) \
-    && empty(OS_VERSION:M8.*)
-TOOL_DEPENDS+=	compat80>=0:../../emulators/compat80
-.endif
-
-.include "../../mk/atomic64.mk"
-# This is for when we build natively:
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-i386} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-mipsel} || \
-    ${MACHINE_PLATFORM:MNetBSD-*-riscv64}
-# Make libatomic library available via a unique directory:
-DEPENDS+=	libatomic-links>=0:../../devel/libatomic-links
-.endif
-
-TOOL_DEPENDS+=	cmake-[0-9]*:../../devel/cmake
-
-.include "../../devel/zlib/buildlink3.mk"
-.include "../../lang/python/tool.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust188/buildlink3.mk b/rust188/buildlink3.mk
deleted file mode 100644
index d932a4d4fe..0000000000
--- a/rust188/buildlink3.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.18 2025/07/24 10:33:38 jperkin Exp $
-
-BUILDLINK_TREE+=	rust
-
-#
-# DO NOT include this directly! Use rust.mk instead.
-#
-
-.if !defined(RUST_BUILDLINK3_MK)
-RUST_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.rust+=	rust>=1.56.1
-BUILDLINK_PKGSRCDIR.rust?=	../../wip/rust
-BUILDLINK_PASSTHRU_DIRS+=	${PREFIX}/lib/rustlib
-
-.include "../../mk/bsd.fast.prefs.mk"
-
-pkgbase:= rust
-.include "../../mk/pkg-build-options.mk"
-# XXX: unclear why this is necessary, but is actively harmful on Darwin, and
-# likely broken for most uses anyway as rust defaults to DEPMETHOD=build.
-.if empty(PKG_BUILD_OPTIONS.rust:Mrust-internal-llvm) && ${OPSYS} != "Darwin"
-.  include "../../lang/libunwind/buildlink3.mk"
-.endif
-
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust188/cargo.mk b/rust188/cargo.mk
deleted file mode 100644
index 5eb1aaa9ef..0000000000
--- a/rust188/cargo.mk
+++ /dev/null
@@ -1,121 +0,0 @@
-# $NetBSD: cargo.mk,v 1.41 2025/04/04 21:29:22 riastradh 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
-# cargo crates instead of using the rust package manager in the build phase.
-# Inspired by cargo.mk from FreeBSD ports.
-#
-# Usage example:
-#
-# CARGO_CRATE_DEPENDS+=	sha1-0.20
-# .include "../../lang/rust/cargo.mk"
-#
-# If modifying the list of dependencies, re-run the build once without
-# --offline in CARGO_ARGS to generate a new valid Cargo.lock.
-# e.g: make CARGO_ARGS="build --release" build
-#
-# a list of CARGO_CRATE_DEPENDS can be generated via
-#      make print-cargo-depends > cargo-depends.mk
-#
-# See also www/geckodriver for a full example.
-
-MASTER_SITES?=	-${MASTER_SITE_CRATESIO}${PKGBASE}/${PKGVERSION_NOREV}/download
-
-CHECK_SSP_SUPPORTED=	no
-
-.include "../../lang/rust/rust.mk"
-
-USE_TOOLS+=		bsdtar digest
-CARGO_VENDOR_DIR=	${WRKDIR}/vendor
-CARGO_WRKSRC?=		${WRKSRC}
-
-# TODO: some Cargo.lock files include git+https sources which need to be fetched from the URL (not necessarily resolving to a crate.io url)
-DISTFILES?=			${DEFAULT_DISTFILES}
-.for crate in ${CARGO_CRATE_DEPENDS}
-DISTFILES+=			${crate}.crate
-.  if ${crate:M*+*}
-# E.g., for `curl-sys-0.4.75+curl-8.10.0', we use the URL:
-# https://crates.io/api/v1/crates/curl-sys/0.4.77+curl-8.10.1/download
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*\+.*)$/\1/}/download
-.  else
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-.  endif
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# Triggers NetBSD ld.so bug (PR toolchain/54192)
-# See Makefile for further information.
-.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099957
-MAKE_JOBS_SAFE=	no
-.endif
-
-post-extract: cargo-vendor-crates
-.PHONY: cargo-vendor-crates
-cargo-vendor-crates:
-	@${STEP_MSG} "Extracting local cargo crates"
-	${RUN}${MKDIR} ${WRKDIR}/.cargo
-	${RUN}${PRINTF} "[source.crates-io]\nreplace-with = \"vendored-sources\"\n[source.vendored-sources]\ndirectory = \"${CARGO_VENDOR_DIR}\"\n" > ${WRKDIR}/.cargo/config.toml
-	${RUN}${MKDIR} ${CARGO_VENDOR_DIR}
-.for crate in ${CARGO_CRATE_DEPENDS}
-	${RUN}${PRINTF} '{"package":"%s","files":{}}'	\
-	  `${DIGEST} sha256 < ${_DISTDIR}/${crate}.crate` \
-	  > ${CARGO_VENDOR_DIR}/${crate}/.cargo-checksum.json
-.endfor
-
-# Legacy name
-.PHONY: show-cargo-depends
-show-cargo-depends: print-cargo-depends
-
-.PHONY: print-cargo-depends
-print-cargo-depends:
-	${RUN}${AWK} 'BEGIN {print "# $$Net" "BSD$$"; print;}		\
-		/^name = / { split($$3, a, "\""); name=a[2]; }		\
-		/^version = / { split($$3, a, "\""); vers=a[2]; }	\
-		/^source = / {						\
-			print "CARGO_CRATE_DEPENDS+=\t" name "-" vers;	\
-			}' ${CARGO_WRKSRC}/Cargo.lock
-
-.if ${RUST_TYPE} == "native"
-CARGO=			cargo
-.else
-CARGO=			${PREFIX}/bin/cargo
-.endif
-DEFAULT_CARGO_ARGS=	--offline -j${_MAKE_JOBS_N}	\
-			  ${CARGO_NO_DEFAULT_FEATURES:M[yY][eE][sS]:C/[yY][eE][sS]/--no-default-features/}	\
-			  ${CARGO_FEATURES:C/.*/--features/W}	\
-			  ${CARGO_FEATURES:S/ /,/Wg}
-CARGO_ARGS?=		build --release ${DEFAULT_CARGO_ARGS}
-CARGO_INSTALL_ARGS?=	install --path . --root ${DESTDIR}${PREFIX} ${DEFAULT_CARGO_ARGS}
-
-MAKE_ENV+=		RUSTFLAGS=${RUSTFLAGS:Q}
-ALL_ENV+=		CARGO_HOME=${WRKDIR}
-
-.if !target(do-build)
-do-build: do-cargo-build
-.endif
-
-.PHONY: do-cargo-build
-do-cargo-build:
-	${RUN} cd ${CARGO_WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO} ${CARGO_ARGS}
-
-.if !target(do-install) && ${GNU_CONFIGURE:Uno:tl} == no
-do-install: do-cargo-install
-.endif
-
-.PHONY: do-cargo-install
-do-cargo-install:
-	${RUN} cd ${CARGO_WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO} ${CARGO_INSTALL_ARGS}
-	# remove files cargo uses for tracking installations
-	${RM} -f ${DESTDIR}${PREFIX}/.crates.toml
-	${RM} -f ${DESTDIR}${PREFIX}/.crates2.json
-
-.if ${OPSYS} == "Darwin"
-.PHONY: do-cargo-post-install-darwin-fix-rpath
-post-install: do-cargo-post-install-darwin-fix-rpath
-do-cargo-post-install-darwin-fix-rpath:
-	${RUN} cd ${DESTDIR};								\
-	for i in $$(${FIND} .${PREFIX}/lib -name '*.so' | ${SED} -e 's|^\./||'); do	\
-	  install_name_tool -id /$$i $$i;						\
-	done
-.endif
diff --git a/rust188/cross.mk b/rust188/cross.mk
deleted file mode 100644
index 47f2b3e006..0000000000
--- a/rust188/cross.mk
+++ /dev/null
@@ -1,83 +0,0 @@
-# $NetBSD: cross.mk,v 1.11 2023/07/10 12:01:24 he Exp $
-
-# These settings may be used to cross-build rust.
-#
-# They interact with the files/gcc-wrap script to pick the
-# right compiler for the different phases of the build, and
-# use the headers for the target when required.  Note that the
-# cross-root tree will need to have the required binary packages
-# installed (curl etc., see list of buildlink3.mk includes in main
-# Makefile).
-
-# The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable
-# to do a cross-build.  The wrapper script assumes dest/ and tools/
-# as a result of a cross-build of NetBSD as subdirectories of this root
-#CROSS_ROOT=		/u/evbarm-armv7hf
-#CROSS_ROOT=		/u/evbarm-armv7hf-10.0
-#CROSS_ROOT=		/u/evbarm-armv6hf
-#CROSS_ROOT=		/u/sparc64
-#CROSS_ROOT=		/u/macppc
-#CROSS_ROOT=		/u/evbarm64
-#CROSS_ROOT=		/u/evbarm64eb
-#CROSS_ROOT=		/u/i386
-#CROSS_ROOT=		/u/mipsel
-#CROSS_ROOT=		/u/riscv64
-#CROSS_ROOT=		/
-#MAKE_ENV+=		CROSS_ROOT=${CROSS_ROOT}
-
-# The GNU cross target designation
-#GNU_CROSS_TARGET=	armv7--netbsdelf-eabihf
-#GNU_CROSS_TARGET=	armv6--netbsdelf-eabihf
-#GNU_CROSS_TARGET=	sparc64--netbsd
-#GNU_CROSS_TARGET=	powerpc--netbsd
-#GNU_CROSS_TARGET=	aarch64--netbsd
-#GNU_CROSS_TARGET=	aarch64_be--netbsd
-#GNU_CROSS_TARGET=	i486--netbsdelf
-#GNU_CROSS_TARGET=	mipsel--netbsd
-#GNU_CROSS_TARGET=	riscv64--netbsd
-#MAKE_ENV+=		GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
-
-# To cross-build rust, you need to specify
-# the ultimate target to built for, as well as the
-# host the compiler is supposed to run on.
-# Rust's target designation
-#TARGET=		armv7-unknown-netbsd-eabihf
-#TARGET=		armv6-unknown-netbsd-eabihf
-#TARGET=		sparc64-unknown-netbsd
-#TARGET=		powerpc-unknown-netbsd
-#TARGET=		aarch64-unknown-netbsd
-#TARGET=		aarch64_be-unknown-netbsd
-#TARGET=		i686-unknown-netbsd
-#TARGET=		i586-unknown-netbsd
-#TARGET=		mipsel-unknown-netbsd
-#TARGET=		riscv64gc-unknown-netbsd
-#
-#SCRIPTS=		${WRKDIR}/scripts
-#CONFIGURE_ARGS+=	--host=${TARGET}
-#CONFIGURE_ARGS+=	--target=${TARGET}
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
-# Pick one:
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.ar=${SCRIPTS}/ar-wrap
-
-# May be required when cross-building on NetBSD
-#MAKE_ENV+=		OPENSSL_DIR=/usr
-
-#
-# Cross-compile illumos target.  The host is identical, it's just the target
-# that is renamed from x86_64-sun-solaris to x86_64-unknown-illumos.
-#
-#TARGET=		x86_64-unknown-illumos
-#
-# Use these variables for "cross-compiling" from x86_64-sun-solaris.
-#
-#CONFIGURE_ARGS+=	--set=target.${TARGET}.llvm-config=${LLVM_CONFIG_PATH}
-#CONFIGURE_ARGS+=	--host=${TARGET}
-#CONFIGURE_ARGS+=	--target=${TARGET}
-#
-# Set this variable when using a native x86_64-unknown-illumos bootstrap, as
-# the build still defaults to x86_64-sun-solaris based on uname.
-#
-#CONFIGURE_ARGS+=	--build=${TARGET}
diff --git a/rust188/distinfo b/rust188/distinfo
deleted file mode 100644
index 0cca84585f..0000000000
--- a/rust188/distinfo
+++ /dev/null
@@ -1,174 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 2b5ddc732b2bcc18ce012bd94a0185ee98870624b10e8918e88c451ad75a8998
-SHA512 (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 0517c342dbdd1477c610c505c2fc0b1c03eede445fc9008c4fb807dd7041b84fab5c23616d2261bc80939a39089665e27d54d8db9f9da73836522f1e69567ae0
-Size (rust-1.85.1-x86_64-unknown-illumos.tar.gz) = 235777837 bytes
-BLAKE2s (rust-1.87.0-aarch64-apple-darwin.tar.gz) = 10af213e2fc6ccea7f999047e1ef38941da5e046745e626a8c7e2f0ec8364d4c
-SHA512 (rust-1.87.0-aarch64-apple-darwin.tar.gz) = f13f1781ffb6496bdd66fcb9ad8d28343de6656c9bf642e3f1b8a187cc3198245c020624bb3fbee2e8d9b9ee3eade2331d95ff82d974e46781752c722939a353
-Size (rust-1.87.0-aarch64-apple-darwin.tar.gz) = 374337450 bytes
-BLAKE2s (rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 261e71aa52c842e6b89699ac0d4b1e00e3287707d69ee681d7458f70eed15fec
-SHA512 (rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 0afe841190c91a1dadf191cdc1ae661da54540ea3ba880fe60fe59da1059a1271122956623e6378be325d00842b77c1ff7ea4dec39f27c917a8acfba2f9d7d61
-Size (rust-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 314521673 bytes
-BLAKE2s (rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 82570b244a5f9b3f6c1ad94b87053bc481d3634d81be1bfd0d1fa61550e08e7e
-SHA512 (rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 5bdff7b24b3c53f679917aba1bc7e62d29979c42b601bf2797270e9f5282d32185ede43ed1edade274e4022caf0563280b7b9614f4872e9f82590a8ec9adf451
-Size (rust-1.87.0-aarch64-unknown-netbsd.tar.xz) = 232384708 bytes
-BLAKE2s (rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 761257d366e4c41adea1f5d9385e625d300b3105a6c78330c893e3940c67338a
-SHA512 (rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = c94c84022d7164284cfd064ccb46477a695c3862011c0d5103d8826c7dec7ab8d57e29a5d39db5b4b9a679b328355311f92005aed5fed1dfa56ca89f40880e42
-Size (rust-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 232686736 bytes
-BLAKE2s (rust-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = 675bec26770c9854a201bee963b957c673c55bb4d5d94a565f5acc28973b6e9e
-SHA512 (rust-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = 1abc6fad81a58ad804c582c97d41adc58a386c8d65269dea137ddc467f40f4de7314c1e4e7647660433c96602b17fab86ed13543e29ed100cb6fff0393b4e7b2
-Size (rust-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = 427356121 bytes
-BLAKE2s (rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 3c1bc931314b52b7ead06d306fb654d6770bb9bc799f4353b5e6e0cf636ec68a
-SHA512 (rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = cdb392feef760a0db0b907663542b40bafdbaffa089d2eec69b44e90a264197f331d5c1584e0c82115f8d7ac5efdd051bbb8b833ee2885abd5b28c214a78e027
-Size (rust-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 184519204 bytes
-BLAKE2s (rust-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = c616e00ba6351b22b20d4326f975df08206f69140b957bf580755c66dde3dc4b
-SHA512 (rust-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = e1a326747a0f1095c10397521740f6e4150ad357c77f2a08d863bc89858c7a21c8b45785da36e673cc2879f4470f4417e1937ec96d790c2918778e9d2c791c97
-Size (rust-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = 412671226 bytes
-BLAKE2s (rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = e2c52503a61857921f7f21e91df8c1199c2d8469cd8d821619fa71b6ffc75906
-SHA512 (rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 603b372ee88973ebd138c4885d6a2476da5551aca47429de19e460175c3a4b06fe103fc6100943e2dbbc08b27e082bfdc96e1ebec4afe0e3b002c36196f87d94
-Size (rust-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 185289080 bytes
-BLAKE2s (rust-1.87.0-i586-unknown-netbsd.tar.xz) = 0a538763c444d3608328ffa92958c690a29f3cd8dbc198ceca04737f2f3d25f5
-SHA512 (rust-1.87.0-i586-unknown-netbsd.tar.xz) = 8230d4be392ecb2d8725fc101340f9412d18feea2c70d5d9eb5f3c492a347b445c5bcf6ac043e7349388741f9946868ee01f0766c9e549174dd287a76c596f30
-Size (rust-1.87.0-i586-unknown-netbsd.tar.xz) = 254600640 bytes
-BLAKE2s (rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 905fe3c2c247c27c2e58af0f9847d0248c6bf434f4d2b0830f88a304a58f0923
-SHA512 (rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 770747c0d32d358e9607407c32fa357f0f955bce430f5934e9906473ef227452873ad5ff4f7218e22107048efee7a8dd4d59fa2bb0b1be0074892d452ab81f7e
-Size (rust-1.87.0-i686-unknown-linux-gnu.tar.gz) = 486242931 bytes
-BLAKE2s (rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = c3a36716ce24205ea2591353b1f193dc891af1486c5724bac521c21f13d89eb6
-SHA512 (rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = aa20d1e833f79fa1498ea67662fb5a43dbeba2c542d0ed1c3a6886917e2bea1c1e4b69c83e9fedc30aa5e454343c18332c9033a0837030dded029640e99ae077
-Size (rust-1.87.0-powerpc-unknown-netbsd.tar.xz) = 265863956 bytes
-BLAKE2s (rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 0bfa5d6f2352d83fd2d619c6ad3a83e067f1afbbe96f7e0d1d14464efb022106
-SHA512 (rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 178a8115a7559012436029daa7f0716a4b09d3ad2866cf93f02b892b80c5efcc7d62e6e3b40bfb93f1e8d6124fc1d6cdb2b2f09bb7611c3835f9f62d871d1602
-Size (rust-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 253079552 bytes
-BLAKE2s (rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = e1f1e5a84ca8758d2c34cd3413488937fbaa86f10e306e2220c265a214066fd1
-SHA512 (rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = 89b482559b8418f46696d52bce6f40fc2235137ac80e8796ba8025cc3edd27e386f49a90917b712ae006c70c4b6133ec1a802ab4f4950d5fb76ff723c0199384
-Size (rust-1.87.0-sparc64-unknown-netbsd.tar.xz) = 227545816 bytes
-BLAKE2s (rust-1.87.0-x86_64-apple-darwin.tar.gz) = c9d957c710c7f6d0b23d92f03a47021d3e5ed59ab25901efeddf32ba4aeea31f
-SHA512 (rust-1.87.0-x86_64-apple-darwin.tar.gz) = c8c894450888a8d073ab99890cdf560a094b663b7e376211a1f7c5c5f3ab952f115ff779497ab4f567e24eaed08b4334ea4be1889474291369e2dae08995ca4e
-Size (rust-1.87.0-x86_64-apple-darwin.tar.gz) = 386517789 bytes
-BLAKE2s (rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = be9f43f7e6c297911fd2fa1211d1ca69b6a8bae15ad8f8cbec4f1b5d6df7ab2c
-SHA512 (rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = e61e195b3b468250776efc6230ec788497654d160f5ae26d9568f3a40e2e82a1520de9357255d63124601028398e6f32fcfe276e349456210c86f60a00be7397
-Size (rust-1.87.0-x86_64-unknown-freebsd.tar.gz) = 374981980 bytes
-BLAKE2s (rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = d6c8c9e0223122a73ceba3de013cfc0d88511d23d9d5e05d14c7f006e99e9fe6
-SHA512 (rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = eb6b45f768c36cbbfacd0ca27cb2ecf73afda602de442b55d44c2cc0c14dfcf068a0aea9492ee21aa03f5cc121dc3411b861814fa55aa9f709d358ba50987c16
-Size (rust-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = 359529223 bytes
-BLAKE2s (rust-1.87.0-x86_64-unknown-netbsd.tar.xz) = ca35fc2476f3be2b041754edb9f1fe4c4054dab3ef5cbec5ecf4abd78884863a
-SHA512 (rust-1.87.0-x86_64-unknown-netbsd.tar.xz) = 1ef21efd8901332815ace1a9a7537bf21280e023517b1d0d5bd39f683488b30132d7cedbb1274094cc4c73b33e25a6b0425aaa10f55bfc0162ee781c2f2157ad
-Size (rust-1.87.0-x86_64-unknown-netbsd.tar.xz) = 227431084 bytes
-BLAKE2s (rust-std-1.87.0-aarch64-apple-darwin.tar.gz) = 555d0830fe243d9230301680dfa78e7dcad6daea1f9886217a682a32feac5623
-SHA512 (rust-std-1.87.0-aarch64-apple-darwin.tar.gz) = 5dfd3a4b22668c0f64142621912ff15d54cef0876eef6e58ef0d5580db8100a30bf60d3118ddefc0c6fb420227d09177db177144b094c45854bd9ce5e148dbf9
-Size (rust-std-1.87.0-aarch64-apple-darwin.tar.gz) = 43760053 bytes
-BLAKE2s (rust-std-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 579c5f48ae9527dd5a257c34d2f84bb0145a894ea862116b7374ae632fb11318
-SHA512 (rust-std-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = d420d8db292557edede6cc19f6040369028d676c05db8e4086889f461c3a97cf8bcd99c10a970c64743ec2b38d0cc8049a4b2d18d4c9c848d88c42e35a27ad4d
-Size (rust-std-1.87.0-aarch64-unknown-linux-gnu.tar.gz) = 48130414 bytes
-BLAKE2s (rust-std-1.87.0-aarch64-unknown-netbsd.tar.xz) = d45af9444ef1289299bc0478c789528edbe83fb480843b83a951f0aadf70a1a1
-SHA512 (rust-std-1.87.0-aarch64-unknown-netbsd.tar.xz) = 25c7b62086f9d9e7af5e584cfbc76b3841422e42cbaf483e9c5970d3c40d725bfe8e080db50cc612b4fafda84859aad45023322f9d94958e1a557026b25a7c0f
-Size (rust-std-1.87.0-aarch64-unknown-netbsd.tar.xz) = 24899524 bytes
-BLAKE2s (rust-std-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 9833eda3523bfd5e082b5af692dc80c6d88989a91131c5b818a90535836705bd
-SHA512 (rust-std-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = b3da6b52a9a11b7530e7effdc6879ae14deb51879e19e737f0e587a83db6d2d0282f21b2518ca66c6e60dc54ef03c037bb697e0be9d5f263961e06f1f523b358
-Size (rust-std-1.87.0-aarch64_be-unknown-netbsd.tar.xz) = 24860892 bytes
-BLAKE2s (rust-std-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = b5d84ecba2f104a70a61843fca044d1fd25d1bd434cbb6b9be1c3a2696aa2bfd
-SHA512 (rust-std-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = 33de3a68cfb84cac7e5d8c4198576b703850a83887ba81223d83fe96a4a784ada23ca9f4ce345c9ae928171db588b93f42820498bc49b2179726c0313e97a435
-Size (rust-std-1.87.0-arm-unknown-linux-gnueabihf.tar.gz) = 39997081 bytes
-BLAKE2s (rust-std-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = a9dfc4215a2d73041ec16e4c3aa500220d8342e7069432c8414e6efc00b0e146
-SHA512 (rust-std-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9ed20f5609661d06bb3da59516f71464b35c3801cf186ede120e53427b25515b5ea21a3d6a413de524a21dcf2820b2a748c08b58bf90da7d5820c7309215d87d
-Size (rust-std-1.87.0-armv6-unknown-netbsd-eabihf.tar.xz) = 22882800 bytes
-BLAKE2s (rust-std-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = b1307151e48391cd9dae0aeb5170431f4c77c5d148674fa5f5414abd1dfb2f6a
-SHA512 (rust-std-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = ac6f1431f61f70b09a9b3198fae8a38125292d336a023478e979d4d16cd1a7688950b15af6f2fb1d4ae850cd001a1d94799170a895a2fd4fb4991d4fc5faf8b8
-Size (rust-std-1.87.0-armv7-unknown-linux-gnueabihf.tar.gz) = 41519171 bytes
-BLAKE2s (rust-std-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 532077709d42e2bf56be102cf41ce4154c58fa39b34eb84d5df3d1a9855fa20f
-SHA512 (rust-std-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 3747b2e17b2615bdb452ea961263506ba232d970539cd80b6c507dd8f9b87ccb2dfc783a682aa810209f3f97b40186ffce2fa08739dae87024f5e857adb7b4cd
-Size (rust-std-1.87.0-armv7-unknown-netbsd-eabihf.tar.xz) = 24056840 bytes
-BLAKE2s (rust-std-1.87.0-i586-unknown-netbsd.tar.xz) = 3fda3f976f9f974f77023b5ce1596bac2c5c66f81a0f02b22ed528492ae7e91c
-SHA512 (rust-std-1.87.0-i586-unknown-netbsd.tar.xz) = 9c3c573dc8c82e96dbc23c9cdb95972029bd621bd6cf936acf0f3cb28b9e753de315323f7eca9b6423e0ca59f574405c24200cee65d617c21ed4021e6ab120f1
-Size (rust-std-1.87.0-i586-unknown-netbsd.tar.xz) = 25634492 bytes
-BLAKE2s (rust-std-1.87.0-i686-unknown-linux-gnu.tar.gz) = 6cf96180bb4c51a716c89f34f6663ce84637d4590ad620243f3909473cb7589f
-SHA512 (rust-std-1.87.0-i686-unknown-linux-gnu.tar.gz) = 6a363efff33894aa183672803f492faa06ea8e6229e374df0b57fd4828b61907491e890ccfc9014db0b8aee3223496ac49314b8b2142a63b6edcb0a2fe2bf205
-Size (rust-std-1.87.0-i686-unknown-linux-gnu.tar.gz) = 44113612 bytes
-BLAKE2s (rust-std-1.87.0-powerpc-unknown-netbsd.tar.xz) = 492b69696661e58b7825f721a916f9c9d2c0a6c467297959b97af266276b3aae
-SHA512 (rust-std-1.87.0-powerpc-unknown-netbsd.tar.xz) = 6227716a69637f7981ae907384cc7f7f97dcdafac099f4adc097ea0ac52da3f13ba0188866e9e2b1169451c8e5538ed68af1328502fdf5a41a033556bcd5bf65
-Size (rust-std-1.87.0-powerpc-unknown-netbsd.tar.xz) = 23300168 bytes
-BLAKE2s (rust-std-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 3ecb9b281527598980139d2cdff57f8a7d88c16b44b88226dbc1f9444dd80645
-SHA512 (rust-std-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 1956798c94c20b811f38f78e5b73b354757da827c8745e94648153e5983ebb29e208fcca2e04fd1ed84ba3020ee7e68e6713a14ac3eb77c7e3854d014ed005a6
-Size (rust-std-1.87.0-riscv64gc-unknown-netbsd.tar.xz) = 23405780 bytes
-BLAKE2s (rust-std-1.87.0-sparc64-unknown-netbsd.tar.xz) = 8b35c6ccb62a49a87d57f281c8c11aeff3d391955d191c09483e4fa8ed96cdf2
-SHA512 (rust-std-1.87.0-sparc64-unknown-netbsd.tar.xz) = 47b1a8ff8724e5ef14ddf03cd42d21b3fced0ef20b7f54a2b9e5399a7ac8e30f91a331fe5d35ac347d768b7b1e38f0f0f59e35848bc32b0f65efee2662d97713
-Size (rust-std-1.87.0-sparc64-unknown-netbsd.tar.xz) = 22955024 bytes
-BLAKE2s (rust-std-1.87.0-x86_64-apple-darwin.tar.gz) = d4c8ae1366248494765e7e82cdf5bbeabedbdb34601b60615d9b7d127d1545c3
-SHA512 (rust-std-1.87.0-x86_64-apple-darwin.tar.gz) = 73e0683df73d0f5ed8932b9d49692778a393cf3d6601283e18111227421bf1fa674e0096316f7dc48a7dabf4914d587a3bc2d60df6fbe7f3dfb97824b57ddf1f
-Size (rust-std-1.87.0-x86_64-apple-darwin.tar.gz) = 46159992 bytes
-BLAKE2s (rust-std-1.87.0-x86_64-unknown-freebsd.tar.gz) = bb0cc3a86209172b283d74bb2456cf118ea4fe8bcc3ba4d6b757f2d7e6fadf17
-SHA512 (rust-std-1.87.0-x86_64-unknown-freebsd.tar.gz) = 1884f6d7741ed2c995fe313573e9528c57374a63b83417444531d02b76841261cb09e64bc8e6239d4738d3ebc6f4a4aafe727d8be4d5b89da003576d62ed8a93
-Size (rust-std-1.87.0-x86_64-unknown-freebsd.tar.gz) = 47539890 bytes
-BLAKE2s (rust-std-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = ef042489d26ba670a113afb8804a60e41e32d27ade2c31ed00a5cc3f29372523
-SHA512 (rust-std-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = 8e7c5b33f3433e6e170a8a9a7d80aad760a991758e25a2678bb991656484d8c97d3d99e33724945e0320a6e9ae57be1e90d5cd30331b33dc5df703711279a186
-Size (rust-std-1.87.0-x86_64-unknown-linux-gnu.tar.gz) = 49935889 bytes
-BLAKE2s (rust-std-1.87.0-x86_64-unknown-netbsd.tar.xz) = a8451ed0b02eee8623089643083af4e58514269b2586ed2c76f5239f0115af3f
-SHA512 (rust-std-1.87.0-x86_64-unknown-netbsd.tar.xz) = 2052835f9664df865332f3986cca586fc089e02d5f220aa02e02a55b256288d6d4b992d65f37823418f602332f050511131937d2e844ff3ce4f74f77d2611d75
-Size (rust-std-1.87.0-x86_64-unknown-netbsd.tar.xz) = 28438524 bytes
-BLAKE2s (rustc-1.88.0-src.tar.gz) = e64f98cb5ccadbb6e16d10e454d9e6cb558bbecf172145f5346c604c475593c7
-SHA512 (rustc-1.88.0-src.tar.gz) = eda47885ca9d6431a55cc1a1890272bde845d83d3963143837e8bc95fcd636cb09892a9139e8e0b29da866b7ba67b77b0263ef910d96726e6331c6ce09f2929d
-Size (rustc-1.88.0-src.tar.gz) = 613378400 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = bb4cc16be543116f3f7d981fd8ac349f37dad105
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 3acef995e3038a98b29b31b9bdd43286b1ac29f7
-SHA1 (patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs) = 416d369e197f2eba6b0e6dd321b727f0f64ff159
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = f6805317abaf61fa5e713af0b3599945a93a751a
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = a22b5d28997ed9a5565deec9c34322165d563d00
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs) = 620eaf74c1dd030973af53dfe4f9aa998be5b123
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs) = 1a02f2dd61a5f9cc4be1f66ac3404c961810c731
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs) = 0c5b7c31abe514e3394b910c6e601e40ebbd45c1
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 8b18e1dbde59f3e8f20e93c7669618b2c7a13294
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = 2e68c3a71b221cb1bfeb313327f366758782fe51
-SHA1 (patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs) = 97c3ad8ea39c25d41256fcad80fae1e6e4970124
-SHA1 (patch-src_bootstrap_bootstrap.py) = b2ccb6a2c3ca180a3a39493314d56285a7a6d8ea
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = e928203ed4734c93cc33c5a3f7879cf18dcecc83
-SHA1 (patch-src_bootstrap_src_core_build__steps_install.rs) = cc6558df42c9c9ac28fdb2ff180bdaa7f22ce816
-SHA1 (patch-src_bootstrap_src_core_builder_cargo.rs) = b7ce18d045c2ef250817ee4b6ed57e0524d99e71
-SHA1 (patch-src_bootstrap_src_lib.rs) = b90a3b9044c4ad92a7ba50a9e3388f6a91caf9c6
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 446acdd51fb6ddcba733371263aa2f9949299d31
-SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = e1b2eb2f0b3cf1cf87b443656ae306b3242f6b12
-SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1
-SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 39d76e6659143d154ae690ac70781b698a2023d8
-SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = e1af7fde97416e0a269ee34efd37f4f47fcf7a95
-SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 333ec513b9b94750b2424a7c1b21c809e6ea25b8
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-tests_assembly_targets_targets-elf.rs) = ee7d036c055ed2a2b3b303f381ad4694327c739b
-SHA1 (patch-vendor_bytecount-0.6.8_src_lib.rs) = df3641afebac2b06dc9d266524e295c461c441d4
-SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
-SHA1 (patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 36d927a0c3fd6ef8d211da5389a981e077aedc29
-SHA1 (patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
-SHA1 (patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs) = c5cd529719daee44aead47ffd97e682ca9d9a1ae
-SHA1 (patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = acbd63b911637fef336a92169a8130133eb64c8c
-SHA1 (patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs) = edbb81319e5f685fd9c2ffe94138c377855a982d
-SHA1 (patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 02c4efefbf1e9e1bd98eb9524515677250ae7454
-SHA1 (patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = c5e1c2d896d5e9d32aeb56bc3e4d9fb26be9edf0
-SHA1 (patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs) = e02c56106a092b4f2e27427ea8b5d96bf437c356
-SHA1 (patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = b6f2a00c83cbeedd8142dff58261bbb393449600
-SHA1 (patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = adfc737db618e2fdbe99aafaee3e7802ee04ca26
-SHA1 (patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 3127715d2eb1e0ce148d67323b25dd0bc07b67ad
-SHA1 (patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs) = 56b3e6273dc61a8b4c0d4e84abeeba0527c73dd1
-SHA1 (patch-vendor_line-index-0.1.2_src_lib.rs) = 30aa5c82630ea0e8969abb527c11640712efba1e
-SHA1 (patch-vendor_lzma-sys-0.1.20_config.h) = 4849052ddb2f04f539fd7060fc1b43cc3acf99c4
-SHA1 (patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs) = 3e17e9f068afe5e812d10bf57fd3f6d4c21baf0b
-SHA1 (patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs) = 24bbd69c8b571e5652d5306989b6598b58ec1966
-SHA1 (patch-vendor_memchr-2.7.4_src_memchr.rs) = 4c2f4fa4911f38acd3b36c311abd14d3c9751672
-SHA1 (patch-vendor_memchr-2.7.4_src_memmem_searcher.rs) = a5038873015004ab0c8769dda84edc16a9c55f24
-SHA1 (patch-vendor_memchr-2.7.4_src_vector.rs) = 50a901d061cf58a745b0c387a1c45ff2f0c54e89
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf) = 2e229236a8b4cb956938cba13c1ffa58afcbc8bc
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c) = 366ba2116a371afb74cf1d0f00277110f8cc0324
-SHA1 (patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs) = 67bb65da109e8d721955925bfcd3498034c45c56
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf) = ebc0442d597083c7d40f08601938cfc127f8cca0
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c) = 703e5a0a1a8439e8fcc10a6b5fc72595184416a3
-SHA1 (patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs) = 9a9c491aa870c2eed9f42191d109cc1ff8fcedb2
-SHA1 (patch-vendor_openssl-sys-0.9.104_build_find__normal.rs) = ddfce30d203cc9f84169431b0a83336ae6fdf56d
-SHA1 (patch-vendor_openssl-sys-0.9.104_build_main.rs) = caf95c3d6e8777424b49600825d21535b2231eb2
-SHA1 (patch-vendor_openssl-sys-0.9.107_build_find__normal.rs) = b3de2b9137882e3612291057c1b7793a27de760f
-SHA1 (patch-vendor_openssl-sys-0.9.107_build_main.rs) = 46627c013821166688d16d97f6f8ff4ccb552241
-SHA1 (patch-vendor_openssl-sys-0.9.108_build_find__normal.rs) = 1392ffbc4b708d6923931a67aa695acb8079b355
-SHA1 (patch-vendor_openssl-sys-0.9.108_build_main.rs) = 8dda1e54b4fed1573f7acd5d112d095db29df339
-SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
-SHA1 (patch-vendor_zerocopy-0.7.32_src_lib.rs) = d683e48900f427327f4ed518fe62b593e82c13d7
-SHA1 (patch-vendor_zerocopy-0.7.35_src_lib.rs) = b4b910405172f5653db4bf3286974b9410e77fab
-SHA1 (patch-vendor_zeroize-1.8.1_src_lib.rs) = 5e6c3a04e8a4974dc8427b86753bec18fa1aa5fe
diff --git a/rust188/do-cross.mk b/rust188/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust188/do-cross.mk
+++ /dev/null
@@ -1,107 +0,0 @@
-# $NetBSD$
-# 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+=		arm64
-SHORT_TARGETS+=		arm64_be
-SHORT_TARGETS+=		i386
-SHORT_TARGETS+=		riscv64
-SHORT_TARGETS+=		mipsel	# produces mips32 (not mips1) executables
-
-# Conditional local overrides of ROOT.* variables:
-.sinclude "local-roots.mk"
-
-# Root of target directories.
-# Must have dest/ (build.sh's DESTDIR) and tools/ subdirectories
-ROOT.armv7?=		/u/evbarm-armv7hf
-ROOT.armv6?=		/u/evbarm-armv6hf
-ROOT.sparc64?=		/u/sparc64
-ROOT.powerpc?=		/u/macppc
-ROOT.arm64?=		/u/evbarm64
-ROOT.arm64_be?=		/u/evbarm64eb
-ROOT.i386?=		/u/i386
-ROOT.mipsel?=		/u/mipsel
-ROOT.riscv64?=		/u/riscv64
-
-# Mapping to GNU triple
-G_TGT.armv7=		armv7--netbsdelf-eabihf
-G_TGT.armv6=		armv6--netbsdelf-eabihf
-G_TGT.sparc64=		sparc64--netbsd
-G_TGT.powerpc=		powerpc--netbsd
-G_TGT.arm64=		aarch64--netbsd
-G_TGT.arm64_be=		aarch64_be--netbsd
-G_TGT.i386=		i486--netbsdelf
-G_TGT.mipsel=		mipsel--netbsd
-G_TGT.riscv64=		riscv64--netbsd
-
-# Mapping to rust's TARGET specification
-TGT.armv7=		armv7-unknown-netbsd-eabihf
-TGT.armv6=		armv6-unknown-netbsd-eabihf
-TGT.sparc64=		sparc64-unknown-netbsd
-TGT.powerpc=		powerpc-unknown-netbsd
-TGT.arm64=		aarch64-unknown-netbsd
-TGT.arm64_be=		aarch64_be-unknown-netbsd
-TGT.i386=		i586-unknown-netbsd
-TGT.mipsel=		mipsel-unknown-netbsd
-TGT.riscv64=		riscv64gc-unknown-netbsd
-
-# Optional target tweak for bootstrap files
-#TT.powerpc=		powerpc-unknown-netbsd90
-
-WRKDIR=		${.CURDIR}/work
-SCRIPTS=	${WRKDIR}/scripts
-
-#DEBUG=		echo
-
-# Make list of make targets
-.for st in ${SHORT_TARGETS}
-MTGTS+=	do-${st}
-.endfor
-
-all: ${MTGTS}
-
-# Define the individual build targets, used above
-.for st in ${SHORT_TARGETS}
-CA.${st}=--host=${TGT.${st}}
-CA.${st}+=--target=${TGT.${st}}
-CA.${st}+=--set=target.${TGT.${st}}.cc=${SCRIPTS}/gcc-wrap
-CA.${st}+=--set=target.${TGT.${st}}.cxx=${SCRIPTS}/c++-wrap
-CA.${st}+=--set=target.${TGT.${st}}.linker=${SCRIPTS}/gcc-wrap
-CA.${st}+=--set=target.${TGT.${st}}.ar=${ROOT.${st}}/tools/bin/${G_TGT.${st}}-ar
-do-${st}:
-	mkdir -p dist
-	@echo "=======> Cross-building rust for ${st}"
-	${DEBUG} make -f Makefile clean
-	${DEBUG} env \
-		CROSS_ROOT=${ROOT.${st}} \
-		GNU_CROSS_TARGET=${G_TGT.${st}} \
-		make -f Makefile \
-			ADD_CONFIGURE_ARGS="${CA.${st}}" \
-			TARGET=${TGT.${st}}
-	if [ "${TT.${st}}" != "" ]; then \
-		TT=${TT.${st}}; \
-	else \
-		TT=${TGT.${st}}; \
-	fi; \
-	distdir=${WRKDIR}/rustc-${V_NOREV}-src/build/dist; \
-	for comp in rust rust-std; do \
-		src=$${distdir}/$${comp}-${V_NOREV}-${TGT.${st}}.tar.xz; \
-		tgt=dist/$${comp}-${VERSION}-$${TT}.tar.xz; \
-		if [ ! -f "$${tgt}" ]; then \
-			echo ln $${src} $${tgt}; \
-			${DEBUG} ln $${src} $${tgt}; \
-		fi; \
-	done; \
-	src_comp=rust-src-${V_NOREV}.tar.xz; \
-	if [ ! -f dist/$${src_comp} ]; then \
-		echo ln $${distdir}/$${src_comp} dist; \
-		${DEBUG} ln $${distdir}/$${src_comp} dist; \
-	fi
-.endfor
diff --git a/rust188/files/gcc-wrap b/rust188/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust188/files/gcc-wrap
+++ /dev/null
@@ -1,199 +0,0 @@
-#! /bin/sh
-
-# Root of targets tools + dest directories
-# or unset to default to a native build.
-
-# This script assumes target tools in $root/tools 
-# and target's destdir in $root/dest, the result of a NetBSD build.sh.
-# ...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"
-# (perhaps this is overly cautious, other adjustments we do
-# below may be sufficient...)
-# Lib directories to ensure we search and have in run-path
-libs="/lib /usr/lib /usr/pkg/lib"
-
-for d in $libs; do
-	if ! $native; then
-		linkadd="$linkadd -L=$d"
-		linkadd="$linkadd -Wl,-rpath-link=${root}/dest/$d"
-	fi
-	# Run-path is for when we execute on the target,
-	# so no $root prefix
-	linkadd="$linkadd -Wl,-rpath,$d"
-done
-
-# ...and add a placeholder so we can tweak RPATH with chrpath,
-# since chrpath can't extend the length of the run path
-# (This may also not be needed, we use LD_LIBRARY_PATH instead)
-placeholder="placeholder-$(date | openssl dgst -sha1 | \
-	awk '{ print $2 }')"
-linkadd="$linkadd -Wl,-rpath,/$placeholder"
-# the / is a sneaky attempt to let it past cwrapper...
-
-# More debugging
-linkadd="$linkadd -Wl,--verbose"
-
-linktweaked=false
-
-# Step through args, tweak where required
-set -- "$@"
-while [ $# -gt 0 ]; do
-	case "$1" in
-# Insert = at the front of -isystem args.
-# This is to get --sysroot prepended, so that
-# we pick up the correct set of header files.
-# (I thought this wasn't reqired, but apparently it is...)
-		-isystem)
-			shift
-			args="$args -isystem =$1"
-			;;
-# Also doctor -I directives of known paths and
-# redirect them to the --sysroot.
-		-I/usr/include)
-			args="$args -I=/usr/include"
-			;;
-		-I/usr/include/krb5)
-			args="$args -I=/usr/include/krb5"
-			;;
-		-I/usr/pkg/include)
-# Try to drop this...
-			if ! $native; then
-				args="$args -I=/usr/pkg/include"
-			fi
-			;;
-		-I)
-			if [ $2 = "/usr/include" ]; then
-				args="$args -I=/usr/include"
-				shift
-			elif [ $2 = "/usr/include/krb5" ]; then
-				args="$args -I=/usr/include/krb5"
-				shift
-			elif [ $2 = "/usr/pkg/include" ]; then
-# Try to drop this too...
-				if ! $native; then
-					args="$args -I=/usr/pkg/include"
-				fi
-				shift
-			else
-				args="$args -I"
-			fi
-			;;
-		-l*)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args $1"
-			;;
-		-L)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			shift
-			tweaked=false
-			# redirect these to -Wl,--sysroot
-			for d in /lib /usr/lib /usr/pkg/lib; do
-				if [ $1 = $d ]; then
-					args="$args -L =$d"
-					tweaked=true
-				fi
-			done
-			# Not redirected?  If so we need to add
-			if ! $tweaked; then
-				args="$args -L $1"
-			fi
-			;;
-			
-		-L/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/lib"
-			;;
-		-L/usr/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/usr/lib"
-			;;
-		-L/usr/pkg/lib)
-			if ! $linktweaked; then
-				args="$args $linkadd"
-				linktweaked=true
-			fi
-			args="$args -L=/usr/pkg/lib"
-			;;
-		-Wl,--enable-new-dtags)
-			# ignore
-			;;
-		*)
-			args="$args $1"
-			;;
-	esac
-	shift
-done
-
-if $native; then
-	# Try to avoid cwrappers, which does "undocumented magic"
-	# by invoking the compiler "directly".
-	#cmd="/usr/bin/${who} $args"
-	# (however, this wrapper isn't used when buliding natively...)
-	cmd="${who} $args"
-else
-	cmd="${root}/tools/bin/${gnuarch}-${who} \
-		--sysroot=${root}/dest \
-		$incadd \
-		$args"
-fi
-
-# Cannot echo to stdout, messes up e.g. "gcc -print-prog-name=ld" output...
-#echo $cmd >> /tmp/gcc-wrap.log
-exec $cmd
diff --git a/rust188/options.mk b/rust188/options.mk
deleted file mode 100644
index a797d5317c..0000000000
--- a/rust188/options.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-# $NetBSD: options.mk,v 1.26 2022/07/11 20:13:50 jperkin Exp $
-
-PKG_OPTIONS_VAR=	PKG_OPTIONS.rust
-PKG_SUPPORTED_OPTIONS+=	rust-cargo-static rust-docs
-
-.include "../../mk/bsd.fast.prefs.mk"
-
-# The bundled LLVM current has issues building on SunOS.
-.if ${OPSYS} != "SunOS"
-PKG_SUPPORTED_OPTIONS+=		rust-internal-llvm
-# There may be compatibility issues with the base LLVM on e.g. NetBSD.
-.  if !empty(HAVE_LLVM)
-PKG_SUGGESTED_OPTIONS+=		rust-internal-llvm
-.  endif
-.endif
-
-# If cross-building, always use the internal LLVM
-.if !empty(TARGET)
-PKG_SUGGESTED_OPTIONS+=		rust-internal-llvm
-.endif
-
-PKG_OPTIONS_LEGACY_OPTS+=	rust-llvm:rust-internal-llvm
-
-# Bundle OpenSSL and curl into the cargo binary when producing
-# bootstraps on NetBSD.
-.if ${OPSYS} == "NetBSD" && ${BUILD_TARGET} == "dist"
-PKG_SUGGESTED_OPTIONS+=	rust-cargo-static
-.endif
-
-.include "../../mk/bsd.options.mk"
-
-# NetBSD/sparc64 when using the internal LLVM needs
-# to not use gcc 10.4 or 10.5 (as found in 10.0_BETA or 10.0), ref.
-# https://github.com/rust-lang/rust/issues/117231
-# (however, gcc from 9.x produces a working LLVM, go figure).
-.if ${MACHINE_PLATFORM:MNetBSD-10.*-sparc64}
-.  if !empty(PKG_OPTIONS:Mrust-internal-llvm)
-# Require GCC 12 (from pkgsrc) to correctly build the embedded LLVM (18.x).
-GCC_REQD+=	12
-.  endif
-.endif
-
-# Apparently, using pkgsrc LLVM 19.x does not work on
-# NetBSD/x86_64 9.x and NetBSD/i386 9.x unless rust is built
-# with a newer gcc than the platform-included 7.5.0.  Ref.
-# https://gnats.netbsd.org/59435 and
-# https://mail-index.netbsd.org/pkgsrc-users/2025/05/20/msg041603.html
-# and following discussion.
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.  if ${MACHINE_PLATFORM:MNetBSD-9.*-x86_64} || \
-      ${MACHINE_PLATFORM:MNetBSD-9.*-i386}
-GCC_REQD+=	10
-.  endif
-.endif
-
-# Fix for problem seen during rust-installer run w/rust 1.84.1 on macppc,
-# "of course" experienced near the end of the build process:
-# assertion "memcmp(mf_ptr(mf) - 1, mf_ptr(mf) - matches[i].dist - 2, matches[i].len) == 0" failed: file "xz-5.2/src/liblzma/lz/lz_encoder_mf.c", line 40, function "lzma_mf_find"
-# The above is seen with both in-tree gcc (10.5.0) and gcc12 from pkgsrc.
-.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc}
-GCC_REQD+=	14
-.endif
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-BUILDLINK_API_DEPENDS.llvm+=	llvm>=18.0.0
-.include "../../lang/libunwind/buildlink3.mk"
-.include "../../lang/llvm/buildlink3.mk"
-CONFIGURE_ARGS+=	--enable-llvm-link-shared
-CONFIGURE_ARGS+=	--llvm-libunwind=system
-CONFIGURE_ARGS+=	--llvm-root=${BUILDLINK_PREFIX.llvm}
-# Also turn off build of the internal LLD, as the external LLVM
-# may be older (e.g. 18) than the internal LLD (now 19.x), ref.
-# https://github.com/rust-lang/rust/issues/131291
-CONFIGURE_ARGS+=	--set rust.lld=false
-.endif
-
-#
-# Link cargo statically against "native" libraries.
-# (openssl and curl specifically).
-#
-.if !empty(PKG_OPTIONS:Mrust-cargo-static)
-CONFIGURE_ARGS+=	--enable-cargo-native-static
-.else
-BUILDLINK_API_DEPENDS.nghttp2+= nghttp2>=1.41.0
-BUILDLINK_API_DEPENDS.curl+= 	curl>=7.67.0
-.include "../../www/curl/buildlink3.mk"
-.include "../../security/openssl/buildlink3.mk"
-.endif
-
-#
-# Install documentation.
-#
-.if !empty(PKG_OPTIONS:Mrust-docs)
-CONFIGURE_ARGS+=	--enable-docs
-.else
-CONFIGURE_ARGS+=	--disable-docs
-.endif
diff --git a/rust188/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust188/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index dd6b2256c5..0000000000
--- a/rust188/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-compiler_rustc__codegen__ssa_src_back_linker.rs,v 1.19 2024/11/25 14:37:35 tnn Exp $
-
-Do not use @rpath on Darwin.
-Find external libunwind on Linux.
-
---- compiler/rustc_codegen_ssa/src/back/linker.rs.orig	2024-09-04 15:07:06.000000000 +0000
-+++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -402,7 +402,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 {
--                let mut rpath = OsString::from("@rpath/");
-+                let mut rpath = OsString::from("@PREFIX@/lib/");
-                 rpath.push(out_filename.file_name().unwrap());
-                 self.link_arg("-install_name").link_arg(rpath);
-             }
-@@ -528,6 +528,10 @@ impl<'a> Linker for GccLinker<'a> {
-     }
- 
-     fn link_dylib_by_name(&mut self, name: &str, verbatim: bool, as_needed: bool) {
-+        if self.sess.target.os.contains("linux") && name == "unwind" {
-+            self.link_arg("-R@PREFIX@/lib");
-+            self.link_arg("-L@PREFIX@/lib");
-+        }
-         if self.sess.target.os == "illumos" && name == "c" {
-             // libc will be added via late_link_args on illumos so that it will
-             // appear last in the library search order.
diff --git a/rust188/patches/patch-compiler_rustc__llvm_build.rs b/rust188/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 74346dbe8e..0000000000
--- a/rust188/patches/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-compiler_rustc__llvm_build.rs,v 1.17 2024/04/18 09:29:42 pin 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	2023-10-03 02:52:17.000000000 +0000
-+++ compiler/rustc_llvm/build.rs
-@@ -249,6 +249,10 @@ fn main() {
-     {
-         // 32-bit targets need to link libatomic.
-         println!("cargo:rustc-link-lib=atomic");
-+        if target.contains("netbsd")
-+        {
-+            println!("cargo:rustc-link-lib=z");
-+        }
-     } else if target.contains("windows-gnu") {
-         println!("cargo:rustc-link-lib=shell32");
-         println!("cargo:rustc-link-lib=uuid");
-@@ -261,7 +265,11 @@ fn main() {
-         // On NetBSD/i386, gcc and g++ is built for i486 (to maximize backward compat)
-         // However, LLVM insists on using 64-bit atomics.
-         // This gives rise to a need to link rust itself with -latomic for these targets
--        if target.starts_with("i586") || target.starts_with("i686") {
-+        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");
-@@ -352,7 +360,13 @@ fn main() {
-         "c++"
-     } else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
-         // NetBSD uses a separate library when relocation is required
--        "stdc++_p"
-+        if env::var_os("PKGSRC_HAVE_LIBCPP").is_some() {
-+            "c++_pic"
-+        } else {
-+            "stdc++_pic"
-+        }
-+    } else if env::var_os("PKGSRC_HAVE_LIBCPP").is_some() {
-+        "c++"
-     } else if llvm_use_libcxx.is_some() {
-         "c++"
-     } else {
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index 9473df7bbc..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_Targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Minor adjustments so that this builds.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2025-03-31 21:37:24.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,12 +1,14 @@
- use rustc_abi::Endian;
- 
--use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, TargetOptions, base};
-+use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, base};
- 
- pub(crate) fn target() -> Target {
-     let mut base = base::netbsd::opts();
-     base.cpu = "v9".into();
-     base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
-     base.max_atomic_width = Some(64);
-+    base.endian = Endian::Big;
-+    base.mcount = "__mcount".into();
- 
-     Target {
-         llvm_target: "sparc64-unknown-netbsd".into(),
-@@ -19,6 +21,6 @@ pub(crate) fn target() -> Target {
-         pointer_width: 64,
-         data_layout: "E-m:e-i64:64-i128:128-n32:64-S128".into(),
-         arch: "sparc64".into(),
--        options: TargetOptions { endian: Endian::Big, mcount: "__mcount".into(), ..base },
-+        options: base,
-     }
- }
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index 93997710be..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD$
-
-For the benefit of powerpc, when libatomic-links is installed,
-search the directory containing the symlinks to -latomic.
-
---- compiler/rustc_target/src/spec/base/netbsd.rs.orig	2024-01-06 19:57:14.887897867 +0000
-+++ compiler/rustc_target/src/spec/base/netbsd.rs
-@@ -1,12 +1,23 @@
--use crate::spec::{RelroLevel, TargetOptions, cvs};
-+use crate::spec::{Cc, Lld, LinkerFlavor, RelroLevel, TargetOptions, cvs};
- 
- pub(crate) fn opts() -> TargetOptions {
-+    let add_linker_paths =
-+        &[
-+            // For the benefit of powerpc, when libatomic-links is installed,
-+            "-Wl,-R@PREFIX@/lib/libatomic",
-+            "-Wl,-L@PREFIX@/lib/libatomic",
-+        ];
-+    let pre_link_args = TargetOptions::link_args(
-+        LinkerFlavor::Gnu(Cc::Yes, Lld::No),
-+        add_linker_paths
-+    );
-     TargetOptions {
-         os: "netbsd".into(),
-         dynamic_linking: true,
-         families: cvs!["unix"],
-         no_default_libraries: false,
-         has_rpath: true,
-+        pre_link_args,
-         position_independent_executables: true,
-         relro_level: RelroLevel::Full,
-         has_thread_local: true,
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-compiler_rustc__target_src_spec_mod.rs,v 1.17 2024/04/18 09:29:42 pin Exp $
-
-Add entry for NetBSD/mips64el.
-
---- compiler/rustc_target/src/spec/mod.rs.orig	2024-01-13 14:20:59.236278792 +0000
-+++ compiler/rustc_target/src/spec/mod.rs
-@@ -1532,6 +1532,7 @@ supported_targets! {
-     ("armv7-unknown-netbsd-eabihf", armv7_unknown_netbsd_eabihf),
-     ("i586-unknown-netbsd", i586_unknown_netbsd),
-     ("i686-unknown-netbsd", i686_unknown_netbsd),
-+    ("mips64el-unknown-netbsd", mips64el_unknown_netbsd),
-     ("mipsel-unknown-netbsd", mipsel_unknown_netbsd),
-     ("powerpc-unknown-netbsd", powerpc_unknown_netbsd),
-     ("riscv64gc-unknown-netbsd", riscv64gc_unknown_netbsd),
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. PR#58154.  Turn it off for now.
-Ideally should check whether the version has the fix or not, but
-e.g. __NetBSD_Version__ isn't easily available here that I know...
-
---- compiler/rustc_target/src/spec/targets/aarch64_be_unknown_netbsd.rs.orig	2024-07-23 19:21:34.344805113 +0000
-+++ compiler/rustc_target/src/spec/targets/aarch64_be_unknown_netbsd.rs
-@@ -18,6 +18,7 @@ pub fn target() -> Target {
-             max_atomic_width: Some(128),
-             stack_probes: StackProbeType::Inline,
-             endian: Endian::Big,
-+            has_thread_local: false, // ref. NetBSD PR#58154
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. PR#58154.  Turn it off for now.
-Ideally should check whether the version has the fix or not, but
-e.g. __NetBSD_Version__ isn't easily available here that I know...
-
---- compiler/rustc_target/src/spec/targets/aarch64_unknown_netbsd.rs.orig	2024-07-23 19:18:44.116841966 +0000
-+++ compiler/rustc_target/src/spec/targets/aarch64_unknown_netbsd.rs
-@@ -17,6 +17,7 @@ pub fn target() -> Target {
-             mcount: "__mcount".into(),
-             max_atomic_width: Some(128),
-             stack_probes: StackProbeType::Inline,
-+            has_thread_local: false, // ref. NetBSD PR#58154
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index 687ddb98da..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-$NetBSD$
-
-Provide a mips64el target with N32, suitable for NetBSD/mips64el.
-
---- compiler/rustc_target/src/spec/targets/mips64el_unknown_netbsd.rs.orig	2024-01-13 14:16:30.122042614 +0000
-+++ compiler/rustc_target/src/spec/targets/mips64el_unknown_netbsd.rs
-@@ -0,0 +1,28 @@
-+use rustc_abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub(crate) fn target() -> Target {
-+    let mut base = base::netbsd::opts();
-+    base.max_atomic_width = Some(32);
-+    base.cpu = "mips32".into();
-+
-+    Target {
-+        llvm_target: "mipsel-unknown-netbsd".into(),
-+        metadata: crate::spec::TargetMetadata {
-+            description: None,
-+            tier: None,
-+            host_tools: None,
-+            std: None,
-+        },
-+        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
-+        },
-+    }
-+}
diff --git a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust188/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Let's see if turning off thread local storage makes a difference...
-
---- compiler/rustc_target/src/spec/targets/mipsel_unknown_netbsd.rs.orig	2024-08-05 20:02:56.368978562 +0000
-+++ compiler/rustc_target/src/spec/targets/mipsel_unknown_netbsd.rs
-@@ -21,6 +21,7 @@ pub fn target() -> Target {
-             features: "+soft-float".into(),
-             mcount: "__mcount".into(),
-             endian: Endian::Little,
-+            has_thread_local: false, // Let's see if there's a difference...
-             ..base
-         },
-     }
diff --git a/rust188/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust188/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust188/patches/patch-library_backtrace_src_symbolize_gimli.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD to the family who is in the unix class.
-
---- library/backtrace/src/symbolize/gimli.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli.rs
-@@ -40,6 +40,7 @@ cfg_if::cfg_if! {
-         target_os = "haiku",
-         target_os = "hurd",
-         target_os = "linux",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust188/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust188/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index f49e07d14f..0000000000
--- a/rust188/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.8 2024/04/18 09:29:42 pin Exp $
-
-Make NetBSD also find its debug libraries, if present.
-
---- library/backtrace/src/symbolize/gimli/elf.rs.orig	2022-04-04 09:41:26.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli/elf.rs
-@@ -395,11 +395,18 @@ fn decompress_zstd(mut input: &[u8], mut
-     Some(())
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &str = "/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &str = "/usr/lib/debug";
- 
- fn debug_path_exists() -> bool {
-     cfg_if::cfg_if! {
--        if #[cfg(any(target_os = "freebsd", target_os = "hurd", target_os = "linux"))] {
-+        if #[cfg(any(target_os = "freebsd",
-+		     target_os = "netbsd",
-+                     target_os = "hurd",
-+		     target_os = "linux"
-+        ))] {
-             use core::sync::atomic::{AtomicU8, Ordering};
-             static DEBUG_PATH_EXISTS: AtomicU8 = AtomicU8::new(0);
- 
diff --git a/rust188/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust188/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 5a1738f10e..0000000000
--- a/rust188/patches/patch-library_std_src_sys_pal_unix_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add libexecinfo for backtrace() on NetBSD.
-
---- library/std/src/sys/pal/unix/mod.rs.orig	2025-03-31 21:37:24.000000000 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -379,6 +379,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         unsafe extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         unsafe extern "C" {}
diff --git a/rust188/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs b/rust188/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
deleted file mode 100644
index d57e0bb62a..0000000000
--- a/rust188/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-On NetBSD/aarch64, do the same as FreeBSD and OpenBSD.
-
---- library/stdarch/crates/std_detect/tests/cpu-detection.rs.orig	2024-11-10 17:39:05.836052531 +0000
-+++ library/stdarch/crates/std_detect/tests/cpu-detection.rs
-@@ -166,7 +166,7 @@ fn aarch64_windows() {
- #[test]
- #[cfg(all(
-     target_arch = "aarch64",
--    any(target_os = "freebsd", target_os = "openbsd")
-+    any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd")
- ))]
- fn aarch64_bsd() {
-     println!("asimd: {:?}", is_aarch64_feature_detected!("asimd"));
diff --git a/rust188/patches/patch-src_bootstrap_bootstrap.py b/rust188/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 7ec9a08b78..0000000000
--- a/rust188/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,67 +0,0 @@
-$NetBSD$
-
-Use `uname -p` on NetBSD, as that is reliable and sensible there.
-Handle earmv[67]hf for NetBSD.
-Also use @PREFIX@ and not $ORIGIN in rpath.
-
---- src/bootstrap/bootstrap.py.orig	2025-02-17 18:17:27.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -323,6 +323,11 @@ def default_build_triple(verbose):
-         "GNU": "unknown-hurd",
-     }
- 
-+    # For NetBSD, use `uname -p`, as there it is reliable & sensible
-+    if kernel == 'NetBSD':
-+        cputype = subprocess.check_output(
-+            ['uname', '-p']).strip().decode(default_encoding)
-+
-     # Consider the direct transformation first and then the special cases
-     if kernel in kerneltype_mapper:
-         kernel = kerneltype_mapper[kernel]
-@@ -427,10 +432,16 @@ def default_build_triple(verbose):
-             kernel = "linux-androideabi"
-         else:
-             kernel += "eabihf"
--    elif cputype in {"armv7l", "armv8l"}:
-+    elif cputype in {"armv6hf", "earmv6hf"}:
-+        cputype = "armv6"
-+        if kernel == "unknown-netbsd":
-+            kernel += "-eabihf"
-+    elif cputype in {"armv7l", "earmv7hf", "armv8l"}:
-         cputype = "armv7"
-         if kernel == "linux-android":
-             kernel = "linux-androideabi"
-+        elif kernel == "unknown-netbsd":
-+            kernel += "-eabihf"
-         else:
-             kernel += "eabihf"
-     elif cputype == "mips":
-@@ -688,11 +699,11 @@ class RustBuild(object):
-                 )
-             p = Pool(pool_size)
-             try:
--                # FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578,
--                # remove this once the issue is closed.
--                bootstrap_build_artifacts = os.path.join(self.bootstrap_out(), "debug")
--                if os.path.exists(bootstrap_build_artifacts):
--                    shutil.rmtree(bootstrap_build_artifacts)
-+#                # FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578,
-+#                # remove this once the issue is closed.
-+#                bootstrap_build_artifacts = os.path.join(self.bootstrap_out(), "debug")
-+#                if os.path.exists(bootstrap_build_artifacts):
-+#                    shutil.rmtree(bootstrap_build_artifacts)
- 
-                 p.map(unpack_component, tarballs_download_info)
-             finally:
-@@ -839,7 +850,10 @@ class RustBuild(object):
-             self.nix_deps_dir = nix_deps_dir
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
--        rpath_entries = [os.path.join(os.path.realpath(nix_deps_dir), "lib")]
-+        rpath_entries = [
-+            "@PREFIX@/lib",
-+            os.path.join(os.path.realpath(nix_deps_dir), "lib")
-+        ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
-         if ".so" not in fname:
-             # Finally, set the correct .interp for binaries
diff --git a/rust188/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust188/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust188/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_core_build__steps_compile.rs,v 1.2 2024/04/18 09:29:42 pin Exp $
-
-On Darwin, do not use @rpath for internal libraries.
-
---- src/bootstrap/src/core/build_steps/compile.rs.orig	2024-01-06 20:42:20.028206400 +0000
-+++ src/bootstrap/src/core/build_steps/compile.rs
-@@ -695,7 +695,7 @@ fn copy_sanitizers(
-             || target == "x86_64-apple-ios"
-         {
-             // Update the library’s install name to reflect that it has been renamed.
--            apple_darwin_update_library_name(builder, &dst, &format!("@rpath/{}", runtime.name));
-+            apple_darwin_update_library_name(builder, &dst, &format!("@PREFIX@/lib/{}", runtime.name));
-             // Upon renaming the install name, the code signature of the file will invalidate,
-             // so we will sign it again.
-             apple_darwin_sign_file(builder, &dst);
diff --git a/rust188/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust188/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust188/patches/patch-src_bootstrap_src_core_build__steps_install.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- src/bootstrap/src/core/build_steps/install.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ src/bootstrap/src/core/build_steps/install.rs
-@@ -200,7 +200,7 @@ macro_rules! install {
- install!((self, builder, _config),
-     Docs, path = "src/doc", _config.docs, only_hosts: false, {
-         let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs");
--        install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball);
-+        install_sh(builder, "rust", self.compiler.stage, Some(self.target), &tarball);
-     };
-     Std, path = "library/std", true, only_hosts: false, {
-         // `expect` should be safe, only None when host != build, but this
diff --git a/rust188/patches/patch-src_bootstrap_src_core_builder_cargo.rs b/rust188/patches/patch-src_bootstrap_src_core_builder_cargo.rs
deleted file mode 100644
index 0580e7f16a..0000000000
--- a/rust188/patches/patch-src_bootstrap_src_core_builder_cargo.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD$
-
-Find external libunwind and libLLVM in pkgsrc (not just Linux).
-Use @PREFIX@ in rpath.
-
---- src/bootstrap/src/core/builder/cargo.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ src/bootstrap/src/core/builder/cargo.rs
-@@ -251,7 +251,7 @@ impl Cargo {
-                 && !target.contains("xous")
-             {
-                 self.rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/lib"))
-             } else {
-                 None
-             };
-@@ -1249,6 +1249,9 @@ impl Builder<'_> {
-             // cargo bench/install do not accept `--release` and miri doesn't want it
-             !matches!(cmd_kind, Kind::Bench | Kind::Install | Kind::Miri | Kind::MiriSetup | Kind::MiriTest);
- 
-+        // added for pkgsrc libunwind or external LLVM
-+        rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX@/lib");
-+
-         Cargo {
-             command: cargo,
-             args: vec![],
diff --git a/rust188/patches/patch-src_bootstrap_src_lib.rs b/rust188/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index 8d8141a51f..0000000000
--- a/rust188/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_lib.rs,v 1.2 2024/04/18 09:29:42 pin Exp $
-
-Don't filter out optimization flags.
-FreeBSD has a particular C++ runtime library name
-
---- src/bootstrap/src/lib.rs.orig	2024-01-06 20:52:50.892941220 +0000
-+++ src/bootstrap/src/lib.rs
-@@ -1209,7 +1209,6 @@ Executed at: {executed_at}"#,
-         base.args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>()
-     }
- 
-@@ -1225,7 +1224,8 @@ Executed at: {executed_at}"#,
-         // If we're compiling C++ on macOS then we add a flag indicating that
-         // we want libc++ (more filled out than libstdc++), ensuring that
-         // LLVM/etc are all properly compiled.
--        if matches!(c, CLang::Cxx) && target.contains("apple-darwin") {
-+        if matches!(c, CLang::Cxx) &&
-+            (target.contains("apple-darwin") || target.contains("freebsd")) {
-             base.push("-stdlib=libc++".into());
-         }
- 
diff --git a/rust188/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust188/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index c175e399cb..0000000000
--- a/rust188/patches/patch-src_llvm-project_llvm_CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-Don't implement sys/regset.h workaround, fix source instead.
-
---- src/llvm-project/llvm/CMakeLists.txt.orig	2018-03-10 02:51:13.000000000 +0000
-+++ src/llvm-project/llvm/CMakeLists.txt
-@@ -1225,11 +1225,6 @@ if(LLVM_TARGET_IS_CROSSCOMPILE_HOST)
- # (this is a variable that CrossCompile sets on recursive invocations)
- endif()
- 
--if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
--   # special hack for Solaris to handle crazy system sys/regset.h
--   include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris")
--endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
--
- # Make sure we don't get -rdynamic in every binary. For those that need it,
- # use EXPORT_SYMBOLS argument.
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust188/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust188/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust188/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake,v 1.15 2024/04/18 09:29:42 pin Exp $
-
-On Darwin, use correct install-name for shared libraries.
-
-Undo some of the RPATH magic so that cross-building
-works inside pkgsrc again (indirectly eliminates $ORIGIN rpath
-handling / editing, $ORIGIN handling is partially undone by cwrappers
-in pkgsrc).
-
---- src/llvm-project/llvm/cmake/modules/AddLLVM.cmake.orig	2023-07-12 03:33:01.000000000 +0000
-+++ src/llvm-project/llvm/cmake/modules/AddLLVM.cmake
-@@ -2311,7 +2311,7 @@ function(llvm_setup_rpath name)
-   endif()
- 
-   if (APPLE)
--    set(_install_name_dir INSTALL_NAME_DIR "@rpath")
-+    set(_install_name_dir INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
-     set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-   elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
-     # $ORIGIN is not interpreted at link time by aix ld.
-@@ -2320,8 +2320,7 @@ function(llvm_setup_rpath name)
-     # FIXME: update this when there is better solution.
-     set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-   elseif(UNIX)
--    set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-@@ -2335,16 +2334,9 @@ function(llvm_setup_rpath name)
-     return()
-   endif()
- 
--  # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set and not
--  # building for macOS or AIX, as those platforms seemingly require it.
--  # On AIX, the tool chain doesn't support modifying rpaths/libpaths for XCOFF
--  # on install at the moment, so BUILD_WITH_INSTALL_RPATH is required.
-+  # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set.
-   if("${CMAKE_BUILD_RPATH}" STREQUAL "")
--    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin|AIX")
--      set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
--    else()
--      set_property(TARGET ${name} APPEND PROPERTY BUILD_RPATH "${_build_rpath}")
--    endif()
-+    set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
-   endif()
- 
-   set_target_properties(${name} PROPERTIES
diff --git a/rust188/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust188/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust188/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
+++ /dev/null
@@ -1,34 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h,v 1.8 2024/04/18 09:29:42 pin Exp $
-
-Don't implement sys/regset.h workaround, fix source instead.
-
---- src/llvm-project/llvm/include/llvm-c/DataTypes.h.orig	2021-04-17 01:50:37.000000000 +0000
-+++ src/llvm-project/llvm/include/llvm-c/DataTypes.h
-@@ -77,4 +77,27 @@ typedef signed int ssize_t;
- # define UINT64_MAX 0xffffffffffffffffULL
- #endif
- 
-+#if defined(__sun)
-+#include <sys/regset.h>
-+#undef CS
-+#undef DS
-+#undef ES
-+#undef FS
-+#undef GS
-+#undef SS
-+#undef EAX
-+#undef ECX
-+#undef EDX
-+#undef EBX
-+#undef ESP
-+#undef EBP
-+#undef ESI
-+#undef EDI
-+#undef EIP
-+#undef UESP
-+#undef EFL
-+#undef ERR
-+#undef TRAPNO
-+#endif
-+
- #endif /* LLVM_C_DATATYPES_H */
diff --git a/rust188/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust188/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust188/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h,v 1.10 2024/04/18 09:29:42 pin Exp $
-
-Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h
-
---- src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h.orig	2018-08-01 16:32:37.000000000 +0000
-+++ src/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h
-@@ -19,6 +19,10 @@
- #ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H
- #define LLVM_ANALYSIS_CONSTANTFOLDING_H
- 
-+#ifdef __sun
-+#undef CS
-+#endif
-+
- #include <stdint.h>
- 
- namespace llvm {
diff --git a/rust188/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust188/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust188/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp,v 1.13 2024/04/18 09:29:42 pin Exp $
-
-Avoid ambiguous function call.
-
---- src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp.orig	2019-02-12 15:22:48.000000000 +0000
-+++ src/llvm-project/llvm/utils/FileCheck/FileCheck.cpp
-@@ -592,7 +592,7 @@ static void DumpAnnotatedInput(raw_ostre
-   unsigned LineCount = InputFileText.count('\n');
-   if (InputFileEnd[-1] != '\n')
-     ++LineCount;
--  unsigned LineNoWidth = std::log10(LineCount) + 1;
-+  unsigned LineNoWidth = std::log10((float)LineCount) + 1;
-   // +3 below adds spaces (1) to the left of the (right-aligned) line numbers
-   // on input lines and (2) to the right of the (left-aligned) labels on
-   // annotation lines so that input lines and annotation lines are more
diff --git a/rust188/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust188/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust188/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-src_tools_cargo_src_cargo_core_profiles.rs,v 1.17 2024/04/18 09:29:42 pin Exp $
-
-Turn off incremental builds for sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/src/cargo/core/profiles.rs.orig	2023-07-12 03:33:05.000000000 +0000
-+++ src/tools/cargo/src/cargo/core/profiles.rs
-@@ -681,6 +681,9 @@ impl Profile {
-             debuginfo: DebugInfo::Resolved(TomlDebugInfo::Full),
-             debug_assertions: true,
-             overflow_checks: true,
-+            #[cfg(target_arch = "sparc64")]
-+            incremental: false,
-+            #[cfg(not(target_arch = "sparc64"))]
-             incremental: true,
-             ..Profile::default()
-         }
diff --git a/rust188/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust188/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index faee0c00f9..0000000000
--- a/rust188/patches/patch-src_tools_cargo_tests_testsuite_build.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-Don't attempt incremental operations on sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/tests/testsuite/build.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ src/tools/cargo/tests/testsuite/build.rs
-@@ -41,6 +41,7 @@ i am foo
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn build_with_symlink_to_path_dependency_with_build_script_in_git() {
-     if !symlink_supported() {
-@@ -103,6 +104,7 @@ fn cargo_fail_with_no_stderr() {
- 
- /// Checks that the `CARGO_INCREMENTAL` environment variable results in
- /// `rustc` getting `-C incremental` passed to it.
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn cargo_compile_incremental() {
-     let p = project()
-@@ -132,6 +134,7 @@ fn cargo_compile_incremental() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_profile() {
-     let p = project()
-@@ -175,6 +178,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_config() {
-     let p = project()
diff --git a/rust188/patches/patch-src_tools_rust-installer_install-template.sh b/rust188/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust188/patches/patch-src_tools_rust-installer_install-template.sh
+++ /dev/null
@@ -1,179 +0,0 @@
-$NetBSD: patch-src_tools_rust-installer_install-template.sh,v 1.14 2024/04/18 09:29:42 pin Exp $
-
-No logging to 'install.log'.
-Do not create 'uninstall.sh'.
-Do not make file backups (filename.old), so these will not end up in the final package.
-
-Rewrite to not use a whole lot of subprocesses just for doing
-pattern matching and substitution in the install phase using "grep"
-and "sed" when shell builtin "case" and "omit shortest match" ops
-should do just fine.
-
---- src/tools/rust-installer/install-template.sh.orig	2023-12-21 16:55:28.000000000 +0000
-+++ src/tools/rust-installer/install-template.sh
-@@ -6,20 +6,12 @@ set -u
- init_logging() {
-     local _abs_libdir="$1"
-     local _logfile="$_abs_libdir/$TEMPLATE_REL_MANIFEST_DIR/install.log"
--    rm -f "$_logfile"
--    need_ok "failed to remove old installation log"
--    touch "$_logfile"
--    need_ok "failed to create installation log"
-     LOGFILE="$_logfile"
- }
- 
- log_line() {
-     local _line="$1"
- 
--    if [ -n "${LOGFILE-}" -a -e "${LOGFILE-}" ]; then
--    echo "$_line" >> "$LOGFILE"
--    # Ignore errors, which may happen e.g. after the manifest dir is deleted
--    fi
- }
- 
- msg() {
-@@ -433,8 +425,8 @@ uninstall_components() {
-             local _directive
-             while read _directive; do
- 
--            local _command=`echo $_directive | cut -f1 -d:`
--            local _file=`echo $_directive | cut -f2 -d:`
-+            local _command=${_directive%%:*}
-+            local _file=${_directive#*:}
- 
-             # Sanity checks
-             if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -541,8 +533,8 @@ install_components() {
-     local _directive
-     while read _directive; do
- 
--        local _command=`echo $_directive | cut -f1 -d:`
--        local _file=`echo $_directive | cut -f2 -d:`
-+        local _command=${_directive%%:*}
-+        local _file=${_directive#*:}
- 
-         # Sanity checks
-         if [ ! -n "$_command" ]; then critical_err "malformed installation directive"; fi
-@@ -551,36 +543,24 @@ install_components() {
-         # Decide the destination of the file
-         local _file_install_path="$_dest_prefix/$_file"
- 
--        if echo "$_file" | grep "^etc/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^etc\///')"
--        _file_install_path="$CFG_SYSCONFDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^bin/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^bin\///')"
--        _file_install_path="$CFG_BINDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^lib/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^lib\///')"
--        _file_install_path="$CFG_LIBDIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^share" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^share\///')"
--        _file_install_path="$CFG_DATADIR/$_f"
--        fi
--
--        if echo "$_file" | grep "^share/man/" > /dev/null
--        then
--        local _f="$(echo "$_file" | sed 's/^share\/man\///')"
--        _file_install_path="$CFG_MANDIR/$_f"
--        fi
--
-+        case "$_file" in
-+            etc/*)
-+                local _f=${_file#"etc/"}
-+                _file_install_path="$CFG_DESTDIR_PREFIX/share/doc/cargo/$_f"
-+                ;;
-+            bin/*)
-+                local _f=${_file#"bin/"}
-+                _file_install_path="$CFG_BINDIR/$_f"
-+                ;;
-+            lib/*)
-+                local _f=${_file#"lib/"}
-+                _file_install_path="$CFG_LIBDIR/$_f"
-+                ;;
-+            share/man/*)
-+                local _f=${_file#"share/man/"}
-+                _file_install_path="$CFG_MANDIR/$_f"
-+                ;;
-+            share/doc/*)
-             # HACK: Try to support overriding --docdir.  Paths with the form
-             # "share/doc/$product/" can be redirected to a single --docdir
-             # path. If the following detects that --docdir has been specified
-@@ -591,14 +571,17 @@ install_components() {
-             # contents of those directories are _not_ disjoint. Since this feature
-             # is almost entirely to support 'make install' anyway I don't expect
-             # this problem to be a big deal in practice.
--            if [ "$CFG_DOCDIR" != "<default>" ]
--            then
--            if echo "$_file" | grep "^share/doc/" > /dev/null
--            then
--            local _f="$(echo "$_file" | sed 's/^share\/doc\/[^/]*\///')"
--            _file_install_path="$CFG_DOCDIR/$_f"
--            fi
--            fi
-+                if [ "$CFG_DOCDIR" != "<default>" ]; then
-+                    local _f=${_file#"share/doc/"*/}
-+                    _file_install_path="$CFG_DOCDIR/$_f"
-+                fi
-+                ;;
-+            share/*)
-+                local _f=${_file#"share/"}
-+                _file_install_path="$CFG_DATADIR/$_f"
-+                ;;
-+        esac
-+
- 
-         # Make sure there's a directory for it
-         make_dir_recursive "$(dirname "$_file_install_path")"
-@@ -615,16 +598,16 @@ install_components() {
- 
-             verbose_msg "copying file $_file_install_path"
- 
--            maybe_backup_path "$_file_install_path"
--
--            if echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
--            then
--            run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--            run chmod 755 "$_file_install_path"
--            else
-+            local mode=644
-+            if test -x "$_src_dir/$_component/$_file"; then
-+                mode=755
-+            fi
-+            case "$_file" in
-+                bin/*) mode=755
-+                       ;;
-+            esac
-             run cp "$_src_dir/$_component/$_file" "$_file_install_path"
--            run chmod 644 "$_file_install_path"
--            fi
-+            run chmod $mode "$_file_install_path"
-             critical_need_ok "file creation failed"
- 
-             # Update the manifest
-@@ -637,7 +620,6 @@ install_components() {
- 
-             verbose_msg "copying directory $_file_install_path"
- 
--            maybe_backup_path "$_file_install_path"
- 
-             run cp -R "$_src_dir/$_component/$_file" "$_file_install_path"
-             critical_need_ok "failed to copy directory"
-@@ -986,7 +968,6 @@ write_to_file "$TEMPLATE_RUST_INSTALLER_
- critical_need_ok "failed to write installer version"
- 
- # Install the uninstaller
--install_uninstaller "$src_dir" "$src_basename" "$abs_libdir"
- 
- # Install each component
- install_components "$src_dir" "$abs_libdir" "$dest_prefix" "$components"
diff --git a/rust188/patches/patch-tests_assembly_targets_targets-elf.rs b/rust188/patches/patch-tests_assembly_targets_targets-elf.rs
deleted file mode 100644
index 8a2594e503..0000000000
--- a/rust188/patches/patch-tests_assembly_targets_targets-elf.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Fix test suite.
-
---- tests/assembly/targets/targets-elf.rs.orig	2025-02-04 16:02:52.680691048 +0000
-+++ tests/assembly/targets/targets-elf.rs
-@@ -276,6 +276,9 @@
- //@ revisions: mips64el_unknown_linux_muslabi64
- //@ [mips64el_unknown_linux_muslabi64] compile-flags: --target mips64el-unknown-linux-muslabi64
- //@ [mips64el_unknown_linux_muslabi64] needs-llvm-components: mips
-+//@ revisions: mips64el_unknown_netbsd
-+//@ [mips64el_unknown_netbsd] compile-flags: --target mips64el_unknown_netbsd-unknown-linux-muslabi64
-+//@ [mips64el_unknown_netbsd] needs-llvm-components: mips
- //@ revisions: mips_unknown_linux_gnu
- //@ [mips_unknown_linux_gnu] compile-flags: --target mips-unknown-linux-gnu
- //@ [mips_unknown_linux_gnu] needs-llvm-components: mips
diff --git a/rust188/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust188/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index d587a1a864..0000000000
--- a/rust188/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD$
-
-Avoid using neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/bytecount-0.6.8/src/lib.rs.orig	2024-09-01 16:29:37.478735730 +0000
-+++ vendor/bytecount-0.6.8/src/lib.rs
-@@ -50,7 +50,10 @@ mod integer_simd;
-         feature = "runtime-dispatch-simd",
-         any(target_arch = "x86", target_arch = "x86_64")
-     ),
--    target_arch = "aarch64",
-+    all(
-+        target_arch = "aarch64",
-+        target_endian = "little"
-+    ),
-     target_arch = "wasm32",
-     feature = "generic-simd"
- ))]
-@@ -93,7 +96,11 @@ pub fn count(haystack: &[u8], needle: u8
-                 }
-             }
-         }
--        #[cfg(all(target_arch = "aarch64", not(feature = "generic_simd")))]
-+        #[cfg(all(
-+            target_arch = "aarch64",
-+            target_endian = "little",
-+            not(feature = "generic_simd")
-+        ))]
-         {
-             unsafe {
-                 return simd::aarch64::chunk_count(haystack, needle);
-@@ -155,7 +162,11 @@ pub fn num_chars(utf8_chars: &[u8]) -> u
-                 }
-             }
-         }
--        #[cfg(all(target_arch = "aarch64", not(feature = "generic_simd")))]
-+        #[cfg(all(
-+            target_arch = "aarch64",
-+            target_endian = "little",
-+            not(feature = "generic_simd")
-+        ))]
-         {
-             unsafe {
-                 return simd::aarch64::chunk_num_chars(utf8_chars);
diff --git a/rust188/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust188/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust188/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD/mipsel to non-atomic targets.
-
---- vendor/crossbeam-utils-0.8.18/no_atomic.rs.orig	2024-05-03 22:53:42.558166596 +0000
-+++ vendor/crossbeam-utils-0.8.18/no_atomic.rs
-@@ -5,6 +5,7 @@ const NO_ATOMIC: &[&str] = &[
-     "bpfeb-unknown-none",
-     "bpfel-unknown-none",
-     "mipsel-sony-psx",
-+    "mipsel-unknown-netbsd",
-     "msp430-none-elf",
-     "riscv32i-unknown-none-elf",
-     "riscv32im-unknown-none-elf",
diff --git a/rust188/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust188/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 1b6c7088be..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.155/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.155/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -3142,6 +3142,7 @@ cfg_if! {
-     if #[cfg(libc_union)] {
-         extern {
-             // these functions use statvfs:
-+            #[link_name = "__getmntinfo13"]
-             pub fn getmntinfo(mntbufp: *mut *mut ::statvfs, flags: ::c_int) -> ::c_int;
-             pub fn getvfsstat(buf: *mut statvfs, bufsize: ::size_t, flags: ::c_int) -> ::c_int;
-         }
diff --git a/rust188/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust188/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.155/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.155/src/unix/solarish/mod.rs
-@@ -1524,6 +1524,8 @@ pub const EOWNERDEAD: ::c_int = 58;
- pub const ENOTRECOVERABLE: ::c_int = 59;
- pub const ENOSTR: ::c_int = 60;
- pub const ENODATA: ::c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: ::c_int = 62;
- pub const ENOSR: ::c_int = 63;
- pub const ENONET: ::c_int = 64;
diff --git a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 2127d0f1bc..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-04-05 11:35:20.818765987 +0000
-+++ vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2850,6 +2850,7 @@ extern "C" {
-         hint: *const c_void,
-     ) -> c_int;
- 
-+    #[link_name = "__getmntinfo13"]
-     pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int;
-     pub fn getvfsstat(buf: *mut statvfs, bufsize: size_t, flags: c_int) -> c_int;
- }
diff --git a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 003128b639..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-06-28 07:45:40.263146414 +0000
-+++ vendor/libc-0.2.168/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,4 +1,4 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
-@@ -8,21 +8,18 @@ pub type c_char = u8;
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
--
--s! {
--    pub struct mcontext_t {
--        pub __gregs: __gregset,
--        pub __fregs: __fpregset,
--        __spare: [crate::__greg_t; 7],
--    }
--}
-+pub type __fregset = [__fpreg; _NFREG];
- 
- s_no_extra_traits! {
-     pub union __fpreg {
-         pub u_u64: u64,
-         pub u_d: c_double,
-     }
-+    pub struct mcontext_t {
-+        pub __gregs: __gregset,
-+        pub __fregs: __fregset,
-+        __spare: [crate::__greg_t; 7],
-+    }
- }
- 
- pub(crate) const _ALIGNBYTES: usize = mem::size_of::<c_long>() - 1;
diff --git a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs b/rust188/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
deleted file mode 100644
index 6af8f1a783..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.168_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.168/src/unix/solarish/mod.rs.orig	2025-04-05 11:37:41.783212722 +0000
-+++ vendor/libc-0.2.168/src/unix/solarish/mod.rs
-@@ -1421,6 +1421,8 @@ pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
- pub const ENODATA: c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
- pub const ENONET: c_int = 64;
diff --git a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 67b812ae9b..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Apply https://github.com/rust-lang/libc/pull/4265/files
-to fix getmntinfo() from rust.
-
---- vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -2850,6 +2850,7 @@ extern "C" {
-         hint: *const c_void,
-     ) -> c_int;
- 
-+    #[link_name = "__getmntinfo13"]
-     pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int;
-     pub fn getvfsstat(buf: *mut statvfs, bufsize: size_t, flags: c_int) -> c_int;
- }
diff --git a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index a44e84040e..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-02-24 07:49:42.565876506 +0000
-+++ vendor/libc-0.2.169/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,4 +1,4 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
-@@ -8,20 +8,66 @@ pub type c_char = u8;
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
-+        pub __fregs: __fregset,
-         __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+	use core::marker::Copy;
-+	use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs b/rust188/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
deleted file mode 100644
index a1339953f1..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.169_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.169/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.169/src/unix/solarish/mod.rs
-@@ -1421,6 +1421,8 @@ pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
- pub const ENODATA: c_int = 61;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
- pub const ENONET: c_int = 64;
diff --git a/rust188/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust188/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 6111347f4f..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.170_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,89 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.170/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-05-19 23:28:32.395024196 +0000
-+++ vendor/libc-0.2.170/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,24 +1,70 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
-+        pub __fregs: __fregset,
-         __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+        use core::marker::Copy;
-+        use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust188/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust188/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index fdf24dce61..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.171/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-05-19 22:03:59.982023413 +0000
-+++ vendor/libc-0.2.171/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,24 +1,70 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
--        __spare: [crate::__greg_t; 7],
-+        pub __fregs: __fregset,
-+        __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+        use core::marker::Copy;
-+        use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust188/patches/patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust188/patches/patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 44401fa70e..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,89 +0,0 @@
-$NetBSD$
-
-Unbreak this module.
-
-I admit to this entirely being based on "cargo cult", but at least
-the rust compiler (cross-)builds for NetBSD/risc64 with this,
-whereas it did not earlier.
-
---- vendor/libc-0.2.172/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-06-28 07:50:50.001313003 +0000
-+++ vendor/libc-0.2.172/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,24 +1,70 @@
--use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
- 
- use crate::prelude::*;
- 
- pub type __greg_t = u64;
- pub type __cpu_simple_lock_nv_t = c_int;
- pub type __gregset = [__greg_t; _NGREG];
--pub type __fregset = [__freg; _NFREG];
-+pub type __fregset = [__fpreg; _NFREG];
- 
--s! {
-+s_no_extra_traits! {
-+    pub union __fpreg {
-+        #[cfg(libc_union)]
-+        pub u_u64: u64,
-+        pub u_d: c_double,
-+    }
-     pub struct mcontext_t {
-         pub __gregs: __gregset,
--        pub __fregs: __fpregset,
-+        pub __fregs: __fregset,
-         __spare: [crate::__greg_t; 7],
-     }
- }
- 
--s_no_extra_traits! {
--    pub union __fpreg {
--        pub u_u64: u64,
--        pub u_d: c_double,
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+//      use ::self::fmt;
-+//      use ::self::hash;
-+        use core::marker::Copy;
-+        use core::clone::Clone;
-+        #[cfg(libc_union)]
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_64 == other.u_64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl Eq for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::hash::Hash for __fpreg {
-+            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_64.hash(state);
-+                    self.u_d.hash(state);
-+                }
-+            }
-+        }
-+        #[cfg(libc_union)]
-+        impl ::Copy for __fpreg {}
-+        #[cfg(libc_union)]
-+        impl ::Clone for __fpreg {
-+            fn clone(&self) -> __fpreg {
-+                *self
-+            }
-+        }
-     }
- }
- 
diff --git a/rust188/patches/patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs b/rust188/patches/patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs
deleted file mode 100644
index dce7934ad2..0000000000
--- a/rust188/patches/patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.172/src/unix/solarish/mod.rs.orig	2025-06-28 07:52:15.632394747 +0000
-+++ vendor/libc-0.2.172/src/unix/solarish/mod.rs
-@@ -1421,6 +1421,8 @@ pub const EBFONT: c_int = 57;
- pub const EOWNERDEAD: c_int = 58;
- pub const ENOTRECOVERABLE: c_int = 59;
- pub const ENOSTR: c_int = 60;
-+// This is not supported but is required for xattr
-+pub const ENOATTR: ::c_int = ::ENODATA;
- pub const ENODATA: c_int = 61;
- pub const ETIME: c_int = 62;
- pub const ENOSR: c_int = 63;
diff --git a/rust188/patches/patch-vendor_line-index-0.1.2_src_lib.rs b/rust188/patches/patch-vendor_line-index-0.1.2_src_lib.rs
deleted file mode 100644
index 4d14411866..0000000000
--- a/rust188/patches/patch-vendor_line-index-0.1.2_src_lib.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD$
-
-Do not attempt use of neon extension in big-endian mode.
-
---- vendor/line-index-0.1.2/src/lib.rs.orig	2025-02-03 07:59:39.771200202 +0000
-+++ vendor/line-index-0.1.2/src/lib.rs
-@@ -235,7 +235,7 @@ fn analyze_source_file_dispatch(
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- fn analyze_source_file_dispatch(
-     src: &str,
-     lines: &mut Vec<TextSize>,
-@@ -347,7 +347,7 @@ unsafe fn analyze_source_file_sse2(
- }
- 
- #[target_feature(enable = "neon")]
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- #[inline]
- // See https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon
- //
-@@ -362,7 +362,7 @@ unsafe fn move_mask(v: std::arch::aarch6
- }
- 
- #[target_feature(enable = "neon")]
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn analyze_source_file_neon(
-     src: &str,
-     lines: &mut Vec<TextSize>,
-@@ -441,7 +441,7 @@ unsafe fn analyze_source_file_neon(
-     }
- }
- 
--#[cfg(not(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64")))]
-+#[cfg(not(any(target_arch = "x86", target_arch = "x86_64", all(target_arch = "aarch64", target_endian = "little"))))]
- // The target (or compiler version) does not support SSE2 ...
- fn analyze_source_file_dispatch(
-     src: &str,
diff --git a/rust188/patches/patch-vendor_lzma-sys-0.1.20_config.h b/rust188/patches/patch-vendor_lzma-sys-0.1.20_config.h
deleted file mode 100644
index 6eaa429abe..0000000000
--- a/rust188/patches/patch-vendor_lzma-sys-0.1.20_config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-clock_gettime() is available also on NetBSD.
-
-This takes care of this build error:
-
-  cargo:warning=xz-5.2/src/common/mythread.h: In function 'mythread_condtime_set':
-  cargo:warning=xz-5.2/src/common/mythread.h:312:9: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
-  cargo:warning=  312 |         gettimeofday(&now, NULL);
-  cargo:warning=      |         ^~~~~~~~~~~~
-
-which popped up when switching powerpc to using gcc14, but strangely
-was not triggered by gcc12 or in-tree gcc.
-
---- vendor/lzma-sys-0.1.20/config.h.orig	2025-02-11 23:15:56.129312069 +0000
-+++ vendor/lzma-sys-0.1.20/config.h
-@@ -39,7 +39,7 @@
-     #define MYTHREAD_POSIX 1
- #endif
- 
--#if defined(__sun)
-+#if defined(__sun) || defined(__NetBSD__)
-     #define HAVE_CLOCK_GETTIME 1
-     #define HAVE_DECL_CLOCK_MONOTONIC 1
- #endif
diff --git a/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs.orig	2024-09-22 14:55:32.455792108 +0000
-+++ vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs
-@@ -8,7 +8,7 @@ available for `aarch64` targets.)
- 
- macro_rules! defraw {
-     ($ty:ident, $find:ident, $start:ident, $end:ident, $($needles:ident),+) => {{
--        #[cfg(target_feature = "neon")]
-+        #[cfg(all(target_feature = "neon", target_endian = "little"))]
-         {
-             use crate::arch::aarch64::neon::memchr::$ty;
- 
-@@ -19,7 +19,7 @@ macro_rules! defraw {
-             // enabled.
-             $ty::new_unchecked($($needles),+).$find($start, $end)
-         }
--        #[cfg(not(target_feature = "neon"))]
-+        #[cfg(not(all(target_feature = "neon", target_endian = "little")))]
-         {
-             use crate::arch::all::memchr::$ty;
- 
diff --git a/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust188/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/arch/aarch64/mod.rs.orig	2024-09-22 19:17:13.167426584 +0000
-+++ vendor/memchr-2.7.4/src/arch/aarch64/mod.rs
-@@ -2,6 +2,8 @@
- Vector algorithms for the `aarch64` target.
- */
- 
-+#[cfg(target_endian = "little")]
- pub mod neon;
- 
-+#[cfg(target_endian = "little")]
- pub(crate) mod memchr;
diff --git a/rust188/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust188/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust188/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
+++ /dev/null
@@ -1,128 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/memchr.rs.orig	2024-09-22 14:50:24.931022916 +0000
-+++ vendor/memchr-2.7.4/src/memchr.rs
-@@ -518,14 +518,14 @@ unsafe fn memchr_raw(
-     {
-         crate::arch::wasm32::memchr::memchr_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).find_raw(start, end)
-@@ -551,14 +551,14 @@ unsafe fn memrchr_raw(
-     {
-         crate::arch::wasm32::memchr::memrchr_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).rfind_raw(start, end)
-@@ -585,14 +585,14 @@ unsafe fn memchr2_raw(
-     {
-         crate::arch::wasm32::memchr::memchr2_raw(needle1, needle2, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr2_raw(needle1, needle2, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Two::new(needle1, needle2)
-@@ -620,7 +620,7 @@ unsafe fn memrchr2_raw(
-     {
-         crate::arch::wasm32::memchr::memrchr2_raw(needle1, needle2, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr2_raw(
-             needle1, needle2, start, end,
-@@ -629,7 +629,7 @@ unsafe fn memrchr2_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Two::new(needle1, needle2)
-@@ -662,7 +662,7 @@ unsafe fn memchr3_raw(
-             needle1, needle2, needle3, start, end,
-         )
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memchr3_raw(
-             needle1, needle2, needle3, start, end,
-@@ -671,7 +671,7 @@ unsafe fn memchr3_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
-@@ -704,7 +704,7 @@ unsafe fn memrchr3_raw(
-             needle1, needle2, needle3, start, end,
-         )
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::memrchr3_raw(
-             needle1, needle2, needle3, start, end,
-@@ -713,7 +713,7 @@ unsafe fn memrchr3_raw(
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
-@@ -736,14 +736,14 @@ unsafe fn count_raw(needle: u8, start: *
-     {
-         crate::arch::wasm32::memchr::count_raw(needle, start, end)
-     }
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     {
-         crate::arch::aarch64::memchr::count_raw(needle, start, end)
-     }
-     #[cfg(not(any(
-         target_arch = "x86_64",
-         all(target_arch = "wasm32", target_feature = "simd128"),
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).count_raw(start, end)
diff --git a/rust188/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust188/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust188/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
+++ /dev/null
@@ -1,78 +0,0 @@
-$NetBSD$
-
-Don't try to use neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/memmem/searcher.rs.orig	2024-09-22 14:44:21.224731060 +0000
-+++ vendor/memchr-2.7.4/src/memmem/searcher.rs
-@@ -3,7 +3,7 @@ use crate::arch::all::{
-     rabinkarp, twoway,
- };
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- use crate::arch::aarch64::neon::packedpair as neon;
- #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
- use crate::arch::wasm32::simd128::packedpair as simd128;
-@@ -129,7 +129,7 @@ impl Searcher {
-                 Searcher::twoway(needle, rabinkarp, prestrat)
-             }
-         }
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-         {
-             if let Some(pp) = neon::Finder::with_pair(needle, pair) {
-                 if do_packed_search(needle) {
-@@ -152,7 +152,7 @@ impl Searcher {
-         #[cfg(not(any(
-             all(target_arch = "x86_64", target_feature = "sse2"),
-             all(target_arch = "wasm32", target_feature = "simd128"),
--            target_arch = "aarch64"
-+            all(target_arch = "aarch64", target_endian = "little")
-         )))]
-         {
-             if prefilter.is_none() {
-@@ -253,7 +253,7 @@ union SearcherKind {
-     avx2: crate::arch::x86_64::avx2::packedpair::Finder,
-     #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
-     simd128: crate::arch::wasm32::simd128::packedpair::Finder,
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     neon: crate::arch::aarch64::neon::packedpair::Finder,
- }
- 
-@@ -421,7 +421,7 @@ unsafe fn searcher_kind_simd128(
- /// # Safety
- ///
- /// Callers must ensure that the `searcher.kind.neon` union field is set.
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn searcher_kind_neon(
-     searcher: &Searcher,
-     _prestate: &mut PrefilterState,
-@@ -686,7 +686,7 @@ impl Prefilter {
-     }
- 
-     /// Return a prefilter using a aarch64 neon vector algorithm.
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     #[inline]
-     fn neon(finder: neon::Finder, needle: &[u8]) -> Prefilter {
-         trace!("building aarch64 neon prefilter");
-@@ -763,7 +763,7 @@ union PrefilterKind {
-     avx2: crate::arch::x86_64::avx2::packedpair::Finder,
-     #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
-     simd128: crate::arch::wasm32::simd128::packedpair::Finder,
--    #[cfg(target_arch = "aarch64")]
-+    #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-     neon: crate::arch::aarch64::neon::packedpair::Finder,
- }
- 
-@@ -852,7 +852,7 @@ unsafe fn prefilter_kind_simd128(
- /// # Safety
- ///
- /// Callers must ensure that the `strat.kind.neon` union field is set.
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- unsafe fn prefilter_kind_neon(
-     strat: &Prefilter,
-     haystack: &[u8],
diff --git a/rust188/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust188/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust188/patches/patch-vendor_memchr-2.7.4_src_vector.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to do neon / SIMD on big-endian aarch64.
-
---- vendor/memchr-2.7.4/src/vector.rs.orig	2024-09-22 14:16:06.473207292 +0000
-+++ vendor/memchr-2.7.4/src/vector.rs
-@@ -289,7 +289,7 @@ mod x86avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf b/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
deleted file mode 100644
index ce1d7f1936..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_Configurations_10-main.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Replicate part of
-https://github.com/openssl/openssl/pull/15086
-
---- vendor/openssl-src-111.17.0+1.1.1m/openssl/Configurations/10-main.conf.orig	2025-05-18 13:23:47.013841572 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/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",
diff --git a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c b/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
deleted file mode 100644
index 37ef9a648d..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_openssl_crypto_aria_aria.c
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Make this build if bswap32 is already defined, as for NetBSD/i586.
-
---- vendor/openssl-src-111.17.0+1.1.1m/openssl/crypto/aria/aria.c.orig	2025-05-19 20:01:02.477323075 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/openssl/crypto/aria/aria.c
-@@ -32,9 +32,11 @@
- #define rotl32(v, r) (((uint32_t)(v) << (r)) | ((uint32_t)(v) >> (32 - r)))
- #define rotr32(v, r) (((uint32_t)(v) >> (r)) | ((uint32_t)(v) << (32 - r)))
- 
-+#ifndef bswap32
- #define bswap32(v)                                          \
-     (((v) << 24) ^ ((v) >> 24) ^                            \
-     (((v) & 0x0000ff00) << 8) ^ (((v) & 0x00ff0000) >> 8))
-+#endif
- 
- #define GET_U8_BE(X, Y) ((uint8_t)((X) >> ((3 - Y) * 8)))
- #define GET_U32_BE(X, Y) (                                  \
diff --git a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs b/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
deleted file mode 100644
index 58e6db0ad3..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-111.17.0+1.1.1m_src_lib.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-$NetBSD$
-
-Add the various NetBSD targets.
-
---- vendor/openssl-src-111.17.0+1.1.1m/src/lib.rs.orig	2025-05-18 13:26:41.970702318 +0000
-+++ vendor/openssl-src-111.17.0+1.1.1m/src/lib.rs
-@@ -219,6 +219,8 @@ impl Build {
-             "aarch64-unknown-freebsd" => "BSD-generic64",
-             "aarch64-unknown-linux-gnu" => "linux-aarch64",
-             "aarch64-unknown-linux-musl" => "linux-aarch64",
-+            "aarch64-unknown-netbsd" => "BSD-generic64",
-+            "aarch64_be-unknown-netbsd" => "BSD-generic64",
-             "aarch64-pc-windows-msvc" => "VC-WIN64-ARM",
-             "arm-linux-androideabi" => "linux-armv4",
-             "armv7-linux-androideabi" => "linux-armv4",
-@@ -229,14 +231,17 @@ impl Build {
-             "armv5te-unknown-linux-gnueabi" => "linux-armv4",
-             "armv5te-unknown-linux-musleabi" => "linux-armv4",
-             "armv6-unknown-freebsd" => "BSD-generic32",
-+            "armv6-unknown-netbsd-eabihf" => "BSD-generic32",
-             "armv7-unknown-freebsd" => "BSD-generic32",
-             "armv7-unknown-linux-gnueabi" => "linux-armv4",
-             "armv7-unknown-linux-musleabi" => "linux-armv4",
-             "armv7-unknown-linux-gnueabihf" => "linux-armv4",
-             "armv7-unknown-linux-musleabihf" => "linux-armv4",
-+            "armv7-unknown-netbsd-eabihf" => "BSD-generic32",
-             "asmjs-unknown-emscripten" => "gcc",
-             "i586-unknown-linux-gnu" => "linux-elf",
-             "i586-unknown-linux-musl" => "linux-elf",
-+            "i586-unknown-netbsd" => "BSD-x86-elf",
-             "i686-apple-darwin" => "darwin-i386-cc",
-             "i686-linux-android" => "linux-elf",
-             "i686-pc-windows-gnu" => "mingw",
-@@ -244,6 +249,7 @@ impl Build {
-             "i686-unknown-freebsd" => "BSD-x86-elf",
-             "i686-unknown-linux-gnu" => "linux-elf",
-             "i686-unknown-linux-musl" => "linux-elf",
-+            "i686-unknown-netbsd" => "BSD-x86-elf",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-             "mips-unknown-linux-musl" => "linux-mips32",
-             "mips64-unknown-linux-gnuabi64" => "linux64-mips64",
-@@ -252,8 +258,10 @@ impl Build {
-             "mips64el-unknown-linux-muslabi64" => "linux64-mips64",
-             "mipsel-unknown-linux-gnu" => "linux-mips32",
-             "mipsel-unknown-linux-musl" => "linux-mips32",
-+            "mipsel-unknown-netbsd" => "NetBSD-generic32",
-             "powerpc-unknown-freebsd" => "BSD-generic32",
-             "powerpc-unknown-linux-gnu" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -261,8 +269,10 @@ impl Build {
-             "powerpc64le-unknown-linux-gnu" => "linux-ppc64le",
-             "powerpc64le-unknown-linux-musl" => "linux-ppc64le",
-             "riscv64gc-unknown-linux-gnu" => "linux-generic64",
-+            "riscv64gc-unknown-netbsd" => "BSD-generic64",
-             "s390x-unknown-linux-gnu" => "linux64-s390x",
-             "s390x-unknown-linux-musl" => "linux64-s390x",
-+            "sparc64-unknown-netbsd" => "BSD-generic64",
-             "x86_64-apple-darwin" => "darwin64-x86_64-cc",
-             "x86_64-linux-android" => "linux-x86_64",
-             "x86_64-pc-windows-gnu" => "mingw64",
diff --git a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf b/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
deleted file mode 100644
index c49cf39580..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_Configurations_10-main.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Replicate part of
-https://github.com/openssl/openssl/pull/15086
-
---- vendor/openssl-src-300.4.2+3.4.1/openssl/Configurations/10-main.conf.orig	2025-05-20 09:03:49.120083364 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/openssl/Configurations/10-main.conf
-@@ -1033,6 +1033,10 @@ my %targets = (
-         shared_target    => "bsd-gcc-shared",
-         shared_cflag     => "-fPIC",
-     },
-+    "NetBSD-generic32" => {
-+        inherit_from    => [ "BSD-generic32" ],
-+        ex_libs         => add(threads("-latomic")),
-+    },
-     "BSD-generic64" => {
-         inherit_from     => [ "BSD-generic32" ],
-         bn_ops           => "SIXTY_FOUR_BIT_LONG",
diff --git a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c b/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
deleted file mode 100644
index 1ecc68763c..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_openssl_crypto_aria_aria.c
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Make this build also if bswap32 is already defined, as for NetBSD/i586.
-
---- vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/aria/aria.c.orig	2025-05-19 20:04:00.808387729 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/aria/aria.c
-@@ -32,9 +32,11 @@
- #define rotl32(v, r) (((uint32_t)(v) << (r)) | ((uint32_t)(v) >> (32 - r)))
- #define rotr32(v, r) (((uint32_t)(v) >> (r)) | ((uint32_t)(v) << (32 - r)))
- 
-+#ifndef bswap32
- #define bswap32(v)                                          \
-     (((v) << 24) ^ ((v) >> 24) ^                            \
-     (((v) & 0x0000ff00) << 8) ^ (((v) & 0x00ff0000) >> 8))
-+#endif
- 
- #define GET_U8_BE(X, Y) ((uint8_t)((X) >> ((3 - Y) * 8)))
- #define GET_U32_BE(X, Y) (                                  \
diff --git a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs b/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
deleted file mode 100644
index 13fae397c7..0000000000
--- a/rust188/patches/patch-vendor_openssl-src-300.4.2+3.4.1_src_lib.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Make this build on NetBSD for arm64 and mipsel as well.
-
---- vendor/openssl-src-300.4.2+3.4.1/src/lib.rs.orig	2025-05-18 21:45:55.955282328 +0000
-+++ vendor/openssl-src-300.4.2+3.4.1/src/lib.rs
-@@ -321,6 +321,7 @@ impl Build {
-             "armv5te-unknown-linux-gnueabi" => "linux-armv4",
-             "armv5te-unknown-linux-musleabi" => "linux-armv4",
-             "armv6-unknown-freebsd" => "BSD-generic32",
-+            "armv6-unknown-netbsd-eabihf" => "BSD-generic32",
-             "armv6-alpine-linux-musleabihf" => "linux-armv6",
-             "armv7-unknown-freebsd" => "BSD-armv4",
-             "armv7-unknown-linux-gnueabi" => "linux-armv4",
-@@ -356,6 +357,7 @@ impl Build {
-             "mips64el-unknown-linux-muslabi64" => "linux64-mips64",
-             "mipsel-unknown-linux-gnu" => "linux-mips32",
-             "mipsel-unknown-linux-musl" => "linux-mips32",
-+            "mipsel-unknown-netbsd" => "NetBSD-generic32",
-             "powerpc-unknown-freebsd" => "BSD-ppc",
-             "powerpc-unknown-linux-gnu" => "linux-ppc",
-             "powerpc-unknown-linux-gnuspe" => "linux-ppc",
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
deleted file mode 100644
index d582f13250..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.104/build/find_normal.rs.orig	2025-05-18 13:34:58.828236052 +0000
-+++ vendor/openssl-sys-0.9.104/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
deleted file mode 100644
index eb03728346..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.104_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.104/build/main.rs.orig	2025-05-18 13:40:14.561460017 +0000
-+++ vendor/openssl-sys-0.9.104/build/main.rs
-@@ -218,6 +218,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on NetBSD ilp32 ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+        println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_find__normal.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_find__normal.rs
deleted file mode 100644
index 3f499547d4..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.107/build/find_normal.rs.orig	2025-06-28 08:24:16.945712755 +0000
-+++ vendor/openssl-sys-0.9.107/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_main.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_main.rs
deleted file mode 100644
index 7e665d8853..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.107_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.107/build/main.rs.orig	2025-06-28 08:26:57.774420907 +0000
-+++ vendor/openssl-sys-0.9.107/build/main.rs
-@@ -269,6 +269,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on ilp32 NetBSD ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+       println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_find__normal.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_find__normal.rs
deleted file mode 100644
index de5f32b436..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.108/build/find_normal.rs.orig	2025-06-28 08:28:59.789478187 +0000
-+++ vendor/openssl-sys-0.9.108/build/find_normal.rs
-@@ -72,23 +72,6 @@ fn resolve_with_wellknown_location(dir: 
- fn find_openssl_dir(target: &str) -> OsString {
-     let host = env::var("HOST").unwrap();
- 
--    if host == target && target.ends_with("-apple-darwin") {
--        let homebrew_dir = match target {
--            "aarch64-apple-darwin" => "/opt/homebrew",
--            _ => "/usr/local",
--        };
--
--        if let Some(dir) = resolve_with_wellknown_homebrew_location(homebrew_dir) {
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/pkg") {
--            // pkgsrc
--            return dir.into();
--        } else if let Some(dir) = resolve_with_wellknown_location("/opt/local") {
--            // MacPorts
--            return dir.into();
--        }
--    }
--
-     try_pkg_config();
-     try_vcpkg();
- 
diff --git a/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_main.rs b/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_main.rs
deleted file mode 100644
index 444efdc5f0..0000000000
--- a/rust188/patches/patch-vendor_openssl-sys-0.9.108_build_main.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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-0.9.108/build/main.rs.orig	2025-06-28 08:30:05.194163693 +0000
-+++ vendor/openssl-sys-0.9.108/build/main.rs
-@@ -269,6 +269,14 @@ fn main() {
-         println!("cargo:rustc-link-lib=atomic");
-     }
- 
-+    // Patterned of the above, make sure we include -latomic
-+    // on ilp32 ports (yes, this only tests the "p32" part).
-+    if env::var("CARGO_CFG_TARGET_OS").unwrap() == "netbsd"
-+       && env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() == "32"
-+    {
-+       println!("cargo:rustc-link-lib=atomic");
-+    }
-+
-     if kind == "static" && target.contains("windows") {
-         println!("cargo:rustc-link-lib=dylib=gdi32");
-         println!("cargo:rustc-link-lib=dylib=user32");
diff --git a/rust188/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust188/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust188/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs,v 1.9 2024/04/18 09:29:43 pin Exp $
-
-Add aarch64_be NetBSD target.
-
---- /dev/null	2021-04-26 00:02:43.147970692 +0200
-+++ vendor/rustc-ap-rustc_target/src/spec/aarch64_be_unknown_netbsd.rs	2021-04-26 00:07:44.657579025 +0200
-@@ -0,0 +1,20 @@
-+use crate::abi::Endian;
-+use crate::spec::{Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    let mut base = super::netbsd_base::opts();
-+    base.max_atomic_width = Some(128);
-+    base.unsupported_abis = super::arm_base::unsupported_abis();
-+
-+    Target {
-+        llvm_target: "aarch64_be-unknown-netbsd".to_string(),
-+        pointer_width: 64,
-+        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
-+        arch: "aarch64".to_string(),
-+        options: TargetOptions {
-+            mcount: "__mcount".to_string(),
-+            endian: Endian::Big,
-+            ..base
-+        },
-+    }
-+}
diff --git a/rust188/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust188/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust188/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Attempt at skipping SIMD / neon on big-endian aarch64,
-ref. https://github.com/rust-lang/rust/issues/129819.
-
---- vendor/zerocopy-0.7.32/src/lib.rs.orig	2024-09-01 12:56:49.837065351 +0000
-+++ vendor/zerocopy-0.7.32/src/lib.rs
-@@ -3715,7 +3715,7 @@ mod simd {
-             powerpc64, powerpc64, vector_bool_long, vector_double, vector_signed_long, vector_unsigned_long
-         );
-         simd_arch_mod!(
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
-             int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
-             int16x8_t, int32x2_t, int32x4_t, int64x1_t, int64x2_t, poly8x8_t, poly8x8x2_t, poly8x8x3_t,
-@@ -7998,7 +7998,7 @@ mod tests {
-                 vector_signed_long,
-                 vector_unsigned_long
-             );
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             #[rustfmt::skip]
-             test_simd_arch_mod!(
-                 aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
diff --git a/rust188/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs b/rust188/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
deleted file mode 100644
index d71d7d0924..0000000000
--- a/rust188/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Attempt at skipping SIMD / neon on big-endian aarch64,
-ref. https://github.com/rust-lang/rust/issues/129819.
-
---- vendor/zerocopy-0.7.35/src/lib.rs.orig	2024-08-31 21:15:29.602997509 +0000
-+++ vendor/zerocopy-0.7.35/src/lib.rs
-@@ -3727,7 +3727,7 @@ mod simd {
-             powerpc64, powerpc64, vector_bool_long, vector_double, vector_signed_long, vector_unsigned_long
-         );
-         simd_arch_mod!(
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
-             int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
-             int16x8_t, int32x2_t, int32x4_t, int64x1_t, int64x2_t, poly8x8_t, poly8x8x2_t, poly8x8x3_t,
-@@ -8020,7 +8020,7 @@ mod tests {
-                 vector_signed_long,
-                 vector_unsigned_long
-             );
--            #[cfg(target_arch = "aarch64")]
-+            #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-             #[rustfmt::skip]
-             test_simd_arch_mod!(
-                 aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
diff --git a/rust188/patches/patch-vendor_zeroize-1.8.1_src_lib.rs b/rust188/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
deleted file mode 100644
index 990d660c45..0000000000
--- a/rust188/patches/patch-vendor_zeroize-1.8.1_src_lib.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Don't try to use the NEON-specific module in big-endian mode.
-
---- vendor/zeroize-1.8.1/src/lib.rs.orig	2025-04-06 07:17:23.864281079 +0000
-+++ vendor/zeroize-1.8.1/src/lib.rs
-@@ -245,7 +245,7 @@ extern crate std;
- #[cfg(feature = "zeroize_derive")]
- pub use zeroize_derive::{Zeroize, ZeroizeOnDrop};
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64;
- #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
- mod x86;
diff --git a/rust188/platform.mk b/rust188/platform.mk
deleted file mode 100644
index e094334ea2..0000000000
--- a/rust188/platform.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# $NetBSD: platform.mk,v 1.33 2025/06/16 21:10:43 he Exp $
-
-# This file encodes whether a given platform has support for rust.
-
-# Platforms where rust ought to work but does not require a link to an
-# open PR.
-
-.if !defined(PLATFORM_SUPPORTS_RUST)
-
-# Rust needs NetBSD>8
-.for rust_arch in aarch64 earmv6hf earmv7hf i386 powerpc riscv64 sparc64 x86_64
-.  for rust_os in Darwin FreeBSD Linux NetBSD SunOS
-.    if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-8].*)
-RUST_PLATFORMS+=	${rust_os}-*-${rust_arch}
-.    endif
-.  endfor
-.endfor
-
-# rust does not build in the VA space available on earm.
-# \todo Consider extension to other platforms.
-.if ${NATIVE_MACHINE_PLATFORM:M*-*-earm*}
-RUST_TYPE?=	bin
-.endif
-
-RUST_DIR?=	../../lang/rust
-
-.for rust_platform in ${RUST_PLATFORMS}
-.  if !empty(MACHINE_PLATFORM:M${rust_platform})
-PLATFORM_SUPPORTS_RUST=		yes
-.  endif
-.endfor
-PLATFORM_SUPPORTS_RUST?=	no
-
-.endif # !defined(PLATFORM_SUPPORTS_RUST)
diff --git a/rust188/rust.mk b/rust188/rust.mk
deleted file mode 100644
index dc01362fd5..0000000000
--- a/rust188/rust.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-# $NetBSD: rust.mk,v 1.9 2024/07/07 11:00:37 wiz Exp $
-#
-# This file determines the type of rust package to use.
-#
-# It should be included by rust-dependent packages that don't use
-# cargo.mk.
-#
-# === User-settable variables ===
-#
-# RUST_TYPE
-#	The preferred type of Rust release to use -
-#	either bootstrap-from-source or an official binary.
-#
-#	Official Rust binaries are only published for certain platforms,
-#	including Darwin, FreeBSD, Linux, and NetBSD x86_64.
-#
-#	Possible values: src bin native
-#	Default: "src", except on 32-bit arm where it's "bin"
-#
-# === Package-settable variables ===
-#
-# RUST_REQ
-#	The minimum version of Rust required by the package.
-#
-#	Default: 1.56.1
-#
-# RUST_RUNTIME
-#	Whether rust is a runtime dependency.
-#	Usually it is only needed to build.
-#
-#	Possible values: yes no
-#	Default: no
-
-.include "../../mk/bsd.fast.prefs.mk"
-.include "platform.mk"
-
-RUST_REQ?=	1.56.1
-RUST_RUNTIME?=	no
-
-.if ${MACHINE_PLATFORM:M*-*-earm*}
-RUST_TYPE?=	bin
-.else
-RUST_TYPE?=	src
-.endif
-
-.if ${RUST_TYPE} == "bin"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust-bin?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=${RUST_REQ}
-.  include "${RUST_DIR}-bin/buildlink3.mk"
-.endif
-
-.if ${RUST_TYPE} == "src"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust+=		rust>=${RUST_REQ}
-.  include "${RUST_DIR}/buildlink3.mk"
-.endif



Home | Main Index | Thread Index | Old Index