git: 33c76b3f94f7 - main - devel/gfold: Add new port

From: Jason Helfman <jgh_at_FreeBSD.org>
Date: Fri, 27 May 2022 07:12:07 UTC
The branch main has been updated by jgh:

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

commit 33c76b3f94f7236c32d7532fef22e0c5e33474bd
Author:     Mostly BSD <sec.research.2005@gmail.com>
AuthorDate: 2022-05-27 07:07:56 +0000
Commit:     Jason Helfman <jgh@FreeBSD.org>
CommitDate: 2022-05-27 07:10:09 +0000

    devel/gfold: Add new port
    
    PR:             264104
    
    CLI tool to help keep track of your Git repositories, written in Rust
    
    This app displays relevant information for multiple Git repositories
    in one to many directories. While this tool might seem limited in scope
    and purpose, that is by design.
    
    By default, gfold looks at every Git repository via traversal from
    the current working directory. If you would like to target another directory,
    you can pass its path (relative or absolute) as the first argument
    or change the default path in the config file.
    
    After traversal, gfold leverages rayon to perform concurrent,
    read-only analysis of all Git repositories detected.
    Analysis is performed by leveraging the git2-rs library.
    
    WWW: https://github.com/nickgerace/gfold
---
 devel/Makefile           |   1 +
 devel/gfold/Makefile     |  31 ++++++++++
 devel/gfold/bsd.gfold.mk |  74 +++++++++++++++++++++++
 devel/gfold/distinfo     | 149 +++++++++++++++++++++++++++++++++++++++++++++++
 devel/gfold/pkg-descr    |  16 +++++
 5 files changed, 271 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index b635a539c73c..9a1939fd9961 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -838,6 +838,7 @@
     SUBDIR += gettext-tiny
     SUBDIR += gettext-tools
     SUBDIR += gflags
+    SUBDIR += gfold
     SUBDIR += gh
     SUBDIR += ghidra
     SUBDIR += ghq
diff --git a/devel/gfold/Makefile b/devel/gfold/Makefile
new file mode 100644
index 000000000000..6427627a8ad3
--- /dev/null
+++ b/devel/gfold/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	gfold
+DISTVERSION=	4.0.0
+CATEGORIES=	devel
+
+MAINTAINER=	sec.research.2005@gmail.com
+COMMENT=	CLI tool to help keep track of your Git repositories
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	nickgerace
+BINARY_NAME=	gitfold
+
+OPTIONS_DEFINE=		DOCS
+OPTIONS_DEFAULT=	DOCS
+
+PORTDOCS=	CHANGELOG.md README.md
+PLIST_FILES=	bin/${BINARY_NAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${MV} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${BINARY_NAME}
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
+
+.include "${.CURDIR}/bsd.gfold.mk"
+.include <bsd.port.mk>
diff --git a/devel/gfold/bsd.gfold.mk b/devel/gfold/bsd.gfold.mk
new file mode 100644
index 000000000000..9e25214f5be1
--- /dev/null
+++ b/devel/gfold/bsd.gfold.mk
@@ -0,0 +1,74 @@
+CARGO_CRATES=	addr2line-0.17.0 \
+		adler-1.0.2 \
+		anyhow-1.0.57 \
+		argh-0.1.7 \
+		argh_derive-0.1.7 \
+		argh_shared-0.1.7 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		backtrace-0.3.65 \
+		bitflags-1.3.2 \
+		cc-1.0.73 \
+		cfg-if-1.0.0 \
+		crossbeam-channel-0.5.4 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.8 \
+		crossbeam-utils-0.8.8 \
+		dirs-4.0.0 \
+		dirs-sys-0.3.7 \
+		either-1.6.1 \
+		env_logger-0.9.0 \
+		form_urlencoded-1.0.1 \
+		getrandom-0.2.6 \
+		gimli-0.26.1 \
+		git2-0.14.3 \
+		heck-0.3.3 \
+		hermit-abi-0.1.19 \
+		humantime-2.1.0 \
+		idna-0.2.3 \
+		itoa-1.0.1 \
+		jobserver-0.1.24 \
+		lazy_static-1.4.0 \
+		libc-0.2.125 \
+		libgit2-sys-0.13.3+1.4.2 \
+		libz-sys-1.1.6 \
+		log-0.4.17 \
+		matches-0.1.9 \
+		memchr-2.5.0 \
+		memoffset-0.6.5 \
+		miniz_oxide-0.5.1 \
+		num_cpus-1.13.1 \
+		object-0.28.4 \
+		percent-encoding-2.1.0 \
+		pkg-config-0.3.25 \
+		proc-macro2-1.0.38 \
+		quote-1.0.18 \
+		rayon-1.5.2 \
+		rayon-core-1.9.2 \
+		redox_syscall-0.2.13 \
+		redox_users-0.4.3 \
+		rustc-demangle-0.1.21 \
+		ryu-1.0.9 \
+		scopeguard-1.1.0 \
+		serde-1.0.137 \
+		serde_derive-1.0.137 \
+		serde_json-1.0.81 \
+		syn-1.0.93 \
+		termcolor-1.1.3 \
+		thiserror-1.0.31 \
+		thiserror-impl-1.0.31 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.0 \
+		toml-0.5.9 \
+		unicode-bidi-0.3.8 \
+		unicode-normalization-0.1.19 \
+		unicode-segmentation-1.9.0 \
+		unicode-xid-0.2.3 \
+		url-2.2.2 \
+		vcpkg-0.2.15 \
+		wasi-0.10.2+wasi-snapshot-preview1 \
+		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
+
diff --git a/devel/gfold/distinfo b/devel/gfold/distinfo
new file mode 100644
index 000000000000..427f2321c6db
--- /dev/null
+++ b/devel/gfold/distinfo
@@ -0,0 +1,149 @@
+TIMESTAMP = 1653064391
+SHA256 (rust/crates/addr2line-0.17.0.crate) = b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b
+SIZE (rust/crates/addr2line-0.17.0.crate) = 32260
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/anyhow-1.0.57.crate) = 08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc
+SIZE (rust/crates/anyhow-1.0.57.crate) = 44614
+SHA256 (rust/crates/argh-0.1.7.crate) = dbb41d85d92dfab96cb95ab023c265c5e4261bb956c0fb49ca06d90c570f1958
+SIZE (rust/crates/argh-0.1.7.crate) = 15556
+SHA256 (rust/crates/argh_derive-0.1.7.crate) = be69f70ef5497dd6ab331a50bd95c6ac6b8f7f17a7967838332743fbd58dc3b5
+SIZE (rust/crates/argh_derive-0.1.7.crate) = 17650
+SHA256 (rust/crates/argh_shared-0.1.7.crate) = e6f8c380fa28aa1b36107cd97f0196474bb7241bb95a453c5c01a15ac74b2eac
+SIZE (rust/crates/argh_shared-0.1.7.crate) = 4093
+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/backtrace-0.3.65.crate) = 11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61
+SIZE (rust/crates/backtrace-0.3.65.crate) = 74129
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
+SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/crossbeam-channel-0.5.4.crate) = 5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53
+SIZE (rust/crates/crossbeam-channel-0.5.4.crate) = 88237
+SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
+SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
+SHA256 (rust/crates/crossbeam-epoch-0.9.8.crate) = 1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c
+SIZE (rust/crates/crossbeam-epoch-0.9.8.crate) = 46012
+SHA256 (rust/crates/crossbeam-utils-0.8.8.crate) = 0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38
+SIZE (rust/crates/crossbeam-utils-0.8.8.crate) = 39681
+SHA256 (rust/crates/dirs-4.0.0.crate) = ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059
+SIZE (rust/crates/dirs-4.0.0.crate) = 12503
+SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6
+SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/env_logger-0.9.0.crate) = 0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3
+SIZE (rust/crates/env_logger-0.9.0.crate) = 33573
+SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
+SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/getrandom-0.2.6.crate) = 9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad
+SIZE (rust/crates/getrandom-0.2.6.crate) = 28043
+SHA256 (rust/crates/gimli-0.26.1.crate) = 78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4
+SIZE (rust/crates/gimli-0.26.1.crate) = 716168
+SHA256 (rust/crates/git2-0.14.3.crate) = 5e77a14ffc6ba4ad5188d6cf428894c4fcfda725326b37558f35bb677e712cec
+SIZE (rust/crates/git2-0.14.3.crate) = 196640
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
+SIZE (rust/crates/idna-0.2.3.crate) = 271023
+SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
+SIZE (rust/crates/itoa-1.0.1.crate) = 11059
+SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
+SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
+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.125.crate) = 5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b
+SIZE (rust/crates/libc-0.2.125.crate) = 589236
+SHA256 (rust/crates/libgit2-sys-0.13.3+1.4.2.crate) = c24d36c3ac9b9996a2418d6bf428cc0bc5d1a814a84303fc60986088c5ed60de
+SIZE (rust/crates/libgit2-sys-0.13.3+1.4.2.crate) = 1506301
+SHA256 (rust/crates/libz-sys-1.1.6.crate) = 92e7e15d7610cce1d9752e137625f14e61a28cd45929b6e12e47b50fe154ee2e
+SIZE (rust/crates/libz-sys-1.1.6.crate) = 1508051
+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/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/miniz_oxide-0.5.1.crate) = d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082
+SIZE (rust/crates/miniz_oxide-0.5.1.crate) = 52418
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/object-0.28.4.crate) = e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424
+SIZE (rust/crates/object-0.28.4.crate) = 237248
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/pkg-config-0.3.25.crate) = 1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae
+SIZE (rust/crates/pkg-config-0.3.25.crate) = 16838
+SHA256 (rust/crates/proc-macro2-1.0.38.crate) = 9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa
+SIZE (rust/crates/proc-macro2-1.0.38.crate) = 41687
+SHA256 (rust/crates/quote-1.0.18.crate) = a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1
+SIZE (rust/crates/quote-1.0.18.crate) = 28911
+SHA256 (rust/crates/rayon-1.5.2.crate) = fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221
+SIZE (rust/crates/rayon-1.5.2.crate) = 165456
+SHA256 (rust/crates/rayon-core-1.9.2.crate) = 9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4
+SIZE (rust/crates/rayon-core-1.9.2.crate) = 65221
+SHA256 (rust/crates/redox_syscall-0.2.13.crate) = 62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42
+SIZE (rust/crates/redox_syscall-0.2.13.crate) = 23759
+SHA256 (rust/crates/redox_users-0.4.3.crate) = b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b
+SIZE (rust/crates/redox_users-0.4.3.crate) = 15353
+SHA256 (rust/crates/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
+SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
+SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
+SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/serde-1.0.137.crate) = 61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1
+SIZE (rust/crates/serde-1.0.137.crate) = 76182
+SHA256 (rust/crates/serde_derive-1.0.137.crate) = 1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be
+SIZE (rust/crates/serde_derive-1.0.137.crate) = 54831
+SHA256 (rust/crates/serde_json-1.0.81.crate) = 9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c
+SIZE (rust/crates/serde_json-1.0.81.crate) = 144480
+SHA256 (rust/crates/syn-1.0.93.crate) = 04066589568b72ec65f42d65a1a52436e954b168773148893c020269563decf2
+SIZE (rust/crates/syn-1.0.93.crate) = 236682
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/thiserror-1.0.31.crate) = bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a
+SIZE (rust/crates/thiserror-1.0.31.crate) = 18013
+SHA256 (rust/crates/thiserror-impl-1.0.31.crate) = 0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a
+SIZE (rust/crates/thiserror-impl-1.0.31.crate) = 15283
+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/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
+SIZE (rust/crates/toml-0.5.9.crate) = 55667
+SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
+SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
+SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
+SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-segmentation-1.9.0.crate) = 7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99
+SIZE (rust/crates/unicode-segmentation-1.9.0.crate) = 93241
+SHA256 (rust/crates/unicode-xid-0.2.3.crate) = 957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04
+SIZE (rust/crates/unicode-xid-0.2.3.crate) = 15174
+SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
+SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+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 (nickgerace-gfold-4.0.0_GH0.tar.gz) = 332ef19daad6e31c6905f4b46b9e74004dafb623eadb6b97bcfeae1357a14dfa
+SIZE (nickgerace-gfold-4.0.0_GH0.tar.gz) = 34779
diff --git a/devel/gfold/pkg-descr b/devel/gfold/pkg-descr
new file mode 100644
index 000000000000..03223770f7a6
--- /dev/null
+++ b/devel/gfold/pkg-descr
@@ -0,0 +1,16 @@
+CLI tool to help keep track of your Git repositories, written in Rust
+
+This app displays relevant information for multiple Git repositories
+in one to many directories. While this tool might seem limited in scope
+and purpose, that is by design.
+
+By default, gfold looks at every Git repository via traversal from
+the current working directory. If you would like to target another directory,
+you can pass its path (relative or absolute) as the first argument
+or change the default path in the config file.
+
+After traversal, gfold leverages rayon to perform concurrent,
+read-only analysis of all Git repositories detected.
+Analysis is performed by leveraging the git2-rs library.
+
+WWW: https://github.com/nickgerace/gfold