diff --git a/testing/py3-dt-schema/APKBUILD b/testing/py3-dt-schema/APKBUILD index 6d16d8cd40b3ec82e6a49906d33dcbd138516a92..972bb277cf91861225d42c2ee831b0f0aea35d37 100644 --- a/testing/py3-dt-schema/APKBUILD +++ b/testing/py3-dt-schema/APKBUILD @@ -1,31 +1,61 @@ -# Contributor: Iskren Chernev <iskren.chernev@gmail.com> -# Maintainer: Iskren Chernev <iskren.chernev@gmail.com> +# Contributor: Iskren Chernev <me@iskren.info> +# Maintainer: Iskren Chernev <me@iskren.info> pkgname=py3-dt-schema -pkgver=2023.06.1 +pkgver=2023.09 pkgrel=0 pkgdesc="Devicetree schema tools" url="https://github.com/devicetree-org/dt-schema" arch="noarch" license="BSD-2-Clause" -depends="python3 py3-ruamel.yaml py3-jsonschema py3-rfc3987 py3-libfdt" -makedepends="py3-setuptools py3-setuptools_scm" +depends="python3 py3-ruamel.yaml py3-jsonschema417 py3-rfc3987 py3-libfdt" +makedepends="py3-setuptools py3-setuptools_scm py3-wheel py3-gpep517 py3-installer" checkdepends="dtc" subpackages="$pkgname-pyc" source="dt-schema-$pkgver.tar.gz::https://github.com/devicetree-org/dt-schema/archive/v$pkgver.tar.gz" builddir="$srcdir/dt-schema-$pkgver" +options="net" -build() { - SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" python3 setup.py build +prepare() { + default_prepare + { + find dtschema -name '*.py' + find test -name '*.py' + find tools -type f + } | while read -r file; do + sed -i \ + -e 's/import jsonschema$/import jsonschema417 as jsonschema/' \ + -e 's/from jsonschema/from jsonschema417/' \ + "$file" + done + sed -i 's/jsonschema/jsonschema417/' pyproject.toml + # The project uses setuptools_scm, which handles adding the schema + # files to the package, but there is no SCM here.. + { + echo '[tools.setuptools.package.find]' + echo 'where=["."]' + } >> pyproject.toml + echo "recursive-include dtschema/*schemas *.yaml" > MANIFEST.in } -package() { - SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" python3 setup.py install --skip-build --root="$pkgdir" +build() { + SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \ + gpep517 build-wheel \ + --wheel-dir .dist \ + --output-fd 3 3>&1 >&2 } check() { - PYTHONPATH=. python3 test/test-dt-validate.py + python3 -m venv --clear --without-pip --system-site-packages .testenv + .testenv/bin/python3 -m installer .dist/*.whl + .testenv/bin/python3 test/test-dt-validate.py +} + +package() { + SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \ + python3 -m installer -d "$pkgdir" \ + .dist/dtschema-*-py3-none-any.whl } sha512sums=" -9d8f11e22f9b84369bc01a80c2e70c36471741f567723edc679eafc679cc8e48ebfe2934c677d04199b3ea87c7179f3616c464a0defff39f1ea69d852b0cc179 dt-schema-2023.06.1.tar.gz +d8b3d7e92c13b239df070f9eee8c079b2cf51b1f48e3e3982aa6b55fb91115fbc43e248b250852895ebea1e0fef0bdc7e95a11e2f0e40e9330bc1c899c6b6da3 dt-schema-2023.09.tar.gz "