Index | Thread | Search

From:
Laurent Cheylus <foxy@free.fr>
Subject:
Re: switch ruff to MODPY_PYBUILD
To:
Stuart Henderson <stu@spacehopper.org>
Cc:
ports <ports@openbsd.org>
Date:
Mon, 23 Mar 2026 11:29:52 +0100

Download raw body.

Thread
Hi Stuart,

----- Mail original -----
> this provides the python module which is needed for some things which
> want to use ruff (I noticed it while running tests for trio).
> 
> ok?
> 
> tests aren't ideal (result in things building again), but do run.

OK to convert devel/ruff port to use Python module/maturin for build.

Attached a diff updated for the latest version 0.15.7 (https://github.com/astral-sh/ruff/releases/tag/0.15.7).
=> modifications to set MODCARGO_CARGOTOML used to generate crates.inc file and a specific step for build.

Build OK on current/amd64 with Rust 1.93.1.

Thanks, Laurent

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/ruff/Makefile,v
diff -u -p -r1.8 Makefile
--- Makefile	11 Mar 2026 11:04:02 -0000	1.8
+++ Makefile	23 Mar 2026 10:20:01 -0000
@@ -3,9 +3,11 @@ NOT_FOR_ARCHS =	sparc64
 
 COMMENT =	Python linter and code formatter
 
+MODPY_DISTV =	0.15.7
+
 GH_ACCOUNT =	astral-sh
 GH_PROJECT =	ruff
-GH_TAGNAME =	0.15.5
+GH_TAGNAME =	${MODPY_DISTV}
 
 # Rust crates downloaded via git
 LSPTYPES =	e15db0593f0ecbbd80599c3f5880e4bf5da1ca0c
@@ -24,31 +26,29 @@ MAINTAINER =	Laurent Cheylus <foxy@free.
 # MIT
 PERMIT_PACKAGE=	Yes
 
-WANTLIB +=	${MODCARGO_WANTLIB} m zstd
-
-LIB_DEPENDS +=	archivers/zstd
-TEST_DEPENDS+=	${LIB_DEPENDS}
-
-MODULES =	devel/cargo
+WANTLIB +=	${MODCARGO_WANTLIB} m
 
-CONFIGURE_STYLE =	cargo
+TEST_DEPENDS +=	archivers/zstd
 
 MODCARGO_RUSTFLAGS +=	-L${LOCALBASE}/lib
 
-SEPARATE_BUILD=	Yes
+MODULES =	lang/python
+MODPY_PYBUILD =	maturin
 
-# Generate shell completions
-pre-install:
-	${MODCARGO_TARGET_DIR}/release/ruff generate-shell-completion bash \
-		> ${WRKSRC}/ruff.bash
-	${MODCARGO_TARGET_DIR}/release/ruff generate-shell-completion fish \
-		> ${WRKSRC}/ruff.fish
-	${MODCARGO_TARGET_DIR}/release/ruff generate-shell-completion zsh \
-		> ${WRKSRC}/ruff.zsh
+# Used to generate crates.inc
+MODCARGO_CARGOTOML =	${WRKSRC}/Cargo.toml
 
-do-install:
-	${INSTALL_PROGRAM} ${MODCARGO_TARGET_DIR}/release/ruff ${PREFIX}/bin/
+# MODCARGO_CARGOTOML cannot be used for build
+do-build:
+	${MODCARGO_CARGO_RUN} build \
+		--manifest-path ${WRKSRC}/crates/ruff/Cargo.toml \
+		--release ${MODCARGO_BUILD_ARGS}
 
+# Generate shell completions
+post-install:
+.for i in bash fish zsh
+	${PREFIX}/bin/ruff generate-shell-completion $i > ${WRKSRC}/ruff.$i
+.endfor
 	${INSTALL_DATA_DIR} \
 		${PREFIX}/share/bash-completion/completions \
 		${PREFIX}/share/fish/vendor_completions.d \
@@ -62,6 +62,9 @@ do-install:
 
 # Skip tests with errors (generate_json_schema, idx)
 MODCARGO_TEST_ARGS +=	-- --skip generate_json_schema --skip idx
+
+do-test:
+	@${MODCARGO_TEST_TARGET:S/maturin/cargo/}
 
 # TODO: fix tests
 # test commands::format::tests::error_diagnostics ... FAILED
Index: crates.inc
===================================================================
RCS file: /cvs/ports/devel/ruff/crates.inc,v
diff -u -p -r1.8 crates.inc
--- crates.inc	11 Mar 2026 11:04:02 -0000	1.8
+++ crates.inc	23 Mar 2026 10:20:01 -0000
@@ -114,7 +114,6 @@ MODCARGO_CRATES +=	dunce	1.0.5	# CC0-1.0
 MODCARGO_CRATES +=	dyn-clone	1.0.20	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	either	1.15.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	encode_unicode	1.0.0	# Apache-2.0 OR MIT
-MODCARGO_CRATES +=	env_home	0.1.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	equivalent	1.0.2	# Apache-2.0 OR MIT
 MODCARGO_CRATES +=	errno	0.3.14	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	escape8259	0.5.3	# MIT
@@ -138,7 +137,7 @@ MODCARGO_CRATES +=	get-size2	0.7.4	# MIT
 MODCARGO_CRATES +=	getopts	0.2.24	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	getrandom	0.2.16	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	getrandom	0.3.4	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	getrandom	0.4.1	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	getrandom	0.4.2	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	glob	0.3.3	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	globset	0.4.18	# Unlicense OR MIT
 MODCARGO_CRATES +=	globwalk	0.9.1	# MIT
@@ -176,18 +175,15 @@ MODCARGO_CRATES +=	insta-cmd	0.6.0	# Apa
 MODCARGO_CRATES +=	interpolator	0.5.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	intrusive-collections	0.9.7	# Apache-2.0/MIT
 MODCARGO_CRATES +=	inventory	0.3.21	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	is-docker	0.2.0	# MIT
 MODCARGO_CRATES +=	is-macro	0.3.7	# Apache-2.0
 MODCARGO_CRATES +=	is-terminal	0.4.16	# MIT
-MODCARGO_CRATES +=	is-wsl	0.4.0	# MIT
-MODCARGO_CRATES +=	is_executable	1.0.5	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	is_terminal_polyfill	1.70.1	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	itertools	0.10.5	# MIT/Apache-2.0
 MODCARGO_CRATES +=	itertools	0.13.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	itertools	0.14.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	itoa	1.0.15	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	jiff	0.2.21	# Unlicense OR MIT
-MODCARGO_CRATES +=	jiff-static	0.2.21	# Unlicense OR MIT
+MODCARGO_CRATES +=	jiff	0.2.23	# Unlicense OR MIT
+MODCARGO_CRATES +=	jiff-static	0.2.23	# Unlicense OR MIT
 MODCARGO_CRATES +=	jiff-tzdb	0.1.4	# Unlicense OR MIT
 MODCARGO_CRATES +=	jiff-tzdb-platform	0.1.3	# Unlicense OR MIT
 MODCARGO_CRATES +=	jobserver	0.1.34	# MIT OR Apache-2.0
@@ -286,18 +282,16 @@ MODCARGO_CRATES +=	quick-junit	0.5.2	# A
 MODCARGO_CRATES +=	quick-xml	0.38.4	# MIT
 MODCARGO_CRATES +=	quickcheck	1.1.0	# Unlicense OR MIT
 MODCARGO_CRATES +=	quickcheck_macros	1.2.0	# Unlicense OR MIT
-MODCARGO_CRATES +=	quote	1.0.44	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	quote	1.0.45	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	quote-use	0.8.4	# MIT
 MODCARGO_CRATES +=	quote-use-macros	0.8.4	# MIT
 MODCARGO_CRATES +=	r-efi	5.3.0	# MIT OR Apache-2.0 OR LGPL-2.1-or-later
+MODCARGO_CRATES +=	r-efi	6.0.0	# MIT OR Apache-2.0 OR LGPL-2.1-or-later
 MODCARGO_CRATES +=	radium	0.7.0	# MIT
 MODCARGO_CRATES +=	rand	0.8.5	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	rand	0.9.2	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rand	0.10.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rand_chacha	0.3.1	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	rand_chacha	0.9.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rand_core	0.6.4	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	rand_core	0.9.3	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rand_core	0.10.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rayon	1.11.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rayon-core	1.13.0	# MIT OR Apache-2.0
@@ -308,7 +302,7 @@ MODCARGO_CRATES +=	ref-cast-impl	1.0.25	
 MODCARGO_CRATES +=	regex	1.12.3	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	regex-automata	0.4.14	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	regex-lite	0.1.7	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	regex-syntax	0.8.9	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	regex-syntax	0.8.10	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	ron	0.12.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	rust-stemmers	1.2.0	# MIT/BSD-3-Clause
 MODCARGO_CRATES +=	rustc-hash	2.1.1	# Apache-2.0 OR MIT
@@ -331,11 +325,11 @@ MODCARGO_CRATES +=	serde_json	1.0.149	# 
 MODCARGO_CRATES +=	serde_repr	0.1.20	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	serde_spanned	1.0.4	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	serde_test	1.0.177	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	serde_with	3.16.1	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	serde_with_macros	3.16.1	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	serde_with	3.17.0	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	serde_with_macros	3.17.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	sha2	0.10.9	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	sharded-slab	0.1.7	# MIT
-MODCARGO_CRATES +=	shellexpand	3.1.1	# MIT/Apache-2.0
+MODCARGO_CRATES +=	shellexpand	3.1.2	# MIT/Apache-2.0
 MODCARGO_CRATES +=	shlex	1.3.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	similar	2.7.0	# Apache-2.0
 MODCARGO_CRATES +=	siphasher	1.0.1	# MIT/Apache-2.0
@@ -375,7 +369,7 @@ MODCARGO_CRATES +=	tinytemplate	1.2.1	# 
 MODCARGO_CRATES +=	tinyvec	1.10.0	# Zlib OR Apache-2.0 OR MIT
 MODCARGO_CRATES +=	tinyvec_macros	0.1.1	# MIT OR Apache-2.0 OR Zlib
 MODCARGO_CRATES +=	toml	0.9.12+spec-1.1.0	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	toml	1.0.3+spec-1.1.0	# MIT OR Apache-2.0
+MODCARGO_CRATES +=	toml	1.0.6+spec-1.1.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	toml_datetime	0.7.5+spec-1.1.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	toml_datetime	1.0.0+spec-1.1.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	toml_edit	0.23.6	# MIT OR Apache-2.0
@@ -413,7 +407,7 @@ MODCARGO_CRATES +=	urlencoding	2.1.3	# M
 MODCARGO_CRATES +=	utf8-width	0.1.7	# MIT
 MODCARGO_CRATES +=	utf8_iter	1.0.4	# Apache-2.0 OR MIT
 MODCARGO_CRATES +=	utf8parse	0.2.2	# Apache-2.0 OR MIT
-MODCARGO_CRATES +=	uuid	1.21.0	# Apache-2.0 OR MIT
+MODCARGO_CRATES +=	uuid	1.22.0	# Apache-2.0 OR MIT
 MODCARGO_CRATES +=	valuable	0.1.1	# MIT
 MODCARGO_CRATES +=	version-ranges	0.1.1	# MPL-2.0
 MODCARGO_CRATES +=	version_check	0.9.5	# MIT/Apache-2.0
@@ -438,7 +432,7 @@ MODCARGO_CRATES +=	wasm-metadata	0.244.0
 MODCARGO_CRATES +=	wasmparser	0.244.0	# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
 MODCARGO_CRATES +=	web-sys	0.3.82	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	web-time	1.1.0	# MIT OR Apache-2.0
-MODCARGO_CRATES +=	which	8.0.0	# MIT
+MODCARGO_CRATES +=	which	8.0.2	# MIT
 MODCARGO_CRATES +=	wild	2.2.1	# Apache-2.0 OR MIT
 MODCARGO_CRATES +=	winapi	0.3.9	# MIT/Apache-2.0
 MODCARGO_CRATES +=	winapi-i686-pc-windows-gnu	0.4.0	# MIT/Apache-2.0
@@ -474,7 +468,6 @@ MODCARGO_CRATES +=	windows_x86_64_gnullv
 MODCARGO_CRATES +=	windows_x86_64_msvc	0.52.6	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	windows_x86_64_msvc	0.53.0	# MIT OR Apache-2.0
 MODCARGO_CRATES +=	winnow	0.7.13	# MIT
-MODCARGO_CRATES +=	winsafe	0.0.19	# MIT
 MODCARGO_CRATES +=	wit-bindgen	0.46.0	# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
 MODCARGO_CRATES +=	wit-bindgen	0.51.0	# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
 MODCARGO_CRATES +=	wit-bindgen-core	0.51.0	# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/ruff/distinfo,v
diff -u -p -r1.8 distinfo
--- distinfo	11 Mar 2026 11:04:02 -0000	1.8
+++ distinfo	23 Mar 2026 10:20:01 -0000
@@ -115,7 +115,6 @@ SHA256 (cargo/dunce-1.0.5.tar.gz) = knc1
 SHA256 (cargo/dyn-clone-1.0.20.tar.gz) = 0IgeoYGx33P/d/+q+cdUTswR6C+6m18nsmKjxzozJVU=
 SHA256 (cargo/either-1.15.0.tar.gz) = SMdXlIxe3g5GF3t63S5nFV9w4zwH/qgoTfZXbacLNxk=
 SHA256 (cargo/encode_unicode-1.0.0.tar.gz) = NKpzZG/7AGuPUUfz3Bgr1LyxkCJ86GH8SkhEv448ssA=
-SHA256 (cargo/env_home-0.1.0.tar.gz) = x/hOEszwp93BemxByTMmAkxCkg1+5jDQSVDmkmZFwP4=
 SHA256 (cargo/equivalent-1.0.2.tar.gz) = h3pKzocTsLzypOfuyCUpwCnx0GGYhtGBRf6pbD/+XA8=
 SHA256 (cargo/errno-0.3.14.tar.gz) = Ocq3FheuDWP1GjbWn4ZjkXNbUWkdvaY89vltBCtj7+s=
 SHA256 (cargo/escape8259-0.5.3.tar.gz) = VpLde1oZeKWusM6Dt2VcWMqO/ct50hA26iSdqVr+wsY=
@@ -139,7 +138,7 @@ SHA256 (cargo/get-size2-0.7.4.tar.gz) = 
 SHA256 (cargo/getopts-0.2.24.tar.gz) = z+T7rFA7jR+I5mdgEYhfNLcXT0blmVa7pTS6g6ve1N8=
 SHA256 (cargo/getrandom-0.2.16.tar.gz) = M1/58TXkOEyBUNbyfG2u1DNXf4a0dQQYM4wBoaJShZI=
 SHA256 (cargo/getrandom-0.3.4.tar.gz) = iZ3vXDfE/XsmZGSMKBIOzsE45NOVtFnlyjT5zOLdd/0=
-SHA256 (cargo/getrandom-0.4.1.tar.gz) = E57zmAARjHaD8v08mMGyPAmuB2VWtDX46QZK4Qiq7uw=
+SHA256 (cargo/getrandom-0.4.2.tar.gz) = DeUeaHTpTnv3bXJvxdE7p4LeynNP9g1bsvsmB8dAZVU=
 SHA256 (cargo/glob-0.3.3.tar.gz) = DMIycPbhgI4wqSi9yE3qC5tBNqi8gjOFdPI7r0e70oA=
 SHA256 (cargo/globset-0.4.18.tar.gz) = Ut/BkVOki94MvWMEU2FcgVG846Wt+segrr+/Ch4fV+M=
 SHA256 (cargo/globwalk-0.9.1.tar.gz) = C/dg6/aYeNn9jxEMiXA9kM41CVMk0fHty1lcY5Re51c=
@@ -177,18 +176,15 @@ SHA256 (cargo/insta-cmd-0.6.0.tar.gz) = 
 SHA256 (cargo/interpolator-0.5.0.tar.gz) = cd1SGRquEh6GEfHo3D4yTdDdHe4ebdkdEO4Ho8+02dg=
 SHA256 (cargo/intrusive-collections-0.9.7.tar.gz) = GJ0Il+TL6Mde/t81AsGMiHsFBG5Z0oQE1NjkbLxNHoY=
 SHA256 (cargo/inventory-0.3.21.tar.gz) = vGEgnAgvvrGZGb7nSxdiIbJyI+J7ZdeB65GvJOsftG4=
-SHA256 (cargo/is-docker-0.2.0.tar.gz) = kouuJ/QryZtg2axzNOOiHRCtjxg1pOEuw+wEZHZe0bM=
 SHA256 (cargo/is-macro-0.3.7.tar.gz) = HVej5EfiTCJkdzjkYH8d8eDsb3LhYYLEzRmfZHzfsOQ=
 SHA256 (cargo/is-terminal-0.4.16.tar.gz) = 4E1/MYYI011LYd3XXL2u6GsCPr4r1aZu4JFfC/kwlak=
-SHA256 (cargo/is-wsl-0.4.0.tar.gz) = FzYJSY3xkBNqp96hqR2wUXRtM54YR27tXKQFIfAteqU=
-SHA256 (cargo/is_executable-1.0.5.tar.gz) = uqu4tIZ7JilNgYvz9lGkVLaQFDFxGruW4pYkWIjW6MQ=
 SHA256 (cargo/is_terminal_polyfill-1.70.1.tar.gz) = eUPIZsxc1ky8JbLgFiHQf6jrKhojFg7oHOOHBOl7js8=
 SHA256 (cargo/itertools-0.10.5.tar.gz) = sP0iYOgpvd9MtuqAIoneL4bWp6aQGS++kbP0bg8shHM=
 SHA256 (cargo/itertools-0.13.0.tar.gz) = QT7n38Uu4aSUnO6328ijPy1sCIGU2fki+4MY+vHwEYY=
 SHA256 (cargo/itertools-0.14.0.tar.gz) = KxkseCA3+t2c+nVUgxBIiqvb89Lac4hbMb0KvQM1EoU=
 SHA256 (cargo/itoa-1.0.15.tar.gz) = Sl8TuFjI0xTuPo9jkBH3zO/nH5f5blAVH7mR8meSjiw=
-SHA256 (cargo/jiff-0.2.21.tar.gz) = s+PWXwGMaulGqxboCUS5cJbtc8NbIh0cR4psgdj1eUA=
-SHA256 (cargo/jiff-static-0.2.21.tar.gz) = oXwrIR2GPH/eAsvqijwaQ5uY4QkoZVTyhgvd7X/4OBg=
+SHA256 (cargo/jiff-0.2.23.tar.gz) = GjVG3Ja21CxfJJAq+eJTjoLjmtNQsMdm6z+/LY89g1k=
+SHA256 (cargo/jiff-static-0.2.23.tar.gz) = KoyLNEEkIi79cUtzu0H4tRILJ6fMHHVZOm/3aNnQWqQ=
 SHA256 (cargo/jiff-tzdb-0.1.4.tar.gz) = wSg3BesKIUBNK/1u7yp1k9JAvEKgvbOdsK1vouwCZSQ=
 SHA256 (cargo/jiff-tzdb-platform-0.1.3.tar.gz) = h1paaawrqxqJFxHPXsy+wc4DQeqAVWDc2Qt6LpJRMug=
 SHA256 (cargo/jobserver-0.1.34.tar.gz) = mvs95Dldaz5np4C23mS1HJeOzxHLmkYsZr59TKkDnTM=
@@ -287,19 +283,17 @@ SHA256 (cargo/quick-junit-0.5.2.tar.gz) 
 SHA256 (cargo/quick-xml-0.38.4.tar.gz) = tmwgWMVaQJ1gFmbP/jXwQzPPEBMBCILOwXSnRnzU4hw=
 SHA256 (cargo/quickcheck-1.1.0.tar.gz) = lcWJ8zXbD2qqFop80nsfxpIPXhRwyAT4FNnNbmKg9ws=
 SHA256 (cargo/quickcheck_macros-1.2.0.tar.gz) = qaKLhJPdZkyLFx3ZRNqC2TP31Fa4Kb+yNnOOH+BsW6Q=
-SHA256 (cargo/quote-1.0.44.tar.gz) = IbLrz3J7d2DEYfCR+fD1Obd7jofy/YgTHn8bQzs87OQ=
+SHA256 (cargo/quote-1.0.45.tar.gz) = QfJhmWYFBok4LStE9mT0vFk+EpeFo21u43bd83JZuSQ=
 SHA256 (cargo/quote-use-0.8.4.tar.gz) = lhnbEZe0l6NheM/HNtyWsnH+kYh1+/E0TENqfpPQMh4=
 SHA256 (cargo/quote-use-macros-0.8.4.tar.gz) = guv7f6r63AanqxQab2e8+yTLi+sVjG/pM/LwNa+pnzU=
 SHA256 (cargo/r-efi-5.3.0.tar.gz) = ac2zTBWM6yiN8R4YtL053plPZlfYOEe9/9vX80Z1Sw8=
+SHA256 (cargo/r-efi-6.0.0.tar.gz) = +NzJx9UqgRaX0hUccB4NCJVvkrDiQTbPTPJ7V6ag2b8=
 SHA256 (cargo/radium-0.7.0.tar.gz) = 3DP/LUlz1RjYI9YaojkBSDHlIcddpY499IQNP0d0nQk=
 SHA256 (cargo/rand-0.10.0.tar.gz) = vCZusxPfbFwJwcex++JRCWHlvNOt2TDB4x9+2doP7/g=
 SHA256 (cargo/rand-0.8.5.tar.gz) = NK+NGg4lkkvFt8Q8B5yUIznY8Ki1fDkEm+9YG0YydAQ=
-SHA256 (cargo/rand-0.9.2.tar.gz) = bbJ3DwYRfUkGEMdIhUfVQ2F7Ib+gd5bXoS9vG9U4UNE=
 SHA256 (cargo/rand_chacha-0.3.1.tar.gz) = 5sEKY6D6MiUr5J0h53CdTUuvjSMcLbzh6qgUG5sSfYg=
-SHA256 (cargo/rand_chacha-0.9.0.tar.gz) = 0wIrXx32Dybh/93Wxm6KoV3jgq5js6DBv8Dk0+PzJcs=
 SHA256 (cargo/rand_core-0.10.0.tar.gz) = DI0P1neQXty+7b8u22SU1nbw6Y1U1c+b2gsGHLj7iro=
 SHA256 (cargo/rand_core-0.6.4.tar.gz) = 7AvkeV4vaigGm+wLX/PirJuvyZ5qmn3DVHmWxcgWkiw=
-SHA256 (cargo/rand_core-0.9.3.tar.gz) = mdmhOYLc8hAFeop4VysiF7Znw76svzoNi0VPb4KDfTg=
 SHA256 (cargo/rayon-1.11.0.tar.gz) = No8B0AW/j9mxIG+2+mU+bEqBzrFGZAa4F5LYfFZ3pY8=
 SHA256 (cargo/rayon-core-1.13.0.tar.gz) = IuGLDwBi0w1CMLLoX/d/3+Qyb+sFS5eDo0YNhDXIq5E=
 SHA256 (cargo/redox_syscall-0.5.17.tar.gz) = VAdGVgD7BUjxRC7fcd0gaDxu0yYgCs5LHvB2NSG7O3c=
@@ -309,7 +303,7 @@ SHA256 (cargo/ref-cast-impl-1.0.25.tar.g
 SHA256 (cargo/regex-1.12.3.tar.gz) = 4QdUoUuRN917Hj5bBJPMkXH90QXgq0d/UbcufzrA4nY=
 SHA256 (cargo/regex-automata-0.4.14.tar.gz) = bh3UEi/BWV6BYmGJRUdoku78p7iMUoIOdK9iYiE8ro8=
 SHA256 (cargo/regex-lite-0.1.7.tar.gz) = lD9BMhxj7xyS/XY7/gVNJmj38iWlwp8BBZA9wvwEujA=
-SHA256 (cargo/regex-syntax-0.8.9.tar.gz) = qWiHh48i17rYo7bcW3RA4K2pokUkKSQ5SYeyHPIhCkw=
+SHA256 (cargo/regex-syntax-0.8.10.tar.gz) = 3Il92NnovR7Yza2CtZZsPg7K4J+xkH1Y76oBNUMYXQo=
 SHA256 (cargo/ron-0.12.0.tar.gz) = /UkMWxgmGJPxREnL0oy5wLY3rr8WHNd5AL/e2v8h7DI=
 SHA256 (cargo/rust-stemmers-1.2.0.tar.gz) = 5GogNgGf24iBMdt6TIR6EGOnST+XHtlOqCxn6tpjylQ=
 SHA256 (cargo/rustc-hash-2.1.1.tar.gz) = NXcD1BNltLJ8WQ4+2R6rsbZj8HxMCECV5gy+1DYt/w0=
@@ -332,11 +326,11 @@ SHA256 (cargo/serde_json-1.0.149.tar.gz)
 SHA256 (cargo/serde_repr-0.1.20.tar.gz) = F17j6ArpmCc3ylQ+lhMwh8vZpIXuzDvE3pwaN7R+pZw=
 SHA256 (cargo/serde_spanned-1.0.4.tar.gz) = +Lv5HlpNYxXu5F5wQ3JZCzDiYO6Dr2Y51kVX9RsGd3Y=
 SHA256 (cargo/serde_test-1.0.177.tar.gz) = f5Ae5XPKtrMGBFPS1fC65ObWKMI8CpYv+bXx18jU8e0=
-SHA256 (cargo/serde_with-3.16.1.tar.gz) = T6I38oB0QNI44DZKIYJwuY92egDT2tp3scU66IlA4uc=
-SHA256 (cargo/serde_with_macros-3.16.1.tar.gz) = UqjjygymKRIfcKtQ+VJJ5ab5JcwPb/6CVsRbcoh1cGw=
+SHA256 (cargo/serde_with-3.17.0.tar.gz) = OBsoPOe8a0dtkDKW+1nQ02YzZStjOyf2TbT7Rty/w7k=
+SHA256 (cargo/serde_with_macros-3.17.0.tar.gz) = ptTjBXPIyzBu1qsdyoQj7smkY+oOFV9FOZRV4DaLJ+A=
 SHA256 (cargo/sha2-0.10.9.tar.gz) = p1B9gZdp0Bo2WrcHeUpAhDksgk9Up6anhi+MPQiSsoM=
 SHA256 (cargo/sharded-slab-0.1.7.tar.gz) = 9AyjxGgjcT4NQglZLo1ugmqlfpKPCXUmGfxpbEmWN/Y=
-SHA256 (cargo/shellexpand-3.1.1.tar.gz) = ix/fZd1jMYMUlN1hazA1HDjpbkWSGid0XPmEkEWLkLs=
+SHA256 (cargo/shellexpand-3.1.2.tar.gz) = MoJPq14W5sTYbcG6hEiTkEGaOfl2mYUrZkgLuH0pftg=
 SHA256 (cargo/shlex-1.3.0.tar.gz) = D9ov8NCEAZuk18bzccldj9dc41JMPLj7ZTowI/YyPmQ=
 SHA256 (cargo/similar-2.7.0.tar.gz) = u7tdllkUFkauZHtC/glNr2xhktFiCHC0SdlVf3SLLao=
 SHA256 (cargo/siphasher-1.0.1.tar.gz) = Vhmffdq/E/5QdM6Ann0/QrQq5xGABQG1sW6oKtApw50=
@@ -376,7 +370,7 @@ SHA256 (cargo/tinytemplate-1.2.1.tar.gz)
 SHA256 (cargo/tinyvec-1.10.0.tar.gz) = v6X9w7zmGRodvIwC1ci//PVXuvoXwSTFJkpFjxsGE/o=
 SHA256 (cargo/tinyvec_macros-0.1.1.tar.gz) = HzzLrDEf6gX4b2GQS0YrVfs9+IN6Nm38YBoBYdBTLyA=
 SHA256 (cargo/toml-0.9.12+spec-1.1.0.tar.gz) = z5KEXnn8Li3val2CjwgB4poviswDe+zFqwhZXH1emGM=
-SHA256 (cargo/toml-1.0.3+spec-1.1.0.tar.gz) = x2FOrxmtgYNH2ySt36IBcpzyqbb9/Z6wq4cPysxgbAw=
+SHA256 (cargo/toml-1.0.6+spec-1.1.0.tar.gz) = OZsRJKPJ4WdmgxxruiHlAZJXLN2YcG6hFPlQJQlob/w=
 SHA256 (cargo/toml_datetime-0.7.5+spec-1.1.0.tar.gz) = kuHP7UowOLxaEn41otNg8UXh9LlxtVGiul/Xrt9+E0c=
 SHA256 (cargo/toml_datetime-1.0.0+spec-1.1.0.tar.gz) = MsJVXGmVeKT1nwzGjlEWyNfKu9ReFAm5idS+CFtT8T4=
 SHA256 (cargo/toml_edit-0.23.6.tar.gz) = 8+/+fA6G/f9Pac3SzMG5b5M+JIEcVEHUSQToaD4nGEs=
@@ -414,7 +408,7 @@ SHA256 (cargo/urlencoding-2.1.3.tar.gz) 
 SHA256 (cargo/utf8-width-0.1.7.tar.gz) = hr2NToldqFN+UxW4JUZk5rdpxP89sYMhspeh5wBDkuM=
 SHA256 (cargo/utf8_iter-1.0.4.tar.gz) = tsFAYg5/+7IsLe5Zyv5ghKWbX/wnqIWaXw1JS11Str4=
 SHA256 (cargo/utf8parse-0.2.2.tar.gz) = BqveNhFlet9m04PwCwk9f67Mf6VwccziV4ZgyfEBCCE=
-SHA256 (cargo/uuid-1.21.0.tar.gz) = tnIzhVUlLUP9IkDHFNxES4xvsKXFM15loHu6d0JzXds=
+SHA256 (cargo/uuid-1.22.0.tar.gz) = po08jwHAz6VKdSkdg2ARYXmeSomjngkp9LA1TYh1ejc=
 SHA256 (cargo/valuable-0.1.1.tar.gz) = unPqnPFqJd8MjKoWxRrLk31XEqhCnbeKPuKdXcrNOmU=
 SHA256 (cargo/version-ranges-0.1.1.tar.gz) = +NB5QVzrK+g/w1Wtutr+QBMH1cMJx+at5mOOb59C9C0=
 SHA256 (cargo/version_check-0.9.5.tar.gz) = C5KPM9l1/GrZ+GyPKDhTrSa91bELfxVCqi+hXiKJEFo=
@@ -439,7 +433,7 @@ SHA256 (cargo/wasm-metadata-0.244.0.tar.
 SHA256 (cargo/wasmparser-0.244.0.tar.gz) = R7gHxy4brGk4Kzpvs9vo6kwO2H/1YpuGha5rmmEQKP4=
 SHA256 (cargo/web-sys-0.3.82.tar.gz) = Oh+VwNA6R/SuH3pkZDpruXRl2bdA8PqPkOozkVyZqaE=
 SHA256 (cargo/web-time-1.1.0.tar.gz) = WmWA8wix+tkgdhgIemXATnoQvHfgLI6E6bAN1LEvoLs=
-SHA256 (cargo/which-8.0.0.tar.gz) = 0/q7lTEGw8juqDBuQ5NwDXZXVhy0MSJXGxcrv7fHuh0=
+SHA256 (cargo/which-8.0.2.tar.gz) = gZlfr6qvauR6fQzIPGfK+SrrflMxZQrm/4VvfAxgxFk=
 SHA256 (cargo/wild-2.2.1.tar.gz) = oxMa/IxXUoHh6A827WoJKqUCwIsY7XUk6G+7sSu0EOE=
 SHA256 (cargo/winapi-0.3.9.tar.gz) = XIOaZ0/NepiVLlkyQupACr6TmSdGdh44ZBQF0osA9Bk=
 SHA256 (cargo/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = rDuHxjYgQm3ZuZHlzgMp7/VFvMu7NPO+Cf9vtqtRt7Y=
@@ -475,7 +469,6 @@ SHA256 (cargo/windows_x86_64_gnullvm-0.5
 SHA256 (cargo/windows_x86_64_msvc-0.52.6.tar.gz) = WJ9tqExkYgR0fRJwoqVmHqZu0cztJjHVRv37FVlZ+ew=
 SHA256 (cargo/windows_x86_64_msvc-0.53.0.tar.gz) = JxQUMVr/hzhzguw9JxtS1654cm9dRKyYtPQDDJGIBIY=
 SHA256 (cargo/winnow-0.7.13.tar.gz) = IaAja1l4b+1h4qgFgt1QD+YfGLXcpnpKBn0LyQOTOc8=
-SHA256 (cargo/winsafe-0.0.19.tar.gz) = 0TXRerdwJSrZXpqHLTZc8wkOO+hko0q0b0hVWZPvyQQ=
 SHA256 (cargo/wit-bindgen-0.46.0.tar.gz) = 8XqFiD1ObQDoqXxYbedk2rzAYTP38dVdzlzcBwrX/lk=
 SHA256 (cargo/wit-bindgen-0.51.0.tar.gz) = 1ySSGfZs7QKWk4jPK7BEoJdWoIPQ+rHlZgVrBNn7yqU=
 SHA256 (cargo/wit-bindgen-core-0.51.0.tar.gz) = 6mHeaEw+poywgreohQiosn/Mi3l9c4v8magvrPHXUtw=
@@ -500,7 +493,7 @@ SHA256 (cargo/zmij-1.0.10.tar.gz) = MODY
 SHA256 (cargo/zstd-0.11.2+zstd.1.5.2.tar.gz) = IMyWAybs5k8BDS0hB1N/JtxYmmVzoxa9Wx26aF+l/eQ=
 SHA256 (cargo/zstd-safe-5.0.2+zstd.1.5.2.tar.gz) = HSpVheBPnupLKj0eylCMTe6Vkqie9vRQwRcZ2gcm9Ns=
 SHA256 (cargo/zstd-sys-2.0.16+zstd.1.5.7.tar.gz) = keGevCrcj4PkMDnnl3bj/ajKkZEy1oof7WpfrKJoN0g=
-SHA256 (ruff-0.15.5.tar.gz) = JI3s4RVzR+rehVtmPvDu9LF5fil3nCzOf8dp9RwFwpg=
+SHA256 (ruff-0.15.7.tar.gz) = NwADV0yL3h7vKG7Okl8z5Dvk01ZMjsqN+0+xAKHc55c=
 SHA256 (salsa-rs-salsa-53421c2fff87426fa0bb51cab06632b87646de13.tar.gz) = XjcJiPChUsVwUhDMJGC3g2mv4QtGpbieOM+5vHAQWEc=
 SIZE (astral-sh-lsp-types-e15db0593f0ecbbd80599c3f5880e4bf5da1ca0c.tar.gz) = 71166
 SIZE (cargo/adler2-2.0.1.tar.gz) = 13366
@@ -619,7 +612,6 @@ SIZE (cargo/dunce-1.0.5.tar.gz) = 8244
 SIZE (cargo/dyn-clone-1.0.20.tar.gz) = 13134
 SIZE (cargo/either-1.15.0.tar.gz) = 20114
 SIZE (cargo/encode_unicode-1.0.0.tar.gz) = 56986
-SIZE (cargo/env_home-0.1.0.tar.gz) = 9006
 SIZE (cargo/equivalent-1.0.2.tar.gz) = 7419
 SIZE (cargo/errno-0.3.14.tar.gz) = 12002
 SIZE (cargo/escape8259-0.5.3.tar.gz) = 4989
@@ -643,7 +635,7 @@ SIZE (cargo/get-size2-0.7.4.tar.gz) = 21
 SIZE (cargo/getopts-0.2.24.tar.gz) = 21467
 SIZE (cargo/getrandom-0.2.16.tar.gz) = 40163
 SIZE (cargo/getrandom-0.3.4.tar.gz) = 50932
-SIZE (cargo/getrandom-0.4.1.tar.gz) = 53686
+SIZE (cargo/getrandom-0.4.2.tar.gz) = 53905
 SIZE (cargo/glob-0.3.3.tar.gz) = 22861
 SIZE (cargo/globset-0.4.18.tar.gz) = 28970
 SIZE (cargo/globwalk-0.9.1.tar.gz) = 12572
@@ -681,18 +673,15 @@ SIZE (cargo/insta-cmd-0.6.0.tar.gz) = 12
 SIZE (cargo/interpolator-0.5.0.tar.gz) = 29578
 SIZE (cargo/intrusive-collections-0.9.7.tar.gz) = 56609
 SIZE (cargo/inventory-0.3.21.tar.gz) = 16600
-SIZE (cargo/is-docker-0.2.0.tar.gz) = 2664
 SIZE (cargo/is-macro-0.3.7.tar.gz) = 9060
 SIZE (cargo/is-terminal-0.4.16.tar.gz) = 7811
-SIZE (cargo/is-wsl-0.4.0.tar.gz) = 3264
-SIZE (cargo/is_executable-1.0.5.tar.gz) = 9227
 SIZE (cargo/is_terminal_polyfill-1.70.1.tar.gz) = 7492
 SIZE (cargo/itertools-0.10.5.tar.gz) = 115354
 SIZE (cargo/itertools-0.13.0.tar.gz) = 146261
 SIZE (cargo/itertools-0.14.0.tar.gz) = 152715
 SIZE (cargo/itoa-1.0.15.tar.gz) = 11231
-SIZE (cargo/jiff-0.2.21.tar.gz) = 759423
-SIZE (cargo/jiff-static-0.2.21.tar.gz) = 83743
+SIZE (cargo/jiff-0.2.23.tar.gz) = 759789
+SIZE (cargo/jiff-static-0.2.23.tar.gz) = 83745
 SIZE (cargo/jiff-tzdb-0.1.4.tar.gz) = 62435
 SIZE (cargo/jiff-tzdb-platform-0.1.3.tar.gz) = 3179
 SIZE (cargo/jobserver-0.1.34.tar.gz) = 29013
@@ -791,19 +780,17 @@ SIZE (cargo/quick-junit-0.5.2.tar.gz) = 
 SIZE (cargo/quick-xml-0.38.4.tar.gz) = 205035
 SIZE (cargo/quickcheck-1.1.0.tar.gz) = 31932
 SIZE (cargo/quickcheck_macros-1.2.0.tar.gz) = 13790
-SIZE (cargo/quote-1.0.44.tar.gz) = 31629
+SIZE (cargo/quote-1.0.45.tar.gz) = 31564
 SIZE (cargo/quote-use-0.8.4.tar.gz) = 3067
 SIZE (cargo/quote-use-macros-0.8.4.tar.gz) = 5660
 SIZE (cargo/r-efi-5.3.0.tar.gz) = 64532
+SIZE (cargo/r-efi-6.0.0.tar.gz) = 65303
 SIZE (cargo/radium-0.7.0.tar.gz) = 10906
 SIZE (cargo/rand-0.10.0.tar.gz) = 105828
 SIZE (cargo/rand-0.8.5.tar.gz) = 87113
-SIZE (cargo/rand-0.9.2.tar.gz) = 99930
 SIZE (cargo/rand_chacha-0.3.1.tar.gz) = 15251
-SIZE (cargo/rand_chacha-0.9.0.tar.gz) = 18258
 SIZE (cargo/rand_core-0.10.0.tar.gz) = 22778
 SIZE (cargo/rand_core-0.6.4.tar.gz) = 22666
-SIZE (cargo/rand_core-0.9.3.tar.gz) = 24543
 SIZE (cargo/rayon-1.11.0.tar.gz) = 182470
 SIZE (cargo/rayon-core-1.13.0.tar.gz) = 73151
 SIZE (cargo/redox_syscall-0.5.17.tar.gz) = 30002
@@ -813,7 +800,7 @@ SIZE (cargo/ref-cast-impl-1.0.25.tar.gz)
 SIZE (cargo/regex-1.12.3.tar.gz) = 153392
 SIZE (cargo/regex-automata-0.4.14.tar.gz) = 618012
 SIZE (cargo/regex-lite-0.1.7.tar.gz) = 96903
-SIZE (cargo/regex-syntax-0.8.9.tar.gz) = 358430
+SIZE (cargo/regex-syntax-0.8.10.tar.gz) = 358781
 SIZE (cargo/ron-0.12.0.tar.gz) = 119892
 SIZE (cargo/rust-stemmers-1.2.0.tar.gz) = 2351301
 SIZE (cargo/rustc-hash-2.1.1.tar.gz) = 14154
@@ -836,11 +823,11 @@ SIZE (cargo/serde_json-1.0.149.tar.gz) =
 SIZE (cargo/serde_repr-0.1.20.tar.gz) = 12627
 SIZE (cargo/serde_spanned-1.0.4.tar.gz) = 11032
 SIZE (cargo/serde_test-1.0.177.tar.gz) = 18671
-SIZE (cargo/serde_with-3.16.1.tar.gz) = 198782
-SIZE (cargo/serde_with_macros-3.16.1.tar.gz) = 38106
+SIZE (cargo/serde_with-3.17.0.tar.gz) = 199172
+SIZE (cargo/serde_with_macros-3.17.0.tar.gz) = 38120
 SIZE (cargo/sha2-0.10.9.tar.gz) = 29271
 SIZE (cargo/sharded-slab-0.1.7.tar.gz) = 58227
-SIZE (cargo/shellexpand-3.1.1.tar.gz) = 25904
+SIZE (cargo/shellexpand-3.1.2.tar.gz) = 26161
 SIZE (cargo/shlex-1.3.0.tar.gz) = 18713
 SIZE (cargo/similar-2.7.0.tar.gz) = 53928
 SIZE (cargo/siphasher-1.0.1.tar.gz) = 10351
@@ -880,7 +867,7 @@ SIZE (cargo/tinytemplate-1.2.1.tar.gz) =
 SIZE (cargo/tinyvec-1.10.0.tar.gz) = 51996
 SIZE (cargo/tinyvec_macros-0.1.1.tar.gz) = 5865
 SIZE (cargo/toml-0.9.12+spec-1.1.0.tar.gz) = 56485
-SIZE (cargo/toml-1.0.3+spec-1.1.0.tar.gz) = 56584
+SIZE (cargo/toml-1.0.6+spec-1.1.0.tar.gz) = 56811
 SIZE (cargo/toml_datetime-0.7.5+spec-1.1.0.tar.gz) = 17975
 SIZE (cargo/toml_datetime-1.0.0+spec-1.1.0.tar.gz) = 18018
 SIZE (cargo/toml_edit-0.23.6.tar.gz) = 65753
@@ -918,7 +905,7 @@ SIZE (cargo/urlencoding-2.1.3.tar.gz) = 
 SIZE (cargo/utf8-width-0.1.7.tar.gz) = 2977
 SIZE (cargo/utf8_iter-1.0.4.tar.gz) = 10437
 SIZE (cargo/utf8parse-0.2.2.tar.gz) = 13499
-SIZE (cargo/uuid-1.21.0.tar.gz) = 62247
+SIZE (cargo/uuid-1.22.0.tar.gz) = 61780
 SIZE (cargo/valuable-0.1.1.tar.gz) = 28679
 SIZE (cargo/version-ranges-0.1.1.tar.gz) = 13740
 SIZE (cargo/version_check-0.9.5.tar.gz) = 15554
@@ -943,7 +930,7 @@ SIZE (cargo/wasm-metadata-0.244.0.tar.gz
 SIZE (cargo/wasmparser-0.244.0.tar.gz) = 265607
 SIZE (cargo/web-sys-0.3.82.tar.gz) = 644272
 SIZE (cargo/web-time-1.1.0.tar.gz) = 18026
-SIZE (cargo/which-8.0.0.tar.gz) = 26209
+SIZE (cargo/which-8.0.2.tar.gz) = 27189
 SIZE (cargo/wild-2.2.1.tar.gz) = 8080
 SIZE (cargo/winapi-0.3.9.tar.gz) = 1200382
 SIZE (cargo/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815
@@ -979,7 +966,6 @@ SIZE (cargo/windows_x86_64_gnullvm-0.53.
 SIZE (cargo/windows_x86_64_msvc-0.52.6.tar.gz) = 832564
 SIZE (cargo/windows_x86_64_msvc-0.53.0.tar.gz) = 834400
 SIZE (cargo/winnow-0.7.13.tar.gz) = 174454
-SIZE (cargo/winsafe-0.0.19.tar.gz) = 492820
 SIZE (cargo/wit-bindgen-0.46.0.tar.gz) = 60508
 SIZE (cargo/wit-bindgen-0.51.0.tar.gz) = 68035
 SIZE (cargo/wit-bindgen-core-0.51.0.tar.gz) = 35048
@@ -1004,5 +990,5 @@ SIZE (cargo/zmij-1.0.10.tar.gz) = 22288
 SIZE (cargo/zstd-0.11.2+zstd.1.5.2.tar.gz) = 28987
 SIZE (cargo/zstd-safe-5.0.2+zstd.1.5.2.tar.gz) = 17273
 SIZE (cargo/zstd-sys-2.0.16+zstd.1.5.7.tar.gz) = 775620
-SIZE (ruff-0.15.5.tar.gz) = 11172273
+SIZE (ruff-0.15.7.tar.gz) = 11275556
 SIZE (salsa-rs-salsa-53421c2fff87426fa0bb51cab06632b87646de13.tar.gz) = 742301
Index: patches/patch-Cargo_toml
===================================================================
RCS file: /cvs/ports/devel/ruff/patches/patch-Cargo_toml,v
diff -u -p -r1.8 patch-Cargo_toml
--- patches/patch-Cargo_toml	11 Mar 2026 11:04:02 -0000	1.8
+++ patches/patch-Cargo_toml	23 Mar 2026 10:20:01 -0000
@@ -3,7 +3,7 @@ Use local sources for crates lsp-types a
 Index: Cargo.toml
 --- Cargo.toml.orig
 +++ Cargo.toml
-@@ -127,9 +127,7 @@ libc = { version = "0.2.153" }
+@@ -125,9 +125,7 @@ libc = { version = "0.2.153" }
  libcst = { version = "1.8.4", default-features = false }
  log = { version = "0.4.17" }
  lsp-server = { version = "0.7.6" }
@@ -14,7 +14,7 @@ Index: Cargo.toml
  matchit = { version = "0.9.0" }
  memchr = { version = "2.7.1" }
  mimalloc = { version = "0.1.39" }
-@@ -155,7 +153,7 @@ regex-syntax = { version = "0.8.8" }
+@@ -153,7 +151,7 @@ regex-syntax = { version = "0.8.8" }
  rustc-hash = { version = "2.0.0" }
  rustc-stable-hash = { version = "0.1.2" }
  # When updating salsa, make sure to also update the revision in `fuzz/Cargo.toml`
Index: patches/patch-crates_ruff_db_Cargo_toml
===================================================================
RCS file: /cvs/ports/devel/ruff/patches/patch-crates_ruff_db_Cargo_toml,v
diff -u -p -r1.4 patch-crates_ruff_db_Cargo_toml
--- patches/patch-crates_ruff_db_Cargo_toml	3 Mar 2026 08:07:23 -0000	1.4
+++ patches/patch-crates_ruff_db_Cargo_toml	23 Mar 2026 10:20:01 -0000
@@ -3,7 +3,7 @@ Don't run doctest during tests
 Index: crates/ruff_db/Cargo.toml
 --- crates/ruff_db/Cargo.toml.orig
 +++ crates/ruff_db/Cargo.toml
-@@ -62,6 +62,9 @@ which = { workspace = true }
+@@ -59,6 +59,9 @@ web-time = { version = "1.1.0" }
  insta = { workspace = true, features = ["filters"] }
  tempfile = { workspace = true }
  
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/ruff/pkg/PLIST,v
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST	19 Oct 2025 12:34:49 -0000	1.1.1.1
+++ pkg/PLIST	23 Mar 2026 10:20:01 -0000
@@ -1,4 +1,21 @@
 @bin bin/ruff
+lib/python${MODPY_VERSION}/site-packages/ruff/
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/WHEEL
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/licenses/
+lib/python${MODPY_VERSION}/site-packages/ruff-${MODPY_DISTV}.dist-info/licenses/LICENSE
+lib/python${MODPY_VERSION}/site-packages/ruff/__init__.py
+lib/python${MODPY_VERSION}/site-packages/ruff/__main__.py
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}_find_ruff.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/ruff/${MODPY_PYCACHE}_find_ruff.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/ruff/_find_ruff.py
 share/bash-completion/
 share/bash-completion/completions/
 share/bash-completion/completions/ruff