summaryrefslogtreecommitdiff
blob: 36f8af6afe18c2e41d6da86271a75a9fcf516a6c (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
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..10} )

inherit distutils-r1

DESCRIPTION="Terra is the foundation on which Qiskit is built"
HOMEPAGE="https://github.com/Qiskit/qiskit-terra"
SRC_URI="https://github.com/Qiskit/qiskit-terra/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
IUSE="+visualization"
KEYWORDS="~amd64"

BDEPEND=">=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
	test? (
		>=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
		>=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
		>=dev-python/networkx-2.2[${PYTHON_USEDEP}]
		app-text/poppler[png]
		>=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
	)"

RDEPEND="
	>=dev-python/retworkx-0.10.1[${PYTHON_USEDEP}]
	>=dev-python/numpy-1.17[${PYTHON_USEDEP}]
	>=dev-python/ply-3.10[${PYTHON_USEDEP}]
	>=dev-python/psutil-5[${PYTHON_USEDEP}]
	>=dev-python/scipy-1.5[${PYTHON_USEDEP}]
	>=dev-python/sympy-1.3[${PYTHON_USEDEP}]
	>=dev-python/dill-0.3[${PYTHON_USEDEP}]
	>=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
	>=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
	>=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
	>=dev-python/symengine-0.8[${PYTHON_USEDEP}]
	>=dev-python/tweedledum-1.1[${PYTHON_USEDEP}]
	visualization? (
		>=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
		>=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
		dev-python/pydot[${PYTHON_USEDEP}]
		>=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
		>=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
		>=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
		>=dev-python/pygments-2.4[${PYTHON_USEDEP}]
	)"

distutils_enable_tests pytest

# Small issues with the tests.
# qiskit.Aer module depends on qiskit-terra, it cannot be used,
# and an exact comparison of float switched to approximate comparison.
PATCHES=( "${FILESDIR}/qiskit-terra-0.19.2-test-corrections.patch" )

python_test() {
	# We have to hide the source code directory so tests
	# do not use these, but instead the compiled library.
	mv qiskit qiskit.hidden || die

	# Some small tests are failing which test optional features.
	# Why they fail is still under investigation.
	# transpiler_equivalence tests take too long time, they are also skipped.
	epytest -k 'not (TestOptions and test_copy) and not TestUnitarySynthesisPlugin and not test_transpiler_equivalence and not (TestPauliSumOp and test_to_instruction)'

	mv qiskit.hidden qiskit || die
}