2024-06-15 21:40:17 +00:00

62 lines
1.8 KiB
Plaintext

# Contributor: Iskren Chernev <me@iskren.info>
# Maintainer: Iskren Chernev <me@iskren.info>
pkgname=py3-dt-schema
pkgver=2024.05
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-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"
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
}
build() {
SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
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="
ffc68c778c557928bf4bb7c55246061ca51fb6a4f39a98c6ff89719e8132a14c67163153ace10b496a37a02d4da8d0a9aaddc1db37563c733d618303126e48af dt-schema-2024.05.tar.gz
"