sysutils/runiq: New port: Efficient way to filter duplicate lines from input, a la uniq

This commit is contained in:
Yuri Victorovich 2022-12-31 22:22:30 -08:00
parent 881215d474
commit d124c0c4c4
4 changed files with 221 additions and 0 deletions

View File

@ -1280,6 +1280,7 @@
SUBDIR += rubygem-yell SUBDIR += rubygem-yell
SUBDIR += rundeck2 SUBDIR += rundeck2
SUBDIR += rundeck3 SUBDIR += rundeck3
SUBDIR += runiq
SUBDIR += runit SUBDIR += runit
SUBDIR += runit-faster SUBDIR += runit-faster
SUBDIR += runj SUBDIR += runj

86
sysutils/runiq/Makefile Normal file
View File

@ -0,0 +1,86 @@
PORTNAME= runiq
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.2
CATEGORIES= sysutils
MAINTAINER= yuri@FreeBSD.org
COMMENT= Efficient way to filter duplicate lines from input, a la uniq
WWW= https://github.com/whitfin/runiq
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cargo
USE_GITHUB= yes
GH_ACCOUNT= whitfin
CARGO_CRATES= atty-0.2.14 \
autocfg-1.1.0 \
bitflags-1.3.2 \
bytelines-2.4.0 \
bytes-1.3.0 \
cfg-if-1.0.0 \
clap-3.2.23 \
clap_derive-3.2.18 \
clap_lex-0.2.4 \
fnv-1.0.7 \
futures-0.3.25 \
futures-channel-0.3.25 \
futures-core-0.3.25 \
futures-executor-0.3.25 \
futures-io-0.3.25 \
futures-macro-0.3.25 \
futures-sink-0.3.25 \
futures-task-0.3.25 \
futures-util-0.3.25 \
getrandom-0.2.8 \
hashbrown-0.12.3 \
heck-0.4.0 \
hermit-abi-0.1.19 \
indexmap-1.9.2 \
libc-0.2.139 \
memchr-2.5.0 \
once_cell-1.17.0 \
os_str_bytes-6.4.1 \
pin-project-lite-0.2.9 \
pin-utils-0.1.0 \
ppv-lite86-0.2.17 \
proc-macro-error-1.0.4 \
proc-macro-error-attr-1.0.4 \
proc-macro2-1.0.49 \
quote-1.0.23 \
rand-0.8.5 \
rand_chacha-0.3.1 \
rand_core-0.6.4 \
scalable_bloom_filter-0.1.1 \
siphasher-0.2.3 \
slab-0.4.7 \
static_assertions-1.1.0 \
strsim-0.10.0 \
syn-1.0.107 \
termcolor-1.1.3 \
textwrap-0.16.0 \
tokio-1.23.0 \
twox-hash-1.6.3 \
unicode-ident-1.0.6 \
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 \
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
PLIST_FILES= bin/${PORTNAME}
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
.include <bsd.port.mk>

129
sysutils/runiq/distinfo Normal file
View File

@ -0,0 +1,129 @@
TIMESTAMP = 1672550623
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/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
SHA256 (rust/crates/bytelines-2.4.0.crate) = 784face321c535fcd9a1456632fa720aa53ea0640b57341d961c8c09de2da59f
SIZE (rust/crates/bytelines-2.4.0.crate) = 5334
SHA256 (rust/crates/bytes-1.3.0.crate) = dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c
SIZE (rust/crates/bytes-1.3.0.crate) = 57563
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.2.23.crate) = 71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5
SIZE (rust/crates/clap-3.2.23.crate) = 219435
SHA256 (rust/crates/clap_derive-3.2.18.crate) = ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65
SIZE (rust/crates/clap_derive-3.2.18.crate) = 28208
SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5
SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
SHA256 (rust/crates/futures-0.3.25.crate) = 38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0
SIZE (rust/crates/futures-0.3.25.crate) = 51664
SHA256 (rust/crates/futures-channel-0.3.25.crate) = 52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed
SIZE (rust/crates/futures-channel-0.3.25.crate) = 31974
SHA256 (rust/crates/futures-core-0.3.25.crate) = 04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac
SIZE (rust/crates/futures-core-0.3.25.crate) = 14623
SHA256 (rust/crates/futures-executor-0.3.25.crate) = 7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2
SIZE (rust/crates/futures-executor-0.3.25.crate) = 17744
SHA256 (rust/crates/futures-io-0.3.25.crate) = 00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb
SIZE (rust/crates/futures-io-0.3.25.crate) = 8911
SHA256 (rust/crates/futures-macro-0.3.25.crate) = bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d
SIZE (rust/crates/futures-macro-0.3.25.crate) = 11256
SHA256 (rust/crates/futures-sink-0.3.25.crate) = 39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9
SIZE (rust/crates/futures-sink-0.3.25.crate) = 7854
SHA256 (rust/crates/futures-task-0.3.25.crate) = 2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea
SIZE (rust/crates/futures-task-0.3.25.crate) = 11844
SHA256 (rust/crates/futures-util-0.3.25.crate) = 197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6
SIZE (rust/crates/futures-util-0.3.25.crate) = 155866
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.2.crate) = 1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399
SIZE (rust/crates/indexmap-1.9.2.crate) = 54627
SHA256 (rust/crates/libc-0.2.139.crate) = 201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79
SIZE (rust/crates/libc-0.2.139.crate) = 638983
SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
SIZE (rust/crates/memchr-2.5.0.crate) = 65812
SHA256 (rust/crates/once_cell-1.17.0.crate) = 6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66
SIZE (rust/crates/once_cell-1.17.0.crate) = 32736
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/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
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.49.crate) = 57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5
SIZE (rust/crates/proc-macro2-1.0.49.crate) = 41977
SHA256 (rust/crates/quote-1.0.23.crate) = 8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b
SIZE (rust/crates/quote-1.0.23.crate) = 28058
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/scalable_bloom_filter-0.1.1.crate) = 2afc436fdd5e4299ee7560dac0e79a41554e7d4f13986f9dbd720f2df5e751c4
SIZE (rust/crates/scalable_bloom_filter-0.1.1.crate) = 5068
SHA256 (rust/crates/siphasher-0.2.3.crate) = 0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac
SIZE (rust/crates/siphasher-0.2.3.crate) = 8717
SHA256 (rust/crates/slab-0.4.7.crate) = 4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef
SIZE (rust/crates/slab-0.4.7.crate) = 16647
SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/syn-1.0.107.crate) = 1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5
SIZE (rust/crates/syn-1.0.107.crate) = 237539
SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
SHA256 (rust/crates/tokio-1.23.0.crate) = eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46
SIZE (rust/crates/tokio-1.23.0.crate) = 621207
SHA256 (rust/crates/twox-hash-1.6.3.crate) = 97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675
SIZE (rust/crates/twox-hash-1.6.3.crate) = 21842
SHA256 (rust/crates/unicode-ident-1.0.6.crate) = 84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc
SIZE (rust/crates/unicode-ident-1.0.6.crate) = 42158
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/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 (whitfin-runiq-v1.2.2_GH0.tar.gz) = 27d0274c725137c34b32d5ce76cfc92bb71a4e49a427a307f85f7b8c5f6fd2f4
SIZE (whitfin-runiq-v1.2.2_GH0.tar.gz) = 8689

5
sysutils/runiq/pkg-descr Normal file
View File

@ -0,0 +1,5 @@
runiq offers an efficient way (in both time and space) to filter duplicate
entries (lines) from texual input. This project was born from neek, but
optimized for both speed and memory. Several filtering options are supported
depending on your data and tradeoffs you wish to make between speed and memory
usage.