diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index fc268a0cccf9b..e75ed3a8e5dd3 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -3,6 +3,7 @@ DIST uv_build-0.12.10.tar.gz 423598 BLAKE2B 363ee130a5da490859d0a2f0122be340f369 DIST uv_build-0.12.12.tar.gz 424423 BLAKE2B c7ed255923f884467ecaf8d70be044bea5c39db61611d320105d2a5c4c8e885a674ed22fa285ed398abbcaa229d9cca339f31f7d2e022adf099b5e0fe175d4c8 SHA512 38b91b29112af0e9677ae666125356b1735d8608ecdbcfae1d87ceff2b8cb8f61d5ecf917292a620d0e9c6f6d3ac121994fba2a0d7d076e18cd52e813fc1e2b2 DIST uv_build-0.12.13.tar.gz 424846 BLAKE2B 9fee11946f1067045349d28ba05b6dae8aaea430fdbbe19970c286d20f758d03343ed9a6afd2166f85ecfee3009fb66c7429f6ee8c58a6453e0203f2a3fca38a SHA512 77bf75208e6932b791b42d2a9dc199901a981d3ab8881e58cd5604e3207aef020538ff120770e0eb31646c1c0b7e972c816932c9d3bb0defc6b9583763607584 DIST uv_build-0.12.14.tar.gz 427528 BLAKE2B 81c3c2310058e279debf4c3964ac02fbccb0deec757fbb0824cf0e9a7e6edc0a49b269b382ee8ec47290bf37194c33c806bbb6778ba52d6915bbff3109007a9d SHA512 d8ff710bab00c287e3935e1411c9b9898a9db2107ac03285155bbcdda58e2d94d40556ace50986777b90832a03ea896149846b51e57691f9f243203c32ec44f7 +DIST uv_build-0.12.15.tar.gz 427499 BLAKE2B 30c3f72775de6f609ada7eca182fbd46da150624945983bd64691c59afb86e5e6c2bbeda1ea7f0bb5d12e8c9a332e741a9e2443ac6edba09da90352c00680d6a SHA512 8ad1d541ee1e287683d3013efb453e0ce1867e1404b369c36ac8f46b7300dd201516ade51930aad08b38ef1d42dff362baa13f58281d454344fde22f00443919 DIST uv_build-0.12.3.tar.gz 414444 BLAKE2B f226c1c2bf0b2af538f66095e20c02ad1933afdee62a07eff5f1135692bab47e286f67e7a8f5882e98c61fbb6bf831a85dd56a2d5af2bee6d62d8857a59e56bc SHA512 90d9af3e1a1ff1d7dda21fa38c0ac2d94536e73697ddabb408fb38e2d381498b2401007af0ab31c39cbf3b632aeca2991b3a66d7108e1c5eb7294b3fba8fe107 DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245 DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e diff --git a/dev-python/uv-build/uv-build-0.12.15.ebuild b/dev-python/uv-build/uv-build-0.12.15.ebuild new file mode 100644 index 0000000000000..1625e3730c9a6 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.12.15.ebuild @@ -0,0 +1,100 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{12..15} ) + +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 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/pyproject.toml +uv_build-${PV}/pyproject.toml.orig +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +}