summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pyqtgraph/pyqtgraph-0.12.2.ebuild')
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.12.2.ebuild89
1 files changed, 89 insertions, 0 deletions
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.12.2.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.12.2.ebuild
new file mode 100644
index 000000000000..523718072f98
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.12.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..9} )
+inherit distutils-r1 multiprocessing
+
+TEST_DATA_TAG=test-data-8
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="https://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-python/pytest-xvfb[${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 tests/test_reload.py::test_reload
+
+ # TODO
+ --deselect tests/graphicsItems/test_ROI.py::test_PolyLineROI
+
+ # 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
+ epytest "${deselect[@]}" \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+}
+
+python_install_all() {
+ use examples && DOCS+=( examples/ )
+ distutils-r1_python_install_all
+}