git: 3252de3a4eb0 - main - textproc/jless: Update to 0.9.0

From: Li-Wen Hsu <lwhsu_at_FreeBSD.org>
Date: Mon, 05 May 2025 18:36:30 UTC
The branch main has been updated by lwhsu:

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

commit 3252de3a4eb0bcba8097cf142eb5633b61bb844f
Author:     King John <jinking.this@gmail.com>
AuthorDate: 2025-04-27 06:45:45 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2025-05-05 18:36:21 +0000

    textproc/jless: Update to 0.9.0
    
    PR:             286380
---
 textproc/jless/Makefile                            | 87 ++++------------------
 textproc/jless/Makefile.crates                     | 81 ++++++++++++++++++++
 textproc/jless/distinfo                            | 60 ++++++++++-----
 .../files/patch-cargo-crates_xcb-0.8.2_build.rs    | 18 +++++
 4 files changed, 158 insertions(+), 88 deletions(-)

diff --git a/textproc/jless/Makefile b/textproc/jless/Makefile
index 5bfef12ea3a0..2300964e163f 100644
--- a/textproc/jless/Makefile
+++ b/textproc/jless/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	jless
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.7.2
-PORTREVISION=	29
+DISTVERSION=	0.9.0
 CATEGORIES=	textproc
 
 MAINTAINER=	lwhsu@FreeBSD.org
@@ -11,80 +10,26 @@ WWW=		https://jless.io
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		cargo
+BUILD_DEPENDS=	libxcb>0:x11/libxcb
+LIB_DEPENDS=	libxcb.so:x11/libxcb
+RUN_DEPENDS=	libxcb>0:x11/libxcb
+
+USES=		cargo python shebangfix xorg
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	PaulJuliusMartinez
 
-CARGO_CRATES=	aho-corasick-0.7.18 \
-		atty-0.2.14 \
-		autocfg-1.0.1 \
-		beef-0.5.1 \
-		bitflags-1.2.1 \
-		cc-1.0.69 \
-		cfg-if-0.1.10 \
-		cfg-if-1.0.0 \
-		clap-3.0.14 \
-		clap_derive-3.0.14 \
-		clipboard-win-4.2.1 \
-		dirs-next-2.0.0 \
-		dirs-sys-next-0.1.2 \
-		endian-type-0.1.2 \
-		error-code-2.3.0 \
-		fd-lock-3.0.0 \
-		fnv-1.0.7 \
-		getrandom-0.2.3 \
-		hashbrown-0.11.2 \
-		heck-0.4.0 \
-		hermit-abi-0.1.18 \
-		indexmap-1.8.0 \
-		isatty-0.1.9 \
-		lazy_static-1.4.0 \
-		libc-0.2.99 \
-		libc-stdhandle-0.1.0 \
-		log-0.4.14 \
-		logos-0.12.0 \
-		logos-derive-0.12.0 \
-		memchr-2.4.1 \
-		memoffset-0.6.4 \
-		nibble_vec-0.1.0 \
-		nix-0.22.1 \
-		numtoa-0.1.0 \
-		os_str_bytes-6.0.0 \
-		proc-macro-error-1.0.4 \
-		proc-macro-error-attr-1.0.4 \
-		proc-macro2-1.0.36 \
-		quote-1.0.9 \
-		radix_trie-0.2.1 \
-		redox_syscall-0.1.57 \
-		redox_syscall-0.2.6 \
-		redox_termios-0.1.2 \
-		redox_users-0.4.0 \
-		regex-1.5.4 \
-		regex-syntax-0.6.25 \
-		rustyline-9.0.0 \
-		scopeguard-1.1.0 \
-		signal-hook-0.3.8 \
-		signal-hook-registry-1.3.0 \
-		smallvec-1.6.1 \
-		str-buf-1.0.5 \
-		strsim-0.10.0 \
-		syn-1.0.86 \
-		termcolor-1.1.2 \
-		termion-1.5.6 \
-		textwrap-0.14.2 \
-		unicode-segmentation-1.7.1 \
-		unicode-width-0.1.8 \
-		unicode-xid-0.2.1 \
-		utf8-ranges-1.0.4 \
-		utf8parse-0.2.0 \
-		version_check-0.9.3 \
-		wasi-0.10.2+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
+USE_XORG=	x11 xcb
+
+SHEBANG_FILES=	cargo-crates/unicode-width-0.1.8/scripts/unicode.py \
+		cargo-crates/xcb-0.8.2/rs_client.py
+
+CARGO_ENV=	LIBRARY_PATH=${LOCALBASE}/lib
 
 PLIST_FILES=	bin/jless
 
+post-patch:
+	${REINPLACE_CMD} -e 's,%%PYTHON_CMD%%,${PYTHON_CMD},' \
+		${WRKSRC}/cargo-crates/xcb-0.8.2/build.rs
+
 .include <bsd.port.mk>
diff --git a/textproc/jless/Makefile.crates b/textproc/jless/Makefile.crates
new file mode 100644
index 000000000000..affcceffb34a
--- /dev/null
+++ b/textproc/jless/Makefile.crates
@@ -0,0 +1,81 @@
+CARGO_CRATES=	aho-corasick-0.7.18 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		beef-0.5.1 \
+		bitflags-1.2.1 \
+		block-0.1.6 \
+		cc-1.0.69 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		clap-4.0.26 \
+		clap_derive-4.0.21 \
+		clap_lex-0.3.3 \
+		clipboard-0.5.0 \
+		clipboard-win-2.2.0 \
+		clipboard-win-4.2.1 \
+		dirs-next-2.0.0 \
+		dirs-sys-next-0.1.2 \
+		endian-type-0.1.2 \
+		error-code-2.3.0 \
+		fd-lock-3.0.0 \
+		fnv-1.0.7 \
+		getrandom-0.2.3 \
+		heck-0.4.0 \
+		hermit-abi-0.1.18 \
+		indoc-1.0.4 \
+		isatty-0.1.9 \
+		lazy_static-1.4.0 \
+		libc-0.2.99 \
+		libc-stdhandle-0.1.0 \
+		linked-hash-map-0.5.4 \
+		log-0.4.14 \
+		logos-0.12.0 \
+		logos-derive-0.12.0 \
+		malloc_buf-0.0.6 \
+		memchr-2.4.1 \
+		memoffset-0.6.4 \
+		nibble_vec-0.1.0 \
+		nix-0.22.1 \
+		numtoa-0.1.0 \
+		objc-0.2.7 \
+		objc-foundation-0.1.1 \
+		objc_id-0.1.1 \
+		once_cell-1.18.0 \
+		os_str_bytes-6.0.0 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.63 \
+		quote-1.0.9 \
+		radix_trie-0.2.1 \
+		redox_syscall-0.1.57 \
+		redox_syscall-0.2.6 \
+		redox_termios-0.1.2 \
+		redox_users-0.4.0 \
+		regex-1.5.5 \
+		regex-syntax-0.6.25 \
+		rustyline-9.0.0 \
+		scopeguard-1.1.0 \
+		signal-hook-0.3.8 \
+		signal-hook-registry-1.3.0 \
+		smallvec-1.6.1 \
+		str-buf-1.0.5 \
+		strsim-0.10.0 \
+		syn-1.0.86 \
+		termcolor-1.1.2 \
+		termion-1.5.6 \
+		unicode-ident-1.0.10 \
+		unicode-segmentation-1.7.1 \
+		unicode-width-0.1.8 \
+		unicode-xid-0.2.1 \
+		unindent-0.1.8 \
+		utf8-ranges-1.0.4 \
+		utf8parse-0.2.0 \
+		version_check-0.9.3 \
+		wasi-0.10.2+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 \
+		x11-clipboard-0.3.3 \
+		xcb-0.8.2 \
+		yaml-rust-0.4.5
diff --git a/textproc/jless/distinfo b/textproc/jless/distinfo
index 8c8a5900ed5d..3276a089ac77 100644
--- a/textproc/jless/distinfo
+++ b/textproc/jless/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1645737128
+TIMESTAMP = 1745722466
 SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
 SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
 SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
@@ -9,16 +9,24 @@ SHA256 (rust/crates/beef-0.5.1.crate) = bed554bd50246729a1ec158d08aa3235d1b69d94
 SIZE (rust/crates/beef-0.5.1.crate) = 15177
 SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
 SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
 SHA256 (rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
 SIZE (rust/crates/cc-1.0.69.crate) = 56044
 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.14.crate) = b63edc3f163b3c71ec8aa23f9bd6070f77edbf3d1d198b164afa90ff00e4ec62
-SIZE (rust/crates/clap-3.0.14.crate) = 191513
-SHA256 (rust/crates/clap_derive-3.0.14.crate) = 9a1132dc3944b31c20dd8b906b3a9f0a5d0243e092d59171414969657ac6aa85
-SIZE (rust/crates/clap_derive-3.0.14.crate) = 25314
+SHA256 (rust/crates/clap-4.0.26.crate) = 2148adefda54e14492fb9bddcc600b4344c5d1a3123bd666dcb939c6f0e0e57e
+SIZE (rust/crates/clap-4.0.26.crate) = 205197
+SHA256 (rust/crates/clap_derive-4.0.21.crate) = 0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014
+SIZE (rust/crates/clap_derive-4.0.21.crate) = 27567
+SHA256 (rust/crates/clap_lex-0.3.3.crate) = 033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646
+SIZE (rust/crates/clap_lex-0.3.3.crate) = 9648
+SHA256 (rust/crates/clipboard-0.5.0.crate) = 25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7
+SIZE (rust/crates/clipboard-0.5.0.crate) = 10009
+SHA256 (rust/crates/clipboard-win-2.2.0.crate) = e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b
+SIZE (rust/crates/clipboard-win-2.2.0.crate) = 11079
 SHA256 (rust/crates/clipboard-win-4.2.1.crate) = 4e4ea1881992efc993e4dc50a324cdbd03216e41bdc8385720ff47efc9bd2ca8
 SIZE (rust/crates/clipboard-win-4.2.1.crate) = 12142
 SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
@@ -35,14 +43,12 @@ SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da2
 SIZE (rust/crates/fnv-1.0.7.crate) = 11266
 SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
 SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
 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.18.crate) = 322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c
 SIZE (rust/crates/hermit-abi-0.1.18.crate) = 9936
-SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
-SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
+SHA256 (rust/crates/indoc-1.0.4.crate) = e7906a9fababaeacb774f72410e497a1d18de916322e33797bb2cd29baa23c9e
+SIZE (rust/crates/indoc-1.0.4.crate) = 13122
 SHA256 (rust/crates/isatty-0.1.9.crate) = e31a8281fc93ec9693494da65fbf28c0c2aa60a2eaec25dc58e2f31952e95edc
 SIZE (rust/crates/isatty-0.1.9.crate) = 8009
 SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
@@ -51,12 +57,16 @@ SHA256 (rust/crates/libc-0.2.99.crate) = a7f823d141fe0a24df1e23b4af4e3c7ba9e5966
 SIZE (rust/crates/libc-0.2.99.crate) = 524997
 SHA256 (rust/crates/libc-stdhandle-0.1.0.crate) = 6dac2473dc28934c5e0b82250dab231c9d3b94160d91fe9ff483323b05797551
 SIZE (rust/crates/libc-stdhandle-0.1.0.crate) = 2254
+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/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
 SIZE (rust/crates/log-0.4.14.crate) = 34582
 SHA256 (rust/crates/logos-0.12.0.crate) = 427e2abca5be13136da9afdbf874e6b34ad9001dd70f2b103b083a85daa7b345
 SIZE (rust/crates/logos-0.12.0.crate) = 8849
 SHA256 (rust/crates/logos-derive-0.12.0.crate) = 56a7d287fd2ac3f75b11f19a1c8a874a7d55744bd91f7a1b3e7cf87d4343c36d
 SIZE (rust/crates/logos-derive-0.12.0.crate) = 32455
+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.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
 SIZE (rust/crates/memchr-2.4.1.crate) = 64977
 SHA256 (rust/crates/memoffset-0.6.4.crate) = 59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9
@@ -67,14 +77,22 @@ SHA256 (rust/crates/nix-0.22.1.crate) = e7555d6c7164cc913be1ce7f95cbecdabda61eb2
 SIZE (rust/crates/nix-0.22.1.crate) = 227166
 SHA256 (rust/crates/numtoa-0.1.0.crate) = b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef
 SIZE (rust/crates/numtoa-0.1.0.crate) = 8999
+SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
+SIZE (rust/crates/objc-0.2.7.crate) = 22036
+SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9
+SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
+SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b
+SIZE (rust/crates/objc_id-0.1.1.crate) = 3258
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
 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/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.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
-SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
+SHA256 (rust/crates/proc-macro2-1.0.63.crate) = 7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb
+SIZE (rust/crates/proc-macro2-1.0.63.crate) = 44867
 SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
 SIZE (rust/crates/quote-1.0.9.crate) = 25042
 SHA256 (rust/crates/radix_trie-0.2.1.crate) = c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd
@@ -87,8 +105,8 @@ SHA256 (rust/crates/redox_termios-0.1.2.crate) = 8440d8acb4fd3d277125b4bd01a6f38
 SIZE (rust/crates/redox_termios-0.1.2.crate) = 3268
 SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
 SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
-SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
+SHA256 (rust/crates/regex-1.5.5.crate) = 1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286
+SIZE (rust/crates/regex-1.5.5.crate) = 238119
 SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
 SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
 SHA256 (rust/crates/rustyline-9.0.0.crate) = 790487c3881a63489ae77126f57048b42d62d3b2bafbf37453ea19eedb6340d6
@@ -111,14 +129,16 @@ SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949
 SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
 SHA256 (rust/crates/termion-1.5.6.crate) = 077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e
 SIZE (rust/crates/termion-1.5.6.crate) = 22677
-SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
-SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
+SHA256 (rust/crates/unicode-ident-1.0.10.crate) = 22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73
+SIZE (rust/crates/unicode-ident-1.0.10.crate) = 42039
 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/unindent-0.1.8.crate) = 514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8
+SIZE (rust/crates/unindent-0.1.8.crate) = 8326
 SHA256 (rust/crates/utf8-ranges-1.0.4.crate) = b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba
 SIZE (rust/crates/utf8-ranges-1.0.4.crate) = 8575
 SHA256 (rust/crates/utf8parse-0.2.0.crate) = 936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372
@@ -135,5 +155,11 @@ SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e9
 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 (PaulJuliusMartinez-jless-v0.7.2_GH0.tar.gz) = 5d776cb6488743ccdaeeffb4bfc54d84862028170cee852a8bb5c156526ed263
-SIZE (PaulJuliusMartinez-jless-v0.7.2_GH0.tar.gz) = 3397918
+SHA256 (rust/crates/x11-clipboard-0.3.3.crate) = 89bd49c06c9eb5d98e6ba6536cf64ac9f7ee3a009b2f53996d405b3944f6bcea
+SIZE (rust/crates/x11-clipboard-0.3.3.crate) = 7357
+SHA256 (rust/crates/xcb-0.8.2.crate) = 5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de
+SIZE (rust/crates/xcb-0.8.2.crate) = 129071
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (PaulJuliusMartinez-jless-v0.9.0_GH0.tar.gz) = 43527a78ba2e5e43a7ebd8d0da8b5af17a72455c5f88b4d1134f34908a594239
+SIZE (PaulJuliusMartinez-jless-v0.9.0_GH0.tar.gz) = 1222005
diff --git a/textproc/jless/files/patch-cargo-crates_xcb-0.8.2_build.rs b/textproc/jless/files/patch-cargo-crates_xcb-0.8.2_build.rs
new file mode 100644
index 000000000000..94919cbf009c
--- /dev/null
+++ b/textproc/jless/files/patch-cargo-crates_xcb-0.8.2_build.rs
@@ -0,0 +1,18 @@
+--- cargo-crates/xcb-0.8.2/build.rs.orig	2025-05-05 10:26:31 UTC
++++ cargo-crates/xcb-0.8.2/build.rs
+@@ -64,13 +64,13 @@ fn main() {
+ 
+         if ref_mtime > src_file_mtime || ref_mtime > ffi_file_mtime {
+ 
+-            let status = Command::new("python3")
++            let status = Command::new("%%PYTHON_CMD%%")
+                     .arg(&r_client)
+                     .arg("-o").arg(&src_dir)
+                     .arg(&xml_file)
+                     .env("PYTHONHASHSEED", "0")
+                     .status()
+-                    .expect("Unable to find build dependency python3");
++                    .expect("Unable to find build dependency %%PYTHON_CMD%%");
+             if !status.success() {
+                 panic!("processing of {} returned non-zero ({})",
+                     xml_file.display(), status.code().unwrap());