git: 5b2712350d76 - main - shells/sheldon: add port: Fast, configurable, shell plugin manager

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sat, 11 Nov 2023 12:12:47 UTC
The branch main has been updated by tagattie:

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

commit 5b2712350d76e18ee0842c8f037e8ec40e4a20fe
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2023-11-11 12:11:17 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2023-11-11 12:12:33 +0000

    shells/sheldon: add port: Fast, configurable, shell plugin manager
    
    Fast, configurable, shell plugin manager
    
    Features
    - Plugins from Git repositories.
      * Branch / tag / commit support.
      * Submodule support.
      * First class support for GitHub repositories.
      * First class support for Gists.
    - Arbitrary remote scripts or binary plugins.
    - Local plugins.
    - Inline plugins.
    - Highly configurable install methods using templates.
    - Shell agnostic, with sensible defaults for Zsh.
    - Super-fast plugin loading and parallel installation
    - Config file using TOML syntax.
    - Clean ~/.zshrc or ~/.bashrc (just add 1 line).
    
    WWW: https://sheldon.cli.rs/
---
 shells/Makefile                |   1 +
 shells/sheldon/Makefile        |  43 +++++++
 shells/sheldon/Makefile.crates | 132 ++++++++++++++++++++
 shells/sheldon/distinfo        | 267 +++++++++++++++++++++++++++++++++++++++++
 shells/sheldon/pkg-descr       |  16 +++
 5 files changed, 459 insertions(+)

diff --git a/shells/Makefile b/shells/Makefile
index 010ae24cb7fd..1415e3554b8c 100644
--- a/shells/Makefile
+++ b/shells/Makefile
@@ -48,6 +48,7 @@
     SUBDIR += rush
     SUBDIR += sash
     SUBDIR += scponly
+    SUBDIR += sheldon
     SUBDIR += shell-hist
     SUBDIR += shellharden
     SUBDIR += starship
diff --git a/shells/sheldon/Makefile b/shells/sheldon/Makefile
new file mode 100644
index 000000000000..e68e2d3d1225
--- /dev/null
+++ b/shells/sheldon/Makefile
@@ -0,0 +1,43 @@
+PORTNAME=	sheldon
+DISTVERSION=	0.7.3
+CATEGORIES=	shells
+
+MAINTAINER=	tagattie@FreeBSD.org
+COMMENT=	Fast, configurable, shell plugin manager
+WWW=		https://sheldon.cli.rs/
+
+LICENSE=	APACHE20 MIT
+LICENSE_COMB=	multi
+LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
+LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
+
+LIB_DEPENDS=	libcurl.so:ftp/curl \
+		libssh2.so:security/libssh2
+
+USES=		cargo localbase:ldflags ssl
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	rossmacarthur
+
+PLIST_FILES=	bin/${PORTNAME} \
+		etc/bash_completion.d/${PORTNAME} \
+		share/zsh/site-functions/_${PORTNAME}
+
+PORTDOCS=	README.md RELEASES.md
+
+OPTIONS_DEFINE=	DOCS
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
+	${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.bash \
+		${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
+	${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.zsh \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/shells/sheldon/Makefile.crates b/shells/sheldon/Makefile.crates
new file mode 100644
index 000000000000..9311623a2a34
--- /dev/null
+++ b/shells/sheldon/Makefile.crates
@@ -0,0 +1,132 @@
+CARGO_CRATES=	aho-corasick-0.7.20 \
+		aho-corasick-1.0.1 \
+		anstyle-1.0.0 \
+		anyhow-1.0.71 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		bstr-1.4.0 \
+		bytes-1.4.0 \
+		casual-0.2.0 \
+		cc-1.0.79 \
+		cfg-if-1.0.0 \
+		clap-4.2.7 \
+		clap_builder-4.2.7 \
+		clap_complete-4.2.2 \
+		clap_derive-4.2.0 \
+		clap_lex-0.4.1 \
+		combine-4.6.6 \
+		constcat-0.3.0 \
+		crossbeam-channel-0.5.8 \
+		crossbeam-deque-0.8.3 \
+		crossbeam-epoch-0.9.14 \
+		crossbeam-utils-0.8.15 \
+		ctor-0.1.26 \
+		curl-0.4.44 \
+		curl-sys-0.4.61+curl-8.0.1 \
+		diff-0.1.13 \
+		either-1.8.1 \
+		errno-0.3.1 \
+		errno-dragonfly-0.1.2 \
+		fastrand-1.9.0 \
+		fmutex-0.1.0 \
+		fnv-1.0.7 \
+		form_urlencoded-1.1.0 \
+		git2-0.17.1 \
+		globset-0.4.10 \
+		globwalk-0.8.1 \
+		goldie-0.4.3 \
+		hashbrown-0.12.3 \
+		heck-0.4.1 \
+		hermit-abi-0.1.19 \
+		hermit-abi-0.2.6 \
+		hermit-abi-0.3.1 \
+		home-0.5.5 \
+		idna-0.3.0 \
+		ignore-0.4.20 \
+		indexmap-1.9.3 \
+		instant-0.1.12 \
+		io-lifetimes-1.0.10 \
+		itertools-0.10.5 \
+		itoa-1.0.6 \
+		jobserver-0.1.26 \
+		lazy_static-1.4.0 \
+		libc-0.2.144 \
+		libgit2-sys-0.15.1+1.6.4 \
+		libssh2-sys-0.3.0 \
+		libz-sys-1.1.9 \
+		linux-raw-sys-0.3.7 \
+		log-0.4.17 \
+		maplit-1.0.2 \
+		memchr-2.5.0 \
+		memoffset-0.8.0 \
+		num_cpus-1.15.0 \
+		once_cell-1.17.1 \
+		openssl-probe-0.1.5 \
+		openssl-sys-0.9.87 \
+		output_vt100-0.1.3 \
+		percent-encoding-2.2.0 \
+		pkg-config-0.3.27 \
+		pretty_assertions-1.3.0 \
+		proc-macro2-1.0.56 \
+		quote-1.0.27 \
+		rayon-1.7.0 \
+		rayon-core-1.11.0 \
+		redox_syscall-0.3.5 \
+		regex-1.8.1 \
+		regex-macro-0.2.0 \
+		regex-syntax-0.7.1 \
+		rustix-0.37.19 \
+		ryu-1.0.13 \
+		same-file-1.0.6 \
+		schannel-0.1.21 \
+		scopeguard-1.1.0 \
+		serde-1.0.162 \
+		serde_derive-1.0.162 \
+		serde_json-1.0.96 \
+		socket2-0.4.9 \
+		strsim-0.10.0 \
+		syn-1.0.109 \
+		syn-2.0.15 \
+		tempfile-3.5.0 \
+		thiserror-1.0.40 \
+		thiserror-impl-1.0.40 \
+		thread_local-1.1.7 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		toml-0.5.11 \
+		toml_edit-0.14.4 \
+		unicode-bidi-0.3.13 \
+		unicode-ident-1.0.8 \
+		unicode-normalization-0.1.22 \
+		unicode-width-0.1.10 \
+		upon-0.5.0 \
+		upon-0.6.0 \
+		url-2.3.1 \
+		vcpkg-0.2.15 \
+		walkdir-2.3.3 \
+		which-4.4.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-sys-0.45.0 \
+		windows-sys-0.48.0 \
+		windows-targets-0.42.2 \
+		windows-targets-0.48.0 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_gnullvm-0.48.0 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_aarch64_msvc-0.48.0 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_gnu-0.48.0 \
+		windows_i686_msvc-0.42.2 \
+		windows_i686_msvc-0.48.0 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnu-0.48.0 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_gnullvm-0.48.0 \
+		windows_x86_64_msvc-0.42.2 \
+		windows_x86_64_msvc-0.48.0 \
+		yansi-0.5.1
diff --git a/shells/sheldon/distinfo b/shells/sheldon/distinfo
new file mode 100644
index 000000000000..df405291f5ec
--- /dev/null
+++ b/shells/sheldon/distinfo
@@ -0,0 +1,267 @@
+TIMESTAMP = 1699701569
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/aho-corasick-1.0.1.crate) = 67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04
+SIZE (rust/crates/aho-corasick-1.0.1.crate) = 167320
+SHA256 (rust/crates/anstyle-1.0.0.crate) = 41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d
+SIZE (rust/crates/anstyle-1.0.0.crate) = 13972
+SHA256 (rust/crates/anyhow-1.0.71.crate) = 9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8
+SIZE (rust/crates/anyhow-1.0.71.crate) = 43808
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bstr-1.4.0.crate) = c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09
+SIZE (rust/crates/bstr-1.4.0.crate) = 345921
+SHA256 (rust/crates/bytes-1.4.0.crate) = 89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be
+SIZE (rust/crates/bytes-1.4.0.crate) = 58080
+SHA256 (rust/crates/casual-0.2.0.crate) = 02bac00d171e78bbd71fe323666881647f18ce2a6c7460e9d1baddeefa3c3420
+SIZE (rust/crates/casual-0.2.0.crate) = 8948
+SHA256 (rust/crates/cc-1.0.79.crate) = 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f
+SIZE (rust/crates/cc-1.0.79.crate) = 62624
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-4.2.7.crate) = 34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938
+SIZE (rust/crates/clap-4.2.7.crate) = 54028
+SHA256 (rust/crates/clap_builder-4.2.7.crate) = 914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd
+SIZE (rust/crates/clap_builder-4.2.7.crate) = 162405
+SHA256 (rust/crates/clap_complete-4.2.2.crate) = 36774babb166352bb4f7b9cb16f781ffa3439d2a8f12cd31bea85a38c888fea3
+SIZE (rust/crates/clap_complete-4.2.2.crate) = 33932
+SHA256 (rust/crates/clap_derive-4.2.0.crate) = 3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4
+SIZE (rust/crates/clap_derive-4.2.0.crate) = 28953
+SHA256 (rust/crates/clap_lex-0.4.1.crate) = 8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1
+SIZE (rust/crates/clap_lex-0.4.1.crate) = 12122
+SHA256 (rust/crates/combine-4.6.6.crate) = 35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4
+SIZE (rust/crates/combine-4.6.6.crate) = 132428
+SHA256 (rust/crates/constcat-0.3.0.crate) = f272d0c4cf831b4fa80ee529c7707f76585986e910e1fbce1d7921970bc1a241
+SIZE (rust/crates/constcat-0.3.0.crate) = 8690
+SHA256 (rust/crates/crossbeam-channel-0.5.8.crate) = a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200
+SIZE (rust/crates/crossbeam-channel-0.5.8.crate) = 90455
+SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
+SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
+SHA256 (rust/crates/crossbeam-epoch-0.9.14.crate) = 46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695
+SIZE (rust/crates/crossbeam-epoch-0.9.14.crate) = 48524
+SHA256 (rust/crates/crossbeam-utils-0.8.15.crate) = 3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b
+SIZE (rust/crates/crossbeam-utils-0.8.15.crate) = 42326
+SHA256 (rust/crates/ctor-0.1.26.crate) = 6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096
+SIZE (rust/crates/ctor-0.1.26.crate) = 10803
+SHA256 (rust/crates/curl-0.4.44.crate) = 509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22
+SIZE (rust/crates/curl-0.4.44.crate) = 91415
+SHA256 (rust/crates/curl-sys-0.4.61+curl-8.0.1.crate) = 14d05c10f541ae6f3bc5b3d923c20001f47db7d5f0b2bc6ad16490133842db79
+SIZE (rust/crates/curl-sys-0.4.61+curl-8.0.1.crate) = 3101374
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/either-1.8.1.crate) = 7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91
+SIZE (rust/crates/either-1.8.1.crate) = 16027
+SHA256 (rust/crates/errno-0.3.1.crate) = 4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a
+SIZE (rust/crates/errno-0.3.1.crate) = 10348
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be
+SIZE (rust/crates/fastrand-1.9.0.crate) = 11910
+SHA256 (rust/crates/fmutex-0.1.0.crate) = 01e84c17070603126a7b0cd07d0ecc8e8cca4d15b67934ac2740286a84f3086c
+SIZE (rust/crates/fmutex-0.1.0.crate) = 6959
+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/git2-0.17.1.crate) = 8b7905cdfe33d31a88bb2e8419ddd054451f5432d1da9eaf2ac7804ee1ea12d5
+SIZE (rust/crates/git2-0.17.1.crate) = 207302
+SHA256 (rust/crates/globset-0.4.10.crate) = 029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc
+SIZE (rust/crates/globset-0.4.10.crate) = 22923
+SHA256 (rust/crates/globwalk-0.8.1.crate) = 93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc
+SIZE (rust/crates/globwalk-0.8.1.crate) = 13705
+SHA256 (rust/crates/goldie-0.4.3.crate) = fd1d4b95ae93c6d91591a2998aa7363113e51130ede293b3c92ac89b63e13914
+SIZE (rust/crates/goldie-0.4.3.crate) = 9468
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hermit-abi-0.2.6.crate) = ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7
+SIZE (rust/crates/hermit-abi-0.2.6.crate) = 13027
+SHA256 (rust/crates/hermit-abi-0.3.1.crate) = fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286
+SIZE (rust/crates/hermit-abi-0.3.1.crate) = 13793
+SHA256 (rust/crates/home-0.5.5.crate) = 5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb
+SIZE (rust/crates/home-0.5.5.crate) = 8557
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/ignore-0.4.20.crate) = dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492
+SIZE (rust/crates/ignore-0.4.20.crate) = 53551
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+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.10.crate) = 9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220
+SIZE (rust/crates/io-lifetimes-1.0.10.crate) = 37294
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.6.crate) = 453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6
+SIZE (rust/crates/itoa-1.0.6.crate) = 10410
+SHA256 (rust/crates/jobserver-0.1.26.crate) = 936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2
+SIZE (rust/crates/jobserver-0.1.26.crate) = 22645
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.144.crate) = 2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1
+SIZE (rust/crates/libc-0.2.144.crate) = 682092
+SHA256 (rust/crates/libgit2-sys-0.15.1+1.6.4.crate) = fb4577bde8cdfc7d6a2a4bcb7b049598597de33ffd337276e9c7db6cd4a2cee7
+SIZE (rust/crates/libgit2-sys-0.15.1+1.6.4.crate) = 1755296
+SHA256 (rust/crates/libssh2-sys-0.3.0.crate) = 2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee
+SIZE (rust/crates/libssh2-sys-0.3.0.crate) = 514550
+SHA256 (rust/crates/libz-sys-1.1.9.crate) = 56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db
+SIZE (rust/crates/libz-sys-1.1.9.crate) = 2404387
+SHA256 (rust/crates/linux-raw-sys-0.3.7.crate) = ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f
+SIZE (rust/crates/linux-raw-sys-0.3.7.crate) = 1013423
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memoffset-0.8.0.crate) = d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1
+SIZE (rust/crates/memoffset-0.8.0.crate) = 8912
+SHA256 (rust/crates/num_cpus-1.15.0.crate) = 0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b
+SIZE (rust/crates/num_cpus-1.15.0.crate) = 15680
+SHA256 (rust/crates/once_cell-1.17.1.crate) = b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3
+SIZE (rust/crates/once_cell-1.17.1.crate) = 32856
+SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
+SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
+SHA256 (rust/crates/openssl-sys-0.9.87.crate) = 8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e
+SIZE (rust/crates/openssl-sys-0.9.87.crate) = 65702
+SHA256 (rust/crates/output_vt100-0.1.3.crate) = 628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66
+SIZE (rust/crates/output_vt100-0.1.3.crate) = 4473
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/pretty_assertions-1.3.0.crate) = a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755
+SIZE (rust/crates/pretty_assertions-1.3.0.crate) = 79441
+SHA256 (rust/crates/proc-macro2-1.0.56.crate) = 2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435
+SIZE (rust/crates/proc-macro2-1.0.56.crate) = 44454
+SHA256 (rust/crates/quote-1.0.27.crate) = 8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500
+SIZE (rust/crates/quote-1.0.27.crate) = 28416
+SHA256 (rust/crates/rayon-1.7.0.crate) = 1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b
+SIZE (rust/crates/rayon-1.7.0.crate) = 169488
+SHA256 (rust/crates/rayon-core-1.11.0.crate) = 4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d
+SIZE (rust/crates/rayon-core-1.11.0.crate) = 73118
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/regex-1.8.1.crate) = af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370
+SIZE (rust/crates/regex-1.8.1.crate) = 248412
+SHA256 (rust/crates/regex-macro-0.2.0.crate) = 12fa36e7add16db296640bba993a65dae2a0088a8e5cd5f935c8bfbd3710145b
+SIZE (rust/crates/regex-macro-0.2.0.crate) = 6242
+SHA256 (rust/crates/regex-syntax-0.7.1.crate) = a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c
+SIZE (rust/crates/regex-syntax-0.7.1.crate) = 339705
+SHA256 (rust/crates/rustix-0.37.19.crate) = acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d
+SIZE (rust/crates/rustix-0.37.19.crate) = 323809
+SHA256 (rust/crates/ryu-1.0.13.crate) = f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041
+SIZE (rust/crates/ryu-1.0.13.crate) = 46823
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+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/serde-1.0.162.crate) = 71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6
+SIZE (rust/crates/serde-1.0.162.crate) = 77030
+SHA256 (rust/crates/serde_derive-1.0.162.crate) = a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6
+SIZE (rust/crates/serde_derive-1.0.162.crate) = 55076
+SHA256 (rust/crates/serde_json-1.0.96.crate) = 057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1
+SIZE (rust/crates/serde_json-1.0.96.crate) = 144652
+SHA256 (rust/crates/socket2-0.4.9.crate) = 64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662
+SIZE (rust/crates/socket2-0.4.9.crate) = 45421
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.15.crate) = a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822
+SIZE (rust/crates/syn-2.0.15.crate) = 240785
+SHA256 (rust/crates/tempfile-3.5.0.crate) = b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998
+SIZE (rust/crates/tempfile-3.5.0.crate) = 31129
+SHA256 (rust/crates/thiserror-1.0.40.crate) = 978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac
+SIZE (rust/crates/thiserror-1.0.40.crate) = 18709
+SHA256 (rust/crates/thiserror-impl-1.0.40.crate) = f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f
+SIZE (rust/crates/thiserror-impl-1.0.40.crate) = 15138
+SHA256 (rust/crates/thread_local-1.1.7.crate) = 3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152
+SIZE (rust/crates/thread_local-1.1.7.crate) = 13585
+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.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234
+SIZE (rust/crates/toml-0.5.11.crate) = 54910
+SHA256 (rust/crates/toml_edit-0.14.4.crate) = 5376256e44f2443f8896ac012507c19a012df0fe8758b55246ae51a2279db51f
+SIZE (rust/crates/toml_edit-0.14.4.crate) = 105387
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+SHA256 (rust/crates/unicode-ident-1.0.8.crate) = e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4
+SIZE (rust/crates/unicode-ident-1.0.8.crate) = 41962
+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/upon-0.5.0.crate) = b77ce40602cb1a7dfcdd6336f6d8baa2803c898aafbc0d46156b59727f2e7135
+SIZE (rust/crates/upon-0.5.0.crate) = 56312
+SHA256 (rust/crates/upon-0.6.0.crate) = 98503344deda52a763050feff749ba70544524ab39cc00f50cc6b4bfdaf3a634
+SIZE (rust/crates/upon-0.6.0.crate) = 56723
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/walkdir-2.3.3.crate) = 36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698
+SIZE (rust/crates/walkdir-2.3.3.crate) = 23125
+SHA256 (rust/crates/which-4.4.0.crate) = 2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269
+SIZE (rust/crates/which-4.4.0.crate) = 10889
+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-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows-targets-0.48.0.crate) = 7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5
+SIZE (rust/crates/windows-targets-0.48.0.crate) = 7466
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.0.crate) = 91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.0.crate) = 366543
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.0.crate) = b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3
+SIZE (rust/crates/windows_aarch64_msvc-0.48.0.crate) = 671479
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_gnu-0.48.0.crate) = 622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241
+SIZE (rust/crates/windows_i686_gnu-0.48.0.crate) = 741490
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_i686_msvc-0.48.0.crate) = 4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00
+SIZE (rust/crates/windows_i686_msvc-0.48.0.crate) = 730056
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.0.crate) = ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1
+SIZE (rust/crates/windows_x86_64_gnu-0.48.0.crate) = 703595
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.0.crate) = 7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.0.crate) = 366536
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.0.crate) = 1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a
+SIZE (rust/crates/windows_x86_64_msvc-0.48.0.crate) = 671422
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (rossmacarthur-sheldon-0.7.3_GH0.tar.gz) = cf8844dce853156d076a6956733420ad7a9365e16a928e419b11de8bc634fc67
+SIZE (rossmacarthur-sheldon-0.7.3_GH0.tar.gz) = 82385
diff --git a/shells/sheldon/pkg-descr b/shells/sheldon/pkg-descr
new file mode 100644
index 000000000000..c4da06151818
--- /dev/null
+++ b/shells/sheldon/pkg-descr
@@ -0,0 +1,16 @@
+Fast, configurable, shell plugin manager
+
+Features
+- Plugins from Git repositories.
+  * Branch / tag / commit support.
+  * Submodule support.
+  * First class support for GitHub repositories.
+  * First class support for Gists.
+- Arbitrary remote scripts or binary plugins.
+- Local plugins.
+- Inline plugins.
+- Highly configurable install methods using templates.
+- Shell agnostic, with sensible defaults for Zsh.
+- Super-fast plugin loading and parallel installation
+- Config file using TOML syntax.
+- Clean ~/.zshrc or ~/.bashrc (just add 1 line).