# Contributor: James White <stegoxorus@gmail.com>
# Maintainer: James White <stegoxorus@gmail.com>
pkgname=py3-h5py
pkgver=3.10.0
pkgrel=2
pkgdesc="Read and write HDF5 files from Python"
url="https://www.h5py.org"
# 32-bit: tests fail due to size mismatch between python and cython, broken
arch="all !x86 !armhf !armv7"
license="BSD-3-Clause"
depends="py3-numpy"
makedepends="
	cython
	hdf5-dev
	liblzf-dev
	py3-gpep517
	py3-numpy-dev
	py3-pkgconfig
	py3-setuptools
	py3-wheel
	python3-dev
	"
checkdepends="
	py3-pytest
	py3-pytest-mpi
	py3-pytest-xdist
	"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/h5py/h5py/archive/refs/tags/$pkgver.tar.gz
	cython3.patch"
case "$CARCH" in
ppc64le) options="!check" ;; # failing
esac
builddir="$srcdir/h5py-$pkgver"

replaces="py-h5py" # Backwards compatibility
provides="py-h5py=$pkgver-r$pkgrel" # Backwards compatibility

prepare() {
	default_prepare
	sed -i "s/settings\\['runtime_library_dirs'\\] = settings\\['library_dirs'\\]/pass/" setup_build.py

}

build() {
	export H5PY_SYSTEM_LZF=1
	# Stop requiring a specific version of numpy
	export H5PY_SETUP_REQUIRES=0
	export CFLAGS="$CFLAGS -Wno-incompatible-pointer-types"
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	rm -rf testenv
	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl
	cd .testenv
	bin/python3 -m pytest -n ${JOBS:-2} --pyargs h5py -k "not test_too_small_pbs and not test_reopen and not test_multiprocess"
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl

	rm -r "$pkgdir"/usr/lib/python3*/site-packages/h5py/tests
}

sha512sums="
5a403ab04890173adac9148f81a00ee6b9f4151ab4403fae60c59d91fecfe0f33f9fe66e83622b9350e76049816ee546868bac162a61067213fbb540bbc4bbba  py3-h5py-3.10.0.tar.gz
9f498e04942cf64458e4b2d3e1607fc857ae16db8f180ba694fc45f1094f16524bf5f3061d5b4ec9de5738494fbc9aa229af3ae47ddab3e3c014c2557053870e  cython3.patch
"
