git: a6e952332f3f - main - deskutils/lazycli: New port: Turn static CLI commands into TUIs with ease

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 31 Dec 2022 06:22:59 UTC
The branch main has been updated by yuri:

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

commit a6e952332f3f266562ff3800eedca1021ccb4f19
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-12-31 06:21:56 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-12-31 06:22:52 +0000

    deskutils/lazycli: New port: Turn static CLI commands into TUIs with ease
---
 deskutils/Makefile                                |   1 +
 deskutils/lazycli/Makefile                        | 105 ++++++++++++++
 deskutils/lazycli/distinfo                        | 167 ++++++++++++++++++++++
 deskutils/lazycli/files/patch-src_os__commands.rs |  14 ++
 deskutils/lazycli/pkg-descr                       |   6 +
 5 files changed, 293 insertions(+)

diff --git a/deskutils/Makefile b/deskutils/Makefile
index 0973426bfaf5..f7cf0dc164b1 100644
--- a/deskutils/Makefile
+++ b/deskutils/Makefile
@@ -152,6 +152,7 @@
     SUBDIR += ktimetracker
     SUBDIR += kuserfeedback
     SUBDIR += latte-dock
+    SUBDIR += lazycli
     SUBDIR += libcprime
     SUBDIR += libkdepim
     SUBDIR += libportal
diff --git a/deskutils/lazycli/Makefile b/deskutils/lazycli/Makefile
new file mode 100644
index 000000000000..ecf08f187c4b
--- /dev/null
+++ b/deskutils/lazycli/Makefile
@@ -0,0 +1,105 @@
+PORTNAME=	lazycli
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1.15
+CATEGORIES=	deskutils
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Turn static CLI commands into TUIs with ease
+WWW=		https://github.com/jesseduffield/lazycli
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	jesseduffield
+
+CARGO_CRATES=	aho-corasick-0.7.15 \
+		ansi_term-0.11.0 \
+		arrayref-0.3.6 \
+		arrayvec-0.5.2 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		base64-0.13.0 \
+		bitflags-1.2.1 \
+		blake2b_simd-0.5.11 \
+		cassowary-0.3.0 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		clap-3.0.0-beta.2 \
+		clap_derive-3.0.0-beta.2 \
+		constant_time_eq-0.1.5 \
+		crossbeam-utils-0.8.3 \
+		crossterm-0.18.2 \
+		crossterm-0.19.0 \
+		crossterm_winapi-0.6.2 \
+		crossterm_winapi-0.7.0 \
+		ctor-0.1.17 \
+		difference-2.0.0 \
+		directories-3.0.1 \
+		dirs-sys-0.3.5 \
+		dtoa-0.4.7 \
+		either-1.6.1 \
+		getrandom-0.1.16 \
+		hashbrown-0.9.1 \
+		heck-0.3.2 \
+		hermit-abi-0.1.17 \
+		indexmap-1.6.1 \
+		instant-0.1.9 \
+		itertools-0.10.0 \
+		lazy_static-1.4.0 \
+		libc-0.2.81 \
+		linked-hash-map-0.5.4 \
+		lock_api-0.4.2 \
+		log-0.4.11 \
+		memchr-2.3.4 \
+		mio-0.7.7 \
+		miow-0.3.6 \
+		ntapi-0.3.6 \
+		os_str_bytes-2.4.0 \
+		output_vt100-0.1.2 \
+		parking_lot-0.11.1 \
+		parking_lot_core-0.8.2 \
+		pretty_assertions-0.6.1 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.24 \
+		quote-1.0.8 \
+		redox_syscall-0.1.57 \
+		redox_users-0.3.5 \
+		regex-1.4.2 \
+		regex-syntax-0.6.21 \
+		rust-argon2-0.8.3 \
+		scopeguard-1.1.0 \
+		serde-1.0.118 \
+		serde_derive-1.0.118 \
+		serde_yaml-0.8.15 \
+		signal-hook-0.1.17 \
+		signal-hook-registry-1.3.0 \
+		smallvec-1.6.0 \
+		socket2-0.3.19 \
+		strsim-0.10.0 \
+		syn-1.0.57 \
+		termcolor-1.1.2 \
+		textwrap-0.12.1 \
+		thread_local-1.0.1 \
+		ticker-0.1.1 \
+		tui-0.14.0 \
+		unicode-segmentation-1.7.1 \
+		unicode-width-0.1.8 \
+		unicode-xid-0.2.1 \
+		vec_map-0.8.2 \
+		version_check-0.9.2 \
+		wasi-0.9.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 \
+		yaml-rust-0.4.5
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/deskutils/lazycli/distinfo b/deskutils/lazycli/distinfo
new file mode 100644
index 000000000000..479e00312521
--- /dev/null
+++ b/deskutils/lazycli/distinfo
@@ -0,0 +1,167 @@
+TIMESTAMP = 1672464635
+SHA256 (rust/crates/aho-corasick-0.7.15.crate) = 7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5
+SIZE (rust/crates/aho-corasick-0.7.15.crate) = 113071
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/blake2b_simd-0.5.11.crate) = afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587
+SIZE (rust/crates/blake2b_simd-0.5.11.crate) = 34096
+SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
+SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+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.0.0-beta.2.crate) = 4bd1061998a501ee7d4b6d449020df3266ca3124b941ec56cf2005c3779ca142
+SIZE (rust/crates/clap-3.0.0-beta.2.crate) = 141105
+SHA256 (rust/crates/clap_derive-3.0.0-beta.2.crate) = 370f715b81112975b1b69db93e0b56ea4cd4e5002ac43b2da8474106a54096a1
+SIZE (rust/crates/clap_derive-3.0.0-beta.2.crate) = 23425
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/crossbeam-utils-0.8.3.crate) = e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49
+SIZE (rust/crates/crossbeam-utils-0.8.3.crate) = 37268
+SHA256 (rust/crates/crossterm-0.18.2.crate) = 4e86d73f2a0b407b5768d10a8c720cf5d2df49a9efc10ca09176d201ead4b7fb
+SIZE (rust/crates/crossterm-0.18.2.crate) = 108404
+SHA256 (rust/crates/crossterm-0.19.0.crate) = 7c36c10130df424b2f3552fcc2ddcd9b28a27b1e54b358b45874f88d1ca6888c
+SIZE (rust/crates/crossterm-0.19.0.crate) = 104572
+SHA256 (rust/crates/crossterm_winapi-0.6.2.crate) = c2265c3f8e080075d9b6417aa72293fc71662f34b4af2612d8d1b074d29510db
+SIZE (rust/crates/crossterm_winapi-0.6.2.crate) = 14962
+SHA256 (rust/crates/crossterm_winapi-0.7.0.crate) = 0da8964ace4d3e4a044fd027919b2237000b24315a37c916f61809f1ff2140b9
+SIZE (rust/crates/crossterm_winapi-0.7.0.crate) = 15187
+SHA256 (rust/crates/ctor-0.1.17.crate) = 373c88d9506e2e9230f6107701b7d8425f4cb3f6df108ec3042a26e936666da5
+SIZE (rust/crates/ctor-0.1.17.crate) = 4793
+SHA256 (rust/crates/difference-2.0.0.crate) = 524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198
+SIZE (rust/crates/difference-2.0.0.crate) = 147616
+SHA256 (rust/crates/directories-3.0.1.crate) = f8fed639d60b58d0f53498ab13d26f621fd77569cc6edb031f4cc36a2ad9da0f
+SIZE (rust/crates/directories-3.0.1.crate) = 15674
+SHA256 (rust/crates/dirs-sys-0.3.5.crate) = 8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a
+SIZE (rust/crates/dirs-sys-0.3.5.crate) = 10643
+SHA256 (rust/crates/dtoa-0.4.7.crate) = 88d7ed2934d741c6b37e33e3832298e8850b53fd2d2bea03873375596c7cea4e
+SIZE (rust/crates/dtoa-0.4.7.crate) = 15910
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/hashbrown-0.9.1.crate) = d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04
+SIZE (rust/crates/hashbrown-0.9.1.crate) = 77734
+SHA256 (rust/crates/heck-0.3.2.crate) = 87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac
+SIZE (rust/crates/heck-0.3.2.crate) = 54718
+SHA256 (rust/crates/hermit-abi-0.1.17.crate) = 5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8
+SIZE (rust/crates/hermit-abi-0.1.17.crate) = 10065
+SHA256 (rust/crates/indexmap-1.6.1.crate) = 4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b
+SIZE (rust/crates/indexmap-1.6.1.crate) = 49644
+SHA256 (rust/crates/instant-0.1.9.crate) = 61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec
+SIZE (rust/crates/instant-0.1.9.crate) = 5213
+SHA256 (rust/crates/itertools-0.10.0.crate) = 37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319
+SIZE (rust/crates/itertools-0.10.0.crate) = 109656
+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.81.crate) = 1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb
+SIZE (rust/crates/libc-0.2.81.crate) = 513105
+SHA256 (rust/crates/linked-hash-map-0.5.4.crate) = 7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3
+SIZE (rust/crates/linked-hash-map-0.5.4.crate) = 16166
+SHA256 (rust/crates/lock_api-0.4.2.crate) = dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312
+SIZE (rust/crates/lock_api-0.4.2.crate) = 20375
+SHA256 (rust/crates/log-0.4.11.crate) = 4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b
+SIZE (rust/crates/log-0.4.11.crate) = 36276
+SHA256 (rust/crates/memchr-2.3.4.crate) = 0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525
+SIZE (rust/crates/memchr-2.3.4.crate) = 23077
+SHA256 (rust/crates/mio-0.7.7.crate) = e50ae3f04d169fcc9bde0b547d1c205219b7157e07ded9c5aff03e0637cb3ed7
+SIZE (rust/crates/mio-0.7.7.crate) = 85595
+SHA256 (rust/crates/miow-0.3.6.crate) = 5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897
+SIZE (rust/crates/miow-0.3.6.crate) = 24533
+SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
+SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+SHA256 (rust/crates/os_str_bytes-2.4.0.crate) = afb2e1c3ee07430c2cf76151675e583e0f19985fa6efae47d6848a3e2c824f85
+SIZE (rust/crates/os_str_bytes-2.4.0.crate) = 14657
+SHA256 (rust/crates/output_vt100-0.1.2.crate) = 53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9
+SIZE (rust/crates/output_vt100-0.1.2.crate) = 4062
+SHA256 (rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
+SIZE (rust/crates/parking_lot-0.11.1.crate) = 39854
+SHA256 (rust/crates/parking_lot_core-0.8.2.crate) = 9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272
+SIZE (rust/crates/parking_lot_core-0.8.2.crate) = 32142
+SHA256 (rust/crates/pretty_assertions-0.6.1.crate) = 3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427
+SIZE (rust/crates/pretty_assertions-0.6.1.crate) = 61551
+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.24.crate) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71
+SIZE (rust/crates/proc-macro2-1.0.24.crate) = 37716
+SHA256 (rust/crates/quote-1.0.8.crate) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df
+SIZE (rust/crates/quote-1.0.8.crate) = 24997
+SHA256 (rust/crates/redox_syscall-0.1.57.crate) = 41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce
+SIZE (rust/crates/redox_syscall-0.1.57.crate) = 17087
+SHA256 (rust/crates/redox_users-0.3.5.crate) = de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d
+SIZE (rust/crates/redox_users-0.3.5.crate) = 12644
+SHA256 (rust/crates/regex-1.4.2.crate) = 38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c
+SIZE (rust/crates/regex-1.4.2.crate) = 236931
+SHA256 (rust/crates/regex-syntax-0.6.21.crate) = 3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189
+SIZE (rust/crates/regex-syntax-0.6.21.crate) = 293572
+SHA256 (rust/crates/rust-argon2-0.8.3.crate) = 4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb
+SIZE (rust/crates/rust-argon2-0.8.3.crate) = 28313
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/serde-1.0.118.crate) = 06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800
+SIZE (rust/crates/serde-1.0.118.crate) = 74248
+SHA256 (rust/crates/serde_derive-1.0.118.crate) = c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df
+SIZE (rust/crates/serde_derive-1.0.118.crate) = 50589
+SHA256 (rust/crates/serde_yaml-0.8.15.crate) = 971be8f6e4d4a47163b405a3df70d14359186f9ab0f3a3ec37df144ca1ce089f
+SIZE (rust/crates/serde_yaml-0.8.15.crate) = 37877
+SHA256 (rust/crates/signal-hook-0.1.17.crate) = 7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729
+SIZE (rust/crates/signal-hook-0.1.17.crate) = 27085
+SHA256 (rust/crates/signal-hook-registry-1.3.0.crate) = 16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6
+SIZE (rust/crates/signal-hook-registry-1.3.0.crate) = 17786
+SHA256 (rust/crates/smallvec-1.6.0.crate) = 1a55ca5f3b68e41c979bf8c46a6f1da892ca4db8f94023ce0bd32407573b1ac0
+SIZE (rust/crates/smallvec-1.6.0.crate) = 26273
+SHA256 (rust/crates/socket2-0.3.19.crate) = 122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e
+SIZE (rust/crates/socket2-0.3.19.crate) = 33782
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.57.crate) = 4211ce9909eb971f111059df92c45640aad50a619cf55cd76476be803c4c68e6
+SIZE (rust/crates/syn-1.0.57.crate) = 229228
+SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
+SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+SHA256 (rust/crates/textwrap-0.12.1.crate) = 203008d98caf094106cfaba70acfed15e18ed3ddb7d94e49baec153a2b462789
+SIZE (rust/crates/textwrap-0.12.1.crate) = 23964
+SHA256 (rust/crates/thread_local-1.0.1.crate) = d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14
+SIZE (rust/crates/thread_local-1.0.1.crate) = 12609
+SHA256 (rust/crates/ticker-0.1.1.crate) = 3f6821a2afe2700471d4572a25bcbfc091d6d596902a279ed41af139f350b76e
+SIZE (rust/crates/ticker-0.1.1.crate) = 2116
+SHA256 (rust/crates/tui-0.14.0.crate) = 9ced152a8e9295a5b168adc254074525c17ac4a83c90b2716274cc38118bddc9
+SIZE (rust/crates/tui-0.14.0.crate) = 140336
+SHA256 (rust/crates/unicode-segmentation-1.7.1.crate) = bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796
+SIZE (rust/crates/unicode-segmentation-1.7.1.crate) = 93066
+SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
+SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+SHA256 (rust/crates/unicode-xid-0.2.1.crate) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564
+SIZE (rust/crates/unicode-xid-0.2.1.crate) = 14392
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version_check-0.9.2.crate) = b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed
+SIZE (rust/crates/version_check-0.9.2.crate) = 11979
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+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/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (jesseduffield-lazycli-v0.1.15_GH0.tar.gz) = 66f4c4c5bedf4d3ceb35aebc1d7f18663c7250ac47241fea18108c0741bf2019
+SIZE (jesseduffield-lazycli-v0.1.15_GH0.tar.gz) = 21791
diff --git a/deskutils/lazycli/files/patch-src_os__commands.rs b/deskutils/lazycli/files/patch-src_os__commands.rs
new file mode 100644
index 000000000000..fe1f3a1d3a97
--- /dev/null
+++ b/deskutils/lazycli/files/patch-src_os__commands.rs
@@ -0,0 +1,14 @@
+--- src/os_commands.rs.orig	2021-06-02 07:37:39 UTC
++++ src/os_commands.rs
+@@ -3,6 +3,11 @@ pub fn open_command(path: &str) -> String {
+   format!("xdg-open \"{}\"", path)
+ }
+ 
++#[cfg(target_os = "freebsd")]
++pub fn open_command(path: &str) -> String {
++  format!("xdg-open \"{}\"", path)
++}
++
+ #[cfg(target_os = "macos")]
+ pub fn open_command(path: &str) -> String {
+   format!("open \"{}\"", path)
diff --git a/deskutils/lazycli/pkg-descr b/deskutils/lazycli/pkg-descr
new file mode 100644
index 000000000000..6c48825b3c58
--- /dev/null
+++ b/deskutils/lazycli/pkg-descr
@@ -0,0 +1,6 @@
+lazycli allows to turn static CLI commands into TUIs with ease.
+
+Pick a command that spits out either a list or table of content, like ls,
+docker ps, git branch, or git status --short. Then run lazycli -- <YOUR COMMAND>
+
+$ lazycli -- ls