diff options
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/py-uv/Makefile | 29 | ||||
-rw-r--r-- | devel/py-uv/distinfo | 3 | ||||
-rw-r--r-- | devel/py-uv/files/patch-pyproject.toml | 84 | ||||
-rw-r--r-- | devel/py-uv/pkg-descr | 7 |
5 files changed, 124 insertions, 0 deletions
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. |