Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Oct 2025 08:25:31 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 7655f4c8dff6 - main - devel/py-uv: New port: Python package for uv - extremely fast Python package installer
Message-ID:  <202510080825.5988PVmO087387@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

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

commit 7655f4c8dff67c3c4b45645d61b33d3cc211370c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-08 05:21:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-08 08:25:26 +0000

    devel/py-uv: New port: Python package for uv - extremely fast Python package installer
    
    PR:             290057
    Submitted by:   Siva Mahadevan <me@svmhdvn.name> (initial version submitted as devel/uv update)
---
 devel/Makefile                         |  1 +
 devel/py-uv/Makefile                   | 29 ++++++++++++
 devel/py-uv/distinfo                   |  3 ++
 devel/py-uv/files/patch-pyproject.toml | 84 ++++++++++++++++++++++++++++++++++
 devel/py-uv/pkg-descr                  |  7 +++
 5 files changed, 124 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 871174ecb288..a10b792cb717 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6178,6 +6178,7 @@
     SUBDIR += py-userpath
     SUBDIR += py-usort
     SUBDIR += py-uuid7
+    SUBDIR += py-uv
     SUBDIR += py-uv-dynamic-versioning
     SUBDIR += py-uvloop
     SUBDIR += py-validate-pyproject
diff --git a/devel/py-uv/Makefile b/devel/py-uv/Makefile
new file mode 100644
index 000000000000..c5ea5749819c
--- /dev/null
+++ b/devel/py-uv/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	uv
+DISTVERSION=	0.9.0
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python package for uv - extremely fast Python package installer
+WWW=		https://astral.sh/ \
+		https://docs.astral.sh/uv/ \
+		https://github.com/astral-sh/uv
+
+LICENSE=	APACHE20 MIT
+LICENSE_COMB=	dual
+LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
+LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	uv:devel/uv
+
+USES=		python
+USE_PYTHON=	pep517 autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	astral-sh
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-uv/distinfo b/devel/py-uv/distinfo
new file mode 100644
index 000000000000..76907016a7c5
--- /dev/null
+++ b/devel/py-uv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759887559
+SHA256 (astral-sh-uv-0.9.0_GH0.tar.gz) = d97e444fe3aaca5079f3f9b1928a6ac0afc4c3e3d6552e94b23ce07e846f642e
+SIZE (astral-sh-uv-0.9.0_GH0.tar.gz) = 4724344
diff --git a/devel/py-uv/files/patch-pyproject.toml b/devel/py-uv/files/patch-pyproject.toml
new file mode 100644
index 000000000000..db0b3ee9d1fa
--- /dev/null
+++ b/devel/py-uv/files/patch-pyproject.toml
@@ -0,0 +1,84 @@
+--- pyproject.toml.orig	2025-10-07 23:17:42 UTC
++++ pyproject.toml
+@@ -1,11 +1,11 @@
+ [build-system]
+-requires = ["maturin>=1.0,<2.0"]
+-build-backend = "maturin"
++requires = ["setuptools>=61.0", "wheel"]
++build-backend = "setuptools.build_meta"
+ 
+ [project]
+ name = "uv"
+ version = "0.9.0"
+-description = "An extremely fast Python package and project manager, written in Rust."
++description = "Python package for uv - extremely fast Python package installer"
+ authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
+ requires-python = ">=3.8"
+ keywords = [
+@@ -40,60 +40,9 @@ Discord = "https://discord.gg/astral-sh"
+ Releases = "https://github.com/astral-sh/uv/releases"
+ Discord = "https://discord.gg/astral-sh"
+ 
+-[tool.maturin]
+-bindings = "bin"
+-manifest-path = "crates/uv/Cargo.toml"
+-module-name = "uv"
+-python-source = "python"
+-strip = true
+-include = [
+-    { path = "rust-toolchain.toml", format = ["sdist", "wheel"] },
+-    # this one isn't discovered by maturin because it's behind a feature flag
+-    { path = "crates/uv-performance-memory-allocator/**/*", format = ["sdist", "wheel"] },
+-    { path = "crates/uv-trampoline/trampolines/*", format = "sdist" },
+-    { path = "LICENSE-APACHE", format = "sdist" },
+-    { path = "LICENSE-MIT", format = "sdist" },
+-]
++[tool.setuptools]
++packages = ["uv"]
++package-dir = {"" = "python"}
+ 
+-[tool.rooster]
+-changelog-contributors = false  # We exclude contributors from the CHANGELOG file
+-major-labels = []  # We do not use the major version number yet
+-minor-labels = ["breaking"]
+-ignore-labels = ["internal", "ci", "testing"]
+-version_files = [
+-  "README.md",
+-  "pyproject.toml",
+-  "crates/uv/Cargo.toml",
+-  "crates/uv-version/Cargo.toml",
+-  "crates/uv-build/Cargo.toml",
+-  "crates/uv-build/pyproject.toml",
+-  "docs/getting-started/installation.md",
+-  "docs/guides/integration/docker.md",
+-  "docs/guides/integration/pre-commit.md",
+-  "docs/guides/integration/github.md",
+-  "docs/guides/integration/aws-lambda.md",
+-  "docs/concepts/build-backend.md",
+-  "docs/concepts/projects/init.md",
+-  "docs/concepts/projects/workspaces.md",
+-]
+-
+-[tool.rooster.section-labels]
+-"Breaking changes" = ["breaking"]
+-"Enhancements" = ["enhancement", "compatibility", "error messages"]
+-"Preview features" = ["preview"]
+-"Configuration" = ["configuration"]
+-"Performance" = ["performance"]
+-"Bug fixes" = ["bug"]
+-"Rust API" = ["rustlib"]
+-"Documentation" = ["documentation"]
+-"Other changes" = ["__unknown__"]
+-
+-[tool.mypy]
+-ignore_missing_imports = true
+-files = [
+-  "crates/uv-python/*.py",
+-  "python/uv/*.py",
+-]
+-
+-[tool.uv]
+-managed = false
++[tool.setuptools.package-data]
++uv = ["py.typed"]
+\ No newline at end of file
diff --git a/devel/py-uv/pkg-descr b/devel/py-uv/pkg-descr
new file mode 100644
index 000000000000..d82b791c2739
--- /dev/null
+++ b/devel/py-uv/pkg-descr
@@ -0,0 +1,7 @@
+Python package for uv, an extremely fast Python package installer and resolver.
+
+This package provides Python bindings for uv functionality and requires the
+uv binary to be installed separately from the devel/uv port.
+
+The uv module allows Python programs to programmatically interact with uv
+for package management and dependency resolution tasks.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510080825.5988PVmO087387>