git: df4348d07e52 - main - devel/parol: New port: LL(k) parser generator for Rust

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 06 Jan 2023 07:18:05 UTC
The branch main has been updated by yuri:

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

commit df4348d07e52e04295ffc13364dc8fe2f28f1451
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-06 02:52:27 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-06 07:17:55 +0000

    devel/parol: New port: LL(k) parser generator for Rust
---
 devel/Makefile        |   1 +
 devel/parol/Makefile  | 162 ++++++++++++++++++++++++++++++
 devel/parol/distinfo  | 271 ++++++++++++++++++++++++++++++++++++++++++++++++++
 devel/parol/pkg-descr |  15 +++
 4 files changed, 449 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 36e1ade63dcf..6f071bb09b29 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -3805,6 +3805,7 @@
     SUBDIR += papi
     SUBDIR += papilio-loader
     SUBDIR += parallel-hashmap
+    SUBDIR += parol
     SUBDIR += pas2dox
     SUBDIR += pasm
     SUBDIR += patch
diff --git a/devel/parol/Makefile b/devel/parol/Makefile
new file mode 100644
index 000000000000..480fbeb8c567
--- /dev/null
+++ b/devel/parol/Makefile
@@ -0,0 +1,162 @@
+PORTNAME=	parol
+DISTVERSION=	g20221230
+CATEGORIES=	devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	LL(k) parser generator for Rust
+WWW=		https://github.com/jsinger67/parol
+
+LICENSE=	APACHE20 MIT
+LICENSE_COMB=	dual
+LICENSE_FILE_APACHE20=	${WRKSRC}/../../LICENSE-APACHE
+LICENSE_FILE_MIT=	${WRKSRC}/../../LICENSE-MIT
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	jsinger67
+GH_TAGNAME=	e0c4a1d
+
+WRKSRC_SUBDIR=	crates/parol
+
+CARGO_CRATES=	addr2line-0.17.0 \
+		adler-1.0.2 \
+		ahash-0.7.6 \
+		aho-corasick-0.7.20 \
+		anyhow-1.0.68 \
+		assert_cmd-2.0.7 \
+		atty-0.2.14 \
+		backtrace-0.3.66 \
+		bitflags-1.3.2 \
+		bstr-1.1.0 \
+		cc-1.0.77 \
+		cfg-if-1.0.0 \
+		clap-4.0.26 \
+		clap_derive-4.0.21 \
+		clap_lex-0.3.0 \
+		crossbeam-channel-0.5.6 \
+		crossbeam-utils-0.8.14 \
+		ctor-0.1.26 \
+		darling-0.14.2 \
+		darling_core-0.14.2 \
+		darling_macro-0.14.2 \
+		derive-new-0.5.9 \
+		derive_builder-0.12.0 \
+		derive_builder_core-0.12.0 \
+		derive_builder_macro-0.12.0 \
+		diff-0.1.13 \
+		difflib-0.4.0 \
+		doc-comment-0.3.3 \
+		either-1.8.0 \
+		env_logger-0.10.0 \
+		errno-0.2.8 \
+		errno-dragonfly-0.1.2 \
+		fastrand-1.8.0 \
+		fnv-1.0.7 \
+		form_urlencoded-1.1.0 \
+		function_name-0.3.0 \
+		function_name-proc-macro-0.3.0 \
+		getrandom-0.2.8 \
+		gimli-0.26.2 \
+		hashbrown-0.12.3 \
+		heck-0.4.0 \
+		hermit-abi-0.1.19 \
+		hermit-abi-0.2.6 \
+		humantime-2.1.0 \
+		id_tree-1.8.0 \
+		id_tree_layout-2.0.4 \
+		ident_case-1.0.1 \
+		idna-0.3.0 \
+		instant-0.1.12 \
+		io-lifetimes-1.0.3 \
+		is-terminal-0.4.1 \
+		is_ci-1.1.1 \
+		itertools-0.10.5 \
+		itoa-1.0.4 \
+		libc-0.2.137 \
+		linux-raw-sys-0.1.3 \
+		log-0.4.17 \
+		lsp-server-0.6.0 \
+		lsp-types-0.93.2 \
+		memchr-2.5.0 \
+		miette-5.5.0 \
+		miette-derive-5.5.0 \
+		miniz_oxide-0.5.4 \
+		object-0.29.0 \
+		once_cell-1.16.0 \
+		os_str_bytes-6.4.1 \
+		output_vt100-0.1.3 \
+		owo-colors-3.5.0 \
+		percent-encoding-2.2.0 \
+		ppv-lite86-0.2.17 \
+		predicates-2.1.4 \
+		predicates-core-1.0.5 \
+		predicates-tree-1.0.7 \
+		pretty_assertions-1.3.0 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.47 \
+		quote-1.0.21 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		rand_regex-0.15.1 \
+		redox_syscall-0.2.16 \
+		regex-1.7.0 \
+		regex-automata-0.1.10 \
+		regex-syntax-0.6.28 \
+		remove_dir_all-0.5.3 \
+		rustc-demangle-0.1.21 \
+		rustix-0.36.4 \
+		ryu-1.0.11 \
+		serde-1.0.147 \
+		serde_derive-1.0.147 \
+		serde_json-1.0.89 \
+		serde_repr-0.1.9 \
+		smawk-0.3.1 \
+		snowflake-1.3.0 \
+		strsim-0.10.0 \
+		supports-color-1.3.1 \
+		supports-hyperlinks-1.2.0 \
+		supports-unicode-1.0.2 \
+		syn-1.0.103 \
+		tempfile-3.3.0 \
+		termcolor-1.1.3 \
+		terminal_size-0.1.17 \
+		termtree-0.4.0 \
+		textwrap-0.15.2 \
+		thiserror-1.0.37 \
+		thiserror-impl-1.0.37 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.0 \
+		ume-0.1.0 \
+		unicode-bidi-0.3.8 \
+		unicode-ident-1.0.5 \
+		unicode-linebreak-0.1.4 \
+		unicode-normalization-0.1.22 \
+		unicode-width-0.1.10 \
+		url-2.3.1 \
+		version_check-0.9.4 \
+		wait-timeout-0.2.0 \
+		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 \
+		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 \
+		xml_writer-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/devel/parol/distinfo b/devel/parol/distinfo
new file mode 100644
index 000000000000..4a309ed98fd3
--- /dev/null
+++ b/devel/parol/distinfo
@@ -0,0 +1,271 @@
+TIMESTAMP = 1672972375
+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/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
+SIZE (rust/crates/ahash-0.7.6.crate) = 38030
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/anyhow-1.0.68.crate) = 2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61
+SIZE (rust/crates/anyhow-1.0.68.crate) = 43882
+SHA256 (rust/crates/assert_cmd-2.0.7.crate) = fa3d466004a8b4cb1bc34044240a2fd29d17607e2e3bd613eb44fd48e8100da3
+SIZE (rust/crates/assert_cmd-2.0.7.crate) = 23600
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/backtrace-0.3.66.crate) = cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7
+SIZE (rust/crates/backtrace-0.3.66.crate) = 74397
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bstr-1.1.0.crate) = b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b
+SIZE (rust/crates/bstr-1.1.0.crate) = 340878
+SHA256 (rust/crates/cc-1.0.77.crate) = e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4
+SIZE (rust/crates/cc-1.0.77.crate) = 60723
+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.0.26.crate) = 2148adefda54e14492fb9bddcc600b4344c5d1a3123bd666dcb939c6f0e0e57e
+SIZE (rust/crates/clap-4.0.26.crate) = 205197
+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/crossbeam-channel-0.5.6.crate) = c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521
+SIZE (rust/crates/crossbeam-channel-0.5.6.crate) = 90292
+SHA256 (rust/crates/crossbeam-utils-0.8.14.crate) = 4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f
+SIZE (rust/crates/crossbeam-utils-0.8.14.crate) = 42127
+SHA256 (rust/crates/ctor-0.1.26.crate) = 6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096
+SIZE (rust/crates/ctor-0.1.26.crate) = 10803
+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/derive-new-0.5.9.crate) = 3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535
+SIZE (rust/crates/derive-new-0.5.9.crate) = 7733
+SHA256 (rust/crates/derive_builder-0.12.0.crate) = 8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8
+SIZE (rust/crates/derive_builder-0.12.0.crate) = 35456
+SHA256 (rust/crates/derive_builder_core-0.12.0.crate) = c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f
+SIZE (rust/crates/derive_builder_core-0.12.0.crate) = 31438
+SHA256 (rust/crates/derive_builder_macro-0.12.0.crate) = ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e
+SIZE (rust/crates/derive_builder_macro-0.12.0.crate) = 6288
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
+SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/env_logger-0.10.0.crate) = 85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0
+SIZE (rust/crates/env_logger-0.10.0.crate) = 36574
+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/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499
+SIZE (rust/crates/fastrand-1.8.0.crate) = 11369
+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/function_name-0.3.0.crate) = b1ab577a896d09940b5fe12ec5ae71f9d8211fff62c919c03a3750a9901e98a7
+SIZE (rust/crates/function_name-0.3.0.crate) = 4017
+SHA256 (rust/crates/function_name-proc-macro-0.3.0.crate) = 673464e1e314dd67a0fd9544abc99e8eb28d0c7e3b69b033bcff9b2d00b87333
+SIZE (rust/crates/function_name-proc-macro-0.3.0.crate) = 2020
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/gimli-0.26.2.crate) = 22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d
+SIZE (rust/crates/gimli-0.26.2.crate) = 717340
+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/hermit-abi-0.2.6.crate) = ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7
+SIZE (rust/crates/hermit-abi-0.2.6.crate) = 13027
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/id_tree-1.8.0.crate) = bcd9db8dd5be8bde5a2624ed4b2dfb74368fe7999eb9c4940fd3ca344b61071a
+SIZE (rust/crates/id_tree-1.8.0.crate) = 30170
+SHA256 (rust/crates/id_tree_layout-2.0.4.crate) = 142f4c1bc1d715957b02be1022312a491519cb69bbada92572e6e47af737dde3
+SIZE (rust/crates/id_tree_layout-2.0.4.crate) = 14260
+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.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+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.1.crate) = 927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330
+SIZE (rust/crates/is-terminal-0.4.1.crate) = 6892
+SHA256 (rust/crates/is_ci-1.1.1.crate) = 616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb
+SIZE (rust/crates/is_ci-1.1.1.crate) = 4143
+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/linux-raw-sys-0.1.3.crate) = 8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f
+SIZE (rust/crates/linux-raw-sys-0.1.3.crate) = 878488
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/lsp-server-0.6.0.crate) = f70570c1c29cf6654029b8fe201a5507c153f0d85be6f234d471d756bc36775a
+SIZE (rust/crates/lsp-server-0.6.0.crate) = 15381
+SHA256 (rust/crates/lsp-types-0.93.2.crate) = 9be6e9c7e2d18f651974370d7aff703f9513e0df6e464fd795660edc77e6ca51
+SIZE (rust/crates/lsp-types-0.93.2.crate) = 59507
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/miette-5.5.0.crate) = 4afd9b301defa984bbdbe112b4763e093ed191750a0d914a78c1106b2d0fe703
+SIZE (rust/crates/miette-5.5.0.crate) = 83150
+SHA256 (rust/crates/miette-derive-5.5.0.crate) = 97c2401ab7ac5282ca5c8b518a87635b1a93762b0b90b9990c509888eeccba29
+SIZE (rust/crates/miette-derive-5.5.0.crate) = 16184
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/object-0.29.0.crate) = 21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53
+SIZE (rust/crates/object-0.29.0.crate) = 237723
+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.4.1.crate) = 9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee
+SIZE (rust/crates/os_str_bytes-6.4.1.crate) = 23101
+SHA256 (rust/crates/output_vt100-0.1.3.crate) = 628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66
+SIZE (rust/crates/output_vt100-0.1.3.crate) = 4473
+SHA256 (rust/crates/owo-colors-3.5.0.crate) = c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f
+SIZE (rust/crates/owo-colors-3.5.0.crate) = 30310
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/predicates-2.1.4.crate) = f54fc5dc63ed3bbf19494623db4f3af16842c0d975818e469022d09e53f0aa05
+SIZE (rust/crates/predicates-2.1.4.crate) = 24140
+SHA256 (rust/crates/predicates-core-1.0.5.crate) = 72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2
+SIZE (rust/crates/predicates-core-1.0.5.crate) = 7773
+SHA256 (rust/crates/predicates-tree-1.0.7.crate) = 54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d
+SIZE (rust/crates/predicates-tree-1.0.7.crate) = 8145
+SHA256 (rust/crates/pretty_assertions-1.3.0.crate) = a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755
+SIZE (rust/crates/pretty_assertions-1.3.0.crate) = 79441
+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.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/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_regex-0.15.1.crate) = 8b2a9fe2d7d9eeaf3279d1780452a5bbd26b31b27938787ef1c3e930d1e9cfbd
+SIZE (rust/crates/rand_regex-0.15.1.crate) = 12990
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/regex-1.7.0.crate) = e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a
+SIZE (rust/crates/regex-1.7.0.crate) = 239421
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-syntax-0.6.28.crate) = 456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848
+SIZE (rust/crates/regex-syntax-0.6.28.crate) = 299288
+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/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
+SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
+SHA256 (rust/crates/rustix-0.36.4.crate) = cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23
+SIZE (rust/crates/rustix-0.36.4.crate) = 287355
+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.89.crate) = 020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db
+SIZE (rust/crates/serde_json-1.0.89.crate) = 144638
+SHA256 (rust/crates/serde_repr-0.1.9.crate) = 1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca
+SIZE (rust/crates/serde_repr-0.1.9.crate) = 9695
+SHA256 (rust/crates/smawk-0.3.1.crate) = f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043
+SIZE (rust/crates/smawk-0.3.1.crate) = 12840
+SHA256 (rust/crates/snowflake-1.3.0.crate) = 27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1
+SIZE (rust/crates/snowflake-1.3.0.crate) = 8073
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/supports-color-1.3.1.crate) = 8ba6faf2ca7ee42fdd458f4347ae0a9bd6bcc445ad7cb57ad82b383f18870d6f
+SIZE (rust/crates/supports-color-1.3.1.crate) = 9705
+SHA256 (rust/crates/supports-hyperlinks-1.2.0.crate) = 590b34f7c5f01ecc9d78dba4b3f445f31df750a67621cf31626f3b7441ce6406
+SIZE (rust/crates/supports-hyperlinks-1.2.0.crate) = 7564
+SHA256 (rust/crates/supports-unicode-1.0.2.crate) = a8b945e45b417b125a8ec51f1b7df2f8df7920367700d1f98aedd21e5735f8b2
+SIZE (rust/crates/supports-unicode-1.0.2.crate) = 7241
+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/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
+SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
+SHA256 (rust/crates/termtree-0.4.0.crate) = 95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8
+SIZE (rust/crates/termtree-0.4.0.crate) = 4449
+SHA256 (rust/crates/textwrap-0.15.2.crate) = b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d
+SIZE (rust/crates/textwrap-0.15.2.crate) = 53191
+SHA256 (rust/crates/thiserror-1.0.37.crate) = 10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e
+SIZE (rust/crates/thiserror-1.0.37.crate) = 18752
+SHA256 (rust/crates/thiserror-impl-1.0.37.crate) = 982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb
+SIZE (rust/crates/thiserror-impl-1.0.37.crate) = 15428
+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/ume-0.1.0.crate) = 11c524dc90cd71769e23e877ffdcb128f867970f1febdb8eb11a776f5f49e7fc
+SIZE (rust/crates/ume-0.1.0.crate) = 2502
+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.5.crate) = 6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3
+SIZE (rust/crates/unicode-ident-1.0.5.crate) = 35455
+SHA256 (rust/crates/unicode-linebreak-0.1.4.crate) = c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137
+SIZE (rust/crates/unicode-linebreak-0.1.4.crate) = 74962
+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/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
+SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
+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/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/xml_writer-0.4.0.crate) = 3a74a847d8392999f89e9668c4dd46283b91fd6fc1f34aa5ecf4ceaf8fa3258e
+SIZE (rust/crates/xml_writer-0.4.0.crate) = 3872
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (jsinger67-parol-g20221230-e0c4a1d_GH0.tar.gz) = 7b1d0a9acaeee8e15e122e107e7d99af06a6a1e37290f7aad81c0dbc468885f3
+SIZE (jsinger67-parol-g20221230-e0c4a1d_GH0.tar.gz) = 1690921
diff --git a/devel/parol/pkg-descr b/devel/parol/pkg-descr
new file mode 100644
index 000000000000..b553c300b1b3
--- /dev/null
+++ b/devel/parol/pkg-descr
@@ -0,0 +1,15 @@
+parol is a LL(k) parser generator for Rust.
+
+It's an installable command line tool that can generate complete parsers from
+a single grammar description file including all AST data types you would
+otherwise had to design by yourself. `parol` does this solely by analyzing your
+language's grammar.
+
+You can control the process of AST type generation. First you can mark elements
+for omission in your AST. Also you can specify your own types for language
+elements.
+
+Language description and language implementation is strictly separated in
+`parol`. Thus you can design your language's grammar without any need to process
+anything because generated parsers function by default as acceptors. This
+empowers you to do a real rapid prototyping of your grammar.