summaryrefslogtreecommitdiff
path: root/devel/py-uv
diff options
context:
space:
mode:
Diffstat (limited to 'devel/py-uv')
-rw-r--r--devel/py-uv/Makefile29
-rw-r--r--devel/py-uv/distinfo3
-rw-r--r--devel/py-uv/files/patch-pyproject.toml85
-rw-r--r--devel/py-uv/pkg-descr7
4 files changed, 124 insertions, 0 deletions
diff --git a/devel/py-uv/Makefile b/devel/py-uv/Makefile
new file mode 100644
index 000000000000..2dc937e96ebc
--- /dev/null
+++ b/devel/py-uv/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= uv
+DISTVERSION= 0.9.1
+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..0327b78915cf
--- /dev/null
+++ b/devel/py-uv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760077944
+SHA256 (astral-sh-uv-0.9.1_GH0.tar.gz) = dbaa64d00eae3e64a82f2d1ed1eed2e2d04e63302753662b6c6b344d56687d29
+SIZE (astral-sh-uv-0.9.1_GH0.tar.gz) = 4729329
diff --git a/devel/py-uv/files/patch-pyproject.toml b/devel/py-uv/files/patch-pyproject.toml
new file mode 100644
index 000000000000..fe13d52de5dd
--- /dev/null
+++ b/devel/py-uv/files/patch-pyproject.toml
@@ -0,0 +1,85 @@
+--- 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.1"
+-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,62 +40,10 @@ Releases = "https://github.com/astral-sh/uv/releases"
+ 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.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",
+- { target = "crates/uv-static/src/env_vars.rs", replace = "next release" },
+- "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",
+- { target = "docs/reference/environment.md", replace = "next release" },
+-]
++[tool.setuptools]
++packages = ["uv"]
++package-dir = {"" = "python"}
+
+-[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"]
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.