Wed May 18 20:57:28 2022 UTC ()
lang/rust: add patches so that RUST_BACKTRACE works.

Add NetBSD to the systems which need dl_iterate_phdr(),
and make NetBSD find the debug libraries if present.
Also make the execinfo functions visible, but not sure
that's used by rust.

Back-ported from wip / 1.60.0, but we can't do != in
conditionals here.


(he)
diff -r1.255 -r1.256 pkgsrc/lang/rust/Makefile
diff -r1.143 -r1.144 pkgsrc/lang/rust/distinfo
diff -r0 -r1.1 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
diff -r0 -r1.1 pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
diff -r0 -r1.1 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
diff -r0 -r1.1 pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
diff -r0 -r1.1 pkgsrc/lang/rust/patches/patch-vendor_libc-0.2.108_src_unix_bsd_netbsdlike_netbsd_mod.rs

cvs diff -r1.255 -r1.256 pkgsrc/lang/rust/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/rust/Makefile 2022/04/30 21:02:39 1.255
+++ pkgsrc/lang/rust/Makefile 2022/05/18 20:57:28 1.256
@@ -1,20 +1,20 @@ @@ -1,20 +1,20 @@
1# $NetBSD: Makefile,v 1.255 2022/04/30 21:02:39 nia Exp $ 1# $NetBSD: Makefile,v 1.256 2022/05/18 20:57:28 he Exp $
2 2
3DISTNAME= rustc-1.59.0-src 3DISTNAME= rustc-1.59.0-src
4PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} 4PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
5CATEGORIES= lang 5CATEGORIES= lang
6MASTER_SITES= https://static.rust-lang.org/dist/ 6MASTER_SITES= https://static.rust-lang.org/dist/
7PKGREVISION= 1 7PKGREVISION= 2
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.rust-lang.org/ 10HOMEPAGE= https://www.rust-lang.org/
11COMMENT= Safe, concurrent, practical language 11COMMENT= Safe, concurrent, practical language
12LICENSE= mit OR apache-2.0 12LICENSE= mit OR apache-2.0
13 13
14CONFLICTS+= rust-bin-[0-9]* 14CONFLICTS+= rust-bin-[0-9]*
15 15
16# uses -std=c++14 16# uses -std=c++14
17GCC_REQD+= 5 17GCC_REQD+= 5
18 18
19USE_GCC_RUNTIME= yes 19USE_GCC_RUNTIME= yes
20USE_LANGUAGES= c c++11 20USE_LANGUAGES= c c++11
@@ -377,26 +377,30 @@ SUBST_FILES.rpath+= src/bootstrap/builde @@ -377,26 +377,30 @@ SUBST_FILES.rpath+= src/bootstrap/builde
377SUBST_FILES.rpath+= src/bootstrap/compile.rs 377SUBST_FILES.rpath+= src/bootstrap/compile.rs
378SUBST_VARS.rpath= PREFIX 378SUBST_VARS.rpath= PREFIX
379 379
380# 380#
381# Generate list of subst entries for various .cargo-checksum.json files. These 381# Generate list of subst entries for various .cargo-checksum.json files. These
382# are all handled together in one big substitution to simplify things rather 382# are all handled together in one big substitution to simplify things rather
383# than one substitution entry per file, but are kept separate below to ease 383# than one substitution entry per file, but are kept separate below to ease
384# updating and verification. 384# updating and verification.
385# 385#
386#CKSUM_CRATES+= vendor/cc 386#CKSUM_CRATES+= vendor/cc
387#CKSUMS+= 6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba 387#CKSUMS+= 6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
388#CKSUMS+= 1244e301c58e7f693f14ad23b02713cdd38259928a6ca905336891e869e6743e 388#CKSUMS+= 1244e301c58e7f693f14ad23b02713cdd38259928a6ca905336891e869e6743e
389 389
 390CKSUM_CRATES+= vendor/libc-0.2.108
 391CKSUMS+= ddbdc8526a0267ffeb0ab9bb5f01ebb38a14cf759c025b5c0b0ff1178fec889b
 392CKSUMS+= b8330ddc0af8fa8d57f715eebabf0b0e4bcbef85894eee4a0f7aa0f748c29106
 393
390CKSUM_CRATES+= vendor/rustc-ap-rustc_target 394CKSUM_CRATES+= vendor/rustc-ap-rustc_target
391CKSUMS+= 673ac3b6875d487ace59b01725d83d2fab4af60615d1f8edd95bf21295947433 395CKSUMS+= 673ac3b6875d487ace59b01725d83d2fab4af60615d1f8edd95bf21295947433
392CKSUMS+= 5a8bae7d5b6feb07a75226ad061455298f05627086a3b444cb2a1a6272899d88 396CKSUMS+= 5a8bae7d5b6feb07a75226ad061455298f05627086a3b444cb2a1a6272899d88
393 397
394CKSUM_CRATES+= vendor/lzma-sys 398CKSUM_CRATES+= vendor/lzma-sys
395CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9 399CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
396CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef 400CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
397 401
398CKSUM_CRATES+= vendor/stacker 402CKSUM_CRATES+= vendor/stacker
399CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e 403CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e
400CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4 404CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4
401 405
402#CKSUM_CRATES+= vendor/libc 406#CKSUM_CRATES+= vendor/libc

cvs diff -r1.143 -r1.144 pkgsrc/lang/rust/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/rust/distinfo 2022/04/15 14:00:37 1.143
+++ pkgsrc/lang/rust/distinfo 2022/05/18 20:57:28 1.144
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1$NetBSD: distinfo,v 1.143 2022/04/15 14:00:37 he Exp $ 1$NetBSD: distinfo,v 1.144 2022/05/18 20:57:28 he Exp $
2 2
3BLAKE2s (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 7b463dcd407f7281ad6f9418c26f4360685a6d49549165a7b76b41c1a4f39864 3BLAKE2s (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 7b463dcd407f7281ad6f9418c26f4360685a6d49549165a7b76b41c1a4f39864
4SHA512 (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 66e58a3efe201c1c954bf7f382c8a6a6a52399451ff6e3abd6ad797de32cbc8f01bb92f8512b93bacc2091554afd7de08f7900cfd68bd2e5cf99b68362e26de5 4SHA512 (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 66e58a3efe201c1c954bf7f382c8a6a6a52399451ff6e3abd6ad797de32cbc8f01bb92f8512b93bacc2091554afd7de08f7900cfd68bd2e5cf99b68362e26de5
5Size (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 288182624 bytes 5Size (rust-1.58.1-aarch64-apple-darwin.tar.gz) = 288182624 bytes
6BLAKE2s (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = f74b7203274407945cef21aef5016f20c9f8971a5dc13c76ff112a6f5899fdda 6BLAKE2s (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = f74b7203274407945cef21aef5016f20c9f8971a5dc13c76ff112a6f5899fdda
7SHA512 (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = 031dfd5a089b6106cb7c4e6380184fd25cdff6ab66f55179addb21cbf10d20e1753a5ee9ae53be87a4c2cf73761705b037fba08e4bdb059a499111da8daa778a 7SHA512 (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = 031dfd5a089b6106cb7c4e6380184fd25cdff6ab66f55179addb21cbf10d20e1753a5ee9ae53be87a4c2cf73761705b037fba08e4bdb059a499111da8daa778a
8Size (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = 387893428 bytes 8Size (rust-1.58.1-aarch64-unknown-linux-gnu.tar.gz) = 387893428 bytes
9BLAKE2s (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = c064fcb92927faa267a4645c99b1c4f32644f5f55bf4c093d7937832bcad1f01 9BLAKE2s (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = c064fcb92927faa267a4645c99b1c4f32644f5f55bf4c093d7937832bcad1f01
10SHA512 (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = f448e56b5d07ff244d0de5899246b716f34866d43045fb56c3d7a73df6ebb103f65c25a09708a74cbb78d84f16d256af820f9bf126a45304608ff6e8579c1b68 10SHA512 (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = f448e56b5d07ff244d0de5899246b716f34866d43045fb56c3d7a73df6ebb103f65c25a09708a74cbb78d84f16d256af820f9bf126a45304608ff6e8579c1b68
11Size (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = 257274012 bytes 11Size (rust-1.58.1-aarch64-unknown-netbsd.tar.gz) = 257274012 bytes
12BLAKE2s (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = d6e820922e2592c8b475b0e58d31bf085e1761be92192e7d32355a078c51144d 12BLAKE2s (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = d6e820922e2592c8b475b0e58d31bf085e1761be92192e7d32355a078c51144d
13SHA512 (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = c9f83f814c8cceaea9645dd082d742cdf972738a79d0d7323f60b56c1773a1d1c575e1a4266befdf05f95471e2514c2e4a4ad6d4e5ce9fe88203fc0551ff5bdf 13SHA512 (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = c9f83f814c8cceaea9645dd082d742cdf972738a79d0d7323f60b56c1773a1d1c575e1a4266befdf05f95471e2514c2e4a4ad6d4e5ce9fe88203fc0551ff5bdf
14Size (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = 261603321 bytes 14Size (rust-1.58.1-aarch64_be-unknown-netbsd.tar.gz) = 261603321 bytes
@@ -98,38 +98,43 @@ SHA512 (rust-std-1.58.1-x86_64-unknown-l @@ -98,38 +98,43 @@ SHA512 (rust-std-1.58.1-x86_64-unknown-l
98Size (rust-std-1.58.1-x86_64-unknown-linux-gnu.tar.gz) = 41281398 bytes 98Size (rust-std-1.58.1-x86_64-unknown-linux-gnu.tar.gz) = 41281398 bytes
99BLAKE2s (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = 36c6f44794b84380f58e6b4ba93c848cac967eb80d9172e566866c5a93b40ae6 99BLAKE2s (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = 36c6f44794b84380f58e6b4ba93c848cac967eb80d9172e566866c5a93b40ae6
100SHA512 (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = ca533183f4bf8996adcc6390184f717e93450b99860abc89c4825a4eb202e5abe7ae20dc3c05efdabe85d31a258d4f5742c11c6560a426aef4aef2afaa642573 100SHA512 (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = ca533183f4bf8996adcc6390184f717e93450b99860abc89c4825a4eb202e5abe7ae20dc3c05efdabe85d31a258d4f5742c11c6560a426aef4aef2afaa642573
101Size (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = 37143711 bytes 101Size (rust-std-1.58.1-x86_64-unknown-netbsd.tar.gz) = 37143711 bytes
102BLAKE2s (rustc-1.59.0-src.tar.gz) = f9d35a32c9219a816aa11575d45ea3ead87c5c8d10fe4677119fb8114094dd6b 102BLAKE2s (rustc-1.59.0-src.tar.gz) = f9d35a32c9219a816aa11575d45ea3ead87c5c8d10fe4677119fb8114094dd6b
103SHA512 (rustc-1.59.0-src.tar.gz) = 77e02226785e964750c89b8f27d6ee0546990919b8066889043145093b733e80edecb1fd81ae068e03943ded4692f28b2866cdaa8240a23f68968c235b0d1f8e 103SHA512 (rustc-1.59.0-src.tar.gz) = 77e02226785e964750c89b8f27d6ee0546990919b8066889043145093b733e80edecb1fd81ae068e03943ded4692f28b2866cdaa8240a23f68968c235b0d1f8e
104Size (rustc-1.59.0-src.tar.gz) = 190229590 bytes 104Size (rustc-1.59.0-src.tar.gz) = 190229590 bytes
105SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = a9a891b9c507958354fb819587d6d4b31ff83ce6 105SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = a9a891b9c507958354fb819587d6d4b31ff83ce6
106SHA1 (patch-compiler_rustc__llvm_build.rs) = 73f8225f6dea809da9381d78a8099d13c7c151c0 106SHA1 (patch-compiler_rustc__llvm_build.rs) = 73f8225f6dea809da9381d78a8099d13c7c151c0
107SHA1 (patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = acad7e2b0bbeb85f6453aeee74a0f2ca253d6a9b 107SHA1 (patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = acad7e2b0bbeb85f6453aeee74a0f2ca253d6a9b
108SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = efae710b37c089702802c3d5aa678d1cc5f88cc2 108SHA1 (patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs) = efae710b37c089702802c3d5aa678d1cc5f88cc2
109SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 8f1b5ced49fa66a646327a19f9eb0501fa2b01c7 109SHA1 (patch-compiler_rustc__target_src_spec_mod.rs) = 8f1b5ced49fa66a646327a19f9eb0501fa2b01c7
110SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 18e3cb9f32c4170679459b2c63c856abe0fac6a3 110SHA1 (patch-compiler_rustc__target_src_spec_netbsd__base.rs) = 18e3cb9f32c4170679459b2c63c856abe0fac6a3
 111SHA1 (patch-library_backtrace_src_symbolize_gimli.rs) = 94b6bf51fac39d3e28a261855fd747ad1e96b286
 112SHA1 (patch-library_backtrace_src_symbolize_gimli_elf.rs) = a22d78f12ebb25fe3e549ce86e363acc095635ae
111SHA1 (patch-library_std_src_sys_unix_mod.rs) = f8669d680f169137ac2891af2977909619366a97 113SHA1 (patch-library_std_src_sys_unix_mod.rs) = f8669d680f169137ac2891af2977909619366a97
112SHA1 (patch-library_std_src_sys_unix_thread.rs) = e5f661b3dd00058e874fe60cd89d9e919325e99b 114SHA1 (patch-library_std_src_sys_unix_thread.rs) = e5f661b3dd00058e874fe60cd89d9e919325e99b
113SHA1 (patch-library_unwind_build.rs) = df092d5c07fa0be63a9510f1d6a77e5094ca3b15 115SHA1 (patch-library_unwind_build.rs) = df092d5c07fa0be63a9510f1d6a77e5094ca3b15
114SHA1 (patch-src_bootstrap_bootstrap.py) = 84af2ffa57ae1b68d12c6b9d3ce181a13576992c 116SHA1 (patch-src_bootstrap_bootstrap.py) = 84af2ffa57ae1b68d12c6b9d3ce181a13576992c
115SHA1 (patch-src_bootstrap_builder.rs) = bddcd392de816b69f5e1a13c2b6423b95387da39 117SHA1 (patch-src_bootstrap_builder.rs) = bddcd392de816b69f5e1a13c2b6423b95387da39
116SHA1 (patch-src_bootstrap_compile.rs) = c57799aee9c12603f5e6a13cb6b5befc8f96b4b6 118SHA1 (patch-src_bootstrap_compile.rs) = c57799aee9c12603f5e6a13cb6b5befc8f96b4b6
117SHA1 (patch-src_bootstrap_lib.rs) = f6918e0939b6fe63ae9b524d4c809375149efb15 119SHA1 (patch-src_bootstrap_lib.rs) = f6918e0939b6fe63ae9b524d4c809375149efb15
118SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37 120SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = 7abfabb6ec70df229a69355f8c76825610165c37
119SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 67de0d9fc105ef7ea7a0d96fa25fc779c2b89024 121SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 67de0d9fc105ef7ea7a0d96fa25fc779c2b89024
120SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1 122SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = cb011fc19957883c01725797f7c85ed1b20f96f1
121SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 26982203916ad601599c7a3e05867e4dad742ae1 123SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 26982203916ad601599c7a3e05867e4dad742ae1
122SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15 124SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2587c2f4d11ad8f75bf8a16de625135b26bacc15
123SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = dc9b405b41882bc7c74e08b8188acab3d4aed4ad 125SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = dc9b405b41882bc7c74e08b8188acab3d4aed4ad
124SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906 126SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906
125SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = 8174664b7bce2e60e690bc20ab688606b60c55dc 127SHA1 (patch-src_tools_rls_rls_src_cmd.rs) = 8174664b7bce2e60e690bc20ab688606b60c55dc
126SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 5236eda97fa686b5661e4e5832102e2f010def7b 128SHA1 (patch-src_tools_rls_rls_src_server_io.rs) = 5236eda97fa686b5661e4e5832102e2f010def7b
127SHA1 (patch-src_tools_rust-installer_install-template.sh) = ca769db07986ded26d92957e1055961895def546 129SHA1 (patch-src_tools_rust-installer_install-template.sh) = ca769db07986ded26d92957e1055961895def546
 130SHA1 (patch-vendor_backtrace_src_symbolize_gimli.rs) = c5f4217146483389fe664c8cbe70796ca601ab4d
 131SHA1 (patch-vendor_backtrace_src_symbolize_gimli_elf.rs) = 9527dd4e72f951f55f31a87bdef803fc5d252b38
128SHA1 (patch-vendor_cc_src_lib.rs) = 2f6b0ad800b31cd33334f194651981491ecf7641 132SHA1 (patch-vendor_cc_src_lib.rs) = 2f6b0ad800b31cd33334f194651981491ecf7641
 133SHA1 (patch-vendor_libc-0.2.108_src_unix_bsd_netbsdlike_netbsd_mod.rs) = a75d2729b96bd8a68c3ecf2e03f2daace737a229
129SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 8364e19ea09203d32494c37ff3db19fe3d6b9d8a 134SHA1 (patch-vendor_libc_src_unix_solarish_mod.rs) = 8364e19ea09203d32494c37ff3db19fe3d6b9d8a
130SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437 135SHA1 (patch-vendor_lzma-sys_config.h) = b654c7e129fa02697734bc87173f89b3056a5437
131SHA1 (patch-vendor_openssl-src_src_lib.rs) = e62697daa7e7fa3d7b89f338c3a26066b93d7b34 136SHA1 (patch-vendor_openssl-src_src_lib.rs) = e62697daa7e7fa3d7b89f338c3a26066b93d7b34
132SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7 137SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs) = 4e86aec4c89db9a331950a12f8ec7b8aaa50eed7
133SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_mod.rs) = 6abed2c934b546f9b92504e3db49f9bd63aa19f8 138SHA1 (patch-vendor_rustc-ap-rustc__target_src_spec_mod.rs) = 6abed2c934b546f9b92504e3db49f9bd63aa19f8
134SHA1 (patch-vendor_stacker_src_lib.rs) = e00a1e95eb16540ff182715db778bf97ebd07a5e 139SHA1 (patch-vendor_stacker_src_lib.rs) = e00a1e95eb16540ff182715db778bf97ebd07a5e
135SHA1 (patch-vendor_target-lexicon_src_targets.rs) = e0c67288516ff8d379d6d1e7b05d4ab86f9ac0a7 140SHA1 (patch-vendor_target-lexicon_src_targets.rs) = e0c67288516ff8d379d6d1e7b05d4ab86f9ac0a7

File Added: pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs
$NetBSD: patch-library_backtrace_src_symbolize_gimli.rs,v 1.1 2022/05/18 20:57:28 he Exp $

Do mmap also on NetBSD, and also do dl_iterate_phdr.

--- library/backtrace/src/symbolize/gimli.rs.orig	2022-02-23 04:07:36.000000000 +0000
+++ library/backtrace/src/symbolize/gimli.rs
@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
         target_os = "ios",
         target_os = "linux",
         target_os = "macos",
+        target_os = "netbsd",
         target_os = "openbsd",
         target_os = "solaris",
         target_os = "illumos",
@@ -177,6 +178,7 @@ cfg_if::cfg_if! {
             target_os = "linux",
             target_os = "fuchsia",
             target_os = "freebsd",
+            target_os = "netbsd",
             target_os = "openbsd",
             all(target_os = "android", feature = "dl_iterate_phdr"),
         ),

File Added: pkgsrc/lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs
$NetBSD: patch-library_backtrace_src_symbolize_gimli_elf.rs,v 1.1 2022/05/18 20:57:28 he Exp $

Make NetBSD also find its debug libraries, if present.

--- library/backtrace/src/symbolize/gimli/elf.rs.orig	2022-02-23 04:07:36.000000000 +0000
+++ library/backtrace/src/symbolize/gimli/elf.rs
@@ -276,11 +276,16 @@ fn decompress_zlib(input: &[u8], output:
     }
 }
 
+#[cfg(target_os = "netbsd")]
+const DEBUG_PATH: &[u8] = b"/usr/libdata/debug";
+#[cfg(any(target_os = "freebsd", target_os = "linux"))]
 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);
 

File Added: pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs
$NetBSD: patch-vendor_backtrace_src_symbolize_gimli.rs,v 1.1 2022/05/18 20:57:28 he Exp $

Do mmap and dl_iterate_phdr() on NetBSD as well.

--- vendor/backtrace/src/symbolize/gimli.rs.orig	2022-02-23 05:34:24.000000000 +0000
+++ vendor/backtrace/src/symbolize/gimli.rs
@@ -38,6 +38,7 @@ cfg_if::cfg_if! {
         target_os = "ios",
         target_os = "linux",
         target_os = "macos",
+        target_os = "netbsd",
         target_os = "openbsd",
         target_os = "solaris",
         target_os = "illumos",
@@ -177,6 +178,7 @@ cfg_if::cfg_if! {
             target_os = "linux",
             target_os = "fuchsia",
             target_os = "freebsd",
+            target_os = "netbsd",
             target_os = "openbsd",
             all(target_os = "android", feature = "dl_iterate_phdr"),
         ),

File Added: pkgsrc/lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs
$NetBSD: patch-vendor_backtrace_src_symbolize_gimli_elf.rs,v 1.1 2022/05/18 20:57:28 he Exp $

Make NetBSD also find its debug libraries, if present.

--- vendor/backtrace/src/symbolize/gimli/elf.rs.orig	2022-02-23 05:34:24.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(any(target_os = "freebsd", target_os = "linux"))]
 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);
 

File Added: pkgsrc/lang/rust/patches/Attic/patch-vendor_libc-0.2.108_src_unix_bsd_netbsdlike_netbsd_mod.rs
$NetBSD: patch-vendor_libc-0.2.108_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2022/05/18 20:57:28 he Exp $

Copy execinfo function definitions from openbsd's mod.rs.

--- vendor/libc-0.2.108/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2022-02-23 05:34:25.000000000 +0000
+++ vendor/libc-0.2.108/src/unix/bsd/netbsdlike/netbsd/mod.rs
@@ -2700,6 +2700,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;