summaryrefslogtreecommitdiff
blob: a658b288acfb40f9f2c609d08980a37fc5b6a933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{7..10} )

inherit distutils-r1 flag-o-matic

DESCRIPTION="Simple Python interface to HDF5 files"
HOMEPAGE="https://www.h5py.org"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
# disable mpi until mpi4py gets python3_8
#IUSE="examples mpi"
IUSE="examples"

#RDEPEND="sci-libs/hdf5:=[mpi=,hl(+)]
DEPEND="sci-libs/hdf5:=[hl(+)]"
RDEPEND="${DEPEND}
	$(python_gen_cond_dep '
		dev-python/cached-property[${PYTHON_USEDEP}]
	' python3_7)
	dev-python/numpy[${PYTHON_USEDEP}]"

BDEPEND="
	dev-python/cython[${PYTHON_USEDEP}]
	dev-python/numpy[${PYTHON_USEDEP}]
	dev-python/pkgconfig[${PYTHON_USEDEP}]
	test? (
		dev-python/QtPy[testlib,${PYTHON_USEDEP}]
		dev-python/cached-property[${PYTHON_USEDEP}]
	)"
#	mpi? ( virtual/mpi )
#	mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )

distutils_enable_tests pytest
distutils_enable_sphinx docs \
	dev-python/alabaster

#pkg_setup() {
#	use mpi && export CC=mpicc
#}

PATCHES=(
	"${FILESDIR}"/h5py-3.2.1-i686-types.patch
)

python_prepare_all() {
	# avoid pytest-mpi dep, we do not use mpi anyway
	sed -i -e 's:pytest-mpi::' pytest.ini || die
	distutils-r1_python_prepare_all

	export H5PY_SETUP_REQUIRES=0
}

python_test() {
	cd "${BUILD_DIR}/lib" || die
	pytest -vv -m "not mpi" ||
		die "Tests failed with ${EPYTHON}"
	# tests generate .pytest_cache which should not be installed
	rm -r .pytest_cache || die
}

python_install_all() {
	use examples && dodoc -r examples

	distutils-r1_python_install_all
}