From d124c0c4c4a8affd543890756eaba670417fc52c Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Sat, 31 Dec 2022 22:22:30 -0800 Subject: [PATCH] sysutils/runiq: New port: Efficient way to filter duplicate lines from input, a la uniq --- sysutils/Makefile | 1 + sysutils/runiq/Makefile | 86 ++++++++++++++++++++++++++ sysutils/runiq/distinfo | 129 +++++++++++++++++++++++++++++++++++++++ sysutils/runiq/pkg-descr | 5 ++ 4 files changed, 221 insertions(+) create mode 100644 sysutils/runiq/Makefile create mode 100644 sysutils/runiq/distinfo create mode 100644 sysutils/runiq/pkg-descr diff --git a/sysutils/Makefile b/sysutils/Makefile index 65fdd0197bd7..fa4b101f6938 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1280,6 +1280,7 @@ SUBDIR += rubygem-yell SUBDIR += rundeck2 SUBDIR += rundeck3 + SUBDIR += runiq SUBDIR += runit SUBDIR += runit-faster SUBDIR += runj diff --git a/sysutils/runiq/Makefile b/sysutils/runiq/Makefile new file mode 100644 index 000000000000..9139ffa2956c --- /dev/null +++ b/sysutils/runiq/Makefile @@ -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 diff --git a/sysutils/runiq/distinfo b/sysutils/runiq/distinfo new file mode 100644 index 000000000000..274b4f0df0b1 --- /dev/null +++ b/sysutils/runiq/distinfo @@ -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 diff --git a/sysutils/runiq/pkg-descr b/sysutils/runiq/pkg-descr new file mode 100644 index 000000000000..c4fe3b08ce34 --- /dev/null +++ b/sysutils/runiq/pkg-descr @@ -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.