diff options
Diffstat (limited to 'dev-python/uv-build')
| -rw-r--r-- | dev-python/uv-build/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/uv-build/uv-build-0.13.5.ebuild | 100 |
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index a199ed0a136a..670371f241cc 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -1,2 +1,3 @@ DIST uv_build-0.12.17.tar.gz 434807 BLAKE2B 8823907abc14637a684723b683284cc8b6a40b2467adbab74059b139388aeb1ff8870bdc09a497bad3e06af60c4e9c360c8d57cc6dd62e26e9239f4cf041f827 SHA512 a833a0578c6d543eabe51089d330f0d93d141bea5ff2bc1a194ad27a7ad4a1c7189321cdcf6012465b819bffd620affb42d4fb148bce69beeee0e32537a74668 DIST uv_build-0.13.4.tar.gz 464427 BLAKE2B 899bd8d7628bc5a291a6f974e569484a61d1aff51745e004cb663167128470147f2dae454457e010fa495e9d9de19527e9185e90c88018e51b4352359ceca349 SHA512 2e74b38cd01468281f481fa3b1ea289e1d262986e97bf3bfd27812c08676825567c547144bc9ed090bede4eb8db3114e6e8330eeaf96a91602bdd5212ae76433 +DIST uv_build-0.13.5.tar.gz 466761 BLAKE2B 85333e905fa03c1615a2ce67b19d4266d84757419bd2c04737ceee3fc000ce543aebb0e51f7bccdf7a681ab691aeee1491f8c335f4ffc3b1d52ebe75d5fb4ad7 SHA512 a7e3c3029179dc9a2c91519f7d161f707cce9b87e0b6a1802b257a63b8a468ba0fa64ea2010571426b30746ed3f83742c26c2c3045f06b587375c60231e52f9f diff --git a/dev-python/uv-build/uv-build-0.13.5.ebuild b/dev-python/uv-build/uv-build-0.13.5.ebuild new file mode 100644 index 000000000000..0250a02341f9 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.13.5.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_{13..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 ~arm ~arm64 ~loong ~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 +} |
