git: 61ae013ede86 - main - textproc/jaq: New port: jq clone focussed on correctness, speed, and simplicity

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 02 Jan 2023 10:11:39 UTC
The branch main has been updated by yuri:

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

commit 61ae013ede86f6d35422814c9c2449770f4b8757
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-02 09:03:30 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-02 10:11:30 +0000

    textproc/jaq: New port: jq clone focussed on correctness, speed, and simplicity
---
 textproc/Makefile      |   1 +
 textproc/jaq/Makefile  |  85 ++++++++++++++++++++++++++++++++++
 textproc/jaq/distinfo  | 123 +++++++++++++++++++++++++++++++++++++++++++++++++
 textproc/jaq/pkg-descr |   7 +++
 4 files changed, 216 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index 74a669922f57..24dc57dc25bc 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -319,6 +319,7 @@
     SUBDIR += itstool
     SUBDIR += jade
     SUBDIR += jalingo
+    SUBDIR += jaq
     SUBDIR += jarnal
     SUBDIR += jarowinkler-cpp
     SUBDIR += java2html
diff --git a/textproc/jaq/Makefile b/textproc/jaq/Makefile
new file mode 100644
index 000000000000..73aeccab0ed1
--- /dev/null
+++ b/textproc/jaq/Makefile
@@ -0,0 +1,85 @@
+PORTNAME=	jaq
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.9.0
+CATEGORIES=	textproc
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	jq clone focussed on correctness, speed, and simplicity
+WWW=		https://github.com/01mf02/jaq
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/../LICENSE-MIT
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	01mf02
+
+WRKSRC_SUBDIR=	jaq
+
+CARGO_CRATES=	ahash-0.3.8 \
+		ansi_term-0.12.1 \
+		ariadne-0.1.5 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		bincode-1.3.3 \
+		bitflags-1.3.2 \
+		cc-1.0.76 \
+		cfg-if-1.0.0 \
+		chumsky-0.8.0 \
+		clap-4.0.22 \
+		clap_derive-4.0.21 \
+		clap_lex-0.3.0 \
+		colored_json-2.1.0 \
+		const-random-0.1.15 \
+		const-random-macro-0.1.15 \
+		crunchy-0.2.2 \
+		dyn-clone-1.0.9 \
+		either-1.8.0 \
+		env_logger-0.9.3 \
+		fastrand-1.8.0 \
+		getrandom-0.2.8 \
+		hashbrown-0.12.3 \
+		heck-0.4.0 \
+		hermit-abi-0.1.19 \
+		indexmap-1.9.1 \
+		instant-0.1.12 \
+		itertools-0.10.5 \
+		itoa-1.0.4 \
+		libc-0.2.137 \
+		libmimalloc-sys-0.1.27 \
+		log-0.4.17 \
+		memmap-0.7.0 \
+		mimalloc-0.1.31 \
+		once_cell-1.16.0 \
+		os_str_bytes-6.3.1 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro-hack-0.5.19 \
+		proc-macro2-1.0.47 \
+		quote-1.0.21 \
+		redox_syscall-0.2.16 \
+		remove_dir_all-0.5.3 \
+		ryu-1.0.11 \
+		serde-1.0.147 \
+		serde_derive-1.0.147 \
+		serde_json-1.0.87 \
+		strsim-0.10.0 \
+		syn-1.0.103 \
+		tempfile-3.3.0 \
+		termcolor-1.1.3 \
+		tiny-keccak-2.0.2 \
+		unicode-ident-1.0.5 \
+		version_check-0.9.4 \
+		wasi-0.11.0+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 \
+		yansi-0.5.1
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/textproc/jaq/distinfo b/textproc/jaq/distinfo
new file mode 100644
index 000000000000..819599b4bcbe
--- /dev/null
+++ b/textproc/jaq/distinfo
@@ -0,0 +1,123 @@
+TIMESTAMP = 1672649515
+SHA256 (rust/crates/ahash-0.3.8.crate) = e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217
+SIZE (rust/crates/ahash-0.3.8.crate) = 28650
+SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
+SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
+SHA256 (rust/crates/ariadne-0.1.5.crate) = f1cb2a2046bea8ce5e875551f5772024882de0b540c7f93dfc5d6cf1ca8b030c
+SIZE (rust/crates/ariadne-0.1.5.crate) = 15971
+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/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/cc-1.0.76.crate) = 76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f
+SIZE (rust/crates/cc-1.0.76.crate) = 60132
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chumsky-0.8.0.crate) = 8d02796e4586c6c41aeb68eae9bfb4558a522c35f1430c14b40136c3706e09e4
+SIZE (rust/crates/chumsky-0.8.0.crate) = 65390
+SHA256 (rust/crates/clap-4.0.22.crate) = 91b9970d7505127a162fdaa9b96428d28a479ba78c9ec7550a63a5d9863db682
+SIZE (rust/crates/clap-4.0.22.crate) = 205175
+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/colored_json-2.1.0.crate) = 1fd32eb54d016e203b7c2600e3a7802c75843a92e38ccc4869aefeca21771a64
+SIZE (rust/crates/colored_json-2.1.0.crate) = 12336
+SHA256 (rust/crates/const-random-0.1.15.crate) = 368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e
+SIZE (rust/crates/const-random-0.1.15.crate) = 6699
+SHA256 (rust/crates/const-random-macro-0.1.15.crate) = 9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb
+SIZE (rust/crates/const-random-macro-0.1.15.crate) = 6680
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
+SHA256 (rust/crates/dyn-clone-1.0.9.crate) = 4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2
+SIZE (rust/crates/dyn-clone-1.0.9.crate) = 11903
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/env_logger-0.9.3.crate) = a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7
+SIZE (rust/crates/env_logger-0.9.3.crate) = 33291
+SHA256 (rust/crates/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499
+SIZE (rust/crates/fastrand-1.8.0.crate) = 11369
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+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.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e
+SIZE (rust/crates/indexmap-1.9.1.crate) = 54114
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.4.crate) = 4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc
+SIZE (rust/crates/itoa-1.0.4.crate) = 10601
+SHA256 (rust/crates/libc-0.2.137.crate) = fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89
+SIZE (rust/crates/libc-0.2.137.crate) = 606185
+SHA256 (rust/crates/libmimalloc-sys-0.1.27.crate) = c37567b180c1af25924b303ddf1ee4467653783440c62360beb2b322a4d93361
+SIZE (rust/crates/libmimalloc-sys-0.1.27.crate) = 1140201
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/memmap-0.7.0.crate) = 6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b
+SIZE (rust/crates/memmap-0.7.0.crate) = 15214
+SHA256 (rust/crates/mimalloc-0.1.31.crate) = b32d6a9ac92d0239d7bfa31137fb47634ac7272a3c11bcee91379ac100781670
+SIZE (rust/crates/mimalloc-0.1.31.crate) = 5017
+SHA256 (rust/crates/once_cell-1.16.0.crate) = 86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860
+SIZE (rust/crates/once_cell-1.16.0.crate) = 32120
+SHA256 (rust/crates/os_str_bytes-6.3.1.crate) = 3baf96e39c5359d2eb0dd6ccb42c62b91d9678aa68160d261b9e0ccbf9e9dea9
+SIZE (rust/crates/os_str_bytes-6.3.1.crate) = 22934
+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-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
+SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
+SHA256 (rust/crates/proc-macro2-1.0.47.crate) = 5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725
+SIZE (rust/crates/proc-macro2-1.0.47.crate) = 41955
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+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/ryu-1.0.11.crate) = 4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09
+SIZE (rust/crates/ryu-1.0.11.crate) = 47007
+SHA256 (rust/crates/serde-1.0.147.crate) = d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965
+SIZE (rust/crates/serde-1.0.147.crate) = 76697
+SHA256 (rust/crates/serde_derive-1.0.147.crate) = 4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852
+SIZE (rust/crates/serde_derive-1.0.147.crate) = 54861
+SHA256 (rust/crates/serde_json-1.0.87.crate) = 6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45
+SIZE (rust/crates/serde_json-1.0.87.crate) = 144383
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.103.crate) = a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d
+SIZE (rust/crates/syn-1.0.103.crate) = 236495
+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/tiny-keccak-2.0.2.crate) = 2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237
+SIZE (rust/crates/tiny-keccak-2.0.2.crate) = 20129
+SHA256 (rust/crates/unicode-ident-1.0.5.crate) = 6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3
+SIZE (rust/crates/unicode-ident-1.0.5.crate) = 35455
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+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/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/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (01mf02-jaq-v0.9.0_GH0.tar.gz) = 695ac97fa08d64f7e7cb4e9a49b721d26007ec9f75026254fddc341328f87b26
+SIZE (01mf02-jaq-v0.9.0_GH0.tar.gz) = 53627
diff --git a/textproc/jaq/pkg-descr b/textproc/jaq/pkg-descr
new file mode 100644
index 000000000000..bfcfb17f1fa2
--- /dev/null
+++ b/textproc/jaq/pkg-descr
@@ -0,0 +1,7 @@
+jaq is a clone of the JSON data processing tool jq. jaq aims to support
+a large subset of jq's syntax and operations.
+
+jaq focusses on three goals:
+* Correctness
+* Performance
+* Simplicity