git: 0142c27fbc5f - main - sysutils/b3sum: add new port

From: Koichiro Iwao <meta_at_FreeBSD.org>
Date: Thu, 26 May 2022 03:51:07 UTC
The branch main has been updated by meta:

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

commit 0142c27fbc5f8c0889468aeaa10b01989aa32410
Author:     Mostly BSD <sec.research.2005@gmail.com>
AuthorDate: 2022-04-18 19:03:26 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2022-05-26 03:50:46 +0000

    sysutils/b3sum: add new port
    
    Command line implementation of the BLAKE3 hash function
    
    WWW:            https://github.com/blake3-team/blake3
    
    PR:             263425
---
 sysutils/Makefile        |   1 +
 sysutils/b3sum/Makefile  |  86 ++++++++++++++++++++++++++++++++++++
 sysutils/b3sum/distinfo  | 111 +++++++++++++++++++++++++++++++++++++++++++++++
 sysutils/b3sum/pkg-descr |  16 +++++++
 4 files changed, 214 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index e31f5465937f..dfcad386765f 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -76,6 +76,7 @@
     SUBDIR += avfs
     SUBDIR += azure-agent
     SUBDIR += b2sum
+    SUBDIR += b3sum
     SUBDIR += b43-fwcutter
     SUBDIR += backuppc
     SUBDIR += backuppc-devel
diff --git a/sysutils/b3sum/Makefile b/sysutils/b3sum/Makefile
new file mode 100644
index 000000000000..55ad097d955d
--- /dev/null
+++ b/sysutils/b3sum/Makefile
@@ -0,0 +1,86 @@
+PORTNAME=	b3sum
+DISTVERSION=	1.3.1
+CATEGORIES=	sysutils
+
+MAINTAINER=	sec.research.2005@gmail.com
+COMMENT=	Command line implementation of the BLAKE3 hash function
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/../LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	blake3-team
+GH_PROJECT=	BLAKE3
+
+OPTIONS_DEFINE=		DOCS
+OPTIONS_DEFAULT=	DOCS
+
+WRKSRC_SUBDIR=	${PORTNAME}
+
+CARGO_CRATES=	anyhow-1.0.53 \
+		arrayref-0.3.6 \
+		arrayvec-0.7.2 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		bitflags-1.3.2 \
+		block-buffer-0.10.0 \
+		cc-1.0.72 \
+		cfg-if-1.0.0 \
+		clap-3.0.12 \
+		constant_time_eq-0.1.5 \
+		crossbeam-channel-0.5.2 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.6 \
+		crossbeam-utils-0.8.6 \
+		crypto-common-0.1.1 \
+		digest-0.10.1 \
+		duct-0.13.5 \
+		either-1.6.1 \
+		fastrand-1.7.0 \
+		generic-array-0.14.5 \
+		glob-0.3.0 \
+		hashbrown-0.11.2 \
+		hermit-abi-0.1.19 \
+		hex-0.4.3 \
+		indexmap-1.8.0 \
+		instant-0.1.12 \
+		lazy_static-1.4.0 \
+		libc-0.2.114 \
+		memchr-2.4.1 \
+		memmap-0.7.0 \
+		memoffset-0.6.5 \
+		num_cpus-1.13.1 \
+		once_cell-1.9.0 \
+		os_pipe-0.9.2 \
+		os_str_bytes-6.0.0 \
+		rayon-1.5.1 \
+		rayon-core-1.9.1 \
+		redox_syscall-0.2.10 \
+		remove_dir_all-0.5.3 \
+		scopeguard-1.1.0 \
+		shared_child-0.3.5 \
+		strsim-0.10.0 \
+		subtle-2.4.1 \
+		tempfile-3.3.0 \
+		termcolor-1.1.2 \
+		textwrap-0.14.2 \
+		typenum-1.15.0 \
+		version_check-0.9.4 \
+		wild-2.0.4 \
+		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
+
+PORTDOCS=	*.md
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKSRC}/.. && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
diff --git a/sysutils/b3sum/distinfo b/sysutils/b3sum/distinfo
new file mode 100644
index 000000000000..174a10830252
--- /dev/null
+++ b/sysutils/b3sum/distinfo
@@ -0,0 +1,111 @@
+TIMESTAMP = 1650301077
+SHA256 (rust/crates/anyhow-1.0.53.crate) = 94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0
+SIZE (rust/crates/anyhow-1.0.53.crate) = 44233
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
+SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/block-buffer-0.10.0.crate) = f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95
+SIZE (rust/crates/block-buffer-0.10.0.crate) = 10088
+SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
+SIZE (rust/crates/cc-1.0.72.crate) = 57495
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-3.0.12.crate) = 2afefa54b5c7dd40918dc1e09f213a171ab5937aadccab45e804780b238f9f43
+SIZE (rust/crates/clap-3.0.12.crate) = 190959
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/crossbeam-channel-0.5.2.crate) = e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa
+SIZE (rust/crates/crossbeam-channel-0.5.2.crate) = 87842
+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.6.crate) = 97242a70df9b89a65d0b6df3c4bf5b9ce03c5b7309019777fbde37e7537f8762
+SIZE (rust/crates/crossbeam-epoch-0.9.6.crate) = 46055
+SHA256 (rust/crates/crossbeam-utils-0.8.6.crate) = cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120
+SIZE (rust/crates/crossbeam-utils-0.8.6.crate) = 38841
+SHA256 (rust/crates/crypto-common-0.1.1.crate) = 683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0
+SIZE (rust/crates/crypto-common-0.1.1.crate) = 8271
+SHA256 (rust/crates/digest-0.10.1.crate) = b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b
+SIZE (rust/crates/digest-0.10.1.crate) = 18909
+SHA256 (rust/crates/duct-0.13.5.crate) = 0fc6a0a59ed0888e0041cf708e66357b7ae1a82f1c67247e1f93b5e0818f7d8d
+SIZE (rust/crates/duct-0.13.5.crate) = 28838
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
+SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
+SHA256 (rust/crates/generic-array-0.14.5.crate) = fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803
+SIZE (rust/crates/generic-array-0.14.5.crate) = 28915
+SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
+SIZE (rust/crates/glob-0.3.0.crate) = 18724
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
+SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+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.114.crate) = b0005d08a8f7b65fb8073cb697aa0b12b631ed251ce73d862ce50eeb52ce3b50
+SIZE (rust/crates/libc-0.2.114.crate) = 565213
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/memmap-0.7.0.crate) = 6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b
+SIZE (rust/crates/memmap-0.7.0.crate) = 15214
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
+SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
+SHA256 (rust/crates/os_pipe-0.9.2.crate) = fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213
+SIZE (rust/crates/os_pipe-0.9.2.crate) = 9707
+SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
+SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
+SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
+SIZE (rust/crates/rayon-1.5.1.crate) = 160424
+SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
+SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
+SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff
+SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582
+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/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/shared_child-0.3.5.crate) = 6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a
+SIZE (rust/crates/shared_child-0.3.5.crate) = 8333
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
+SIZE (rust/crates/subtle-2.4.1.crate) = 12630
+SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
+SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
+SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
+SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
+SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
+SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
+SIZE (rust/crates/typenum-1.15.0.crate) = 40741
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wild-2.0.4.crate) = 035793abb854745033f01a07647a79831eba29ec0be377205f2a25b0aa830020
+SIZE (rust/crates/wild-2.0.4.crate) = 7068
+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 (blake3-team-BLAKE3-1.3.1_GH0.tar.gz) = 112becf0983b5c83efff07f20b458f2dbcdbd768fd46502e7ddd831b83550109
+SIZE (blake3-team-BLAKE3-1.3.1_GH0.tar.gz) = 217773
diff --git a/sysutils/b3sum/pkg-descr b/sysutils/b3sum/pkg-descr
new file mode 100644
index 000000000000..542b3d3d1a2b
--- /dev/null
+++ b/sysutils/b3sum/pkg-descr
@@ -0,0 +1,16 @@
+Command line implementation of the BLAKE3 hash function
+
+BLAKE3 is a cryptographic hash function that is:
+
+- Much faster than MD5, SHA-1, SHA-2, SHA-3, and BLAKE2.
+- Secure, unlike MD5 and SHA-1. Ssecure against length extension, unlike SHA-2.
+- Highly parallelizable across any number of threads and SIMD lanes,
+  because it's a Merkle tree on the inside.
+- Capable of verified streaming and incremental updates,
+  again because it's a Merkle tree.
+- A PRF, MAC, KDF, and XOF, as well as a regular hash.
+- One algorithm with no variants, which is fast on x86-64 and
+  also on smaller architectures.
+
+
+WWW: https://github.com/blake3-team/blake3