git: b6b142a1269a - main - lang/frawk: New port: Efficient awk-like language

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 03 Jan 2023 16:52:18 UTC
The branch main has been updated by yuri:

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

commit b6b142a1269a97d34264d6d90dcbbc9e9297794e
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-03 16:51:26 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-03 16:52:16 +0000

    lang/frawk: New port: Efficient awk-like language
---
 lang/Makefile        |   1 +
 lang/frawk/Makefile  | 183 +++++++++++++++++++++++++++++++
 lang/frawk/distinfo  | 303 +++++++++++++++++++++++++++++++++++++++++++++++++++
 lang/frawk/pkg-descr |   6 +
 4 files changed, 493 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index 2ad7df89bcd9..1d33c6adb75f 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -82,6 +82,7 @@
     SUBDIR += fpc-source
     SUBDIR += fpc-units
     SUBDIR += fpc-utils
+    SUBDIR += frawk
     SUBDIR += fsharp
     SUBDIR += fth
     SUBDIR += gambit-c
diff --git a/lang/frawk/Makefile b/lang/frawk/Makefile
new file mode 100644
index 000000000000..2978b4c54b16
--- /dev/null
+++ b/lang/frawk/Makefile
@@ -0,0 +1,183 @@
+PORTNAME=	frawk
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.7
+CATEGORIES=	lang
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Efficient awk-like language
+WWW=		https://github.com/ezrosent/frawk
+
+LICENSE=	APACHE20 MIT
+LICENSE_COMB=	dual
+LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
+LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
+
+BUILD_DEPENDS=	gmake:devel/gmake \
+		rust-nightly>0:lang/rust-nightly
+
+USES=		cargo gnome llvm:min=12,max=12,lib localbase:ldflags
+USE_GNOME=	libxml2
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ezrosent
+
+MAKE_ENV=	LLVM_SYS_120_PREFIX=${LOCALBASE}/llvm12
+
+CARGO_BUILDDEP=	no
+CARGO_CRATES=	ahash-0.7.6 \
+		aho-corasick-0.7.18 \
+		anyhow-1.0.56 \
+		arrayvec-0.7.2 \
+		ascii-canvas-3.0.0 \
+		assert_cmd-2.0.4 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		bit-set-0.5.2 \
+		bit-vec-0.6.3 \
+		bitflags-1.3.2 \
+		bstr-0.2.17 \
+		bumpalo-3.9.1 \
+		byteorder-1.4.3 \
+		cc-1.0.73 \
+		cfg-if-1.0.0 \
+		clap-3.1.8 \
+		cranelift-0.91.0 \
+		cranelift-bforest-0.91.0 \
+		cranelift-codegen-0.91.0 \
+		cranelift-codegen-meta-0.91.0 \
+		cranelift-codegen-shared-0.91.0 \
+		cranelift-egraph-0.91.0 \
+		cranelift-entity-0.91.0 \
+		cranelift-frontend-0.91.0 \
+		cranelift-isle-0.91.0 \
+		cranelift-jit-0.91.0 \
+		cranelift-module-0.91.0 \
+		cranelift-native-0.91.0 \
+		crossbeam-0.8.1 \
+		crossbeam-channel-0.5.4 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.8 \
+		crossbeam-queue-0.3.5 \
+		crossbeam-utils-0.8.8 \
+		crunchy-0.2.2 \
+		diff-0.1.12 \
+		difflib-0.4.0 \
+		dirs-next-2.0.0 \
+		dirs-sys-next-0.1.2 \
+		doc-comment-0.3.3 \
+		either-1.6.1 \
+		ena-0.14.0 \
+		fallible-iterator-0.2.0 \
+		fast-float-0.2.0 \
+		fastrand-1.7.0 \
+		fixedbitset-0.2.0 \
+		fixedbitset-0.4.1 \
+		fnv-1.0.7 \
+		fs_extra-1.2.0 \
+		fxhash-0.2.1 \
+		getrandom-0.2.6 \
+		gimli-0.26.1 \
+		globset-0.4.8 \
+		grep-cli-0.1.6 \
+		hashbrown-0.11.2 \
+		hashbrown-0.12.3 \
+		hermit-abi-0.1.19 \
+		indexmap-1.9.2 \
+		instant-0.1.12 \
+		itertools-0.10.3 \
+		itoa-1.0.1 \
+		lalrpop-0.19.7 \
+		lalrpop-util-0.19.7 \
+		lazy_static-1.4.0 \
+		libc-0.2.122 \
+		llvm-sys-120.2.3 \
+		lock_api-0.4.7 \
+		log-0.4.16 \
+		mach-0.3.2 \
+		memchr-2.4.1 \
+		memoffset-0.6.5 \
+		new_debug_unreachable-1.0.4 \
+		num_cpus-1.13.1 \
+		once_cell-1.10.0 \
+		os_str_bytes-6.0.0 \
+		parking_lot-0.12.0 \
+		parking_lot_core-0.9.2 \
+		paste-1.0.7 \
+		pest-2.1.3 \
+		petgraph-0.5.1 \
+		petgraph-0.6.0 \
+		phf_shared-0.10.0 \
+		pico-args-0.4.2 \
+		ppv-lite86-0.2.16 \
+		precomputed-hash-0.1.1 \
+		predicates-2.1.1 \
+		predicates-core-1.0.3 \
+		predicates-tree-1.0.5 \
+		proc-macro2-1.0.37 \
+		quote-1.0.17 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.3 \
+		redox_syscall-0.2.13 \
+		redox_users-0.4.3 \
+		regalloc2-0.5.1 \
+		regex-1.5.5 \
+		regex-automata-0.1.10 \
+		regex-syntax-0.6.25 \
+		region-2.2.0 \
+		remove_dir_all-0.5.3 \
+		rustversion-1.0.6 \
+		ryu-1.0.9 \
+		same-file-1.0.6 \
+		scopeguard-1.1.0 \
+		semver-0.11.0 \
+		semver-parser-0.10.2 \
+		siphasher-0.3.10 \
+		slice-group-by-0.3.0 \
+		smallvec-1.8.0 \
+		stable_deref_trait-1.2.0 \
+		string_cache-0.8.4 \
+		strsim-0.10.0 \
+		syn-1.0.91 \
+		target-lexicon-0.12.3 \
+		tempfile-3.3.0 \
+		term-0.7.0 \
+		termcolor-1.1.3 \
+		termtree-0.2.4 \
+		textwrap-0.15.0 \
+		thiserror-1.0.30 \
+		thiserror-impl-1.0.30 \
+		tikv-jemalloc-sys-0.4.3+5.2.1-patched.2 \
+		tikv-jemallocator-0.4.3 \
+		tiny-keccak-2.0.2 \
+		ucd-trie-0.1.3 \
+		unicode-xid-0.2.2 \
+		version_check-0.9.4 \
+		wait-timeout-0.2.0 \
+		wasi-0.10.2+wasi-snapshot-preview1 \
+		wasmtime-jit-icache-coherence-3.0.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.34.0 \
+		windows-sys-0.42.0 \
+		windows_aarch64_gnullvm-0.42.0 \
+		windows_aarch64_msvc-0.34.0 \
+		windows_aarch64_msvc-0.42.0 \
+		windows_i686_gnu-0.34.0 \
+		windows_i686_gnu-0.42.0 \
+		windows_i686_msvc-0.34.0 \
+		windows_i686_msvc-0.42.0 \
+		windows_x86_64_gnu-0.34.0 \
+		windows_x86_64_gnu-0.42.0 \
+		windows_x86_64_gnullvm-0.42.0 \
+		windows_x86_64_msvc-0.34.0 \
+		windows_x86_64_msvc-0.42.0
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/lang/frawk/distinfo b/lang/frawk/distinfo
new file mode 100644
index 000000000000..4220f3d45868
--- /dev/null
+++ b/lang/frawk/distinfo
@@ -0,0 +1,303 @@
+TIMESTAMP = 1672701246
+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.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/anyhow-1.0.56.crate) = 4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27
+SIZE (rust/crates/anyhow-1.0.56.crate) = 44780
+SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
+SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+SHA256 (rust/crates/ascii-canvas-3.0.0.crate) = 8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6
+SIZE (rust/crates/ascii-canvas-3.0.0.crate) = 10575
+SHA256 (rust/crates/assert_cmd-2.0.4.crate) = 93ae1ddd39efd67689deb1979d80bad3bf7f2b09c6e6117c8d1f2443b5e2f83e
+SIZE (rust/crates/assert_cmd-2.0.4.crate) = 22581
+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/bit-set-0.5.2.crate) = 6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de
+SIZE (rust/crates/bit-set-0.5.2.crate) = 14093
+SHA256 (rust/crates/bit-vec-0.6.3.crate) = 349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb
+SIZE (rust/crates/bit-vec-0.6.3.crate) = 19927
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
+SIZE (rust/crates/bstr-0.2.17.crate) = 330350
+SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
+SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+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/clap-3.1.8.crate) = 71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c
+SIZE (rust/crates/clap-3.1.8.crate) = 206494
+SHA256 (rust/crates/cranelift-0.91.0.crate) = 2d2082df9c9d5d55fbee89510b47749905ec39f3c96776262986f612c3de07ec
+SIZE (rust/crates/cranelift-0.91.0.crate) = 6094
+SHA256 (rust/crates/cranelift-bforest-0.91.0.crate) = fc952b310b24444fc14ab8b9cbe3fafd7e7329e3eec84c3a9b11d2b5cf6f3be1
+SIZE (rust/crates/cranelift-bforest-0.91.0.crate) = 30787
+SHA256 (rust/crates/cranelift-codegen-0.91.0.crate) = e73470419b33011e50dbf0f6439cbccbaabe9381de172da4e1b6efcda4bb8fa7
+SIZE (rust/crates/cranelift-codegen-0.91.0.crate) = 845772
+SHA256 (rust/crates/cranelift-codegen-meta-0.91.0.crate) = 911a1872464108a11ac9965c2b079e61bbdf1bc2e0b9001264264add2e12a38f
+SIZE (rust/crates/cranelift-codegen-meta-0.91.0.crate) = 72638
+SHA256 (rust/crates/cranelift-codegen-shared-0.91.0.crate) = e036f3f07adb24a86fb46e977e8fe03b18bb16b1eada949cf2c48283e5f8a862
+SIZE (rust/crates/cranelift-codegen-shared-0.91.0.crate) = 6226
+SHA256 (rust/crates/cranelift-egraph-0.91.0.crate) = 2d6c623f4b5d2a6bad32c403f03765d4484a827eb93ee78f8cb6219ef118fd59
+SIZE (rust/crates/cranelift-egraph-0.91.0.crate) = 15935
+SHA256 (rust/crates/cranelift-entity-0.91.0.crate) = 74385eb5e405b3562f0caa7bcc4ab9a93c7958dd5bcd0e910bffb7765eacd6fc
+SIZE (rust/crates/cranelift-entity-0.91.0.crate) = 26444
+SHA256 (rust/crates/cranelift-frontend-0.91.0.crate) = 8a4ac920422ee36bff2c66257fec861765e3d95a125cdf58d8c0f3bba7e40e61
+SIZE (rust/crates/cranelift-frontend-0.91.0.crate) = 36557
+SHA256 (rust/crates/cranelift-isle-0.91.0.crate) = c541263fb37ad2baa53ec8c37218ee5d02fa0984670d9419dedd8002ea68ff08
+SIZE (rust/crates/cranelift-isle-0.91.0.crate) = 60316
+SHA256 (rust/crates/cranelift-jit-0.91.0.crate) = 48a844e3500d313b69f3eec4b4e15bf9cdbd529756add06a468e0e281c0f6bee
+SIZE (rust/crates/cranelift-jit-0.91.0.crate) = 23262
+SHA256 (rust/crates/cranelift-module-0.91.0.crate) = 0699ea5fc6ca943456ba80ad49f80212bd6e2b846b992ec59f0f2b912a1d25fa
+SIZE (rust/crates/cranelift-module-0.91.0.crate) = 13875
+SHA256 (rust/crates/cranelift-native-0.91.0.crate) = 1de5d7a063e8563d670aaca38de16591a9b70dc66cbad4d49a7b4ae8395fd1ce
+SIZE (rust/crates/cranelift-native-0.91.0.crate) = 7739
+SHA256 (rust/crates/crossbeam-0.8.1.crate) = 4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845
+SIZE (rust/crates/crossbeam-0.8.1.crate) = 10429
+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-queue-0.3.5.crate) = 1f25d8400f4a7a5778f0e4e52384a48cbd9b5c495d110786187fc750075277a2
+SIZE (rust/crates/crossbeam-queue-0.3.5.crate) = 16341
+SHA256 (rust/crates/crossbeam-utils-0.8.8.crate) = 0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38
+SIZE (rust/crates/crossbeam-utils-0.8.8.crate) = 39681
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
+SHA256 (rust/crates/diff-0.1.12.crate) = 0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499
+SIZE (rust/crates/diff-0.1.12.crate) = 10223
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
+SIZE (rust/crates/dirs-next-2.0.0.crate) = 11689
+SHA256 (rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
+SIZE (rust/crates/dirs-sys-next-0.1.2.crate) = 10681
+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.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/ena-0.14.0.crate) = d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3
+SIZE (rust/crates/ena-0.14.0.crate) = 23052
+SHA256 (rust/crates/fallible-iterator-0.2.0.crate) = 4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7
+SIZE (rust/crates/fallible-iterator-0.2.0.crate) = 18509
+SHA256 (rust/crates/fast-float-0.2.0.crate) = 95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c
+SIZE (rust/crates/fast-float-0.2.0.crate) = 41609
+SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
+SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
+SHA256 (rust/crates/fixedbitset-0.2.0.crate) = 37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d
+SIZE (rust/crates/fixedbitset-0.2.0.crate) = 13597
+SHA256 (rust/crates/fixedbitset-0.4.1.crate) = 279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e
+SIZE (rust/crates/fixedbitset-0.4.1.crate) = 15551
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/fs_extra-1.2.0.crate) = 2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394
+SIZE (rust/crates/fs_extra-1.2.0.crate) = 29918
+SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
+SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
+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/globset-0.4.8.crate) = 10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd
+SIZE (rust/crates/globset-0.4.8.crate) = 22886
+SHA256 (rust/crates/grep-cli-0.1.6.crate) = 2dd110c34bb4460d0de5062413b773e385cbf8a85a63fc535590110a09e79e8a
+SIZE (rust/crates/grep-cli-0.1.6.crate) = 18949
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+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.2.crate) = 1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399
+SIZE (rust/crates/indexmap-1.9.2.crate) = 54627
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
+SIZE (rust/crates/itertools-0.10.3.crate) = 118661
+SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
+SIZE (rust/crates/itoa-1.0.1.crate) = 11059
+SHA256 (rust/crates/lalrpop-0.19.7.crate) = 852b75a095da6b69da8c5557731c3afd06525d4f655a4fc1c799e2ec8bc4dce4
+SIZE (rust/crates/lalrpop-0.19.7.crate) = 226752
+SHA256 (rust/crates/lalrpop-util-0.19.7.crate) = d6d265705249fe209280676d8f68887859fa42e1d34f342fc05bd47726a5e188
+SIZE (rust/crates/lalrpop-util-0.19.7.crate) = 10137
+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.122.crate) = ec647867e2bf0772e28c8bcde4f0d19a9216916e890543b5a03ed8ef27b8f259
+SIZE (rust/crates/libc-0.2.122.crate) = 577366
+SHA256 (rust/crates/llvm-sys-120.2.3.crate) = ce76f8393b7a607a906087666db398d872db739622e644e58552c198ccdfdf45
+SIZE (rust/crates/llvm-sys-120.2.3.crate) = 47934
+SHA256 (rust/crates/lock_api-0.4.7.crate) = 327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53
+SIZE (rust/crates/lock_api-0.4.7.crate) = 25371
+SHA256 (rust/crates/log-0.4.16.crate) = 6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8
+SIZE (rust/crates/log-0.4.16.crate) = 37758
+SHA256 (rust/crates/mach-0.3.2.crate) = b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa
+SIZE (rust/crates/mach-0.3.2.crate) = 19611
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
+SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
+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.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
+SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
+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/parking_lot-0.12.0.crate) = 87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58
+SIZE (rust/crates/parking_lot-0.12.0.crate) = 39761
+SHA256 (rust/crates/parking_lot_core-0.9.2.crate) = 995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37
+SIZE (rust/crates/parking_lot_core-0.9.2.crate) = 32254
+SHA256 (rust/crates/paste-1.0.7.crate) = 0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc
+SIZE (rust/crates/paste-1.0.7.crate) = 18285
+SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
+SIZE (rust/crates/pest-2.1.3.crate) = 77986
+SHA256 (rust/crates/petgraph-0.5.1.crate) = 467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7
+SIZE (rust/crates/petgraph-0.5.1.crate) = 147173
+SHA256 (rust/crates/petgraph-0.6.0.crate) = 4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f
+SIZE (rust/crates/petgraph-0.6.0.crate) = 182063
+SHA256 (rust/crates/phf_shared-0.10.0.crate) = b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096
+SIZE (rust/crates/phf_shared-0.10.0.crate) = 4095
+SHA256 (rust/crates/pico-args-0.4.2.crate) = db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468
+SIZE (rust/crates/pico-args-0.4.2.crate) = 11565
+SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
+SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
+SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
+SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
+SHA256 (rust/crates/predicates-2.1.1.crate) = a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c
+SIZE (rust/crates/predicates-2.1.1.crate) = 23150
+SHA256 (rust/crates/predicates-core-1.0.3.crate) = da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb
+SIZE (rust/crates/predicates-core-1.0.3.crate) = 7757
+SHA256 (rust/crates/predicates-tree-1.0.5.crate) = 4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032
+SIZE (rust/crates/predicates-tree-1.0.5.crate) = 8126
+SHA256 (rust/crates/proc-macro2-1.0.37.crate) = ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1
+SIZE (rust/crates/proc-macro2-1.0.37.crate) = 41378
+SHA256 (rust/crates/quote-1.0.17.crate) = 632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58
+SIZE (rust/crates/quote-1.0.17.crate) = 28629
+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.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
+SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+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/regalloc2-0.5.1.crate) = 300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c
+SIZE (rust/crates/regalloc2-0.5.1.crate) = 127205
+SHA256 (rust/crates/regex-1.5.5.crate) = 1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286
+SIZE (rust/crates/regex-1.5.5.crate) = 238119
+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.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
+SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/region-2.2.0.crate) = 877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0
+SIZE (rust/crates/region-2.2.0.crate) = 13395
+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/rustversion-1.0.6.crate) = f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f
+SIZE (rust/crates/rustversion-1.0.6.crate) = 18380
+SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
+SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
+SIZE (rust/crates/semver-0.11.0.crate) = 20826
+SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
+SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
+SHA256 (rust/crates/siphasher-0.3.10.crate) = 7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de
+SIZE (rust/crates/siphasher-0.3.10.crate) = 9889
+SHA256 (rust/crates/slice-group-by-0.3.0.crate) = 03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec
+SIZE (rust/crates/slice-group-by-0.3.0.crate) = 14015
+SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
+SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/string_cache-0.8.4.crate) = 213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08
+SIZE (rust/crates/string_cache-0.8.4.crate) = 16380
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.91.crate) = b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d
+SIZE (rust/crates/syn-1.0.91.crate) = 235996
+SHA256 (rust/crates/target-lexicon-0.12.3.crate) = d7fa7e55043acb85fca6b3c01485a2eeb6b69c5d21002e273c79e465f43b7ac1
+SIZE (rust/crates/target-lexicon-0.12.3.crate) = 22990
+SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
+SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
+SHA256 (rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f
+SIZE (rust/crates/term-0.7.0.crate) = 37082
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/termtree-0.2.4.crate) = 507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b
+SIZE (rust/crates/termtree-0.2.4.crate) = 4416
+SHA256 (rust/crates/textwrap-0.15.0.crate) = b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb
+SIZE (rust/crates/textwrap-0.15.0.crate) = 52998
+SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
+SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
+SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
+SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
+SHA256 (rust/crates/tikv-jemalloc-sys-0.4.3+5.2.1-patched.2.crate) = a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49
+SIZE (rust/crates/tikv-jemalloc-sys-0.4.3+5.2.1-patched.2.crate) = 660226
+SHA256 (rust/crates/tikv-jemallocator-0.4.3.crate) = a5b7bcecfafe4998587d636f9ae9d55eb9d0499877b88757767c346875067098
+SIZE (rust/crates/tikv-jemallocator-0.4.3.crate) = 14846
+SHA256 (rust/crates/tiny-keccak-2.0.2.crate) = 2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237
+SIZE (rust/crates/tiny-keccak-2.0.2.crate) = 20129
+SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
+SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+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.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/wasmtime-jit-icache-coherence-3.0.0.crate) = 22d9c2e92b0fc124d2cad6cb497a4c840580a7dd2414a37109e8c7cfe699c0ea
+SIZE (rust/crates/wasmtime-jit-icache-coherence-3.0.0.crate) = 4691
+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.34.0.crate) = 5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825
+SIZE (rust/crates/windows-sys-0.34.0.crate) = 3369228
+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.34.0.crate) = 17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d
+SIZE (rust/crates/windows_aarch64_msvc-0.34.0.crate) = 674445
+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.34.0.crate) = 2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed
+SIZE (rust/crates/windows_i686_gnu-0.34.0.crate) = 772343
+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.34.0.crate) = 9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956
+SIZE (rust/crates/windows_i686_msvc-0.34.0.crate) = 733497
+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.34.0.crate) = cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4
+SIZE (rust/crates/windows_x86_64_gnu-0.34.0.crate) = 744301
+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.34.0.crate) = d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9
+SIZE (rust/crates/windows_x86_64_msvc-0.34.0.crate) = 669900
+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 (ezrosent-frawk-v0.4.7_GH0.tar.gz) = 7ec5d93f3a9ee3c4bafc7db790ea471a568e94de657fbb74d7a3b641bf3e68e6
+SIZE (ezrosent-frawk-v0.4.7_GH0.tar.gz) = 320338
diff --git a/lang/frawk/pkg-descr b/lang/frawk/pkg-descr
new file mode 100644
index 000000000000..73c7453e5e81
--- /dev/null
+++ b/lang/frawk/pkg-descr
@@ -0,0 +1,6 @@
+frawk is a small programming language for writing short programs processing
+textual data. To a first approximation, it is an implementation of the
+AWK language; many common Awk programs produce equivalent output when passed
+to frawk. You might be interested in frawk if you want your scripts to handle
+escaped CSV/TSV like standard Awk fields, or if you want your scripts to
+execute faster.