git: cd98eb344896 - main - sysutils/freebsd-rustdate: new port

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Wed, 25 Sep 2024 06:30:20 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cd98eb34489646fd0a340bbaca9ba0088d6576a4

commit cd98eb34489646fd0a340bbaca9ba0088d6576a4
Author:     Matthew D. Fuller <fullermd@over-yonder.net>
AuthorDate: 2024-09-22 21:13:39 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2024-09-25 06:28:08 +0000

    sysutils/freebsd-rustdate: new port
    
    freebsd-rustdate is a reimplementation of freebsd-update.sh in rust.  It
    can fill all the basic roles of freebsd-update for binary upgrades of
    your FreeBSD system, and is much faster.
    
    WWW: https://rustdate.over-yonder.net/
    
    PR:             281598
    Event:          EuroBSDcon 2024
---
 sysutils/Makefile                         |   1 +
 sysutils/freebsd-rustdate/Makefile        |  35 +++
 sysutils/freebsd-rustdate/Makefile.crates | 225 +++++++++++++++
 sysutils/freebsd-rustdate/distinfo        | 453 ++++++++++++++++++++++++++++++
 sysutils/freebsd-rustdate/pkg-descr       |   5 +
 5 files changed, 719 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index c27a1e74b5fe..0f2236a64df5 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -432,6 +432,7 @@
     SUBDIR += frand
     SUBDIR += freebsd-bsdlabel
     SUBDIR += freebsd-fdisk
+    SUBDIR += freebsd-rustdate
     SUBDIR += freebsd-snapshot
     SUBDIR += freecolor
     SUBDIR += freedt
diff --git a/sysutils/freebsd-rustdate/Makefile b/sysutils/freebsd-rustdate/Makefile
new file mode 100644
index 000000000000..df5faaf16a6d
--- /dev/null
+++ b/sysutils/freebsd-rustdate/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	freebsd-rustdate
+DISTVERSION=	1.0.1
+CATEGORIES=	sysutils
+MASTER_SITES=	https://rustdate.over-yonder.net/dl/ \
+		https://distfiles.over-yonder.net/freebsd-rustdate/
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265703
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER=	fullermd@over-yonder.net
+COMMENT=	Faster freebsd-update replacement
+WWW=		https://rustdate.over-yonder.net/
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo ssl tar:xz
+
+PLIST_FILES=	bin/freebsd-rustdate \
+		etc/bash_completion.d/freebsd-rustdate.bash \
+		share/fish/completions/freebsd-rustdate.fish \
+		share/zsh/site-functions/_freebsd-rustdate
+
+post-install:
+	@${MKDIR} \
+		${STAGEDIR}${PREFIX}/etc/bash_completion.d \
+		${STAGEDIR}${PREFIX}/share/fish/completions \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions
+	${STAGEDIR}${PREFIX}/bin/freebsd-rustdate complete -s bash > \
+		${STAGEDIR}${PREFIX}/etc/bash_completion.d/freebsd-rustdate.bash
+	${STAGEDIR}${PREFIX}/bin/freebsd-rustdate complete -s fish > \
+		${STAGEDIR}${PREFIX}/share/fish/completions/freebsd-rustdate.fish
+	${STAGEDIR}${PREFIX}/bin/freebsd-rustdate complete -s zsh > \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions/_freebsd-rustdate
+
+.include <bsd.port.mk>
diff --git a/sysutils/freebsd-rustdate/Makefile.crates b/sysutils/freebsd-rustdate/Makefile.crates
new file mode 100644
index 000000000000..fe191a197e57
--- /dev/null
+++ b/sysutils/freebsd-rustdate/Makefile.crates
@@ -0,0 +1,225 @@
+CARGO_CRATES=	addr2line-0.24.1 \
+		adler2-2.0.0 \
+		android-tzdata-0.1.1 \
+		android_system_properties-0.1.5 \
+		anstream-0.6.15 \
+		anstyle-1.0.8 \
+		anstyle-parse-0.2.5 \
+		anstyle-query-1.1.1 \
+		anstyle-wincon-3.0.4 \
+		anyhow-1.0.89 \
+		async-trait-0.1.82 \
+		autocfg-1.3.0 \
+		backtrace-0.3.74 \
+		base16ct-0.2.0 \
+		base64-0.22.1 \
+		bitflags-2.6.0 \
+		block-buffer-0.10.4 \
+		bumpalo-3.16.0 \
+		byteorder-1.5.0 \
+		bytes-1.7.2 \
+		bzip2-0.4.4 \
+		bzip2-sys-0.1.11+1.0.8 \
+		cc-1.1.21 \
+		cdivsufsort-2.0.0 \
+		cfg-if-1.0.0 \
+		chrono-0.4.38 \
+		clap-4.5.17 \
+		clap_builder-4.5.17 \
+		clap_complete-4.5.28 \
+		clap_derive-4.5.13 \
+		clap_lex-0.7.2 \
+		colorchoice-1.0.2 \
+		console-0.15.8 \
+		core-foundation-sys-0.8.7 \
+		cpufeatures-0.2.14 \
+		crc32fast-1.4.2 \
+		crossbeam-0.8.4 \
+		crossbeam-channel-0.5.13 \
+		crossbeam-deque-0.8.5 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-queue-0.3.11 \
+		crossbeam-utils-0.8.20 \
+		crypto-common-0.1.6 \
+		darling-0.20.10 \
+		darling_core-0.20.10 \
+		darling_macro-0.20.10 \
+		data-encoding-2.6.0 \
+		deranged-0.3.11 \
+		diffy-0.4.0 \
+		digest-0.10.7 \
+		edit-0.1.5 \
+		educe-0.6.0 \
+		either-1.13.0 \
+		encode_unicode-0.3.6 \
+		enum-as-inner-0.6.1 \
+		enum-ordinalize-4.3.0 \
+		enum-ordinalize-derive-4.3.1 \
+		equivalent-1.0.1 \
+		errno-0.3.9 \
+		fastrand-2.1.1 \
+		flate2-1.0.33 \
+		fnv-1.0.7 \
+		foreign-types-0.3.2 \
+		foreign-types-shared-0.1.1 \
+		form_urlencoded-1.2.1 \
+		futures-channel-0.3.30 \
+		futures-core-0.3.30 \
+		futures-io-0.3.30 \
+		futures-task-0.3.30 \
+		futures-util-0.3.30 \
+		generic-array-0.14.7 \
+		getrandom-0.2.15 \
+		gimli-0.31.0 \
+		hashbrown-0.12.3 \
+		hashbrown-0.14.5 \
+		heck-0.5.0 \
+		hermit-abi-0.3.9 \
+		hex-0.4.3 \
+		hickory-proto-0.24.1 \
+		hickory-resolver-0.24.1 \
+		home-0.5.9 \
+		hostname-0.3.1 \
+		hostname-0.4.0 \
+		iana-time-zone-0.1.61 \
+		iana-time-zone-haiku-0.1.2 \
+		ident_case-1.0.1 \
+		idna-0.4.0 \
+		idna-0.5.0 \
+		indexmap-1.9.3 \
+		indexmap-2.5.0 \
+		indicatif-0.17.8 \
+		instant-0.1.13 \
+		ipconfig-0.3.2 \
+		ipnet-2.10.0 \
+		is_terminal_polyfill-1.70.1 \
+		itertools-0.13.0 \
+		itoa-1.0.11 \
+		js-sys-0.3.70 \
+		lazy_static-1.5.0 \
+		libc-0.2.158 \
+		linked-hash-map-0.5.6 \
+		linux-raw-sys-0.4.14 \
+		lock_api-0.4.12 \
+		log-0.4.22 \
+		lru-cache-0.1.2 \
+		match_cfg-0.1.0 \
+		memchr-2.7.4 \
+		miniz_oxide-0.8.0 \
+		mio-1.0.2 \
+		nu-ansi-term-0.50.1 \
+		num-conv-0.1.0 \
+		num-traits-0.2.19 \
+		number_prefix-0.4.0 \
+		object-0.36.4 \
+		once_cell-1.19.0 \
+		openssl-0.10.66 \
+		openssl-macros-0.1.1 \
+		openssl-sys-0.9.103 \
+		parking_lot-0.12.3 \
+		parking_lot_core-0.9.10 \
+		percent-encoding-2.3.1 \
+		pin-project-lite-0.2.14 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.30 \
+		portable-atomic-1.7.0 \
+		powerfmt-0.2.0 \
+		ppv-lite86-0.2.20 \
+		proc-macro2-1.0.86 \
+		qbsdiff-1.4.2 \
+		quick-error-1.2.3 \
+		quote-1.0.37 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		rand_pcg-0.3.1 \
+		rayon-1.10.0 \
+		rayon-core-1.12.1 \
+		redox_syscall-0.5.4 \
+		regex-lite-0.1.6 \
+		resolv-conf-0.7.0 \
+		rustc-demangle-0.1.24 \
+		rustix-0.38.37 \
+		rustversion-1.0.17 \
+		ryu-1.0.18 \
+		sacabase-2.0.0 \
+		same-file-1.0.6 \
+		scopeguard-1.2.0 \
+		serde-1.0.210 \
+		serde_derive-1.0.210 \
+		serde_json-1.0.128 \
+		serde_with-3.9.0 \
+		serde_with_macros-3.9.0 \
+		sha2-0.10.8 \
+		shlex-1.3.0 \
+		slab-0.4.9 \
+		smallvec-1.13.2 \
+		socket2-0.5.7 \
+		strsim-0.11.1 \
+		strum-0.26.3 \
+		strum_macros-0.26.4 \
+		suffix_array-0.5.0 \
+		syn-2.0.77 \
+		sysctl-0.5.5 \
+		tempfile-3.12.0 \
+		terminal_size-0.3.0 \
+		thiserror-1.0.63 \
+		thiserror-impl-1.0.63 \
+		time-0.3.36 \
+		time-core-0.1.2 \
+		time-macros-0.2.18 \
+		tinyvec-1.8.0 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.40.0 \
+		tracing-0.1.40 \
+		tracing-attributes-0.1.27 \
+		tracing-core-0.1.32 \
+		typenum-1.17.0 \
+		unicode-bidi-0.3.15 \
+		unicode-ident-1.0.13 \
+		unicode-normalization-0.1.24 \
+		unicode-width-0.1.14 \
+		ureq-2.10.1 \
+		url-2.5.2 \
+		utf8parse-0.2.2 \
+		uzers-0.12.1 \
+		vcpkg-0.2.15 \
+		version_check-0.9.5 \
+		walkdir-2.5.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.93 \
+		wasm-bindgen-backend-0.2.93 \
+		wasm-bindgen-macro-0.2.93 \
+		wasm-bindgen-macro-support-0.2.93 \
+		wasm-bindgen-shared-0.2.93 \
+		which-4.4.2 \
+		widestring-1.1.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.9 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.52.0 \
+		windows-core-0.52.0 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-sys-0.59.0 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.6 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.6 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.6 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.6 \
+		windows_i686_gnullvm-0.52.6 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.6 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.6 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.6 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.6 \
+		winreg-0.50.0 \
+		zerocopy-0.7.35 \
+		zerocopy-derive-0.7.35
diff --git a/sysutils/freebsd-rustdate/distinfo b/sysutils/freebsd-rustdate/distinfo
new file mode 100644
index 000000000000..82177b71cb96
--- /dev/null
+++ b/sysutils/freebsd-rustdate/distinfo
@@ -0,0 +1,453 @@
+TIMESTAMP = 1727039519
+SHA256 (freebsd-rustdate-1.0.1.tar.xz) = 8ae7fb86ce536fb195bc2c22ed634331d9a15d185683d5a638a5b0252620a3b8
+SIZE (freebsd-rustdate-1.0.1.tar.xz) = 120540
+SHA256 (rust/crates/addr2line-0.24.1.crate) = f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375
+SIZE (rust/crates/addr2line-0.24.1.crate) = 41554
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.15.crate) = 64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526
+SIZE (rust/crates/anstream-0.6.15.crate) = 29231
+SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1
+SIZE (rust/crates/anstyle-1.0.8.crate) = 15771
+SHA256 (rust/crates/anstyle-parse-0.2.5.crate) = eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb
+SIZE (rust/crates/anstyle-parse-0.2.5.crate) = 22680
+SHA256 (rust/crates/anstyle-query-1.1.1.crate) = 6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a
+SIZE (rust/crates/anstyle-query-1.1.1.crate) = 9891
+SHA256 (rust/crates/anstyle-wincon-3.0.4.crate) = 5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8
+SIZE (rust/crates/anstyle-wincon-3.0.4.crate) = 12234
+SHA256 (rust/crates/anyhow-1.0.89.crate) = 86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6
+SIZE (rust/crates/anyhow-1.0.89.crate) = 47078
+SHA256 (rust/crates/async-trait-0.1.82.crate) = a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1
+SIZE (rust/crates/async-trait-0.1.82.crate) = 28997
+SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
+SIZE (rust/crates/autocfg-1.3.0.crate) = 16524
+SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
+SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
+SHA256 (rust/crates/base16ct-0.2.0.crate) = 4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf
+SIZE (rust/crates/base16ct-0.2.0.crate) = 10240
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de
+SIZE (rust/crates/bitflags-2.6.0.crate) = 45357
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
+SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.7.2.crate) = 428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3
+SIZE (rust/crates/bytes-1.7.2.crate) = 64287
+SHA256 (rust/crates/bzip2-0.4.4.crate) = bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8
+SIZE (rust/crates/bzip2-0.4.4.crate) = 34197
+SHA256 (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc
+SIZE (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 633444
+SHA256 (rust/crates/cc-1.1.21.crate) = 07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0
+SIZE (rust/crates/cc-1.1.21.crate) = 83463
+SHA256 (rust/crates/cdivsufsort-2.0.0.crate) = edefce019197609da416762da75bb000bbd2224b2d89a7e722c2296cbff79b8c
+SIZE (rust/crates/cdivsufsort-2.0.0.crate) = 19881
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.38.crate) = a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401
+SIZE (rust/crates/chrono-0.4.38.crate) = 220559
+SHA256 (rust/crates/clap-4.5.17.crate) = 3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac
+SIZE (rust/crates/clap-4.5.17.crate) = 56802
+SHA256 (rust/crates/clap_builder-4.5.17.crate) = 8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73
+SIZE (rust/crates/clap_builder-4.5.17.crate) = 163559
+SHA256 (rust/crates/clap_complete-4.5.28.crate) = 9b378c786d3bde9442d2c6dd7e6080b2a818db2b96e30d6e7f1b6d224eb617d3
+SIZE (rust/crates/clap_complete-4.5.28.crate) = 46250
+SHA256 (rust/crates/clap_derive-4.5.13.crate) = 501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0
+SIZE (rust/crates/clap_derive-4.5.13.crate) = 30132
+SHA256 (rust/crates/clap_lex-0.7.2.crate) = 1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97
+SIZE (rust/crates/clap_lex-0.7.2.crate) = 12805
+SHA256 (rust/crates/colorchoice-1.0.2.crate) = d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0
+SIZE (rust/crates/colorchoice-1.0.2.crate) = 7924
+SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
+SIZE (rust/crates/console-0.15.8.crate) = 36364
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/cpufeatures-0.2.14.crate) = 608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0
+SIZE (rust/crates/cpufeatures-0.2.14.crate) = 13165
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/crossbeam-0.8.4.crate) = 1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8
+SIZE (rust/crates/crossbeam-0.8.4.crate) = 10500
+SHA256 (rust/crates/crossbeam-channel-0.5.13.crate) = 33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2
+SIZE (rust/crates/crossbeam-channel-0.5.13.crate) = 91174
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-queue-0.3.11.crate) = df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35
+SIZE (rust/crates/crossbeam-queue-0.3.11.crate) = 15581
+SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
+SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/darling-0.20.10.crate) = 6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989
+SIZE (rust/crates/darling-0.20.10.crate) = 32031
+SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5
+SIZE (rust/crates/darling_core-0.20.10.crate) = 65015
+SHA256 (rust/crates/darling_macro-0.20.10.crate) = d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806
+SIZE (rust/crates/darling_macro-0.20.10.crate) = 1874
+SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2
+SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/diffy-0.4.0.crate) = 5d3041965b7a63e70447ec818a46b1e5297f7fcae3058356d226c02750c4e6cb
+SIZE (rust/crates/diffy-0.4.0.crate) = 36252
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/edit-0.1.5.crate) = f364860e764787163c8c8f58231003839be31276e821e2ad2092ddf496b1aa09
+SIZE (rust/crates/edit-0.1.5.crate) = 9327
+SHA256 (rust/crates/educe-0.6.0.crate) = 1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417
+SIZE (rust/crates/educe-0.6.0.crate) = 47656
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
+SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
+SHA256 (rust/crates/enum-as-inner-0.6.1.crate) = a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc
+SIZE (rust/crates/enum-as-inner-0.6.1.crate) = 12190
+SHA256 (rust/crates/enum-ordinalize-4.3.0.crate) = fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5
+SIZE (rust/crates/enum-ordinalize-4.3.0.crate) = 3922
+SHA256 (rust/crates/enum-ordinalize-derive-4.3.1.crate) = 0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff
+SIZE (rust/crates/enum-ordinalize-derive-4.3.1.crate) = 7957
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.9.crate) = 534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba
+SIZE (rust/crates/errno-0.3.9.crate) = 10690
+SHA256 (rust/crates/fastrand-2.1.1.crate) = e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6
+SIZE (rust/crates/fastrand-2.1.1.crate) = 14983
+SHA256 (rust/crates/flate2-1.0.33.crate) = 324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253
+SIZE (rust/crates/flate2-1.0.33.crate) = 108838
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
+SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
+SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
+SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
+SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
+SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
+SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
+SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
+SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
+SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/gimli-0.31.0.crate) = 32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64
+SIZE (rust/crates/gimli-0.31.0.crate) = 278951
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
+SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hickory-proto-0.24.1.crate) = 07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512
+SIZE (rust/crates/hickory-proto-0.24.1.crate) = 374410
+SHA256 (rust/crates/hickory-resolver-0.24.1.crate) = 28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243
+SIZE (rust/crates/hickory-resolver-0.24.1.crate) = 91134
+SHA256 (rust/crates/home-0.5.9.crate) = e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5
+SIZE (rust/crates/home-0.5.9.crate) = 8760
+SHA256 (rust/crates/hostname-0.3.1.crate) = 3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867
+SIZE (rust/crates/hostname-0.3.1.crate) = 9272
+SHA256 (rust/crates/hostname-0.4.0.crate) = f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba
+SIZE (rust/crates/hostname-0.4.0.crate) = 10632
+SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220
+SIZE (rust/crates/iana-time-zone-0.1.61.crate) = 27685
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c
+SIZE (rust/crates/idna-0.4.0.crate) = 271429
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/indexmap-2.5.0.crate) = 68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5
+SIZE (rust/crates/indexmap-2.5.0.crate) = 85919
+SHA256 (rust/crates/indicatif-0.17.8.crate) = 763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3
+SIZE (rust/crates/indicatif-0.17.8.crate) = 64869
+SHA256 (rust/crates/instant-0.1.13.crate) = e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222
+SIZE (rust/crates/instant-0.1.13.crate) = 6305
+SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f
+SIZE (rust/crates/ipconfig-0.3.2.crate) = 24468
+SHA256 (rust/crates/ipnet-2.10.0.crate) = 187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4
+SIZE (rust/crates/ipnet-2.10.0.crate) = 28372
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
+SIZE (rust/crates/itertools-0.13.0.crate) = 146261
+SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b
+SIZE (rust/crates/itoa-1.0.11.crate) = 10563
+SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a
+SIZE (rust/crates/js-sys-0.3.70.crate) = 53863
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439
+SIZE (rust/crates/libc-0.2.158.crate) = 751340
+SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
+SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+SHA256 (rust/crates/linux-raw-sys-0.4.14.crate) = 78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89
+SIZE (rust/crates/linux-raw-sys-0.4.14.crate) = 1826665
+SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
+SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
+SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24
+SIZE (rust/crates/log-0.4.22.crate) = 44027
+SHA256 (rust/crates/lru-cache-0.1.2.crate) = 31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c
+SIZE (rust/crates/lru-cache-0.1.2.crate) = 9307
+SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
+SIZE (rust/crates/match_cfg-0.1.0.crate) = 7153
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/miniz_oxide-0.8.0.crate) = e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1
+SIZE (rust/crates/miniz_oxide-0.8.0.crate) = 56343
+SHA256 (rust/crates/mio-1.0.2.crate) = 80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec
+SIZE (rust/crates/mio-1.0.2.crate) = 102777
+SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
+SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
+SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
+SHA256 (rust/crates/object-0.36.4.crate) = 084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a
+SIZE (rust/crates/object-0.36.4.crate) = 325802
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/openssl-0.10.66.crate) = 9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1
+SIZE (rust/crates/openssl-0.10.66.crate) = 273705
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-sys-0.9.103.crate) = 7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6
+SIZE (rust/crates/openssl-sys-0.9.103.crate) = 71552
+SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
+SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860
+SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8
+SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02
+SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
+SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/portable-atomic-1.7.0.crate) = da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265
+SIZE (rust/crates/portable-atomic-1.7.0.crate) = 145385
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
+SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958
+SHA256 (rust/crates/qbsdiff-1.4.2.crate) = 36d77c1e6997a14428f103e2d003a6e41c9cd149a8509d26b4a76b5e912fbe58
+SIZE (rust/crates/qbsdiff-1.4.2.crate) = 21242
+SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
+SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
+SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af
+SIZE (rust/crates/quote-1.0.37.crate) = 28558
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_pcg-0.3.1.crate) = 59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e
+SIZE (rust/crates/rand_pcg-0.3.1.crate) = 11983
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/redox_syscall-0.5.4.crate) = 0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853
+SIZE (rust/crates/redox_syscall-0.5.4.crate) = 25977
+SHA256 (rust/crates/regex-lite-0.1.6.crate) = 53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a
+SIZE (rust/crates/regex-lite-0.1.6.crate) = 95278
+SHA256 (rust/crates/resolv-conf-0.7.0.crate) = 52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00
+SIZE (rust/crates/resolv-conf-0.7.0.crate) = 17352
+SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
+SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
+SHA256 (rust/crates/rustix-0.38.37.crate) = 8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811
+SIZE (rust/crates/rustix-0.38.37.crate) = 371243
+SHA256 (rust/crates/rustversion-1.0.17.crate) = 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6
+SIZE (rust/crates/rustversion-1.0.17.crate) = 17621
+SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
+SIZE (rust/crates/ryu-1.0.18.crate) = 47713
+SHA256 (rust/crates/sacabase-2.0.0.crate) = 9883fc3d6ce3d78bb54d908602f8bc1f7b5f983afe601dabe083009d86267a84
+SIZE (rust/crates/sacabase-2.0.0.crate) = 2399
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a
+SIZE (rust/crates/serde-1.0.210.crate) = 78338
+SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f
+SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020
+SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8
+SIZE (rust/crates/serde_json-1.0.128.crate) = 149520
+SHA256 (rust/crates/serde_with-3.9.0.crate) = 69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857
+SIZE (rust/crates/serde_with-3.9.0.crate) = 145089
+SHA256 (rust/crates/serde_with_macros-3.9.0.crate) = a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350
+SIZE (rust/crates/serde_with_macros-3.9.0.crate) = 30865
+SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
+SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
+SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/socket2-0.5.7.crate) = ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c
+SIZE (rust/crates/socket2-0.5.7.crate) = 55758
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06
+SIZE (rust/crates/strum-0.26.3.crate) = 7237
+SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
+SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
+SHA256 (rust/crates/suffix_array-0.5.0.crate) = 907d9ca9637a22e3a7d7c7818f6105a7898857359e187ad3325d986684b9ec3f
+SIZE (rust/crates/suffix_array-0.5.0.crate) = 11026
+SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed
+SIZE (rust/crates/syn-2.0.77.crate) = 268784
+SHA256 (rust/crates/sysctl-0.5.5.crate) = ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea
+SIZE (rust/crates/sysctl-0.5.5.crate) = 18414
+SHA256 (rust/crates/tempfile-3.12.0.crate) = 04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64
+SIZE (rust/crates/tempfile-3.12.0.crate) = 34423
+SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7
+SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096
+SHA256 (rust/crates/thiserror-1.0.63.crate) = c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724
+SIZE (rust/crates/thiserror-1.0.63.crate) = 21537
+SHA256 (rust/crates/thiserror-impl-1.0.63.crate) = a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261
+SIZE (rust/crates/thiserror-impl-1.0.63.crate) = 16047
+SHA256 (rust/crates/time-0.3.36.crate) = 5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885
+SIZE (rust/crates/time-0.3.36.crate) = 119805
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.18.crate) = 3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf
+SIZE (rust/crates/time-macros-0.2.18.crate) = 24361
+SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938
+SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.40.0.crate) = e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998
+SIZE (rust/crates/tokio-1.40.0.crate) = 789848
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
+SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
+SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe
+SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279
+SHA256 (rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956
+SIZE (rust/crates/unicode-normalization-0.1.24.crate) = 126536
+SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af
+SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615
+SHA256 (rust/crates/ureq-2.10.1.crate) = b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a
+SIZE (rust/crates/ureq-2.10.1.crate) = 113163
+SHA256 (rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c
+SIZE (rust/crates/url-2.5.2.crate) = 79704
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/uzers-0.12.1.crate) = 4df81ff504e7d82ad53e95ed1ad5b72103c11253f39238bcc0235b90768a97dd
+SIZE (rust/crates/uzers-0.12.1.crate) = 29272
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5
+SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b
+SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf
+SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484
+SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527
+SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7
+SIZE (rust/crates/which-4.4.2.crate) = 15953
+SHA256 (rust/crates/widestring-1.1.0.crate) = 7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311
+SIZE (rust/crates/widestring-1.1.0.crate) = 85046
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
+SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-0.52.0.crate) = e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be
+SIZE (rust/crates/windows-0.52.0.crate) = 11843715
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
+SIZE (rust/crates/winreg-0.50.0.crate) = 29703
+SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
+SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
+SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
diff --git a/sysutils/freebsd-rustdate/pkg-descr b/sysutils/freebsd-rustdate/pkg-descr
new file mode 100644
index 000000000000..9b042ace57ce
--- /dev/null
+++ b/sysutils/freebsd-rustdate/pkg-descr
@@ -0,0 +1,5 @@
+freebsd-rustdate is a reimplementation of freebsd-update.sh.  It's
+significantly faster (often by an order of magnitude or more), hopefully
+more maintainable, and has a few extra features.  It's close to drop-in
+compatible for most simple uses, but online help or the website should be
+consulted for details.