diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index 356fc78473f60..82648427cc222 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -1,6 +1,7 @@ DIST uv_build-0.7.19.tar.gz 311467 BLAKE2B a7e85c3bbaee786ed9729b1331e5506eeb95d4ee875502814555956611449501f6b1c62284945640a2ce95f225a1b1c151b47d17c0d303599fe69bffc4ab8e5c SHA512 c3bc554dd9d86bfdb1e9ebf042d8c00987a790da9d386eb371dcc1bc7cd1c0000ae69a4d1e5f1759ed723d78eed73a461bae26d5047bdb0c0bb75f450fdc009a DIST uv_build-0.7.22.tar.gz 314318 BLAKE2B e8118eda79bd6bea375a2b19d87a0d9c2da8e1fe1fb24668ccfe79364b92a01aedcb1e73bc625c9e1d010e7ed4742c3a4add827dc497ee18312664c4343b67be SHA512 185d6b5a9e0440a1354cd9ce638522e9b2a27cc075a5022d95c63fd96b861bf50615156d7f64144b7fb657e2ddb3fe1b0fd8fd38fd6c0adabffacbdc43d6f292 DIST uv_build-0.8.15.tar.gz 327897 BLAKE2B c2972d5db464320956707dabdec70e796b03c2ddb4fe2e320d6a688f7099f710fd4e29374cb706e23b3a900e0c055277e24514041ab352d7bd589c92d7d7c6eb SHA512 6b2dc120cad0f0e759d6618d1716ab6c4e07444faa4f185423d428954e5d519f7488b7133108eec9a32bb482112b6368c9beccaf0382e23ced2d3e0292ff3415 +DIST uv_build-0.8.16.tar.gz 330691 BLAKE2B d1c730ee6c8292273a6511383c6c0d015909ff59b67a74152d13bcb390a777c5649cff2b00fb50fb98dfc0100011f7402016f12657279c87e5b09959034ff3af SHA512 1df459afa00271b6fafc3b3abf3558f2b19db2603017a86a371ddfb4eb917304de9ec38d673ce4eda8d05c9432be48ab0b0401e8b89238af19a5de55771b11f1 DIST uv_build-0.8.2.tar.gz 317577 BLAKE2B 0bf4d94fcb8052fa5fc71970cdda92438491bc4f3a0723b1f4565eb7f416058d253b14542adb4ea1883e56cb3c1fcf899840bb8406e133749ad894a181d5c8d7 SHA512 14272a8bf350542d5aaeaaf32542bf70b45724bda3a57eb4d701c8f3c0648244c683f3ea6d011920c5c02d1880e92787ce0758055b78eab2b3e61b20e03eea9c DIST uv_build-0.8.4.tar.gz 318914 BLAKE2B 303fb5d95d7e62269eba53ca41d7e3ae32df84e49bcf3d13cca58e21a73696964f06484d0aabc874bb66e3da5a91efae16d620732fd026ba36a43fc24fcfbe9a SHA512 875de875a2c1f73d4d4d53f1844ce11dbfde69dca552da3fabb071689309d01f4759cdb3ca71142dfdf791be5e1ada0de9a0326ad2107acd93483fa25eb518b4 DIST uv_build-0.8.5.tar.gz 318967 BLAKE2B a09040001b1c777022fce38a5d28a584bad3dfa60627107f6054d779012b06a611eb11e903beef9112f636de4b238a1b29f5aa38ec477af6f91e1e957f5584cc SHA512 3bc3de1d240d78d5034c97801bcb6696d3ade9fb1a3cfe838a2ed66e7225ea72fa61ff82fdee66b213c7e5f63b0ee6ec2e04820102f3b50c3292107a643a3749 diff --git a/dev-python/uv-build/uv-build-0.8.16.ebuild b/dev-python/uv-build/uv-build-0.8.16.ebuild new file mode 100644 index 0000000000000..31ebba59b6cc1 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.8.16.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 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=( pypy3_11 python3_{11..14} ) + +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 ~arm64" +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}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +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 +}