|
|
|
# Copyright 1999-2021 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
|
|
|
|
PYTHON_COMPAT=( python3_{7..9} )
|
|
|
|
|
|
|
|
inherit distutils-r1 multiprocessing virtualx
|
|
|
|
|
|
|
|
TEST_DATA_TAG=test-data-8
|
|
|
|
DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
|
|
|
|
HOMEPAGE="http://www.pyqtgraph.org/ https://pypi.org/project/pyqtgraph/"
|
|
|
|
SRC_URI="
|
|
|
|
https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
|
|
|
|
test? (
|
|
|
|
https://github.com/pyqtgraph/test-data/archive/${TEST_DATA_TAG}.tar.gz
|
|
|
|
-> ${PN}-${TEST_DATA_TAG}.tar.gz
|
|
|
|
)"
|
|
|
|
S=${WORKDIR}/${PN}-${P}
|
|
|
|
|
|
|
|
LICENSE="MIT"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64 x86"
|
|
|
|
IUSE="examples opengl svg"
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
>=dev-python/numpy-1.17[${PYTHON_USEDEP}]
|
|
|
|
dev-python/scipy[${PYTHON_USEDEP}]
|
|
|
|
dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
|
|
|
|
opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
|
|
|
|
BDEPEND="
|
|
|
|
test? (
|
|
|
|
dev-python/h5py[${PYTHON_USEDEP}]
|
|
|
|
dev-python/PyQt5[svg,testlib,${PYTHON_USEDEP}]
|
|
|
|
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
|
|
|
dev-vcs/git
|
|
|
|
)"
|
|
|
|
|
|
|
|
distutils_enable_sphinx doc/source
|
|
|
|
distutils_enable_tests pytest
|
|
|
|
|
|
|
|
python_prepare_all() {
|
|
|
|
distutils-r1_python_prepare_all
|
|
|
|
|
|
|
|
if use test; then
|
|
|
|
mkdir "${HOME}"/.pyqtgraph || die
|
|
|
|
mv "${WORKDIR}/test-data-${TEST_DATA_TAG}" \
|
|
|
|
"${HOME}"/.pyqtgraph/test-data || die
|
|
|
|
cd "${HOME}"/.pyqtgraph/test-data || die
|
|
|
|
# we need to fake a git repo
|
|
|
|
git config --global user.email "you@example.com"
|
|
|
|
git config --global user.name "Your Name"
|
|
|
|
git init -q || die
|
|
|
|
git commit -q --allow-empty -m "dummy commit" || die
|
|
|
|
git tag "${TEST_DATA_TAG}" || die
|
|
|
|
cd - >/dev/null || die
|
|
|
|
fi
|
|
|
|
if ! use opengl; then
|
|
|
|
rm -r pyqtgraph/opengl || die
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
python_test() {
|
|
|
|
local deselect=(
|
|
|
|
# apparently fragile
|
|
|
|
--deselect pyqtgraph/tests/test_reload.py::test_reload
|
|
|
|
|
|
|
|
# pyside2 is normally skipped if not installed but these two
|
|
|
|
# fail if it is installed
|
|
|
|
# TODO: this could be due to USE flags, revisit when pyside2
|
|
|
|
# gains py3.9
|
|
|
|
--deselect
|
|
|
|
'examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
|
|
|
|
--deselect
|
|
|
|
'examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
|
|
|
|
)
|
|
|
|
|
|
|
|
distutils_install_for_testing
|
|
|
|
virtx epytest "${deselect[@]}" \
|
|
|
|
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
|
|
}
|
|
|
|
|
|
|
|
python_install_all() {
|
|
|
|
use examples && DOCS+=( examples/ )
|
|
|
|
distutils-r1_python_install_all
|
|
|
|
}
|