commit: cf1dfd6ccd654d848be0efaf8d061aad72b35a59 Author: Gábor Oszkár Dénes <gaboroszkar <AT> protonmail <DOT> com> AuthorDate: Tue Mar 8 20:37:30 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Jul 15 02:11:59 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf1dfd6c
dev-python/qiskit-terra: new package Closes: https://bugs.gentoo.org/834770 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Gábor Oszkár Dénes <gaboroszkar <AT> protonmail.com> Signed-off-by: Sam James <sam <AT> gentoo.org> dev-python/qiskit-terra/Manifest | 1 + .../qiskit-terra-0.19.2-test-corrections.patch | 36 +++++++++++ dev-python/qiskit-terra/metadata.xml | 24 ++++++++ dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild | 70 ++++++++++++++++++++++ 4 files changed, 131 insertions(+) diff --git a/dev-python/qiskit-terra/Manifest b/dev-python/qiskit-terra/Manifest new file mode 100644 index 000000000000..a8227925a43f --- /dev/null +++ b/dev-python/qiskit-terra/Manifest @@ -0,0 +1 @@ +DIST qiskit-terra-0.19.2.gh.tar.gz 9536647 BLAKE2B 966370a782179512f3c4cd209f604f536ac4ac503f4805681d5729f4d6df4020bbaa5a2beb2fc393506eaa67a81666254375f14b827e07e1c1478a381fde5b45 SHA512 d02c028a86927610f1bca63830cb489069e68e016ed744a4092a96ddde163ea8ca1071048fc82b1807d4136e1fb2b0fcdde6d1a639ffc2ebe7c99dfd50c2e3d4 diff --git a/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch b/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch new file mode 100644 index 000000000000..ec44ebe75faa --- /dev/null +++ b/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch @@ -0,0 +1,36 @@ +diff --git a/test/python/qobj/test_pulse_converter.py b/test/python/qobj/test_pulse_converter.py +index ea5b77e78..cde568ecf 100644 +--- a/test/python/qobj/test_pulse_converter.py ++++ b/test/python/qobj/test_pulse_converter.py +@@ -341,7 +341,8 @@ class TestQobjToInstructionConverter(QiskitTestCase): + + self.assertEqual(evaluated_instruction.start_time, 1) + self.assertEqual(evaluated_instruction.duration, 1) +- self.assertEqual(evaluated_instruction.instructions[0][-1], instruction) ++ self.assertEqual(evaluated_instruction.instructions[0][-1].channel, instruction.channel) ++ self.assertAlmostEqual(evaluated_instruction.instructions[0][-1].frequency, instruction.frequency) + + def test_delay(self): + """Test converted qobj from Delay.""" +diff --git a/test/randomized/test_transpiler_equivalence.py b/test/randomized/test_transpiler_equivalence.py +index 302760279..1d0a3e16f 100644 +--- a/test/randomized/test_transpiler_equivalence.py ++++ b/test/randomized/test_transpiler_equivalence.py +@@ -21,7 +21,7 @@ from hypothesis.stateful import Bundle, RuleBasedStateMachine + + import hypothesis.strategies as st + +-from qiskit import execute, transpile, Aer ++from qiskit import execute, transpile, BasicAer + from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister + from qiskit.circuit import Measure, Reset, Gate, Barrier + from qiskit.test.mock import ( +@@ -98,7 +98,7 @@ class QCircuitMachine(RuleBasedStateMachine): + qubits = Bundle("qubits") + clbits = Bundle("clbits") + +- backend = Aer.get_backend("qasm_simulator") ++ backend = BasicAer.get_backend("qasm_simulator") + max_qubits = int(backend.configuration().n_qubits / 2) + + def __init__(self): diff --git a/dev-python/qiskit-terra/metadata.xml b/dev-python/qiskit-terra/metadata.xml new file mode 100644 index 000000000000..02ea1aee258b --- /dev/null +++ b/dev-python/qiskit-terra/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- comaintainers-welcomed --> + <maintainer type="person" proxied="yes"> + <email>[email protected]</email> + <name>Gábor Oszkár Dénes</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>[email protected]</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms. + Qiskit is made up of elements that work together to enable quantum computing. This element is Terra and is the foundation on which the rest of Qiskit is built. + </longdescription> + <use> + <flag name="visualization">Enable visualization modules</flag> + </use> + <upstream> + <remote-id type="github">Qiskit/qiskit-terra</remote-id> + <remote-id type="pypi">qiskit-terra</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild new file mode 100644 index 000000000000..36f8af6afe18 --- /dev/null +++ b/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild @@ -0,0 +1,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 +}
