pkgsrc-WIP-changes archive

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

Remove old Rust packages



Module Name:	pkgsrc-wip
Committed By:	pin <voidpin%protonmail.com@localhost>
Pushed By:	pin
Date:		Sat Apr 12 18:27:32 2025 +0200
Changeset:	70b3bc662d075d6a0813d999ba60d14acd017fb6

Modified Files:
	Makefile
Removed Files:
	rust177-bin/DESCR
	rust177-bin/Makefile
	rust177-bin/buildlink3.mk
	rust177-bin/distinfo
	rust177-bin/files/install.sh
	rust177/DESCR
	rust177/HOWTO-BOOTSTRAP
	rust177/Makefile
	rust177/buildlink3.mk
	rust177/cargo.mk
	rust177/cross.mk
	rust177/distinfo
	rust177/do-cross.mk
	rust177/files/gcc-wrap
	rust177/options.mk
	rust177/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust177/patches/patch-compiler_rustc__llvm_build.rs
	rust177/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust177/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust177/patches/patch-compiler_rustc__target_src_spec_targets_i586__unknown__netbsd.rs
	rust177/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust177/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust177/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust177/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust177/patches/patch-library_std_src_sys_pal_unix_thread.rs
	rust177/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
	rust177/patches/patch-src_bootstrap_bootstrap.py
	rust177/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust177/patches/patch-src_bootstrap_src_core_builder.rs
	rust177/patches/patch-src_bootstrap_src_lib.rs
	rust177/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust177/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust177/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust177/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust177/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
	rust177/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust177/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust177/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust177/patches/patch-src_tools_rust-installer_install-template.sh
	rust177/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
	rust177/patches/patch-vendor_aho-corasick_src_packed_vector.rs
	rust177/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
	rust177/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
	rust177/patches/patch-vendor_cc-1.0.73_src_lib.rs
	rust177/patches/patch-vendor_cc_src_lib.rs
	rust177/patches/patch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs
	rust177/patches/patch-vendor_crossbeam-utils-0.8.16_no__atomic.rs
	rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust177/patches/patch-vendor_libc-0.2.148_src_unix_solarish_mod.rs
	rust177/patches/patch-vendor_libc_src_unix_solarish_mod.rs
	rust177/patches/patch-vendor_lzma-sys_config.h
	rust177/patches/patch-vendor_nix-0.26.2_src_sys_signal.rs
	rust177/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
	rust177/patches/patch-vendor_openssl-src_src_lib.rs
	rust177/patches/patch-vendor_openssl-sys_build_find__normal.rs
	rust177/patches/patch-vendor_openssl-sys_build_main.rs
	rust177/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust177/patches/patch-vendor_stacker_src_lib.rs
	rust177/patches/patch-vendor_target-lexicon_src_targets.rs
	rust177/patches/patch-vendor_valuable_no__atomic.rs
	rust177/platform.mk
	rust177/rust.mk
	rust178-bin/DESCR
	rust178-bin/Makefile
	rust178-bin/buildlink3.mk
	rust178-bin/distinfo
	rust178-bin/files/install.sh
	rust178/DESCR
	rust178/HOWTO-BOOTSTRAP
	rust178/Makefile
	rust178/buildlink3.mk
	rust178/cargo.mk
	rust178/cross.mk
	rust178/distinfo
	rust178/do-cross.mk
	rust178/files/gcc-wrap
	rust178/options.mk
	rust178/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust178/patches/patch-compiler_rustc__llvm_build.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv6__unknown__netbsd__eabihf.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv7__unknown__netbsd__eabihf.rs
	rust178/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust178/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust178/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust178/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust178/patches/patch-library_std_src_sys_pal_unix_thread.rs
	rust178/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
	rust178/patches/patch-src_bootstrap_bootstrap.py
	rust178/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust178/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust178/patches/patch-src_bootstrap_src_core_builder.rs
	rust178/patches/patch-src_bootstrap_src_lib.rs
	rust178/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust178/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust178/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust178/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust178/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust178/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust178/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust178/patches/patch-src_tools_rust-installer_install-template.sh
	rust178/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
	rust178/patches/patch-vendor_aho-corasick_src_packed_vector.rs
	rust178/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
	rust178/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
	rust178/patches/patch-vendor_cc-1.0.73_src_lib.rs
	rust178/patches/patch-vendor_cc_src_lib.rs
	rust178/patches/patch-vendor_crossbeam-utils-0.8.17_no__atomic.rs
	rust178/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust178/patches/patch-vendor_crossbeam-utils_no__atomic.rs
	rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
	rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust178/patches/patch-vendor_libc-0.2.151_src_unix_solarish_mod.rs
	rust178/patches/patch-vendor_libc_src_unix_solarish_mod.rs
	rust178/patches/patch-vendor_lzma-sys_config.h
	rust178/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
	rust178/patches/patch-vendor_openssl-src_src_lib.rs
	rust178/patches/patch-vendor_openssl-sys_build_find__normal.rs
	rust178/patches/patch-vendor_openssl-sys_build_main.rs
	rust178/patches/patch-vendor_portable-atomic_no__atomic.rs
	rust178/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust178/patches/patch-vendor_stacker_src_lib.rs
	rust178/patches/patch-vendor_target-lexicon_src_targets.rs
	rust178/patches/patch-vendor_valuable_no__atomic.rs
	rust178/platform.mk
	rust178/rust.mk
	rust181-bin/DESCR
	rust181-bin/Makefile
	rust181-bin/buildlink3.mk
	rust181-bin/distinfo
	rust181-bin/files/install.sh
	rust181/DESCR
	rust181/HOWTO-BOOTSTRAP
	rust181/Makefile
	rust181/buildlink3.mk
	rust181/cargo.mk
	rust181/cross.mk
	rust181/distinfo
	rust181/do-cross.mk
	rust181/files/gcc-wrap
	rust181/options.mk
	rust181/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust181/patches/patch-compiler_rustc__llvm_build.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust181/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
	rust181/patches/patch-config.example.toml
	rust181/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust181/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust181/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust181/patches/patch-src_bootstrap_bootstrap.py
	rust181/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust181/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
	rust181/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust181/patches/patch-src_bootstrap_src_core_builder.rs
	rust181/patches/patch-src_bootstrap_src_core_config_config.rs
	rust181/patches/patch-src_bootstrap_src_lib.rs
	rust181/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust181/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust181/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust181/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust181/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust181/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust181/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust181/patches/patch-src_tools_rust-installer_install-template.sh
	rust181/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
	rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
	rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
	rust181/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust181/patches/patch-vendor_cc-1.0.73_src_lib.rs
	rust181/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust181/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
	rust181/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
	rust181/patches/patch-vendor_memchr-2.7.1_src_vector.rs
	rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs
	rust181/patches/patch-vendor_memchr-2.7.2_src_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.2_src_memmem_searcher.rs
	rust181/patches/patch-vendor_memchr-2.7.2_src_vector.rs
	rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust181/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust181/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust181/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
	rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
	rust181/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
	rust181/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
	rust181/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
	rust181/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
	rust181/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust181/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust181/patches/patch-vendor_zerocopy-0.7.34_src_lib.rs
	rust181/platform.mk
	rust181/rust.mk
	rust182-bin/DESCR
	rust182-bin/Makefile
	rust182-bin/buildlink3.mk
	rust182-bin/distinfo
	rust182-bin/files/install.sh
	rust182/DESCR
	rust182/HOWTO-BOOTSTRAP
	rust182/Makefile
	rust182/buildlink3.mk
	rust182/cargo.mk
	rust182/cross.mk
	rust182/distinfo
	rust182/do-cross.mk
	rust182/files/gcc-wrap
	rust182/options.mk
	rust182/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust182/patches/patch-compiler_rustc__llvm_build.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust182/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
	rust182/patches/patch-config.example.toml
	rust182/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust182/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust182/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust182/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
	rust182/patches/patch-src_bootstrap_bootstrap.py
	rust182/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust182/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
	rust182/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust182/patches/patch-src_bootstrap_src_core_builder.rs
	rust182/patches/patch-src_bootstrap_src_core_config_config.rs
	rust182/patches/patch-src_bootstrap_src_lib.rs
	rust182/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust182/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust182/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust182/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust182/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust182/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust182/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust182/patches/patch-src_tools_rust-installer_install-template.sh
	rust182/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
	rust182/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust182/patches/patch-vendor_cc-1.0.73_src_lib.rs
	rust182/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust182/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust182/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust182/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust182/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
	rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
	rust182/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
	rust182/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
	rust182/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
	rust182/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
	rust182/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust182/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust182/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
	rust182/platform.mk
	rust182/rust.mk
	rust183-bin/DESCR
	rust183-bin/Makefile
	rust183-bin/buildlink3.mk
	rust183-bin/distinfo
	rust183-bin/files/install.sh
	rust183/DESCR
	rust183/HOWTO-BOOTSTRAP
	rust183/Makefile
	rust183/TODO
	rust183/buildlink3.mk
	rust183/cargo.mk
	rust183/cross.mk
	rust183/distinfo
	rust183/do-cross.mk
	rust183/files/gcc-wrap
	rust183/options.mk
	rust183/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust183/patches/patch-compiler_rustc__llvm_build.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust183/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
	rust183/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust183/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust183/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust183/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
	rust183/patches/patch-src_bootstrap_bootstrap.py
	rust183/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust183/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust183/patches/patch-src_bootstrap_src_core_builder.rs
	rust183/patches/patch-src_bootstrap_src_lib.rs
	rust183/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust183/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust183/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust183/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust183/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust183/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust183/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust183/patches/patch-src_tools_rust-installer_install-template.sh
	rust183/patches/patch-tests_assembly_targets_targets-elf.rs
	rust183/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
	rust183/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust183/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust183/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust183/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust183/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust183/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
	rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
	rust183/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
	rust183/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
	rust183/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
	rust183/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
	rust183/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust183/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust183/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
	rust183/platform.mk
	rust183/rust.mk
	rust184-bin/DESCR
	rust184-bin/Makefile
	rust184-bin/buildlink3.mk
	rust184-bin/distinfo
	rust184-bin/files/install.sh
	rust184/DESCR
	rust184/HOWTO-BOOTSTRAP
	rust184/Makefile
	rust184/buildlink3.mk
	rust184/cargo.mk
	rust184/cross.mk
	rust184/distinfo
	rust184/do-cross.mk
	rust184/files/gcc-wrap
	rust184/options.mk
	rust184/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
	rust184/patches/patch-compiler_rustc__llvm_build.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_mod.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
	rust184/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
	rust184/patches/patch-library_backtrace_src_symbolize_gimli.rs
	rust184/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
	rust184/patches/patch-library_std_src_sys_pal_unix_mod.rs
	rust184/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
	rust184/patches/patch-src_bootstrap_bootstrap.py
	rust184/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
	rust184/patches/patch-src_bootstrap_src_core_build__steps_install.rs
	rust184/patches/patch-src_bootstrap_src_core_builder_cargo.rs
	rust184/patches/patch-src_bootstrap_src_lib.rs
	rust184/patches/patch-src_llvm-project_llvm_CMakeLists.txt
	rust184/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
	rust184/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
	rust184/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
	rust184/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
	rust184/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
	rust184/patches/patch-src_tools_cargo_tests_testsuite_build.rs
	rust184/patches/patch-src_tools_rust-installer_install-template.sh
	rust184/patches/patch-tests_assembly_targets_targets-elf.rs
	rust184/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
	rust184/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
	rust184/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
	rust184/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust184/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
	rust184/patches/patch-vendor_libc-0.2.158_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust184/patches/patch-vendor_libc-0.2.158_src_unix_solarish_mod.rs
	rust184/patches/patch-vendor_libc-0.2.159_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust184/patches/patch-vendor_libc-0.2.159_src_unix_solarish_mod.rs
	rust184/patches/patch-vendor_libc-0.2.162_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust184/patches/patch-vendor_libc-0.2.162_src_unix_solarish_mod.rs
	rust184/patches/patch-vendor_libc-0.2.164_src_unix_bsd_netbsdlike_netbsd_mod.rs
	rust184/patches/patch-vendor_libc-0.2.164_src_unix_solarish_mod.rs
	rust184/patches/patch-vendor_line-index-0.1.2_src_lib.rs
	rust184/patches/patch-vendor_lzma-sys-0.1.20_config.h
	rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
	rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
	rust184/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
	rust184/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
	rust184/patches/patch-vendor_memchr-2.7.4_src_vector.rs
	rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
	rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
	rust184/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
	rust184/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
	rust184/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
	rust184/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
	rust184/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
	rust184/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
	rust184/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
	rust184/platform.mk
	rust184/rust.mk

Log Message:
Remove old Rust packages

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

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

diffstat:
 Makefile                                           |  12 -
 rust177-bin/DESCR                                  |  17 -
 rust177-bin/Makefile                               | 297 -------
 rust177-bin/buildlink3.mk                          |  13 -
 rust177-bin/distinfo                               |  53 --
 rust177-bin/files/install.sh                       | 971 ---------------------
 rust177/DESCR                                      |  13 -
 rust177/HOWTO-BOOTSTRAP                            |  85 --
 rust177/Makefile                                   | 690 ---------------
 rust177/buildlink3.mk                              |  17 -
 rust177/cargo.mk                                   | 110 ---
 rust177/cross.mk                                   |  82 --
 rust177/distinfo                                   | 163 ----
 rust177/do-cross.mk                                | 107 ---
 rust177/files/gcc-wrap                             | 199 -----
 rust177/options.mk                                 |  74 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  15 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-compiler_rustc__target_src_spec_base_netbsd.rs |  32 -
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  14 -
 ...arget_src_spec_targets_i586__unknown__netbsd.rs |  16 -
 ...t_src_spec_targets_mips64el__unknown__netbsd.rs |  29 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 .../patch-library_std_src_sys_pal_unix_thread.rs   |  26 -
 ..._std_src_sys_pal_unix_thread__parking_netbsd.rs |  34 -
 rust177/patches/patch-src_bootstrap_bootstrap.py   |  47 -
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 .../patch-src_bootstrap_src_core_builder.rs        |  15 -
 rust177/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 -
 ...-project_llvm_lib_Support_BLAKE3_blake3__impl.h |  20 -
 ...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 |  31 -
 ...ch-src_tools_rust-installer_install-template.sh | 179 ----
 ...vendor_aho-corasick_src_packed_teddy_builder.rs |  31 -
 .../patch-vendor_aho-corasick_src_packed_vector.rs |  13 -
 .../patch-vendor_backtrace_src_symbolize_gimli.rs  |  14 -
 ...tch-vendor_backtrace_src_symbolize_gimli_elf.rs |  24 -
 rust177/patches/patch-vendor_cc-1.0.73_src_lib.rs  |  16 -
 rust177/patches/patch-vendor_cc_src_lib.rs         |  22 -
 ...tch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs |  15 -
 ...tch-vendor_crossbeam-utils-0.8.16_no__atomic.rs |  14 -
 ...-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 -
 ...c-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs |  52 --
 ...2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  29 -
 ...ch-vendor_libc-0.2.148_src_unix_solarish_mod.rs |  15 -
 .../patch-vendor_libc_src_unix_solarish_mod.rs     |  15 -
 rust177/patches/patch-vendor_lzma-sys_config.h     |  18 -
 .../patch-vendor_nix-0.26.2_src_sys_signal.rs      |  15 -
 ...openssl-src_openssl_Configurations_10-main.conf |  18 -
 .../patches/patch-vendor_openssl-src_src_lib.rs    |  64 --
 .../patch-vendor_openssl-sys_build_find__normal.rs |  30 -
 .../patches/patch-vendor_openssl-sys_build_main.rs |  23 -
 ...target_src_spec_aarch64__be__unknown__netbsd.rs |  27 -
 rust177/patches/patch-vendor_stacker_src_lib.rs    |  15 -
 .../patch-vendor_target-lexicon_src_targets.rs     |  22 -
 .../patches/patch-vendor_valuable_no__atomic.rs    |  14 -
 rust177/platform.mk                                |  40 -
 rust177/rust.mk                                    |  55 --
 rust178-bin/DESCR                                  |  17 -
 rust178-bin/Makefile                               | 302 -------
 rust178-bin/buildlink3.mk                          |  13 -
 rust178-bin/distinfo                               |  50 --
 rust178-bin/files/install.sh                       | 971 ---------------------
 rust178/DESCR                                      |  13 -
 rust178/HOWTO-BOOTSTRAP                            |  85 --
 rust178/Makefile                                   | 710 ---------------
 rust178/buildlink3.mk                              |  17 -
 rust178/cargo.mk                                   | 110 ---
 rust178/cross.mk                                   |  82 --
 rust178/distinfo                                   | 160 ----
 rust178/do-cross.mk                                | 107 ---
 rust178/files/gcc-wrap                             | 199 -----
 rust178/options.mk                                 |  74 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  15 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-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 |  24 -
 ...et_src_spec_targets_aarch64__unknown__netbsd.rs |  24 -
 ..._spec_targets_armv6__unknown__netbsd__eabihf.rs |  18 -
 ..._spec_targets_armv7__unknown__netbsd__eabihf.rs |  18 -
 ...t_src_spec_targets_mips64el__unknown__netbsd.rs |  35 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 .../patch-library_std_src_sys_pal_unix_thread.rs   |  26 -
 ..._std_src_sys_pal_unix_thread__parking_netbsd.rs |  34 -
 rust178/patches/patch-src_bootstrap_bootstrap.py   |  47 -
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  15 -
 .../patch-src_bootstrap_src_core_builder.rs        |  15 -
 rust178/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 |  31 -
 ...ch-src_tools_rust-installer_install-template.sh | 179 ----
 ...vendor_aho-corasick_src_packed_teddy_builder.rs |  31 -
 .../patch-vendor_aho-corasick_src_packed_vector.rs |  13 -
 .../patch-vendor_backtrace_src_symbolize_gimli.rs  |  14 -
 ...tch-vendor_backtrace_src_symbolize_gimli_elf.rs |  24 -
 rust178/patches/patch-vendor_cc-1.0.73_src_lib.rs  |  16 -
 rust178/patches/patch-vendor_cc_src_lib.rs         |  22 -
 ...tch-vendor_crossbeam-utils-0.8.17_no__atomic.rs |  14 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 .../patch-vendor_crossbeam-utils_no__atomic.rs     |  14 -
 ...-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs |  29 -
 ...2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs |  29 -
 ...ch-vendor_libc-0.2.151_src_unix_solarish_mod.rs |  15 -
 .../patch-vendor_libc_src_unix_solarish_mod.rs     |  15 -
 rust178/patches/patch-vendor_lzma-sys_config.h     |  18 -
 ...openssl-src_openssl_Configurations_10-main.conf |  18 -
 .../patches/patch-vendor_openssl-src_src_lib.rs    |  64 --
 .../patch-vendor_openssl-sys_build_find__normal.rs |  30 -
 .../patches/patch-vendor_openssl-sys_build_main.rs |  23 -
 .../patch-vendor_portable-atomic_no__atomic.rs     |  14 -
 ...target_src_spec_aarch64__be__unknown__netbsd.rs |  27 -
 rust178/patches/patch-vendor_stacker_src_lib.rs    |  15 -
 .../patch-vendor_target-lexicon_src_targets.rs     |  22 -
 .../patches/patch-vendor_valuable_no__atomic.rs    |  14 -
 rust178/platform.mk                                |  26 -
 rust178/rust.mk                                    |  55 --
 rust181-bin/DESCR                                  |  17 -
 rust181-bin/Makefile                               | 296 -------
 rust181-bin/buildlink3.mk                          |  13 -
 rust181-bin/distinfo                               |  56 --
 rust181-bin/files/install.sh                       | 971 ---------------------
 rust181/DESCR                                      |  13 -
 rust181/HOWTO-BOOTSTRAP                            |  85 --
 rust181/Makefile                                   | 721 ---------------
 rust181/buildlink3.mk                              |  17 -
 rust181/cargo.mk                                   | 115 ---
 rust181/cross.mk                                   |  83 --
 rust181/distinfo                                   | 169 ----
 rust181/do-cross.mk                                | 107 ---
 rust181/files/gcc-wrap                             | 199 -----
 rust181/options.mk                                 |  78 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-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 -
 ...et_src_spec_targets_sparc64__unknown__netbsd.rs |  29 -
 rust181/patches/patch-config.example.toml          |  14 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 rust181/patches/patch-src_bootstrap_bootstrap.py   |  46 -
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...tch-src_bootstrap_src_core_build__steps_dist.rs |  20 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  13 -
 .../patch-src_bootstrap_src_core_builder.rs        |  28 -
 .../patch-src_bootstrap_src_core_config_config.rs  |  45 -
 rust181/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 ----
 ...h-tools_rust-analyzer_lib_line-index-src_lib.rs |  47 -
 ..._aho-corasick-1.1.2_src_packed_teddy_builder.rs |  33 -
 ...-vendor_aho-corasick-1.1.2_src_packed_vector.rs |  28 -
 .../patch-vendor_bytecount-0.6.8_src_lib.rs        |  45 -
 rust181/patches/patch-vendor_cc-1.0.73_src_lib.rs  |  16 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 ...ch-vendor_libc-0.2.155_src_unix_solarish_mod.rs |  15 -
 ...-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs |  25 -
 ...tch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs |  16 -
 .../patch-vendor_memchr-2.7.1_src_memchr.rs        | 129 ---
 ...atch-vendor_memchr-2.7.1_src_memmem_searcher.rs |  79 --
 .../patch-vendor_memchr-2.7.1_src_vector.rs        |  15 -
 ...-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs |  25 -
 ...tch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs |  16 -
 .../patch-vendor_memchr-2.7.2_src_memchr.rs        | 129 ---
 ...atch-vendor_memchr-2.7.2_src_memmem_searcher.rs |  79 --
 .../patch-vendor_memchr-2.7.2_src_vector.rs        |  15 -
 ...-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 -
 ...28.2+1.1.1w_openssl_Configurations_10-main.conf |  18 -
 ...h-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs |  62 --
 ...endor_openssl-sys-0.9.102_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.102_build_main.rs |  23 -
 ...vendor_openssl-sys-0.9.92_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.92_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.34_src_lib.rs        |  25 -
 rust181/platform.mk                                |  31 -
 rust181/rust.mk                                    |  56 --
 rust182-bin/DESCR                                  |  17 -
 rust182-bin/Makefile                               | 304 -------
 rust182-bin/buildlink3.mk                          |  13 -
 rust182-bin/distinfo                               |  59 --
 rust182-bin/files/install.sh                       | 971 ---------------------
 rust182/DESCR                                      |  13 -
 rust182/HOWTO-BOOTSTRAP                            |  85 --
 rust182/Makefile                                   | 689 ---------------
 rust182/buildlink3.mk                              |  17 -
 rust182/cargo.mk                                   | 115 ---
 rust182/cross.mk                                   |  83 --
 rust182/distinfo                                   | 158 ----
 rust182/do-cross.mk                                | 107 ---
 rust182/files/gcc-wrap                             | 199 -----
 rust182/options.mk                                 |  78 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-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 -
 ...et_src_spec_targets_sparc64__unknown__netbsd.rs |  29 -
 rust182/patches/patch-config.example.toml          |  14 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 ...darch_crates_std__detect_tests_cpu-detection.rs |  15 -
 rust182/patches/patch-src_bootstrap_bootstrap.py   |  46 -
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...tch-src_bootstrap_src_core_build__steps_dist.rs |  20 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  13 -
 .../patch-src_bootstrap_src_core_builder.rs        |  28 -
 .../patch-src_bootstrap_src_core_config_config.rs  |  45 -
 rust182/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 ----
 ...h-tools_rust-analyzer_lib_line-index-src_lib.rs |  47 -
 .../patch-vendor_bytecount-0.6.8_src_lib.rs        |  45 -
 rust182/patches/patch-vendor_cc-1.0.73_src_lib.rs  |  16 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 ...ch-vendor_libc-0.2.155_src_unix_solarish_mod.rs |  15 -
 ...-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 -
 ...28.2+1.1.1w_openssl_Configurations_10-main.conf |  18 -
 ...h-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs |  62 --
 ...endor_openssl-sys-0.9.102_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.102_build_main.rs |  23 -
 ...vendor_openssl-sys-0.9.92_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.92_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 -
 rust182/platform.mk                                |  31 -
 rust182/rust.mk                                    |  56 --
 rust183-bin/DESCR                                  |  17 -
 rust183-bin/Makefile                               | 296 -------
 rust183-bin/buildlink3.mk                          |  13 -
 rust183-bin/distinfo                               |  56 --
 rust183-bin/files/install.sh                       | 971 ---------------------
 rust183/DESCR                                      |  13 -
 rust183/HOWTO-BOOTSTRAP                            |  85 --
 rust183/Makefile                                   | 690 ---------------
 rust183/TODO                                       |   3 -
 rust183/buildlink3.mk                              |  17 -
 rust183/cargo.mk                                   | 115 ---
 rust183/cross.mk                                   |  83 --
 rust183/distinfo                                   | 155 ----
 rust183/do-cross.mk                                | 107 ---
 rust183/files/gcc-wrap                             | 199 -----
 rust183/options.mk                                 |  79 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-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 -
 ...et_src_spec_targets_sparc64__unknown__netbsd.rs |  29 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 ...darch_crates_std__detect_tests_cpu-detection.rs |  15 -
 rust183/patches/patch-src_bootstrap_bootstrap.py   |  65 --
 ...-src_bootstrap_src_core_build__steps_compile.rs |  15 -
 ...-src_bootstrap_src_core_build__steps_install.rs |  13 -
 .../patch-src_bootstrap_src_core_builder.rs        |  51 --
 rust183/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 -
 ...h-tools_rust-analyzer_lib_line-index-src_lib.rs |  47 -
 .../patch-vendor_bytecount-0.6.8_src_lib.rs        |  45 -
 ...tch-vendor_crossbeam-utils-0.8.18_no__atomic.rs |  14 -
 ...ch-vendor_libc-0.2.155_src_unix_solarish_mod.rs |  15 -
 ...-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 -
 ...28.2+1.1.1w_openssl_Configurations_10-main.conf |  18 -
 ...h-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs |  62 --
 ...endor_openssl-sys-0.9.102_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.102_build_main.rs |  23 -
 ...vendor_openssl-sys-0.9.92_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.92_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 -
 rust183/platform.mk                                |  31 -
 rust183/rust.mk                                    |  56 --
 rust184-bin/DESCR                                  |  17 -
 rust184-bin/Makefile                               | 296 -------
 rust184-bin/buildlink3.mk                          |  13 -
 rust184-bin/distinfo                               |  56 --
 rust184-bin/files/install.sh                       | 971 ---------------------
 rust184/DESCR                                      |  13 -
 rust184/HOWTO-BOOTSTRAP                            |  85 --
 rust184/Makefile                                   | 722 ---------------
 rust184/buildlink3.mk                              |  17 -
 rust184/cargo.mk                                   | 115 ---
 rust184/cross.mk                                   |  83 --
 rust184/distinfo                                   | 166 ----
 rust184/do-cross.mk                                | 107 ---
 rust184/files/gcc-wrap                             | 199 -----
 rust184/options.mk                                 |  87 --
 ...compiler_rustc__codegen__ssa_src_back_linker.rs |  27 -
 .../patches/patch-compiler_rustc__llvm_build.rs    |  50 --
 ...-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 -
 ...et_src_spec_targets_sparc64__unknown__netbsd.rs |  29 -
 .../patch-library_backtrace_src_symbolize_gimli.rs |  14 -
 ...ch-library_backtrace_src_symbolize_gimli_elf.rs |  25 -
 .../patch-library_std_src_sys_pal_unix_mod.rs      |  14 -
 ...darch_crates_std__detect_tests_cpu-detection.rs |  15 -
 rust184/patches/patch-src_bootstrap_bootstrap.py   |  65 --
 ...-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  |  42 -
 rust184/patches/patch-src_bootstrap_src_lib.rs     |  23 -
 .../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 -
 ...h-tools_rust-analyzer_lib_line-index-src_lib.rs |  47 -
 .../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.158_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.158_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.159_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.159_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.162_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.162_src_unix_solarish_mod.rs |  15 -
 ...c-0.2.164_src_unix_bsd_netbsdlike_netbsd_mod.rs |  15 -
 ...ch-vendor_libc-0.2.164_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 -
 ...28.2+1.1.1w_openssl_Configurations_10-main.conf |  18 -
 ...h-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs |  62 --
 ...endor_openssl-sys-0.9.102_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.102_build_main.rs |  23 -
 ...vendor_openssl-sys-0.9.92_build_find__normal.rs |  30 -
 .../patch-vendor_openssl-sys-0.9.92_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 -
 rust184/platform.mk                                |  31 -
 rust184/rust.mk                                    |  56 --
 409 files changed, 27461 deletions(-)

diffs:
diff --git a/Makefile b/Makefile
index b36142f58a..cd54be86c5 100644
--- a/Makefile
+++ b/Makefile
@@ -5217,18 +5217,6 @@ SUBDIR+=	runas
 SUBDIR+=	runcpm
 SUBDIR+=	rust-analyzer
 SUBDIR+=	rust-synapse-compress-state
-SUBDIR+=	rust177
-SUBDIR+=	rust177-bin
-SUBDIR+=	rust178
-SUBDIR+=	rust178-bin
-SUBDIR+=	rust181
-SUBDIR+=	rust181-bin
-SUBDIR+=	rust182
-SUBDIR+=	rust182-bin
-SUBDIR+=	rust183
-SUBDIR+=	rust183-bin
-SUBDIR+=	rust184
-SUBDIR+=	rust184-bin
 SUBDIR+=	rust186
 SUBDIR+=	rust186-bin
 SUBDIR+=	s-nail
diff --git a/rust177-bin/DESCR b/rust177-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust177-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/rust177-bin/Makefile b/rust177-bin/Makefile
deleted file mode 100644
index 3205b49cb3..0000000000
--- a/rust177-bin/Makefile
+++ /dev/null
@@ -1,297 +0,0 @@
-# $NetBSD: Makefile,v 1.55 2023/09/28 12:24:32 he Exp $
-
-DISTNAME=	rust-1.77.1
-PKGNAME=	${DISTNAME:S/rust/rust-bin/1}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-DIST_SUBDIR=	${PKGNAME}
-
-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-*-i386
-ONLY_FOR_PLATFORM+=	Linux-*-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
-ONLY_FOR_PLATFORM+=	NetBSD-*-x86_64
-
-# 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.
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-earmv7hf
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-earmv6hf
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-powerpc
-
-# 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 !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if !empty(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 !empty(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 !empty(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 (!empty(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 (!empty(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 (!empty(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 (!empty(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 !empty(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 !empty(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 !empty(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 !empty(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 !empty(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 !empty(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 !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi)
-# Now only supports OS_VERSION >= 9.0
-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 !empty(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 !empty(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 !empty(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 !empty(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]*//}
-# Undo the powerpc netbsd90 thingie...
-WRKSRC:=	${WRKSRC:C/netbsd90/netbsd/}
-
-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 clippy-driver miri rls rust-analyzer rustc rustdoc
-	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 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
-TOOL_DEPENDS+=		patchelf-[0-9]*:../../devel/patchelf
-
-# The llvm utilities may need a specific libstdc++ version from compat80
-.  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 090000
-.    if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "earmv7hf" && \
-        ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "earmv6hf" && \
-        ${MACHINE_ARCH} != "riscv64" && ${MACHINE_ARCH} != "aarch64eb"
-DEPENDS+=		compat80-[0-9]*:../../emulators/compat80
-RUST_LLVM_RPATH=	${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib
-FORCE_RPATH=
-.    else
-RUST_LLVM_RPATH=	${PREFIX}/lib
-.    endif
-.  else
-# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there.
-RUST_LLVM_RPATH=	${PREFIX}/lib
-FORCE_RPATH=		--force-rpath
-.  endif
-
-.  if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
-      !empty(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/clippy-driver bin/miri bin/rls bin/rust-analyzer \
-	bin/rustc bin/rustdoc 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-nm llvm-objcopy \
-	   llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
-	   rust-lld
-	 ${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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust177-bin/buildlink3.mk b/rust177-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust177-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/rust177-bin/distinfo b/rust177-bin/distinfo
deleted file mode 100644
index 4ca567bdef..0000000000
--- a/rust177-bin/distinfo
+++ /dev/null
@@ -1,53 +0,0 @@
-$NetBSD: distinfo,v 1.29 2023/09/28 15:57:26 gdt Exp $
-
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-aarch64-apple-darwin.tar.gz) = d8bf679b51935ee0747c6d10262c5613983bca3f39f44eef91cd2023e76decc9
-SHA512 (rust-bin-1.77.1/rust-1.77.1-aarch64-apple-darwin.tar.gz) = 222abeed0bbf345c092ebfb29bef945472a3d4185f6e4a4396e3633c778997a6f84aed218d572c06076b628d7f636f8aeb6ee7b3631bd2036322013413497c92
-Size (rust-bin-1.77.1/rust-1.77.1-aarch64-apple-darwin.tar.gz) = 247110037 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-gnu.tar.gz) = b3003ba3411016f9188794eb7c6a5606c101676a205f6bffbb55abffb76c443b
-SHA512 (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-gnu.tar.gz) = f1a360085f9d0b3dba1073ff3d69e8bc6c0de51f10ee40ab8188af2404e33d22149eb6b022cdfa76b71d9f5269a84f31644ddbbdab92e5c89b8f0be82dbb435d
-Size (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-gnu.tar.gz) = 454833434 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-musl.tar.gz) = 8d56f043eab8f55d026c5c13c0e4b8a2da692ef8519e029bc1ae086d8631c306
-SHA512 (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-musl.tar.gz) = b86c515b3b1bcc6c977694d2f4fa57664d3e769d31a381dced39c81d4486a5a28a63085fee16f39eda7dcd01daf946ce2aa674e09ea50658fb913e4200604a6e
-Size (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-linux-musl.tar.gz) = 364392450 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = f417cefa62957fa377ad1127060c0ec78c62c98a844dcde0f0f0ff75cabce44f
-SHA512 (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = 3f19d1da1631e2dc5918dccc2baa24e361739adc7fde9385950ba865c48a1d2645ae4a4cf25f9da1246f04b0fbb8a0c972f304c5bf51c5a312df0f5bb72faca7
-Size (rust-bin-1.77.1/rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = 161209772 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 5423dd837f47538992a67313a83983b583148f670f561da1d2a256fc98b5e24d
-SHA512 (rust-bin-1.77.1/rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 449b8520f0904e15163e6a55bec5dcdb18c0e423b6dd2450f99dd061edcdbd33e9c4fe5dc874ab09b4efabd6199f9ad595f13ecd4d69d708c68f9fc54c1da6c4
-Size (rust-bin-1.77.1/rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 159858112 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 0636a7163287b690b93bcd81db0999777cb8bf21a59062a0fe60e050e178aaca
-SHA512 (rust-bin-1.77.1/rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = d68ef8f00f0d55a1bfce14a2878774259aca722d43c6e9ce7f8ebd6dc540393c84d3943f7dda9a79b240c12d87a9deb7d8a35b690bdef06a12434b8619a82e91
-Size (rust-bin-1.77.1/rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 139224332 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 58deb97caa4c3dcb2fb92cbd4ee5ba873292657b1b361ceeeeabad5d84134dca
-SHA512 (rust-bin-1.77.1/rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 94b8037e105e24fb716f35d30f6fbd19b8dc068303dfef0bb0fdb030da753633eb129d92ee6fbcee86429b2cad28af4a880de6b18ce1917b4163346b4d01f2ef
-Size (rust-bin-1.77.1/rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 139373196 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-i586-unknown-netbsd.tar.xz) = ec8824e5faf40055491a5f0346f856b125a0c9875782af941165fb9c02a3c642
-SHA512 (rust-bin-1.77.1/rust-1.77.1-i586-unknown-netbsd.tar.xz) = ea3238fcf820aff0733abc1d6c1ce6ad3cb55c5e45e5e8f6bb074b1a1e655fd9aaff1c1eb71aea980f5ebb9560ce809dbd58d539849033173db3aee064efdca7
-Size (rust-bin-1.77.1/rust-1.77.1-i586-unknown-netbsd.tar.xz) = 175473176 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-i686-unknown-linux-gnu.tar.gz) = 4bbc54fd126e3df05cbbfd791b85cce6387262b41fe92f5d17ee747303ba3a9a
-SHA512 (rust-bin-1.77.1/rust-1.77.1-i686-unknown-linux-gnu.tar.gz) = 5337741962d7b27655d97a57dfb3bea956a961a581e15fe3a8705c294761b3e3299d03d9ed1cc6aeaac41090dcb63d15fc72753cbec9ce3249255ad688f57004
-Size (rust-bin-1.77.1/rust-1.77.1-i686-unknown-linux-gnu.tar.gz) = 405924803 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = 45dac0770622c7fadf825f5b37b8d7386d62aa11fd38c0b98b7c3eca79ccb577
-SHA512 (rust-bin-1.77.1/rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = f5e995ab0ec24ef03232606385f57120d61529fe51003d1978cf23bec4773ee9796d23ca517fe1cd79753540a305e42e5b640856daf6e5a0835deaeaa8cb2603
-Size (rust-bin-1.77.1/rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = 187015936 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 75100a68d7a1bb05f4e973e36dd23c1e678f222c17277eb786531a4c06b4521c
-SHA512 (rust-bin-1.77.1/rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 08d82d4bc0f3cd5478733adb69e67ef177a935b38e5d66adf7a99ceb4bed6a61b04367bd69ae1333df2614806104834d84f58b40e38acf713936dbb77635e490
-Size (rust-bin-1.77.1/rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 172460240 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = f45da067891765b9ea3ae4558769ba59042deeb61e90f378626ca55a5e2b3065
-SHA512 (rust-bin-1.77.1/rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = d81ff19d0f47a57c5cd97bdc2f69979aa8d90a105f65d1403e9504964dddc59af10da078a54956cdf6e24d1d1df0b12c938609c640dcc95e7c4d2be5c2a197ce
-Size (rust-bin-1.77.1/rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = 156139656 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-x86_64-apple-darwin.tar.gz) = d3a3bca3a229bbe213def197f007649f07a3f8d0cf22e704f0ebe0e2b1fb084f
-SHA512 (rust-bin-1.77.1/rust-1.77.1-x86_64-apple-darwin.tar.gz) = 4081277575f924d13b3eb149d603db2eb12a30fa7d81b8582b4a7258b0e6949127518f7cd11fffd3022c7d886bc43ba74033ed207fc283a09a6ec08130a74f49
-Size (rust-bin-1.77.1/rust-1.77.1-x86_64-apple-darwin.tar.gz) = 328029997 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-freebsd.tar.gz) = a1653fc0296df40473ce3f11cad4dd8211247de6213dd22f712076a70307f348
-SHA512 (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-freebsd.tar.gz) = ffe500095be8f1ba3fbbdbe0b051a3f7b718a496c1a74d38efb22551d4d4a364f92955b8dfa87851a65f11b5f9a76d8da4decc3550be107ff85826132737e40d
-Size (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-freebsd.tar.gz) = 304128728 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-gnu.tar.gz) = 4778ccf5ad2b068a9fdbde992cf87382eab729f9126a97a44cb6a2b384e6cb6e
-SHA512 (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-gnu.tar.gz) = 7c959172afbef4787f22cb0f8d931c1867e1f63832d00561dd4c78d94ff73e004567855e3e9a76faf4262784e27474512c28789ecb2cbb5f6fc88068756604ee
-Size (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-gnu.tar.gz) = 317251139 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-musl.tar.gz) = be65247cbfa9b69c2c5ce49d540d5eefa865375f57393236f7a5630540820a3d
-SHA512 (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-musl.tar.gz) = 90f409c104dc29c877290d4429ee9dca73ef45ee03d0d34dc3d1ba2d075f58e26e6344e5b3d54c2154e88a6b263f4070aa14d9c1c92b71479ab0a1024d1a21a9
-Size (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-linux-musl.tar.gz) = 444962804 bytes
-BLAKE2s (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-netbsd.tar.gz) = 312a6d6ed9468a2913885b43a4aa7e2a54cf80f4685823955c490c9833ecd8ef
-SHA512 (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-netbsd.tar.gz) = c9b2c526be906787316feffe1e9a4c258753a8f6a9cb1927ed074704ce9d14d5a614520f0fb680ad21768bc22ef67e5f9627ea01824bdeaa165a1746a022f76e
-Size (rust-bin-1.77.1/rust-1.77.1-x86_64-unknown-netbsd.tar.gz) = 281395494 bytes
diff --git a/rust177-bin/files/install.sh b/rust177-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust177-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/rust177/DESCR b/rust177/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust177/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/rust177/HOWTO-BOOTSTRAP b/rust177/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust177/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/rust177/Makefile b/rust177/Makefile
deleted file mode 100644
index 4f0336137a..0000000000
--- a/rust177/Makefile
+++ /dev/null
@@ -1,690 +0,0 @@
-# $NetBSD: Makefile,v 1.284 2023/06/19 14:46:47 bsiegert Exp $
-
-DISTNAME=	rustc-1.77.2-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
-
-# The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't
-# build on 7).  Mark earlier versions as broken.
-BROKEN_ON_PLATFORM+=	NetBSD-[1-7].*-*
-# Bootstrap is built for NetBSD 9.x on these platforms:
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-*arm*
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-aarch64
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-sparc64
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-powerpc
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-i386
-
-HAS_CONFIGURE=		yes
-PYTHON_FOR_BUILD_ONLY=	yes
-CONFIG_SHELL=		${PYTHONBIN}
-CONFIGURE_SCRIPT=	src/bootstrap/configure.py
-CONFIGURE_ARGS+=	--prefix=${PREFIX}
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
-CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
-CONFIGURE_ARGS+=	--python=${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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# Rust builds some bundled components with strict version requirements, ensure
-# that any conflicting packages pulled in via dependencies are not buildlinked.
-BUILDLINK_FILES_CMD.libssh2=	${TRUE}
-BUILDLINK_FILES_CMD.xz=		${TRUE}
-MAKE_ENV+=			LZMA_API_STATIC=1
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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/android-sdk.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/debuglink.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/run.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/core/src/unicode/printable.py
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/build-std-detect.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/dox.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/run.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/style.sh
-
-CHECK_PORTABILITY_SKIP+=	tests/run-make/dump-ice-to-disk/check.sh
-
-.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.0
-RUST_ARCH:=		x86_64-unknown-illumos
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-SITES.${RUST_STAGE0}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-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.76.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.76.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.76.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.76.0
-RUST_ARCH=		powerpc-unknown-netbsd
-
-# Cross-built against NetBSD 9.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-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.76.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.76.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.76.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.76.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.76.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.76.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.76.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.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/libc
-CKSUMS+=	6d0ed494ac7d7b2d4bc63bc913cf21df8f625ce57b5d4aa490c5457c772cb979
-CKSUMS+=	4d4b8d1e41d432c8b346ac1b3a8fd607be466999df0669c1beec3ccab5fa4d9a
-
-CKSUM_CRATES+=	vendor/cc-1.0.73
-CKSUMS+=	38970d678de0efb4b5e2978265daa8a613a1db35fc42e669621b03fc56d5b138
-CKSUMS+=	65de0d6593a4256e5fcaf898f9468d71bab672c70a2dfab3dcb8514e9b72819c
-
-CKSUM_CRATES+=	vendor/cc
-CKSUMS+=	cdf0c6dc4e12ad313fb93ab42f994e26c7e5aaeb07ca61620032d8f4014dacd0
-CKSUMS+=	2344d4cf113fe2fb8925ca5621c60daabcf967186b24f0551c777fb284755493
-
-CKSUM_CRATES+=	vendor/lzma-sys
-CKSUMS+=	6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
-CKSUMS+=	5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
-
-CKSUM_CRATES+=	vendor/stacker
-CKSUMS+=	59ca847887cf19387119d18c57f08d5a8520d714876ca0142b8f1c001ecde06b
-CKSUMS+=	03be8ae293b713fe6e9703e4809dd68caaec992bae6777914ffddae8da2a9bc7
-
-CKSUM_CRATES+=	vendor/crossbeam-epoch-0.9.15
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.16
-CKSUMS+=	5f75132808d9e8d6e266fe77f9e20bbc35855a1c37a5dbc0940b3e989bca1a94
-CKSUMS+=	6a23e8a00ef6410a009a662198f3fd5521308263bf08ba663ca49a96b2c3f179
-
-CKSUM_CRATES+=	vendor/openssl-src
-CKSUMS+=	c87f041ff9ada85cddcb2a787788e05b2ab5ffc0a85f502fe7e3f7cbda59d49c
-CKSUMS+=	67b877964bc0e40c84669c423818a3cb39501eaedfc3f5caf9c33d4779c3d03f
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	ead7bdeee121f1357b99741b175a564c8b7026f694cbc388aae2a86b3bae913f
-
-CKSUM_CRATES+=	vendor/nix-0.26.2
-CKSUMS+=	c3e13a2edea54d190a4b051f62efc97953c00b5051a9fda0e39e3bc732a31939
-CKSUMS+=	263bd7ace66a4cfee3de18532f61c187327fcbd564666b4f97c4b01ae6885d98
-
-CKSUM_CRATES+=	vendor/aho-corasick
-CKSUMS+=	840065521cbd4701fa5b8b506d1537843d858c903f7cadf3c68749ea1780874b
-CKSUMS+=	626ce9b45dfded3d2eaf795a1d86be765a7d63eb4bcaf9d7b89add6f686f7ede
-CKSUMS+=	720735ea6c7ff92b081426513e6e82feed24a922849297bb538d28f7b8129f81
-CKSUMS+=	3a5d88cf1ce02dc1bc06aa7d7aad0fa6d63ca45246a47ebeae43b48544065dcc
-
-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
-
-#
-# 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;						\
-		${PYTHONBIN} ./x.py -v					\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${PYTHONBIN} ./x.py -v					\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${PYTHONBIN} ./x.py -v					\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
-
-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-17.so 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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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*; 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/rust177/buildlink3.mk b/rust177/buildlink3.mk
deleted file mode 100644
index 1e4c6a9c9d..0000000000
--- a/rust177/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.6 2020/07/08 14:46:14 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust177/cargo.mk b/rust177/cargo.mk
deleted file mode 100644
index 1181957f5b..0000000000
--- a/rust177/cargo.mk
+++ /dev/null
@@ -1,110 +0,0 @@
-# $NetBSD: cargo.mk,v 1.35 2023/05/16 06:10:52 wiz 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
-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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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
-
-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} ${PREFIX}/bin/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} ${PREFIX}/bin/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/rust177/cross.mk b/rust177/cross.mk
deleted file mode 100644
index 2984a3d058..0000000000
--- a/rust177/cross.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# $NetBSD: cross.mk,v 1.3 2020/07/16 09:35:37 jperkin 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-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/rust177/distinfo b/rust177/distinfo
deleted file mode 100644
index bedea39dcc..0000000000
--- a/rust177/distinfo
+++ /dev/null
@@ -1,163 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.76.0-aarch64-apple-darwin.tar.gz) = dfb3791161a7af45da105e018cc2b4f2597c8a4e65de24cd7c60b109ec3287e1
-SHA512 (rust-1.76.0-aarch64-apple-darwin.tar.gz) = b6397cd4c247be029b88d5353d6bd681b1e6dbf16d93ae782af13f7de8c791b0adb73ea17730fa62053e62dfe74f3ab7533005dfe80ca6c128539ac0f2e2dd5e
-Size (rust-1.76.0-aarch64-apple-darwin.tar.gz) = 249531855 bytes
-BLAKE2s (rust-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = 0fd32be80b5886deee6fcda864e95a8fbc0fe5902d93d91c767f0752172cc9ef
-SHA512 (rust-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = eccf96573009538a8fddbac2c4340e7fe9a1b0b40f51a393f4d48eaa1558dd288c710b76327395a3bd5c9ab952c7dfe5e3624f36697c7857bc8ff832712d2e4b
-Size (rust-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = 461921893 bytes
-BLAKE2s (rust-1.76.0-aarch64-unknown-netbsd.tar.xz) = 0f7124b0c6a73947ddf76819af7fe692a185c96b139ae5fcc93ab29a483c40b5
-SHA512 (rust-1.76.0-aarch64-unknown-netbsd.tar.xz) = d1f8f749e5483ee8f375c03e1461dbc44700764eea1b70a3605eac4631c292a19e409dd1cba45f5d31c90b44b5dc8912d59c1d4d968106e3bd808d9725e23969
-Size (rust-1.76.0-aarch64-unknown-netbsd.tar.xz) = 163239404 bytes
-BLAKE2s (rust-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = 0905eba5bb9d1dfdce3f169f415b7e915639d8ffdb0fb7ac3653f0ebf5d43da9
-SHA512 (rust-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = f40935108fc5789dd28d4d02e2351e68d492393b0eb52fc4e0a9c8fc48d60eb4c5c32a30fb14c8f5e97a7bc4a6cae5cd4195b979da497589904661cc0a70091d
-Size (rust-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = 162427248 bytes
-BLAKE2s (rust-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 94ab0749a1f6f2903fe53bd297e4464eea3d7a0afc63affff63646e82fb2d188
-SHA512 (rust-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 30abdda55f57642ad764318141d8117a0951fd2029242be030f020080d53b5bb2f72fa0e071d384ef5f2a70bd264d85171030cd3e6aea1e38bcbc38df3370b12
-Size (rust-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 351206305 bytes
-BLAKE2s (rust-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 27f9852b2fda9b9f421984d09c275b09fa13c9dca22131f741d55f31cf1c41d6
-SHA512 (rust-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 4b8771f4dfb77a437e70bddd11c7c7f3011a05278a7f5ee68384777f0674d7a89a5d65adaf18aeef73c3f36d1a9d9c0c85018cc4fdbf3ba4cca00b21d6a36bb0
-Size (rust-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 138929352 bytes
-BLAKE2s (rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 426d4a55826edd56de1e628cb61ceaae6f1a36283d1654ffba817e856585ce48
-SHA512 (rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 85624b51566f07674b8ef952a472abbe9b00b548f8850f897a1f023c40f6b03f13ab95e3b4eb2ed9eb9306e2eedfbe90acf8a4384bd86f531fba664d353cb246
-Size (rust-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 340350695 bytes
-BLAKE2s (rust-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = 402b541df35624c18cf3fb71375878c890886a2344c777f48727e4e4091bd532
-SHA512 (rust-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = 5616ab86b3a9fc3eaea90404e7f3683142550cc69beba3a31ad05ccbb02323890164d49dde95bc5d2752f2fa1ebf0f674faa00d1ef70bfa8e484a1e62638b402
-Size (rust-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = 140850720 bytes
-BLAKE2s (rust-1.76.0-i586-unknown-netbsd.tar.xz) = 2699932e5fc3ea5de153d5eb878613c0dabdb0e23f20511968822cbf8a0bf27d
-SHA512 (rust-1.76.0-i586-unknown-netbsd.tar.xz) = ffb338ceb593308db86ce436f769a8da00d16dfe830bc6708cea012d7df8f90c01f55cf01ae9397573802f903c25d801bd8be354221a2e57ef77e2bbdd73deb9
-Size (rust-1.76.0-i586-unknown-netbsd.tar.xz) = 176714704 bytes
-BLAKE2s (rust-1.76.0-i686-unknown-linux-gnu.tar.gz) = 0c6a16c0a8f43260118d159947ddcf575662cc1f11c4b98d3ee49f952bfc8fa9
-SHA512 (rust-1.76.0-i686-unknown-linux-gnu.tar.gz) = 015f8fa17dcac31dd14c0d5125a1e2fcc199a6660628fd8b1a1c79ef3ed4225164443a1003dd480464cd49145461f58a64624e82dd991676771315e40ea17eff
-Size (rust-1.76.0-i686-unknown-linux-gnu.tar.gz) = 411504411 bytes
-BLAKE2s (rust-1.76.0-mipsel-unknown-netbsd.tar.xz) = 21a0939dc9fe2f7aa2a8d26a0aee021759a80b3256cea773d0c0087faf2aee4b
-SHA512 (rust-1.76.0-mipsel-unknown-netbsd.tar.xz) = b725b18e012fa80e389cbdef02a5795a1ba7c8ba0970ca921d329978e41661a1982c00a9437133588a3d287197ec9b03b6092e84503f275933a76976adccbfd9
-Size (rust-1.76.0-mipsel-unknown-netbsd.tar.xz) = 141716928 bytes
-BLAKE2s (rust-1.76.0-powerpc-unknown-netbsd.tar.xz) = f8d7fbac7022bb62ce9af91bdb1178f8a6b24163b91b44eca413d29f4566d0fa
-SHA512 (rust-1.76.0-powerpc-unknown-netbsd.tar.xz) = 059b9c5ed203927c10dee83d97fb5a1b467c580bfa6faf3785d346f0936d1cda068b7a9cd9df4de768ebf3e92b1e5b9bf5a638d76b4fe639e6bb45a466e0ff30
-Size (rust-1.76.0-powerpc-unknown-netbsd.tar.xz) = 187410204 bytes
-BLAKE2s (rust-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = babe8e98cd6634e9a794c0da6a8b1ea0b6a0ff12648097e3102a7ec526d3dadc
-SHA512 (rust-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = 0e4ae84e1619919267d40075c54e9b0579ee9afde186a18d1f8401129217cf4fdda2ccfd10f57c4eb5d50e02b468a32bca97d1eef66defa9378260a9994ee6c6
-Size (rust-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = 173937160 bytes
-BLAKE2s (rust-1.76.0-sparc64-unknown-netbsd.tar.xz) = a542cec1f08307e7cebf9386dc7aa48fb8e02eec3df342203a371e3de797f617
-SHA512 (rust-1.76.0-sparc64-unknown-netbsd.tar.xz) = 5cdd98d845fda899430969f46116b3f94b16a91394af72ef4d5fc4df2eb6b611a897efc542710c734e701adaf9392aadd3ee2fa512bd2b3e368b8649a82ad4b8
-Size (rust-1.76.0-sparc64-unknown-netbsd.tar.xz) = 158099720 bytes
-BLAKE2s (rust-1.76.0-x86_64-apple-darwin.tar.gz) = 29e091e5e295a92728612a37abb9625d3f5dfe1f7c351cdd87a38940ef90a3a0
-SHA512 (rust-1.76.0-x86_64-apple-darwin.tar.gz) = 35823b826f9978f8ff9d44ac7df8e3bc4646651f07ece56fe92d305e53dda5d80288d055b6050ef92cf42b5bda18892adc677e6eb63795693572db407c97941f
-Size (rust-1.76.0-x86_64-apple-darwin.tar.gz) = 328963201 bytes
-BLAKE2s (rust-1.76.0-x86_64-unknown-freebsd.tar.gz) = d95c3d265fb6bc48eeaff9e5f9ff8692b0716429d45887a0dc82633288256878
-SHA512 (rust-1.76.0-x86_64-unknown-freebsd.tar.gz) = b87aa7d981cc039dcce713702b58dfb78412b4f912a40c67dc9128bde832c681909791516da27536c536075cc1621b2249d6278f2907f4825e6b17122f2c9edc
-Size (rust-1.76.0-x86_64-unknown-freebsd.tar.gz) = 312059401 bytes
-BLAKE2s (rust-1.76.0-x86_64-unknown-illumos.tar.gz) = 1a65c18867c7130710b2eb63c243cd4f6f0e2d809fddcbd0e4cc0a6a4f06f27a
-SHA512 (rust-1.76.0-x86_64-unknown-illumos.tar.gz) = 430b8330b2e7335b0a459c02aadb1c9af31dc2905348e78d4a854517c08628ce22624598103cb6d836fdfcabf388b253b9e15d61f718f7ab4586e20d4b0cd9f3
-Size (rust-1.76.0-x86_64-unknown-illumos.tar.gz) = 212187293 bytes
-BLAKE2s (rust-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = f5ea832a1e58fbc9b9cf31dce3057d4bf899c365f0bdec24e4302660da8ffb1d
-SHA512 (rust-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = 36233a5d5c121e08afa692a5af9f438022167bc782c8e147162ec3814c715ab3e22a916d5143aeda3629addc8cf5b99a794eb94219d6e9e350c054f9b339a865
-Size (rust-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = 323520820 bytes
-BLAKE2s (rust-1.76.0-x86_64-unknown-netbsd.tar.xz) = 1e76858a33cb30316f5318ab270ae3ea11e7e3d365e0368afabd10116179897a
-SHA512 (rust-1.76.0-x86_64-unknown-netbsd.tar.xz) = 10c9816cf7bbc014b26c82b133d80f5a6b0d4881eb25444db4e0b6c90a65b1414cf7613607e8619a585735fab069078fe17fda4198568e8ae5ab05353a98ce66
-Size (rust-1.76.0-x86_64-unknown-netbsd.tar.xz) = 154011760 bytes
-BLAKE2s (rust-std-1.76.0-aarch64-apple-darwin.tar.gz) = 4ce8d67029e1a2df7ddbbdd8a7cd8b3d30357d9d3d88edcf474bc967f42d535a
-SHA512 (rust-std-1.76.0-aarch64-apple-darwin.tar.gz) = f58d8cf4396a1a3988b76273c2016a1d98af2f18f51e0f7dee8c62f3ac2ecc0c3e40ed21de21dce92c6bd2aaefcf05cde3dfe5029a209428a2f709253b120177
-Size (rust-std-1.76.0-aarch64-apple-darwin.tar.gz) = 40701506 bytes
-BLAKE2s (rust-std-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = 670267cb635dd130bca9466c1b0a9859adfc6a1d4caf1190d84ef4092c91fd2c
-SHA512 (rust-std-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = ecb8a111f6cb896852b87991bc2a0ddb7cb28854f5b8060a90d2ed5b6c80fa8eac4381c3e13240f57775d96cf2c26f2bdebdfad805fa7ae1d3c7fde06ec1a915
-Size (rust-std-1.76.0-aarch64-unknown-linux-gnu.tar.gz) = 65423543 bytes
-BLAKE2s (rust-std-1.76.0-aarch64-unknown-netbsd.tar.xz) = 108dbf4a0f403a23a9bafe7dc5abf4a507b983d2280142814fa082234e3455ff
-SHA512 (rust-std-1.76.0-aarch64-unknown-netbsd.tar.xz) = b669a3abc22f9da7a6884a15df25f5c5abd0dc136cfb134ea811ce7816e56aae5e331f037832953f782484f331e14f3709bd5309a23ee444f3a3bc102a23af52
-Size (rust-std-1.76.0-aarch64-unknown-netbsd.tar.xz) = 22758656 bytes
-BLAKE2s (rust-std-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = c4d87b7b017e2d128aea00c42bd1a6ef1021ff2aec90f13884853f9c74bd99cc
-SHA512 (rust-std-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = 97126e477e70ef0bd66301b959f9be425089d91cb837dbbc30ce81f61dacd8dade857a170d0f522b956d47e509bd83081ac1bfe2a1bac332036fdfa612d315ec
-Size (rust-std-1.76.0-aarch64_be-unknown-netbsd.tar.xz) = 22772392 bytes
-BLAKE2s (rust-std-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 99c739ced0a6b6962c5f5ef4c59ec5b8cdfbbcb2dfeeae9d9d9ff218d5ca61e1
-SHA512 (rust-std-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 4f5cc9de596e2cb28627b2507bb03d7f0e6b44e59eb59d6b9d154335de62327f617288ba5090abde3d9ab121aa093a5ad2e2b2e8d40abc499d5aee9255f4f177
-Size (rust-std-1.76.0-arm-unknown-linux-gnueabihf.tar.gz) = 37555859 bytes
-BLAKE2s (rust-std-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 4d7d189171cf1e696cb86c955f58f9a348c2a247b274bd7988f26df8f82987b8
-SHA512 (rust-std-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 44c50d09bfaf89b9bf4c1eb4a8bf7dc939d5905669dc42c28ce03a6113173b3f18bf830861ddc5b1d5d26ccb6c84d4f061905307f938c2511f8ad8f386b68c98
-Size (rust-std-1.76.0-armv6-unknown-netbsd-eabihf.tar.xz) = 21187880 bytes
-BLAKE2s (rust-std-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 78e87d5397eef33f5f6201dc5f644754fe412976d5bdd64e23c7a89d8c9b5fb1
-SHA512 (rust-std-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 52e34b9c89706e4bcf00a3466b34e2e1d25e10702f764cbc1519203893a2617be92177fe8e78339f01dc32e2f839c1c708214f23e0a1d9c787a4f337e78c3a64
-Size (rust-std-1.76.0-armv7-unknown-linux-gnueabihf.tar.gz) = 38942157 bytes
-BLAKE2s (rust-std-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = e3df3e21b8d74fdb32f9bf3f6e8ff57745f9e6b507cde064c091694ef050875f
-SHA512 (rust-std-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = 17da556992d8bf5b1de3fdfeb2165e59ad4f5c217a771adc0b8d2452e6afd0f35f5bbca0253724092da6e914799260d65be6ed0df73b850c2f398ff169ac7f16
-Size (rust-std-1.76.0-armv7-unknown-netbsd-eabihf.tar.xz) = 22150544 bytes
-BLAKE2s (rust-std-1.76.0-i586-unknown-netbsd.tar.xz) = 314594d503d177e2d8e4b829c9306a56e2811ba13c2016e926c11e277689d65d
-SHA512 (rust-std-1.76.0-i586-unknown-netbsd.tar.xz) = 007d5d525031622428846961e5d2cd7c8221ebca0af3ef5f2e7561baadb13d57771c8ea623ddd8c5cb394676500c74d0aa564b126862ec11293e6056d3eb3019
-Size (rust-std-1.76.0-i586-unknown-netbsd.tar.xz) = 23244088 bytes
-BLAKE2s (rust-std-1.76.0-i686-unknown-linux-gnu.tar.gz) = cab5253da68cfda65132872f2ad9d8a50293a5dfcd7125e3dfb154f3b777a40d
-SHA512 (rust-std-1.76.0-i686-unknown-linux-gnu.tar.gz) = f9421d6c1a6247968f1901bfa7345d6824387c0af0829bfc3b462556a4157e823eb77253e27b2a005fea8790aa1c041ecc6e4b05969304b136e4be483079ecc2
-Size (rust-std-1.76.0-i686-unknown-linux-gnu.tar.gz) = 40908567 bytes
-BLAKE2s (rust-std-1.76.0-mipsel-unknown-netbsd.tar.xz) = be138dcfe019c27c1a181f49f65af1f25db523cdf084c2e08cb3681fac8f9fec
-SHA512 (rust-std-1.76.0-mipsel-unknown-netbsd.tar.xz) = 96f47256534ee3c507ea462ea97edfee955ba35353791b4803f4d07eb35afb3ee0c22e86e7d44624262cf70242843c3b6c89bdd465293653bd66364205a1b5b8
-Size (rust-std-1.76.0-mipsel-unknown-netbsd.tar.xz) = 21202076 bytes
-BLAKE2s (rust-std-1.76.0-powerpc-unknown-netbsd.tar.xz) = 8e7cf08bd61d39f2e2aadf373a77fe3c58134a829cb41ea9fa5aae3d3074eabe
-SHA512 (rust-std-1.76.0-powerpc-unknown-netbsd.tar.xz) = 360c14c57681ea8d8275b5d2c254a2d01e32b6a1a30da7340f3fb74b9870c29a0543d2383fb3748a2c036d827c0a7dd1ad0844035f257a0f9b75c11eec2ec3f6
-Size (rust-std-1.76.0-powerpc-unknown-netbsd.tar.xz) = 21303968 bytes
-BLAKE2s (rust-std-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = e0b8ec07a6aac55db5ec812c9dcd42bd16903d68801bc34d556b645508e91036
-SHA512 (rust-std-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = 085a0d87b58500ea266524071888a43a378684e1ef34c37ccfabf212b6de06057cd0fd27475bb2755c853ff3cf79a223965a183e5a0b9adf286fcc0b311e0b6a
-Size (rust-std-1.76.0-riscv64gc-unknown-netbsd.tar.xz) = 21217684 bytes
-BLAKE2s (rust-std-1.76.0-sparc64-unknown-netbsd.tar.xz) = 34807d7cba9f5bc6afd99c599123967d7cc0ac6dba9b960e485081aca91d4522
-SHA512 (rust-std-1.76.0-sparc64-unknown-netbsd.tar.xz) = 788af560f76b7daa7e5292f347d76461ff93e3777f893811c9efb5cb03556f4d29e9fb973925b8c983d9bdaa9d2f029f71e8cb467f6a5876f1d1f817f5d6450d
-Size (rust-std-1.76.0-sparc64-unknown-netbsd.tar.xz) = 21125564 bytes
-BLAKE2s (rust-std-1.76.0-x86_64-apple-darwin.tar.gz) = 254d2d1fe8ba32434211789af5e278b8d38c7743f76c41c6c5cf3d073acd6161
-SHA512 (rust-std-1.76.0-x86_64-apple-darwin.tar.gz) = 64faece127b29a8cd4936ff470463cab297fa8b830e683a1d2852bc4d531be170ef1cf77b3cac256a36374a330172f373ee1f6e6887a3cadff23e163c4eeb8f8
-Size (rust-std-1.76.0-x86_64-apple-darwin.tar.gz) = 42449536 bytes
-BLAKE2s (rust-std-1.76.0-x86_64-unknown-freebsd.tar.gz) = e366f0f1275fa7306532cfb59b74bd8f88d96507be1a4e969997dbe4d0045863
-SHA512 (rust-std-1.76.0-x86_64-unknown-freebsd.tar.gz) = 3a9bea4ae20f986da23bd3f107695b0c43211d65086f90809d184803c7ca33e207ae297fee11cecef84b5d20c256840f9e118228d478238d96f02ead8ef2bc58
-Size (rust-std-1.76.0-x86_64-unknown-freebsd.tar.gz) = 43856764 bytes
-BLAKE2s (rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = dce98a5b8eae111b9b83d8748d150a0d748b1dda7e53ae39fe18bf4cc6799087
-SHA512 (rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = 4fbe86690724fcfc7317be91160a9b8d79b0a5770d1a075ac7c989c0e85a785e4442553a65f4ec6c6d37261c650b28c82b75eaf13c1077e758d507118249c2fd
-Size (rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.gz) = 45706132 bytes
-BLAKE2s (rust-std-1.76.0-x86_64-unknown-netbsd.tar.xz) = de7559717a71a414a18d64d4ad57b46d68ab0ee839a9189acb3dd871458096d6
-SHA512 (rust-std-1.76.0-x86_64-unknown-netbsd.tar.xz) = 1a33dbd749670aa3e5c7058195f531a99a8aabb9d3d361b575ace557d1b9bc1ec7b8b8730fee6e691844f40b010f1d6cbb2c99187a2ce3cba342d78d56456c16
-Size (rust-std-1.76.0-x86_64-unknown-netbsd.tar.xz) = 23563656 bytes
-BLAKE2s (rustc-1.77.2-src.tar.gz) = 1fe5195de45b67eea56e1fc9b154ab8ebec3ede81c3adb01a5718ca0b9e479f1
-SHA512 (rustc-1.77.2-src.tar.gz) = 5a0991228295aff585aba5c79344150bea49565a938bfabc61f564d736b7bfeb50593b1f2e448de1bd16b99ebccabf97c6e6091bc723536e6f733c135fe46c79
-Size (rustc-1.77.2-src.tar.gz) = 301987122 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 6c8f8bbacc544b63b20a9546ffe8ca5d74b6f4d4
-SHA1 (patch-compiler_rustc__llvm_build.rs) = a4a66d449fc9eb99d648d02a041778a68f4f7ce8
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = 7d910631f49acf2c33fdd191fd3e0f261efae234
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = a22b5d28997ed9a5565deec9c34322165d563d00
-SHA1 (patch-compiler_rustc__target_src_spec_targets_i586__unknown__netbsd.rs) = 8dff96d99e5f774adeb7c41eabcc3b8737a18b09
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs) = d38c3b43656917e60312a842e6a0c37776bbd5d0
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 1ab343595e65ff6348f83cffc30e53d764485ff8
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-library_std_src_sys_pal_unix_thread.rs) = 74a04665236d8c13378f6ced00c37325aaba8b22
-SHA1 (patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs) = 9b073ba37a644c5094c48f33e49578ac026e16ff
-SHA1 (patch-src_bootstrap_bootstrap.py) = 5cd73003292c935ce0e405edd132180233a04857
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = 4696304623232acd419ad15597f539a10a014271
-SHA1 (patch-src_bootstrap_src_core_builder.rs) = 0184d65cc197017440d1c0759922783c522f0d16
-SHA1 (patch-src_bootstrap_src_lib.rs) = d29bc3c0b335d5e788eecbb02fc08966beef0fb1
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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_lib_Support_BLAKE3_blake3__impl.h) = 67e93f198258a5b59580be20ff47ce58b146c5d5
-SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
-SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = e1af7fde97416e0a269ee34efd37f4f47fcf7a95
-SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-vendor_aho-corasick_src_packed_teddy_builder.rs) = cdd3ea21c270fa7a66ffe24adf93d7f871fd8441
-SHA1 (patch-vendor_aho-corasick_src_packed_vector.rs) = 3205c7f698079e045726bfe17a372f71758ab9dd
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = b93148ff72a60a17c6a444f2616386c40d872153
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 308538090d9ce11d206d6eef0e675581a1fc6e80
-SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 98acea9fb98898f63bbb0f6555df5e4b15da2b85
-SHA1 (patch-vendor_cc_src_lib.rs) = b205e3e8138ce0843ab622b230dd8af2b8781d6f
-SHA1 (patch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs) = 94eb62c5dd3e551ad61d8abb4cd4b981bac64b0e
-SHA1 (patch-vendor_crossbeam-utils-0.8.16_no__atomic.rs) = c0561f8ea6dfa6672c9e5e849b74093f74875d8c
-SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 0895df54084281263b9dae67e57f68168fb66bd4
-SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 93ba3bc49a37448dcf446b59a3ad74be7ea74215
-SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 8699853de4225d4e5953d6bf17b59bc463fa7b5d
-SHA1 (patch-vendor_libc-0.2.148_src_unix_solarish_mod.rs) = bb50e900188a9221df96c4b9638425763ea82b04
-SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 4d16d9545b4bee3155664c4e7ce12082a7f4400e
-SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437
-SHA1 (patch-vendor_nix-0.26.2_src_sys_signal.rs) = 0105a5c5f68fdc40c5b0a9c460b494e066f664ec
-SHA1 (patch-vendor_openssl-src_openssl_Configurations_10-main.conf) = 9813c98a0551dba197ff47e9ac0f766c50351569
-SHA1 (patch-vendor_openssl-src_src_lib.rs) = d7fce1d3b87261bc6d8a12be41e31816727cf917
-SHA1 (patch-vendor_openssl-sys_build_find__normal.rs) = 98927415bd3517a7492b87da99c8933c19c7299e
-SHA1 (patch-vendor_openssl-sys_build_main.rs) = 2832c072ddce399f467442e271983bc7176b42bc
-SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
-SHA1 (patch-vendor_stacker_src_lib.rs) = e00a1e95eb16540ff182715db778bf97ebd07a5e
-SHA1 (patch-vendor_target-lexicon_src_targets.rs) = 65ffbc524705bddd5233b3766b3f271dfea5d625
-SHA1 (patch-vendor_valuable_no__atomic.rs) = 3a40cb846bf1fae864c55a0ddba8fdeb5efcba72
diff --git a/rust177/do-cross.mk b/rust177/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust177/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/rust177/files/gcc-wrap b/rust177/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust177/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/rust177/options.mk b/rust177/options.mk
deleted file mode 100644
index 3557dba720..0000000000
--- a/rust177/options.mk
+++ /dev/null
@@ -1,74 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-# 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).
-.if ${MACHINE_PLATFORM:MNetBSD-10.*-sparc64}
-.  if !empty(PKG_OPTIONS:Mrust-internal-llvm)
-# Require GCC 12 (from pkgsrc) to correctly build the embedded LLVM (17.x).
-GCC_REQD+=	12
-.  endif
-.endif
-
-# 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
-
-PKG_OPTIONS_LEGACY_OPTS+=	rust-llvm:rust-internal-llvm
-
-.include "../../mk/bsd.options.mk"
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.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}
-.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/rust177/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust177/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index 21e000a69a..0000000000
--- a/rust177/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Do not use @rpath on Darwin.
-
---- compiler/rustc_codegen_ssa/src/back/linker.rs.orig	2022-12-12 16:02:12.000000000 +0000
-+++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -318,7 +318,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.linker_args(&[OsString::from("-install_name"), rpath]);
-             }
diff --git a/rust177/patches/patch-compiler_rustc__llvm_build.rs b/rust177/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index b000456d6d..0000000000
--- a/rust177/patches/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD$
-
-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/rust177/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust177/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index c1ed446d2f..0000000000
--- a/rust177/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::{cvs, RelroLevel, TargetOptions};
-+use crate::spec::{cvs, Cc, Lld, RelroLevel, LinkerFlavor, TargetOptions};
- 
- pub 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/rust177/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust177/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 324f6c804d..0000000000
--- a/rust177/patches/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-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/rust177/patches/patch-compiler_rustc__target_src_spec_targets_i586__unknown__netbsd.rs b/rust177/patches/patch-compiler_rustc__target_src_spec_targets_i586__unknown__netbsd.rs
deleted file mode 100644
index c7dc641d12..0000000000
--- a/rust177/patches/patch-compiler_rustc__target_src_spec_targets_i586__unknown__netbsd.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Change to Inline stack probing, as suggested by
-https://github.com/rust-lang/rust/pull/120411
-
---- compiler/rustc_target/src/spec/targets/i586_unknown_netbsd.rs.orig	2024-02-26 11:56:11.087253310 +0000
-+++ compiler/rustc_target/src/spec/targets/i586_unknown_netbsd.rs
-@@ -4,7 +4,7 @@ pub fn target() -> Target {
-     let mut base = base::netbsd::opts();
-     base.cpu = "pentium".into();
-     base.max_atomic_width = Some(64);
--    base.stack_probes = StackProbeType::Call;
-+    base.stack_probes = StackProbeType::Inline;
- 
-     Target {
-         llvm_target: "i586-unknown-netbsdelf".into(),
diff --git a/rust177/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust177/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index 710cf5ffdd..0000000000
--- a/rust177/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
+++ /dev/null
@@ -1,29 +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,22 @@
-+use crate::abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub 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(),
-+        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/rust177/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust177/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 0ed9af7822..0000000000
--- a/rust177/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	2022-04-04 09:41:26.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli.rs
-@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
-         target_os = "ios",
-         target_os = "linux",
-         target_os = "macos",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust177/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust177/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index c8ee922920..0000000000
--- a/rust177/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust177/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust177/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust177/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust177/patches/patch-library_std_src_sys_pal_unix_thread.rs b/rust177/patches/patch-library_std_src_sys_pal_unix_thread.rs
deleted file mode 100644
index 1756e361ff..0000000000
--- a/rust177/patches/patch-library_std_src_sys_pal_unix_thread.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD$
-
-Fix stack-clash on SunOS.
-
-...and fix the "count CPUs in affinity set" to work on i32 NetBSD ports.
-
---- library/std/src/sys/pal/unix/thread.rs.orig	2024-03-17 19:03:00.000000000 +0000
-+++ library/std/src/sys/pal/unix/thread.rs
-@@ -388,7 +388,7 @@ pub fn available_parallelism() -> io::Re
-                     if !set.is_null() {
-                         let mut count: usize = 0;
-                         if libc::pthread_getaffinity_np(libc::pthread_self(), libc::_cpuset_size(set), set) == 0 {
--                            for i in 0..u64::MAX {
-+                            for i in 0..libc::cpuid_t::MAX {
-                                 match libc::_cpuset_isset(i, set) {
-                                     -1 => break,
-                                     0 => continue,
-@@ -819,7 +819,7 @@ pub mod guard {
-         let page_size = os::page_size();
-         PAGE_SIZE.store(page_size, Ordering::Relaxed);
- 
--        if cfg!(all(target_os = "linux", not(target_env = "musl"))) {
-+        if cfg!(all(target_os = "solaris", all(target_os = "linux", not(target_env = "musl")))) {
-             // Linux doesn't allocate the whole stack right away, and
-             // the kernel has its own stack-guard mechanism to fault
-             // when growing too close to an existing mapping. If we map
diff --git a/rust177/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs b/rust177/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
deleted file mode 100644
index 76757ba982..0000000000
--- a/rust177/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-$NetBSD$
-
-Try to cast to make this build, to avoid
-
-error[E0277]: the trait bound `i32: core::convert::From<u32>` is not satisfied
-  --> library/std/src/sys/unix/thread_parking/netbsd.rs:37:37
-   |
-37 |         tv_nsec: dur.subsec_nanos().into(),
-   |                                     ^^^^ the trait `core::convert::From<u32>` is not implemented for `i32`
-   |
-   = help: the following other types implement trait `core::convert::From<T>`:
-             <i32 as core::convert::From<NonZeroI32>>
-             <i32 as core::convert::From<bool>>
-             <i32 as core::convert::From<i16>>
-             <i32 as core::convert::From<i8>>
-             <i32 as core::convert::From<u16>>
-             <i32 as core::convert::From<u8>>
-   = note: required for `u32` to implement `core::convert::Into<i32>`
-
-For more information about this error, try `rustc --explain E0277`.
-
-This to un-break the 32-bit ports ... again.
-
---- library/std/src/sys/pal/unix/thread_parking/netbsd.rs.orig	2024-03-22 14:07:26.254534488 +0000
-+++ library/std/src/sys/pal/unix/thread_parking/netbsd.rs
-@@ -34,7 +34,7 @@ pub fn park_timeout(dur: Duration, hint:
-         // Saturate so that the operation will definitely time out
-         // (even if it is after the heat death of the universe).
-         tv_sec: dur.as_secs().try_into().ok().unwrap_or(time_t::MAX),
--        tv_nsec: dur.subsec_nanos().into(),
-+        tv_nsec: (dur.subsec_nanos() as libc::c_long).into(),
-     };
- 
-     // Timeout needs to be mutable since it is modified on NetBSD 9.0 and
diff --git a/rust177/patches/patch-src_bootstrap_bootstrap.py b/rust177/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 20489b8ae1..0000000000
--- a/rust177/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.4 2020/02/17 20:24:18 jperkin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -271,6 +271,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]
-@@ -374,10 +379,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':
-@@ -735,7 +746,7 @@ class RustBuild(object):
-         rpath_entries = [
-             # Relative default, all binary and dynamic libraries we ship
-             # appear to have this (even when `../lib` is redundant).
--            "$ORIGIN/../lib",
-+            "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--set-rpath", ":".join(rpath_entries)]
diff --git a/rust177/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust177/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index a14e2a2bd8..0000000000
--- a/rust177/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-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
-@@ -626,7 +626,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(&dst, &format!("@rpath/{}", &runtime.name));
-+            apple_darwin_update_library_name(&dst, &format!("@PREFIX@/lib/{}", &runtime.name));
-             // Upon renaming the install name, the code signature of the file will invalidate,
-             // so we will sign it again.
-             apple_darwin_sign_file(&dst);
diff --git a/rust177/patches/patch-src_bootstrap_src_core_builder.rs b/rust177/patches/patch-src_bootstrap_src_core_builder.rs
deleted file mode 100644
index 9c1413ee85..0000000000
--- a/rust177/patches/patch-src_bootstrap_src_core_builder.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Use @PREFIX@, not $ORIGIN in rpath.
-
---- src/bootstrap/src/core/builder.rs.orig	2024-02-04 13:18:05.000000000 +0000
-+++ src/bootstrap/src/core/builder.rs
-@@ -1687,7 +1687,7 @@ impl<'a> Builder<'a> {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !target.contains("xous") {
-                 rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/{libdir}"))
-             } else {
-                 None
-             };
diff --git a/rust177/patches/patch-src_bootstrap_src_lib.rs b/rust177/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index 6eae1d06df..0000000000
--- a/rust177/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust177/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust177/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index 2477a555c8..0000000000
--- a/rust177/patches/patch-src_llvm-project_llvm_CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.1 2019/04/14 12:42:03 he 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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust177/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust177/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index b213c40364..0000000000
--- a/rust177/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.3 2020/08/06 11:42:56 jperkin 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/rust177/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust177/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 7250a1f149..0000000000
--- a/rust177/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.1 2019/04/14 12:42:03 he 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/rust177/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust177/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 37d491478d..0000000000
--- a/rust177/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.1 2019/04/14 12:42:03 he 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/rust177/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h b/rust177/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
deleted file mode 100644
index dbd66f923d..0000000000
--- a/rust177/patches/patch-src_llvm-project_llvm_lib_Support_BLAKE3_blake3__impl.h
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD$
-
-Do not try to use neon on big-endian aarch64, as we have
-an #error waiting there.
-
---- src/llvm-project/llvm/lib/Support/BLAKE3/blake3_impl.h.orig	2022-09-02 08:17:54.000000000 +0000
-+++ src/llvm-project/llvm/lib/Support/BLAKE3/blake3_impl.h
-@@ -64,7 +64,11 @@ enum blake3_flags {
- #if !defined(BLAKE3_USE_NEON) 
-   // If BLAKE3_USE_NEON not manually set, autodetect based on AArch64ness
-   #if defined(IS_AARCH64)
--    #define BLAKE3_USE_NEON 1
-+    #if defined(__ARM_BIG_ENDIAN)
-+      #define BLAKE3_USE_NEON 0
-+    #else
-+      #define BLAKE3_USE_NEON 1
-+    #endif
-   #else
-     #define BLAKE3_USE_NEON 0
-   #endif
diff --git a/rust177/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust177/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index 02c93ff2ec..0000000000
--- a/rust177/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.2 2019/10/02 12:51:43 he 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/rust177/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust177/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index ac9ad7239c..0000000000
--- a/rust177/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.3 2019/03/07 20:19:11 jperkin 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/rust177/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust177/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index 7ffba0f965..0000000000
--- a/rust177/patches/patch-src_tools_cargo_tests_testsuite_build.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.5 2019/08/29 14:09:57 he Exp $
-
-Don't attempt incremental operations on sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/tests/testsuite/build.rs.orig	2019-08-13 06:27:40.000000000 +0000
-+++ src/tools/cargo/tests/testsuite/build.rs
-@@ -47,6 +47,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()
-@@ -69,6 +70,7 @@ fn cargo_compile_incremental() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_profile() {
-     let p = project()
-@@ -111,6 +113,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_config() {
-     let p = project()
diff --git a/rust177/patches/patch-src_tools_rust-installer_install-template.sh b/rust177/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index d4036445de..0000000000
--- a/rust177/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.5 2021/06/09 13:42:30 adam 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/rust177/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs b/rust177/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
deleted file mode 100644
index 53070c8c9d..0000000000
--- a/rust177/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
---- vendor/aho-corasick/src/packed/teddy/builder.rs.orig	2024-02-18 10:54:27.960401196 +0000
-+++ vendor/aho-corasick/src/packed/teddy/builder.rs
-@@ -230,7 +230,7 @@ impl Builder {
-                 }
-             }
-         }
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
-         {
-             use self::aarch64::SlimNeon;
- 
-@@ -301,7 +301,7 @@ impl Builder {
-         }
-         #[cfg(not(any(
-             all(target_arch = "x86_64", target_feature = "sse2"),
--            target_arch = "aarch64"
-+            all(target_arch = "aarch64", target_feature = "neon", target_endian = "little")
-         )))]
-         {
-             None
-@@ -705,7 +705,7 @@ mod x86_64 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
- mod aarch64 {
-     use core::arch::aarch64::uint8x16_t;
- 
diff --git a/rust177/patches/patch-vendor_aho-corasick_src_packed_vector.rs b/rust177/patches/patch-vendor_aho-corasick_src_packed_vector.rs
deleted file mode 100644
index a5ba47a39b..0000000000
--- a/rust177/patches/patch-vendor_aho-corasick_src_packed_vector.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- vendor/aho-corasick/src/packed/vector.rs.orig	2024-02-18 10:12:16.371081231 +0000
-+++ vendor/aho-corasick/src/packed/vector.rs
-@@ -595,7 +595,7 @@ mod x86_64_avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
- mod aarch64_neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli.rs b/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 367e90786a..0000000000
--- a/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Do mmap on NetBSD as well.
-
---- ./vendor/backtrace/src/symbolize/gimli.rs.orig	2022-04-04 11:10:55.000000000 +0000
-+++ ./vendor/backtrace/src/symbolize/gimli.rs
-@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
-         target_os = "ios",
-         target_os = "linux",
-         target_os = "macos",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs b/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index ad3afcd8d1..0000000000
--- a/rust177/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-Make NetBSD also find its debug libraries, if present.
-
---- vendor/backtrace/src/symbolize/gimli/elf.rs.orig	2022-04-04 11:10:55.000000000 +0000
-+++ vendor/backtrace/src/symbolize/gimli/elf.rs
-@@ -276,11 +276,16 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(target_os != "netbsd")]
- const DEBUG_PATH: &[u8] = b"/usr/lib/debug";
- 
- fn debug_path_exists() -> bool {
-     cfg_if::cfg_if! {
--        if #[cfg(any(target_os = "freebsd", target_os = "linux"))] {
-+        if #[cfg(any(target_os = "freebsd", 
-+                     target_os = "netbsd",
-+                     target_os = "linux"))] {
-             use core::sync::atomic::{AtomicU8, Ordering};
-             static DEBUG_PATH_EXISTS: AtomicU8 = AtomicU8::new(0);
- 
diff --git a/rust177/patches/patch-vendor_cc-1.0.73_src_lib.rs b/rust177/patches/patch-vendor_cc-1.0.73_src_lib.rs
deleted file mode 100644
index 864beacf10..0000000000
--- a/rust177/patches/patch-vendor_cc-1.0.73_src_lib.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use correct ABI on NetBSD/riscv64.
-
---- vendor/cc-1.0.73/src/lib.rs.orig	2023-05-31 21:44:47.000000000 +0000
-+++ vendor/cc-1.0.73/src/lib.rs
-@@ -1830,6 +1830,9 @@ impl Build {
-                         } else if target.contains("freebsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
-+                        } else if target.contains("netbsd") && arch.starts_with("64") {
-+                            cmd.args.push(("-march=rv64gc").into());
-+                            cmd.args.push("-mabi=lp64d".into());
-                         } else if target.contains("openbsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
diff --git a/rust177/patches/patch-vendor_cc_src_lib.rs b/rust177/patches/patch-vendor_cc_src_lib.rs
deleted file mode 100644
index f754e454f4..0000000000
--- a/rust177/patches/patch-vendor_cc_src_lib.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Add aarch64_be and mipsel for NetBSD.
-
---- vendor/cc/src/lib.rs.orig	2024-02-17 11:28:27.283394955 +0000
-+++ vendor/cc/src/lib.rs
-@@ -3058,6 +3058,7 @@ impl Build {
-             "aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
-             "aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
-             "aarch64-unknown-netbsd" => Some("aarch64--netbsd"),
-+            "aarch64_be-unknown-netbsd" => Some("aarch64_be--netbsd"),
-             "arm-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-             "armv4t-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-             "armv5te-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-@@ -3093,6 +3094,7 @@ impl Build {
-             "mips-unknown-linux-musl" => Some("mips-linux-musl"),
-             "mipsel-unknown-linux-gnu" => Some("mipsel-linux-gnu"),
-             "mipsel-unknown-linux-musl" => Some("mipsel-linux-musl"),
-+            "mipsel-unknown-netbsd" => Some("mipsel--netbsd"),
-             "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
-             "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-             "mipsisa32r6-unknown-linux-gnu" => Some("mipsisa32r6-linux-gnu"),
diff --git a/rust177/patches/patch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs b/rust177/patches/patch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs
deleted file mode 100644
index 9ca32c08e8..0000000000
--- a/rust177/patches/patch-vendor_crossbeam-epoch-0.9.15_no__atomic.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Add "mipsel-unknown-netbsd" to the list who don't have 
-native 64-bit atomic ops.
-
---- vendor/crossbeam-epoch-0.9.15/no_atomic.rs.orig	2024-03-23 07:58:15.197582364 +0000
-+++ vendor/crossbeam-epoch-0.9.15/no_atomic.rs
-@@ -37,6 +37,7 @@ const NO_ATOMIC_64: &[&str] = &[
-     "mipsel-unknown-linux-gnu",
-     "mipsel-unknown-linux-musl",
-     "mipsel-unknown-linux-uclibc",
-+    "mipsel-unknown-netbsd",
-     "mipsel-unknown-none",
-     "mipsisa32r6-unknown-linux-gnu",
-     "mipsisa32r6el-unknown-linux-gnu",
diff --git a/rust177/patches/patch-vendor_crossbeam-utils-0.8.16_no__atomic.rs b/rust177/patches/patch-vendor_crossbeam-utils-0.8.16_no__atomic.rs
deleted file mode 100644
index b135742a0d..0000000000
--- a/rust177/patches/patch-vendor_crossbeam-utils-0.8.16_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-No 64-bit atomics on NetBSD/mipsel.
-
---- vendor/crossbeam-utils-0.8.16/no_atomic.rs.orig	2024-03-23 07:40:12.537157751 +0000
-+++ vendor/crossbeam-utils-0.8.16/no_atomic.rs
-@@ -37,6 +37,7 @@ const NO_ATOMIC_64: &[&str] = &[
-     "mipsel-unknown-linux-gnu",
-     "mipsel-unknown-linux-musl",
-     "mipsel-unknown-linux-uclibc",
-+    "mipsel-unknown-netbsd",
-     "mipsel-unknown-none",
-     "mipsisa32r6-unknown-linux-gnu",
-     "mipsisa32r6el-unknown-linux-gnu",
diff --git a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
deleted file mode 100644
index 18aa4d7328..0000000000
--- a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add entry for NetBSD/mips.
-
---- vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2024-01-06 21:03:21.781003759 +0000
-+++ vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mips.rs	2024-01-06 22:27:31.830676317 +0000
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type c_char = i8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index aff7296f94..0000000000
--- a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mod.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-$NetBSD$
-
-Add entries for execinfo, and support
-for NetBSD/mips and NetBSD/riscv64.
-
---- vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2024-01-06 22:33:33.911876204 +0000
-+++ vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mod.rs
-@@ -10,7 +10,7 @@ type __pthread_spin_t = __cpu_simple_loc
- pub type vm_size_t = ::uintptr_t; // FIXME: deprecated since long time
- pub type lwpid_t = ::c_uint;
- pub type shmatt_t = ::c_uint;
--pub type cpuid_t = u64;
-+pub type cpuid_t = ::c_ulong;
- pub type cpuset_t = _cpuset;
- pub type pthread_spin_t = ::c_uchar;
- pub type timer_t = ::c_int;
-@@ -3153,6 +3153,22 @@ extern "C" {
-     pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
- }
- 
-+#[link(name = "execinfo")]
-+extern "C" {
-+    pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
-+    pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
-+    pub fn backtrace_symbols_fd(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fd: ::c_int,
-+    ) -> ::c_int;
-+    pub fn backtrace_symbols_fmt(
-+        addrlist: *const *mut ::c_void,
-+        len: ::size_t,
-+        fmt: *const ::c_char,
-+    ) -> *mut *mut ::c_char;
-+}
-+
- cfg_if! {
-     if #[cfg(target_arch = "aarch64")] {
-         mod aarch64;
-@@ -3172,6 +3188,12 @@ cfg_if! {
-     } else if #[cfg(target_arch = "x86")] {
-         mod x86;
-         pub use self::x86::*;
-+    } else if #[cfg(target_arch = "mips")] {
-+        mod mips;
-+        pub use self::mips::*;
-+    } else if #[cfg(target_arch = "riscv64")] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
-         // Unknown target_arch
-     }
diff --git a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 17b7d39991..0000000000
--- a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add support for NetBSD/riscv64.
-
---- vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2024-01-06 21:03:21.781003759 +0000
-+++ vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/riscv64.rs	2024-01-06 22:31:25.289387359 +0000
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type c_char = u8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_solarish_mod.rs b/rust177/patches/patch-vendor_libc-0.2.148_src_unix_solarish_mod.rs
deleted file mode 100644
index 903029e11e..0000000000
--- a/rust177/patches/patch-vendor_libc-0.2.148_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.148/src/unix/solarish/mod.rs.orig	2024-01-06 22:41:58.182128108 +0000
-+++ vendor/libc-0.2.148/src/unix/solarish/mod.rs
-@@ -1523,6 +1523,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/rust177/patches/patch-vendor_libc_src_unix_solarish_mod.rs b/rust177/patches/patch-vendor_libc_src_unix_solarish_mod.rs
deleted file mode 100644
index af3ce88fd8..0000000000
--- a/rust177/patches/patch-vendor_libc_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.1 2019/05/31 14:11:23 jperkin Exp $
-
-Fix xattr build.
-
---- vendor/libc/src/unix/solarish/mod.rs.orig	2019-05-20 13:47:24.000000000 +0000
-+++ vendor/libc/src/unix/solarish/mod.rs
-@@ -1523,6 +1523,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/rust177/patches/patch-vendor_lzma-sys_config.h b/rust177/patches/patch-vendor_lzma-sys_config.h
deleted file mode 100644
index 67963cec47..0000000000
--- a/rust177/patches/patch-vendor_lzma-sys_config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-vendor_lzma-sys_config.h,v 1.1 2019/10/28 00:42:21 jperkin Exp $
-
-Fix SunOS builds with newer compilers.
-
---- vendor/lzma-sys/config.h.orig	2020-10-07 09:33:31.000000000 +0000
-+++ vendor/lzma-sys/config.h
-@@ -35,7 +35,11 @@
-     // change to `MYTHREAD_WIN95` if targeting Windows XP or earlier
-     #define MYTHREAD_VISTA 1
- #else
-+#if !defined(__sun) || (__STDC_VERSION__-0 < 199901L)
-     #define _POSIX_C_SOURCE 199506L
-+#else
-+    #define _POSIX_C_SOURCE 200112L
-+#endif
-     #define MYTHREAD_POSIX 1
- #endif
- 
diff --git a/rust177/patches/patch-vendor_nix-0.26.2_src_sys_signal.rs b/rust177/patches/patch-vendor_nix-0.26.2_src_sys_signal.rs
deleted file mode 100644
index 0301607fdf..0000000000
--- a/rust177/patches/patch-vendor_nix-0.26.2_src_sys_signal.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Narrow the conditional on mips to only apply to Linux.
-
---- vendor/nix-0.26.2/src/sys/signal.rs.orig	2024-02-18 16:20:52.047002882 +0000
-+++ vendor/nix-0.26.2/src/sys/signal.rs
-@@ -1069,7 +1069,7 @@ mod sigevent {
-                 SigevNotify::SigevThreadId{..} => libc::SIGEV_THREAD_ID,
-                 #[cfg(all(target_os = "linux", target_env = "uclibc"))]
-                 SigevNotify::SigevThreadId{..} => libc::SIGEV_THREAD_ID,
--                #[cfg(any(all(target_os = "linux", target_env = "musl"), target_arch = "mips"))]
-+                #[cfg(all(target_os = "linux", target_env = "musl", target_arch = "mips"))]
-                 SigevNotify::SigevThreadId{..} => 4  // No SIGEV_THREAD_ID defined
-             };
-             sev.sigev_signo = match sigev_notify {
diff --git a/rust177/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf b/rust177/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
deleted file mode 100644
index 17def504e5..0000000000
--- a/rust177/patches/patch-vendor_openssl-src_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/openssl/Configurations/10-main.conf.orig	2023-08-03 13:47:25.000000000 +0000
-+++ vendor/openssl-src/openssl/Configurations/10-main.conf
-@@ -950,6 +950,10 @@ my %targets = (
-         shared_cflag     => "-fPIC",
-         shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
-     },
-+    "NetBSD-generic32" => {
-+        inherit_from     => [ "BSD-generic32" ],
-+        ex_libs          => add("-latomic"),
-+    },
-     "BSD-generic64" => {
-         inherit_from     => [ "BSD-generic32" ],
-         bn_ops           => "SIXTY_FOUR_BIT_LONG",
diff --git a/rust177/patches/patch-vendor_openssl-src_src_lib.rs b/rust177/patches/patch-vendor_openssl-src_src_lib.rs
deleted file mode 100644
index ad03cc68bf..0000000000
--- a/rust177/patches/patch-vendor_openssl-src_src_lib.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.1 2021/01/01 20:44:48 he Exp $
-
-Provide defaults for the various NetBSD targets.
-
---- vendor/openssl-src/src/lib.rs.orig	2024-02-04 14:52:05.000000000 +0000
-+++ vendor/openssl-src/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-             "mips-unknown-linux-musl" => "linux-mips32",
-@@ -273,9 +279,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -283,8 +291,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/rust177/patches/patch-vendor_openssl-sys_build_find__normal.rs b/rust177/patches/patch-vendor_openssl-sys_build_find__normal.rs
deleted file mode 100644
index 05d96b1783..0000000000
--- a/rust177/patches/patch-vendor_openssl-sys_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-vendor_openssl-sys_build_find__normal.rs,v 1.1 2023/06/19 14:46:47 bsiegert Exp $
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys/build/find_normal.rs.orig	2023-05-31 21:44:49.000000000 +0000
-+++ vendor/openssl-sys/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/rust177/patches/patch-vendor_openssl-sys_build_main.rs b/rust177/patches/patch-vendor_openssl-sys_build_main.rs
deleted file mode 100644
index 7f0e828a91..0000000000
--- a/rust177/patches/patch-vendor_openssl-sys_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/build/main.rs.orig	2022-11-02 16:21:42.000000000 +0000
-+++ vendor/openssl-sys/build/main.rs
-@@ -133,6 +133,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/rust177/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust177/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 98a1d9cb7b..0000000000
--- a/rust177/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD$
-
-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/rust177/patches/patch-vendor_stacker_src_lib.rs b/rust177/patches/patch-vendor_stacker_src_lib.rs
deleted file mode 100644
index dfd1589f54..0000000000
--- a/rust177/patches/patch-vendor_stacker_src_lib.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.1 2020/08/06 11:42:56 jperkin Exp $
-
-Avoid missing pthread_* on older SunOS.
-
---- vendor/stacker/src/lib.rs.orig	2020-07-13 18:18:17.000000000 +0000
-+++ vendor/stacker/src/lib.rs
-@@ -407,7 +407,7 @@ cfg_if! {
-             );
-             Some(mi.assume_init().AllocationBase as usize + get_thread_stack_guarantee() + 0x1000)
-         }
--    } else if #[cfg(any(target_os = "linux", target_os="solaris", target_os = "netbsd"))] {
-+    } else if #[cfg(any(target_os = "linux", target_os = "netbsd"))] {
-         unsafe fn guess_os_stack_limit() -> Option<usize> {
-             let mut attr = std::mem::MaybeUninit::<libc::pthread_attr_t>::uninit();
-             assert_eq!(libc::pthread_attr_init(attr.as_mut_ptr()), 0);
diff --git a/rust177/patches/patch-vendor_target-lexicon_src_targets.rs b/rust177/patches/patch-vendor_target-lexicon_src_targets.rs
deleted file mode 100644
index 5e646970c4..0000000000
--- a/rust177/patches/patch-vendor_target-lexicon_src_targets.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Add aarch64_eb and mipsel for NetBSD.
-
---- vendor/target-lexicon/src/targets.rs.orig	2021-05-03 21:35:46.000000000 +0000
-+++ vendor/target-lexicon/src/targets.rs
-@@ -1526,6 +1526,7 @@ mod tests {
-             "aarch64-unknown-linux-gnu_ilp32",
-             "aarch64-unknown-linux-musl",
-             "aarch64-unknown-netbsd",
-+            "aarch64_be-unknown-netbsd",
-             "aarch64-unknown-none",
-             "aarch64-unknown-none-softfloat",
-             "aarch64-unknown-openbsd",
-@@ -1611,6 +1612,7 @@ mod tests {
-             "mipsel-unknown-linux-gnu",
-             "mipsel-unknown-linux-musl",
-             "mipsel-unknown-linux-uclibc",
-+            "mipsel-unknown-netbsd",
-             "mipsel-unknown-none",
-             "mipsisa32r6el-unknown-linux-gnu",
-             "mipsisa32r6-unknown-linux-gnu",
diff --git a/rust177/patches/patch-vendor_valuable_no__atomic.rs b/rust177/patches/patch-vendor_valuable_no__atomic.rs
deleted file mode 100644
index f485c63d9d..0000000000
--- a/rust177/patches/patch-vendor_valuable_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add mipsel-unknown-netbsd.
-
---- vendor/valuable/no_atomic.rs.orig	2022-09-19 15:35:03.000000000 +0000
-+++ vendor/valuable/no_atomic.rs
-@@ -30,6 +30,7 @@ const NO_ATOMIC_64: &[&str] = &[
-     "mipsel-unknown-linux-musl",
-     "mipsel-unknown-linux-uclibc",
-     "mipsel-unknown-none",
-+    "mipsel-unknown-netbsd",
-     "mipsisa32r6-unknown-linux-gnu",
-     "mipsisa32r6el-unknown-linux-gnu",
-     "powerpc-unknown-freebsd",
diff --git a/rust177/platform.mk b/rust177/platform.mk
deleted file mode 100644
index 736652b14e..0000000000
--- a/rust177/platform.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-# $NetBSD: platform.mk,v 1.6 2020/12/26 10:04:51 nia Exp $
-
-# This file encodes whether a given platform has support for rust.
-
-.if !defined(PLATFORM_SUPPORTS_RUST)
-
-.include "../../mk/bsd.fast.prefs.mk"
-
-# Little bit of future-proofing.
-.for i in 9 10 11
-RUST_PLATFORMS+=	NetBSD-${i}.*-aarch64
-RUST_PLATFORMS+=	NetBSD-${i}.*-aarch64eb
-RUST_PLATFORMS+=	NetBSD-${i}.*-earmv6hf
-RUST_PLATFORMS+=	NetBSD-${i}.*-earmv7hf
-RUST_PLATFORMS+=	NetBSD-${i}.*-i386
-RUST_PLATFORMS+=	NetBSD-${i}.*-mipsel
-RUST_PLATFORMS+=	NetBSD-${i}.*-powerpc
-RUST_PLATFORMS+=	NetBSD-${i}.*-riscv64
-RUST_PLATFORMS+=	NetBSD-${i}.*-sparc64
-RUST_PLATFORMS+=	NetBSD-${i}.*-x86_64
-.endfor
-
-RUST_PLATFORMS+=	Darwin-*-aarch64
-RUST_PLATFORMS+=	Darwin-*-x86_64
-RUST_PLATFORMS+=	FreeBSD-*-x86_64
-RUST_PLATFORMS+=	Linux-*-aarch64
-RUST_PLATFORMS+=	Linux-*-earmv6hf
-RUST_PLATFORMS+=	Linux-*-earmv7hf
-RUST_PLATFORMS+=	Linux-*-i386
-RUST_PLATFORMS+=	Linux-*-x86_64
-RUST_PLATFORMS+=	SunOS-*-x86_64
-
-.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/rust177/rust.mk b/rust177/rust.mk
deleted file mode 100644
index d930124865..0000000000
--- a/rust177/rust.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# $NetBSD: rust.mk,v 1.7 2020/10/14 08:23:49 triaxx 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
-#	Default: src
-#
-# === 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"
-
-RUST_REQ?=	1.56.1
-RUST_RUNTIME?=	no
-
-RUST_TYPE?=	src
-
-.if ${RUST_TYPE} == "bin"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust-bin?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=${RUST_REQ}
-.  include "../../lang/rust-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 "../../lang/rust/buildlink3.mk"
-.endif
diff --git a/rust178-bin/DESCR b/rust178-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust178-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/rust178-bin/Makefile b/rust178-bin/Makefile
deleted file mode 100644
index 37662f692d..0000000000
--- a/rust178-bin/Makefile
+++ /dev/null
@@ -1,302 +0,0 @@
-# $NetBSD: Makefile,v 1.55 2023/09/28 12:24:32 he Exp $
-
-DISTNAME=	rust-1.78.0
-PKGNAME=	${DISTNAME:S/rust/rust-bin/1}
-CATEGORIES=	lang
-MASTER_SITES=	https://static.rust-lang.org/dist/
-DIST_SUBDIR=	${PKGNAME}
-
-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-*-i386
-ONLY_FOR_PLATFORM+=	Linux-*-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
-ONLY_FOR_PLATFORM+=	NetBSD-*-x86_64
-
-# 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.
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-earmv7hf
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-earmv6hf
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-powerpc
-
-# 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 !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
-RUST_ARCH:=	aarch64-apple-darwin
-DISTFILES:=	${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
-.endif
-.if !empty(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 !empty(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 !empty(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 (!empty(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 (!empty(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 (!empty(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 (!empty(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 !empty(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 !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
-# Just for aarch64, due to workaround for PR#58154
-NB:=		-nb1
-RUST_ARCH:=	aarch64-unknown-netbsd
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${NB}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-#.if !empty(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 !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make(makesum) || make(mdi)
-NB:=		-nb1
-RUST_ARCH:=	armv6-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${NB}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make(makesum) || make(mdi)
-NB:=		-nb1
-RUST_ARCH:=	armv7-unknown-netbsd-eabihf
-DN:=		${DISTNAME}${NBSUF}
-EXTRACT_SUFX=	.tar.xz
-DF:=		${DN}-${RUST_ARCH}${NB}${EXTRACT_SUFX}
-DISTFILES:=	${DISTFILES} ${DF}
-SITES.${DF}=	${NETBSD_REPO}
-.endif
-.if !empty(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 !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi)
-# Now only supports OS_VERSION >= 9.0
-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 !empty(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 !empty(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 !empty(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 !empty(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/-$//}
-# Undo the powerpc netbsd90 thingie...
-WRKSRC:=	${WRKSRC:C/netbsd90/netbsd/}
-
-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 clippy-driver miri rls rust-analyzer rustc rustdoc
-	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 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
-TOOL_DEPENDS+=		patchelf-[0-9]*:../../devel/patchelf
-
-# The llvm utilities may need a specific libstdc++ version from compat80
-.  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 090000
-.    if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "earmv7hf" && \
-        ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "earmv6hf" && \
-        ${MACHINE_ARCH} != "riscv64" && ${MACHINE_ARCH} != "aarch64eb"
-DEPENDS+=		compat80-[0-9]*:../../emulators/compat80
-RUST_LLVM_RPATH=	${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib
-FORCE_RPATH=
-.    else
-RUST_LLVM_RPATH=	${PREFIX}/lib
-.    endif
-.  else
-# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there.
-RUST_LLVM_RPATH=	${PREFIX}/lib
-FORCE_RPATH=		--force-rpath
-.  endif
-
-.  if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
-      !empty(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/clippy-driver bin/miri bin/rls bin/rust-analyzer \
-	bin/rustc bin/rustdoc 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-nm llvm-objcopy \
-	   llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
-	   rust-lld
-	 ${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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust178-bin/buildlink3.mk b/rust178-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust178-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/rust178-bin/distinfo b/rust178-bin/distinfo
deleted file mode 100644
index c765a8f204..0000000000
--- a/rust178-bin/distinfo
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: distinfo,v 1.29 2023/09/28 15:57:26 gdt Exp $
-
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-aarch64-apple-darwin.tar.gz) = ef58d6d3f11cf8164835287f4b5484f50b40222c7a7bba3c7d8035e90350dabe
-SHA512 (rust-bin-1.78.0/rust-1.78.0-aarch64-apple-darwin.tar.gz) = 7d7031a93afad03f90556e86a86c3fc2ec5ff9c71bc1f6ee26d7832c18d9375dcc6da122d0792f9465a97e1832e5ff98e74b5d0134133eff167443df18a37bd9
-Size (rust-bin-1.78.0/rust-1.78.0-aarch64-apple-darwin.tar.gz) = 330850938 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-gnu.tar.gz) = 05f4fb750348075a70588284eafd410a3a9c71b8e44b5eddfee2dc104973f291
-SHA512 (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-gnu.tar.gz) = 91150da3a4412c447cbabe77d94585ef3b279a37fe208d4483d27c945abaef22686ae79e1ffad76dbaae2b3b95700dfa88c0e0657f1ebf154f520d3f3a9ab090
-Size (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-gnu.tar.gz) = 474875165 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-musl.tar.gz) = f2f7915e6c9145214a609b05424b44d83efde031b94419eeaa82bf3355e44ff1
-SHA512 (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-musl.tar.gz) = f69a36031e2dc439e6fd29788dd0862292cf473d1266c945b96850e888842209a357ab2066d08b2517cbf69cb55a38f8162663a98cafa355212d1a37f041e527
-Size (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-linux-musl.tar.gz) = 383582050 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-netbsd-nb1.tar.xz) = d690ca4901c0440956b573892165397814ad8fb0487b28df53d2fe7c59eb8265
-SHA512 (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-netbsd-nb1.tar.xz) = 3d0c7713da80081d37285972600ce717f5fe078ba5dc4bfc7b7b943fedb89c8a5b87bb6bce08ab9fa8e5c63038a88862e77e211459201a59e729aa94b9a2e680
-Size (rust-bin-1.78.0/rust-1.78.0-aarch64-unknown-netbsd-nb1.tar.xz) = 170867824 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-armv6-unknown-netbsd-eabihf-nb1.tar.xz) = 18c44e4705814dcb55b19fc4c063056bcd6c1d8c0318f25c44de0ca993d782d0
-SHA512 (rust-bin-1.78.0/rust-1.78.0-armv6-unknown-netbsd-eabihf-nb1.tar.xz) = 5eee0abe4476de1206bc138b6460b5e02e13f7d9d45f1eb3c5b70fc9d881075dfa2b3365b110440993eec5e8ba6522fcfea0e477caf71f83a55ff527c3bb8dd3
-Size (rust-bin-1.78.0/rust-1.78.0-armv6-unknown-netbsd-eabihf-nb1.tar.xz) = 146012916 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-armv7-unknown-netbsd-eabihf-nb1.tar.xz) = ea5bfa6aecf7f964e909f656f1d1c5595e0414a4d677cd82d3b47e0d4306c503
-SHA512 (rust-bin-1.78.0/rust-1.78.0-armv7-unknown-netbsd-eabihf-nb1.tar.xz) = a0e3a4a8e596ce78760a1557b1d383d5e2152c19d4ee7befdce4779b5925e52a94fd0c8803b32ce6f36e2955c4fe0f2e4689ff8cad095f1d073a5aae7121ee52
-Size (rust-bin-1.78.0/rust-1.78.0-armv7-unknown-netbsd-eabihf-nb1.tar.xz) = 146930824 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-i586-unknown-netbsd.tar.xz) = bd0f22313590a0123e98418c004a2d86a479aacbfd1052d1c8209d44cb9ef795
-SHA512 (rust-bin-1.78.0/rust-1.78.0-i586-unknown-netbsd.tar.xz) = 6ac915c8f57e7e6ebe7e723250cee9a9687612d7222560afbb78aded33e76af9be10da3daaede413bf6d9b64b5ceb84ae9ec5e612077524ee9263ecde76eaa44
-Size (rust-bin-1.78.0/rust-1.78.0-i586-unknown-netbsd.tar.xz) = 184825112 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-i686-unknown-linux-gnu.tar.gz) = 0c2b231f1e00b17fbc7f9fa5c9d0f0398e3fc7661e8f970ff0eb97bfd2181e93
-SHA512 (rust-bin-1.78.0/rust-1.78.0-i686-unknown-linux-gnu.tar.gz) = 9f4364b4fac015f5eb845ec4265e38790f79411b75a5c59cca0564b1d357cb86c0a4083c70b84764cf8a5e2f088422fd8be93587d54bbb77488fe09705622d03
-Size (rust-bin-1.78.0/rust-1.78.0-i686-unknown-linux-gnu.tar.gz) = 425493624 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-powerpc-unknown-netbsd.tar.xz) = e67c5fa4e2ea2c95742ba3c22a6df92d933ea46b535c6fe04784f0ef0379df9e
-SHA512 (rust-bin-1.78.0/rust-1.78.0-powerpc-unknown-netbsd.tar.xz) = 1847fc72e1f8c6cac8d88b6d3f7c86d669a70df925528eb2387ef3bf8502618b49d321c56dcd77398fd006a1d4964309d6dd959062d2013c4d1619a67865db83
-Size (rust-bin-1.78.0/rust-1.78.0-powerpc-unknown-netbsd.tar.xz) = 197448876 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-riscv64gc-unknown-netbsd.tar.xz) = 0ead8e9d7645bc721db4cdc11b283bf66b0f11d0c2fc39aec5207ba6052fbd50
-SHA512 (rust-bin-1.78.0/rust-1.78.0-riscv64gc-unknown-netbsd.tar.xz) = 694ec55d004aa64cd84e1ac918392e3ed044e5a85f61cf1cba56d2ecaa17544134d5e3d825b60287f349da87c0a1199b8ce99d48cfb49d04e8e7983a19c19c42
-Size (rust-bin-1.78.0/rust-1.78.0-riscv64gc-unknown-netbsd.tar.xz) = 185943460 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-sparc64-unknown-netbsd.tar.xz) = bb0cf58c49e1192abbfb9ff8fdc16d0ce6ea787dd34525e831a631b15cb7ece8
-SHA512 (rust-bin-1.78.0/rust-1.78.0-sparc64-unknown-netbsd.tar.xz) = 2207e71911c81dd4f898e9d23d8775c7939e073180362b3c94f8ff17e38ebff80a90e7224c917eecd850cbf45c3df19811822ccbe14ed822d63b5d36dcb50b52
-Size (rust-bin-1.78.0/rust-1.78.0-sparc64-unknown-netbsd.tar.xz) = 166266668 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-x86_64-apple-darwin.tar.gz) = aad8f98c18f573987b65a1244a935684aee610fb4d119920fdfcc0a3f6762b1d
-SHA512 (rust-bin-1.78.0/rust-1.78.0-x86_64-apple-darwin.tar.gz) = cc839febf1f354d231d803681995b50728082c46d0377c9f8b6607f721f8745ac216e1980f6157b228390e9a836217639fa557194f03c65e425548390ceb658f
-Size (rust-bin-1.78.0/rust-1.78.0-x86_64-apple-darwin.tar.gz) = 335719964 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-freebsd.tar.gz) = fff0115b65d8ffb9b70abcf7e8285611d8cd760ffdddc67b6d46edf2d6ae076c
-SHA512 (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-freebsd.tar.gz) = bf52d2618d69c6f34cbf18c58b95c207012b16d8a6da638e4efe5ce31632626cefaf75665160823ea9af66696ec8ad0cfdd89c8796637b75778406bbdc29b229
-Size (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-freebsd.tar.gz) = 319902268 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-gnu.tar.gz) = a385bbb68437fb226a39fbe99ed8cc68f9ab9dfa59d825d0a7c7dbaa6353eba4
-SHA512 (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-gnu.tar.gz) = 551f6c672918ef43b9ca7654085488f40b7722062129fc2fdc850c0f92473279cc4229a17ffbcbd605d5a4d24c6207a6d4ab2334b4d9a988abdef4e0b7e0d824
-Size (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-gnu.tar.gz) = 326774226 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-musl.tar.gz) = ae4368e4e4757d3a71d68ba068aa7500088f081cffa709033c3205acda0c2228
-SHA512 (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-musl.tar.gz) = aec697afc7d23e31c7d58bc3197f50a845fffcfeb9e383ea3e3a3cdb5e6baf79adb68a5efe6894277cc5745882d897c3f03d78064358443e1966c3fa55073a04
-Size (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-linux-musl.tar.gz) = 466181263 bytes
-BLAKE2s (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-netbsd.tar.gz) = be78b46a5bb84f38986a800eeb0b40b89f31beeac8e769288ee81f4013a90d42
-SHA512 (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-netbsd.tar.gz) = 6ca6ac9dfde96e90190131a99bfb68d5af087f43d57ea71cc32d444c29279568a1304deb49647ae7b8a785c2294ee238aa06533934a6aa6a237a973e4c0f915a
-Size (rust-bin-1.78.0/rust-1.78.0-x86_64-unknown-netbsd.tar.gz) = 296732779 bytes
diff --git a/rust178-bin/files/install.sh b/rust178-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust178-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/rust178/DESCR b/rust178/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust178/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/rust178/HOWTO-BOOTSTRAP b/rust178/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust178/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/rust178/Makefile b/rust178/Makefile
deleted file mode 100644
index dd533d7388..0000000000
--- a/rust178/Makefile
+++ /dev/null
@@ -1,710 +0,0 @@
-# $NetBSD: Makefile,v 1.284 2023/06/19 14:46:47 bsiegert Exp $
-
-DISTNAME=	rustc-1.78.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
-
-# The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't
-# build on 7).  Mark earlier versions as broken.
-BROKEN_ON_PLATFORM+=	NetBSD-[1-7].*-*
-# Bootstrap is built for NetBSD 9.x on these platforms:
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-*arm*
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-aarch64
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-sparc64
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-powerpc
-BROKEN_ON_PLATFORM+=	NetBSD-8.*-i386
-
-HAS_CONFIGURE=		yes
-PYTHON_FOR_BUILD_ONLY=	yes
-CONFIG_SHELL=		${PYTHONBIN}
-CONFIGURE_SCRIPT=	src/bootstrap/configure.py
-CONFIGURE_ARGS+=	--prefix=${PREFIX}
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
-CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
-CONFIGURE_ARGS+=	--python=${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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# Rust builds some bundled components with strict version requirements, ensure
-# that any conflicting packages pulled in via dependencies are not buildlinked.
-BUILDLINK_FILES_CMD.libssh2=	${TRUE}
-BUILDLINK_FILES_CMD.xz=		${TRUE}
-MAKE_ENV+=			LZMA_API_STATIC=1
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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/android-sdk.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/debuglink.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/run.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/backtrace/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/core/src/unicode/printable.py
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/build-std-detect.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/dox.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/run-docker.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/run.sh
-CHECK_INTERPRETER_SKIP+=	lib/rustlib/src/rust/library/stdarch/ci/style.sh
-
-CHECK_PORTABILITY_SKIP+=	tests/run-make/dump-ice-to-disk/check.sh
-
-.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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.2
-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.77.1
-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.77.1
-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.77.1
-RUST_ARCH=		powerpc-unknown-netbsd
-
-# Cross-built against NetBSD 9.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-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.77.1
-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.77.1
-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.77.1
-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.77.1
-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.77.1
-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.77.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.77.1
-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.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/libc-0.2.151
-CKSUMS+=	6d0ed494ac7d7b2d4bc63bc913cf21df8f625ce57b5d4aa490c5457c772cb979
-CKSUMS+=	4d4b8d1e41d432c8b346ac1b3a8fd607be466999df0669c1beec3ccab5fa4d9a
-
-CKSUM_CRATES+=	vendor/libc
-CKSUMS+=	10b2369edc027fcb2e41e5342f24946aa01ee1549a6d7f06b9a3956ff84518bc
-CKSUMS+=	5357faa7191a248bb5b8cc17f9bdf56b60958851a9a6206c384ea94ba1f8dc24
-
-CKSUM_CRATES+=	vendor/cc-1.0.73
-CKSUMS+=	38970d678de0efb4b5e2978265daa8a613a1db35fc42e669621b03fc56d5b138
-CKSUMS+=	65de0d6593a4256e5fcaf898f9468d71bab672c70a2dfab3dcb8514e9b72819c
-
-CKSUM_CRATES+=	vendor/cc
-CKSUMS+=	71e55cf18e32dab3b9feae2add4ff57932a10084cc5aad4680c12eb3a91ed124
-CKSUMS+=	8cabd34e3fe6cabdbd5a7e324693ff13ee1ce4474ab861134df41666c0fdb99f
-
-CKSUM_CRATES+=	vendor/lzma-sys
-CKSUMS+=	6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
-CKSUMS+=	5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
-
-CKSUM_CRATES+=	vendor/stacker
-CKSUMS+=	59ca847887cf19387119d18c57f08d5a8520d714876ca0142b8f1c001ecde06b
-CKSUMS+=	03be8ae293b713fe6e9703e4809dd68caaec992bae6777914ffddae8da2a9bc7
-
-#CKSUM_CRATES+=	vendor/crossbeam-epoch-0.9.15
-#CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.16
-#CKSUMS+=	5f75132808d9e8d6e266fe77f9e20bbc35855a1c37a5dbc0940b3e989bca1a94
-#CKSUMS+=	6a23e8a00ef6410a009a662198f3fd5521308263bf08ba663ca49a96b2c3f179
-
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.17
-CKSUMS+=	31a8276afd38e39987a169eeb02e9bed32670de5ca36d7eb74aab7e506cf9dc4
-CKSUMS+=	ead4bda23c322bde8c01e48d4cd19b70e7b7e473a56466218d279f88463ab466
-
-CKSUM_CRATES+=	vendor/crossbeam-utils-0.8.18
-CKSUMS+=	31a8276afd38e39987a169eeb02e9bed32670de5ca36d7eb74aab7e506cf9dc4
-CKSUMS+=	ead4bda23c322bde8c01e48d4cd19b70e7b7e473a56466218d279f88463ab466
-
-CKSUM_CRATES+=	vendor/crossbeam-utils
-CKSUMS+=	31a8276afd38e39987a169eeb02e9bed32670de5ca36d7eb74aab7e506cf9dc4
-CKSUMS+=	ead4bda23c322bde8c01e48d4cd19b70e7b7e473a56466218d279f88463ab466
-
-CKSUM_CRATES+=	vendor/openssl-src
-CKSUMS+=	c87f041ff9ada85cddcb2a787788e05b2ab5ffc0a85f502fe7e3f7cbda59d49c
-CKSUMS+=	67b877964bc0e40c84669c423818a3cb39501eaedfc3f5caf9c33d4779c3d03f
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	4261f87c06e6505afd9f7bdafe5aebdd153a1c6f928203cec2dd125642d60fc1
-
-#CKSUM_CRATES+=	vendor/nix-0.26.2
-#CKSUMS+=	c3e13a2edea54d190a4b051f62efc97953c00b5051a9fda0e39e3bc732a31939
-#CKSUMS+=	263bd7ace66a4cfee3de18532f61c187327fcbd564666b4f97c4b01ae6885d98
-
-CKSUM_CRATES+=	vendor/aho-corasick
-CKSUMS+=	840065521cbd4701fa5b8b506d1537843d858c903f7cadf3c68749ea1780874b
-CKSUMS+=	626ce9b45dfded3d2eaf795a1d86be765a7d63eb4bcaf9d7b89add6f686f7ede
-CKSUMS+=	720735ea6c7ff92b081426513e6e82feed24a922849297bb538d28f7b8129f81
-CKSUMS+=	3a5d88cf1ce02dc1bc06aa7d7aad0fa6d63ca45246a47ebeae43b48544065dcc
-
-CKSUM_CRATES+=	vendor/portable-atomic
-CKSUMS+=	f3cbde2210b7275786334ac8baa6900da591f7dc72c1c15f958b059a4faec9e2
-CKSUMS+=	ca697782dcb716d78612f6dc74e6029e2f0c1312d26e64362ec347e5f45ac6dc
-
-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
-
-#
-# 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;						\
-		${PYTHONBIN} ./x.py -v					\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${PYTHONBIN} ./x.py -v					\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${PYTHONBIN} ./x.py -v					\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
-
-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-17.so 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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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*; 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/cmake/buildlink3.mk"
-.include "../../devel/zlib/buildlink3.mk"
-.include "../../lang/python/tool.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust178/buildlink3.mk b/rust178/buildlink3.mk
deleted file mode 100644
index 1e4c6a9c9d..0000000000
--- a/rust178/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.6 2020/07/08 14:46:14 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust178/cargo.mk b/rust178/cargo.mk
deleted file mode 100644
index 1181957f5b..0000000000
--- a/rust178/cargo.mk
+++ /dev/null
@@ -1,110 +0,0 @@
-# $NetBSD: cargo.mk,v 1.35 2023/05/16 06:10:52 wiz 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
-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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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
-
-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} ${PREFIX}/bin/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} ${PREFIX}/bin/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/rust178/cross.mk b/rust178/cross.mk
deleted file mode 100644
index 2984a3d058..0000000000
--- a/rust178/cross.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# $NetBSD: cross.mk,v 1.3 2020/07/16 09:35:37 jperkin 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-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/rust178/distinfo b/rust178/distinfo
deleted file mode 100644
index 3371330e10..0000000000
--- a/rust178/distinfo
+++ /dev/null
@@ -1,160 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = f417cefa62957fa377ad1127060c0ec78c62c98a844dcde0f0f0ff75cabce44f
-SHA512 (rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = 3f19d1da1631e2dc5918dccc2baa24e361739adc7fde9385950ba865c48a1d2645ae4a4cf25f9da1246f04b0fbb8a0c972f304c5bf51c5a312df0f5bb72faca7
-Size (rust-1.77.1-aarch64-unknown-netbsd.tar.xz) = 161209772 bytes
-BLAKE2s (rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 5423dd837f47538992a67313a83983b583148f670f561da1d2a256fc98b5e24d
-SHA512 (rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 449b8520f0904e15163e6a55bec5dcdb18c0e423b6dd2450f99dd061edcdbd33e9c4fe5dc874ab09b4efabd6199f9ad595f13ecd4d69d708c68f9fc54c1da6c4
-Size (rust-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 159858112 bytes
-BLAKE2s (rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 0636a7163287b690b93bcd81db0999777cb8bf21a59062a0fe60e050e178aaca
-SHA512 (rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = d68ef8f00f0d55a1bfce14a2878774259aca722d43c6e9ce7f8ebd6dc540393c84d3943f7dda9a79b240c12d87a9deb7d8a35b690bdef06a12434b8619a82e91
-Size (rust-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 139224332 bytes
-BLAKE2s (rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 58deb97caa4c3dcb2fb92cbd4ee5ba873292657b1b361ceeeeabad5d84134dca
-SHA512 (rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 94b8037e105e24fb716f35d30f6fbd19b8dc068303dfef0bb0fdb030da753633eb129d92ee6fbcee86429b2cad28af4a880de6b18ce1917b4163346b4d01f2ef
-Size (rust-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 139373196 bytes
-BLAKE2s (rust-1.77.1-i586-unknown-netbsd.tar.xz) = ec8824e5faf40055491a5f0346f856b125a0c9875782af941165fb9c02a3c642
-SHA512 (rust-1.77.1-i586-unknown-netbsd.tar.xz) = ea3238fcf820aff0733abc1d6c1ce6ad3cb55c5e45e5e8f6bb074b1a1e655fd9aaff1c1eb71aea980f5ebb9560ce809dbd58d539849033173db3aee064efdca7
-Size (rust-1.77.1-i586-unknown-netbsd.tar.xz) = 175473176 bytes
-BLAKE2s (rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = 45dac0770622c7fadf825f5b37b8d7386d62aa11fd38c0b98b7c3eca79ccb577
-SHA512 (rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = f5e995ab0ec24ef03232606385f57120d61529fe51003d1978cf23bec4773ee9796d23ca517fe1cd79753540a305e42e5b640856daf6e5a0835deaeaa8cb2603
-Size (rust-1.77.1-powerpc-unknown-netbsd.tar.xz) = 187015936 bytes
-BLAKE2s (rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 75100a68d7a1bb05f4e973e36dd23c1e678f222c17277eb786531a4c06b4521c
-SHA512 (rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 08d82d4bc0f3cd5478733adb69e67ef177a935b38e5d66adf7a99ceb4bed6a61b04367bd69ae1333df2614806104834d84f58b40e38acf713936dbb77635e490
-Size (rust-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 172460240 bytes
-BLAKE2s (rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = f45da067891765b9ea3ae4558769ba59042deeb61e90f378626ca55a5e2b3065
-SHA512 (rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = d81ff19d0f47a57c5cd97bdc2f69979aa8d90a105f65d1403e9504964dddc59af10da078a54956cdf6e24d1d1df0b12c938609c640dcc95e7c4d2be5c2a197ce
-Size (rust-1.77.1-sparc64-unknown-netbsd.tar.xz) = 156139656 bytes
-BLAKE2s (rust-1.77.1-x86_64-unknown-netbsd.tar.xz) = 74b1fd48da38a8bf26ba86dd65a5b5b0da6db7935795ae08f0882e39c585d9f9
-SHA512 (rust-1.77.1-x86_64-unknown-netbsd.tar.xz) = ebd747a1884f4a2778ed8939b5d7ccfdf85f6ded717747a6892b8bd697839f209608cedea6e5087a54b5a8b1d98013e56fa7cdb0169f81674ff354b31f13e931
-Size (rust-1.77.1-x86_64-unknown-netbsd.tar.xz) = 153136764 bytes
-BLAKE2s (rust-1.77.2-aarch64-apple-darwin.tar.gz) = 7da34767db62eb82c5a5c328ede881a0d937542c500bf4026b8ae4099ee50231
-SHA512 (rust-1.77.2-aarch64-apple-darwin.tar.gz) = 15a7e10755adb9ec053a68358deb865d3c980d84b39b77047a54da479fca978d4f435174557a7e2b09435305607699872318b089c6d68541fac11a61c8d23f69
-Size (rust-1.77.2-aarch64-apple-darwin.tar.gz) = 247103778 bytes
-BLAKE2s (rust-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 70fc926e4bdaf1a8eda3687ad00ebbe466d4ce34970962a58cc7086a689c5463
-SHA512 (rust-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 74911677657cefc8d987e10a7cacd0806d81847232154cdb0573e8dece1413fc6035eed62b8a89fe96b96c3df43471e53d626df33df8ab07dcab56500246f2c1
-Size (rust-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 454853476 bytes
-BLAKE2s (rust-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = d6af4aeb4511d55fb2fae28b0c5a9e3023da63711184c5d27948dd1df97a2de9
-SHA512 (rust-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = 5a00390f9ca344de2a3f6a1c2cb87f820a86b1ce657b5a0b8a50340dbc1c87a442b3c3b051d4708a3da30672e3a237894e7d37256aa4f09c09cef8bd8497b357
-Size (rust-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = 343398247 bytes
-BLAKE2s (rust-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = 2baa71e30524f9f8984962fa0fc7b0943756150430c871ae5b336e63e2177db4
-SHA512 (rust-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = 92b834471c0d3603e5d49f167a1f5a3020c466f3fd18c09b12531c5719befc2eac9ba3f3de74f7ea0ef80fca5acc2291501329fa61d1f348a18bbec90792557a
-Size (rust-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = 332520230 bytes
-BLAKE2s (rust-1.77.2-i686-unknown-linux-gnu.tar.gz) = 08ddb4fea49c0de0e5af1341fc6c24675d3f789683bd7af0f3af86324c3114f1
-SHA512 (rust-1.77.2-i686-unknown-linux-gnu.tar.gz) = 3acb914c5cf823ff68b700257e16dc0ca18533b094e2c46cb7b49cb3f6b47cc218ad037960c5ac4f954c730bf8a3649d4ac9be9d0f940cb44cfcb8df48966991
-Size (rust-1.77.2-i686-unknown-linux-gnu.tar.gz) = 406032381 bytes
-BLAKE2s (rust-1.77.2-x86_64-apple-darwin.tar.gz) = 1e54776c0df9a170b318883b8ccd0296df15fb68e7f03e14d124a36aa875a32a
-SHA512 (rust-1.77.2-x86_64-apple-darwin.tar.gz) = 3f2ddfda0124c57b57426d04744683e77db56a57e1201c5be744f1fba9fe6232d156c7f8dc0551865e8a6a31633060b5f000a76b409d157177bc741616aa0690
-Size (rust-1.77.2-x86_64-apple-darwin.tar.gz) = 328060087 bytes
-BLAKE2s (rust-1.77.2-x86_64-unknown-freebsd.tar.gz) = 60ac669d8ed61a7e4badb55138a95420dba5fb0f6ef7a801158f36e29970f54b
-SHA512 (rust-1.77.2-x86_64-unknown-freebsd.tar.gz) = e2afe9028ed16c691cc0737d3dca8c25cd413262a5767038ca4eb93c168d1463758061dc6c8cd9e56270cb1bb02c526cec72049656c2218e84104e3bb757768d
-Size (rust-1.77.2-x86_64-unknown-freebsd.tar.gz) = 304173540 bytes
-BLAKE2s (rust-1.77.2-x86_64-unknown-illumos.tar.gz) = b65e4ce0e4530691446164c07f56ccc1ca87db220329cb3e4ff8df5cafe9dd03
-SHA512 (rust-1.77.2-x86_64-unknown-illumos.tar.gz) = 167c371517899c8ab4e3fc7236a4a2df73d125566cc447905ee94c6ac2c386eaedbf12ef2125e1d0f6ba9b3183fef70fc25c5d852c64715875d23ac7a39a7939
-Size (rust-1.77.2-x86_64-unknown-illumos.tar.gz) = 205206730 bytes
-BLAKE2s (rust-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = 64d51e1e1b029b07c0ee33313e9559b42cc6735791dd341df0af9a2545b2c96f
-SHA512 (rust-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = f5fe1ebb856873e5f9f45149ec7736a13fc5ea6ce973dc2df46f38bf0fab34d5d09281aa2f7749908e4c00ad751c39778fd034ff20d8210ad6aeb3dd5eacd0df
-Size (rust-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = 317256728 bytes
-BLAKE2s (rust-std-1.77.1-aarch64-unknown-netbsd.tar.xz) = 6c81a850cf50f69e73160baf9bb159073c7269f5568f53ba6cb7898cee96089f
-SHA512 (rust-std-1.77.1-aarch64-unknown-netbsd.tar.xz) = e947955022d39e9f5b20de38e4531b6f564b23a942c34ed5f673ae4043c5b916eafeea803f537e794afc81a597d64ca1c115067312b3f1b7c582fcec7838362e
-Size (rust-std-1.77.1-aarch64-unknown-netbsd.tar.xz) = 22769120 bytes
-BLAKE2s (rust-std-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 7c0740d555c35930695d3a987a5dc6614308dcce5fab93fd670a32cee2d10af6
-SHA512 (rust-std-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 24c1aa3306701a8d3eea284fe316a7b369a2b6d97716a7de339561ed3e3090456fa503c0ec1d3272ac91591b2e231fda44bbd5c32f06ca55c2072233851070e6
-Size (rust-std-1.77.1-aarch64_be-unknown-netbsd.tar.xz) = 22754836 bytes
-BLAKE2s (rust-std-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 27f3562f278c2935c136d578db1eb4c1ddfe12ac1ec0b9729e5095d95395d996
-SHA512 (rust-std-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 93a36cd0754975d13c7a60b31d0a69765c8894234422a4447b2f04531642421504e68d408ded1ff0f695050b403666e893d14f4eabe4cb6c2a22c7a1a40c9a2b
-Size (rust-std-1.77.1-armv6-unknown-netbsd-eabihf.tar.xz) = 21355204 bytes
-BLAKE2s (rust-std-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 5d081f5d3a125e6dc333b1324b268c4a5e0d7a3af407caca8b0fa501342e8734
-SHA512 (rust-std-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = aa882882209758561474b205ec3d1b5db0341c0ede6f00d0b4b6c72a1f860981f3f9cfc8413677ae05b14eb49bd8849283550c617570dd5e336796a84f7547d0
-Size (rust-std-1.77.1-armv7-unknown-netbsd-eabihf.tar.xz) = 22215380 bytes
-BLAKE2s (rust-std-1.77.1-i586-unknown-netbsd.tar.xz) = f135396d338d18c989e58118a32a4e0b70a3db1d5fc31ca6d9ddcf3457d31668
-SHA512 (rust-std-1.77.1-i586-unknown-netbsd.tar.xz) = 6f587278c8a3e22f2aa129caecd02358910cf7f0ed1da9dbe0fd365771f21ed9e3c77af8f4a72bd16744577f33bda6e7647d30d83b93b449e70b1f58f621f265
-Size (rust-std-1.77.1-i586-unknown-netbsd.tar.xz) = 23235572 bytes
-BLAKE2s (rust-std-1.77.1-powerpc-unknown-netbsd.tar.xz) = d574f27b69b0370e9d3fc9e79a553ca944c98c5ca2781ece4eaf1e74d8b83482
-SHA512 (rust-std-1.77.1-powerpc-unknown-netbsd.tar.xz) = 239dfe6a37fd4e152424326e0b93cc6de7715a87d7776ffe5d0bccc98c342ea68afc875ecd870b0280b484194ce2d600c6c12f78026f3c189b2ab3ab45b90f8b
-Size (rust-std-1.77.1-powerpc-unknown-netbsd.tar.xz) = 21532136 bytes
-BLAKE2s (rust-std-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 6ab10d83da1b503d6c8c0ed65fc1b8ffec2e2733d7ec0671e8387c7469433d8d
-SHA512 (rust-std-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = c02d9b1068fb153b795f7106c1373e0dc6baa7697cb403ef9385d552bf84c540f837dab56e28e0b814045f411fca8b626225ada8b15772ec46d7118bb7f9b9f0
-Size (rust-std-1.77.1-riscv64gc-unknown-netbsd.tar.xz) = 21521640 bytes
-BLAKE2s (rust-std-1.77.1-sparc64-unknown-netbsd.tar.xz) = 307b35670983e097d2a6264e1d61e29ada88758ac4215d4ceccdfdb13f6810ea
-SHA512 (rust-std-1.77.1-sparc64-unknown-netbsd.tar.xz) = 4595808d2a7ecabc08204cd228ab5e1186c17c934a73ca83859ae3a245b4fc93528bf0b5a48a57dca63a3bca8fa95516246ae1381544fd17446973a099191a65
-Size (rust-std-1.77.1-sparc64-unknown-netbsd.tar.xz) = 21480940 bytes
-BLAKE2s (rust-std-1.77.1-x86_64-unknown-netbsd.tar.xz) = a43cac7ed2d318f8dcd43e7c78e5d3ceb2d5ee41387c4072dce14175ae1f13bc
-SHA512 (rust-std-1.77.1-x86_64-unknown-netbsd.tar.xz) = 4a50f26bf4021b036012e4aca5667ac775f215388e39300d0b8cfb96982f6cc1f4a5a7bab1128eb16779063f04a4c47e715c3d84228536feac3cf1b1f8004058
-Size (rust-std-1.77.1-x86_64-unknown-netbsd.tar.xz) = 23559612 bytes
-BLAKE2s (rust-std-1.77.2-aarch64-apple-darwin.tar.gz) = 113fd06385e96d13aa2fd3927f6962a640e7204946ebc6677db025bd26ad7280
-SHA512 (rust-std-1.77.2-aarch64-apple-darwin.tar.gz) = 35c637bbf33225d11c4b4bee1c5ae2132e2c43356333c6b79ec9c80c6423c40da8154250199baa55d44bbd1a48522ebfa889e0128f83ff8a48288077ecb6e2b6
-Size (rust-std-1.77.2-aarch64-apple-darwin.tar.gz) = 40411220 bytes
-BLAKE2s (rust-std-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 6615d943fd8f8378951781793dd99f04a52df2b0abc5d3e02d00197029a82aeb
-SHA512 (rust-std-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 03e3182e87702d698c77afdbe3ea8bdc44d111c4a4bfa60910b171cbe01c126d15ea1c91d4344523601ab5da4e809d5206168218fdf6e37e619822313d20db1d
-Size (rust-std-1.77.2-aarch64-unknown-linux-gnu.tar.gz) = 64717761 bytes
-BLAKE2s (rust-std-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = 92290d6ad376abcc644d134214335874f0e74bdc5cb0ab660bfa333e5245a50f
-SHA512 (rust-std-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = e9558f794e8717a73e3af7ce3295d57e4af4570cd1db0cf7bf3a6cd9cc6aae39c698e17cde9a21895b53f7261da3822f35429d3b2298de8ed3194b85343dd4e0
-Size (rust-std-1.77.2-arm-unknown-linux-gnueabihf.tar.gz) = 37104486 bytes
-BLAKE2s (rust-std-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = 759613f28565ba413b5670996384975675211093657774b55519f9de3c9f2b69
-SHA512 (rust-std-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = c19967e49257ead60a2092c0dda2434d53729ab0291c23df8f0f4d5f15d53de512fc7bd714847bfb7e835509dccddc1d9c1561bf8fbcd9459c77fd230cb5571e
-Size (rust-std-1.77.2-armv7-unknown-linux-gnueabihf.tar.gz) = 38341291 bytes
-BLAKE2s (rust-std-1.77.2-i686-unknown-linux-gnu.tar.gz) = 903c74ce81af6c98d9f11a68afd20abdd4f0f84cdf9ccc6f80cdb74809a9f404
-SHA512 (rust-std-1.77.2-i686-unknown-linux-gnu.tar.gz) = 632f537068d71b85cea0dbc085adcfc4dee568efbd650325ad6d0d6b8b47f3c7b8e097b2f3584b57dfa847188d990d8e26eb2acf94748c6ddb9340fd0e9ee301
-Size (rust-std-1.77.2-i686-unknown-linux-gnu.tar.gz) = 40040349 bytes
-BLAKE2s (rust-std-1.77.2-x86_64-apple-darwin.tar.gz) = 7b75636d2c5aee1b5b66966775e0fc9c2edfd705bb1d6477e8d42da554573dc4
-SHA512 (rust-std-1.77.2-x86_64-apple-darwin.tar.gz) = 9a81f56996b1124cb792c05aa55dad468fb775493a1a1f7695fdc931942c50d6ea106feb37ed6cb510281c30a17469d01bb359b97b5290edd77ff113db095fec
-Size (rust-std-1.77.2-x86_64-apple-darwin.tar.gz) = 42017389 bytes
-BLAKE2s (rust-std-1.77.2-x86_64-unknown-freebsd.tar.gz) = 563e3d302c85c15c6fb5a41d41af41675e168fb26bbd3634c864513308480ac9
-SHA512 (rust-std-1.77.2-x86_64-unknown-freebsd.tar.gz) = 02d1a8ff2de7a510b698686ce8cf1f939dc1db355bcd071ec4b6557a6127ec44815246782205d29c78044882b225121788a7861bf70663e37640261dd3629f68
-Size (rust-std-1.77.2-x86_64-unknown-freebsd.tar.gz) = 42971269 bytes
-BLAKE2s (rust-std-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = b585beefcf9356f91d941e44ca830ea0e9b1065a830f2b05cdf697b410920c0a
-SHA512 (rust-std-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = ccc4207abf25a34b2c73dc79da16c38d5d6cc329ced010754ced52f1188da6bec49ee39375f89ee3feb7f74a0d4e94d62883033b8ed9072e1f1257a9955fe2ef
-Size (rust-std-1.77.2-x86_64-unknown-linux-gnu.tar.gz) = 44822691 bytes
-BLAKE2s (rustc-1.78.0-src.tar.gz) = 5ea6f12f7d68d07af9cba4074ed1968315bc151a7c491d65ee7347091d827b7f
-SHA512 (rustc-1.78.0-src.tar.gz) = ba3fa6ea78cb12d0956d0526bcb243b83a81cbb3aa7a01805817f1210802eed0df3e4396e4f83695a68a8765675e77ebdc702723743cb3c6b2895c84c7d11fe2
-Size (rustc-1.78.0-src.tar.gz) = 284630812 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 6c8f8bbacc544b63b20a9546ffe8ca5d74b6f4d4
-SHA1 (patch-compiler_rustc__llvm_build.rs) = a4a66d449fc9eb99d648d02a041778a68f4f7ce8
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = 7d910631f49acf2c33fdd191fd3e0f261efae234
-SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = a22b5d28997ed9a5565deec9c34322165d563d00
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs) = b0a26945a8640d53eabca16c27c99fc27c8e5623
-SHA1 (patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs) = bd4f1086033ab21160f1edba1d255ffb4451cbcf
-SHA1 (patch-compiler_rustc__target_src_spec_targets_armv6__unknown__netbsd__eabihf.rs) = d608a14638e610bb11199b77ad113a40b8aa3f62
-SHA1 (patch-compiler_rustc__target_src_spec_targets_armv7__unknown__netbsd__eabihf.rs) = 11a8c80938dfd1675182a94f599b60cbd5b69a52
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs) = e97b7978cc525db7eadf967d51f4818a3c145754
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 1ab343595e65ff6348f83cffc30e53d764485ff8
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-library_std_src_sys_pal_unix_thread.rs) = 74a04665236d8c13378f6ced00c37325aaba8b22
-SHA1 (patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs) = 9b073ba37a644c5094c48f33e49578ac026e16ff
-SHA1 (patch-src_bootstrap_bootstrap.py) = 5cd73003292c935ce0e405edd132180233a04857
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = 4696304623232acd419ad15597f539a10a014271
-SHA1 (patch-src_bootstrap_src_core_build__steps_install.rs) = 5ce8085f197fc6a2017d99698cc0ef60eea25fe3
-SHA1 (patch-src_bootstrap_src_core_builder.rs) = 57bf8e00ea863e5908f46e10bb208d7bc0b5d031
-SHA1 (patch-src_bootstrap_src_lib.rs) = d29bc3c0b335d5e788eecbb02fc08966beef0fb1
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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) = 60713699c968f3e389f486e796009d31a5048906
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-vendor_aho-corasick_src_packed_teddy_builder.rs) = cdd3ea21c270fa7a66ffe24adf93d7f871fd8441
-SHA1 (patch-vendor_aho-corasick_src_packed_vector.rs) = 3205c7f698079e045726bfe17a372f71758ab9dd
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = b93148ff72a60a17c6a444f2616386c40d872153
-SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 308538090d9ce11d206d6eef0e675581a1fc6e80
-SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 98acea9fb98898f63bbb0f6555df5e4b15da2b85
-SHA1 (patch-vendor_cc_src_lib.rs) = b205e3e8138ce0843ab622b230dd8af2b8781d6f
-SHA1 (patch-vendor_crossbeam-utils-0.8.17_no__atomic.rs) = 43ba3d5ed59446d4c1f4b39cc3bafda5d6ae1795
-SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
-SHA1 (patch-vendor_crossbeam-utils_no__atomic.rs) = bb0c38a8aedf41957f2a1556d021eef171cfd617
-SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs) = 0895df54084281263b9dae67e57f68168fb66bd4
-SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 8699853de4225d4e5953d6bf17b59bc463fa7b5d
-SHA1 (patch-vendor_libc-0.2.151_src_unix_solarish_mod.rs) = 50a296ba939f8c12a445526b16f50e8111a762a7
-SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 4d16d9545b4bee3155664c4e7ce12082a7f4400e
-SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437
-SHA1 (patch-vendor_openssl-src_openssl_Configurations_10-main.conf) = 64f513fe8302066ff8ce3c8459c23c1bfdcf9562
-SHA1 (patch-vendor_openssl-src_src_lib.rs) = d7fce1d3b87261bc6d8a12be41e31816727cf917
-SHA1 (patch-vendor_openssl-sys_build_find__normal.rs) = 98927415bd3517a7492b87da99c8933c19c7299e
-SHA1 (patch-vendor_openssl-sys_build_main.rs) = 2832c072ddce399f467442e271983bc7176b42bc
-SHA1 (patch-vendor_portable-atomic_no__atomic.rs) = 796032bfc8ea80d6ec0a398ecbdd6b31136d7242
-SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
-SHA1 (patch-vendor_stacker_src_lib.rs) = e00a1e95eb16540ff182715db778bf97ebd07a5e
-SHA1 (patch-vendor_target-lexicon_src_targets.rs) = 65ffbc524705bddd5233b3766b3f271dfea5d625
-SHA1 (patch-vendor_valuable_no__atomic.rs) = 3a40cb846bf1fae864c55a0ddba8fdeb5efcba72
diff --git a/rust178/do-cross.mk b/rust178/do-cross.mk
deleted file mode 100644
index 2c8bbec90d..0000000000
--- a/rust178/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/rust178/files/gcc-wrap b/rust178/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust178/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/rust178/options.mk b/rust178/options.mk
deleted file mode 100644
index 3557dba720..0000000000
--- a/rust178/options.mk
+++ /dev/null
@@ -1,74 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-# 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).
-.if ${MACHINE_PLATFORM:MNetBSD-10.*-sparc64}
-.  if !empty(PKG_OPTIONS:Mrust-internal-llvm)
-# Require GCC 12 (from pkgsrc) to correctly build the embedded LLVM (17.x).
-GCC_REQD+=	12
-.  endif
-.endif
-
-# 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
-
-PKG_OPTIONS_LEGACY_OPTS+=	rust-llvm:rust-internal-llvm
-
-.include "../../mk/bsd.options.mk"
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.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}
-.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/rust178/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust178/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index 21e000a69a..0000000000
--- a/rust178/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Do not use @rpath on Darwin.
-
---- compiler/rustc_codegen_ssa/src/back/linker.rs.orig	2022-12-12 16:02:12.000000000 +0000
-+++ compiler/rustc_codegen_ssa/src/back/linker.rs
-@@ -318,7 +318,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.linker_args(&[OsString::from("-install_name"), rpath]);
-             }
diff --git a/rust178/patches/patch-compiler_rustc__llvm_build.rs b/rust178/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index b000456d6d..0000000000
--- a/rust178/patches/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD$
-
-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/rust178/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index c1ed446d2f..0000000000
--- a/rust178/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::{cvs, RelroLevel, TargetOptions};
-+use crate::spec::{cvs, Cc, Lld, RelroLevel, LinkerFlavor, TargetOptions};
- 
- pub 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/rust178/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 324f6c804d..0000000000
--- a/rust178/patches/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-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/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index fec351d519..0000000000
--- a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. http://gnats.netbsd.org/58154, and this is responsible for the
-build misery experienced earlier, ref.
-https://github.com/rust-lang/rust/issues/123551
-Turn it off for now on arm64.
-Ideally should check whether the specific OS version has the fix
-or not, but e.g. __NetBSD_Version__ isn't easily available here
-that I know, and this goes against the attitude that OS version
-should matter as long as it's >= supported version.
-So until the fix for NetBSD PR#58154 has propagated to releases,
-this is what we do.
-
---- 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/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index a99b41e446..0000000000
--- a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-NetBSD aarch64 has a bug in the thread-local storage implementation,
-ref. http://gnats.netbsd.org/58154, and this is responsible for the
-build misery experienced earlier, ref.
-https://github.com/rust-lang/rust/issues/123551
-Turn it off for now on arm64.
-Ideally should check whether the specific OS version has the fix
-or not, but e.g. __NetBSD_Version__ isn't easily available here
-that I know, and this goes against the attitude that OS version
-should matter as long as it's >= supported version.
-So until the fix for NetBSD PR#58154 has propagated to releases,
-this is what we do.
-
---- 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/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv6__unknown__netbsd__eabihf.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv6__unknown__netbsd__eabihf.rs
deleted file mode 100644
index 3c9c501c72..0000000000
--- a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv6__unknown__netbsd__eabihf.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Turn off use of thread local storage on 32-bit arm, due to
-NetBSD PR#58550, which is fixed with
-https://mail-index.netbsd.org/source-changes/2020/06/16/msg118407.html
-but isn't present in netbsd-9, which presently has revisions 1.1-1.44 +
-1.46, but not 1.45 which fixes htis problem.
-
---- compiler/rustc_target/src/spec/targets/armv6_unknown_netbsd_eabihf.rs.orig	2024-08-04 09:47:25.621735345 +0000
-+++ compiler/rustc_target/src/spec/targets/armv6_unknown_netbsd_eabihf.rs
-@@ -17,6 +17,7 @@ pub fn target() -> Target {
-             features: "+v6,+vfp2,-d32".into(),
-             max_atomic_width: Some(64),
-             mcount: "__mcount".into(),
-+            has_thread_local: false, // Attempt to get 9.0 working...
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv7__unknown__netbsd__eabihf.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv7__unknown__netbsd__eabihf.rs
deleted file mode 100644
index c5e79a7ca1..0000000000
--- a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_armv7__unknown__netbsd__eabihf.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Turn off use of thread local storage on 32-bit arm, due to
-NetBSD PR#58550, which is fixed with
-https://mail-index.netbsd.org/source-changes/2020/06/16/msg118407.html
-but isn't present in netbsd-9, which presently has revisions 1.1-1.44 +
-1.46, but not 1.45 which fixes htis problem.
-
---- compiler/rustc_target/src/spec/targets/armv7_unknown_netbsd_eabihf.rs.orig	2024-08-04 09:45:48.159906022 +0000
-+++ compiler/rustc_target/src/spec/targets/armv7_unknown_netbsd_eabihf.rs
-@@ -17,6 +17,7 @@ pub fn target() -> Target {
-             features: "+v7,+vfp3,-d32,+thumb2,-neon".into(),
-             max_atomic_width: Some(64),
-             mcount: "__mcount".into(),
-+            has_thread_local: false, // Attempt to get 9.0 working...
-             ..base::netbsd::opts()
-         },
-     }
diff --git a/rust178/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust178/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index e4ff43501d..0000000000
--- a/rust178/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 crate::abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub 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/rust178/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust178/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 0ed9af7822..0000000000
--- a/rust178/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	2022-04-04 09:41:26.000000000 +0000
-+++ library/backtrace/src/symbolize/gimli.rs
-@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
-         target_os = "ios",
-         target_os = "linux",
-         target_os = "macos",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust178/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust178/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index c8ee922920..0000000000
--- a/rust178/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust178/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust178/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust178/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust178/patches/patch-library_std_src_sys_pal_unix_thread.rs b/rust178/patches/patch-library_std_src_sys_pal_unix_thread.rs
deleted file mode 100644
index 1756e361ff..0000000000
--- a/rust178/patches/patch-library_std_src_sys_pal_unix_thread.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD$
-
-Fix stack-clash on SunOS.
-
-...and fix the "count CPUs in affinity set" to work on i32 NetBSD ports.
-
---- library/std/src/sys/pal/unix/thread.rs.orig	2024-03-17 19:03:00.000000000 +0000
-+++ library/std/src/sys/pal/unix/thread.rs
-@@ -388,7 +388,7 @@ pub fn available_parallelism() -> io::Re
-                     if !set.is_null() {
-                         let mut count: usize = 0;
-                         if libc::pthread_getaffinity_np(libc::pthread_self(), libc::_cpuset_size(set), set) == 0 {
--                            for i in 0..u64::MAX {
-+                            for i in 0..libc::cpuid_t::MAX {
-                                 match libc::_cpuset_isset(i, set) {
-                                     -1 => break,
-                                     0 => continue,
-@@ -819,7 +819,7 @@ pub mod guard {
-         let page_size = os::page_size();
-         PAGE_SIZE.store(page_size, Ordering::Relaxed);
- 
--        if cfg!(all(target_os = "linux", not(target_env = "musl"))) {
-+        if cfg!(all(target_os = "solaris", all(target_os = "linux", not(target_env = "musl")))) {
-             // Linux doesn't allocate the whole stack right away, and
-             // the kernel has its own stack-guard mechanism to fault
-             // when growing too close to an existing mapping. If we map
diff --git a/rust178/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs b/rust178/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
deleted file mode 100644
index 76757ba982..0000000000
--- a/rust178/patches/patch-library_std_src_sys_pal_unix_thread__parking_netbsd.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-$NetBSD$
-
-Try to cast to make this build, to avoid
-
-error[E0277]: the trait bound `i32: core::convert::From<u32>` is not satisfied
-  --> library/std/src/sys/unix/thread_parking/netbsd.rs:37:37
-   |
-37 |         tv_nsec: dur.subsec_nanos().into(),
-   |                                     ^^^^ the trait `core::convert::From<u32>` is not implemented for `i32`
-   |
-   = help: the following other types implement trait `core::convert::From<T>`:
-             <i32 as core::convert::From<NonZeroI32>>
-             <i32 as core::convert::From<bool>>
-             <i32 as core::convert::From<i16>>
-             <i32 as core::convert::From<i8>>
-             <i32 as core::convert::From<u16>>
-             <i32 as core::convert::From<u8>>
-   = note: required for `u32` to implement `core::convert::Into<i32>`
-
-For more information about this error, try `rustc --explain E0277`.
-
-This to un-break the 32-bit ports ... again.
-
---- library/std/src/sys/pal/unix/thread_parking/netbsd.rs.orig	2024-03-22 14:07:26.254534488 +0000
-+++ library/std/src/sys/pal/unix/thread_parking/netbsd.rs
-@@ -34,7 +34,7 @@ pub fn park_timeout(dur: Duration, hint:
-         // Saturate so that the operation will definitely time out
-         // (even if it is after the heat death of the universe).
-         tv_sec: dur.as_secs().try_into().ok().unwrap_or(time_t::MAX),
--        tv_nsec: dur.subsec_nanos().into(),
-+        tv_nsec: (dur.subsec_nanos() as libc::c_long).into(),
-     };
- 
-     // Timeout needs to be mutable since it is modified on NetBSD 9.0 and
diff --git a/rust178/patches/patch-src_bootstrap_bootstrap.py b/rust178/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 20489b8ae1..0000000000
--- a/rust178/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.4 2020/02/17 20:24:18 jperkin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -271,6 +271,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]
-@@ -374,10 +379,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':
-@@ -735,7 +746,7 @@ class RustBuild(object):
-         rpath_entries = [
-             # Relative default, all binary and dynamic libraries we ship
-             # appear to have this (even when `../lib` is redundant).
--            "$ORIGIN/../lib",
-+            "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--set-rpath", ":".join(rpath_entries)]
diff --git a/rust178/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust178/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index a14e2a2bd8..0000000000
--- a/rust178/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-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
-@@ -626,7 +626,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(&dst, &format!("@rpath/{}", &runtime.name));
-+            apple_darwin_update_library_name(&dst, &format!("@PREFIX@/lib/{}", &runtime.name));
-             // Upon renaming the install name, the code signature of the file will invalidate,
-             // so we will sign it again.
-             apple_darwin_sign_file(&dst);
diff --git a/rust178/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust178/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8be5bb2d6e..0000000000
--- a/rust178/patches/patch-src_bootstrap_src_core_build__steps_install.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Install docs into "rust" directory, as versions prior 1.78.0 did.
-
---- src/bootstrap//src/core/build_steps/install.rs.orig	2024-05-24 12:04:39.240454631 +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/rust178/patches/patch-src_bootstrap_src_core_builder.rs b/rust178/patches/patch-src_bootstrap_src_core_builder.rs
deleted file mode 100644
index f96f1e470c..0000000000
--- a/rust178/patches/patch-src_bootstrap_src_core_builder.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Use @PREFIX@, not $ORIGIN in rpath.
-
---- src/bootstrap/src/core/builder.rs.orig	2024-02-04 13:18:05.000000000 +0000
-+++ src/bootstrap/src/core/builder.rs
-@@ -2416,7 +2416,7 @@ impl Cargo {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !target.contains("xous") {
-                 self.rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/{libdir}"))
-             } else {
-                 None
-             };
diff --git a/rust178/patches/patch-src_bootstrap_src_lib.rs b/rust178/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index 6eae1d06df..0000000000
--- a/rust178/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust178/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust178/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index 2477a555c8..0000000000
--- a/rust178/patches/patch-src_llvm-project_llvm_CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-src_llvm-project_llvm_CMakeLists.txt,v 1.1 2019/04/14 12:42:03 he 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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust178/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust178/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index b213c40364..0000000000
--- a/rust178/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.3 2020/08/06 11:42:56 jperkin 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/rust178/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust178/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 7250a1f149..0000000000
--- a/rust178/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.1 2019/04/14 12:42:03 he 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/rust178/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust178/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 37d491478d..0000000000
--- a/rust178/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.1 2019/04/14 12:42:03 he 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/rust178/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust178/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index 02c93ff2ec..0000000000
--- a/rust178/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.2 2019/10/02 12:51:43 he 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/rust178/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust178/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index ac9ad7239c..0000000000
--- a/rust178/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.3 2019/03/07 20:19:11 jperkin 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/rust178/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust178/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index 7ffba0f965..0000000000
--- a/rust178/patches/patch-src_tools_cargo_tests_testsuite_build.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-src_tools_cargo_tests_testsuite_build.rs,v 1.5 2019/08/29 14:09:57 he Exp $
-
-Don't attempt incremental operations on sparc64, ref.
-https://sources.debian.org/patches/cargo/0.29.0-1/2007_sparc64_disable_incremental_build.patch/
-
---- src/tools/cargo/tests/testsuite/build.rs.orig	2019-08-13 06:27:40.000000000 +0000
-+++ src/tools/cargo/tests/testsuite/build.rs
-@@ -47,6 +47,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()
-@@ -69,6 +70,7 @@ fn cargo_compile_incremental() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_profile() {
-     let p = project()
-@@ -111,6 +113,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[cargo_test]
- fn incremental_config() {
-     let p = project()
diff --git a/rust178/patches/patch-src_tools_rust-installer_install-template.sh b/rust178/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index d4036445de..0000000000
--- a/rust178/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.5 2021/06/09 13:42:30 adam 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/rust178/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs b/rust178/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
deleted file mode 100644
index 53070c8c9d..0000000000
--- a/rust178/patches/patch-vendor_aho-corasick_src_packed_teddy_builder.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
---- vendor/aho-corasick/src/packed/teddy/builder.rs.orig	2024-02-18 10:54:27.960401196 +0000
-+++ vendor/aho-corasick/src/packed/teddy/builder.rs
-@@ -230,7 +230,7 @@ impl Builder {
-                 }
-             }
-         }
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
-         {
-             use self::aarch64::SlimNeon;
- 
-@@ -301,7 +301,7 @@ impl Builder {
-         }
-         #[cfg(not(any(
-             all(target_arch = "x86_64", target_feature = "sse2"),
--            target_arch = "aarch64"
-+            all(target_arch = "aarch64", target_feature = "neon", target_endian = "little")
-         )))]
-         {
-             None
-@@ -705,7 +705,7 @@ mod x86_64 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
- mod aarch64 {
-     use core::arch::aarch64::uint8x16_t;
- 
diff --git a/rust178/patches/patch-vendor_aho-corasick_src_packed_vector.rs b/rust178/patches/patch-vendor_aho-corasick_src_packed_vector.rs
deleted file mode 100644
index a5ba47a39b..0000000000
--- a/rust178/patches/patch-vendor_aho-corasick_src_packed_vector.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- vendor/aho-corasick/src/packed/vector.rs.orig	2024-02-18 10:12:16.371081231 +0000
-+++ vendor/aho-corasick/src/packed/vector.rs
-@@ -595,7 +595,7 @@ mod x86_64_avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_feature = "neon", target_endian = "little"))]
- mod aarch64_neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli.rs b/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 367e90786a..0000000000
--- a/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Do mmap on NetBSD as well.
-
---- ./vendor/backtrace/src/symbolize/gimli.rs.orig	2022-04-04 11:10:55.000000000 +0000
-+++ ./vendor/backtrace/src/symbolize/gimli.rs
-@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
-         target_os = "ios",
-         target_os = "linux",
-         target_os = "macos",
-+        target_os = "netbsd",
-         target_os = "openbsd",
-         target_os = "solaris",
-         target_os = "illumos",
diff --git a/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs b/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index ad3afcd8d1..0000000000
--- a/rust178/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
-Make NetBSD also find its debug libraries, if present.
-
---- vendor/backtrace/src/symbolize/gimli/elf.rs.orig	2022-04-04 11:10:55.000000000 +0000
-+++ vendor/backtrace/src/symbolize/gimli/elf.rs
-@@ -276,11 +276,16 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(target_os != "netbsd")]
- const DEBUG_PATH: &[u8] = b"/usr/lib/debug";
- 
- fn debug_path_exists() -> bool {
-     cfg_if::cfg_if! {
--        if #[cfg(any(target_os = "freebsd", target_os = "linux"))] {
-+        if #[cfg(any(target_os = "freebsd", 
-+                     target_os = "netbsd",
-+                     target_os = "linux"))] {
-             use core::sync::atomic::{AtomicU8, Ordering};
-             static DEBUG_PATH_EXISTS: AtomicU8 = AtomicU8::new(0);
- 
diff --git a/rust178/patches/patch-vendor_cc-1.0.73_src_lib.rs b/rust178/patches/patch-vendor_cc-1.0.73_src_lib.rs
deleted file mode 100644
index 864beacf10..0000000000
--- a/rust178/patches/patch-vendor_cc-1.0.73_src_lib.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use correct ABI on NetBSD/riscv64.
-
---- vendor/cc-1.0.73/src/lib.rs.orig	2023-05-31 21:44:47.000000000 +0000
-+++ vendor/cc-1.0.73/src/lib.rs
-@@ -1830,6 +1830,9 @@ impl Build {
-                         } else if target.contains("freebsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
-+                        } else if target.contains("netbsd") && arch.starts_with("64") {
-+                            cmd.args.push(("-march=rv64gc").into());
-+                            cmd.args.push("-mabi=lp64d".into());
-                         } else if target.contains("openbsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
diff --git a/rust178/patches/patch-vendor_cc_src_lib.rs b/rust178/patches/patch-vendor_cc_src_lib.rs
deleted file mode 100644
index f754e454f4..0000000000
--- a/rust178/patches/patch-vendor_cc_src_lib.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Add aarch64_be and mipsel for NetBSD.
-
---- vendor/cc/src/lib.rs.orig	2024-02-17 11:28:27.283394955 +0000
-+++ vendor/cc/src/lib.rs
-@@ -3058,6 +3058,7 @@ impl Build {
-             "aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
-             "aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
-             "aarch64-unknown-netbsd" => Some("aarch64--netbsd"),
-+            "aarch64_be-unknown-netbsd" => Some("aarch64_be--netbsd"),
-             "arm-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-             "armv4t-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-             "armv5te-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
-@@ -3093,6 +3094,7 @@ impl Build {
-             "mips-unknown-linux-musl" => Some("mips-linux-musl"),
-             "mipsel-unknown-linux-gnu" => Some("mipsel-linux-gnu"),
-             "mipsel-unknown-linux-musl" => Some("mipsel-linux-musl"),
-+            "mipsel-unknown-netbsd" => Some("mipsel--netbsd"),
-             "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
-             "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-             "mipsisa32r6-unknown-linux-gnu" => Some("mipsisa32r6-linux-gnu"),
diff --git a/rust178/patches/patch-vendor_crossbeam-utils-0.8.17_no__atomic.rs b/rust178/patches/patch-vendor_crossbeam-utils-0.8.17_no__atomic.rs
deleted file mode 100644
index 09ba0b6af5..0000000000
--- a/rust178/patches/patch-vendor_crossbeam-utils-0.8.17_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD/mipsel to list of those who have no atomics.
-
---- vendor/crossbeam-utils-0.8.17/no_atomic.rs.orig	2024-05-03 22:51:16.357431380 +0000
-+++ vendor/crossbeam-utils-0.8.17/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/rust178/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust178/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust178/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/rust178/patches/patch-vendor_crossbeam-utils_no__atomic.rs b/rust178/patches/patch-vendor_crossbeam-utils_no__atomic.rs
deleted file mode 100644
index 3732c9e9ef..0000000000
--- a/rust178/patches/patch-vendor_crossbeam-utils_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add NetBSD/mipsel to list of non-atomic targets.
-
---- vendor/crossbeam-utils/no_atomic.rs.orig	2024-05-03 22:55:08.657084841 +0000
-+++ vendor/crossbeam-utils/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/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs b/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
deleted file mode 100644
index 18aa4d7328..0000000000
--- a/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_mips.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add entry for NetBSD/mips.
-
---- vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mips.rs.orig	2024-01-06 21:03:21.781003759 +0000
-+++ vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mips.rs	2024-01-06 22:27:31.830676317 +0000
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type c_char = i8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
diff --git a/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
deleted file mode 100644
index 17b7d39991..0000000000
--- a/rust178/patches/patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Add support for NetBSD/riscv64.
-
---- vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2024-01-06 21:03:21.781003759 +0000
-+++ vendor/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/riscv64.rs	2024-01-06 22:31:25.289387359 +0000
-@@ -0,0 +1,22 @@
-+use PT_FIRSTMACH;
-+
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type c_char = u8;
-+pub type __cpu_simple_lock_nv_t = ::c_int;
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 8 - 1;
-+    }
-+}
-+
-+pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
-+pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
-+pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
-+pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
diff --git a/rust178/patches/patch-vendor_libc-0.2.151_src_unix_solarish_mod.rs b/rust178/patches/patch-vendor_libc-0.2.151_src_unix_solarish_mod.rs
deleted file mode 100644
index 6a37dc1f2f..0000000000
--- a/rust178/patches/patch-vendor_libc-0.2.151_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.151/src/unix/solarish/mod.rs.orig	2024-05-03 23:00:56.855657239 +0000
-+++ vendor/libc-0.2.151/src/unix/solarish/mod.rs
-@@ -1523,6 +1523,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/rust178/patches/patch-vendor_libc_src_unix_solarish_mod.rs b/rust178/patches/patch-vendor_libc_src_unix_solarish_mod.rs
deleted file mode 100644
index af3ce88fd8..0000000000
--- a/rust178/patches/patch-vendor_libc_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-vendor_libc_src_unix_solarish_mod.rs,v 1.1 2019/05/31 14:11:23 jperkin Exp $
-
-Fix xattr build.
-
---- vendor/libc/src/unix/solarish/mod.rs.orig	2019-05-20 13:47:24.000000000 +0000
-+++ vendor/libc/src/unix/solarish/mod.rs
-@@ -1523,6 +1523,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/rust178/patches/patch-vendor_lzma-sys_config.h b/rust178/patches/patch-vendor_lzma-sys_config.h
deleted file mode 100644
index 67963cec47..0000000000
--- a/rust178/patches/patch-vendor_lzma-sys_config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-vendor_lzma-sys_config.h,v 1.1 2019/10/28 00:42:21 jperkin Exp $
-
-Fix SunOS builds with newer compilers.
-
---- vendor/lzma-sys/config.h.orig	2020-10-07 09:33:31.000000000 +0000
-+++ vendor/lzma-sys/config.h
-@@ -35,7 +35,11 @@
-     // change to `MYTHREAD_WIN95` if targeting Windows XP or earlier
-     #define MYTHREAD_VISTA 1
- #else
-+#if !defined(__sun) || (__STDC_VERSION__-0 < 199901L)
-     #define _POSIX_C_SOURCE 199506L
-+#else
-+    #define _POSIX_C_SOURCE 200112L
-+#endif
-     #define MYTHREAD_POSIX 1
- #endif
- 
diff --git a/rust178/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf b/rust178/patches/patch-vendor_openssl-src_openssl_Configurations_10-main.conf
deleted file mode 100644
index fcacc14302..0000000000
--- a/rust178/patches/patch-vendor_openssl-src_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/openssl/Configurations/10-main.conf.orig	2023-08-03 13:47:25.000000000 +0000
-+++ vendor/openssl-src/openssl/Configurations/10-main.conf
-@@ -950,6 +950,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/rust178/patches/patch-vendor_openssl-src_src_lib.rs b/rust178/patches/patch-vendor_openssl-src_src_lib.rs
deleted file mode 100644
index ad03cc68bf..0000000000
--- a/rust178/patches/patch-vendor_openssl-src_src_lib.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-$NetBSD: patch-vendor_openssl-src_src_lib.rs,v 1.1 2021/01/01 20:44:48 he Exp $
-
-Provide defaults for the various NetBSD targets.
-
---- vendor/openssl-src/src/lib.rs.orig	2024-02-04 14:52:05.000000000 +0000
-+++ vendor/openssl-src/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-             "mips-unknown-linux-musl" => "linux-mips32",
-@@ -273,9 +279,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -283,8 +291,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/rust178/patches/patch-vendor_openssl-sys_build_find__normal.rs b/rust178/patches/patch-vendor_openssl-sys_build_find__normal.rs
deleted file mode 100644
index 05d96b1783..0000000000
--- a/rust178/patches/patch-vendor_openssl-sys_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-vendor_openssl-sys_build_find__normal.rs,v 1.1 2023/06/19 14:46:47 bsiegert Exp $
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys/build/find_normal.rs.orig	2023-05-31 21:44:49.000000000 +0000
-+++ vendor/openssl-sys/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/rust178/patches/patch-vendor_openssl-sys_build_main.rs b/rust178/patches/patch-vendor_openssl-sys_build_main.rs
deleted file mode 100644
index 7f0e828a91..0000000000
--- a/rust178/patches/patch-vendor_openssl-sys_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/build/main.rs.orig	2022-11-02 16:21:42.000000000 +0000
-+++ vendor/openssl-sys/build/main.rs
-@@ -133,6 +133,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/rust178/patches/patch-vendor_portable-atomic_no__atomic.rs b/rust178/patches/patch-vendor_portable-atomic_no__atomic.rs
deleted file mode 100644
index 74a76e2e74..0000000000
--- a/rust178/patches/patch-vendor_portable-atomic_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-mipsel-unknown-netbsd doesn't have 64-bit atomics.
-
---- vendor/portable-atomic/no_atomic.rs.orig	2024-04-02 18:18:04.323714290 +0000
-+++ vendor/portable-atomic/no_atomic.rs
-@@ -40,6 +40,7 @@ static NO_ATOMIC_64: &[&str] = &[
-     "mipsel-unknown-linux-gnu",
-     "mipsel-unknown-linux-musl",
-     "mipsel-unknown-linux-uclibc",
-+    "mipsel-unknown-netbsd",
-     "mipsel-unknown-none",
-     "mipsisa32r6-unknown-linux-gnu",
-     "mipsisa32r6el-unknown-linux-gnu",
diff --git a/rust178/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust178/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 98a1d9cb7b..0000000000
--- a/rust178/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD$
-
-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/rust178/patches/patch-vendor_stacker_src_lib.rs b/rust178/patches/patch-vendor_stacker_src_lib.rs
deleted file mode 100644
index dfd1589f54..0000000000
--- a/rust178/patches/patch-vendor_stacker_src_lib.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-vendor_stacker_src_lib.rs,v 1.1 2020/08/06 11:42:56 jperkin Exp $
-
-Avoid missing pthread_* on older SunOS.
-
---- vendor/stacker/src/lib.rs.orig	2020-07-13 18:18:17.000000000 +0000
-+++ vendor/stacker/src/lib.rs
-@@ -407,7 +407,7 @@ cfg_if! {
-             );
-             Some(mi.assume_init().AllocationBase as usize + get_thread_stack_guarantee() + 0x1000)
-         }
--    } else if #[cfg(any(target_os = "linux", target_os="solaris", target_os = "netbsd"))] {
-+    } else if #[cfg(any(target_os = "linux", target_os = "netbsd"))] {
-         unsafe fn guess_os_stack_limit() -> Option<usize> {
-             let mut attr = std::mem::MaybeUninit::<libc::pthread_attr_t>::uninit();
-             assert_eq!(libc::pthread_attr_init(attr.as_mut_ptr()), 0);
diff --git a/rust178/patches/patch-vendor_target-lexicon_src_targets.rs b/rust178/patches/patch-vendor_target-lexicon_src_targets.rs
deleted file mode 100644
index 5e646970c4..0000000000
--- a/rust178/patches/patch-vendor_target-lexicon_src_targets.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Add aarch64_eb and mipsel for NetBSD.
-
---- vendor/target-lexicon/src/targets.rs.orig	2021-05-03 21:35:46.000000000 +0000
-+++ vendor/target-lexicon/src/targets.rs
-@@ -1526,6 +1526,7 @@ mod tests {
-             "aarch64-unknown-linux-gnu_ilp32",
-             "aarch64-unknown-linux-musl",
-             "aarch64-unknown-netbsd",
-+            "aarch64_be-unknown-netbsd",
-             "aarch64-unknown-none",
-             "aarch64-unknown-none-softfloat",
-             "aarch64-unknown-openbsd",
-@@ -1611,6 +1612,7 @@ mod tests {
-             "mipsel-unknown-linux-gnu",
-             "mipsel-unknown-linux-musl",
-             "mipsel-unknown-linux-uclibc",
-+            "mipsel-unknown-netbsd",
-             "mipsel-unknown-none",
-             "mipsisa32r6el-unknown-linux-gnu",
-             "mipsisa32r6-unknown-linux-gnu",
diff --git a/rust178/patches/patch-vendor_valuable_no__atomic.rs b/rust178/patches/patch-vendor_valuable_no__atomic.rs
deleted file mode 100644
index f485c63d9d..0000000000
--- a/rust178/patches/patch-vendor_valuable_no__atomic.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Add mipsel-unknown-netbsd.
-
---- vendor/valuable/no_atomic.rs.orig	2022-09-19 15:35:03.000000000 +0000
-+++ vendor/valuable/no_atomic.rs
-@@ -30,6 +30,7 @@ const NO_ATOMIC_64: &[&str] = &[
-     "mipsel-unknown-linux-musl",
-     "mipsel-unknown-linux-uclibc",
-     "mipsel-unknown-none",
-+    "mipsel-unknown-netbsd",
-     "mipsisa32r6-unknown-linux-gnu",
-     "mipsisa32r6el-unknown-linux-gnu",
-     "powerpc-unknown-freebsd",
diff --git a/rust178/platform.mk b/rust178/platform.mk
deleted file mode 100644
index cc75fd55ab..0000000000
--- a/rust178/platform.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# $NetBSD: platform.mk,v 1.6 2020/12/26 10:04:51 nia 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>7
-.for rust_arch in aarch64 earmv7hf i386 powerpc riscv64 sparc64 x86_64
-.  for rust_os in Darwin FreeBSD Linux NetBSD SunOS
-.    if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*)
-RUST_PLATFORMS+=	${rust_os}-*-${rust_arch}
-.    endif
-.  endfor
-.endfor
-
-.for rust_platform in ${RUST_PLATFORMS}
-.  if !empty(MACHINE_PLATFORM:M${rust_platform})
-PLATFORM_SUPPORTS_RUST=		yes
-.  endif
-.endfor
-PLATFORM_SUPPORTS_RUST?=	no
-
-.endif # !defined(PLATFORM_SUPPORTS_RUST)
diff --git a/rust178/rust.mk b/rust178/rust.mk
deleted file mode 100644
index d930124865..0000000000
--- a/rust178/rust.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# $NetBSD: rust.mk,v 1.7 2020/10/14 08:23:49 triaxx 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
-#	Default: src
-#
-# === 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"
-
-RUST_REQ?=	1.56.1
-RUST_RUNTIME?=	no
-
-RUST_TYPE?=	src
-
-.if ${RUST_TYPE} == "bin"
-.  if ${RUST_RUNTIME} == "no"
-BUILDLINK_DEPMETHOD.rust-bin?=		build
-.  endif
-BUILDLINK_API_DEPENDS.rust-bin+=	rust-bin>=${RUST_REQ}
-.  include "../../lang/rust-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 "../../lang/rust/buildlink3.mk"
-.endif
diff --git a/rust181-bin/DESCR b/rust181-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust181-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/rust181-bin/Makefile b/rust181-bin/Makefile
deleted file mode 100644
index 88b4397e69..0000000000
--- a/rust181-bin/Makefile
+++ /dev/null
@@ -1,296 +0,0 @@
-# $NetBSD: Makefile,v 1.69 2024/10/14 20:52:26 wiz Exp $
-
-DISTNAME=	rust-1.81.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 !empty(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 clippy-driver miri rls rust-analyzer rustc rustdoc
-	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 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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust181-bin/buildlink3.mk b/rust181-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust181-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/rust181-bin/distinfo b/rust181-bin/distinfo
deleted file mode 100644
index 509a36d680..0000000000
--- a/rust181-bin/distinfo
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: distinfo,v 1.40 2024/10/14 20:52:26 wiz Exp $
-
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-aarch64-apple-darwin.tar.gz) = aa033b8af1b7cf6a08476da3f74fa4634bc82224fb170cda4683aa6b5fde0916
-SHA512 (rust-bin-1.81.0/rust-1.81.0-aarch64-apple-darwin.tar.gz) = 542be316f94beaf12d2c87f67acaaf41273a7fe2117768a46d02cef30522dd1c1fd4eeff22e516b77d5b173a435ff4140433b23327561318fbe4a0b1519f2ab9
-Size (rust-bin-1.81.0/rust-1.81.0-aarch64-apple-darwin.tar.gz) = 342382518 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 39c710c66162a654ca5fe27e651c43d753a2cf5be09ab259f985195a4b7a4949
-SHA512 (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 456ea7e345ad856e27c0fa94b1e3c642eeb34cbfe6ffd34cc67622ce222ab17259913c329ee59a91b69b52bf447a85fc4c3141898080961a9de4094b4e1a17dd
-Size (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 488236376 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-musl.tar.gz) = 3599e8a34a491f97960e51dc7c8ba9a2a04fc517610c231f53e1aa5088fba587
-SHA512 (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-musl.tar.gz) = 96991d15e496dbf49b27f69fe368151c9fb038960eec243a04688f61e42249abe67714760b3958d08045414bb4b6972f40a52115be2973223d729b1942c1b7f9
-Size (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-linux-musl.tar.gz) = 392848994 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = d06db0dad290d162959052e44d6cb609c36a2851f92dc8aaad1b4ae08b3fa458
-SHA512 (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = 5517e60c488998f0ad18080e52850510100263bd92d8e9f8254742f75bf1a774d46e5c9bddfcfc185fcd51bafe59f24a24d38b1347ef599398e29f3147c66d60
-Size (rust-bin-1.81.0/rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = 199857236 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = f90a8038a4931ab11682f5ab93224702d4f4ef6583ef57ebca3ff596a0abdee3
-SHA512 (rust-bin-1.81.0/rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 1047c5f32c9a0ad5480238dc4c1c61061030639bdcb1e7853cb4401ad3ff5b9bca45d2d042aba040b2f86504835caddfc6c8eb4c60c6b023847ebcebd1578e21
-Size (rust-bin-1.81.0/rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 198057028 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = de41c01933b7016c83caab00d9105b5bb46996fec037d5b8f8f0caee856d44eb
-SHA512 (rust-bin-1.81.0/rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9e2f0ea2852409e12c9ea0b8ed69d3ca2d50e06fd4879511a680c57ceefc8e2c038bff73538a7cd1547dcb71944d69383137ce3df5aa890504df18c117aa59ad
-Size (rust-bin-1.81.0/rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 169411036 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 49e09d97f2adb9161d10ac38df4e2f02ba5d99866aa1ead5090099a18ae6f02b
-SHA512 (rust-bin-1.81.0/rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = de7a5c8746f941efce91fc82dd3775bf9e00b831581a201808b6baef061da8d1592ed91fdf0e29ba86feac6843f51c6ab105bae0079be9a72fcdc10d7494ef2a
-Size (rust-bin-1.81.0/rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 171194260 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-i586-unknown-netbsd.tar.xz) = 10ebe3f58b5cd33bd16eb5ef00e34759abf446d2b7c3ec044a9f66e070c8b28c
-SHA512 (rust-bin-1.81.0/rust-1.81.0-i586-unknown-netbsd.tar.xz) = 771ad395071b89e1c6163bdb75bfe3e8a62c009046e525c49b83aa29b732f7627571cc6c10104cc489cc805518a232095714f032a8e10726c990657d4ffbfa21
-Size (rust-bin-1.81.0/rust-1.81.0-i586-unknown-netbsd.tar.xz) = 217261872 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 831e8265e0a81a18c33482a04ab4ccf3aa376d44e63ff61c2d817cee36a430ff
-SHA512 (rust-bin-1.81.0/rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 7ca73bdf5393b57700c9273df99b02fc59c0cbb8e08dea29da8ed2e9f6816eafdc427202c4aa42fbd155dd138ec39106fe9a8502129fefecbd47a37d769af343
-Size (rust-bin-1.81.0/rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 439375569 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-mipsel-unknown-netbsd.tar.xz) = 299084d5a6b5003f0e51ebb297097284212fa9ef1caaf9729fcdabf37b60602f
-SHA512 (rust-bin-1.81.0/rust-1.81.0-mipsel-unknown-netbsd.tar.xz) = 6e496357f8fe529aa393b187e924b216235813cf6138210b152219ed57e0c5e43a82874af3673caf2df598b2b734440a09a2e87669598a564dbc5db6a21ff7f0
-Size (rust-bin-1.81.0/rust-1.81.0-mipsel-unknown-netbsd.tar.xz) = 175191548 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 70f5e9e8afd218b7d6421970d8b767aedb4c40cb0d4f57b0ff73bfdbcd21e7ac
-SHA512 (rust-bin-1.81.0/rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 2ac0493a5ae06525628b5655731fd18b9d1bb3f6bd483e603413ee63ac6b5dfbc26f6f16905cf0e3502a04170644802a4f66dee1c6a42409b03a4b0ee8274bb8
-Size (rust-bin-1.81.0/rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 230224080 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-riscv64gc-unknown-netbsd.tar.xz) = 66047ffe66e5cbbfd96243a881c0f892d5297967870233389cbb124ef76cdef7
-SHA512 (rust-bin-1.81.0/rust-1.81.0-riscv64gc-unknown-netbsd.tar.xz) = 77285720dfd91c09c5e5581c8db85cd7258e01a18473fa803c07263ebc09a78b2431bcbcbb6badd4465a8d9f168d3a7bbf70498a1c271dd86a56f7e1156b6324
-Size (rust-bin-1.81.0/rust-1.81.0-riscv64gc-unknown-netbsd.tar.xz) = 219678696 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 6dd09b88f3de7e71f580c75f81da5bebb31a19d1e111806f0d984507c6ee65a1
-SHA512 (rust-bin-1.81.0/rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 3799752690ad0a0c80000ca284c8198fe8db46757f579e697dc77a0183ed7360d46355917dbed4c37dcc8debd55e7ee842d851054128b7e4ad4bee466ab3b788
-Size (rust-bin-1.81.0/rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 193855168 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-x86_64-apple-darwin.tar.gz) = 3ce64f23c508cc24929b0bd9d96e338a0fa2e6924cf7cefbb6cb9aace13b989e
-SHA512 (rust-bin-1.81.0/rust-1.81.0-x86_64-apple-darwin.tar.gz) = 06acf3a19beae8166622830d79799be61d80b8864e83aabe7a7b6e852d4e6ad0af9cb74278b6d703b8378739d8ed49e42cf771d75ef6789726fc491dd9ce35e1
-Size (rust-bin-1.81.0/rust-1.81.0-x86_64-apple-darwin.tar.gz) = 346755530 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = ea20d7a67bed2b1a37b8ad31f92e121a2110f02311888b85cf0a03ec6320723b
-SHA512 (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = 3617c5054f0f8f6657c5cae0dfc49644cb83a28b1741bafb916f16d6681ef3697f09a0f892e24b629b720206ac4eda31fa7618ea647ab4dc29f31dd024dfb3dc
-Size (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = 329217094 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 64140ced76a7a2230bc710bd2ca562fd3e4c4deb0dff194a71a17a2675911a4c
-SHA512 (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = b6eb16fcb109e6c60a80d63999dce969e7abfed936d6e68c563d212db0cd9ec5d6874d45a185157838878b0ed68e52796d763192656c12496cd7572757292b8c
-Size (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 340154798 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-musl.tar.gz) = 6632b03b19925db71272e24ef2345f17b39c8adbfb5dd84dd3bbb73044a4be7a
-SHA512 (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-musl.tar.gz) = cefb0fae9183f99835cc0ac210fb2cd62722261318d746f29fbdbd2b372d96b1819b00e4f65e2a5e4afa4d905820f16696bfc1b49847305062e48a05d30f5569
-Size (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-linux-musl.tar.gz) = 479553102 bytes
-BLAKE2s (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-netbsd.tar.gz) = 6cb8ae1b34987fe9373584ed504ce2f16cf6c0da923d358e9885cf020cdcf54f
-SHA512 (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-netbsd.tar.gz) = 8eff5fc9f3852837b69bea26571f6e935db2c81a3ef8fd497e2d1a0f2f5ccdb149a675ea6d81c325e9d61c52d0c60106982c3ca44f6cf76845b40d71ab39391f
-Size (rust-bin-1.81.0/rust-1.81.0-x86_64-unknown-netbsd.tar.gz) = 342709281 bytes
diff --git a/rust181-bin/files/install.sh b/rust181-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust181-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/rust181/DESCR b/rust181/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust181/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/rust181/HOWTO-BOOTSTRAP b/rust181/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust181/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/rust181/Makefile b/rust181/Makefile
deleted file mode 100644
index c0475ebfd1..0000000000
--- a/rust181/Makefile
+++ /dev/null
@@ -1,721 +0,0 @@
-# $NetBSD: Makefile,v 1.316 2024/07/31 12:30:43 he Exp $
-
-DISTNAME=	rustc-1.81.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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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.80.1
-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.80.1
-RUST_ARCH:=		x86_64-apple-darwin
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-.endif
-.if ${MACHINE_PLATFORM:MLinux-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.80.1
-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.80.1
-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.80.1
-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.80.1
-RUST_ARCH:=		i686-unknown-linux-gnu
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-.endif
-.if ${MACHINE_PLATFORM:MLinux-*-x86_64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.80.1
-RUST_ARCH:=		x86_64-unknown-linux-gnu
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-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.80.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.80.1
-RUST_ARCH:=		x86_64-unknown-freebsd
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=	rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-.endif
-.if ${MACHINE_PLATFORM:MNetBSD-*-i386} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=	1.80.1
-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.80.1
-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.80.1
-RUST_ARCH=		powerpc-unknown-netbsd
-
-# Cross-built against NetBSD 9.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-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=		1.80.1
-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.80.1
-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.80.1
-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.80.1
-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.80.1
-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.80.1
-#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.80.1
-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.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.92
-CKSUMS+=	33f814dba4ac9942266157cbe3dc8eadf5e477090370a92c36c53f916fa45d48
-CKSUMS+=	f78ddd9b03c31a03350aa152d6f707c6cbb21b2ea0b493d05238aa473b80af09
-CKSUMS+=	b2cbaa5bfac5e7d5550aa0eb8e5c65a9f7e86a3692b759fb13330ef6e3b26b30
-CKSUMS+=	b303bf9ceae9fcffa4a0420ea858675d827fc2d75c358f8236e44274d58be1a0
-
-CKSUM_CRATES+=	vendor/openssl-src-111.28.2+1.1.1w/
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	e8ca5ea1808323cd9f0cc9d53c7258bb2f3112e5eafc11dd457e010a80a9c8d8
-CKSUMS+=	cf331474674b6c4fff7e361d592c14131c97918d6f756b36698a7ac8ec845adb
-CKSUMS+=	bec36eddcf41c8639903ea7593751c92251100168241bc5696f8a776a55651fb
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.32
-CKSUMS+=	2f21f18a4ca1d4be2d997f037158cb21a7421b2ba2cc52f3e4c5f9410197ed27
-CKSUMS+=	abe079743c2b2dea5b2c42564f98741a5eb9e24ff019e01742ace5581e53c06f
-
-CKSUM_CRATES+=	vendor/zerocopy-0.7.34
-CKSUMS+=	c225b0b65ab955600b065a30f9d744ebb7754dff5a6e7c299464c5d1aba92ae7
-CKSUMS+=	c5da1cf7c0164039919074a72095090505bd9b68c2ed9d1ab5838061fef2999d
-
-CKSUM_CRATES+=	vendor/memchr-2.7.2
-CKSUMS+=	24e8620d52da38b051c446864089cdfaba6fa3afc27e16a716aa36a716f6636f
-CKSUMS+=	1417d51a84f08d50e97f9f0870c485cf129ae66e3cfdf5bdd9908b243ace1319
-CKSUMS+=	5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
-CKSUMS+=	34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
-CKSUMS+=	44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
-CKSUMS+=	27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
-CKSUMS+=	7763472d43c66df596ca0697c07db0b4666d38a6a14f64f9f298aaf756c4a715
-CKSUMS+=	1b26fca824c410077780fbc2f4c53c1d195ba3bdf6785b529ceb0a11f039cec2
-CKSUMS+=	6ae779ec5d00f443075316e0105edf30b489a38e2e96325bec14ccecd014145b
-CKSUMS+=	28d66e566b73f6f0f7add4092874dc967ce133bfb6dcbd81f03c9a04b6e4e1d0
-
-CKSUM_CRATES+=	vendor/memchr-2.7.4
-CKSUMS+=	5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
-CKSUMS+=	34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
-CKSUMS+=	7763472d43c66df596ca0697c07db0b4666d38a6a14f64f9f298aaf756c4a715
-CKSUMS+=	8844a2cd5e71abb8efdf8fc3ee54d9c66f3fedb529cdaf5984c279177f5f90af
-CKSUMS+=	3b15d5cb9715f26e655598eacbb8bbba74cbe8ddb2fb969d13aa75f216a118dd
-CKSUMS+=	8844a2cd5e71abb8efdf8fc3ee54d9c66f3fedb529cdaf5984c279177f5f90af
-CKSUMS+=	6ae779ec5d00f443075316e0105edf30b489a38e2e96325bec14ccecd014145b
-CKSUMS+=	28d66e566b73f6f0f7add4092874dc967ce133bfb6dcbd81f03c9a04b6e4e1d0
-CKSUMS+=	44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
-CKSUMS+=	27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
-
-CKSUM_CRATES+=	vendor/memchr-2.7.1
-CKSUMS+=	5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
-CKSUMS+=	34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
-CKSUMS+=	44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
-CKSUMS+=	27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
-CKSUMS+=	36f1c03304261877cd7f75c7ed8f7daff7a5c570cedce375e38e9b1ca44467f7
-CKSUMS+=	ef7e45ffa02b11b07aa79636b1b3138f5757e3409d6fc8d0134c09308ed1942c
-CKSUMS+=	69c38fb33d8f1a2a26769a81e514428240c8f8f15cea5302873d90b80391dd89
-CKSUMS+=	16e36c43c9bb6c14c6fd9282d187864aa748ee0c9b0e2c022a72c66a4b2b30e8
-CKSUMS+=	ef823ae8c54053780a0e7aeaee14b6c6ac2aea4567bf701ae8be137806c6d293
-CKSUMS+=	e9bae14479a8b7f1b946d5b0a5e186085ad4ec330cc8b882d444117c4b556b00
-
-CKSUM_CRATES+=	vendor/bytecount-0.6.8
-CKSUMS+=	01cd755a128d8a5892f3edda195b26bb461be375be17dd72e6e4f061169e6dff
-CKSUMS+=	a6750c0e2a6c385ec902cd7f87de7835fe2b4171b9c83da64122274ee20a77c6
-
-CKSUM_CRATES+=	vendor/aho-corasick-1.1.2
-CKSUMS+=	840065521cbd4701fa5b8b506d1537843d858c903f7cadf3c68749ea1780874b
-CKSUMS+=	3236bb49a58837d63d8dfb7b3c9cae59f0f27b9f7adf8f4e1a978f6116f64fef
-CKSUMS+=	720735ea6c7ff92b081426513e6e82feed24a922849297bb538d28f7b8129f81
-CKSUMS+=	f41fe38e3a4860e6c8adee4852ab7f5cf683bcb0849c6a02f00f7701ad25af89
-
-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 -v				\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${TOOL_PYTHONBIN} ./x.py -v				\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${TOOL_PYTHONBIN} ./x.py -v				\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${TOOL_PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${TOOL_PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
-
-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.18.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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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*; 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/rust181/buildlink3.mk b/rust181/buildlink3.mk
deleted file mode 100644
index b8eeb79834..0000000000
--- a/rust181/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.14 2023/10/25 05:50:43 pin 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust181/cargo.mk b/rust181/cargo.mk
deleted file mode 100644
index 5813c04321..0000000000
--- a/rust181/cargo.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# $NetBSD: cargo.mk,v 1.37 2024/05/04 20:06:55 tnn 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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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/rust181/cross.mk b/rust181/cross.mk
deleted file mode 100644
index 47f2b3e006..0000000000
--- a/rust181/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/rust181/distinfo b/rust181/distinfo
deleted file mode 100644
index 5c421ce57f..0000000000
--- a/rust181/distinfo
+++ /dev/null
@@ -1,169 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.80.1-aarch64-apple-darwin.tar.gz) = e8552097f84ea7683be3df74148257cbe54765153550e080d7a107086f394e0f
-SHA512 (rust-1.80.1-aarch64-apple-darwin.tar.gz) = 235810513a0020e712d09b4cc881f5bf093fe31c2e83107ddc0aaa3aa25060a99dc18ad9ec4ea94515bde4ddba6341b45b09f9b896a4aa3cf40c332fb8c4a2c9
-Size (rust-1.80.1-aarch64-apple-darwin.tar.gz) = 338216464 bytes
-BLAKE2s (rust-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = acbb838e3febb199614208376dbf73951a7e1318c25c65e046203e446338e51a
-SHA512 (rust-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = 06dc6a3b05fbbb28c915056168c4dc8c3b5d5d52c7c77ef86454e3219dc509f8d8eca0ad636e417a79638f2ace59dfd32d038069d89b0518f209eaf31b7aed5e
-Size (rust-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = 484810238 bytes
-BLAKE2s (rust-1.80.1-aarch64-unknown-netbsd.tar.xz) = 61cea37dd5792f492c2644f7f21ec2c61b37ffb537d593848dd792773ca86af6
-SHA512 (rust-1.80.1-aarch64-unknown-netbsd.tar.xz) = aa8dd128a1abfd5a740f738fbc115c36dceb6997834d1eff6de73a7bea941426569dd154058ce0167d91bd7fd607fa1f7b96a0aaed22af3d1f98365db1d72a7f
-Size (rust-1.80.1-aarch64-unknown-netbsd.tar.xz) = 172190840 bytes
-BLAKE2s (rust-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = 269594581c9530022621bf1ff077b55655ab86c71dd165a2eab6afaeb85711c3
-SHA512 (rust-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = 9af9f238a5b51757271f39c6ddc78b294768679ee2cd931f4c8d81022f0d9c91b31e9ff9a73a76d109e9ae87f494138a64f3320adf130b2dc42ae3caacfa4e2d
-Size (rust-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = 170426396 bytes
-BLAKE2s (rust-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 90e2c0e90cb8378fcb8e5e3e1ff61851798c1f038917102a389829a106906af2
-SHA512 (rust-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 6be5cf7c9111481d709c2214b5b97f9bc291f517f45d1010faa8f8e5031bbb6bda00638e8e4a9352a3ccc053c312d3c7a1ad5f83f556c373acd7cf5db0708c1d
-Size (rust-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 367696583 bytes
-BLAKE2s (rust-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = f5495b2f107774e78536e4caf2e2c56e3e680cc701a1d8230d37065ee74046a2
-SHA512 (rust-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = a894f9416e38002bb2843379fe0fe7316b3da39f8dd50025f0b3ec9627721d0fbca642f3acb7b46cd76f1b1a803aedd5beb9d1204544384cdacb19a7c01fdb4f
-Size (rust-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = 148976808 bytes
-BLAKE2s (rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = 20e55694f8ccc671310d4a28452baf61061647b18e2ca5c3e36ed39e14a9ab3c
-SHA512 (rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = f3bda80f39ca5da2b2eb0df807717009c576440e9036d93a234ef8b00e88dc11122025c9e8c9f24656fc79f9f7afbb55504f024c87f1c7b6a28bf0e7cbab296e
-Size (rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = 356035939 bytes
-BLAKE2s (rust-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 4e5c207135ffb8e8108da75f2a3811505aaa931664d7003d8beac9494dc04677
-SHA512 (rust-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 812555c8b5527e1081c02b3f02e11c4e45d8822eb12f8525378f99f27cc7170e50d41bcd97bd57898068fa713ed8995d33a3b890f80b06fbfdb6d517122f70af
-Size (rust-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 150699540 bytes
-BLAKE2s (rust-1.80.1-i586-unknown-netbsd.tar.xz) = f6946d2c2ad63008d710eb6dab89140e19512d52e277ab18bb8ca014a77afe71
-SHA512 (rust-1.80.1-i586-unknown-netbsd.tar.xz) = 0e91a871bbf8c319a50487216f21315f626ba4e01906fd11d8b8a6c340eebad40ea22f4fd25adf61323faec63c38fe499b6cec54244cdec56a8bffca3e087a4e
-Size (rust-1.80.1-i586-unknown-netbsd.tar.xz) = 188463156 bytes
-BLAKE2s (rust-1.80.1-i686-unknown-linux-gnu.tar.gz) = 786d74439668086d839c89207ba168154fc0cd39b2b8a03c4e97fd8b6d070f07
-SHA512 (rust-1.80.1-i686-unknown-linux-gnu.tar.gz) = 3ec4219c42001144149db0557c45de85be9977343641431bf37d1c440b5a9095b496a5b74a2dc0da326cf91020cad3abfe8df6c0b5444cc8c9354c03002651c0
-Size (rust-1.80.1-i686-unknown-linux-gnu.tar.gz) = 434569276 bytes
-BLAKE2s (rust-1.80.1-powerpc-unknown-netbsd.tar.xz) = 9f7c94a22d6248740258fd4336e890da58c71c6b8cb06544f6d24f5c36f170ad
-SHA512 (rust-1.80.1-powerpc-unknown-netbsd.tar.xz) = 2a37b85bf3b5373819552e0844d0e272e2386030c4b05844e4b87147bf53df25072dff21e8d3fab5562033dd91b582ee2eb55f4d1727d1654e86c16c347f86ad
-Size (rust-1.80.1-powerpc-unknown-netbsd.tar.xz) = 200660060 bytes
-BLAKE2s (rust-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = 6145de62149f041d7bc6632e49e4c0258ce47d30187054950dabfa85d58d2daa
-SHA512 (rust-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = ae56ce7326e7a40c543b0fc23f45fb4e70df2693e69f708658744de5f1ca6113f61b6600859cfeede4fb79f0f8c8bb61b4f13d0bf914e01bba4a547a0bad1a8d
-Size (rust-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = 189557556 bytes
-BLAKE2s (rust-1.80.1-sparc64-unknown-netbsd.tar.xz) = 3cfb6f84dc94f0ecab5a5cbdb8e6bcb4b99fadaa67a4d38c05db2ac1b081a9b7
-SHA512 (rust-1.80.1-sparc64-unknown-netbsd.tar.xz) = 1679d43fa17d07f0f76218e91a538f5e2c4eb60917894f0d6bba3fa99a046dc2f9d82e293c4d2c2886e52f75e73d6b8f3bee4481c59d2d6d8f52f4f785bf864a
-Size (rust-1.80.1-sparc64-unknown-netbsd.tar.xz) = 168170056 bytes
-BLAKE2s (rust-1.80.1-x86_64-apple-darwin.tar.gz) = 2c64867f560ea4a5403ee68523c384d6717d281b36ebce06e73a59c01200daf7
-SHA512 (rust-1.80.1-x86_64-apple-darwin.tar.gz) = 8bcbe05679c9257301a97b6220c607bdc89bfcba6458ceddec398152e9081b5cd08a13c1fb99755da177adae4aeee8b2017a963d1fe83e82bc11bf94231ead5e
-Size (rust-1.80.1-x86_64-apple-darwin.tar.gz) = 342436964 bytes
-BLAKE2s (rust-1.80.1-x86_64-unknown-freebsd.tar.gz) = 4cba92e989fb6f05cbc3521e959d77d7cc50be1046bd268e7bbc1dce67c632a2
-SHA512 (rust-1.80.1-x86_64-unknown-freebsd.tar.gz) = efcafadb9b78bfe9e779047186a6f5232a84eabbf7f7db56582f76c8d76285465eafc30e881328e06555da3531b9e879ddd982d1080930f5528c7c491e33d431
-Size (rust-1.80.1-x86_64-unknown-freebsd.tar.gz) = 325362067 bytes
-BLAKE2s (rust-1.80.1-x86_64-unknown-illumos.tar.gz) = 19a7088bf5df1ea978f34c00d59ca6a6997d1757daf0ab290241291aa7bd2cc7
-SHA512 (rust-1.80.1-x86_64-unknown-illumos.tar.gz) = b39e2aa68d3c9b8a241c3b0c2a49c5377e092487c116930ce06834cddba6270e66c494fdb8a4928096f654724a592520c6f7fb4f45da4a22b8fb3058ed74b721
-Size (rust-1.80.1-x86_64-unknown-illumos.tar.gz) = 218858660 bytes
-BLAKE2s (rust-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = df8878890b9337a0d09b29f31748b146cc02f6d7d7006b1c8f1393ecbcd220ef
-SHA512 (rust-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = 222e19b986f5e2ff3607c41b15383db604fcf11c4eae8f129f73b4cfd1a5954f13e64f3a4512577af21d7ed2bb623e7f8b8de5fab0356d4544cd1552b8da59a0
-Size (rust-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = 335779502 bytes
-BLAKE2s (rust-1.80.1-x86_64-unknown-netbsd.tar.xz) = 2532a3d67b46958b040c86fc4cd8062d71b6ac16c9929f4fc7127acd87e3e721
-SHA512 (rust-1.80.1-x86_64-unknown-netbsd.tar.xz) = 84399dd75bb4082bd00bed94eee61d71fcf4203881f38dc593123fd80c3b4bbe1b7ddabb41dca640aa4a7f9185d31ade5e35f5111b49e866b11fad4ea9a08562
-Size (rust-1.80.1-x86_64-unknown-netbsd.tar.xz) = 164745500 bytes
-BLAKE2s (rust-std-1.80.1-aarch64-apple-darwin.tar.gz) = d5260b3da6ab14e7755ed3aaa939ff7b6c2438467330ba05928a78cd731a085f
-SHA512 (rust-std-1.80.1-aarch64-apple-darwin.tar.gz) = 8fe613dee6f7832e0a07e7bb29faf89b04687fafe080034570571fba617f0cab456f3b8d509a8edb1b52da6288d17ebb8f87a1fed3c34b4b9d3968683e474889
-Size (rust-std-1.80.1-aarch64-apple-darwin.tar.gz) = 40245667 bytes
-BLAKE2s (rust-std-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = 95531df139d493b14a0270368ec0c805f031a31e3875cb832ac3f5254f5fd1e5
-SHA512 (rust-std-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = a442bd396e533c6e065838fdbcf264299319affce453ce621c9cc192f5e9968c8fb38f8add9b9ef18c2038a429565c83e009288ca97566c2bb9f5fcac67c02e8
-Size (rust-std-1.80.1-aarch64-unknown-linux-gnu.tar.gz) = 64977385 bytes
-BLAKE2s (rust-std-1.80.1-aarch64-unknown-netbsd.tar.xz) = a91cba6c3b9da40f3c81d69aebadf8eed44bcb0e5eff912a4528194c690489ea
-SHA512 (rust-std-1.80.1-aarch64-unknown-netbsd.tar.xz) = 4350657f4819cd335cdbe1f809ae79433e435bf69ab7a30fe33b99355376c584d6b7ada95a9b0a288c024ff0ee6629ea855a40c17fb9a18f6db1b4e6cea62725
-Size (rust-std-1.80.1-aarch64-unknown-netbsd.tar.xz) = 22945928 bytes
-BLAKE2s (rust-std-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = 4c51df88bebd86fcbcb9a03a44979a9935ae68415c8ae8771b246a1127d2d6bd
-SHA512 (rust-std-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = f047240b7fb7663571a3e3c9c5ad7a9c1109ca212d5a3492d7edde4db8028437b1d102f94f24c817684bd62a3f8f98ad834b593acbae68719e9aab307762b14b
-Size (rust-std-1.80.1-aarch64_be-unknown-netbsd.tar.xz) = 21406608 bytes
-BLAKE2s (rust-std-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 249b6bc6d8bb50c9bb59e7a17f74e1e115d4b2dc8a1659abc236dd862526cfda
-SHA512 (rust-std-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 7bf9ee7a770da811db87bf46088664451e057150365015239a11383da80817959d7f1e1e44bdb610b4c0980d1d5782c5b63649f87af2e383f2872fb23d7e8cdc
-Size (rust-std-1.80.1-arm-unknown-linux-gnueabihf.tar.gz) = 36851387 bytes
-BLAKE2s (rust-std-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = ba11e4dd5f24ceaa308ac9e2be44f4c111c27198ff1036a60f0294c166af862f
-SHA512 (rust-std-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = 5c5668dc346ec993567a8eb0897211609e0bbab6a0da1049d0a31dd8a239d0eb419f5d50fcad5a9d8b5acef9e472557889325ae57be38ced06b52ce3b8cc2e04
-Size (rust-std-1.80.1-armv6-unknown-netbsd-eabihf.tar.xz) = 21468568 bytes
-BLAKE2s (rust-std-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = 7c15dc556d80224e120f9b8e51fb40ae65e7bb044faef41a0ba39ecdb0625a6b
-SHA512 (rust-std-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = 467ae54fe1876ebdb8cbb68388b3e5e3001778739dbd2e54dc100aa0d4b96cdea2c83835ed051fb61f0faf06b512d587fedddcbcc4771382143e34547a76f2bc
-Size (rust-std-1.80.1-armv7-unknown-linux-gnueabihf.tar.gz) = 38375461 bytes
-BLAKE2s (rust-std-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 6e978303a99f503fa2473a421339ea2c036a72ffc7f0776c8aa95b501bf2947e
-SHA512 (rust-std-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 3337d76f632e402b688d4b7a002b56558d5d9cc818460f447084c6872b6c4d567727dd750f7a94c29be6335fab993842c577a2b72f7c98cb05e4a270cd4c2ded
-Size (rust-std-1.80.1-armv7-unknown-netbsd-eabihf.tar.xz) = 22317232 bytes
-BLAKE2s (rust-std-1.80.1-i586-unknown-netbsd.tar.xz) = d943d3c7fd04d3a3ee066a08ce957450ce372c76f482fbf62d538c9c64ca4681
-SHA512 (rust-std-1.80.1-i586-unknown-netbsd.tar.xz) = e9e3f3cf160439db47e316ca34c7c8a66f64eadd9da78fa3bcb4a3ac0eb5a0029d9907e7224d5f5db4bb8c176f80ae42ca7efbdca64c90aa0c7b7295c5080e8b
-Size (rust-std-1.80.1-i586-unknown-netbsd.tar.xz) = 23342476 bytes
-BLAKE2s (rust-std-1.80.1-i686-unknown-linux-gnu.tar.gz) = d688d3845d36dd772e5d36d238ddc64ecbb37011f62c3021ed6594f235e7be5c
-SHA512 (rust-std-1.80.1-i686-unknown-linux-gnu.tar.gz) = 184c3e04847203b87fe6d7fa6520d6625ae47a982c7dc189b807f9c77049b24d4cd310802e7622790a949608e8580cd53ae186dd00de24a9e9eeec7e3e5f4e60
-Size (rust-std-1.80.1-i686-unknown-linux-gnu.tar.gz) = 39905818 bytes
-BLAKE2s (rust-std-1.80.1-powerpc-unknown-netbsd.tar.xz) = 16eed40ebcc9350681d866f2fae2243ad930cc96ac4aa1461ac995a98884833d
-SHA512 (rust-std-1.80.1-powerpc-unknown-netbsd.tar.xz) = 164fb5b3980b2ac54b13ef9a602d878446c128824bd12e9c6fb69e68d70c181080a8e5186e85a0a914c5e303e7db3d733cb74f317586fe024f7814a7ff87abaa
-Size (rust-std-1.80.1-powerpc-unknown-netbsd.tar.xz) = 21684868 bytes
-BLAKE2s (rust-std-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = b525a3ae0e2fd1f34d003a029d6f1c441206c5a8c824dfc52e2f8f98e8491b09
-SHA512 (rust-std-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = 2aedbbac41224ab94cf3ff0e300b71c736bc1f7060ea89b46b39aae2f79418edc01df0c562287ba097b3c87afda048f6567a4912c6f8e545a0f76a073fde0763
-Size (rust-std-1.80.1-riscv64gc-unknown-netbsd.tar.xz) = 21665936 bytes
-BLAKE2s (rust-std-1.80.1-sparc64-unknown-netbsd.tar.xz) = db28bb79759fc8ccf77f87d9e1980ee87783cbd4b8a5a38604331c7403dc10e9
-SHA512 (rust-std-1.80.1-sparc64-unknown-netbsd.tar.xz) = 93fa8f7685aac422c4322949281fae710c26a07c25a85f502ad1773720bb38261c4bc16a566aacfa728717c540ccbd96f529d46277711e775781eaa12a530b66
-Size (rust-std-1.80.1-sparc64-unknown-netbsd.tar.xz) = 21378904 bytes
-BLAKE2s (rust-std-1.80.1-x86_64-apple-darwin.tar.gz) = 3344b201db06a760b6579790c40d03e06bc7b673710f42b82400716c99db7512
-SHA512 (rust-std-1.80.1-x86_64-apple-darwin.tar.gz) = 8bf682eb601e0e3243f95946d3b6aa3f31ee448bf68db7543078b67a1fc812d6010ee437ec540b0bfcbe3923c0c09cad3212886910250413ab45d5da5aa2915d
-Size (rust-std-1.80.1-x86_64-apple-darwin.tar.gz) = 41992918 bytes
-BLAKE2s (rust-std-1.80.1-x86_64-unknown-freebsd.tar.gz) = 064fa3f008912f0ea56f4e41dbadeb5e4d64d485308e3744451025ebedc496b5
-SHA512 (rust-std-1.80.1-x86_64-unknown-freebsd.tar.gz) = 46c703212b50b6268e9dfea3a4fd9286aaa48966ce6d971e5104179d235e0f3d0c463fe61849ee8eed2cfa7c6986679c60c1a04e362daf66f15ad09ca1352016
-Size (rust-std-1.80.1-x86_64-unknown-freebsd.tar.gz) = 42919193 bytes
-BLAKE2s (rust-std-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = 0e33e69fdb2bcdc70629efa3283585ee93fed759daac4f6a6fe8c8a9f2dfbbcd
-SHA512 (rust-std-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = 12b99233c0914826c1fd9b0536a56f26011d7ffa12e681ec073e268976a5b25d6db79f8523562c16874c66ae6e8731e9c91b06a3d573f673a7c67ac92b2875ba
-Size (rust-std-1.80.1-x86_64-unknown-linux-gnu.tar.gz) = 45353895 bytes
-BLAKE2s (rust-std-1.80.1-x86_64-unknown-netbsd.tar.xz) = 3856efad0d2163e5d65f96c57dd625336fa129a295b86f1808f843b73263ad8b
-SHA512 (rust-std-1.80.1-x86_64-unknown-netbsd.tar.xz) = 4a2effa77f4916516d6667ffe2fe0ef3ce0799d2e90216efe511be983ff43d1fc3d16d11f010365e9aa2b3756b4ed08b7a59df37de42c1b5824e791238751ca0
-Size (rust-std-1.80.1-x86_64-unknown-netbsd.tar.xz) = 25793560 bytes
-BLAKE2s (rustc-1.81.0-src.tar.gz) = 5b1c5e436800fbd061df9aee740c8bf73d17654d75016eb84a7e3661e9322957
-SHA512 (rustc-1.81.0-src.tar.gz) = ea1f894b56085ab95ff1bdf9ef20e0756c134be8217c8e8934de44651f7cac6339829a198f8770d97050da79711527ff80fae184038fdb2962b741d0f99b71a1
-Size (rustc-1.81.0-src.tar.gz) = 434198596 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = f2af6e3b4925e8ca21b7cd783f7831b72700384a
-SHA1 (patch-compiler_rustc__llvm_build.rs) = a4a66d449fc9eb99d648d02a041778a68f4f7ce8
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = 7d910631f49acf2c33fdd191fd3e0f261efae234
-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) = e97b7978cc525db7eadf967d51f4818a3c145754
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs) = 847022a9c02d277f39e2c842f23a9ed401bc5534
-SHA1 (patch-config.example.toml) = 520ad7a26249780ae79a5dc1d2b534a8c6aef0a5
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-src_bootstrap_bootstrap.py) = 6f1d3068da49f19c3e092230ba1c7d99af628d3a
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = e928203ed4734c93cc33c5a3f7879cf18dcecc83
-SHA1 (patch-src_bootstrap_src_core_build__steps_dist.rs) = eb228d43e1cf21ec646b516b8c67c648c7183f8a
-SHA1 (patch-src_bootstrap_src_core_build__steps_install.rs) = cc6558df42c9c9ac28fdb2ff180bdaa7f22ce816
-SHA1 (patch-src_bootstrap_src_core_builder.rs) = e3fd19e0a18f1e79e287c85035ea431b98d91d9a
-SHA1 (patch-src_bootstrap_src_core_config_config.rs) = fa9d93602693bce064aa155ad0a204b176b47d99
-SHA1 (patch-src_bootstrap_src_lib.rs) = d29bc3c0b335d5e788eecbb02fc08966beef0fb1
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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) = 84dfc091a152b83938e8706917d692a329b70393
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-tools_rust-analyzer_lib_line-index-src_lib.rs) = 4ed527174447ee23fa81dd6840e18b9949d5a273
-SHA1 (patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs) = c76abf55d641cebb70935ebeebe6cdd6f3f09463
-SHA1 (patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs) = dddc3ea2f407ce61c8bf83d1842e6a82557b8bee
-SHA1 (patch-vendor_bytecount-0.6.8_src_lib.rs) = d7610f2ae957d085a465f8c75549e5a11586a8b0
-SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 690b3feaa619050512254d7c18fd4f51da98e279
-SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
-SHA1 (patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
-SHA1 (patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs) = 22b2cd0e629f66b81456aed62b4925070635a62b
-SHA1 (patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs) = 46473abc95a7884ee6163d30156b67d8951c0c30
-SHA1 (patch-vendor_memchr-2.7.1_src_memchr.rs) = f2a5ad9d40ab3277d3f87d4044c5eb719a25b58d
-SHA1 (patch-vendor_memchr-2.7.1_src_memmem_searcher.rs) = cd5fa24223748307e20758c6669330b3b75e6b57
-SHA1 (patch-vendor_memchr-2.7.1_src_vector.rs) = 2903cc1de6c759d15ad269ae3f227709561b2c0c
-SHA1 (patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs) = caf5b8b848923c2e74bf5b5742b1ee564b6145f1
-SHA1 (patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs) = fa96a8e6546e5603a8a22fe6e09619ffaafe7bf3
-SHA1 (patch-vendor_memchr-2.7.2_src_memchr.rs) = 609dc522e5c774226d7b21391d5354f8382fe578
-SHA1 (patch-vendor_memchr-2.7.2_src_memmem_searcher.rs) = 0bdafac65abac9ee719c64d2c53125edbb5edd20
-SHA1 (patch-vendor_memchr-2.7.2_src_vector.rs) = eb716f077a311fb347139b0e40237f3ed31cf2d8
-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.28.2+1.1.1w_openssl_Configurations_10-main.conf) = ac2963bca8d1dc4e196693d9f5a264f38355314a
-SHA1 (patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs) = c87435bef2899b30b5cdb1b525193489988b2476
-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.92_build_find__normal.rs) = 91ad0d3e78055a5a205d55cd2c260cde70233bfe
-SHA1 (patch-vendor_openssl-sys-0.9.92_build_main.rs) = a47c0b7144466592aca3b622cb77498d59c5dfc4
-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.34_src_lib.rs) = 411cbf6fe2f2c8773d13e8fcc6e101b6b53109a7
diff --git a/rust181/do-cross.mk b/rust181/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust181/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/rust181/files/gcc-wrap b/rust181/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust181/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/rust181/options.mk b/rust181/options.mk
deleted file mode 100644
index 7da7699718..0000000000
--- a/rust181/options.mk
+++ /dev/null
@@ -1,78 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.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. 17) than the internal LLD (now 18.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/rust181/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust181/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index cb953e761f..0000000000
--- a/rust181/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("-rpath,@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/rust181/patches/patch-compiler_rustc__llvm_build.rs b/rust181/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 4edd1eebea..0000000000
--- a/rust181/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/rust181/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index c1ed446d2f..0000000000
--- a/rust181/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::{cvs, RelroLevel, TargetOptions};
-+use crate::spec::{cvs, Cc, Lld, RelroLevel, LinkerFlavor, TargetOptions};
- 
- pub 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/rust181/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust181/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/rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust181/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/rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust181/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/rust181/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index e4ff43501d..0000000000
--- a/rust181/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 crate::abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub 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/rust181/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust181/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/rust181/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs b/rust181/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index c7ab248900..0000000000
--- a/rust181/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Make more similar to other sparc64 target specs.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,11 +1,13 @@
- use crate::abi::Endian;
--use crate::spec::{base, Cc, LinkerFlavor, Lld, Target, TargetOptions};
-+use crate::spec::{base, Cc, LinkerFlavor, Lld, Target};
- 
- pub 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(),
-@@ -18,6 +20,6 @@ pub fn target() -> Target {
-         pointer_width: 64,
-         data_layout: "E-m:e-i64:64-n32:64-S128".into(),
-         arch: "sparc64".into(),
--        options: TargetOptions { endian: Endian::Big, mcount: "__mcount".into(), ..base },
-+        options: base,
-     }
- }
diff --git a/rust181/patches/patch-config.example.toml b/rust181/patches/patch-config.example.toml
deleted file mode 100644
index d0a943bd6b..0000000000
--- a/rust181/patches/patch-config.example.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Backport https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- config.example.toml.orig	2024-09-22 17:59:03.580913638 +0000
-+++ config.example.toml
-@@ -918,3 +918,6 @@
- # Copy the linker, DLLs, and various libraries from MinGW into the Rust toolchain.
- # Only applies when the host or target is pc-windows-gnu.
- #include-mingw-linker = true
-+
-+# Whether to vendor dependencies for the dist tarball.
-+#vendor = if "is a tarball source" || "is a git repository" { true } else { false }
diff --git a/rust181/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust181/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust181/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/rust181/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust181/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index a262257884..0000000000
--- a/rust181/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust181/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust181/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust181/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust181/patches/patch-src_bootstrap_bootstrap.py b/rust181/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index f9671c8d80..0000000000
--- a/rust181/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.23 2024/04/18 09:29:42 pin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -270,6 +270,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]
-@@ -373,10 +378,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':
-@@ -734,6 +745,7 @@ class RustBuild(object):
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
-         rpath_entries = [
-+	    "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
diff --git a/rust181/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust181/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust181/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/rust181/patches/patch-src_bootstrap_src_core_build__steps_dist.rs b/rust181/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
deleted file mode 100644
index 17355a4753..0000000000
--- a/rust181/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD$
-
-Backport https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- src/bootstrap/src/core/build_steps/dist.rs.orig	2024-09-22 17:31:33.331112310 +0000
-+++ src/bootstrap/src/core/build_steps/dist.rs
-@@ -1009,11 +1009,7 @@ impl Step for PlainSourceTarball {
-         write_git_info(builder.rust_info().info(), plain_dst_src);
-         write_git_info(builder.cargo_info.info(), &plain_dst_src.join("./src/tools/cargo"));
- 
--        // If we're building from git or tarball sources, we need to vendor
--        // a complete distribution.
--        if builder.rust_info().is_managed_git_subrepository()
--            || builder.rust_info().is_from_tarball()
--        {
-+        if builder.config.dist_vendor {
-             // FIXME: This code looks _very_ similar to what we have in `src/core/build_steps/vendor.rs`
-             // perhaps it should be removed in favor of making `dist` perform the `vendor` step?
- 
diff --git a/rust181/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust181/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust181/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/rust181/patches/patch-src_bootstrap_src_core_builder.rs b/rust181/patches/patch-src_bootstrap_src_core_builder.rs
deleted file mode 100644
index 7db4e8beb1..0000000000
--- a/rust181/patches/patch-src_bootstrap_src_core_builder.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_core_builder.rs,v 1.5 2024/07/27 02:35:24 tnn Exp $
-
-Find external libunwind on Linux.
-Use @PREFIX@, not $ORIGIN in rpath.
-
---- src/bootstrap/src/core/builder.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ src/bootstrap/src/core/builder.rs
-@@ -2149,6 +2149,11 @@ impl<'a> Builder<'a> {
-             rustflags.arg(v);
-         });
- 
-+        // added for pkgsrc libunwind
-+        if target.contains("linux") {
-+            rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX@/lib");
-+        }
-+
-         Cargo {
-             command: cargo,
-             compiler,
-@@ -2513,7 +2518,7 @@ impl Cargo {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !target.contains("xous") {
-                 self.rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/{libdir}"))
-             } else {
-                 None
-             };
diff --git a/rust181/patches/patch-src_bootstrap_src_core_config_config.rs b/rust181/patches/patch-src_bootstrap_src_core_config_config.rs
deleted file mode 100644
index c8071a8edf..0000000000
--- a/rust181/patches/patch-src_bootstrap_src_core_config_config.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD$
-
-Backport
-https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- src/bootstrap/src/core/config/config.rs.orig	2024-09-22 17:38:21.382609357 +0000
-+++ src/bootstrap/src/core/config/config.rs
-@@ -300,6 +300,7 @@ pub struct Config {
-     pub dist_compression_formats: Option<Vec<String>>,
-     pub dist_compression_profile: String,
-     pub dist_include_mingw_linker: bool,
-+    pub dist_vendor: bool,
- 
-     // libstd features
-     pub backtrace: bool, // support for RUST_BACKTRACE
-@@ -904,6 +905,7 @@ define_config! {
-         compression_formats: Option<Vec<String>> = "compression-formats",
-         compression_profile: Option<String> = "compression-profile",
-         include_mingw_linker: Option<bool> = "include-mingw-linker",
-+        vendor: Option<bool> = "vendor",
-     }
- }
- 
-@@ -1965,13 +1967,19 @@ impl Config {
-                 compression_formats,
-                 compression_profile,
-                 include_mingw_linker,
-+                vendor,
-             } = dist;
-             config.dist_sign_folder = sign_folder.map(PathBuf::from);
-             config.dist_upload_addr = upload_addr;
-             config.dist_compression_formats = compression_formats;
-             set(&mut config.dist_compression_profile, compression_profile);
-             set(&mut config.rust_dist_src, src_tarball);
--            set(&mut config.dist_include_mingw_linker, include_mingw_linker)
-+            set(&mut config.dist_include_mingw_linker, include_mingw_linker);
-+            config.dist_vendor = vendor.unwrap_or_else(|| {
-+                // If we're building from git or tarball sources, enable it by default.
-+                 config.rust_info.is_managed_git_subrepository()
-+                     || config.rust_info.is_from_tarball()
-+             });
-         }
- 
-         if let Some(r) = rustfmt {
diff --git a/rust181/patches/patch-src_bootstrap_src_lib.rs b/rust181/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index d3d2e25ffb..0000000000
--- a/rust181/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust181/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust181/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index d0dfe4e6da..0000000000
--- a/rust181/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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust181/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust181/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust181/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/rust181/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust181/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust181/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/rust181/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust181/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust181/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/rust181/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust181/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust181/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/rust181/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust181/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust181/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/rust181/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust181/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index 661fa594fb..0000000000
--- a/rust181/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	2019-08-13 06:27:40.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"))]
- #[allow(deprecated)]
- #[cargo_test]
- fn incremental_profile() {
-@@ -176,6 +179,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[allow(deprecated)]
- #[cargo_test]
- fn incremental_config() {
diff --git a/rust181/patches/patch-src_tools_rust-installer_install-template.sh b/rust181/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust181/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/rust181/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs b/rust181/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
deleted file mode 100644
index 8b4f9fe0d2..0000000000
--- a/rust181/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD$
-
-Try to avoid using neon for big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- src/tools/rust-analyzer/lib/line-index/src/lib.rs.orig	2024-09-01 14:12:57.016998002 +0000
-+++ src/tools/rust-analyzer/lib/line-index/src/lib.rs
-@@ -227,7 +227,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>,
-@@ -339,7 +339,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
- //
-@@ -354,7 +354,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>,
-@@ -433,7 +433,11 @@ 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/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs b/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
deleted file mode 100644
index 97e419f1c2..0000000000
--- a/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-$NetBSD$
-
-Avoid use of neon / SIMD on big-endian aarch64.
-
---- vendor/aho-corasick-1.1.2/src/packed/teddy/builder.rs.orig	2024-09-29 08:19:52.405194911 +0000
-+++ vendor/aho-corasick-1.1.2/src/packed/teddy/builder.rs
-@@ -230,7 +230,7 @@ impl Builder {
-                 }
-             }
-         }
--        #[cfg(target_arch = "aarch64")]
-+        #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
-         {
-             use self::aarch64::SlimNeon;
- 
-@@ -301,7 +301,7 @@ impl Builder {
-         }
-         #[cfg(not(any(
-             all(target_arch = "x86_64", target_feature = "sse2"),
--            target_arch = "aarch64"
-+            all(target_arch = "aarch64", target_endian = "little")
-         )))]
-         {
-             None
-@@ -705,7 +705,7 @@ mod x86_64 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64 {
-     use core::arch::aarch64::uint8x16_t;
- 
diff --git a/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs b/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
deleted file mode 100644
index ebbbbaaded..0000000000
--- a/rust181/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD$
-
-Avoid use of neon / SIMD on big-endian aarch64.
-
---- vendor/aho-corasick-1.1.2/src/packed/vector.rs.orig	2024-09-29 08:09:15.720814688 +0000
-+++ vendor/aho-corasick-1.1.2/src/packed/vector.rs
-@@ -595,7 +595,7 @@ mod x86_64_avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64_neon {
-     use core::arch::aarch64::*;
- 
-@@ -1466,7 +1466,11 @@ mod tests_x86_64_avx2 {
-     }
- }
- 
--#[cfg(all(test, target_arch = "aarch64", target_feature = "neon"))]
-+#[cfg(all(test,
-+          target_arch = "aarch64",
-+          target_feature = "neon",
-+          target_endian = "little"
-+))]
- mod tests_aarch64_neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust181/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust181/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index 8726eb0b2e..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_cc-1.0.73_src_lib.rs b/rust181/patches/patch-vendor_cc-1.0.73_src_lib.rs
deleted file mode 100644
index 5a7ac7e4b6..0000000000
--- a/rust181/patches/patch-vendor_cc-1.0.73_src_lib.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use correct ABI on NetBSD/riscv64.
-
---- vendor/cc-1.0.79/src/lib.rs.orig	2024-08-29 17:57:16.678636324 +0000
-+++ vendor/cc-1.0.79/src/lib.rs
-@@ -1946,6 +1946,9 @@ impl Build {
-                         } else if target.contains("freebsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
-+                        } else if target.contains("netbsd") && arch.starts_with("64") {
-+                            cmd.args.push(("-march=rv64gc").into());
-+                            cmd.args.push("-mabi=lp64d".into());
-                         } else if target.contains("openbsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
diff --git a/rust181/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust181/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust181/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
deleted file mode 100644
index dbedca579c..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Turn off use of neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.1/src/arch/aarch64/memchr.rs.orig	2024-09-29 15:07:46.024388906 +0000
-+++ vendor/memchr-2.7.1/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/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs b/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3ce0048d64..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Only use neon extension on little-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.1/src/arch/aarch64/mod.rs.orig	2024-09-29 15:09:57.496379714 +0000
-+++ vendor/memchr-2.7.1/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/rust181/patches/patch-vendor_memchr-2.7.1_src_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
deleted file mode 100644
index 6cbb843fd8..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-$NetBSD$
-
-Only use neon extension on little-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.1/src/memchr.rs.orig	2024-09-29 15:11:13.260160791 +0000
-+++ vendor/memchr-2.7.1/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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        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",
-         target_arch = "wasm32",
--        target_arch = "aarch64"
-+        all(target_arch = "aarch64", target_endian = "little")
-     )))]
-     {
-         crate::arch::all::memchr::One::new(needle).count_raw(start, end)
diff --git a/rust181/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs b/rust181/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
deleted file mode 100644
index facb8f2869..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-$NetBSD$
-
-Skip attempts at using neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.1/src/memmem/searcher.rs.orig	2024-09-29 15:19:47.699469326 +0000
-+++ vendor/memchr-2.7.1/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(target_arch = "wasm32")]
- 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"),
-             target_arch = "wasm32",
--            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(target_arch = "wasm32")]
-     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(target_arch = "wasm32")]
-     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/rust181/patches/patch-vendor_memchr-2.7.1_src_vector.rs b/rust181/patches/patch-vendor_memchr-2.7.1_src_vector.rs
deleted file mode 100644
index d3dadc625c..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.1_src_vector.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Avoid using neon on big-endian aarch64.
-
---- vendor/memchr-2.7.1/src/vector.rs.orig	2024-09-29 15:24:01.478487808 +0000
-+++ vendor/memchr-2.7.1/src/vector.rs
-@@ -293,7 +293,7 @@ mod x86avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 12d39afeff..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Turn off use of neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.2/src/arch/aarch64/memchr.rs.orig	2024-08-31 22:23:54.486083582 +0000
-+++ vendor/memchr-2.7.2/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/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs b/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs
deleted file mode 100644
index f2d0c13101..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Only use neon extension on little-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.2/src/arch/aarch64/mod.rs.orig	2024-09-01 09:05:35.656376678 +0000
-+++ vendor/memchr-2.7.2/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/rust181/patches/patch-vendor_memchr-2.7.2_src_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.2_src_memchr.rs
deleted file mode 100644
index 9bdf5fd6f4..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.2_src_memchr.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-$NetBSD$
-
-Only use neon on aarch64 in little-endian mode.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.2/src/memchr.rs.orig	2024-09-01 11:31:02.127419756 +0000
-+++ vendor/memchr-2.7.2/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/rust181/patches/patch-vendor_memchr-2.7.2_src_memmem_searcher.rs b/rust181/patches/patch-vendor_memchr-2.7.2_src_memmem_searcher.rs
deleted file mode 100644
index 6475e7dfaa..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.2_src_memmem_searcher.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-$NetBSD$
-
-Skip attempts at using neon on big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- vendor/memchr-2.7.2/src/memmem/searcher.rs.orig	2024-09-01 10:22:12.705269507 +0000
-+++ vendor/memchr-2.7.2/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/rust181/patches/patch-vendor_memchr-2.7.2_src_vector.rs b/rust181/patches/patch-vendor_memchr-2.7.2_src_vector.rs
deleted file mode 100644
index 68629769b6..0000000000
--- a/rust181/patches/patch-vendor_memchr-2.7.2_src_vector.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Avoid using neon on big-endian aarch64.
-
---- vendor/memchr-2.7.2/src/vector.rs.orig	2024-08-31 21:43:37.853458080 +0000
-+++ vendor/memchr-2.7.2/src/vector.rs
-@@ -293,7 +293,7 @@ mod x86avx2 {
-     }
- }
- 
--#[cfg(target_arch = "aarch64")]
-+#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
- mod aarch64neon {
-     use core::arch::aarch64::*;
- 
diff --git a/rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust181/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust181/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust181/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust181/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf b/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
deleted file mode 100644
index d7eb270fd1..0000000000
--- a/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_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.28.2+1.1.1w/openssl/Configurations/10-main.conf.orig	2024-08-29 18:07:36.845484717 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/openssl/Configurations/10-main.conf
-@@ -950,6 +950,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/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs b/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
deleted file mode 100644
index 5924303d05..0000000000
--- a/rust181/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD$
-
---- vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs.orig	2024-08-29 18:09:29.494697634 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "loongarch64-unknown-linux-musl" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-@@ -274,9 +280,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -284,8 +292,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/rust181/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs b/rust181/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
deleted file mode 100644
index 80d98e247b..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs b/rust181/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
deleted file mode 100644
index a15188f472..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs b/rust181/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
deleted file mode 100644
index 99108643b7..0000000000
--- a/rust181/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.92/build/find_normal.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/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/rust181/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs b/rust181/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
deleted file mode 100644
index 0a70272949..0000000000
--- a/rust181/patches/patch-vendor_openssl-sys-0.9.92_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.92/build/main.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/build/main.rs
-@@ -115,6 +115,14 @@ fn main() {
-         println!("cargo:rustc-link-lib={}={}", kind, lib);
-     }
- 
-+    // 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/rust181/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust181/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust181/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust181/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/rust181/patches/patch-vendor_zerocopy-0.7.34_src_lib.rs b/rust181/patches/patch-vendor_zerocopy-0.7.34_src_lib.rs
deleted file mode 100644
index 59a16f65d4..0000000000
--- a/rust181/patches/patch-vendor_zerocopy-0.7.34_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.34/src/lib.rs.orig	2024-08-31 21:15:29.602997509 +0000
-+++ vendor/zerocopy-0.7.34/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/rust181/platform.mk b/rust181/platform.mk
deleted file mode 100644
index c6a01214d8..0000000000
--- a/rust181/platform.mk
+++ /dev/null
@@ -1,31 +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 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
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-earm*} && ${OPSYS_VERSION} < 100000
-RUST_DIR?=	../../lang/rust176
-.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/rust181/rust.mk b/rust181/rust.mk
deleted file mode 100644
index 5ecb4c2e46..0000000000
--- a/rust181/rust.mk
+++ /dev/null
@@ -1,56 +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
-#
-# === 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
-
-RUST_TYPE?=	src
-
-.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/rust182-bin/DESCR b/rust182-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust182-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/rust182-bin/Makefile b/rust182-bin/Makefile
deleted file mode 100644
index 0c3775d529..0000000000
--- a/rust182-bin/Makefile
+++ /dev/null
@@ -1,304 +0,0 @@
-# $NetBSD: Makefile,v 1.69 2024/10/14 20:52:26 wiz Exp $
-
-DISTNAME=	rust-1.82.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 !empty(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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust182-bin/buildlink3.mk b/rust182-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust182-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/rust182-bin/distinfo b/rust182-bin/distinfo
deleted file mode 100644
index d5116ba9c9..0000000000
--- a/rust182-bin/distinfo
+++ /dev/null
@@ -1,59 +0,0 @@
-$NetBSD: distinfo,v 1.40 2024/10/14 20:52:26 wiz Exp $
-
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-aarch64-apple-darwin.tar.gz) = 664d14f01ccd28193d595f28351d5421e3e28987c6703a7685129386c11b151c
-SHA512 (rust-bin-1.82.0/rust-1.82.0-aarch64-apple-darwin.tar.gz) = 4b25e91e30764c39fcf9efafa96b7a89fe14d64c7364cdc10dd7c9027779f6de73c6f98024df16dc1020b50c404f1201fa3f4c473098f820afada473fa33478e
-Size (rust-bin-1.82.0/rust-1.82.0-aarch64-apple-darwin.tar.gz) = 353239700 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 024259d2a3dde28d310fd7ebdda40c324922e1860509c9295df4485b68d40d4e
-SHA512 (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 5012ed757908ed0db73e0e079a46d4bfce575ea3ebe17a47b127001971944f0d7b885ca28bc7ee8e9da91170106ed434529536e7069c78e3706aacf59d892c15
-Size (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 501568008 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-musl.tar.gz) = f7a7c78f7ba00bf3135a7bb07e0e543af34b4d3e567e350e2d81eb6dc2541de7
-SHA512 (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-musl.tar.gz) = 260a13bc4b66fc9427eaeeecd8c3da272d42fd6d457369f13ca139e101071900dc21a2b3077c5dea8d4db2eb3008d39a363ec5cf495780549e148d46250311a1
-Size (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-linux-musl.tar.gz) = 403598068 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = 3e64188087780dbd2d1816d13542233b0643470a1c8ec0760e333c461810999c
-SHA512 (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = db70efdbd55f3ed9df5bc197674bbb84dc1193c18bca25cd3326bd0a435dacba9065e8d2f6bc0f733d2f8683cea3e00881231b0af06fbacb43df8b19a1e74160
-Size (rust-bin-1.82.0/rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = 205636040 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = c97147db08a5c44815bf1c32447c15dff9b22c592dbe7f8474ae7b188309a05a
-SHA512 (rust-bin-1.82.0/rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 5ad6da49ff80a1860dedc0bdb8ac8ff8c975367118db75d0528ee83c10ea7598ac881448a5641d5010b35b34d0aeeb4dfc19ad581ba304fc844947ead09f0d05
-Size (rust-bin-1.82.0/rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 203750380 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 83784b40300458573a8cea5e37cf700c5c72746b831363ded55aef9b2031ff4f
-SHA512 (rust-bin-1.82.0/rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = ed77b4948265483362ab1548b98fdd837fffa49e5144d0647c657555f965462f5729b53f2e9fa0655e37c32ba42a7b4398642a76a199e89ae2f8749c0acb88c7
-Size (rust-bin-1.82.0/rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 175096484 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = a20536546db9e91726dfb3ceeb58d9ae4d54e04c0ba52ccbfeb5f82ef549e857
-SHA512 (rust-bin-1.82.0/rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 985c92c2f366162d6960ddb96ac6be15f7d770f9964d96026ac0c55a1939a0be69ee206697db9fb2da0546417aef19bddaddf26d2484db486160517a9d205d0f
-Size (rust-bin-1.82.0/rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 175788804 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-i586-unknown-netbsd.tar.xz) = dfe4e0008619c899cbfee987db9e15f02346520e710d886806bc74383da95d4b
-SHA512 (rust-bin-1.82.0/rust-1.82.0-i586-unknown-netbsd.tar.xz) = 7024ab15af2f74e91f1d919f51887b6f78c9dbf7c7194b4899df4d459cc0ec42f752864fa27ad2a8920855a5bb5852b71109962795c1ce3327cb8129a55baf20
-Size (rust-bin-1.82.0/rust-1.82.0-i586-unknown-netbsd.tar.xz) = 226751484 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = 8e96b3a839e940f069b9f1220792e0d3777e3f77823d840b723b586a5e2039e6
-SHA512 (rust-bin-1.82.0/rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = e8197c5a41c5028bf6ed34891671d8b891a82a1e54815eb1f3833e5d21bc4c12f6c49041d1246336a1417224499daef819a0705dad215aa25b360a5b935c6052
-Size (rust-bin-1.82.0/rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = 453859154 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-mipsel-unknown-netbsd.tar.xz) = d6c6fd621edb195b3d445bc3abefb03af7ddedfae58090b81c8742e3ee102deb
-SHA512 (rust-bin-1.82.0/rust-1.82.0-mipsel-unknown-netbsd.tar.xz) = 8c21a939454c41f110420443a752d20ad7937645d58a2f5ddfba2ad5853eec48c83b5a5f61a8cef12ae98a37554ba2de65a64f7479675827016de9abe7770ed3
-Size (rust-bin-1.82.0/rust-1.82.0-mipsel-unknown-netbsd.tar.xz) = 181473484 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = ab56bfec95efeeb8b95d6c195899bffa7ff0a1569f40e1163170876d087fd6e8
-SHA512 (rust-bin-1.82.0/rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = 0a00ce1d1324b2deb7ae77e9a16e57f178e9f18b0caffc18350f89d1573a4ea44f27641929f6af5dd70daabb1deea58571375b1468fc4651b086b20d772f4de2
-Size (rust-bin-1.82.0/rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = 237715156 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = acb6312c2022c4d2016fed300ba2f861bd98cca4650a66851048aa07c6c999ac
-SHA512 (rust-bin-1.82.0/rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 7831912b24f96e6429433f7da223aa7b6232e0329e85770932ce676335945480b691725f40ab472acb4bfbcfe191aff949bf2fe0dcbc58ee9a13feadb470406f
-Size (rust-bin-1.82.0/rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 223052688 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = 5a1523dbf4b02eb8a51950e821a3c0975569b0a454c5c063ec59e8e019a282a8
-SHA512 (rust-bin-1.82.0/rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = d8a2c349ade804b9fb06f8f98231ca49649289da0142e7a39f6c2893bd140191e65a683b82bfead5cd3a521550ab6893956d179520c006a3c56df4bd865941b0
-Size (rust-bin-1.82.0/rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = 202245792 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-apple-darwin.tar.gz) = 9bc4f814e48e1f663d586da87bae1f001d4b0ce71c5879c4b206162082d344a5
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-apple-darwin.tar.gz) = 0ca5079f938c78d199dee1527d0d9d8c5f481daff4db4e31323a5128108b18934bb377be8087cc2b6213b5100fb14e3fc1dfed1a8a6a0a26fca1b57927e39fea
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-apple-darwin.tar.gz) = 359733549 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 2a5ccc8fb5aa1d5ff1bbfd60a169dbba28ab2e7933aac37484534215ed0d5f53
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 2e97de2e1d0c9d69662cc151becd478d2b0acaaff42443562f518a4191dadabdf0e165f0b9ae1fe90a8c37114377563d9471da2e631ead6a9b1b8583d57da2d0
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 342962316 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 60e203f8e321751467e7cd354629980e8c3d31a857b333ac2f061cab0151a357
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 138e6cf5eb3a45aa6631924ddafa5812c3eb1d78d11df6ca7f21e592fd4e80e03137897f194bb8063bc6e105e3604e944cc423a74dfa7eaedc45b92e0d0d3ff9
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 229164320 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 6e7ce2e72a8bc69e9458ea802d18b1de5f0e697be2720eef8bc465051f13bc18
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 0fb69cea8b4ebed5a7859f56b308c743ab094bc04d7266651f8a250bcb262f1c45b2ad2b0e2ee5c854ed35208eafd1f7253a495e55860787ba63396ad6a07133
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 353103417 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-musl.tar.gz) = 91e06ae7ae9e9d807fd4ba71594654da932e6ffc0bd01fab4847d3714145503a
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-musl.tar.gz) = 7b56379b0ed71592144a32fb9af624d4e6af2a1ee7eb84176c6f1556b9edb13a07e6e381b7424b536ba1082705084eb74a7f5e0c010af5319f8cd4c2c9f9ce9c
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-linux-musl.tar.gz) = 494869296 bytes
-BLAKE2s (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-netbsd.tar.gz) = f63e6aa6212458cdca976ad57d77c43839e8a3c5768366064f164e68cdc1e870
-SHA512 (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-netbsd.tar.gz) = f9e70b617b87130735c7f6b018dff85191288cf23eee4ad6d89cf63d79f06fce581b64bc27c32f7d0ee8fb9d2a86595b1c534f6ff12c55bffd3c9bc40546643f
-Size (rust-bin-1.82.0/rust-1.82.0-x86_64-unknown-netbsd.tar.gz) = 357458451 bytes
diff --git a/rust182-bin/files/install.sh b/rust182-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust182-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/rust182/DESCR b/rust182/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust182/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/rust182/HOWTO-BOOTSTRAP b/rust182/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust182/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/rust182/Makefile b/rust182/Makefile
deleted file mode 100644
index 0c8d63bbe5..0000000000
--- a/rust182/Makefile
+++ /dev/null
@@ -1,689 +0,0 @@
-# $NetBSD: Makefile,v 1.316 2024/07/31 12:30:43 he Exp $
-
-DISTNAME=	rustc-1.82.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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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.81.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.81.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.81.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.81.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.81.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.81.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.81.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.81.0
-RUST_ARCH:=		x86_64-unknown-illumos
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-SITES.${RUST_STAGE0}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-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.81.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.81.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.81.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.81.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.81.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.81.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.81.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.81.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.81.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.81.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.82.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.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.92
-CKSUMS+=	33f814dba4ac9942266157cbe3dc8eadf5e477090370a92c36c53f916fa45d48
-CKSUMS+=	f78ddd9b03c31a03350aa152d6f707c6cbb21b2ea0b493d05238aa473b80af09
-CKSUMS+=	b2cbaa5bfac5e7d5550aa0eb8e5c65a9f7e86a3692b759fb13330ef6e3b26b30
-CKSUMS+=	b303bf9ceae9fcffa4a0420ea858675d827fc2d75c358f8236e44274d58be1a0
-
-CKSUM_CRATES+=	vendor/openssl-src-111.28.2+1.1.1w/
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	e8ca5ea1808323cd9f0cc9d53c7258bb2f3112e5eafc11dd457e010a80a9c8d8
-CKSUMS+=	cf331474674b6c4fff7e361d592c14131c97918d6f756b36698a7ac8ec845adb
-CKSUMS+=	bec36eddcf41c8639903ea7593751c92251100168241bc5696f8a776a55651fb
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-
-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+=	a6750c0e2a6c385ec902cd7f87de7835fe2b4171b9c83da64122274ee20a77c6
-
-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 -v				\
-		    ${BUILD_TARGET} -j ${_MAKE_JOBS_N};			\
-	else								\
-		${TOOL_PYTHONBIN} ./x.py -v				\
-		    ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} &&	\
-		${TOOL_PYTHONBIN} ./x.py -v				\
-		    doc --stage 2 -j ${_MAKE_JOBS_N};			\
-	fi"
-
-do-test:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV}						\
-		${TOOL_PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N}
-
-do-install:
-	${RUN}${_ULIMIT_CMD}						\
-	cd ${WRKSRC} &&							\
-	${SETENV} ${MAKE_ENV} ${INSTALL_ENV} 				\
-		${TOOL_PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
-
-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.18.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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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/rust182/buildlink3.mk b/rust182/buildlink3.mk
deleted file mode 100644
index b8eeb79834..0000000000
--- a/rust182/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.14 2023/10/25 05:50:43 pin 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust182/cargo.mk b/rust182/cargo.mk
deleted file mode 100644
index 5813c04321..0000000000
--- a/rust182/cargo.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# $NetBSD: cargo.mk,v 1.37 2024/05/04 20:06:55 tnn 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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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/rust182/cross.mk b/rust182/cross.mk
deleted file mode 100644
index 47f2b3e006..0000000000
--- a/rust182/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/rust182/distinfo b/rust182/distinfo
deleted file mode 100644
index 3521ea5d45..0000000000
--- a/rust182/distinfo
+++ /dev/null
@@ -1,158 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.81.0-aarch64-apple-darwin.tar.gz) = aa033b8af1b7cf6a08476da3f74fa4634bc82224fb170cda4683aa6b5fde0916
-SHA512 (rust-1.81.0-aarch64-apple-darwin.tar.gz) = 542be316f94beaf12d2c87f67acaaf41273a7fe2117768a46d02cef30522dd1c1fd4eeff22e516b77d5b173a435ff4140433b23327561318fbe4a0b1519f2ab9
-Size (rust-1.81.0-aarch64-apple-darwin.tar.gz) = 342382518 bytes
-BLAKE2s (rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 39c710c66162a654ca5fe27e651c43d753a2cf5be09ab259f985195a4b7a4949
-SHA512 (rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 456ea7e345ad856e27c0fa94b1e3c642eeb34cbfe6ffd34cc67622ce222ab17259913c329ee59a91b69b52bf447a85fc4c3141898080961a9de4094b4e1a17dd
-Size (rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 488236376 bytes
-BLAKE2s (rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = d06db0dad290d162959052e44d6cb609c36a2851f92dc8aaad1b4ae08b3fa458
-SHA512 (rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = 5517e60c488998f0ad18080e52850510100263bd92d8e9f8254742f75bf1a774d46e5c9bddfcfc185fcd51bafe59f24a24d38b1347ef599398e29f3147c66d60
-Size (rust-1.81.0-aarch64-unknown-netbsd.tar.xz) = 199857236 bytes
-BLAKE2s (rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = f90a8038a4931ab11682f5ab93224702d4f4ef6583ef57ebca3ff596a0abdee3
-SHA512 (rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 1047c5f32c9a0ad5480238dc4c1c61061030639bdcb1e7853cb4401ad3ff5b9bca45d2d042aba040b2f86504835caddfc6c8eb4c60c6b023847ebcebd1578e21
-Size (rust-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 198057028 bytes
-BLAKE2s (rust-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = 9b503d5b2a2428a7f6657202b042f3655f859791585c55a80e0ed7c369f5ba6d
-SHA512 (rust-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = 0e9719f2b72e25eae21a7d34c3c5cdd655646b5fcacc4427e4c45db4e40f9d53db82bb631e4807984b280f31dfe90f81637fe32e72536f0b01e92b923fb637aa
-Size (rust-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = 372178843 bytes
-BLAKE2s (rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = de41c01933b7016c83caab00d9105b5bb46996fec037d5b8f8f0caee856d44eb
-SHA512 (rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9e2f0ea2852409e12c9ea0b8ed69d3ca2d50e06fd4879511a680c57ceefc8e2c038bff73538a7cd1547dcb71944d69383137ce3df5aa890504df18c117aa59ad
-Size (rust-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 169411036 bytes
-BLAKE2s (rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = 615f19c752bc9db052e282e11b344137ced86ada54b918aea0e844ad321f3520
-SHA512 (rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = 1fbfcdf94e48047ee7d6fa2553ae5adc7d2257fdbfdebf0a5379b856e75ea04d49c5f49f4d694324bcd66166d64849d46c302279bda7ba31ce4bff20f0de4d65
-Size (rust-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = 360463528 bytes
-BLAKE2s (rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 49e09d97f2adb9161d10ac38df4e2f02ba5d99866aa1ead5090099a18ae6f02b
-SHA512 (rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = de7a5c8746f941efce91fc82dd3775bf9e00b831581a201808b6baef061da8d1592ed91fdf0e29ba86feac6843f51c6ab105bae0079be9a72fcdc10d7494ef2a
-Size (rust-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 171194260 bytes
-BLAKE2s (rust-1.81.0-i586-unknown-netbsd.tar.xz) = 10ebe3f58b5cd33bd16eb5ef00e34759abf446d2b7c3ec044a9f66e070c8b28c
-SHA512 (rust-1.81.0-i586-unknown-netbsd.tar.xz) = 771ad395071b89e1c6163bdb75bfe3e8a62c009046e525c49b83aa29b732f7627571cc6c10104cc489cc805518a232095714f032a8e10726c990657d4ffbfa21
-Size (rust-1.81.0-i586-unknown-netbsd.tar.xz) = 217261872 bytes
-BLAKE2s (rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 831e8265e0a81a18c33482a04ab4ccf3aa376d44e63ff61c2d817cee36a430ff
-SHA512 (rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 7ca73bdf5393b57700c9273df99b02fc59c0cbb8e08dea29da8ed2e9f6816eafdc427202c4aa42fbd155dd138ec39106fe9a8502129fefecbd47a37d769af343
-Size (rust-1.81.0-i686-unknown-linux-gnu.tar.gz) = 439375569 bytes
-BLAKE2s (rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 70f5e9e8afd218b7d6421970d8b767aedb4c40cb0d4f57b0ff73bfdbcd21e7ac
-SHA512 (rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 2ac0493a5ae06525628b5655731fd18b9d1bb3f6bd483e603413ee63ac6b5dfbc26f6f16905cf0e3502a04170644802a4f66dee1c6a42409b03a4b0ee8274bb8
-Size (rust-1.81.0-powerpc-unknown-netbsd.tar.xz) = 230224080 bytes
-BLAKE2s (rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 6dd09b88f3de7e71f580c75f81da5bebb31a19d1e111806f0d984507c6ee65a1
-SHA512 (rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 3799752690ad0a0c80000ca284c8198fe8db46757f579e697dc77a0183ed7360d46355917dbed4c37dcc8debd55e7ee842d851054128b7e4ad4bee466ab3b788
-Size (rust-1.81.0-sparc64-unknown-netbsd.tar.xz) = 193855168 bytes
-BLAKE2s (rust-1.81.0-x86_64-apple-darwin.tar.gz) = 3ce64f23c508cc24929b0bd9d96e338a0fa2e6924cf7cefbb6cb9aace13b989e
-SHA512 (rust-1.81.0-x86_64-apple-darwin.tar.gz) = 06acf3a19beae8166622830d79799be61d80b8864e83aabe7a7b6e852d4e6ad0af9cb74278b6d703b8378739d8ed49e42cf771d75ef6789726fc491dd9ce35e1
-Size (rust-1.81.0-x86_64-apple-darwin.tar.gz) = 346755530 bytes
-BLAKE2s (rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = ea20d7a67bed2b1a37b8ad31f92e121a2110f02311888b85cf0a03ec6320723b
-SHA512 (rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = 3617c5054f0f8f6657c5cae0dfc49644cb83a28b1741bafb916f16d6681ef3697f09a0f892e24b629b720206ac4eda31fa7618ea647ab4dc29f31dd024dfb3dc
-Size (rust-1.81.0-x86_64-unknown-freebsd.tar.gz) = 329217094 bytes
-BLAKE2s (rust-1.81.0-x86_64-unknown-illumos.tar.gz) = 887706a94ceaf9fcae2c192545bc09c77d23d95b956d76d8cf6b2c1aaeffa203
-SHA512 (rust-1.81.0-x86_64-unknown-illumos.tar.gz) = 9b3ca7d18970d2023f25a82dd8b35c2524e1ba286d3492771a1e1cdf26a4e544d3e42dbad878108e1e52b3617f6e939994a289f4cbd8eaf68c1ddd6a005a1188
-Size (rust-1.81.0-x86_64-unknown-illumos.tar.gz) = 223431240 bytes
-BLAKE2s (rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 64140ced76a7a2230bc710bd2ca562fd3e4c4deb0dff194a71a17a2675911a4c
-SHA512 (rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = b6eb16fcb109e6c60a80d63999dce969e7abfed936d6e68c563d212db0cd9ec5d6874d45a185157838878b0ed68e52796d763192656c12496cd7572757292b8c
-Size (rust-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 340154798 bytes
-BLAKE2s (rust-1.81.0-x86_64-unknown-netbsd.tar.xz) = 74ede561486232e00ddae0119ed776d47d3e8aece14b86bd1510dbd01edd94af
-SHA512 (rust-1.81.0-x86_64-unknown-netbsd.tar.xz) = 05b6274d279a7498143a3632a85201a62bdde1bded70ff24a0b812093eb48758fcfbf27ccde5e65272b27985f24794922d01164c8cf1fdd7f14c674f64f5edd2
-Size (rust-1.81.0-x86_64-unknown-netbsd.tar.xz) = 189273736 bytes
-BLAKE2s (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = acb6312c2022c4d2016fed300ba2f861bd98cca4650a66851048aa07c6c999ac
-SHA512 (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 7831912b24f96e6429433f7da223aa7b6232e0329e85770932ce676335945480b691725f40ab472acb4bfbcfe191aff949bf2fe0dcbc58ee9a13feadb470406f
-Size (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 223052688 bytes
-BLAKE2s (rust-std-1.81.0-aarch64-apple-darwin.tar.gz) = 8ed47dcb59bc50d4450ab4d425cc955b58b7829109aaffc397d75ed687bdbcc1
-SHA512 (rust-std-1.81.0-aarch64-apple-darwin.tar.gz) = 39dda9eea3f3f7b1967cc0a8de0b1be13147ba669134fc5ab3cd6780f8a8fb6072dab42dae2a61bc461709d218253257772a8f2520b7f737c6e0964028e90e5a
-Size (rust-std-1.81.0-aarch64-apple-darwin.tar.gz) = 40942716 bytes
-BLAKE2s (rust-std-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 6577ee264d45ae3fa78e56be44ec2580ce3193e6cbd42546e5ecf2dc844612f6
-SHA512 (rust-std-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = b169c386746ac1af1254fe7bd6dd9c83fb259bb8749ece7db7feb7f2f18e85f84ff2fbec5e4d7721010388a0fa30dc941b4730c90980bba74caee389652ce355
-Size (rust-std-1.81.0-aarch64-unknown-linux-gnu.tar.gz) = 57042816 bytes
-BLAKE2s (rust-std-1.81.0-aarch64-unknown-netbsd.tar.xz) = caf19d678e536fc64865c83612858fcb2bbb92e4df93af7988da660c00d49f22
-SHA512 (rust-std-1.81.0-aarch64-unknown-netbsd.tar.xz) = 27f1da8d2be1d6a93fd126b5dc54063600ff855c97f1f2bf16b2e1e6d7c56f8ce233963b4a6b8707d218a7a6de48a0f184c58bcf9f8f4f2b4a7c097570b6e45f
-Size (rust-std-1.81.0-aarch64-unknown-netbsd.tar.xz) = 23243712 bytes
-BLAKE2s (rust-std-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 8943bda365466ce352ecdfcbffd62f0307a2ff90916e8f613ac75cfb4d552b44
-SHA512 (rust-std-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 1a87788b66828b66fb40c8675bfe267bb0cc0dcc817ccb32c6d3f6509717bcca730c5ae424dfdd851ee696316209a00a057532bb138bd2dbdfd04c9bce8d3014
-Size (rust-std-1.81.0-aarch64_be-unknown-netbsd.tar.xz) = 21856844 bytes
-BLAKE2s (rust-std-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = 07e7b077f156da9c8a9d90abcdf7c77cc0a28299911c2633daa05d1a186a6585
-SHA512 (rust-std-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = eb91e62805b62f92904f6ee48f237843b210c8b09c9c109ffe17ff466054184ed285427a8ff67e0280c87e26933424060cfc22175185395a4b73d33adc18c088
-Size (rust-std-1.81.0-arm-unknown-linux-gnueabihf.tar.gz) = 37638920 bytes
-BLAKE2s (rust-std-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 753e2af4a71e5658739819e21af09130891b9ef85d33f772b83848dd6d731101
-SHA512 (rust-std-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 26f99382fd36624f7a1e2ad8835d40d669cbd0577a2cbb7f4841f78e115fed1f73d8e6624c8f48590f37b0b6ba9661617e247af7eedf09f77e4fe8e9715c4ee2
-Size (rust-std-1.81.0-armv6-unknown-netbsd-eabihf.tar.xz) = 21899440 bytes
-BLAKE2s (rust-std-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = cf3fb73fa3781cbd107bb1136e45fd31c8f7d684377880d569b045cc22c3422a
-SHA512 (rust-std-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = ca8b50ab0cc99bc85fdbddbedb7e328d960143a2e26e42ffde71a1f9faca1710116580043874b64856dcb5ffc87c21826dd8f3cdc534d34ff031c65b0a003c9f
-Size (rust-std-1.81.0-armv7-unknown-linux-gnueabihf.tar.gz) = 39178697 bytes
-BLAKE2s (rust-std-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 30d1d2fccac13a96c3c6014d4fa4e446808048ea16d631a3dc092b60f6952c91
-SHA512 (rust-std-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 621798a1294aa084f99fc13aeb5865d72926a55e95773cb9b6a9d5e9842ef287ad0c53af0729d1189b108ef28214d4b119f67fffb6552f23b5d1b68c7a166386
-Size (rust-std-1.81.0-armv7-unknown-netbsd-eabihf.tar.xz) = 22860184 bytes
-BLAKE2s (rust-std-1.81.0-i586-unknown-netbsd.tar.xz) = 35e760c34fb238ce9f2a0383fc5543f9516fbab914050def953d43e8be5b428e
-SHA512 (rust-std-1.81.0-i586-unknown-netbsd.tar.xz) = 0fdb3e2b5b2885686ec130df9133927092cc6f5f44f29255accfecc78f675f8335f0e6610119a7e849a96e7086603cb3fdd09e108af126fa96f1d17fd916d655
-Size (rust-std-1.81.0-i586-unknown-netbsd.tar.xz) = 23867944 bytes
-BLAKE2s (rust-std-1.81.0-i686-unknown-linux-gnu.tar.gz) = 572f9dd807d373b0b66867e13307e3e3de86cbd0b7cd1fefcd2051de3a2e6876
-SHA512 (rust-std-1.81.0-i686-unknown-linux-gnu.tar.gz) = 0119ad7e92654c52629bb0dcf4b7a938bc322e8956772e3420b47eeaedb010168e94b30a048295952506d658f2dcbcc8bfc3e08aeaf1f504d6dbc74b0134f156
-Size (rust-std-1.81.0-i686-unknown-linux-gnu.tar.gz) = 40598854 bytes
-BLAKE2s (rust-std-1.81.0-powerpc-unknown-netbsd.tar.xz) = 50bc72a21c295c22815f3e0d58210de9ee53bea961974d56608db8f5e138f578
-SHA512 (rust-std-1.81.0-powerpc-unknown-netbsd.tar.xz) = 556cff52c2d801eb45b4bca71d6910ed31830bc36f7cb48e292a3628297214283b2095f1a253f34ab027525af912df233da2e6b04122e519a52059884e79d02c
-Size (rust-std-1.81.0-powerpc-unknown-netbsd.tar.xz) = 21941180 bytes
-BLAKE2s (rust-std-1.81.0-sparc64-unknown-netbsd.tar.xz) = b3c072c7298fd4a7f65b977c3337cd53fbbb405adb043203e5c9aab8b198a572
-SHA512 (rust-std-1.81.0-sparc64-unknown-netbsd.tar.xz) = 2c65b5d46775abe785e2c99c3e32155948c7c80fad43f616fa95c6d9ec550acc0c7249e77ea3b3d87b8229793a1b0bc8b2ed548945a19d9ea063693e43272082
-Size (rust-std-1.81.0-sparc64-unknown-netbsd.tar.xz) = 21714816 bytes
-BLAKE2s (rust-std-1.81.0-x86_64-apple-darwin.tar.gz) = e1c6e4b07c89ba1c93cd12755b3af07a20ecb0c966a1743282bbcb2d7ce92d43
-SHA512 (rust-std-1.81.0-x86_64-apple-darwin.tar.gz) = f2ddcd679cba8ed4c14db371a73dbe2ecd03d7a2aaad235ef69cda798c11625c0e63fd39c79fe735db529a03ac0d6f9df34df7cbb6e96acd965c1c37471625aa
-Size (rust-std-1.81.0-x86_64-apple-darwin.tar.gz) = 42635280 bytes
-BLAKE2s (rust-std-1.81.0-x86_64-unknown-freebsd.tar.gz) = 026227ace5af06800bd3bfde717115d4116b7bd8f4a0a4a198f825d145d96d2a
-SHA512 (rust-std-1.81.0-x86_64-unknown-freebsd.tar.gz) = c93f32f59a25183486516d3428da083172f96b1e92f8474630e0c90114c28663b27c8a7bd9f10c5ecf5d5b6bf8e19f355cf6d30ca20be8e75358b4c2e914aa3e
-Size (rust-std-1.81.0-x86_64-unknown-freebsd.tar.gz) = 43610502 bytes
-BLAKE2s (rust-std-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 5c6c04ed4901779296231a2580a2cfa3486240056c9ec065e54bdc9749f7a633
-SHA512 (rust-std-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = b49036caeae10ec4093e645be07c81001f28369389ba27f776a8636b84be65874a80880740198a7a82fa27e2c66a6db318b65bd5b3fcff6802a14ead19a4a4e1
-Size (rust-std-1.81.0-x86_64-unknown-linux-gnu.tar.gz) = 46105479 bytes
-BLAKE2s (rust-std-1.81.0-x86_64-unknown-netbsd.tar.xz) = 75f018b2373b86569e8413fa755445bf9bb2fab2d8836a71c5e8accca96bf16d
-SHA512 (rust-std-1.81.0-x86_64-unknown-netbsd.tar.xz) = 3fa73320a09c669196f5acd36cd200bdbbdba59947782fc99dfa1ea4e4496ae14c3b39ec142af1ed068d1511536fdb82bac23046343a3b26c6dcfff55c6a9320
-Size (rust-std-1.81.0-x86_64-unknown-netbsd.tar.xz) = 26259400 bytes
-BLAKE2s (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 0ec6d7f55a6f8e37479f5b171232c2d135293b4867da995b3101b9f5bbea1090
-SHA512 (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 422ecbc8050ef18c5c16b234937f2ff4c79e30186599f0cbb2ce29aa2e964d8d7611e9f6e2d8aba6791710e4e08c008483e34b22a6538a16d99d461e69ac64c8
-Size (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 22154760 bytes
-BLAKE2s (rustc-1.82.0-src.tar.gz) = 5240e949251d8016c35102ab8254d0aba05ff459570ef4097443ff098b417f3d
-SHA512 (rustc-1.82.0-src.tar.gz) = 0a4b4aeffe02fae35bafd64429d15009c23e5f698c0c596c6250c4de6c0dfc4fa7af5b2662c33a6fc511b1f1f2f253e5a6f2967c10ab41347c6a7f1d31bbb303
-Size (rustc-1.82.0-src.tar.gz) = 434309696 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = f2af6e3b4925e8ca21b7cd783f7831b72700384a
-SHA1 (patch-compiler_rustc__llvm_build.rs) = a4a66d449fc9eb99d648d02a041778a68f4f7ce8
-SHA1 (patch-compiler_rustc__target_src_spec_base_netbsd.rs) = 7d910631f49acf2c33fdd191fd3e0f261efae234
-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) = e97b7978cc525db7eadf967d51f4818a3c145754
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs) = 847022a9c02d277f39e2c842f23a9ed401bc5534
-SHA1 (patch-config.example.toml) = 520ad7a26249780ae79a5dc1d2b534a8c6aef0a5
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs) = 97c3ad8ea39c25d41256fcad80fae1e6e4970124
-SHA1 (patch-src_bootstrap_bootstrap.py) = 6f1d3068da49f19c3e092230ba1c7d99af628d3a
-SHA1 (patch-src_bootstrap_src_core_build__steps_compile.rs) = e928203ed4734c93cc33c5a3f7879cf18dcecc83
-SHA1 (patch-src_bootstrap_src_core_build__steps_dist.rs) = 22e37d6260cbd93ca3c6d119b58e48750836b17c
-SHA1 (patch-src_bootstrap_src_core_build__steps_install.rs) = cc6558df42c9c9ac28fdb2ff180bdaa7f22ce816
-SHA1 (patch-src_bootstrap_src_core_builder.rs) = 6d76366201097adc56e494fa05ebbc1696bb2d98
-SHA1 (patch-src_bootstrap_src_core_config_config.rs) = fa9d93602693bce064aa155ad0a204b176b47d99
-SHA1 (patch-src_bootstrap_src_lib.rs) = d29bc3c0b335d5e788eecbb02fc08966beef0fb1
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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) = 84dfc091a152b83938e8706917d692a329b70393
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-tools_rust-analyzer_lib_line-index-src_lib.rs) = 4ed527174447ee23fa81dd6840e18b9949d5a273
-SHA1 (patch-vendor_bytecount-0.6.8_src_lib.rs) = d7610f2ae957d085a465f8c75549e5a11586a8b0
-SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 690b3feaa619050512254d7c18fd4f51da98e279
-SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
-SHA1 (patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
-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.28.2+1.1.1w_openssl_Configurations_10-main.conf) = ac2963bca8d1dc4e196693d9f5a264f38355314a
-SHA1 (patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs) = c87435bef2899b30b5cdb1b525193489988b2476
-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.92_build_find__normal.rs) = 91ad0d3e78055a5a205d55cd2c260cde70233bfe
-SHA1 (patch-vendor_openssl-sys-0.9.92_build_main.rs) = a47c0b7144466592aca3b622cb77498d59c5dfc4
-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
diff --git a/rust182/do-cross.mk b/rust182/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust182/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/rust182/files/gcc-wrap b/rust182/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust182/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/rust182/options.mk b/rust182/options.mk
deleted file mode 100644
index 7da7699718..0000000000
--- a/rust182/options.mk
+++ /dev/null
@@ -1,78 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-#
-# Use the internal copy of LLVM or the external one?
-#
-.if empty(PKG_OPTIONS:Mrust-internal-llvm)
-.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. 17) than the internal LLD (now 18.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/rust182/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust182/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index cb953e761f..0000000000
--- a/rust182/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("-rpath,@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/rust182/patches/patch-compiler_rustc__llvm_build.rs b/rust182/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 4edd1eebea..0000000000
--- a/rust182/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/rust182/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index c1ed446d2f..0000000000
--- a/rust182/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::{cvs, RelroLevel, TargetOptions};
-+use crate::spec::{cvs, Cc, Lld, RelroLevel, LinkerFlavor, TargetOptions};
- 
- pub 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/rust182/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust182/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/rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust182/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/rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust182/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/rust182/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index e4ff43501d..0000000000
--- a/rust182/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 crate::abi::Endian;
-+use crate::spec::{base, Target, TargetOptions};
-+
-+pub 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/rust182/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust182/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/rust182/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs b/rust182/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index c7ab248900..0000000000
--- a/rust182/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Make more similar to other sparc64 target specs.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,11 +1,13 @@
- use crate::abi::Endian;
--use crate::spec::{base, Cc, LinkerFlavor, Lld, Target, TargetOptions};
-+use crate::spec::{base, Cc, LinkerFlavor, Lld, Target};
- 
- pub 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(),
-@@ -18,6 +20,6 @@ pub fn target() -> Target {
-         pointer_width: 64,
-         data_layout: "E-m:e-i64:64-n32:64-S128".into(),
-         arch: "sparc64".into(),
--        options: TargetOptions { endian: Endian::Big, mcount: "__mcount".into(), ..base },
-+        options: base,
-     }
- }
diff --git a/rust182/patches/patch-config.example.toml b/rust182/patches/patch-config.example.toml
deleted file mode 100644
index d0a943bd6b..0000000000
--- a/rust182/patches/patch-config.example.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
-Backport https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- config.example.toml.orig	2024-09-22 17:59:03.580913638 +0000
-+++ config.example.toml
-@@ -918,3 +918,6 @@
- # Copy the linker, DLLs, and various libraries from MinGW into the Rust toolchain.
- # Only applies when the host or target is pc-windows-gnu.
- #include-mingw-linker = true
-+
-+# Whether to vendor dependencies for the dist tarball.
-+#vendor = if "is a tarball source" || "is a git repository" { true } else { false }
diff --git a/rust182/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust182/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust182/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/rust182/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust182/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index a262257884..0000000000
--- a/rust182/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust182/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust182/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust182/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust182/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs b/rust182/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
deleted file mode 100644
index d57e0bb62a..0000000000
--- a/rust182/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/rust182/patches/patch-src_bootstrap_bootstrap.py b/rust182/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index f9671c8d80..0000000000
--- a/rust182/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.23 2024/04/18 09:29:42 pin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -270,6 +270,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]
-@@ -373,10 +378,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':
-@@ -734,6 +745,7 @@ class RustBuild(object):
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
-         rpath_entries = [
-+	    "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
diff --git a/rust182/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust182/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust182/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/rust182/patches/patch-src_bootstrap_src_core_build__steps_dist.rs b/rust182/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
deleted file mode 100644
index 481c45e07c..0000000000
--- a/rust182/patches/patch-src_bootstrap_src_core_build__steps_dist.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD$
-
-Backport https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- src/bootstrap/src/core/build_steps/dist.rs.orig	2024-10-27 17:40:23.944923750 +0000
-+++ src/bootstrap/src/core/build_steps/dist.rs
-@@ -1011,11 +1011,7 @@ impl Step for PlainSourceTarball {
-         write_git_info(builder.rust_info().info(), plain_dst_src);
-         write_git_info(builder.cargo_info.info(), &plain_dst_src.join("./src/tools/cargo"));
- 
--        // If we're building from git or tarball sources, we need to vendor
--        // a complete distribution.
--        if builder.rust_info().is_managed_git_subrepository()
--            || builder.rust_info().is_from_tarball()
--        {
-+        if builder.config.dist_vendor {
-             builder.require_and_update_all_submodules();
- 
-             // Vendor all Cargo dependencies
diff --git a/rust182/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust182/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust182/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/rust182/patches/patch-src_bootstrap_src_core_builder.rs b/rust182/patches/patch-src_bootstrap_src_core_builder.rs
deleted file mode 100644
index 1f281b7ed6..0000000000
--- a/rust182/patches/patch-src_bootstrap_src_core_builder.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_core_builder.rs,v 1.5 2024/07/27 02:35:24 tnn Exp $
-
-Find external libunwind on Linux.
-Use @PREFIX@, not $ORIGIN in rpath.
-
---- src/bootstrap/src/core/builder.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ src/bootstrap/src/core/builder.rs
-@@ -2211,6 +2211,11 @@ impl<'a> Builder<'a> {
-             rustdocflags.arg("--cfg=parallel_compiler");
-         }
- 
-+	// added for pkgsrc libunwind
-+	if target.contains("linux") {
-+		rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX@/lib");
-+	}
-+
-         Cargo {
-             command: cargo,
-             compiler,
-@@ -2557,7 +2562,7 @@ impl Cargo {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !target.contains("xous") {
-                 self.rustflags.arg("-Clink-args=-Wl,-z,origin");
--                Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}"))
-+                Some(format!("-Wl,-rpath,@PREFIX@/{libdir}"))
-             } else {
-                 None
-             };
diff --git a/rust182/patches/patch-src_bootstrap_src_core_config_config.rs b/rust182/patches/patch-src_bootstrap_src_core_config_config.rs
deleted file mode 100644
index c8071a8edf..0000000000
--- a/rust182/patches/patch-src_bootstrap_src_core_config_config.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD$
-
-Backport
-https://github.com/rust-lang/rust/pull/130110/
-"make dist vendoring configurable"
-
---- src/bootstrap/src/core/config/config.rs.orig	2024-09-22 17:38:21.382609357 +0000
-+++ src/bootstrap/src/core/config/config.rs
-@@ -300,6 +300,7 @@ pub struct Config {
-     pub dist_compression_formats: Option<Vec<String>>,
-     pub dist_compression_profile: String,
-     pub dist_include_mingw_linker: bool,
-+    pub dist_vendor: bool,
- 
-     // libstd features
-     pub backtrace: bool, // support for RUST_BACKTRACE
-@@ -904,6 +905,7 @@ define_config! {
-         compression_formats: Option<Vec<String>> = "compression-formats",
-         compression_profile: Option<String> = "compression-profile",
-         include_mingw_linker: Option<bool> = "include-mingw-linker",
-+        vendor: Option<bool> = "vendor",
-     }
- }
- 
-@@ -1965,13 +1967,19 @@ impl Config {
-                 compression_formats,
-                 compression_profile,
-                 include_mingw_linker,
-+                vendor,
-             } = dist;
-             config.dist_sign_folder = sign_folder.map(PathBuf::from);
-             config.dist_upload_addr = upload_addr;
-             config.dist_compression_formats = compression_formats;
-             set(&mut config.dist_compression_profile, compression_profile);
-             set(&mut config.rust_dist_src, src_tarball);
--            set(&mut config.dist_include_mingw_linker, include_mingw_linker)
-+            set(&mut config.dist_include_mingw_linker, include_mingw_linker);
-+            config.dist_vendor = vendor.unwrap_or_else(|| {
-+                // If we're building from git or tarball sources, enable it by default.
-+                 config.rust_info.is_managed_git_subrepository()
-+                     || config.rust_info.is_from_tarball()
-+             });
-         }
- 
-         if let Some(r) = rustfmt {
diff --git a/rust182/patches/patch-src_bootstrap_src_lib.rs b/rust182/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index d3d2e25ffb..0000000000
--- a/rust182/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust182/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust182/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index d0dfe4e6da..0000000000
--- a/rust182/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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust182/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust182/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust182/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/rust182/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust182/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust182/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/rust182/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust182/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust182/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/rust182/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust182/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust182/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/rust182/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust182/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust182/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/rust182/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust182/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index 661fa594fb..0000000000
--- a/rust182/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	2019-08-13 06:27:40.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"))]
- #[allow(deprecated)]
- #[cargo_test]
- fn incremental_profile() {
-@@ -176,6 +179,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[allow(deprecated)]
- #[cargo_test]
- fn incremental_config() {
diff --git a/rust182/patches/patch-src_tools_rust-installer_install-template.sh b/rust182/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust182/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/rust182/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs b/rust182/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
deleted file mode 100644
index 8b4f9fe0d2..0000000000
--- a/rust182/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD$
-
-Try to avoid using neon for big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- src/tools/rust-analyzer/lib/line-index/src/lib.rs.orig	2024-09-01 14:12:57.016998002 +0000
-+++ src/tools/rust-analyzer/lib/line-index/src/lib.rs
-@@ -227,7 +227,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>,
-@@ -339,7 +339,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
- //
-@@ -354,7 +354,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>,
-@@ -433,7 +433,11 @@ 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/rust182/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust182/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index 8726eb0b2e..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_cc-1.0.73_src_lib.rs b/rust182/patches/patch-vendor_cc-1.0.73_src_lib.rs
deleted file mode 100644
index 5a7ac7e4b6..0000000000
--- a/rust182/patches/patch-vendor_cc-1.0.73_src_lib.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use correct ABI on NetBSD/riscv64.
-
---- vendor/cc-1.0.79/src/lib.rs.orig	2024-08-29 17:57:16.678636324 +0000
-+++ vendor/cc-1.0.79/src/lib.rs
-@@ -1946,6 +1946,9 @@ impl Build {
-                         } else if target.contains("freebsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
-+                        } else if target.contains("netbsd") && arch.starts_with("64") {
-+                            cmd.args.push(("-march=rv64gc").into());
-+                            cmd.args.push("-mabi=lp64d".into());
-                         } else if target.contains("openbsd") && arch.starts_with("64") {
-                             cmd.args.push(("-march=rv64gc").into());
-                             cmd.args.push("-mabi=lp64d".into());
diff --git a/rust182/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust182/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust182/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust182/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust182/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust182/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust182/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf b/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
deleted file mode 100644
index d7eb270fd1..0000000000
--- a/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_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.28.2+1.1.1w/openssl/Configurations/10-main.conf.orig	2024-08-29 18:07:36.845484717 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/openssl/Configurations/10-main.conf
-@@ -950,6 +950,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/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs b/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
deleted file mode 100644
index 5924303d05..0000000000
--- a/rust182/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD$
-
---- vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs.orig	2024-08-29 18:09:29.494697634 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "loongarch64-unknown-linux-musl" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-@@ -274,9 +280,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -284,8 +292,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/rust182/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs b/rust182/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
deleted file mode 100644
index 80d98e247b..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs b/rust182/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
deleted file mode 100644
index a15188f472..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs b/rust182/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
deleted file mode 100644
index 99108643b7..0000000000
--- a/rust182/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.92/build/find_normal.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/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/rust182/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs b/rust182/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
deleted file mode 100644
index 0a70272949..0000000000
--- a/rust182/patches/patch-vendor_openssl-sys-0.9.92_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.92/build/main.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/build/main.rs
-@@ -115,6 +115,14 @@ fn main() {
-         println!("cargo:rustc-link-lib={}={}", kind, lib);
-     }
- 
-+    // 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/rust182/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust182/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust182/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust182/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/rust182/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs b/rust182/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
deleted file mode 100644
index d71d7d0924..0000000000
--- a/rust182/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/rust182/platform.mk b/rust182/platform.mk
deleted file mode 100644
index c6a01214d8..0000000000
--- a/rust182/platform.mk
+++ /dev/null
@@ -1,31 +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 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
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-earm*} && ${OPSYS_VERSION} < 100000
-RUST_DIR?=	../../lang/rust176
-.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/rust182/rust.mk b/rust182/rust.mk
deleted file mode 100644
index 5ecb4c2e46..0000000000
--- a/rust182/rust.mk
+++ /dev/null
@@ -1,56 +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
-#
-# === 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
-
-RUST_TYPE?=	src
-
-.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/rust183-bin/DESCR b/rust183-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust183-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/rust183-bin/Makefile b/rust183-bin/Makefile
deleted file mode 100644
index e0e402979b..0000000000
--- a/rust183-bin/Makefile
+++ /dev/null
@@ -1,296 +0,0 @@
-# $NetBSD: Makefile,v 1.69 2024/10/14 20:52:26 wiz Exp $
-
-DISTNAME=	rust-1.83.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 !empty(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 clippy-driver miri rls rust-analyzer rustc rustdoc
-	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 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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust183-bin/buildlink3.mk b/rust183-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust183-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/rust183-bin/distinfo b/rust183-bin/distinfo
deleted file mode 100644
index 19b175de51..0000000000
--- a/rust183-bin/distinfo
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: distinfo,v 1.40 2024/10/14 20:52:26 wiz Exp $
-
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-aarch64-apple-darwin.tar.gz) = aa2acc954a6ca47e75a097c0b4164b9d0812fab9b97f65e2da205c1f315793ff
-SHA512 (rust-bin-1.83.0/rust-1.83.0-aarch64-apple-darwin.tar.gz) = 6a2e91e18293b34eb2277edc5201977a579c100b55a815576f0e5a6367f2d0fb2c90e65e9d463dd9fd39f83eeb0ae2b220660545f58400e6586816f15587fb7e
-Size (rust-bin-1.83.0/rust-1.83.0-aarch64-apple-darwin.tar.gz) = 353120098 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = d86020e29d5e0e1dbf4f6a23af4d5dac11c31fa9e92c4643b6d1882122d2deb0
-SHA512 (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 0a835ecd7226b6f05291913f0a57650487e967fb1ad4c98baa764424fa2bd9332d45adac56757a9bd8f327a8e16701d3bec3fcacba6deccc2da5e758ab17cd27
-Size (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 497465556 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-musl.tar.gz) = 6d2e86fc3b5cf218b1ba078307ded230e526fda99954618338f7ec20889dc4bc
-SHA512 (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-musl.tar.gz) = eec5f097b94b7b904216a694f62c741fc1e9a7bd2e9611bb6d55e3a70b63b179c3172b124b03fbfaba456d14ff405ddbdeb1e43a2b2dcd571ec85a8dee4982a5
-Size (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-linux-musl.tar.gz) = 399865860 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 2b14fdd7b379e2536c1408662b09b7d213b2f24ecb9e6d91a4abaa73d2032570
-SHA512 (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 5e9d42fa2fcd3577ff185e89b8ccc63fd5487f0e3fae41abe76991c961f89cf56ca22b570f88138b374f704dcaec586e0f87b1a5e8c1b7e8d2ef665dad98b222
-Size (rust-bin-1.83.0/rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 203666612 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 93215f9ba4eacacb2c0536283df223cfe33650df9b03c9bc2878a0d969931b1b
-SHA512 (rust-bin-1.83.0/rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = ca91e1a663298313266795e2f11b03b2cd95d59f566b5a31d88e6a8f956c5446b148d36ee41bb39583addd383c83cad3f9a69ab61aebe420c7a8dd1059c8aa10
-Size (rust-bin-1.83.0/rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 202251204 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 2d7ff771420a69332f954389496cc323adac1888c1ab82a5e28e43c6848e950b
-SHA512 (rust-bin-1.83.0/rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 425db5b783b8ababb828f11e27c1af68ed3f24097ba59115a8ea6d300acf6d9770e2122ffa3a8e311ef8a5795617bfd38c9f05d09b76638bef55e08267701b9d
-Size (rust-bin-1.83.0/rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 172646304 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 78617d6830f88fd5f2970b18fa3b6e46d85ffdad1ba631fe611197c7f38853ac
-SHA512 (rust-bin-1.83.0/rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 56998d01be07f2b9cd895ce02a60e22865e1b417cd8f80fb5ab026ef00bc06b723a019085a62f39612f4310e6c0746503bf7d6ee8fdf8bd034bc6c81e07afaf2
-Size (rust-bin-1.83.0/rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 173435336 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-i586-unknown-netbsd.tar.xz) = 1dfe6ae309796df503113a7b21477254b79aaad3add8a7ac105ef3785ded4b83
-SHA512 (rust-bin-1.83.0/rust-1.83.0-i586-unknown-netbsd.tar.xz) = 108e8917c4f6c356485a5c3b25d3d33f94b6008ec294799f76909260795a0515209dab86355aab436bfa14168a218ae7d59fc2bd514a6663ccc1a1b97d76e31d
-Size (rust-bin-1.83.0/rust-1.83.0-i586-unknown-netbsd.tar.xz) = 225767200 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = 50a32044dc55289bd6b90b580ec01b22ed26d15e9d9d5edc29fb7afabba267f6
-SHA512 (rust-bin-1.83.0/rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = b115d752391bf1393806816e71b58b279704422b76956e559bb4c49a2b2e2ce0f36dc87fa7c8a935ce8ee355f27284a45b864c69dd5e3700dad9a203dba2304d
-Size (rust-bin-1.83.0/rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = 452531941 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-mipsel-unknown-netbsd.tar.xz) = c7f0874d2400b220f3465e6c1b1c68eaaf334164c820ba12a0a6f1c47f935ecf
-SHA512 (rust-bin-1.83.0/rust-1.83.0-mipsel-unknown-netbsd.tar.xz) = 97adfd6921459d635bf8166e670a1f85b14bf5aeb560419a3db4c7f7eac89bdb148337fdf6f3fc0828b3410a12707e2ae7d6d39f8dea8d41026aafecaec0e70e
-Size (rust-bin-1.83.0/rust-1.83.0-mipsel-unknown-netbsd.tar.xz) = 179991904 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = 668f6ff55d6075a9e50e16267e5657b7558b19677db8effa518dfd1f7646f7fb
-SHA512 (rust-bin-1.83.0/rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = ab1ab236a22581a1524accaacbbf8727873a2c2ef51fc4cb8c34f92847a75a7a291a2fbf142fd2bd6d95d06862429b9d49b7f3b46b4966dd886629b763d11cf8
-Size (rust-bin-1.83.0/rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = 237419532 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 6f61548dde9a3e7e846a1aa49c695d351b246ec6dfcee73f4af37b27df4a2485
-SHA512 (rust-bin-1.83.0/rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 4f56769a9cfe4db41c8a0f060123175a55617acf67b69756a62fc6920672f00b3053908a94225ef3424633ee24f891d67b660be1b6f08a165340da9ba3cdd7c9
-Size (rust-bin-1.83.0/rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 221269932 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 47eb75461c5e9cf4cc275666d2547c1d22802ee79055925c56f8f3b54cd6ff36
-SHA512 (rust-bin-1.83.0/rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 76889e114e47baf66d6dbe86ed6b6ff3897ca190da646294ce03fd26f80f22f9aca0b98199ea64574c1e45d8da370ce01fd7e7f42aa444a719677283d370d38e
-Size (rust-bin-1.83.0/rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 200505336 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-x86_64-apple-darwin.tar.gz) = 7ccd2d26ad48befc638e5a22499d68b22070c54f1341cf85d3eee50cd6b7b0a1
-SHA512 (rust-bin-1.83.0/rust-1.83.0-x86_64-apple-darwin.tar.gz) = 536771ba37edb705bc6943e259af64eb668f8f5faef34a7583ce273dce26c6a656fb2791a2c1c55a2e7f513bf82c42cddd704650f53281aeb0ca3ae20647b2e0
-Size (rust-bin-1.83.0/rust-1.83.0-x86_64-apple-darwin.tar.gz) = 358515839 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = e4d5ce56297ceb4fe3b6d230c245b1847f52c8aabc6bed7d131218b2e9c55f7f
-SHA512 (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = 0569d28506fe2a4fe2ad49031468ffe485ab5f1803b9ce5b1b7d4e8a67e43678b4da096b737e32e6eaaf433beab5e1f0a251c1c59941c0128d0f5f7e68b506eb
-Size (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = 339151776 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = e460e1edbce54591eb8349061647f640e012c7b9581820e92d31e526efde5794
-SHA512 (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 4a1d78d139e692213a761faa29d68861897538bddcf5584271ebd2e2663fc39dc615d7c18426494ed909510594628de2fed38777c88c1046662f97313b76e49f
-Size (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 351990840 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-musl.tar.gz) = 3724cd80cd690810fa730770b6b2af04bba21c714eda98ee923eda5402e00b96
-SHA512 (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-musl.tar.gz) = a28f1a3c7a1eb2d053166bf1a1355bd9ca01929de9d630c35d8b25d4ac04fd467a5254011263fd1cc143bc65e86b56ebb8fbd718319c9e3b0fc8393a7c65113a
-Size (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-linux-musl.tar.gz) = 492995841 bytes
-BLAKE2s (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-netbsd.tar.gz) = ca6d3f2ac1505c012dbab2f9b732f926e92cb34bf09ff4ca0b6036e347f20f3b
-SHA512 (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-netbsd.tar.gz) = 3813d5d9cda73f0a274729b9f811fec1ad9ae313503fcb2389134216122f6a4bf2f7ae042a12150e01dcb3e85fdcf7c07680af152c66a08434e4e4f3287cd78e
-Size (rust-bin-1.83.0/rust-1.83.0-x86_64-unknown-netbsd.tar.gz) = 353653676 bytes
diff --git a/rust183-bin/files/install.sh b/rust183-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust183-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/rust183/DESCR b/rust183/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust183/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/rust183/HOWTO-BOOTSTRAP b/rust183/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust183/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/rust183/Makefile b/rust183/Makefile
deleted file mode 100644
index 2df6f6dd65..0000000000
--- a/rust183/Makefile
+++ /dev/null
@@ -1,690 +0,0 @@
-# $NetBSD: Makefile,v 1.316 2024/07/31 12:30:43 he Exp $
-
-DISTNAME=	rustc-1.83.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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-MAKE_ENV+=		LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.82.0
-RUST_ARCH:=		x86_64-unknown-illumos
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-SITES.${RUST_STAGE0}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.82.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.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.92
-CKSUMS+=	33f814dba4ac9942266157cbe3dc8eadf5e477090370a92c36c53f916fa45d48
-CKSUMS+=	f78ddd9b03c31a03350aa152d6f707c6cbb21b2ea0b493d05238aa473b80af09
-CKSUMS+=	b2cbaa5bfac5e7d5550aa0eb8e5c65a9f7e86a3692b759fb13330ef6e3b26b30
-CKSUMS+=	b303bf9ceae9fcffa4a0420ea858675d827fc2d75c358f8236e44274d58be1a0
-
-CKSUM_CRATES+=	vendor/openssl-src-111.28.2+1.1.1w/
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	e8ca5ea1808323cd9f0cc9d53c7258bb2f3112e5eafc11dd457e010a80a9c8d8
-CKSUMS+=	cf331474674b6c4fff7e361d592c14131c97918d6f756b36698a7ac8ec845adb
-CKSUMS+=	bec36eddcf41c8639903ea7593751c92251100168241bc5696f8a776a55651fb
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-
-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
-
-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}
-
-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.18.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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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/rust183/TODO b/rust183/TODO
deleted file mode 100644
index eea8272ef1..0000000000
--- a/rust183/TODO
+++ /dev/null
@@ -1,3 +0,0 @@
- * Cross-compilation fails ref. 
-   https://github.com/rust-lang/rust/issues/133629
-
diff --git a/rust183/buildlink3.mk b/rust183/buildlink3.mk
deleted file mode 100644
index b8eeb79834..0000000000
--- a/rust183/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.14 2023/10/25 05:50:43 pin 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust183/cargo.mk b/rust183/cargo.mk
deleted file mode 100644
index 5813c04321..0000000000
--- a/rust183/cargo.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# $NetBSD: cargo.mk,v 1.37 2024/05/04 20:06:55 tnn 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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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/rust183/cross.mk b/rust183/cross.mk
deleted file mode 100644
index 47f2b3e006..0000000000
--- a/rust183/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/rust183/distinfo b/rust183/distinfo
deleted file mode 100644
index 71dc6ed346..0000000000
--- a/rust183/distinfo
+++ /dev/null
@@ -1,155 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.82.0-aarch64-apple-darwin.tar.gz) = 664d14f01ccd28193d595f28351d5421e3e28987c6703a7685129386c11b151c
-SHA512 (rust-1.82.0-aarch64-apple-darwin.tar.gz) = 4b25e91e30764c39fcf9efafa96b7a89fe14d64c7364cdc10dd7c9027779f6de73c6f98024df16dc1020b50c404f1201fa3f4c473098f820afada473fa33478e
-Size (rust-1.82.0-aarch64-apple-darwin.tar.gz) = 353239700 bytes
-BLAKE2s (rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 024259d2a3dde28d310fd7ebdda40c324922e1860509c9295df4485b68d40d4e
-SHA512 (rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 5012ed757908ed0db73e0e079a46d4bfce575ea3ebe17a47b127001971944f0d7b885ca28bc7ee8e9da91170106ed434529536e7069c78e3706aacf59d892c15
-Size (rust-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 501568008 bytes
-BLAKE2s (rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = 3e64188087780dbd2d1816d13542233b0643470a1c8ec0760e333c461810999c
-SHA512 (rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = db70efdbd55f3ed9df5bc197674bbb84dc1193c18bca25cd3326bd0a435dacba9065e8d2f6bc0f733d2f8683cea3e00881231b0af06fbacb43df8b19a1e74160
-Size (rust-1.82.0-aarch64-unknown-netbsd.tar.xz) = 205636040 bytes
-BLAKE2s (rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = c97147db08a5c44815bf1c32447c15dff9b22c592dbe7f8474ae7b188309a05a
-SHA512 (rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 5ad6da49ff80a1860dedc0bdb8ac8ff8c975367118db75d0528ee83c10ea7598ac881448a5641d5010b35b34d0aeeb4dfc19ad581ba304fc844947ead09f0d05
-Size (rust-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 203750380 bytes
-BLAKE2s (rust-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = 3abbf4f06c99179032861cf074f14ee2fa2ce3e7a20e78a8593f8f1b08d47dbe
-SHA512 (rust-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = fed91cfba7268b699925174a18d974dd07dc24d6656253c51068103ac063617f29a15e53e4b31c1d61dafcaf1a5ab37234191fb5273ae82fc60767e1bbd4c44d
-Size (rust-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = 383691956 bytes
-BLAKE2s (rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 83784b40300458573a8cea5e37cf700c5c72746b831363ded55aef9b2031ff4f
-SHA512 (rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = ed77b4948265483362ab1548b98fdd837fffa49e5144d0647c657555f965462f5729b53f2e9fa0655e37c32ba42a7b4398642a76a199e89ae2f8749c0acb88c7
-Size (rust-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 175096484 bytes
-BLAKE2s (rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = f90488b00b7360fe8e57eb1f66c54924fc08c370244108a0cbebdc6d05aff95b
-SHA512 (rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = 3d2d090f11f5d3b3125ff0e33776c2addcc999c07406e9d5726eec17e7f874008facd30fe2844b16e8a90ed7b0da44d7ab24ced99fb6a4bf91168edae203740c
-Size (rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = 371690001 bytes
-BLAKE2s (rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = a20536546db9e91726dfb3ceeb58d9ae4d54e04c0ba52ccbfeb5f82ef549e857
-SHA512 (rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 985c92c2f366162d6960ddb96ac6be15f7d770f9964d96026ac0c55a1939a0be69ee206697db9fb2da0546417aef19bddaddf26d2484db486160517a9d205d0f
-Size (rust-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 175788804 bytes
-BLAKE2s (rust-1.82.0-i586-unknown-netbsd.tar.xz) = dfe4e0008619c899cbfee987db9e15f02346520e710d886806bc74383da95d4b
-SHA512 (rust-1.82.0-i586-unknown-netbsd.tar.xz) = 7024ab15af2f74e91f1d919f51887b6f78c9dbf7c7194b4899df4d459cc0ec42f752864fa27ad2a8920855a5bb5852b71109962795c1ce3327cb8129a55baf20
-Size (rust-1.82.0-i586-unknown-netbsd.tar.xz) = 226751484 bytes
-BLAKE2s (rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = 8e96b3a839e940f069b9f1220792e0d3777e3f77823d840b723b586a5e2039e6
-SHA512 (rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = e8197c5a41c5028bf6ed34891671d8b891a82a1e54815eb1f3833e5d21bc4c12f6c49041d1246336a1417224499daef819a0705dad215aa25b360a5b935c6052
-Size (rust-1.82.0-i686-unknown-linux-gnu.tar.gz) = 453859154 bytes
-BLAKE2s (rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = ab56bfec95efeeb8b95d6c195899bffa7ff0a1569f40e1163170876d087fd6e8
-SHA512 (rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = 0a00ce1d1324b2deb7ae77e9a16e57f178e9f18b0caffc18350f89d1573a4ea44f27641929f6af5dd70daabb1deea58571375b1468fc4651b086b20d772f4de2
-Size (rust-1.82.0-powerpc-unknown-netbsd.tar.xz) = 237715156 bytes
-BLAKE2s (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = acb6312c2022c4d2016fed300ba2f861bd98cca4650a66851048aa07c6c999ac
-SHA512 (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 7831912b24f96e6429433f7da223aa7b6232e0329e85770932ce676335945480b691725f40ab472acb4bfbcfe191aff949bf2fe0dcbc58ee9a13feadb470406f
-Size (rust-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 223052688 bytes
-BLAKE2s (rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = 5a1523dbf4b02eb8a51950e821a3c0975569b0a454c5c063ec59e8e019a282a8
-SHA512 (rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = d8a2c349ade804b9fb06f8f98231ca49649289da0142e7a39f6c2893bd140191e65a683b82bfead5cd3a521550ab6893956d179520c006a3c56df4bd865941b0
-Size (rust-1.82.0-sparc64-unknown-netbsd.tar.xz) = 202245792 bytes
-BLAKE2s (rust-1.82.0-x86_64-apple-darwin.tar.gz) = 9bc4f814e48e1f663d586da87bae1f001d4b0ce71c5879c4b206162082d344a5
-SHA512 (rust-1.82.0-x86_64-apple-darwin.tar.gz) = 0ca5079f938c78d199dee1527d0d9d8c5f481daff4db4e31323a5128108b18934bb377be8087cc2b6213b5100fb14e3fc1dfed1a8a6a0a26fca1b57927e39fea
-Size (rust-1.82.0-x86_64-apple-darwin.tar.gz) = 359733549 bytes
-BLAKE2s (rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 2a5ccc8fb5aa1d5ff1bbfd60a169dbba28ab2e7933aac37484534215ed0d5f53
-SHA512 (rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 2e97de2e1d0c9d69662cc151becd478d2b0acaaff42443562f518a4191dadabdf0e165f0b9ae1fe90a8c37114377563d9471da2e631ead6a9b1b8583d57da2d0
-Size (rust-1.82.0-x86_64-unknown-freebsd.tar.gz) = 342962316 bytes
-BLAKE2s (rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 60e203f8e321751467e7cd354629980e8c3d31a857b333ac2f061cab0151a357
-SHA512 (rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 138e6cf5eb3a45aa6631924ddafa5812c3eb1d78d11df6ca7f21e592fd4e80e03137897f194bb8063bc6e105e3604e944cc423a74dfa7eaedc45b92e0d0d3ff9
-Size (rust-1.82.0-x86_64-unknown-illumos.tar.gz) = 229164320 bytes
-BLAKE2s (rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 6e7ce2e72a8bc69e9458ea802d18b1de5f0e697be2720eef8bc465051f13bc18
-SHA512 (rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 0fb69cea8b4ebed5a7859f56b308c743ab094bc04d7266651f8a250bcb262f1c45b2ad2b0e2ee5c854ed35208eafd1f7253a495e55860787ba63396ad6a07133
-Size (rust-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 353103417 bytes
-BLAKE2s (rust-1.82.0-x86_64-unknown-netbsd.tar.xz) = d6f86610002339974b4e97c304d1cf9d43bada0ada0835acf3a23b5f1de0bf0c
-SHA512 (rust-1.82.0-x86_64-unknown-netbsd.tar.xz) = c20e6b1d181680c2dea48ce6e2e88ed5a9173c6807fac952af5049367715d8d410131cb4fc83c609be6d17044aa90cd8bd7f70ff2143579eba7d4783dbac9483
-Size (rust-1.82.0-x86_64-unknown-netbsd.tar.xz) = 197432356 bytes
-BLAKE2s (rust-std-1.82.0-aarch64-apple-darwin.tar.gz) = c8bfd60bac59cd15304d00cf9c2454b248f70a024207f4b7efba1d041aa2555d
-SHA512 (rust-std-1.82.0-aarch64-apple-darwin.tar.gz) = de7970c83ed3933bafb611ecb4498b1bfb97de8e31ab8ebe492e9ba43978b94687ccba04be1bc2afbf2c810c68de0271fc60c9d61f3bf9de2ce2b73d4f45fe4e
-Size (rust-std-1.82.0-aarch64-apple-darwin.tar.gz) = 41561421 bytes
-BLAKE2s (rust-std-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 8d58a66f3480132a76a4689c3e3b8344da4aa9e7ba434d5702b3e1191555bfc9
-SHA512 (rust-std-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 78ec9782a91f8d44615dc18a77f7ceafbf2a6d937dd2673c777f985debfb3ab04a33a32355df292f190488aa38b7ef020e91fa5b3201e6e2d958b195aa2f8d17
-Size (rust-std-1.82.0-aarch64-unknown-linux-gnu.tar.gz) = 57410846 bytes
-BLAKE2s (rust-std-1.82.0-aarch64-unknown-netbsd.tar.xz) = e7e61283000aacf30a0b41fad9fb45f8ebc7bee319238176e9713bf39bd06b68
-SHA512 (rust-std-1.82.0-aarch64-unknown-netbsd.tar.xz) = 2712ad49971bb40b6fd930285550b3f4b01ff513e5f309391e1aade852236d010781aa3e016be63443afaf31af610a479e83a9506dc467eb7c5385bcc1612d0e
-Size (rust-std-1.82.0-aarch64-unknown-netbsd.tar.xz) = 23535784 bytes
-BLAKE2s (rust-std-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 1a53321f8bc0a3d4e619ea9a3bba88c3f96682c5d213ffce4dc14773b6a0152e
-SHA512 (rust-std-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 259f512754b4287fc70f8cf859ee2d69de662d073a7186c98fb8a425a7a0d56bceee2cb41d7fcdb758c276722e43d7d4af705693ce448b1c22e1eb469e6f181a
-Size (rust-std-1.82.0-aarch64_be-unknown-netbsd.tar.xz) = 22015532 bytes
-BLAKE2s (rust-std-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = 6c83d958a0b268e6d8e9649ca81ef28310d6549d2e45548cafbf6ea77e8de3b5
-SHA512 (rust-std-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = 426133498dd697d33ddabdb5438bcedb28525296182601c05004a673f761dbff323d3446a91a91177ccd0c5fba85d041e2c3225f305a8e18cdcbcebca23e2703
-Size (rust-std-1.82.0-arm-unknown-linux-gnueabihf.tar.gz) = 38148526 bytes
-BLAKE2s (rust-std-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = e48c400669a1ba0ccfbf733d79bc00ccc2fb019ee155bd441ff6b08b9dd95553
-SHA512 (rust-std-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 9416593ff0022af16bdfd51d648ae400282f550dfb29fc835aad891d9873b0e51de40365c35261c8adae6d8289d7b5950c9879c492d5a23415aace3c349dc507
-Size (rust-std-1.82.0-armv6-unknown-netbsd-eabihf.tar.xz) = 22069460 bytes
-BLAKE2s (rust-std-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = 9bd977e5737c39556c9f43597609e8d62bffe800bb9d257ca18fbb95f48943ed
-SHA512 (rust-std-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = d69587493e90896e287f5f346a86752fec6b86dae90e70356314fd7bdf527c8d03ca5611d5575c2bdce567c3f084a59bbc6af3f5680296202eb96a11fe1e99c2
-Size (rust-std-1.82.0-armv7-unknown-linux-gnueabihf.tar.gz) = 39688006 bytes
-BLAKE2s (rust-std-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = a0db620662cf3ed369e0a31399f50658a26dd11756fa01a412432ac2334b9ed9
-SHA512 (rust-std-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 5b841e555e513d93c83da0298954535e56bbcff85106eb397bb09be2f29f5814d4972bdb9a81d369dcd1ef4c0479247d73cea8dbf565d443daf212352c7b6582
-Size (rust-std-1.82.0-armv7-unknown-netbsd-eabihf.tar.xz) = 22839068 bytes
-BLAKE2s (rust-std-1.82.0-i586-unknown-netbsd.tar.xz) = fd7ff3c9d66cd8b352a78ff71607e0b2739e661286280088cae0b40d4c076f97
-SHA512 (rust-std-1.82.0-i586-unknown-netbsd.tar.xz) = ef62830f4a8f9f66361279a76e8fb36f12fc293e4daae091646122180617f4f464b222d64cdc26ee1be222f97390d1b5bb7cd4d6da4498a451cbee1943b3a34f
-Size (rust-std-1.82.0-i586-unknown-netbsd.tar.xz) = 24696004 bytes
-BLAKE2s (rust-std-1.82.0-i686-unknown-linux-gnu.tar.gz) = a3c3502c46d275c596221a1608527a5df420405afb6093952080fdb28740afa7
-SHA512 (rust-std-1.82.0-i686-unknown-linux-gnu.tar.gz) = 8399c1185b5bae51693f6e9e48b59ec6da8b1dbc2117d61ab17549bead9f016a250f9b431d3b83c52ce0bd656d8a594b748b46c7cab28a24ea9cdc99d13114b9
-Size (rust-std-1.82.0-i686-unknown-linux-gnu.tar.gz) = 42491398 bytes
-BLAKE2s (rust-std-1.82.0-powerpc-unknown-netbsd.tar.xz) = cd52c13769dac50c47136d5de59b310a82ad395d9759fe3389f7eead58f56703
-SHA512 (rust-std-1.82.0-powerpc-unknown-netbsd.tar.xz) = b66d15b3596da911b3e9f73a11b664bdefc266b300783653d6c5354c8d024372e18fec8649dab1e3593fa390aacd607f452cb1c0e453ca35c32b2f0cb4ac58ff
-Size (rust-std-1.82.0-powerpc-unknown-netbsd.tar.xz) = 22306616 bytes
-BLAKE2s (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 0ec6d7f55a6f8e37479f5b171232c2d135293b4867da995b3101b9f5bbea1090
-SHA512 (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 422ecbc8050ef18c5c16b234937f2ff4c79e30186599f0cbb2ce29aa2e964d8d7611e9f6e2d8aba6791710e4e08c008483e34b22a6538a16d99d461e69ac64c8
-Size (rust-std-1.82.0-riscv64gc-unknown-netbsd.tar.xz) = 22154760 bytes
-BLAKE2s (rust-std-1.82.0-sparc64-unknown-netbsd.tar.xz) = 22ab01302cbc81687c1a0058b18f8557d269175331df7a89155cd5a2eec6060d
-SHA512 (rust-std-1.82.0-sparc64-unknown-netbsd.tar.xz) = 22641511f1ae48de29004a738e1c46d51e65a8334399f93b7cba43126190b02988d2426ad603244501d0b2ce0d8fc4a5ca62f50170ae0c7e74c0b72f2fae5c43
-Size (rust-std-1.82.0-sparc64-unknown-netbsd.tar.xz) = 22144860 bytes
-BLAKE2s (rust-std-1.82.0-x86_64-apple-darwin.tar.gz) = cbdfcfa9cb9bad67459fd81fac684de37e421ba3d17c51b645d00e9143f0e740
-SHA512 (rust-std-1.82.0-x86_64-apple-darwin.tar.gz) = 4640294342f0a9842a7c89828ec5eeedf9525c4acf1f2e352b94b91b37094afb72a3553d30285317aefa7c4da3c80bb7ff9839d99165e944b8e749bda1ab0175
-Size (rust-std-1.82.0-x86_64-apple-darwin.tar.gz) = 44709513 bytes
-BLAKE2s (rust-std-1.82.0-x86_64-unknown-freebsd.tar.gz) = 7cad82d6f989c869e90c0d10e1994d4d339ab746f8f4c7ab6af03a79f351287f
-SHA512 (rust-std-1.82.0-x86_64-unknown-freebsd.tar.gz) = 9549f372fe5a9b0a302f79e25ae240fdd23a5da4eb7a09a12a840efa0e36e52f2700173b2eb5b8af808e2d1ed2d5c1d70968e9d6a574d6c362c26e0cc427d75a
-Size (rust-std-1.82.0-x86_64-unknown-freebsd.tar.gz) = 45754523 bytes
-BLAKE2s (rust-std-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = db80214522a2e7c2876423c331d2c9d29335090b164637968aadd506d18a1872
-SHA512 (rust-std-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = de3a0d6abbc27b6f77d1f0c587b4b3b9c8943daf98838224a5855ad99a6d686663aa7f26214a01311c9d5f6818cca03da5fe34122056f9ce01a39de4af2610cc
-Size (rust-std-1.82.0-x86_64-unknown-linux-gnu.tar.gz) = 48253161 bytes
-BLAKE2s (rust-std-1.82.0-x86_64-unknown-netbsd.tar.xz) = d915d3ad213644ac0652ea999c5f42ea17d9ebe3b582b1c15f0fbdf7f95f139d
-SHA512 (rust-std-1.82.0-x86_64-unknown-netbsd.tar.xz) = 9e8307c481bd0c4df57f2c87ef71ab228878d15fbe9011cab157c0c926f7092c8e1e91eb730a6bade98cd99e010e08d5db2b805edd867b371244f8f522f8d771
-Size (rust-std-1.82.0-x86_64-unknown-netbsd.tar.xz) = 27364932 bytes
-BLAKE2s (rustc-1.83.0-src.tar.gz) = 52620e2b07df550604ff94a232230795e561ba90f22ed9b708b432a991c90021
-SHA512 (rustc-1.83.0-src.tar.gz) = 84e5494e4e51a3c885a3155ef3b619923f9ad69bb4196dde6b2e1b11f0d2ef6328a019d1a81a1cb39325730ee1c506c8257936cecc93af1b3d3422838bdc029f
-Size (rustc-1.83.0-src.tar.gz) = 727622101 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = f2af6e3b4925e8ca21b7cd783f7831b72700384a
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 3acef995e3038a98b29b31b9bdd43286b1ac29f7
-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) = bbfbac8c4047340fc220e26bfaa8e7d7f5dcb284
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs) = cde3a59b5d53b58a3824aef8dddbf815bcdd8eb8
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs) = 97c3ad8ea39c25d41256fcad80fae1e6e4970124
-SHA1 (patch-src_bootstrap_bootstrap.py) = 590308748215f7fa386a87aa185f1f5d2dc39323
-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.rs) = 0ff7487718a04080adf6a9631ee2069ace6c3928
-SHA1 (patch-src_bootstrap_src_lib.rs) = 331f14cee4b89d306122c61a68dfc356c872f4f3
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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) = a7d49360e4c4a082bf640b7d79e3694580d340e4
-SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
-SHA1 (patch-tests_assembly_targets_targets-elf.rs) = 4a3b9ac02905063f56c59a811509d793ec445c85
-SHA1 (patch-tools_rust-analyzer_lib_line-index-src_lib.rs) = 4ed527174447ee23fa81dd6840e18b9949d5a273
-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_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
-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.28.2+1.1.1w_openssl_Configurations_10-main.conf) = ac2963bca8d1dc4e196693d9f5a264f38355314a
-SHA1 (patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs) = c87435bef2899b30b5cdb1b525193489988b2476
-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.92_build_find__normal.rs) = 91ad0d3e78055a5a205d55cd2c260cde70233bfe
-SHA1 (patch-vendor_openssl-sys-0.9.92_build_main.rs) = a47c0b7144466592aca3b622cb77498d59c5dfc4
-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
diff --git a/rust183/do-cross.mk b/rust183/do-cross.mk
deleted file mode 100644
index 36d5cd1a7f..0000000000
--- a/rust183/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/rust183/files/gcc-wrap b/rust183/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust183/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/rust183/options.mk b/rust183/options.mk
deleted file mode 100644
index 27bc0a3f16..0000000000
--- a/rust183/options.mk
+++ /dev/null
@@ -1,79 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-#
-# 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/rust183/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust183/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index cb953e761f..0000000000
--- a/rust183/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("-rpath,@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/rust183/patches/patch-compiler_rustc__llvm_build.rs b/rust183/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 74346dbe8e..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index 93997710be..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index e240c13f23..0000000000
--- a/rust183/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 crate::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/rust183/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust183/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/rust183/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs b/rust183/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index 63270e5ee8..0000000000
--- a/rust183/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Make more similar to other sparc64 target specs.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,11 +1,13 @@
- use crate::abi::Endian;
--use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions, base};
-+use crate::spec::{Cc, LinkerFlavor, Lld, Target, 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(),
-@@ -18,6 +20,6 @@ pub(crate) fn target() -> Target {
-         pointer_width: 64,
-         data_layout: "E-m:e-i64:64-n32:64-S128".into(),
-         arch: "sparc64".into(),
--        options: TargetOptions { endian: Endian::Big, mcount: "__mcount".into(), ..base },
-+        options: base,
-     }
- }
diff --git a/rust183/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust183/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust183/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/rust183/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust183/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index a262257884..0000000000
--- a/rust183/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust183/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust183/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust183/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust183/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs b/rust183/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
deleted file mode 100644
index d57e0bb62a..0000000000
--- a/rust183/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/rust183/patches/patch-src_bootstrap_bootstrap.py b/rust183/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 3a4f4fa1bb..0000000000
--- a/rust183/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,65 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.23 2024/04/18 09:29:42 pin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -286,6 +286,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]
-@@ -389,10 +394,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':
-@@ -623,12 +634,12 @@ class RustBuild(object):
-                 print('Choosing a pool size of', pool_size, 'for the unpacking of the tarballs')
-             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:
-                 p.close()
-@@ -758,6 +769,7 @@ class RustBuild(object):
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
-         rpath_entries = [
-+            "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
diff --git a/rust183/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust183/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust183/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/rust183/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust183/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust183/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/rust183/patches/patch-src_bootstrap_src_core_builder.rs b/rust183/patches/patch-src_bootstrap_src_core_builder.rs
deleted file mode 100644
index 05340fec7d..0000000000
--- a/rust183/patches/patch-src_bootstrap_src_core_builder.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-$NetBSD: patch-src_bootstrap_src_core_builder.rs,v 1.5 2024/07/27 02:35:24 tnn Exp $
-
-Find external libunwind and libLLVM on pkgsrc (not just Linux).
-Use @PREFIX@ in rpath.
-
-Also, follow up on
-https://github.com/rust-lang/rust/issues/133629 by applying
-https://github.com/rust-lang/rust/pull/136309
-which should fix the cross-compile failure.
-
---- src/bootstrap/src/core/builder.rs.orig	2024-11-26 10:12:09.000000000 +0000
-+++ src/bootstrap/src/core/builder.rs
-@@ -1701,7 +1701,10 @@ impl<'a> Builder<'a> {
-                 // Build proc macros both for the host and the target unless proc-macros are not
-                 // supported by the target.
-                 if target != compiler.host && cmd_kind != Kind::Check {
--                    let error = command(self.rustc(compiler))
-+                    let mut rustc_cmd = command(self.rustc(compiler));
-+                    self.add_rustc_lib_path(compiler, &mut rustc_cmd);
-+
-+                    let error = rustc_cmd
-                         .arg("--target")
-                         .arg(target.rustc_target_arg())
-                         .arg("--print=file-names")
-@@ -1709,6 +1712,7 @@ impl<'a> Builder<'a> {
-                         .arg("-")
-                         .run_capture(self)
-                         .stderr();
-+
-                     let not_supported = error
-                         .lines()
-                         .any(|line| line.contains("unsupported crate type `proc-macro`"));
-@@ -2262,6 +2266,9 @@ impl<'a> Builder<'a> {
-             rustdocflags.arg("--cfg=parallel_compiler");
-         }
- 
-+        // added for pkgsrc libunwind and LLVM
-+        rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX@/lib");
-+
-         Cargo {
-             command: cargo,
-             compiler,
-@@ -2617,7 +2624,7 @@ impl Cargo {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !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
-             };
diff --git a/rust183/patches/patch-src_bootstrap_src_lib.rs b/rust183/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index e7ca14bda1..0000000000
--- a/rust183/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust183/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust183/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index d0dfe4e6da..0000000000
--- a/rust183/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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust183/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust183/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust183/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/rust183/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust183/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust183/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/rust183/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust183/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust183/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/rust183/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust183/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust183/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/rust183/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust183/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust183/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/rust183/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust183/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index 4ecd6ce47f..0000000000
--- a/rust183/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	2019-08-13 06:27:40.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"))]
- #[expect(deprecated)]
- #[cargo_test]
- fn incremental_profile() {
-@@ -176,6 +179,7 @@ fn incremental_profile() {
-         .run();
- }
- 
-+#[cfg(not(target_arch = "sparc64"))]
- #[expect(deprecated)]
- #[cargo_test]
- fn incremental_config() {
diff --git a/rust183/patches/patch-src_tools_rust-installer_install-template.sh b/rust183/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust183/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/rust183/patches/patch-tests_assembly_targets_targets-elf.rs b/rust183/patches/patch-tests_assembly_targets_targets-elf.rs
deleted file mode 100644
index cce5f2b508..0000000000
--- a/rust183/patches/patch-tests_assembly_targets_targets-elf.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Fix make test.
-
---- tests/assembly/targets/targets-elf.rs.orig	2025-02-04 13:15:03.384854786 +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/rust183/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs b/rust183/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
deleted file mode 100644
index 8b4f9fe0d2..0000000000
--- a/rust183/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD$
-
-Try to avoid using neon for big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- src/tools/rust-analyzer/lib/line-index/src/lib.rs.orig	2024-09-01 14:12:57.016998002 +0000
-+++ src/tools/rust-analyzer/lib/line-index/src/lib.rs
-@@ -227,7 +227,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>,
-@@ -339,7 +339,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
- //
-@@ -354,7 +354,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>,
-@@ -433,7 +433,11 @@ 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/rust183/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust183/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index d587a1a864..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust183/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust183/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust183/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust183/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust183/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust183/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf b/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
deleted file mode 100644
index d7eb270fd1..0000000000
--- a/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_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.28.2+1.1.1w/openssl/Configurations/10-main.conf.orig	2024-08-29 18:07:36.845484717 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/openssl/Configurations/10-main.conf
-@@ -950,6 +950,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/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs b/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
deleted file mode 100644
index 5924303d05..0000000000
--- a/rust183/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD$
-
---- vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs.orig	2024-08-29 18:09:29.494697634 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "loongarch64-unknown-linux-musl" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-@@ -274,9 +280,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -284,8 +292,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/rust183/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs b/rust183/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
deleted file mode 100644
index 80d98e247b..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs b/rust183/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
deleted file mode 100644
index a15188f472..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs b/rust183/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
deleted file mode 100644
index 99108643b7..0000000000
--- a/rust183/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.92/build/find_normal.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/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/rust183/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs b/rust183/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
deleted file mode 100644
index 0a70272949..0000000000
--- a/rust183/patches/patch-vendor_openssl-sys-0.9.92_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.92/build/main.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/build/main.rs
-@@ -115,6 +115,14 @@ fn main() {
-         println!("cargo:rustc-link-lib={}={}", kind, lib);
-     }
- 
-+    // 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/rust183/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust183/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust183/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust183/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/rust183/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs b/rust183/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
deleted file mode 100644
index d71d7d0924..0000000000
--- a/rust183/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/rust183/platform.mk b/rust183/platform.mk
deleted file mode 100644
index 4351b8bd1a..0000000000
--- a/rust183/platform.mk
+++ /dev/null
@@ -1,31 +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>=9.0
-.for rust_arch in aarch64 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
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-earm*} && ${OPSYS_VERSION} < 100000
-RUST_DIR?=	../../lang/rust176
-.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/rust183/rust.mk b/rust183/rust.mk
deleted file mode 100644
index 5ecb4c2e46..0000000000
--- a/rust183/rust.mk
+++ /dev/null
@@ -1,56 +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
-#
-# === 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
-
-RUST_TYPE?=	src
-
-.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/rust184-bin/DESCR b/rust184-bin/DESCR
deleted file mode 100644
index 5c709044ce..0000000000
--- a/rust184-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/rust184-bin/Makefile b/rust184-bin/Makefile
deleted file mode 100644
index ae7b07b870..0000000000
--- a/rust184-bin/Makefile
+++ /dev/null
@@ -1,296 +0,0 @@
-# $NetBSD: Makefile,v 1.69 2024/10/14 20:52:26 wiz Exp $
-
-DISTNAME=	rust-1.84.1
-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 !empty(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 clippy-driver miri rls rust-analyzer rustc rustdoc
-	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 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
-.endif
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/rust184-bin/buildlink3.mk b/rust184-bin/buildlink3.mk
deleted file mode 100644
index 1d6874ec86..0000000000
--- a/rust184-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/rust184-bin/distinfo b/rust184-bin/distinfo
deleted file mode 100644
index 261b4df4cc..0000000000
--- a/rust184-bin/distinfo
+++ /dev/null
@@ -1,56 +0,0 @@
-$NetBSD: distinfo,v 1.40 2024/10/14 20:52:26 wiz Exp $
-
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-aarch64-apple-darwin.tar.gz) = 03cce3a3db081f808d366fe1c2cd6d1dbab5f83f69f27f562cba8e457101352f
-SHA512 (rust-bin-1.84.1/rust-1.84.1-aarch64-apple-darwin.tar.gz) = da1715eb9c0c139e8ab78a288e0d9b46e6f08cd0fe7a3407266a6b3fd53f192a1f041dceefff3b23166fec18d506adabab84f144a22b9b8ef8cfeb6212b37bd2
-Size (rust-bin-1.84.1/rust-1.84.1-aarch64-apple-darwin.tar.gz) = 345901224 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-gnu.tar.gz) = e8827ce1bbd7d703825c0cd80a9eb2903ec763d3dc73022407407eb1e73ae83f
-SHA512 (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-gnu.tar.gz) = 50ac52c40aa8d0849670aecc0797b418ae8062497a4b9066bf023a591aec5e47f4955419197d6b4189d10074847f135a14c40139d59f57c33fb4cc3ecaf8ee70
-Size (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-gnu.tar.gz) = 492244033 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-musl.tar.gz) = d857244101633bbe5984e2d3f539396550e7cd0c222b034ab3dac3c495065d64
-SHA512 (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-musl.tar.gz) = c7776ef8f7269b82b3a930d43baebec475a35913495fa2f7dea334b2e4d581b3fe89357234bc9df0d3df5026aa91af38fc22f8775065a0f98b21d62c1cc4f8fc
-Size (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-linux-musl.tar.gz) = 406410257 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-netbsd.tar.xz) = 4f7eacec5d54e00044e107587cbf05aaaebf006578cccd64187e193f3f8c1863
-SHA512 (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-netbsd.tar.xz) = ecd587178877f6ae4538e0cb86bc2d650941c11955d2fbcbbaa4af3352c8310cb70b63b43f5a21a38eff6590a62b135f4ad9b66841530359ca3ae6e82054668f
-Size (rust-bin-1.84.1/rust-1.84.1-aarch64-unknown-netbsd.tar.xz) = 207545496 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-aarch64_be-unknown-netbsd.tar.xz) = 8d90beeca3acadc79cfa725f1ffafcd0f21a03b481b3b6fdbcc9e929ab725d77
-SHA512 (rust-bin-1.84.1/rust-1.84.1-aarch64_be-unknown-netbsd.tar.xz) = ad5f539e8ad3a12954b490a76f2e232eedfbabfb1791d025a0ce739c988d6a24582314a7ce53128d88b26783b1c4eb258ef7ee80c923c422532537765fe54aed
-Size (rust-bin-1.84.1/rust-1.84.1-aarch64_be-unknown-netbsd.tar.xz) = 205111332 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-armv6-unknown-netbsd-eabihf.tar.xz) = 5c8fa9d0b8771e5b1097ba760d6f28469e2e26247039538e5380c2998ff054e7
-SHA512 (rust-bin-1.84.1/rust-1.84.1-armv6-unknown-netbsd-eabihf.tar.xz) = f5ce3c864c3bb870546e175bdf766da73d5ee9bae700c037ced933c96a430660b3ad88fb6f5c044f4108b59710e834babe8006eafbab49c3c81293064656ee87
-Size (rust-bin-1.84.1/rust-1.84.1-armv6-unknown-netbsd-eabihf.tar.xz) = 176752044 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-armv7-unknown-netbsd-eabihf.tar.xz) = 52e777f3cea007343d9e471d122ca0d80ef525cb2d34b2e596176c9acb4556b9
-SHA512 (rust-bin-1.84.1/rust-1.84.1-armv7-unknown-netbsd-eabihf.tar.xz) = bd7eebade7bcadf683d7818a7ef98f9b061952049dadbe8a88178304dabd27fce988efba1c90101ba0f7e1f08c09f7ecdeacdcfccd5504bd0bb9c57d0f456f55
-Size (rust-bin-1.84.1/rust-1.84.1-armv7-unknown-netbsd-eabihf.tar.xz) = 177679360 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-i586-unknown-netbsd.tar.xz) = 99c3aa68c051f7d7e3991b20af9ca49fe0cd8876917ee5fdac0176085919c88d
-SHA512 (rust-bin-1.84.1/rust-1.84.1-i586-unknown-netbsd.tar.xz) = 0c01a3e5f817f44d3b9e75832be46bc0de07387e0584ad7fe5a7e54d42fd047d40dea9e8fd36b1fa0bf495a77601f89cc4aa33a6f1e9e3fe3ee31c8bd91b7a76
-Size (rust-bin-1.84.1/rust-1.84.1-i586-unknown-netbsd.tar.xz) = 228695868 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-i686-unknown-linux-gnu.tar.gz) = fd414d680602d4d14d4d6a2a702a976963c514b9eecd2be94e58cb74c360590f
-SHA512 (rust-bin-1.84.1/rust-1.84.1-i686-unknown-linux-gnu.tar.gz) = d38868010bce512d1d3c57231dacc79d5c845be6604bf8a5742a7b1848a4159d4b008629f739f854101cb00c39de3ff15266902a66ed2dd5129a28677dba5b2f
-Size (rust-bin-1.84.1/rust-1.84.1-i686-unknown-linux-gnu.tar.gz) = 448299058 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-mipsel-unknown-netbsd.tar.xz) = 5b8c5a949adfb8ea202688d1af1477c3ffbba195cf4ddc595f0bf289466c812e
-SHA512 (rust-bin-1.84.1/rust-1.84.1-mipsel-unknown-netbsd.tar.xz) = e19167d0f2007ba25a9700f35ead9060b978d271025b87db0b1312802f43f98f5c7fc58c4a0a963f657fea3a29fc71b49b089994d16e197c45cdf5c60e8f1c35
-Size (rust-bin-1.84.1/rust-1.84.1-mipsel-unknown-netbsd.tar.xz) = 183295600 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-powerpc-unknown-netbsd.tar.xz) = 59402d87040896dd45bcea325c35a05603e16da6e2a2c7ccbcb6030c870219e5
-SHA512 (rust-bin-1.84.1/rust-1.84.1-powerpc-unknown-netbsd.tar.xz) = 455fe5c6180d87196a657b68f8ffff6154bae424bb21f86384d46b393008e142a3fe1c8a9b28a9fdb57271c019b00509b4a6920d0340123fa53acc743dbc8cc8
-Size (rust-bin-1.84.1/rust-1.84.1-powerpc-unknown-netbsd.tar.xz) = 240340788 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-riscv64gc-unknown-netbsd.tar.xz) = e05c1ba0ba9a385843e4c26ad4731d867283fd872af9ca63d0818e0bf59fc9e6
-SHA512 (rust-bin-1.84.1/rust-1.84.1-riscv64gc-unknown-netbsd.tar.xz) = efcf93b18edb7e6ae480b0c9b6f06c5c433452e6e3bfad9af9aefb266a779463120bc3baba9b480adc1da6551f8acc390203e403e1fe731918bfe18553d30ba9
-Size (rust-bin-1.84.1/rust-1.84.1-riscv64gc-unknown-netbsd.tar.xz) = 223173808 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-sparc64-unknown-netbsd.tar.xz) = b4e1a495297a5b0b202ad526e76e6ad2e7336719ef642a536409cd38e4b16c22
-SHA512 (rust-bin-1.84.1/rust-1.84.1-sparc64-unknown-netbsd.tar.xz) = 8d6f14083e230526e334fbd60ec64b783c7a6ef4eb73d85ff5b6ffab21c51ffddc09ce0aa707a2362e38f5da5b521f8dc88e0ce04ebd0e9f2b76144696eb959a
-Size (rust-bin-1.84.1/rust-1.84.1-sparc64-unknown-netbsd.tar.xz) = 204168440 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-x86_64-apple-darwin.tar.gz) = 47cf4d7276811e4c174097716486d7fd82f38ab49948caa9a9edd1885a1cdb96
-SHA512 (rust-bin-1.84.1/rust-1.84.1-x86_64-apple-darwin.tar.gz) = 16475689bddcc704d51dbcfc9efefedd458ce7c90797aafa88f94ffd815fb822b5bb265e9c3779faf48d28fb269d5950072e7e15d11b6f8306bdc70a4d348ab2
-Size (rust-bin-1.84.1/rust-1.84.1-x86_64-apple-darwin.tar.gz) = 350673687 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-freebsd.tar.gz) = a842e40dbcd0f0366822f9be27ca5e06d0267b9416b4508b46c81fed6333bfc7
-SHA512 (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-freebsd.tar.gz) = 49472608b393ad76d37ec8711b8428b0cc606c83c660dbfa775410dbcb2edc1c11ecd3d853a667ac8078a05bc99577b960a2fe7745a0ec7146fc6406e4e6d072
-Size (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-freebsd.tar.gz) = 341896083 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-gnu.tar.gz) = e8f4f5309b8648146298907c9c3ec2bb62e0cf64dbffac6f5fc637eb0034a1b1
-SHA512 (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-gnu.tar.gz) = 5d03f47a4b51dad9588f823d9c12537bcbf54f90cd47df6e7cc380e0afa0f18b8e115280cb7827fd021aea4aafe1e402631a7f82d18455f3d996df30d60139d1
-Size (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-gnu.tar.gz) = 343864493 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-musl.tar.gz) = 52793901564bdbc0f1ade09f729ee1325e4e16998b66d4e3222e241d4aac9b35
-SHA512 (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-musl.tar.gz) = b2284c6df1886f280e743f885abe3e04126b838d1e20305b5742a1ffda6b5065f0e364bdf2ecf1369a296e81409352ece0fb52b1eafbb1f9552372e110e0dca5
-Size (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-linux-musl.tar.gz) = 489354928 bytes
-BLAKE2s (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-netbsd.tar.gz) = 4dc46cf463e3be725747d39926d5d9271c09c0afe274f9f4d030ef70764d6823
-SHA512 (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-netbsd.tar.gz) = f9a0f69a05e341e783a7b6cfca49640e63526a770bf99024be218c7c2cf3bae452beb004d1aff98bd6de2cc78473c5dc40cf6a25cbe26305ba648bfb56b9cf0f
-Size (rust-bin-1.84.1/rust-1.84.1-x86_64-unknown-netbsd.tar.gz) = 360543597 bytes
diff --git a/rust184-bin/files/install.sh b/rust184-bin/files/install.sh
deleted file mode 100644
index 1cc270c333..0000000000
--- a/rust184-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/rust184/DESCR b/rust184/DESCR
deleted file mode 100644
index 6dc90a671e..0000000000
--- a/rust184/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/rust184/HOWTO-BOOTSTRAP b/rust184/HOWTO-BOOTSTRAP
deleted file mode 100644
index 81133db2ec..0000000000
--- a/rust184/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/rust184/Makefile b/rust184/Makefile
deleted file mode 100644
index 3bacebac57..0000000000
--- a/rust184/Makefile
+++ /dev/null
@@ -1,722 +0,0 @@
-# $NetBSD: Makefile,v 1.316 2024/07/31 12:30:43 he Exp $
-
-DISTNAME=	rustc-1.84.1-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
-
-# Include (optional) settings to cross-build rust
-.include "cross.mk"
-
-# optional from do-cross.mk
-CONFIGURE_ARGS+=	${ADD_CONFIGURE_ARGS}
-
-# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
-# uncommenting the LD_LIBRARY_PATH setting may be required to run
-# the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-MAKE_ENV+=		LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
-
-# 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}
-
-# MacOS X 10.7 is the oldest supported version. See
-# ${WRKSRC}/src/bootstrap/lib.rs
-MAKE_ENV.Darwin+=	MACOSX_DEPLOYMENT_TARGET="10.7"
-
-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"
-
-# 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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.0
-RUST_ARCH:=		x86_64-unknown-illumos
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-SITES.${RUST_STAGE0}=	https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
-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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.92
-CKSUMS+=	33f814dba4ac9942266157cbe3dc8eadf5e477090370a92c36c53f916fa45d48
-CKSUMS+=	f78ddd9b03c31a03350aa152d6f707c6cbb21b2ea0b493d05238aa473b80af09
-CKSUMS+=	b2cbaa5bfac5e7d5550aa0eb8e5c65a9f7e86a3692b759fb13330ef6e3b26b30
-CKSUMS+=	b303bf9ceae9fcffa4a0420ea858675d827fc2d75c358f8236e44274d58be1a0
-
-CKSUM_CRATES+=	vendor/openssl-src-111.28.2+1.1.1w/
-CKSUMS+=	090744f85cf99a9b8412c23fca1eabb61eb45d830f0f9f0e7309be2572c1e827
-CKSUMS+=	e8ca5ea1808323cd9f0cc9d53c7258bb2f3112e5eafc11dd457e010a80a9c8d8
-CKSUMS+=	cf331474674b6c4fff7e361d592c14131c97918d6f756b36698a7ac8ec845adb
-CKSUMS+=	bec36eddcf41c8639903ea7593751c92251100168241bc5696f8a776a55651fb
-
-CKSUM_CRATES+=	vendor/libc-0.2.155
-CKSUMS+=	3e550d95419169febf094c425451ca86b12821fa17839b4b0ba7520b145a5820
-CKSUMS+=	1cf38d9ddeca5295821b4234e17e1fc749f35b00307bdfdacb24c6892a288ad6
-CKSUMS+=	b8d6f089fc8eb2cb59e45335a26c9ce871b846216c9859b553c6b91982f8de33
-CKSUMS+=	d8c4a979ce9b406fb63c5aaf2827b616689294331341737fec392b8faa2126fa
-
-CKSUM_CRATES+=	vendor/libc-0.2.158
-CKSUMS+=	ab09cea2897ecd27fc7e35822dac23d6dcd53f8577c771db3ee8b015e8d82001
-CKSUMS+=	a7ecf37f62e4756b30c92a063bac4b84d229947f854dc0bae9e8c8eeb1ecd237
-CKSUMS+=	c0c5dfc406d728666010cdc2fe21b0df40547ed20dd7ad0eab65906e103b6d4b
-CKSUMS+=	dd2aa95b38dd9afaac3413f6a1af632de77050adf2fea66b8cdbfc8244d1f07e
-
-CKSUM_CRATES+=	vendor/libc-0.2.159
-CKSUMS+=	bcd6cc980a3b0ccc3d02ac541f62e0815810e4bd7c4d3dd21b9d1a59321e7825
-CKSUMS+=	2580fd73b4af53ec7bbee21cc26354df597f1ec0525ba1fb7e3a80c2e9d82e64
-CKSUMS+=	c0c5dfc406d728666010cdc2fe21b0df40547ed20dd7ad0eab65906e103b6d4b
-CKSUMS+=	dd2aa95b38dd9afaac3413f6a1af632de77050adf2fea66b8cdbfc8244d1f07e
-
-CKSUM_CRATES+=	vendor/libc-0.2.162
-CKSUMS+=	b979150c1803d02d5b4776a8d2653397adf24516d11a31e256719e5df051cade
-CKSUMS+=	ef92b925a48e2b0730145e1ab2ad2d38e036d3d4ec0ebd045fbe98300ea41197
-
-CKSUM_CRATES+=	vendor/libc-0.2.164
-CKSUMS+=	febeb36ab9e653e8916c5476c5560b4eb12ea19153bb74fb591e4166afa013eb
-CKSUMS+=	3e6485184f088089937b9435a48969345606477655dab47047b88fd85310513f
-CKSUMS+=	fa2ab98267591f4146de3ad41df9017db67e8b5aa436b41224ef155c951114f4
-CKSUMS+=	c0ca36dcf36902e1382c8e58ca4024c2b65e28ae1a5f2e3e38cc122779c0d0ca
-
-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
-
-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}
-
-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.18.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 libnghttp2.so.14 libsasl2.so.3 \
-		   libssh2.so.1 libunistring.so.5; 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/rust184/buildlink3.mk b/rust184/buildlink3.mk
deleted file mode 100644
index b8eeb79834..0000000000
--- a/rust184/buildlink3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.14 2023/10/25 05:50:43 pin 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
-.endif
-
-BUILDLINK_TREE+=	-rust
diff --git a/rust184/cargo.mk b/rust184/cargo.mk
deleted file mode 100644
index 5813c04321..0000000000
--- a/rust184/cargo.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# $NetBSD: cargo.mk,v 1.37 2024/05/04 20:06:55 tnn 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
-SITES.${crate}.crate+=		-${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
-EXTRACT_DIR.${crate}.crate?=	${CARGO_VENDOR_DIR}
-.endfor
-
-.include "../../mk/bsd.prefs.mk"
-# 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/rust184/cross.mk b/rust184/cross.mk
deleted file mode 100644
index 47f2b3e006..0000000000
--- a/rust184/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/rust184/distinfo b/rust184/distinfo
deleted file mode 100644
index 16b4060928..0000000000
--- a/rust184/distinfo
+++ /dev/null
@@ -1,166 +0,0 @@
-$NetBSD: distinfo,v 1.159 2023/06/19 14:46:47 bsiegert Exp $
-
-BLAKE2s (rust-1.83.0-aarch64-apple-darwin.tar.gz) = aa2acc954a6ca47e75a097c0b4164b9d0812fab9b97f65e2da205c1f315793ff
-SHA512 (rust-1.83.0-aarch64-apple-darwin.tar.gz) = 6a2e91e18293b34eb2277edc5201977a579c100b55a815576f0e5a6367f2d0fb2c90e65e9d463dd9fd39f83eeb0ae2b220660545f58400e6586816f15587fb7e
-Size (rust-1.83.0-aarch64-apple-darwin.tar.gz) = 353120098 bytes
-BLAKE2s (rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = d86020e29d5e0e1dbf4f6a23af4d5dac11c31fa9e92c4643b6d1882122d2deb0
-SHA512 (rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 0a835ecd7226b6f05291913f0a57650487e967fb1ad4c98baa764424fa2bd9332d45adac56757a9bd8f327a8e16701d3bec3fcacba6deccc2da5e758ab17cd27
-Size (rust-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 497465556 bytes
-BLAKE2s (rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 2b14fdd7b379e2536c1408662b09b7d213b2f24ecb9e6d91a4abaa73d2032570
-SHA512 (rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 5e9d42fa2fcd3577ff185e89b8ccc63fd5487f0e3fae41abe76991c961f89cf56ca22b570f88138b374f704dcaec586e0f87b1a5e8c1b7e8d2ef665dad98b222
-Size (rust-1.83.0-aarch64-unknown-netbsd.tar.xz) = 203666612 bytes
-BLAKE2s (rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 93215f9ba4eacacb2c0536283df223cfe33650df9b03c9bc2878a0d969931b1b
-SHA512 (rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = ca91e1a663298313266795e2f11b03b2cd95d59f566b5a31d88e6a8f956c5446b148d36ee41bb39583addd383c83cad3f9a69ab61aebe420c7a8dd1059c8aa10
-Size (rust-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 202251204 bytes
-BLAKE2s (rust-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = 26d9c62cea5880489f6edacb0963a06ae9296328fc17d1b822c76685100c60b3
-SHA512 (rust-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = 439b7559b524b6c8fa47ab1ba2f384ca65881031e400b9ba3b6093bef85f4e6421ee1c3335d525e4de47bfe4f43e85114da48e92a282821cd3b669407c5148cf
-Size (rust-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = 379892394 bytes
-BLAKE2s (rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 2d7ff771420a69332f954389496cc323adac1888c1ab82a5e28e43c6848e950b
-SHA512 (rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 425db5b783b8ababb828f11e27c1af68ed3f24097ba59115a8ea6d300acf6d9770e2122ffa3a8e311ef8a5795617bfd38c9f05d09b76638bef55e08267701b9d
-Size (rust-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 172646304 bytes
-BLAKE2s (rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = 28637a99146b7d56bf4c9eb189aebde8fe2b9074aff31ec16fd6d57526ac6b91
-SHA512 (rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = fbf5ad5a19443d65445e840cfcdaef8006eae2278fc45fe8f58bac26fd93b1abb63db9773195ba04b65c2abe95a9b11e574d021aa0e7bc95a45cd36a2b93e620
-Size (rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = 367707300 bytes
-BLAKE2s (rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 78617d6830f88fd5f2970b18fa3b6e46d85ffdad1ba631fe611197c7f38853ac
-SHA512 (rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 56998d01be07f2b9cd895ce02a60e22865e1b417cd8f80fb5ab026ef00bc06b723a019085a62f39612f4310e6c0746503bf7d6ee8fdf8bd034bc6c81e07afaf2
-Size (rust-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 173435336 bytes
-BLAKE2s (rust-1.83.0-i586-unknown-netbsd.tar.xz) = 1dfe6ae309796df503113a7b21477254b79aaad3add8a7ac105ef3785ded4b83
-SHA512 (rust-1.83.0-i586-unknown-netbsd.tar.xz) = 108e8917c4f6c356485a5c3b25d3d33f94b6008ec294799f76909260795a0515209dab86355aab436bfa14168a218ae7d59fc2bd514a6663ccc1a1b97d76e31d
-Size (rust-1.83.0-i586-unknown-netbsd.tar.xz) = 225767200 bytes
-BLAKE2s (rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = 50a32044dc55289bd6b90b580ec01b22ed26d15e9d9d5edc29fb7afabba267f6
-SHA512 (rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = b115d752391bf1393806816e71b58b279704422b76956e559bb4c49a2b2e2ce0f36dc87fa7c8a935ce8ee355f27284a45b864c69dd5e3700dad9a203dba2304d
-Size (rust-1.83.0-i686-unknown-linux-gnu.tar.gz) = 452531941 bytes
-BLAKE2s (rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = 668f6ff55d6075a9e50e16267e5657b7558b19677db8effa518dfd1f7646f7fb
-SHA512 (rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = ab1ab236a22581a1524accaacbbf8727873a2c2ef51fc4cb8c34f92847a75a7a291a2fbf142fd2bd6d95d06862429b9d49b7f3b46b4966dd886629b763d11cf8
-Size (rust-1.83.0-powerpc-unknown-netbsd.tar.xz) = 237419532 bytes
-BLAKE2s (rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 6f61548dde9a3e7e846a1aa49c695d351b246ec6dfcee73f4af37b27df4a2485
-SHA512 (rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 4f56769a9cfe4db41c8a0f060123175a55617acf67b69756a62fc6920672f00b3053908a94225ef3424633ee24f891d67b660be1b6f08a165340da9ba3cdd7c9
-Size (rust-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 221269932 bytes
-BLAKE2s (rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 47eb75461c5e9cf4cc275666d2547c1d22802ee79055925c56f8f3b54cd6ff36
-SHA512 (rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 76889e114e47baf66d6dbe86ed6b6ff3897ca190da646294ce03fd26f80f22f9aca0b98199ea64574c1e45d8da370ce01fd7e7f42aa444a719677283d370d38e
-Size (rust-1.83.0-sparc64-unknown-netbsd.tar.xz) = 200505336 bytes
-BLAKE2s (rust-1.83.0-x86_64-apple-darwin.tar.gz) = 7ccd2d26ad48befc638e5a22499d68b22070c54f1341cf85d3eee50cd6b7b0a1
-SHA512 (rust-1.83.0-x86_64-apple-darwin.tar.gz) = 536771ba37edb705bc6943e259af64eb668f8f5faef34a7583ce273dce26c6a656fb2791a2c1c55a2e7f513bf82c42cddd704650f53281aeb0ca3ae20647b2e0
-Size (rust-1.83.0-x86_64-apple-darwin.tar.gz) = 358515839 bytes
-BLAKE2s (rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = e4d5ce56297ceb4fe3b6d230c245b1847f52c8aabc6bed7d131218b2e9c55f7f
-SHA512 (rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = 0569d28506fe2a4fe2ad49031468ffe485ab5f1803b9ce5b1b7d4e8a67e43678b4da096b737e32e6eaaf433beab5e1f0a251c1c59941c0128d0f5f7e68b506eb
-Size (rust-1.83.0-x86_64-unknown-freebsd.tar.gz) = 339151776 bytes
-BLAKE2s (rust-1.83.0-x86_64-unknown-illumos.tar.gz) = 20973e07fb9c24e0eda467c4c37123563181ece2654309af2f0b53fa4d372a35
-SHA512 (rust-1.83.0-x86_64-unknown-illumos.tar.gz) = 760dc21a0db2c4a41288a28d01ee1baa7115ab5dd3585f1f4b9d4323d2600c5ef53eadfdf335dc454a32ae5b8657e91ca8bab15c0b353660ff84a7265efee388
-Size (rust-1.83.0-x86_64-unknown-illumos.tar.gz) = 230168788 bytes
-BLAKE2s (rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = e460e1edbce54591eb8349061647f640e012c7b9581820e92d31e526efde5794
-SHA512 (rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 4a1d78d139e692213a761faa29d68861897538bddcf5584271ebd2e2663fc39dc615d7c18426494ed909510594628de2fed38777c88c1046662f97313b76e49f
-Size (rust-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 351990840 bytes
-BLAKE2s (rust-1.83.0-x86_64-unknown-netbsd.tar.xz) = c8622ddc2f96f620ce5a686079a465f78a6f4eced31b0de02322e7a2f2304759
-SHA512 (rust-1.83.0-x86_64-unknown-netbsd.tar.xz) = 6909a74687fd1be7be5391db90aa19b5a9ee4b0ee6d798f61b8147bc6d8589e1cab95b6b9fbe4561ec4f58a0d5d460863d70f495349d2a742359dcb8f788091d
-Size (rust-1.83.0-x86_64-unknown-netbsd.tar.xz) = 198428908 bytes
-BLAKE2s (rust-std-1.83.0-aarch64-apple-darwin.tar.gz) = 0c5cef6edd3082f269467db98cddad7e16d4f2e76437f0b386eae3d562b486ec
-SHA512 (rust-std-1.83.0-aarch64-apple-darwin.tar.gz) = c389580f864af6c16b0c3a31359455b1ddf73343b79c78a2087f655886f6cd84558ec50164d8485aa9f3d81e384373f9e967e39a0a78bac913e6898161611649
-Size (rust-std-1.83.0-aarch64-apple-darwin.tar.gz) = 41767429 bytes
-BLAKE2s (rust-std-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 4862a35638a727087fe8306e3b6f4e7029d3ac9ac83fc4a35f59804e0dc7093b
-SHA512 (rust-std-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = f59e4fafec43553152801b7f92bfcdcd96155bf66a5bf380d144d4137427807337ebdcc0a146d5741c6834648e137849fee07753313a623fa13217f766d1b563
-Size (rust-std-1.83.0-aarch64-unknown-linux-gnu.tar.gz) = 57912008 bytes
-BLAKE2s (rust-std-1.83.0-aarch64-unknown-netbsd.tar.xz) = 02bf2e082918bc916cd0321c7a0c533a23d951660ea38f87516dc0b61de7ffd5
-SHA512 (rust-std-1.83.0-aarch64-unknown-netbsd.tar.xz) = afd93e47272aefbe238b19e7e5f5648e0a4510f7a9110ff84cddf54c445f90fa9d74df5ba13253c24548a8a4ebfe39c6e1ae833467ee144be3b21be6072a9f4e
-Size (rust-std-1.83.0-aarch64-unknown-netbsd.tar.xz) = 23619584 bytes
-BLAKE2s (rust-std-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 09643ea0c1c238d99e1bbc21611f05cc148908af5461a8564e61a9e6c0501013
-SHA512 (rust-std-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 79a9e0d7b3138e42e13c7ed9ad9b8ca49834ed6004026a23d5066e1fcc2f9654cf06abeac9790fd87ac4743ec55fd47605df6ed0e0168f3505da39def6055ce6
-Size (rust-std-1.83.0-aarch64_be-unknown-netbsd.tar.xz) = 22322924 bytes
-BLAKE2s (rust-std-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = b10a7edebf0e7518c42d0e694d9a251602f559b0434046d76a7105649ea0286b
-SHA512 (rust-std-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = e27d1b9b78982be2ab26c593eccd100dfd7090798a0b4a4520d61fee86744a333cf8fbbd03241414d844d5b0cda9235b6bf1cfa711c25390f715b82d7d8268cf
-Size (rust-std-1.83.0-arm-unknown-linux-gnueabihf.tar.gz) = 38755049 bytes
-BLAKE2s (rust-std-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 2d301ea30a4a0ccfb9b8deaf50f33f75719cb3d0fe28e3a90a7e339769f0ecbf
-SHA512 (rust-std-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = b0e4773c24138349f75c03f868f9c20df7518250843d75c727e11ff751c223e6695c5f0e2d684eb18f1699477c1acf54a2be2f6300eb38df336c846b69d228e4
-Size (rust-std-1.83.0-armv6-unknown-netbsd-eabihf.tar.xz) = 22340640 bytes
-BLAKE2s (rust-std-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = 15543a37dc4decd3b1c0ba8bd12ada76e4dc8bea506c73076e8819aa7e009d2b
-SHA512 (rust-std-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = 2e2cb06cf2e269bd9def80b9b38debdba29057749c7aeba3ec645942fb31e3ff571607f55b30596982a3e9c88b8ded06f1b1f8bde1de388d3286ae230eabcf17
-Size (rust-std-1.83.0-armv7-unknown-linux-gnueabihf.tar.gz) = 40117520 bytes
-BLAKE2s (rust-std-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = db55cb942c3e4a30e9e79c01e5ed440920cc31e132958b68a9e5e48ce87a309d
-SHA512 (rust-std-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 3738655d11799b8e690627b660143e94d9a366a8239f16b15f4626e72c122817fc87a8ba8345f643119a3bf9b7afe468cd19316a1a5900a6bc8ccd094ed111d2
-Size (rust-std-1.83.0-armv7-unknown-netbsd-eabihf.tar.xz) = 23158388 bytes
-BLAKE2s (rust-std-1.83.0-i586-unknown-netbsd.tar.xz) = 98c56418f00e0e77c6cf4693a85afd088629a9fd27890c4761f3158f36523d62
-SHA512 (rust-std-1.83.0-i586-unknown-netbsd.tar.xz) = 7adb9bc611facd789c0f519443f52eb59843a511a18ff91e71d27cb68fa118c9eb2171098fe95bb4515c35248352a37160f0b113b32b3a820e243fb7e1463a54
-Size (rust-std-1.83.0-i586-unknown-netbsd.tar.xz) = 25046048 bytes
-BLAKE2s (rust-std-1.83.0-i686-unknown-linux-gnu.tar.gz) = 8799a4fea1fabd2da3574abacbe38d75f602c38fd58fd8992eccb41ad385473d
-SHA512 (rust-std-1.83.0-i686-unknown-linux-gnu.tar.gz) = e5b41da332c36cb2a7c253a675f9937af075263757464c7877fb9990b7355feb58fb59bcda437517020e20bd6e568a2fe4396af50029993786c76687874f4786
-Size (rust-std-1.83.0-i686-unknown-linux-gnu.tar.gz) = 42942766 bytes
-BLAKE2s (rust-std-1.83.0-powerpc-unknown-netbsd.tar.xz) = f135216cc08080be9e0b612395639e71bd18d6a5849a46bb7734587040ccff31
-SHA512 (rust-std-1.83.0-powerpc-unknown-netbsd.tar.xz) = 7fc144957c7dadb290fe2728baf432bf76fdb980270a2cafc96b714c7cf60058d47934a5f9a05b199008c130fe30426566e44c5def78a8627bf12e9c27463536
-Size (rust-std-1.83.0-powerpc-unknown-netbsd.tar.xz) = 22523420 bytes
-BLAKE2s (rust-std-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 8ee34bf3bce38ef888eea9552bc71fdebc4097e1520c681f6304c23806c4f7d6
-SHA512 (rust-std-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = cb1cb06ec67a13c90349aa69e5e304a0e68e3d40236ffa93250fdc2362cba58f6001fb16bfa59070441a868b64347b9ef43807f49182955d0b34aaaabc8ec282
-Size (rust-std-1.83.0-riscv64gc-unknown-netbsd.tar.xz) = 22506696 bytes
-BLAKE2s (rust-std-1.83.0-sparc64-unknown-netbsd.tar.xz) = af2f1a613eece08cec074f55e9643c1d05f4128136aa3f519fb51d848c3923c6
-SHA512 (rust-std-1.83.0-sparc64-unknown-netbsd.tar.xz) = c6683fe772ed6dcb0ae2301e985565066382181cba5754149ed5af3a35314d54524e9b7a9f388d7a585980265e1ef06665f6e79a3a4902c077c2cdd99af0921b
-Size (rust-std-1.83.0-sparc64-unknown-netbsd.tar.xz) = 22256280 bytes
-BLAKE2s (rust-std-1.83.0-x86_64-apple-darwin.tar.gz) = f9f3627bd6de64cc3ecb8f55b4d14a248b531c6d2d7fe68bf92fe1f8eb494f72
-SHA512 (rust-std-1.83.0-x86_64-apple-darwin.tar.gz) = 86b01b1099d2391a19d18a068871626223feff9012dfc27f6d7845ea005fe52d1331918133e4d73681c6d761a3dc96b9fa96b5a66034655047aa43d6ab8c1fe0
-Size (rust-std-1.83.0-x86_64-apple-darwin.tar.gz) = 44945545 bytes
-BLAKE2s (rust-std-1.83.0-x86_64-unknown-freebsd.tar.gz) = 2c7e5d160a53f6dd20958b44e1703cfb42273b3f701ba9d06c3960e462b3a768
-SHA512 (rust-std-1.83.0-x86_64-unknown-freebsd.tar.gz) = 884443a4f8d317247f36cebcb5362eeac2b3d783168e6e700721c2538ba2db19b7adbe04072deb8068d54b8e8c26f4e21833bde2f098dcff1ff57413c152f772
-Size (rust-std-1.83.0-x86_64-unknown-freebsd.tar.gz) = 46153578 bytes
-BLAKE2s (rust-std-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 2d63f4fc54e39c017a7997c3834f2521a5ffb46e28052275b7c7cc2e7ecc3ed3
-SHA512 (rust-std-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 9b05f35ee2f5757fd3d8c382fe24e9b66bf81a3503d67c46993425e59793b9ba040a8e129e67b65f19770668fbbdc4ff472a54ad3dafd7cc3bc34392675c63e9
-Size (rust-std-1.83.0-x86_64-unknown-linux-gnu.tar.gz) = 48678512 bytes
-BLAKE2s (rust-std-1.83.0-x86_64-unknown-netbsd.tar.xz) = 9c2662f7d87917577abd2c8311de2633bbfa7eda5721f01d292fe36bd686505e
-SHA512 (rust-std-1.83.0-x86_64-unknown-netbsd.tar.xz) = 5ce53d4500ab5b4d201490b1c435b334cd92867428e96f3fe3a479179a2ac1171df9e8e33982f5d7067bd572a715e1c6d0957e1778f91375ab10ac0cad02ac06
-Size (rust-std-1.83.0-x86_64-unknown-netbsd.tar.xz) = 27653116 bytes
-BLAKE2s (rustc-1.84.1-src.tar.gz) = 37355f615fac0b9c610a35e9c1c5445acd16881717e15807f481438edae74db5
-SHA512 (rustc-1.84.1-src.tar.gz) = 4e9f37e794488553cc2c9f642aca72eb0960beffcd32df8f0921133df28b7ddbd02263c7a62e0090da1904cf528cac509a68204cfe4bc4cc54134b0ab46cee08
-Size (rustc-1.84.1-src.tar.gz) = 733474328 bytes
-SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = f2af6e3b4925e8ca21b7cd783f7831b72700384a
-SHA1 (patch-compiler_rustc__llvm_build.rs) = 3acef995e3038a98b29b31b9bdd43286b1ac29f7
-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) = bbfbac8c4047340fc220e26bfaa8e7d7f5dcb284
-SHA1 (patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs) = 7deeb7d1d3306e96891dec144ac90398b88c6ad4
-SHA1 (patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs) = 677c18f5945f22d6142287ceb5f56c563fbfc211
-SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 9d5ef634c5a454e474ea5fee76da9bb768f5b3d9
-SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = 3b84a462c6bc8245d579452e4c37e3ce13314952
-SHA1 (patch-library_std_src_sys_pal_unix_mod.rs) = bfc59ae4568547e3ed71c8b31ba5b5b5363d5d40
-SHA1 (patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs) = 97c3ad8ea39c25d41256fcad80fae1e6e4970124
-SHA1 (patch-src_bootstrap_bootstrap.py) = 590308748215f7fa386a87aa185f1f5d2dc39323
-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) = 2021265bb1370f4d20af5a9878326fc68451de6d
-SHA1 (patch-src_bootstrap_src_lib.rs) = 331f14cee4b89d306122c61a68dfc356c872f4f3
-SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
-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-tools_rust-analyzer_lib_line-index-src_lib.rs) = 4ed527174447ee23fa81dd6840e18b9949d5a273
-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.158_src_unix_bsd_netbsdlike_netbsd_mod.rs) = 6ca30a6873bc2ce462a9ed640e72e586b5e7db0b
-SHA1 (patch-vendor_libc-0.2.158_src_unix_solarish_mod.rs) = 194bd1dbbc568cc596ab5c58a7ea3ee5c88a804c
-SHA1 (patch-vendor_libc-0.2.159_src_unix_bsd_netbsdlike_netbsd_mod.rs) = b01f687e13c76d206695290f08b3755e20bd0816
-SHA1 (patch-vendor_libc-0.2.159_src_unix_solarish_mod.rs) = f65ce5d95466eed8a0e082f4ac3766e0c2dac195
-SHA1 (patch-vendor_libc-0.2.162_src_unix_bsd_netbsdlike_netbsd_mod.rs) = cb9c8c1a02db8ab4762a2bd3d0c80b99e88df530
-SHA1 (patch-vendor_libc-0.2.162_src_unix_solarish_mod.rs) = 75e2755f1810246d1428e19289c416cd3a4b399f
-SHA1 (patch-vendor_libc-0.2.164_src_unix_bsd_netbsdlike_netbsd_mod.rs) = bfcd344aa54f059b2f241a4f78fb1662bf084272
-SHA1 (patch-vendor_libc-0.2.164_src_unix_solarish_mod.rs) = c9ad96a7e3ff9b2547ba09d82cfa7b352970b8fb
-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.28.2+1.1.1w_openssl_Configurations_10-main.conf) = ac2963bca8d1dc4e196693d9f5a264f38355314a
-SHA1 (patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs) = c87435bef2899b30b5cdb1b525193489988b2476
-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.92_build_find__normal.rs) = 91ad0d3e78055a5a205d55cd2c260cde70233bfe
-SHA1 (patch-vendor_openssl-sys-0.9.92_build_main.rs) = a47c0b7144466592aca3b622cb77498d59c5dfc4
-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
diff --git a/rust184/do-cross.mk b/rust184/do-cross.mk
deleted file mode 100644
index 2492bf04f1..0000000000
--- a/rust184/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/rust184/files/gcc-wrap b/rust184/files/gcc-wrap
deleted file mode 100644
index 957ebfa032..0000000000
--- a/rust184/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/rust184/options.mk b/rust184/options.mk
deleted file mode 100644
index eb52f22cab..0000000000
--- a/rust184/options.mk
+++ /dev/null
@@ -1,87 +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) || ${MACHINE_PLATFORM:MDarwin-*-aarch64}
-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
-
-#
-# 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/rust184/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs b/rust184/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs
deleted file mode 100644
index cb953e761f..0000000000
--- a/rust184/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("-rpath,@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/rust184/patches/patch-compiler_rustc__llvm_build.rs b/rust184/patches/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 74346dbe8e..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_base_netbsd.rs
deleted file mode 100644
index 93997710be..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_mod.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 48bba380a5..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 64f75d7aa0..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_targets_aarch64__unknown__netbsd.rs
deleted file mode 100644
index 870b6f0931..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_targets_mips64el__unknown__netbsd.rs
deleted file mode 100644
index e240c13f23..0000000000
--- a/rust184/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 crate::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/rust184/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_targets_mipsel__unknown__netbsd.rs
deleted file mode 100644
index 9f9b89dbe0..0000000000
--- a/rust184/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/rust184/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs b/rust184/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
deleted file mode 100644
index 020ca7d981..0000000000
--- a/rust184/patches/patch-compiler_rustc__target_src_spec_targets_sparc64__unknown__netbsd.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD$
-
-Make more similar to other sparc64 target specs.
-
---- compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ compiler/rustc_target/src/spec/targets/sparc64_unknown_netbsd.rs
-@@ -1,11 +1,13 @@
- use crate::abi::Endian;
--use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions, base};
-+use crate::spec::{Cc, LinkerFlavor, Lld, Target, 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(),
-@@ -18,6 +20,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/rust184/patches/patch-library_backtrace_src_symbolize_gimli.rs b/rust184/patches/patch-library_backtrace_src_symbolize_gimli.rs
deleted file mode 100644
index 9084324dd8..0000000000
--- a/rust184/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/rust184/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs b/rust184/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
deleted file mode 100644
index a262257884..0000000000
--- a/rust184/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
+++ /dev/null
@@ -1,25 +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
-@@ -304,11 +304,17 @@ fn decompress_zlib(input: &[u8], output:
-     }
- }
- 
-+#[cfg(target_os = "netbsd")]
-+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
-+#[cfg(not(target_os = "netbsd"))]
- const DEBUG_PATH: &[u8] = b"/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/rust184/patches/patch-library_std_src_sys_pal_unix_mod.rs b/rust184/patches/patch-library_std_src_sys_pal_unix_mod.rs
deleted file mode 100644
index 403ccd725e..0000000000
--- a/rust184/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	2024-03-22 12:47:54.470537834 +0000
-+++ library/std/src/sys/pal/unix/mod.rs
-@@ -384,6 +384,7 @@ cfg_if::cfg_if! {
-         #[link(name = "pthread")]
-         extern "C" {}
-     } else if #[cfg(target_os = "netbsd")] {
-+        #[link(name = "execinfo")]
-         #[link(name = "pthread")]
-         #[link(name = "rt")]
-         extern "C" {}
diff --git a/rust184/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs b/rust184/patches/patch-library_stdarch_crates_std__detect_tests_cpu-detection.rs
deleted file mode 100644
index d57e0bb62a..0000000000
--- a/rust184/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/rust184/patches/patch-src_bootstrap_bootstrap.py b/rust184/patches/patch-src_bootstrap_bootstrap.py
deleted file mode 100644
index 3a4f4fa1bb..0000000000
--- a/rust184/patches/patch-src_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,65 +0,0 @@
-$NetBSD: patch-src_bootstrap_bootstrap.py,v 1.23 2024/04/18 09:29:42 pin Exp $
-
-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	2023-07-12 03:32:40.000000000 +0000
-+++ src/bootstrap/bootstrap.py
-@@ -286,6 +286,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]
-@@ -389,10 +394,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':
-@@ -623,12 +634,12 @@ class RustBuild(object):
-                 print('Choosing a pool size of', pool_size, 'for the unpacking of the tarballs')
-             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:
-                 p.close()
-@@ -758,6 +769,7 @@ class RustBuild(object):
- 
-         patchelf = "{}/bin/patchelf".format(nix_deps_dir)
-         rpath_entries = [
-+            "@PREFIX@/lib",
-             os.path.join(os.path.realpath(nix_deps_dir), "lib")
-         ]
-         patchelf_args = ["--add-rpath", ":".join(rpath_entries)]
diff --git a/rust184/patches/patch-src_bootstrap_src_core_build__steps_compile.rs b/rust184/patches/patch-src_bootstrap_src_core_build__steps_compile.rs
deleted file mode 100644
index 92eee78647..0000000000
--- a/rust184/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/rust184/patches/patch-src_bootstrap_src_core_build__steps_install.rs b/rust184/patches/patch-src_bootstrap_src_core_build__steps_install.rs
deleted file mode 100644
index 8fa745ac41..0000000000
--- a/rust184/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/rust184/patches/patch-src_bootstrap_src_core_builder_cargo.rs b/rust184/patches/patch-src_bootstrap_src_core_builder_cargo.rs
deleted file mode 100644
index c9968ac38a..0000000000
--- a/rust184/patches/patch-src_bootstrap_src_core_builder_cargo.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD$
-
-Find external libunwind and libLLVM in pkgsrc (not just Linux).
-Use @PREFIX@ in rpath.
-
-Adapt fix to
-https://github.com/rust-lang/rust/issues/133629
-(files restructured upstream)
-
---- src/bootstrap/src/core/builder/cargo.rs.orig	2025-01-27 23:20:59.000000000 +0000
-+++ src/bootstrap/src/core/builder/cargo.rs
-@@ -238,7 +238,7 @@ impl Cargo {
-                 Some(format!("-Wl,-rpath,@loader_path/../{libdir}"))
-             } else if !target.is_windows() && !target.contains("aix") && !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
-             };
-@@ -646,7 +646,10 @@ impl Builder<'_> {
-                 // Build proc macros both for the host and the target unless proc-macros are not
-                 // supported by the target.
-                 if target != compiler.host && cmd_kind != Kind::Check {
--                    let error = command(self.rustc(compiler))
-+                    let mut rustc_cmd = command(self.rustc(compiler));
-+                    self.add_rustc_lib_path(compiler, &mut rustc_cmd);
-+
-+                    let error = rustc_cmd
-                         .arg("--target")
-                         .arg(target.rustc_target_arg())
-                         .arg("--print=file-names")
-@@ -1198,6 +1201,9 @@ impl Builder<'_> {
-             rustflags.arg("-Zinline-mir-preserve-debug");
-         }
- 
-+        // added for pkgsrc libunwind or external LLVM
-+        rustflags.arg("-Clink-args=-Wl,-rpath,@PREFIX@/lib,-L@PREFIX/lib");
-+
-         Cargo {
-             command: cargo,
-             compiler,
diff --git a/rust184/patches/patch-src_bootstrap_src_lib.rs b/rust184/patches/patch-src_bootstrap_src_lib.rs
deleted file mode 100644
index e7ca14bda1..0000000000
--- a/rust184/patches/patch-src_bootstrap_src_lib.rs
+++ /dev/null
@@ -1,23 +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
-@@ -1195,13 +1195,13 @@ impl Build {
-             .args()
-             .iter()
-             .map(|s| s.to_string_lossy().into_owned())
--            .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
-             .collect::<Vec<String>>();
- 
-         // 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/rust184/patches/patch-src_llvm-project_llvm_CMakeLists.txt b/rust184/patches/patch-src_llvm-project_llvm_CMakeLists.txt
deleted file mode 100644
index d0dfe4e6da..0000000000
--- a/rust184/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
-@@ -939,11 +939,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_executable_symbols(target).
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
diff --git a/rust184/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake b/rust184/patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake
deleted file mode 100644
index 6a701cd3aa..0000000000
--- a/rust184/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/rust184/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h b/rust184/patches/patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h
deleted file mode 100644
index 8722fdfe38..0000000000
--- a/rust184/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/rust184/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h b/rust184/patches/patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h
deleted file mode 100644
index 159d4a70de..0000000000
--- a/rust184/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/rust184/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp b/rust184/patches/patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp
deleted file mode 100644
index e255aa5af9..0000000000
--- a/rust184/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/rust184/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs b/rust184/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs
deleted file mode 100644
index 0d2e97d952..0000000000
--- a/rust184/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/rust184/patches/patch-src_tools_cargo_tests_testsuite_build.rs b/rust184/patches/patch-src_tools_cargo_tests_testsuite_build.rs
deleted file mode 100644
index faee0c00f9..0000000000
--- a/rust184/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/rust184/patches/patch-src_tools_rust-installer_install-template.sh b/rust184/patches/patch-src_tools_rust-installer_install-template.sh
deleted file mode 100644
index 556cade057..0000000000
--- a/rust184/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/rust184/patches/patch-tests_assembly_targets_targets-elf.rs b/rust184/patches/patch-tests_assembly_targets_targets-elf.rs
deleted file mode 100644
index 8a2594e503..0000000000
--- a/rust184/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/rust184/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs b/rust184/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
deleted file mode 100644
index 8b4f9fe0d2..0000000000
--- a/rust184/patches/patch-tools_rust-analyzer_lib_line-index-src_lib.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD$
-
-Try to avoid using neon for big-endian aarch64.
-Ref. https://github.com/rust-lang/rust/issues/129819
-
---- src/tools/rust-analyzer/lib/line-index/src/lib.rs.orig	2024-09-01 14:12:57.016998002 +0000
-+++ src/tools/rust-analyzer/lib/line-index/src/lib.rs
-@@ -227,7 +227,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>,
-@@ -339,7 +339,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
- //
-@@ -354,7 +354,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>,
-@@ -433,7 +433,11 @@ 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/rust184/patches/patch-vendor_bytecount-0.6.8_src_lib.rs b/rust184/patches/patch-vendor_bytecount-0.6.8_src_lib.rs
deleted file mode 100644
index d587a1a864..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs b/rust184/patches/patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs
deleted file mode 100644
index 8a7b3793fa..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust184/patches/patch-vendor_libc-0.2.155_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 1b6c7088be..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs b/rust184/patches/patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs
deleted file mode 100644
index ee6548b217..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_libc-0.2.158_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust184/patches/patch-vendor_libc-0.2.158_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index ae1c37f0d1..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.158_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.158/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.158/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/rust184/patches/patch-vendor_libc-0.2.158_src_unix_solarish_mod.rs b/rust184/patches/patch-vendor_libc-0.2.158_src_unix_solarish_mod.rs
deleted file mode 100644
index 16e07b1b96..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.158_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.158/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.158/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/rust184/patches/patch-vendor_libc-0.2.159_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust184/patches/patch-vendor_libc-0.2.159_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index ae3f0b88ff..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.159_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.159/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.159/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/rust184/patches/patch-vendor_libc-0.2.159_src_unix_solarish_mod.rs b/rust184/patches/patch-vendor_libc-0.2.159_src_unix_solarish_mod.rs
deleted file mode 100644
index 1c13d52195..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.159_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.159/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.159/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/rust184/patches/patch-vendor_libc-0.2.162_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust184/patches/patch-vendor_libc-0.2.162_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index d344f3bdee..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.162_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.162/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.162/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/rust184/patches/patch-vendor_libc-0.2.162_src_unix_solarish_mod.rs b/rust184/patches/patch-vendor_libc-0.2.162_src_unix_solarish_mod.rs
deleted file mode 100644
index 5225152170..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.162_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.162/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.162/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/rust184/patches/patch-vendor_libc-0.2.164_src_unix_bsd_netbsdlike_netbsd_mod.rs b/rust184/patches/patch-vendor_libc-0.2.164_src_unix_bsd_netbsdlike_netbsd_mod.rs
deleted file mode 100644
index 79a37a3f25..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.164_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.164/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2025-02-14 14:04:45.438043897 +0000
-+++ vendor/libc-0.2.164/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/rust184/patches/patch-vendor_libc-0.2.164_src_unix_solarish_mod.rs b/rust184/patches/patch-vendor_libc-0.2.164_src_unix_solarish_mod.rs
deleted file mode 100644
index 70b788f245..0000000000
--- a/rust184/patches/patch-vendor_libc-0.2.164_src_unix_solarish_mod.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Fix xattr build.
-
---- vendor/libc-0.2.164/src/unix/solarish/mod.rs.orig	2024-08-29 18:03:17.866520790 +0000
-+++ vendor/libc-0.2.164/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/rust184/patches/patch-vendor_line-index-0.1.2_src_lib.rs b/rust184/patches/patch-vendor_line-index-0.1.2_src_lib.rs
deleted file mode 100644
index 4d14411866..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_lzma-sys-0.1.20_config.h b/rust184/patches/patch-vendor_lzma-sys-0.1.20_config.h
deleted file mode 100644
index 6eaa429abe..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
deleted file mode 100644
index 06fbbc1f87..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/rust184/patches/patch-vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
deleted file mode 100644
index 3fa3ec8c4d..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_memchr-2.7.4_src_memchr.rs b/rust184/patches/patch-vendor_memchr-2.7.4_src_memchr.rs
deleted file mode 100644
index da85596fc1..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs b/rust184/patches/patch-vendor_memchr-2.7.4_src_memmem_searcher.rs
deleted file mode 100644
index 743d4886ee..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_memchr-2.7.4_src_vector.rs b/rust184/patches/patch-vendor_memchr-2.7.4_src_vector.rs
deleted file mode 100644
index 6851a4a4fd..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf b/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_openssl_Configurations_10-main.conf
deleted file mode 100644
index d7eb270fd1..0000000000
--- a/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_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.28.2+1.1.1w/openssl/Configurations/10-main.conf.orig	2024-08-29 18:07:36.845484717 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/openssl/Configurations/10-main.conf
-@@ -950,6 +950,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/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs b/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
deleted file mode 100644
index 5924303d05..0000000000
--- a/rust184/patches/patch-vendor_openssl-src-111.28.2+1.1.1w_src_lib.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD$
-
---- vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs.orig	2024-08-29 18:09:29.494697634 +0000
-+++ vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
-@@ -239,6 +239,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",
-@@ -249,14 +251,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",
-@@ -264,6 +269,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",
-             "loongarch64-unknown-linux-gnu" => "linux-generic64",
-             "loongarch64-unknown-linux-musl" => "linux-generic64",
-             "mips-unknown-linux-gnu" => "linux-mips32",
-@@ -274,9 +280,11 @@ 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-linux-gnuspe" => "linux-ppc",
-+            "powerpc-unknown-netbsd" => "BSD-generic32",
-             "powerpc64-unknown-freebsd" => "BSD-generic64",
-             "powerpc64-unknown-linux-gnu" => "linux-ppc64",
-             "powerpc64-unknown-linux-musl" => "linux-ppc64",
-@@ -284,8 +292,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/rust184/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs b/rust184/patches/patch-vendor_openssl-sys-0.9.102_build_find__normal.rs
deleted file mode 100644
index 80d98e247b..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs b/rust184/patches/patch-vendor_openssl-sys-0.9.102_build_main.rs
deleted file mode 100644
index a15188f472..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs b/rust184/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
deleted file mode 100644
index 99108643b7..0000000000
--- a/rust184/patches/patch-vendor_openssl-sys-0.9.92_build_find__normal.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
-Add hack for Darwin when homebrew is installed.
-
---- vendor/openssl-sys-0.9.92/build/find_normal.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/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/rust184/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs b/rust184/patches/patch-vendor_openssl-sys-0.9.92_build_main.rs
deleted file mode 100644
index 0a70272949..0000000000
--- a/rust184/patches/patch-vendor_openssl-sys-0.9.92_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.92/build/main.rs.orig	2006-07-24 01:21:28.000000000 +0000
-+++ vendor/openssl-sys-0.9.92/build/main.rs
-@@ -115,6 +115,14 @@ fn main() {
-         println!("cargo:rustc-link-lib={}={}", kind, lib);
-     }
- 
-+    // 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/rust184/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs b/rust184/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs
deleted file mode 100644
index 6c90dec84c..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs b/rust184/patches/patch-vendor_zerocopy-0.7.32_src_lib.rs
deleted file mode 100644
index 35ab52f6cb..0000000000
--- a/rust184/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/rust184/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs b/rust184/patches/patch-vendor_zerocopy-0.7.35_src_lib.rs
deleted file mode 100644
index d71d7d0924..0000000000
--- a/rust184/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/rust184/platform.mk b/rust184/platform.mk
deleted file mode 100644
index c6a01214d8..0000000000
--- a/rust184/platform.mk
+++ /dev/null
@@ -1,31 +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 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
-
-.if ${MACHINE_PLATFORM:MNetBSD-*-earm*} && ${OPSYS_VERSION} < 100000
-RUST_DIR?=	../../lang/rust176
-.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/rust184/rust.mk b/rust184/rust.mk
deleted file mode 100644
index 5ecb4c2e46..0000000000
--- a/rust184/rust.mk
+++ /dev/null
@@ -1,56 +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
-#
-# === 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
-
-RUST_TYPE?=	src
-
-.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