Index | Thread | Search

From:
Laurent Cheylus <foxy@free.fr>
Subject:
Re: Porting astral-sh/uv
To:
Theo Buehler <tb@theobuehler.org>
Cc:
ports@openbsd.org
Date:
Fri, 4 Jul 2025 16:30:38 +0200

Download raw body.

Thread
Re Theo,

----- Mail original -----
> Someone needs to review this properly before it can go in. Once
> that's done and if Laurent or Denis are willing to take maintainer and want
> to keep this reasonably up-to-date, I think I'll be ok with someone else
> importing it.

After review, build and tests OK on current/amd64 with Rust 1.88.0

Attached a patch for your Makefile:

- use 'devel' for CATEGORY
- reformat (use tabs instead of spaces) + reorder some variables
- use https://docs.astral.sh/uv/ as HOMEPAGE instead of GitHub astral-sh/uv
- take maintainership for this port
- remove MODCARGO_INSTALL_TARGET_PATHS (no need when using a specific 'do-install')
- add SEPARATE_BUILD (not defined in devel/cargo/cargo.port.mk)
- use MODCARGO_TARGET_DIR in 'do-install'

Laurent


--- /home/fox/tmp/uv-0.7.19-tb/Makefile	Fri Jul  4 14:54:24 2025
+++ Makefile	Fri Jul  4 16:25:39 2025
@@ -1,11 +1,11 @@
 # ring-v0.17 does not support this arch
 NOT_FOR_ARCH =		sparc64
 
-COMMENT =               Python package and project manager
+COMMENT =		Python package and project manager
 
-GH_ACCOUNT =            astral-sh
-GH_PROJECT =            uv
-GH_TAGNAME =            0.7.19
+GH_ACCOUNT =		astral-sh
+GH_PROJECT =		uv
+GH_TAGNAME =		0.7.19
 
 ASYNC_ZIP =		c909fda63fcafe4af496a07bfda28a5aae97e58d
 PUBGRUB =		06ec5a5f59ffaeb6cf5079c6cb184467da06c9db
@@ -18,25 +18,29 @@
 		../reqwest-middleware
 DIST_TUPLE +=	github astral-sh tl ${TL} ../tl
 
-# Annoying static dependencies throughout crates/*/Cargo.toml...
-MODCARGO_CRATES_KEEP =	lzma-sys
+CATEGORIES =		devel
 
-CATEGORIES =            sysutils
-HOMEPAGE =              https://github.com/astral-sh/uv
+# https://github.com/astral-sh/uv
+HOMEPAGE =		https://docs.astral.sh/uv/
 
+MAINTAINER =    	Laurent Cheylus <foxy@free.fr>
+
 # MIT
-PERMIT_PACKAGE =        Yes
+PERMIT_PACKAGE =	Yes
 
-WANTLIB =               ${MODCARGO_WANTLIB} bz2 m zstd
-
-MODULES =               devel/cargo
-CONFIGURE_STYLE =       cargo
-
 LIB_DEPENDS +=		archivers/bzip2 \
 			archivers/zstd
 
-MODCARGO_INSTALL_TARGET_PATHS = crates/uv-cli
+WANTLIB =		${MODCARGO_WANTLIB} bz2 m zstd
 
+MODULES =		devel/cargo
+CONFIGURE_STYLE = 	cargo
+
+# Annoying static dependencies throughout crates/*/Cargo.toml...
+MODCARGO_CRATES_KEEP =	lzma-sys
+
+SEPARATE_BUILD =	Yes
+
 post-build:
 	${MODCARGO_TARGET_DIR}/release/uv -n --generate-shell-completion bash \
 		> ${WRKBUILD}/uv.bash
@@ -46,8 +50,8 @@
 		> ${WRKBUILD}/uv.zsh
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/target/release/uv ${PREFIX}/bin/uv
-	${INSTALL_PROGRAM} ${WRKSRC}/target/release/uvx ${PREFIX}/bin/uvx
+	${INSTALL_PROGRAM} ${MODCARGO_TARGET_DIR}/release/uv ${PREFIX}/bin/uv
+	${INSTALL_PROGRAM} ${MODCARGO_TARGET_DIR}/release/uv ${PREFIX}/bin/uvx
 
 	${INSTALL_DATA_DIR} \
 		${PREFIX}/share/bash-completion/completions \
@@ -61,4 +65,5 @@
 		${PREFIX}/share/zsh/site-functions/_uv
 
 .include "crates.inc"
+
 .include <bsd.port.mk>