git: 2846450082cc - main - net/gdrive: ressurect port and update to the successor

From: Koichiro Iwao <meta_at_FreeBSD.org>
Date: Mon, 02 Dec 2024 14:12:30 UTC
The branch main has been updated by meta:

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

commit 2846450082cc7df0032cd5edc02845ee29dbf8b9
Author:     Koichiro Iwao <meta@FreeBSD.org>
AuthorDate: 2024-12-02 07:56:15 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2024-12-02 14:10:06 +0000

    net/gdrive: ressurect port and update to the successor
    
    WWW: https://github.com/glotlabs/gdrive
---
 MOVED                  |   1 -
 UPDATING               |  13 ++
 net/Makefile           |   1 +
 net/gdrive/Makefile    | 214 ++++++++++++++++++++++++++++
 net/gdrive/distinfo    | 377 +++++++++++++++++++++++++++++++++++++++++++++++++
 net/gdrive/pkg-descr   |   6 +
 net/gdrive/pkg-message |  13 ++
 7 files changed, 624 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index 01adcf992a79..45cec6369b23 100644
--- a/MOVED
+++ b/MOVED
@@ -3740,7 +3740,6 @@ www/npapi-xine||2024-11-30|Has expired: NPAPI support was removed in browsers ye
 net/shadowsocks-libev|net/shadowsocks-rust|2024-11-30|Has expired: Abandonware, no active development. Please migrate to net/shadowsocks-rust
 sysutils/fusefs-fusepak||2024-11-30|Has expired: Upstream is no longer around
 sysutils/fusefs-funionfs||2024-11-30|Has expired: Upstream is no longer around
-net/gdrive||2024-11-30|Has expired: Abandonware, upstream repo archived Apr 19, 2023
 sysutils/cloudabi-utils||2024-11-30|Removed, part of expired devel/cloudabi
 devel/cloudabi-toolchain||2024-11-30|Has expired: Unmaintained upstream since 2020
 devel/cloudabi||2024-11-30|Has expired: Unmaintained upstream since 2020
diff --git a/UPDATING b/UPDATING
index 2579fb6c559f..d4091b00eaac 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,19 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20241202:
+  AFFECTS: users of net/gdrive
+  AUTHOR: meta@FreeBSD.org
+
+  The port net/gdrive has been updated to its successor product because
+  the original upstream GitHub repo has been unmaintained & archived.
+
+  Users upgrading from gdrive 2.x to 3.x need to reconfigure account
+  credentials following the instructions provided by new upstream.
+
+  - https://github.com/glotlabs/gdrive/blob/main/docs/basic_usage.md
+  - https://github.com/glotlabs/gdrive/blob/main/docs/create_google_api_credentials.md
+
 20241122
   AFFECTS: users of databases/couchdb3
   AUTHOR: dch@FreeBSD.org
diff --git a/net/Makefile b/net/Makefile
index e0094e79e418..084228eb7433 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -179,6 +179,7 @@
     SUBDIR += fspd
     SUBDIR += fsplib
     SUBDIR += gamenetworkingsockets
+    SUBDIR += gdrive
     SUBDIR += gemserv
     SUBDIR += geoclue
     SUBDIR += geocode-glib
diff --git a/net/gdrive/Makefile b/net/gdrive/Makefile
new file mode 100644
index 000000000000..63bb3c47f8db
--- /dev/null
+++ b/net/gdrive/Makefile
@@ -0,0 +1,214 @@
+PORTNAME=	gdrive
+DISTVERSION=	3.9.1
+CATEGORIES=	net
+
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+
+MAINTAINER=	meta@FreeBSD.org
+COMMENT=	Google Drive CLI Client
+WWW=		https://github.com/glotlabs/gdrive
+
+LICENSE=	MIT
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	glotlabs
+
+CARGO_CRATES=	android_system_properties-0.1.5 \
+		anyhow-1.0.68 \
+		async-recursion-1.0.2 \
+		async-trait-0.1.61 \
+		autocfg-1.1.0 \
+		base64-0.13.1 \
+		base64-0.21.0 \
+		bitflags-1.3.2 \
+		bumpalo-3.11.1 \
+		bytes-1.3.0 \
+		cc-1.0.78 \
+		cfg-if-1.0.0 \
+		chrono-0.4.23 \
+		clap-4.0.32 \
+		clap_derive-4.0.21 \
+		clap_lex-0.3.0 \
+		codespan-reporting-0.11.1 \
+		core-foundation-0.9.3 \
+		core-foundation-sys-0.8.3 \
+		cxx-1.0.86 \
+		cxx-build-1.0.86 \
+		cxxbridge-flags-1.0.86 \
+		cxxbridge-macro-1.0.86 \
+		darling-0.14.2 \
+		darling_core-0.14.2 \
+		darling_macro-0.14.2 \
+		either-1.8.0 \
+		errno-0.2.8 \
+		errno-dragonfly-0.1.2 \
+		exponential-backoff-1.1.0 \
+		fastrand-1.8.0 \
+		filetime-0.2.19 \
+		fnv-1.0.7 \
+		form_urlencoded-1.1.0 \
+		futures-0.3.25 \
+		futures-channel-0.3.25 \
+		futures-core-0.3.25 \
+		futures-executor-0.3.25 \
+		futures-io-0.3.25 \
+		futures-macro-0.3.25 \
+		futures-sink-0.3.25 \
+		futures-task-0.3.25 \
+		futures-util-0.3.25 \
+		getrandom-0.1.16 \
+		getrandom-0.2.9 \
+		h2-0.3.15 \
+		hashbrown-0.12.3 \
+		heck-0.4.0 \
+		hermit-abi-0.2.6 \
+		hex-0.4.3 \
+		home-0.5.4 \
+		http-0.2.8 \
+		http-body-0.4.5 \
+		httparse-1.8.0 \
+		httpdate-1.0.2 \
+		human_bytes-0.4.1 \
+		hyper-0.14.23 \
+		hyper-rustls-0.23.2 \
+		iana-time-zone-0.1.53 \
+		iana-time-zone-haiku-0.1.1 \
+		ident_case-1.0.1 \
+		idna-0.1.5 \
+		idna-0.3.0 \
+		indexmap-1.9.2 \
+		instant-0.1.12 \
+		io-lifetimes-1.0.3 \
+		is-terminal-0.4.2 \
+		itertools-0.10.5 \
+		itoa-1.0.5 \
+		js-sys-0.3.60 \
+		libc-0.2.139 \
+		link-cplusplus-1.0.8 \
+		linux-raw-sys-0.1.4 \
+		lock_api-0.4.9 \
+		log-0.4.17 \
+		matches-0.1.9 \
+		md5-0.7.0 \
+		memchr-2.5.0 \
+		mime-0.3.16 \
+		mime_guess-2.0.4 \
+		mio-0.8.5 \
+		mktemp-0.5.0 \
+		num-integer-0.1.45 \
+		num-traits-0.2.15 \
+		num_cpus-1.15.0 \
+		num_threads-0.1.6 \
+		once_cell-1.17.0 \
+		openssl-probe-0.1.5 \
+		os_str_bytes-6.4.1 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.5 \
+		percent-encoding-1.0.1 \
+		percent-encoding-2.2.0 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		ppv-lite86-0.2.17 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.49 \
+		quote-1.0.23 \
+		rand-0.7.3 \
+		rand_chacha-0.2.2 \
+		rand_core-0.5.1 \
+		rand_hc-0.2.0 \
+		redox_syscall-0.2.16 \
+		remove_dir_all-0.5.3 \
+		ring-0.16.20 \
+		rustc_version-0.2.3 \
+		rustc_version_runtime-0.2.1 \
+		rustix-0.36.6 \
+		rustls-0.20.7 \
+		rustls-native-certs-0.6.2 \
+		rustls-pemfile-1.0.2 \
+		ryu-1.0.12 \
+		schannel-0.1.21 \
+		scopeguard-1.1.0 \
+		scratch-1.0.3 \
+		sct-0.7.0 \
+		seahash-4.1.0 \
+		security-framework-2.7.0 \
+		security-framework-sys-2.6.1 \
+		semver-0.9.0 \
+		semver-parser-0.7.0 \
+		serde-1.0.152 \
+		serde_derive-1.0.152 \
+		serde_json-1.0.91 \
+		serde_with-2.2.0 \
+		serde_with_macros-2.2.0 \
+		signal-hook-registry-1.4.0 \
+		slab-0.4.7 \
+		smallvec-1.10.0 \
+		socket2-0.4.7 \
+		spin-0.5.2 \
+		strsim-0.10.0 \
+		syn-1.0.107 \
+		tabwriter-1.2.1 \
+		tar-0.4.38 \
+		tempfile-3.3.0 \
+		termcolor-1.1.3 \
+		time-0.3.17 \
+		time-core-0.1.0 \
+		time-macros-0.2.6 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.0 \
+		tokio-1.24.1 \
+		tokio-macros-1.8.2 \
+		tokio-rustls-0.23.4 \
+		tokio-util-0.7.4 \
+		tower-service-0.3.2 \
+		tracing-0.1.37 \
+		tracing-core-0.1.30 \
+		try-lock-0.2.4 \
+		unicase-2.6.0 \
+		unicode-bidi-0.3.8 \
+		unicode-ident-1.0.6 \
+		unicode-normalization-0.1.22 \
+		unicode-width-0.1.10 \
+		untrusted-0.7.1 \
+		url-1.7.2 \
+		url-2.3.1 \
+		uuid-1.2.2 \
+		version_check-0.9.4 \
+		want-0.3.0 \
+		wasi-0.9.0+wasi-snapshot-preview1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.83 \
+		wasm-bindgen-backend-0.2.83 \
+		wasm-bindgen-macro-0.2.83 \
+		wasm-bindgen-macro-support-0.2.83 \
+		wasm-bindgen-shared-0.2.83 \
+		web-sys-0.3.60 \
+		webpki-0.22.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.42.0 \
+		windows_aarch64_gnullvm-0.42.0 \
+		windows_aarch64_msvc-0.42.0 \
+		windows_i686_gnu-0.42.0 \
+		windows_i686_msvc-0.42.0 \
+		windows_x86_64_gnu-0.42.0 \
+		windows_x86_64_gnullvm-0.42.0 \
+		windows_x86_64_msvc-0.42.0 \
+		xattr-0.2.3 \
+		yup-oauth2-8.1.0 \
+		google-apis-common,google-drive3@git+https://github.com/prasmussen/google-apis-rs?branch=resumable-fix\#1f75444516a3bbba3441ee6ff65d6aa0f2d2f1af
+
+OPTIONS_DEFINE=	DOCS
+
+PLIST_FILES=	bin/gdrive
+PORTDOCS=	README.md
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/net/gdrive/distinfo b/net/gdrive/distinfo
new file mode 100644
index 000000000000..8f06628ee5d8
--- /dev/null
+++ b/net/gdrive/distinfo
@@ -0,0 +1,377 @@
+TIMESTAMP = 1733125270
+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/anyhow-1.0.68.crate) = 2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61
+SIZE (rust/crates/anyhow-1.0.68.crate) = 43882
+SHA256 (rust/crates/async-recursion-1.0.2.crate) = 3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796
+SIZE (rust/crates/async-recursion-1.0.2.crate) = 11383
+SHA256 (rust/crates/async-trait-0.1.61.crate) = 705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282
+SIZE (rust/crates/async-trait-0.1.61.crate) = 27660
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64-0.21.0.crate) = a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a
+SIZE (rust/crates/base64-0.21.0.crate) = 72180
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bumpalo-3.11.1.crate) = 572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba
+SIZE (rust/crates/bumpalo-3.11.1.crate) = 81207
+SHA256 (rust/crates/bytes-1.3.0.crate) = dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c
+SIZE (rust/crates/bytes-1.3.0.crate) = 57563
+SHA256 (rust/crates/cc-1.0.78.crate) = a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d
+SIZE (rust/crates/cc-1.0.78.crate) = 61375
+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.23.crate) = 16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f
+SIZE (rust/crates/chrono-0.4.23.crate) = 187259
+SHA256 (rust/crates/clap-4.0.32.crate) = a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39
+SIZE (rust/crates/clap-4.0.32.crate) = 207531
+SHA256 (rust/crates/clap_derive-4.0.21.crate) = 0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014
+SIZE (rust/crates/clap_derive-4.0.21.crate) = 27567
+SHA256 (rust/crates/clap_lex-0.3.0.crate) = 0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8
+SIZE (rust/crates/clap_lex-0.3.0.crate) = 9671
+SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
+SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+SHA256 (rust/crates/core-foundation-0.9.3.crate) = 194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146
+SIZE (rust/crates/core-foundation-0.9.3.crate) = 27059
+SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
+SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
+SHA256 (rust/crates/cxx-1.0.86.crate) = 51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579
+SIZE (rust/crates/cxx-1.0.86.crate) = 589122
+SHA256 (rust/crates/cxx-build-1.0.86.crate) = 5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70
+SIZE (rust/crates/cxx-build-1.0.86.crate) = 84425
+SHA256 (rust/crates/cxxbridge-flags-1.0.86.crate) = 61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c
+SIZE (rust/crates/cxxbridge-flags-1.0.86.crate) = 5251
+SHA256 (rust/crates/cxxbridge-macro-1.0.86.crate) = 39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5
+SIZE (rust/crates/cxxbridge-macro-1.0.86.crate) = 59474
+SHA256 (rust/crates/darling-0.14.2.crate) = b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa
+SIZE (rust/crates/darling-0.14.2.crate) = 22141
+SHA256 (rust/crates/darling_core-0.14.2.crate) = a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f
+SIZE (rust/crates/darling_core-0.14.2.crate) = 53924
+SHA256 (rust/crates/darling_macro-0.14.2.crate) = 7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e
+SIZE (rust/crates/darling_macro-0.14.2.crate) = 1896
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/errno-0.2.8.crate) = f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1
+SIZE (rust/crates/errno-0.2.8.crate) = 9276
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/exponential-backoff-1.1.0.crate) = 851c5c1b202b7317c442c5f9c1f55f4cb6cb7e3dee875dd422d124c081a8da88
+SIZE (rust/crates/exponential-backoff-1.1.0.crate) = 10846
+SHA256 (rust/crates/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499
+SIZE (rust/crates/fastrand-1.8.0.crate) = 11369
+SHA256 (rust/crates/filetime-0.2.19.crate) = 4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9
+SIZE (rust/crates/filetime-0.2.19.crate) = 15028
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8
+SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734
+SHA256 (rust/crates/futures-0.3.25.crate) = 38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0
+SIZE (rust/crates/futures-0.3.25.crate) = 51664
+SHA256 (rust/crates/futures-channel-0.3.25.crate) = 52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed
+SIZE (rust/crates/futures-channel-0.3.25.crate) = 31974
+SHA256 (rust/crates/futures-core-0.3.25.crate) = 04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac
+SIZE (rust/crates/futures-core-0.3.25.crate) = 14623
+SHA256 (rust/crates/futures-executor-0.3.25.crate) = 7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2
+SIZE (rust/crates/futures-executor-0.3.25.crate) = 17744
+SHA256 (rust/crates/futures-io-0.3.25.crate) = 00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb
+SIZE (rust/crates/futures-io-0.3.25.crate) = 8911
+SHA256 (rust/crates/futures-macro-0.3.25.crate) = bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d
+SIZE (rust/crates/futures-macro-0.3.25.crate) = 11256
+SHA256 (rust/crates/futures-sink-0.3.25.crate) = 39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9
+SIZE (rust/crates/futures-sink-0.3.25.crate) = 7854
+SHA256 (rust/crates/futures-task-0.3.25.crate) = 2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea
+SIZE (rust/crates/futures-task-0.3.25.crate) = 11844
+SHA256 (rust/crates/futures-util-0.3.25.crate) = 197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6
+SIZE (rust/crates/futures-util-0.3.25.crate) = 155866
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/getrandom-0.2.9.crate) = c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4
+SIZE (rust/crates/getrandom-0.2.9.crate) = 34457
+SHA256 (rust/crates/h2-0.3.15.crate) = 5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4
+SIZE (rust/crates/h2-0.3.15.crate) = 162238
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
+SIZE (rust/crates/heck-0.4.0.crate) = 11161
+SHA256 (rust/crates/hermit-abi-0.2.6.crate) = ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7
+SIZE (rust/crates/hermit-abi-0.2.6.crate) = 13027
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/home-0.5.4.crate) = 747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408
+SIZE (rust/crates/home-0.5.4.crate) = 8538
+SHA256 (rust/crates/http-0.2.8.crate) = 75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399
+SIZE (rust/crates/http-0.2.8.crate) = 105591
+SHA256 (rust/crates/http-body-0.4.5.crate) = d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1
+SIZE (rust/crates/http-body-0.4.5.crate) = 9242
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.2.crate) = c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421
+SIZE (rust/crates/httpdate-1.0.2.crate) = 10673
+SHA256 (rust/crates/human_bytes-0.4.1.crate) = 39b528196c838e8b3da8b665e08c30958a6f2ede91d79f2ffcd0d4664b9c64eb
+SIZE (rust/crates/human_bytes-0.4.1.crate) = 6099
+SHA256 (rust/crates/hyper-0.14.23.crate) = 034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c
+SIZE (rust/crates/hyper-0.14.23.crate) = 186136
+SHA256 (rust/crates/hyper-rustls-0.23.2.crate) = 1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c
+SIZE (rust/crates/hyper-rustls-0.23.2.crate) = 30993
+SHA256 (rust/crates/iana-time-zone-0.1.53.crate) = 64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765
+SIZE (rust/crates/iana-time-zone-0.1.53.crate) = 20176
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca
+SIZE (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 7200
+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.1.5.crate) = 38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e
+SIZE (rust/crates/idna-0.1.5.crate) = 258735
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/indexmap-1.9.2.crate) = 1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399
+SIZE (rust/crates/indexmap-1.9.2.crate) = 54627
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/io-lifetimes-1.0.3.crate) = 46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c
+SIZE (rust/crates/io-lifetimes-1.0.3.crate) = 35650
+SHA256 (rust/crates/is-terminal-0.4.2.crate) = 28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189
+SIZE (rust/crates/is-terminal-0.4.2.crate) = 7577
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.5.crate) = fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440
+SIZE (rust/crates/itoa-1.0.5.crate) = 10622
+SHA256 (rust/crates/js-sys-0.3.60.crate) = 49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47
+SIZE (rust/crates/js-sys-0.3.60.crate) = 79257
+SHA256 (rust/crates/libc-0.2.139.crate) = 201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79
+SIZE (rust/crates/libc-0.2.139.crate) = 638983
+SHA256 (rust/crates/link-cplusplus-1.0.8.crate) = ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5
+SIZE (rust/crates/link-cplusplus-1.0.8.crate) = 7674
+SHA256 (rust/crates/linux-raw-sys-0.1.4.crate) = f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4
+SIZE (rust/crates/linux-raw-sys-0.1.4.crate) = 878981
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
+SIZE (rust/crates/matches-0.1.9.crate) = 2246
+SHA256 (rust/crates/md5-0.7.0.crate) = 490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771
+SIZE (rust/crates/md5-0.7.0.crate) = 6671
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
+SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
+SHA256 (rust/crates/mio-0.8.5.crate) = e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de
+SIZE (rust/crates/mio-0.8.5.crate) = 93993
+SHA256 (rust/crates/mktemp-0.5.0.crate) = 4bdc1f74dd7bb717d39f784f844e490d935b3aa7e383008006dbbf29c1f7820a
+SIZE (rust/crates/mktemp-0.5.0.crate) = 8752
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
+SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
+SHA256 (rust/crates/num_cpus-1.15.0.crate) = 0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b
+SIZE (rust/crates/num_cpus-1.15.0.crate) = 15680
+SHA256 (rust/crates/num_threads-0.1.6.crate) = 2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44
+SIZE (rust/crates/num_threads-0.1.6.crate) = 7334
+SHA256 (rust/crates/once_cell-1.17.0.crate) = 6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66
+SIZE (rust/crates/once_cell-1.17.0.crate) = 32736
+SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
+SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
+SHA256 (rust/crates/os_str_bytes-6.4.1.crate) = 9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee
+SIZE (rust/crates/os_str_bytes-6.4.1.crate) = 23101
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.5.crate) = 7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba
+SIZE (rust/crates/parking_lot_core-0.9.5.crate) = 32396
+SHA256 (rust/crates/percent-encoding-1.0.1.crate) = 31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831
+SIZE (rust/crates/percent-encoding-1.0.1.crate) = 10057
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
+SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.49.crate) = 57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5
+SIZE (rust/crates/proc-macro2-1.0.49.crate) = 41977
+SHA256 (rust/crates/quote-1.0.23.crate) = 8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b
+SIZE (rust/crates/quote-1.0.23.crate) = 28058
+SHA256 (rust/crates/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
+SIZE (rust/crates/rand-0.7.3.crate) = 112246
+SHA256 (rust/crates/rand_chacha-0.2.2.crate) = f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402
+SIZE (rust/crates/rand_chacha-0.2.2.crate) = 13267
+SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
+SIZE (rust/crates/rand_core-0.5.1.crate) = 21116
+SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
+SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
+SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a
+SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210
+SHA256 (rust/crates/rustc_version_runtime-0.2.1.crate) = d31b7153270ebf48bf91c65ae5b0c00e749c4cfad505f66530ac74950249582f
+SIZE (rust/crates/rustc_version_runtime-0.2.1.crate) = 3977
+SHA256 (rust/crates/rustix-0.36.6.crate) = 4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549
+SIZE (rust/crates/rustix-0.36.6.crate) = 288718
+SHA256 (rust/crates/rustls-0.20.7.crate) = 539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c
+SIZE (rust/crates/rustls-0.20.7.crate) = 268469
+SHA256 (rust/crates/rustls-native-certs-0.6.2.crate) = 0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50
+SIZE (rust/crates/rustls-native-certs-0.6.2.crate) = 22089
+SHA256 (rust/crates/rustls-pemfile-1.0.2.crate) = d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b
+SIZE (rust/crates/rustls-pemfile-1.0.2.crate) = 19347
+SHA256 (rust/crates/ryu-1.0.12.crate) = 7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde
+SIZE (rust/crates/ryu-1.0.12.crate) = 47070
+SHA256 (rust/crates/schannel-0.1.21.crate) = 713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3
+SIZE (rust/crates/schannel-0.1.21.crate) = 41719
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/scratch-1.0.3.crate) = ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2
+SIZE (rust/crates/scratch-1.0.3.crate) = 8198
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/seahash-4.1.0.crate) = 1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b
+SIZE (rust/crates/seahash-4.1.0.crate) = 31976
+SHA256 (rust/crates/security-framework-2.7.0.crate) = 2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c
+SIZE (rust/crates/security-framework-2.7.0.crate) = 72601
+SHA256 (rust/crates/security-framework-sys-2.6.1.crate) = 0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556
+SIZE (rust/crates/security-framework-sys-2.6.1.crate) = 17717
+SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403
+SIZE (rust/crates/semver-0.9.0.crate) = 17344
+SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3
+SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268
+SHA256 (rust/crates/serde-1.0.152.crate) = bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb
+SIZE (rust/crates/serde-1.0.152.crate) = 77091
+SHA256 (rust/crates/serde_derive-1.0.152.crate) = af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e
+SIZE (rust/crates/serde_derive-1.0.152.crate) = 55586
+SHA256 (rust/crates/serde_json-1.0.91.crate) = 877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883
+SIZE (rust/crates/serde_json-1.0.91.crate) = 144654
+SHA256 (rust/crates/serde_with-2.2.0.crate) = 30d904179146de381af4c93d3af6ca4984b3152db687dacb9c3c35e86f39809c
+SIZE (rust/crates/serde_with-2.2.0.crate) = 107077
+SHA256 (rust/crates/serde_with_macros-2.2.0.crate) = a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e
+SIZE (rust/crates/serde_with_macros-2.2.0.crate) = 27242
+SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
+SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/slab-0.4.7.crate) = 4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef
+SIZE (rust/crates/slab-0.4.7.crate) = 16647
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/socket2-0.4.7.crate) = 02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd
+SIZE (rust/crates/socket2-0.4.7.crate) = 44619
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.107.crate) = 1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5
+SIZE (rust/crates/syn-1.0.107.crate) = 237539
+SHA256 (rust/crates/tabwriter-1.2.1.crate) = 36205cfc997faadcc4b0b87aaef3fbedafe20d38d4959a7ca6ff803564051111
+SIZE (rust/crates/tabwriter-1.2.1.crate) = 9320
+SHA256 (rust/crates/tar-0.4.38.crate) = 4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6
+SIZE (rust/crates/tar-0.4.38.crate) = 49158
+SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
+SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/time-0.3.17.crate) = a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376
+SIZE (rust/crates/time-0.3.17.crate) = 99048
+SHA256 (rust/crates/time-core-0.1.0.crate) = 2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd
+SIZE (rust/crates/time-core-0.1.0.crate) = 6597
+SHA256 (rust/crates/time-macros-0.2.6.crate) = d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2
+SIZE (rust/crates/time-macros-0.2.6.crate) = 19163
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.24.1.crate) = 1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae
+SIZE (rust/crates/tokio-1.24.1.crate) = 625490
+SHA256 (rust/crates/tokio-macros-1.8.2.crate) = d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8
+SIZE (rust/crates/tokio-macros-1.8.2.crate) = 10071
+SHA256 (rust/crates/tokio-rustls-0.23.4.crate) = c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59
+SIZE (rust/crates/tokio-rustls-0.23.4.crate) = 27024
+SHA256 (rust/crates/tokio-util-0.7.4.crate) = 0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740
+SIZE (rust/crates/tokio-util-0.7.4.crate) = 93424
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.37.crate) = 8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8
+SIZE (rust/crates/tracing-0.1.37.crate) = 73888
+SHA256 (rust/crates/tracing-core-0.1.30.crate) = 24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a
+SIZE (rust/crates/tracing-core-0.1.30.crate) = 60351
+SHA256 (rust/crates/try-lock-0.2.4.crate) = 3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed
+SIZE (rust/crates/try-lock-0.2.4.crate) = 4467
+SHA256 (rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
+SIZE (rust/crates/unicase-2.6.0.crate) = 23478
+SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
+SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
+SHA256 (rust/crates/unicode-ident-1.0.6.crate) = 84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc
+SIZE (rust/crates/unicode-ident-1.0.6.crate) = 42158
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-1.7.2.crate) = dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a
+SIZE (rust/crates/url-1.7.2.crate) = 68597
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/uuid-1.2.2.crate) = 422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c
+SIZE (rust/crates/uuid-1.2.2.crate) = 53669
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
+SIZE (rust/crates/want-0.3.0.crate) = 6550
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+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.83.crate) = eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268
+SIZE (rust/crates/wasm-bindgen-0.2.83.crate) = 169618
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142
+SIZE (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 25620
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810
+SIZE (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 12075
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 18530
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 7194
+SHA256 (rust/crates/web-sys-0.3.60.crate) = bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f
+SIZE (rust/crates/web-sys-0.3.60.crate) = 700485
+SHA256 (rust/crates/webpki-0.22.0.crate) = f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd
+SIZE (rust/crates/webpki-0.22.0.crate) = 58663
+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.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+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-sys-0.42.0.crate) = 5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7
+SIZE (rust/crates/windows-sys-0.42.0.crate) = 3006791
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 357917
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.0.crate) = dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4
+SIZE (rust/crates/windows_aarch64_msvc-0.42.0.crate) = 659424
+SHA256 (rust/crates/windows_i686_gnu-0.42.0.crate) = fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7
+SIZE (rust/crates/windows_i686_gnu-0.42.0.crate) = 728570
+SHA256 (rust/crates/windows_i686_msvc-0.42.0.crate) = 84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246
+SIZE (rust/crates/windows_i686_msvc-0.42.0.crate) = 717477
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.0.crate) = bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed
+SIZE (rust/crates/windows_x86_64_gnu-0.42.0.crate) = 692493
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 357906
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.0.crate) = f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5
+SIZE (rust/crates/windows_x86_64_msvc-0.42.0.crate) = 659377
+SHA256 (rust/crates/xattr-0.2.3.crate) = 6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc
+SIZE (rust/crates/xattr-0.2.3.crate) = 11959
+SHA256 (rust/crates/yup-oauth2-8.1.0.crate) = f8cb398cca4dedd0203666d7c3e7a089d14557be759efd57ab75f067949276e7
+SIZE (rust/crates/yup-oauth2-8.1.0.crate) = 163546
+SHA256 (prasmussen-google-apis-rs-1f75444516a3bbba3441ee6ff65d6aa0f2d2f1af_GH0.tar.gz) = 70fc79ee4155f05156f4d51430f3bad1181fe45e0a337a2d19e4535746641cc8
+SIZE (prasmussen-google-apis-rs-1f75444516a3bbba3441ee6ff65d6aa0f2d2f1af_GH0.tar.gz) = 32018354
+SHA256 (glotlabs-gdrive-3.9.1_GH0.tar.gz) = 9aadb1b9a23d83f5aaa785960973bef1c63b85346de6be01a36e0630f2ddec1c
+SIZE (glotlabs-gdrive-3.9.1_GH0.tar.gz) = 47733
diff --git a/net/gdrive/pkg-descr b/net/gdrive/pkg-descr
new file mode 100644
index 000000000000..3d77bfea0389
--- /dev/null
+++ b/net/gdrive/pkg-descr
@@ -0,0 +1,6 @@
+Command line utility for interacting with Google Drive, featuring:
+
+  - Individual file or directory upload/download
+  - Directory synchronization (similar to rsync)
+  - Google Documents support
+  - Statically linked, dependency free binary
diff --git a/net/gdrive/pkg-message b/net/gdrive/pkg-message
new file mode 100644
index 000000000000..0de970bccafe
--- /dev/null
+++ b/net/gdrive/pkg-message
@@ -0,0 +1,13 @@
+[
+{ type: install
+  message: <<EOM
+
+In order to use this tool, you need to create Google API credentials.
+Please follow the steps below to create them:
+
+- https://github.com/glotlabs/gdrive/blob/main/docs/basic_usage.md
+- https://github.com/glotlabs/gdrive/blob/main/docs/create_google_api_credentials.md
+
+EOM
+}
+]