diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest new file mode 100644 index 0000000000000..f5ed923127288 --- /dev/null +++ b/dev-python/uv-build/Manifest @@ -0,0 +1 @@ +DIST uv_build-0.6.11.tar.gz 292635 BLAKE2B 906d310f6884def53d4b739d0b2d246be4a2651b8add2ec94665128d9cd815830de9246ce5e7c1850842673d56c829547ebd1d707ca69984bbc15183f3ade0d8 SHA512 b68ff4c87b21bae1095ac622fdb4ed60610e44db9c73c0ae29c5566ee30ecdfee39a0c8a0659a70101c72dd04317de80f2ac7a377d2ad5a2c59fa4adabeb7c5b diff --git a/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch b/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch new file mode 100644 index 0000000000000..6e0f96d46ec3a --- /dev/null +++ b/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch @@ -0,0 +1,18 @@ +diff --git a/python/uv_build/__init__.py b/python/uv_build/__init__.py +index c8ce9c5..835ba0f 100644 +--- a/python/uv_build/__init__.py ++++ b/python/uv_build/__init__.py +@@ -39,11 +39,11 @@ def call( + + warn_config_settings(config_settings) + # Unlike `find_uv_bin`, this mechanism must work according to PEP 517 +- uv_bin = shutil.which("uv-build") ++ uv_bin = shutil.which("uv") + if uv_bin is None: + raise RuntimeError("uv was not properly installed") + # Forward stderr, capture stdout for the filename +- result = subprocess.run([uv_bin, *args], stdout=subprocess.PIPE) ++ result = subprocess.run([uv_bin, "build-backend", *args], stdout=subprocess.PIPE) + if result.returncode != 0: + sys.exit(result.returncode) + # If there was extra stdout, forward it (there should not be extra stdout) diff --git a/dev-python/uv-build/metadata.xml b/dev-python/uv-build/metadata.xml new file mode 100644 index 0000000000000..936a4b3a62821 --- /dev/null +++ b/dev-python/uv-build/metadata.xml @@ -0,0 +1,11 @@ + + + + + python@gentoo.org + + + astral-sh/uv + uv-build + + diff --git a/dev-python/uv-build/uv-build-0.6.11.ebuild b/dev-python/uv-build/uv-build-0.6.11.ebuild new file mode 100644 index 0000000000000..a93405a17200f --- /dev/null +++ b/dev-python/uv-build/uv-build-0.6.11.ebuild @@ -0,0 +1,45 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/uv-${PV} +" + +src_prepare() { + local PATCHES=( + # use 'uv build-backend' instead of compiling uv-build executable + # that largely overlaps with dev-python/uv + "${FILESDIR}/${PN}-0.6.9-use-uv.patch" + ) + + distutils-r1_src_prepare + + # replace the upstream build system since we don't want maturin + # to recompile uv again + sed -i -e '/^\[build-system\]$/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["hatchling"] + build-backend = "hatchling.build" + + [tool.hatch.build.targets.wheel] + packages = ["python/uv_build"] + EOF +}