git: 2234403553a2 - main - sysutils/wiper: New port: Disk analyser and cleanup tool

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 25 May 2024 00:11:49 UTC
The branch main has been updated by yuri:

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

commit 2234403553a2838f5f5c1f9d7d13bc52bd10f59c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-05-25 00:05:38 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-05-25 00:11:40 +0000

    sysutils/wiper: New port: Disk analyser and cleanup tool
---
 sysutils/Makefile        |   1 +
 sysutils/wiper/Makefile  | 163 +++++++++++++++++++++++++++
 sysutils/wiper/distinfo  | 279 +++++++++++++++++++++++++++++++++++++++++++++++
 sysutils/wiper/pkg-descr |  10 ++
 4 files changed, 453 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 7767bf3e5041..a304415bf290 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1618,6 +1618,7 @@
     SUBDIR += whowatch
     SUBDIR += wiimms
     SUBDIR += wimlib
+    SUBDIR += wiper
     SUBDIR += wmapmload
     SUBDIR += wmbluecpu
     SUBDIR += wmbsdbatt
diff --git a/sysutils/wiper/Makefile b/sysutils/wiper/Makefile
new file mode 100644
index 000000000000..980010b2ac04
--- /dev/null
+++ b/sysutils/wiper/Makefile
@@ -0,0 +1,163 @@
+PORTNAME=	wiper
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.1
+CATEGORIES=	sysutils
+PKGNAMESUFFIX=	-disk-cleanup-tool
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Disk analyser and cleanup tool
+WWW=		https://github.com/ikebastuz/wiper
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/License
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ikebastuz
+
+CARGO_CRATES=	ahash-0.8.7 \
+		allocator-api2-0.2.16 \
+		android-tzdata-0.1.1 \
+		android_system_properties-0.1.5 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		bitflags-2.4.2 \
+		bstr-1.9.1 \
+		bumpalo-3.16.0 \
+		cassowary-0.3.0 \
+		castaway-0.2.2 \
+		cc-1.0.83 \
+		cfg-if-1.0.0 \
+		chrono-0.4.38 \
+		compact_str-0.7.1 \
+		core-foundation-sys-0.8.6 \
+		crossbeam-0.8.4 \
+		crossbeam-channel-0.5.12 \
+		crossbeam-deque-0.8.5 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-queue-0.3.11 \
+		crossbeam-utils-0.8.19 \
+		crossterm-0.27.0 \
+		crossterm_winapi-0.9.1 \
+		either-1.9.0 \
+		form_urlencoded-1.2.1 \
+		futures-0.3.30 \
+		futures-channel-0.3.30 \
+		futures-core-0.3.30 \
+		futures-executor-0.3.30 \
+		futures-io-0.3.30 \
+		futures-macro-0.3.30 \
+		futures-sink-0.3.30 \
+		futures-task-0.3.30 \
+		futures-util-0.3.30 \
+		hashbrown-0.14.3 \
+		heck-0.4.1 \
+		hermit-abi-0.3.9 \
+		iana-time-zone-0.1.60 \
+		iana-time-zone-haiku-0.1.2 \
+		idna-0.5.0 \
+		indoc-2.0.4 \
+		is-docker-0.2.0 \
+		is-wsl-0.4.0 \
+		itertools-0.12.1 \
+		itoa-1.0.10 \
+		js-sys-0.3.69 \
+		jwalk-0.8.1 \
+		libc-0.2.153 \
+		lock_api-0.4.11 \
+		log-0.4.20 \
+		lru-0.12.2 \
+		malloc_buf-0.0.6 \
+		memchr-2.7.1 \
+		mio-0.8.10 \
+		normpath-1.2.0 \
+		num-traits-0.2.19 \
+		num_cpus-1.16.0 \
+		objc-0.2.7 \
+		once_cell-1.19.0 \
+		open-5.1.3 \
+		opener-0.7.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.9 \
+		paste-1.0.14 \
+		pathdiff-0.2.1 \
+		percent-encoding-2.3.1 \
+		pin-project-lite-0.2.13 \
+		pin-utils-0.1.0 \
+		proc-macro2-1.0.78 \
+		quote-1.0.35 \
+		ratatui-0.26.0 \
+		rayon-1.10.0 \
+		rayon-core-1.12.1 \
+		redox_syscall-0.4.1 \
+		regex-automata-0.4.6 \
+		rustversion-1.0.14 \
+		ryu-1.0.16 \
+		scopeguard-1.2.0 \
+		serde-1.0.201 \
+		serde_derive-1.0.201 \
+		signal-hook-0.3.17 \
+		signal-hook-mio-0.2.3 \
+		signal-hook-registry-1.4.1 \
+		slab-0.4.9 \
+		smallvec-1.13.1 \
+		stability-0.1.1 \
+		static_assertions-1.1.0 \
+		strum-0.26.1 \
+		strum_macros-0.26.1 \
+		syn-1.0.109 \
+		syn-2.0.48 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		trash-4.1.1 \
+		unicode-bidi-0.3.15 \
+		unicode-ident-1.0.12 \
+		unicode-normalization-0.1.23 \
+		unicode-segmentation-1.10.1 \
+		unicode-width-0.1.11 \
+		url-2.5.0 \
+		version_check-0.9.4 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.92 \
+		wasm-bindgen-backend-0.2.92 \
+		wasm-bindgen-macro-0.2.92 \
+		wasm-bindgen-macro-support-0.2.92 \
+		wasm-bindgen-shared-0.2.92 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.56.0 \
+		windows-core-0.52.0 \
+		windows-core-0.56.0 \
+		windows-implement-0.56.0 \
+		windows-interface-0.56.0 \
+		windows-result-0.1.1 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.5 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.5 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.5 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.5 \
+		windows_i686_gnullvm-0.52.5 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.5 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.5 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.5 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.5 \
+		zerocopy-0.7.32 \
+		zerocopy-derive-0.7.32
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/sysutils/wiper/distinfo b/sysutils/wiper/distinfo
new file mode 100644
index 000000000000..837a4ebecd46
--- /dev/null
+++ b/sysutils/wiper/distinfo
@@ -0,0 +1,279 @@
+TIMESTAMP = 1716591168
+SHA256 (rust/crates/ahash-0.8.7.crate) = 77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01
+SIZE (rust/crates/ahash-0.8.7.crate) = 42894
+SHA256 (rust/crates/allocator-api2-0.2.16.crate) = 0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5
+SIZE (rust/crates/allocator-api2-0.2.16.crate) = 59025
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+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/bitflags-2.4.2.crate) = ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf
+SIZE (rust/crates/bitflags-2.4.2.crate) = 42602
+SHA256 (rust/crates/bstr-1.9.1.crate) = 05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706
+SIZE (rust/crates/bstr-1.9.1.crate) = 380305
+SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
+SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
+SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
+SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
+SHA256 (rust/crates/castaway-0.2.2.crate) = 8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc
+SIZE (rust/crates/castaway-0.2.2.crate) = 11091
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.38.crate) = a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401
+SIZE (rust/crates/chrono-0.4.38.crate) = 220559
+SHA256 (rust/crates/compact_str-0.7.1.crate) = f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f
+SIZE (rust/crates/compact_str-0.7.1.crate) = 57246
+SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f
+SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
+SHA256 (rust/crates/crossbeam-0.8.4.crate) = 1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8
+SIZE (rust/crates/crossbeam-0.8.4.crate) = 10500
+SHA256 (rust/crates/crossbeam-channel-0.5.12.crate) = ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95
+SIZE (rust/crates/crossbeam-channel-0.5.12.crate) = 90515
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-queue-0.3.11.crate) = df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35
+SIZE (rust/crates/crossbeam-queue-0.3.11.crate) = 15581
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/crossterm-0.27.0.crate) = f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df
+SIZE (rust/crates/crossterm-0.27.0.crate) = 125311
+SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b
+SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0
+SIZE (rust/crates/futures-0.3.30.crate) = 53828
+SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
+SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
+SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
+SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
+SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d
+SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744
+SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
+SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac
+SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278
+SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5
+SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
+SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
+SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
+SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/iana-time-zone-0.1.60.crate) = e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141
+SIZE (rust/crates/iana-time-zone-0.1.60.crate) = 27074
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/indoc-2.0.4.crate) = 1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8
+SIZE (rust/crates/indoc-2.0.4.crate) = 14311
+SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3
+SIZE (rust/crates/is-docker-0.2.0.crate) = 2664
+SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5
+SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d
+SIZE (rust/crates/js-sys-0.3.69.crate) = 81083
+SHA256 (rust/crates/jwalk-0.8.1.crate) = 2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56
+SIZE (rust/crates/jwalk-0.8.1.crate) = 39882
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/lru-0.12.2.crate) = db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22
+SIZE (rust/crates/lru-0.12.2.crate) = 14826
+SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
+SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/mio-0.8.10.crate) = 8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09
+SIZE (rust/crates/mio-0.8.10.crate) = 102345
+SHA256 (rust/crates/normpath-1.2.0.crate) = 5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804
+SIZE (rust/crates/normpath-1.2.0.crate) = 20107
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
+SIZE (rust/crates/objc-0.2.7.crate) = 22036
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/open-5.1.3.crate) = 2eb49fbd5616580e9974662cb96a3463da4476e649a7e4b258df0de065db0657
+SIZE (rust/crates/open-5.1.3.crate) = 24118
+SHA256 (rust/crates/opener-0.7.0.crate) = f9901cb49d7fc923b256db329ee26ffed69130bf05d74b9efdd1875c92d6af01
+SIZE (rust/crates/opener-0.7.0.crate) = 19181
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
+SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd
+SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/proc-macro2-1.0.78.crate) = e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae
+SIZE (rust/crates/proc-macro2-1.0.78.crate) = 47158
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/ratatui-0.26.0.crate) = 154b85ef15a5d1719bcaa193c3c81fe645cd120c156874cd660fe49fd21d1373
+SIZE (rust/crates/ratatui-0.26.0.crate) = 437418
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea
+SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565
+SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4
+SIZE (rust/crates/rustversion-1.0.14.crate) = 17261
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/serde-1.0.201.crate) = 780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c
+SIZE (rust/crates/serde-1.0.201.crate) = 77725
+SHA256 (rust/crates/serde_derive-1.0.201.crate) = c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865
+SIZE (rust/crates/serde_derive-1.0.201.crate) = 55865
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-mio-0.2.3.crate) = 29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af
+SIZE (rust/crates/signal-hook-mio-0.2.3.crate) = 9064
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.13.1.crate) = e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7
+SIZE (rust/crates/smallvec-1.13.1.crate) = 34952
+SHA256 (rust/crates/stability-0.1.1.crate) = ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce
+SIZE (rust/crates/stability-0.1.1.crate) = 4753
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strum-0.26.1.crate) = 723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f
+SIZE (rust/crates/strum-0.26.1.crate) = 5861
+SHA256 (rust/crates/strum_macros-0.26.1.crate) = 7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18
+SIZE (rust/crates/strum_macros-0.26.1.crate) = 25326
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.48.crate) = 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f
+SIZE (rust/crates/syn-2.0.48.crate) = 250566
+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.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/trash-4.1.1.crate) = c254b119cf49bdde3dfef21b1dc492dc8026b75566ca24aa77993eccd7cbc1b5
+SIZE (rust/crates/trash-4.1.1.crate) = 50139
+SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
+SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5
+SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649
+SHA256 (rust/crates/unicode-segmentation-1.10.1.crate) = 1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36
+SIZE (rust/crates/unicode-segmentation-1.10.1.crate) = 98416
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+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/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8
+SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da
+SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726
+SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96
+SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263
+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-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-0.56.0.crate) = 1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132
+SIZE (rust/crates/windows-0.56.0.crate) = 10807828
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-core-0.56.0.crate) = 4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6
+SIZE (rust/crates/windows-core-0.56.0.crate) = 45084
+SHA256 (rust/crates/windows-implement-0.56.0.crate) = f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b
+SIZE (rust/crates/windows-implement-0.56.0.crate) = 9157
+SHA256 (rust/crates/windows-interface-0.56.0.crate) = 08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc
+SIZE (rust/crates/windows-interface-0.56.0.crate) = 9834
+SHA256 (rust/crates/windows-result-0.1.1.crate) = 749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b
+SIZE (rust/crates/windows-result-0.1.1.crate) = 10460
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb
+SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6
+SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670
+SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9
+SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf
+SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9
+SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0
+SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905
+SHA256 (rust/crates/zerocopy-0.7.32.crate) = 74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be
+SIZE (rust/crates/zerocopy-0.7.32.crate) = 151096
+SHA256 (rust/crates/zerocopy-derive-0.7.32.crate) = 9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6
+SIZE (rust/crates/zerocopy-derive-0.7.32.crate) = 37623
+SHA256 (ikebastuz-wiper-v0.2.1_GH0.tar.gz) = 3b2476ca224b90746aa788e679ec061cf3cfff67db3c3fbcd806bd58da38504c
+SIZE (ikebastuz-wiper-v0.2.1_GH0.tar.gz) = 32740
diff --git a/sysutils/wiper/pkg-descr b/sysutils/wiper/pkg-descr
new file mode 100644
index 000000000000..cffe8582a2d1
--- /dev/null
+++ b/sysutils/wiper/pkg-descr
@@ -0,0 +1,10 @@
+Wiper is a handy command-line tool made with Rust. It's perfect for anyone
+looking to quickly spot which folders are eating up all the disk space.
+Easy to use, it gives you a clear visual breakdown of directory sizes, so you
+can clean things up without a hassle.
+
+Features:
+- Fast and Efficient: Quickly scans directories and subdirectories to provide
+  size metrics.
+- Cross-Platform: Works on Linux, Windows, and macOS.
+- User-Friendly Output: Displays results in an easily understandable format.