git: ffa5c49b1a80 - main - www/websocat: update 1.14.0 -> 1.14.1

From: Sergey A. Osokin <osa_at_FreeBSD.org>
Date: Sat, 03 Jan 2026 20:01:10 UTC
The branch main has been updated by osa:

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

commit ffa5c49b1a80290e76807638e4877a618ac6a7b1
Author:     Sergey A. Osokin <osa@FreeBSD.org>
AuthorDate: 2026-01-03 19:58:49 +0000
Commit:     Sergey A. Osokin <osa@FreeBSD.org>
CommitDate: 2026-01-03 20:01:03 +0000

    www/websocat: update 1.14.0 -> 1.14.1
    
    Remove the upstreamed patch.
    Move crates to a separate file - Makefile.crates.
    
    ChangeLog:      https://github.com/vi/websocat/compare/v1.14.0...v1.14.1
    
    Sponsored by:   tipi.work
---
 www/websocat/Makefile                | 227 +----------------------------------
 www/websocat/Makefile.crates         | 223 ++++++++++++++++++++++++++++++++++
 www/websocat/distinfo                |  18 +--
 www/websocat/files/patch-rust-1.87.0 | 208 --------------------------------
 4 files changed, 234 insertions(+), 442 deletions(-)

diff --git a/www/websocat/Makefile b/www/websocat/Makefile
index 9ccfc4fdf374..80f5a854f9f0 100644
--- a/www/websocat/Makefile
+++ b/www/websocat/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	websocat
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.14.0
-PORTREVISION=	10
+DISTVERSION=	1.14.1
 CATEGORIES=	www
 
 MAINTAINER=	osa@FreeBSD.org
@@ -35,229 +34,7 @@ SSL_DESC=		SSL
 TOKIO_PROCESS_DESC=	Tokio process
 UNIX_STDIO_DESC=	UNIX stdio
 
-CARGO_CRATES=	adler-1.0.2 \
-		aead-0.4.3 \
-		anymap-0.12.1 \
-		argon2-0.4.1 \
-		atty-0.2.14 \
-		autocfg-0.1.8 \
-		autocfg-1.2.0 \
-		base64-0.9.3 \
-		base64-0.10.1 \
-		base64ct-1.6.0 \
-		bitflags-1.3.2 \
-		bitflags-2.5.0 \
-		blake2-0.10.6 \
-		block-buffer-0.7.3 \
-		block-buffer-0.10.4 \
-		block-padding-0.1.5 \
-		byte-tools-0.3.1 \
-		byteorder-1.5.0 \
-		bytes-0.4.12 \
-		cc-1.0.90 \
-		cfg-if-0.1.10 \
-		cfg-if-1.0.0 \
-		chacha20-0.8.2 \
-		chacha20poly1305-0.9.1 \
-		cipher-0.3.0 \
-		clap-2.34.0 \
-		cloudabi-0.0.3 \
-		core-foundation-0.9.4 \
-		core-foundation-sys-0.8.6 \
-		cpufeatures-0.2.12 \
-		crc32fast-1.4.0 \
-		crossbeam-deque-0.7.4 \
-		crossbeam-epoch-0.8.2 \
-		crossbeam-queue-0.1.2 \
-		crossbeam-queue-0.2.3 \
-		crossbeam-utils-0.6.6 \
-		crossbeam-utils-0.7.2 \
-		crypto-common-0.1.6 \
-		derivative-1.0.4 \
-		digest-0.8.1 \
-		digest-0.10.7 \
-		env_logger-0.6.2 \
-		errno-0.3.8 \
-		fake-simd-0.1.2 \
-		fastrand-2.0.2 \
-		flate2-1.0.28 \
-		fnv-1.0.7 \
-		foreign-types-0.3.2 \
-		foreign-types-shared-0.1.1 \
-		fuchsia-cprng-0.1.1 \
-		fuchsia-zircon-0.3.3 \
-		fuchsia-zircon-sys-0.3.3 \
-		futures-0.1.31 \
-		generic-array-0.12.4 \
-		generic-array-0.14.7 \
-		getrandom-0.2.12 \
-		heck-0.3.3 \
-		hermit-abi-0.1.19 \
-		hermit-abi-0.3.9 \
-		hex-0.4.3 \
-		http-0.1.21 \
-		http-bytes-0.1.0 \
-		httparse-1.8.0 \
-		hyper-0.10.16 \
-		idna-0.1.5 \
-		iovec-0.1.4 \
-		itoa-0.4.8 \
-		kernel32-sys-0.2.2 \
-		language-tags-0.2.2 \
-		lazy_static-1.4.0 \
-		libc-0.2.153 \
-		linux-raw-sys-0.4.13 \
-		lock_api-0.3.4 \
-		lock_api-0.4.11 \
-		log-0.3.9 \
-		log-0.4.21 \
-		matches-0.1.10 \
-		maybe-uninit-2.0.0 \
-		memchr-2.7.2 \
-		memoffset-0.5.6 \
-		mime-0.2.6 \
-		miniz_oxide-0.7.2 \
-		mio-0.6.23 \
-		mio-named-pipes-0.1.7 \
-		mio-uds-0.6.8 \
-		miow-0.2.2 \
-		miow-0.3.7 \
-		native-tls-0.2.11 \
-		net2-0.2.39 \
-		num_cpus-1.16.0 \
-		once_cell-1.19.0 \
-		opaque-debug-0.2.3 \
-		opaque-debug-0.3.1 \
-		openssl-0.10.64 \
-		openssl-macros-0.1.1 \
-		openssl-probe-0.1.5 \
-		openssl-src-300.4.0+3.4.0 \
-		openssl-sys-0.9.104 \
-		parking_lot-0.9.0 \
-		parking_lot-0.12.1 \
-		parking_lot_core-0.6.3 \
-		parking_lot_core-0.9.9 \
-		password-hash-0.4.2 \
-		percent-encoding-1.0.1 \
-		pkg-config-0.3.30 \
-		poly1305-0.7.2 \
-		ppv-lite86-0.2.17 \
-		proc-macro2-0.4.30 \
-		proc-macro2-1.0.79 \
-		prometheus-0.13.3 \
-		prometheus-metric-storage-0.5.0 \
-		prometheus-metric-storage-derive-0.5.0 \
-		quote-0.6.13 \
-		quote-1.0.35 \
-		rand-0.6.5 \
-		rand-0.8.5 \
-		rand_chacha-0.1.1 \
-		rand_chacha-0.3.1 \
-		rand_core-0.3.1 \
-		rand_core-0.4.2 \
-		rand_core-0.6.4 \
-		rand_hc-0.1.0 \
-		rand_isaac-0.1.1 \
-		rand_jitter-0.1.4 \
-		rand_os-0.1.3 \
-		rand_pcg-0.1.2 \
-		rand_xorshift-0.1.1 \
-		rdrand-0.4.0 \
-		readwrite-0.1.2 \
-		redox_syscall-0.1.57 \
-		redox_syscall-0.4.1 \
-		rustc_version-0.2.3 \
-		rustix-0.38.32 \
-		safemem-0.3.3 \
-		schannel-0.1.23 \
-		scopeguard-1.2.0 \
-		security-framework-2.10.0 \
-		security-framework-sys-2.10.0 \
-		semver-0.9.0 \
-		semver-parser-0.7.0 \
-		sha-1-0.8.2 \
-		signal-hook-registry-1.4.1 \
-		slab-0.4.9 \
-		slab_typesafe-0.1.3 \
-		smallvec-0.6.14 \
-		smallvec-1.13.2 \
-		smart-default-0.3.0 \
-		structopt-0.2.16 \
-		structopt-derive-0.2.16 \
-		subtle-2.4.1 \
-		syn-0.15.44 \
-		syn-1.0.109 \
-		syn-2.0.57 \
-		tempfile-3.10.1 \
-		textwrap-0.11.0 \
-		thiserror-1.0.58 \
-		thiserror-impl-1.0.58 \
-		time-0.1.45 \
-		tinyvec-1.6.0 \
-		tinyvec_macros-0.1.1 \
-		tk-listen-0.2.1 \
-		tokio-0.1.22 \
-		tokio-codec-0.1.2 \
-		tokio-current-thread-0.1.7 \
-		tokio-executor-0.1.10 \
-		tokio-file-unix-0.5.1 \
-		tokio-fs-0.1.7 \
-		tokio-io-0.1.13 \
-		tokio-named-pipes-0.1.0 \
-		tokio-process-0.2.5 \
-		tokio-reactor-0.1.12 \
-		tokio-signal-0.2.9 \
-		tokio-stdin-stdout-0.1.5 \
-		tokio-sync-0.1.8 \
-		tokio-tcp-0.1.4 \
-		tokio-threadpool-0.1.18 \
-		tokio-timer-0.2.13 \
-		tokio-tls-0.2.1 \
-		tokio-udp-0.1.6 \
-		tokio-uds-0.2.7 \
-		traitobject-0.1.0 \
-		typeable-0.1.2 \
-		typenum-1.17.0 \
-		unicase-1.4.2 \
-		unicode-bidi-0.3.15 \
-		unicode-ident-1.0.12 \
-		unicode-normalization-0.1.23 \
-		unicode-segmentation-1.11.0 \
-		unicode-width-0.1.11 \
-		unicode-xid-0.1.0 \
-		universal-hash-0.4.1 \
-		url-1.7.2 \
-		vcpkg-0.2.15 \
-		version_check-0.1.5 \
-		version_check-0.9.4 \
-		wasi-0.10.0+wasi-snapshot-preview1 \
-		wasi-0.11.0+wasi-snapshot-preview1 \
-		websocket-0.27.1 \
-		websocket-base-0.26.5 \
-		winapi-0.2.8 \
-		winapi-0.3.9 \
-		winapi-build-0.1.1 \
-		winapi-i686-pc-windows-gnu-0.4.0 \
-		winapi-x86_64-pc-windows-gnu-0.4.0 \
-		windows-sys-0.52.0 \
-		windows-targets-0.48.5 \
-		windows-targets-0.52.4 \
-		windows_aarch64_gnullvm-0.48.5 \
-		windows_aarch64_gnullvm-0.52.4 \
-		windows_aarch64_msvc-0.48.5 \
-		windows_aarch64_msvc-0.52.4 \
-		windows_i686_gnu-0.48.5 \
-		windows_i686_gnu-0.52.4 \
-		windows_i686_msvc-0.48.5 \
-		windows_i686_msvc-0.52.4 \
-		windows_x86_64_gnu-0.48.5 \
-		windows_x86_64_gnu-0.52.4 \
-		windows_x86_64_gnullvm-0.48.5 \
-		windows_x86_64_gnullvm-0.52.4 \
-		windows_x86_64_msvc-0.48.5 \
-		windows_x86_64_msvc-0.52.4 \
-		ws2_32-sys-0.2.1 \
-		zeroize-1.7.0
+.include "${.CURDIR}/Makefile.crates"
 
 PLIST_FILES=	bin/websocat
 
diff --git a/www/websocat/Makefile.crates b/www/websocat/Makefile.crates
new file mode 100644
index 000000000000..bf2b1734c082
--- /dev/null
+++ b/www/websocat/Makefile.crates
@@ -0,0 +1,223 @@
+CARGO_CRATES=	adler-1.0.2 \
+		aead-0.4.3 \
+		anymap-0.12.1 \
+		argon2-0.4.1 \
+		atty-0.2.14 \
+		autocfg-0.1.8 \
+		autocfg-1.2.0 \
+		base64-0.9.3 \
+		base64-0.10.1 \
+		base64ct-1.6.0 \
+		bitflags-1.3.2 \
+		bitflags-2.5.0 \
+		blake2-0.10.6 \
+		block-buffer-0.7.3 \
+		block-buffer-0.10.4 \
+		block-padding-0.1.5 \
+		byte-tools-0.3.1 \
+		byteorder-1.5.0 \
+		bytes-0.4.12 \
+		cc-1.0.90 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		chacha20-0.8.2 \
+		chacha20poly1305-0.9.1 \
+		cipher-0.3.0 \
+		clap-2.34.0 \
+		cloudabi-0.0.3 \
+		core-foundation-0.9.4 \
+		core-foundation-sys-0.8.6 \
+		cpufeatures-0.2.12 \
+		crc32fast-1.4.0 \
+		crossbeam-deque-0.7.4 \
+		crossbeam-epoch-0.8.2 \
+		crossbeam-queue-0.1.2 \
+		crossbeam-queue-0.2.3 \
+		crossbeam-utils-0.6.6 \
+		crossbeam-utils-0.7.2 \
+		crypto-common-0.1.6 \
+		derivative-1.0.4 \
+		digest-0.8.1 \
+		digest-0.10.7 \
+		env_logger-0.6.2 \
+		errno-0.3.8 \
+		fake-simd-0.1.2 \
+		fastrand-2.0.2 \
+		flate2-1.0.28 \
+		fnv-1.0.7 \
+		foreign-types-0.3.2 \
+		foreign-types-shared-0.1.1 \
+		fuchsia-cprng-0.1.1 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		futures-0.1.31 \
+		generic-array-0.12.4 \
+		generic-array-0.14.7 \
+		getrandom-0.2.12 \
+		heck-0.3.3 \
+		hermit-abi-0.1.19 \
+		hermit-abi-0.3.9 \
+		hex-0.4.3 \
+		http-0.1.21 \
+		http-bytes-0.1.0 \
+		httparse-1.8.0 \
+		hyper-0.10.16 \
+		idna-0.1.5 \
+		iovec-0.1.4 \
+		itoa-0.4.8 \
+		kernel32-sys-0.2.2 \
+		language-tags-0.2.2 \
+		lazy_static-1.4.0 \
+		libc-0.2.175 \
+		linux-raw-sys-0.4.13 \
+		lock_api-0.3.4 \
+		lock_api-0.4.11 \
+		log-0.3.9 \
+		log-0.4.21 \
+		matches-0.1.10 \
+		maybe-uninit-2.0.0 \
+		memchr-2.7.2 \
+		memoffset-0.5.6 \
+		mime-0.2.6 \
+		miniz_oxide-0.7.2 \
+		mio-0.6.23 \
+		mio-named-pipes-0.1.7 \
+		mio-uds-0.6.8 \
+		miow-0.2.2 \
+		miow-0.3.7 \
+		native-tls-0.2.11 \
+		net2-0.2.39 \
+		num_cpus-1.16.0 \
+		once_cell-1.19.0 \
+		opaque-debug-0.2.3 \
+		opaque-debug-0.3.1 \
+		openssl-0.10.64 \
+		openssl-macros-0.1.1 \
+		openssl-probe-0.1.5 \
+		openssl-src-300.5.4+3.5.4 \
+		openssl-sys-0.9.104 \
+		parking_lot-0.9.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.6.3 \
+		parking_lot_core-0.9.9 \
+		password-hash-0.4.2 \
+		percent-encoding-1.0.1 \
+		pkg-config-0.3.30 \
+		poly1305-0.7.2 \
+		ppv-lite86-0.2.17 \
+		proc-macro2-0.4.30 \
+		proc-macro2-1.0.79 \
+		prometheus-0.13.3 \
+		prometheus-metric-storage-0.5.0 \
+		prometheus-metric-storage-derive-0.5.0 \
+		quote-0.6.13 \
+		quote-1.0.35 \
+		rand-0.6.5 \
+		rand-0.8.5 \
+		rand_chacha-0.1.1 \
+		rand_chacha-0.3.1 \
+		rand_core-0.3.1 \
+		rand_core-0.4.2 \
+		rand_core-0.6.4 \
+		rand_hc-0.1.0 \
+		rand_isaac-0.1.1 \
+		rand_jitter-0.1.4 \
+		rand_os-0.1.3 \
+		rand_pcg-0.1.2 \
+		rand_xorshift-0.1.1 \
+		rdrand-0.4.0 \
+		readwrite-0.1.2 \
+		redox_syscall-0.1.57 \
+		redox_syscall-0.4.1 \
+		rustc_version-0.2.3 \
+		rustix-0.38.32 \
+		safemem-0.3.3 \
+		schannel-0.1.23 \
+		scopeguard-1.2.0 \
+		security-framework-2.10.0 \
+		security-framework-sys-2.10.0 \
+		semver-0.9.0 \
+		semver-parser-0.7.0 \
+		sha-1-0.8.2 \
+		signal-hook-registry-1.4.1 \
+		slab-0.4.9 \
+		slab_typesafe-0.1.3 \
+		smallvec-0.6.14 \
+		smallvec-1.13.2 \
+		smart-default-0.3.0 \
+		structopt-0.2.16 \
+		structopt-derive-0.2.16 \
+		subtle-2.4.1 \
+		syn-0.15.44 \
+		syn-1.0.109 \
+		syn-2.0.57 \
+		tempfile-3.10.1 \
+		textwrap-0.11.0 \
+		thiserror-1.0.58 \
+		thiserror-impl-1.0.58 \
+		time-0.1.45 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		tk-listen-0.2.1 \
+		tokio-0.1.22 \
+		tokio-codec-0.1.2 \
+		tokio-current-thread-0.1.7 \
+		tokio-executor-0.1.10 \
+		tokio-file-unix-0.5.1 \
+		tokio-fs-0.1.7 \
+		tokio-io-0.1.13 \
+		tokio-named-pipes-0.1.0 \
+		tokio-process-0.2.5 \
+		tokio-reactor-0.1.12 \
+		tokio-signal-0.2.9 \
+		tokio-stdin-stdout-0.1.5 \
+		tokio-sync-0.1.8 \
+		tokio-tcp-0.1.4 \
+		tokio-threadpool-0.1.18 \
+		tokio-timer-0.2.13 \
+		tokio-tls-0.2.1 \
+		tokio-udp-0.1.6 \
+		tokio-uds-0.2.7 \
+		traitobject-0.1.1 \
+		typeable-0.1.2 \
+		typenum-1.17.0 \
+		unicase-1.4.2 \
+		unicode-bidi-0.3.15 \
+		unicode-ident-1.0.12 \
+		unicode-normalization-0.1.23 \
+		unicode-segmentation-1.11.0 \
+		unicode-width-0.1.11 \
+		unicode-xid-0.1.0 \
+		universal-hash-0.4.1 \
+		url-1.7.2 \
+		vcpkg-0.2.15 \
+		version_check-0.1.5 \
+		version_check-0.9.4 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		websocket-0.27.1 \
+		websocket-base-0.26.5 \
+		winapi-0.2.8 \
+		winapi-0.3.9 \
+		winapi-build-0.1.1 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.52.0 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.4 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.4 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.4 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.4 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.4 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.4 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.4 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.4 \
+		ws2_32-sys-0.2.1 \
+		zeroize-1.7.0
diff --git a/www/websocat/distinfo b/www/websocat/distinfo
index 32121f2db0f2..91ed921ab59d 100644
--- a/www/websocat/distinfo
+++ b/www/websocat/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1731706976
+TIMESTAMP = 1767469801
 SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
 SIZE (rust/crates/adler-1.0.2.crate) = 12778
 SHA256 (rust/crates/aead-0.4.3.crate) = 0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877
@@ -139,8 +139,8 @@ SHA256 (rust/crates/language-tags-0.2.2.crate) = a91d884b6667cd606bb5a69aa0c99ba
 SIZE (rust/crates/language-tags-0.2.2.crate) = 12754
 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.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
-SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/libc-0.2.175.crate) = 6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543
+SIZE (rust/crates/libc-0.2.175.crate) = 788728
 SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
 SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
 SHA256 (rust/crates/lock_api-0.3.4.crate) = c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75
@@ -191,8 +191,8 @@ SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4
 SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
 SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
 SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-src-300.4.0+3.4.0.crate) = a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6
-SIZE (rust/crates/openssl-src-300.4.0+3.4.0.crate) = 9945264
+SHA256 (rust/crates/openssl-src-300.5.4+3.5.4.crate) = a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72
+SIZE (rust/crates/openssl-src-300.5.4+3.5.4.crate) = 7102203
 SHA256 (rust/crates/openssl-sys-0.9.104.crate) = 45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741
 SIZE (rust/crates/openssl-sys-0.9.104.crate) = 72287
 SHA256 (rust/crates/parking_lot-0.9.0.crate) = f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252
@@ -359,8 +359,8 @@ SHA256 (rust/crates/tokio-udp-0.1.6.crate) = e2a0b10e610b39c38b031a2fcab08e4b82f
 SIZE (rust/crates/tokio-udp-0.1.6.crate) = 11677
 SHA256 (rust/crates/tokio-uds-0.2.7.crate) = ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0
 SIZE (rust/crates/tokio-uds-0.2.7.crate) = 11942
-SHA256 (rust/crates/traitobject-0.1.0.crate) = efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079
-SIZE (rust/crates/traitobject-0.1.0.crate) = 1957
+SHA256 (rust/crates/traitobject-0.1.1.crate) = 04a79e25382e2e852e8da874249358d382ebaf259d0d34e75d8db16a7efabbc7
+SIZE (rust/crates/traitobject-0.1.1.crate) = 2411
 SHA256 (rust/crates/typeable-0.1.2.crate) = 1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887
 SIZE (rust/crates/typeable-0.1.2.crate) = 901
 SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
@@ -445,5 +445,5 @@ SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8
 SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
 SHA256 (rust/crates/zeroize-1.7.0.crate) = 525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d
 SIZE (rust/crates/zeroize-1.7.0.crate) = 19039
-SHA256 (vi-websocat-v1.14.0_GH0.tar.gz) = 919ee83c961074c176a129874a77c02889401f3548c2536a84c4427f97cfeb26
-SIZE (vi-websocat-v1.14.0_GH0.tar.gz) = 159157
+SHA256 (vi-websocat-v1.14.1_GH0.tar.gz) = 5c976c535800ca635b72839fe49d0fe4ad2479db8744c5a00f0cf911e4832e2d
+SIZE (vi-websocat-v1.14.1_GH0.tar.gz) = 159962
diff --git a/www/websocat/files/patch-rust-1.87.0 b/www/websocat/files/patch-rust-1.87.0
deleted file mode 100644
index c0f00a239cda..000000000000
--- a/www/websocat/files/patch-rust-1.87.0
+++ /dev/null
@@ -1,208 +0,0 @@
-https://github.com/oli-obk/rust-traitobject
-
---- cargo-crates/traitobject-0.1.0/Cargo.toml.orig	2025-05-20 19:05:49.922093000 +0200
-+++ cargo-crates/traitobject-0.1.0/Cargo.toml	2025-05-20 19:06:16.369816000 +0200
-@@ -7,4 +7,4 @@ license = "MIT/Apache-2.0"
- description = "Unsafe helpers for working with raw trait objects."
- readme = "README.md"
- license = "MIT/Apache-2.0"
--
-+edition = "2021"
---- cargo-crates/traitobject-0.1.0/src/impls.rs.orig	2025-05-20 18:52:30.435009000 +0200
-+++ cargo-crates/traitobject-0.1.0/src/impls.rs	2025-05-20 19:02:42.948378000 +0200
-@@ -1,82 +1,75 @@
--use Trait;
-+use super::Trait;
- 
--unsafe impl Trait for ::std::any::Any + Send { }
--unsafe impl Trait for ::std::any::Any + Sync { }
--unsafe impl Trait for ::std::any::Any + Send + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::Borrow<T> + Send { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::Borrow<T> + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::Borrow<T> + Send + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::BorrowMut<T> + Send { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::BorrowMut<T> + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::borrow::BorrowMut<T> + Send + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsMut<T> + Send { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsMut<T> + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsMut<T> + Send + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsRef<T> + Send { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsRef<T> + Sync { }
--unsafe impl<T: ?Sized> Trait for ::std::convert::AsRef<T> + Send + Sync { }
--unsafe impl Trait for ::std::error::Error + Send { }
--unsafe impl Trait for ::std::error::Error + Sync { }
--unsafe impl Trait for ::std::error::Error + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Binary + Send { }
--unsafe impl Trait for ::std::fmt::Binary + Sync { }
--unsafe impl Trait for ::std::fmt::Binary + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Debug + Send { }
--unsafe impl Trait for ::std::fmt::Debug + Sync { }
--unsafe impl Trait for ::std::fmt::Debug + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Display + Send { }
--unsafe impl Trait for ::std::fmt::Display + Sync { }
--unsafe impl Trait for ::std::fmt::Display + Send + Sync { }
--unsafe impl Trait for ::std::fmt::LowerExp + Send { }
--unsafe impl Trait for ::std::fmt::LowerExp + Sync { }
--unsafe impl Trait for ::std::fmt::LowerExp + Send + Sync { }
--unsafe impl Trait for ::std::fmt::LowerHex + Send { }
--unsafe impl Trait for ::std::fmt::LowerHex + Sync { }
--unsafe impl Trait for ::std::fmt::LowerHex + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Octal + Send { }
--unsafe impl Trait for ::std::fmt::Octal + Sync { }
--unsafe impl Trait for ::std::fmt::Octal + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Pointer + Send { }
--unsafe impl Trait for ::std::fmt::Pointer + Sync { }
--unsafe impl Trait for ::std::fmt::Pointer + Send + Sync { }
--unsafe impl Trait for ::std::fmt::UpperExp + Send { }
--unsafe impl Trait for ::std::fmt::UpperExp + Sync { }
--unsafe impl Trait for ::std::fmt::UpperExp + Send + Sync { }
--unsafe impl Trait for ::std::fmt::UpperHex + Send { }
--unsafe impl Trait for ::std::fmt::UpperHex + Sync { }
--unsafe impl Trait for ::std::fmt::UpperHex + Send + Sync { }
--unsafe impl Trait for ::std::fmt::Write + Send { }
--unsafe impl Trait for ::std::fmt::Write + Sync { }
--unsafe impl Trait for ::std::fmt::Write + Send + Sync { }
--unsafe impl Trait for ::std::hash::Hasher + Send { }
--unsafe impl Trait for ::std::hash::Hasher + Sync { }
--unsafe impl Trait for ::std::hash::Hasher + Send + Sync { }
--unsafe impl Trait for ::std::io::BufRead + Send { }
--unsafe impl Trait for ::std::io::BufRead + Sync { }
--unsafe impl Trait for ::std::io::BufRead + Send + Sync { }
--unsafe impl Trait for ::std::io::Read + Send { }
--unsafe impl Trait for ::std::io::Read + Sync { }
--unsafe impl Trait for ::std::io::Read + Send + Sync { }
--unsafe impl Trait for ::std::io::Seek + Send { }
--unsafe impl Trait for ::std::io::Seek + Sync { }
--unsafe impl Trait for ::std::io::Seek + Send + Sync { }
--unsafe impl Trait for ::std::io::Write + Send { }
--unsafe impl Trait for ::std::io::Write + Sync { }
--unsafe impl Trait for ::std::io::Write + Send + Sync { }
--unsafe impl<T, I> Trait for ::std::iter::IntoIterator<IntoIter=I, Item=T> { }
--unsafe impl<T> Trait for ::std::iter::Iterator<Item=T> + Send { }
--unsafe impl<T> Trait for ::std::iter::Iterator<Item=T> + Sync { }
--unsafe impl<T> Trait for ::std::iter::Iterator<Item=T> + Send + Sync { }
--unsafe impl Trait for ::std::marker::Send + Send { }
--unsafe impl Trait for ::std::marker::Send + Sync { }
--unsafe impl Trait for ::std::marker::Send + Send + Sync { }
--unsafe impl Trait for ::std::marker::Sync + Send { }
--unsafe impl Trait for ::std::marker::Sync + Sync { }
--unsafe impl Trait for ::std::marker::Sync + Send + Sync { }
--unsafe impl Trait for ::std::ops::Drop + Send { }
--unsafe impl Trait for ::std::ops::Drop + Sync { }
--unsafe impl Trait for ::std::ops::Drop + Send + Sync { }
--unsafe impl Trait for ::std::string::ToString + Send { }
--unsafe impl Trait for ::std::string::ToString + Sync { }
--unsafe impl Trait for ::std::string::ToString + Send + Sync { }
--
-+unsafe impl Trait for dyn ::std::any::Any + Send {}
-+unsafe impl Trait for dyn ::std::any::Any + Sync {}
-+unsafe impl Trait for dyn ::std::any::Any + Send + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::Borrow<T> + Send {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::Borrow<T> + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::Borrow<T> + Send + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::BorrowMut<T> + Send {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::BorrowMut<T> + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::borrow::BorrowMut<T> + Send + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsMut<T> + Send {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsMut<T> + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsMut<T> + Send + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsRef<T> + Send {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsRef<T> + Sync {}
-+unsafe impl<T: ?Sized> Trait for dyn ::std::convert::AsRef<T> + Send + Sync {}
-+unsafe impl Trait for dyn ::std::error::Error + Send {}
-+unsafe impl Trait for dyn ::std::error::Error + Sync {}
-+unsafe impl Trait for dyn ::std::error::Error + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Binary + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Binary + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Binary + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Debug + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Debug + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Debug + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Display + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Display + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Display + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::LowerExp + Send {}
-+unsafe impl Trait for dyn ::std::fmt::LowerExp + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::LowerExp + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::LowerHex + Send {}
-+unsafe impl Trait for dyn ::std::fmt::LowerHex + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::LowerHex + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Octal + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Octal + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Octal + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Pointer + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Pointer + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Pointer + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::UpperExp + Send {}
-+unsafe impl Trait for dyn ::std::fmt::UpperExp + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::UpperExp + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::UpperHex + Send {}
-+unsafe impl Trait for dyn ::std::fmt::UpperHex + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::UpperHex + Send + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Write + Send {}
-+unsafe impl Trait for dyn ::std::fmt::Write + Sync {}
-+unsafe impl Trait for dyn ::std::fmt::Write + Send + Sync {}
-+unsafe impl Trait for dyn ::std::hash::Hasher + Send {}
-+unsafe impl Trait for dyn ::std::hash::Hasher + Sync {}
-+unsafe impl Trait for dyn ::std::hash::Hasher + Send + Sync {}
-+unsafe impl Trait for dyn ::std::io::BufRead + Send {}
-+unsafe impl Trait for dyn ::std::io::BufRead + Sync {}
-+unsafe impl Trait for dyn ::std::io::BufRead + Send + Sync {}
-+unsafe impl Trait for dyn ::std::io::Read + Send {}
-+unsafe impl Trait for dyn ::std::io::Read + Sync {}
-+unsafe impl Trait for dyn ::std::io::Read + Send + Sync {}
-+unsafe impl Trait for dyn ::std::io::Seek + Send {}
-+unsafe impl Trait for dyn ::std::io::Seek + Sync {}
-+unsafe impl Trait for dyn ::std::io::Seek + Send + Sync {}
-+unsafe impl Trait for dyn ::std::io::Write + Send {}
-+unsafe impl Trait for dyn ::std::io::Write + Sync {}
-+unsafe impl Trait for dyn ::std::io::Write + Send + Sync {}
-+unsafe impl<T, I> Trait for dyn (::std::iter::IntoIterator<IntoIter = I, Item = T>) {}
-+unsafe impl<T> Trait for dyn ::std::iter::Iterator<Item = T> + Send {}
-+unsafe impl<T> Trait for dyn ::std::iter::Iterator<Item = T> + Sync {}
-+unsafe impl<T> Trait for dyn ::std::iter::Iterator<Item = T> + Send + Sync {}
-+unsafe impl Trait for dyn ::std::marker::Send + Send {}
-+unsafe impl Trait for dyn ::std::marker::Send + Sync {}
-+unsafe impl Trait for dyn ::std::marker::Sync + Sync {}
-+unsafe impl Trait for dyn ::std::string::ToString + Send {}
-+unsafe impl Trait for dyn ::std::string::ToString + Sync {}
-+unsafe impl Trait for dyn ::std::string::ToString + Send + Sync {}
---- cargo-crates/traitobject-0.1.0/src/lib.rs.orig	2025-05-20 19:03:33.859314000 +0200
-+++ cargo-crates/traitobject-0.1.0/src/lib.rs	2025-05-20 19:03:37.867025000 +0200
-@@ -5,26 +5,24 @@
- //!
- //! Unsafe helpers for working with raw TraitObjects.
- 
--use std::mem;
--
- /// Get the data pointer from this trait object.
- ///
- /// Highly unsafe, as there is no information about the type of the data.
- pub unsafe fn data<T: ?Sized>(val: *const T) -> *const () {
--    *mem::transmute::<*const *const T, *const *const ()>(&val)
-+    val as *const ()
- }
- 
- /// Get the data pointer from this trait object, mutably.
- ///
- /// Highly unsafe, as there is no information about the type of the data.
--pub unsafe fn data_mut<T: ?Sized>(mut val: *mut T) -> *mut () {
--    *mem::transmute::<*mut *mut T, *mut *mut ()>(&mut val)
-+pub unsafe fn data_mut<T: ?Sized>(val: *mut T) -> *mut () {
-+    val as *mut ()
- }
- 
- #[test]
- fn test_simple() {
--    let x = &7 as &Send;
--    unsafe { assert!(&7 == mem::transmute::<_, &i32>(data(x))) };
-+    let x = &7 as &dyn Send;
-+    unsafe { assert!(&7 == std::mem::transmute::<_, &i32>(data(x))) };
- }
- 
- /// A trait implemented for all trait objects.
-@@ -33,4 +31,3 @@ mod impls;
- pub unsafe trait Trait {}
- 
- mod impls;
--