diff --git a/dev-python/qiskit/Manifest b/dev-python/qiskit/Manifest index 15bc0efb9af40..888926f5eb998 100644 --- a/dev-python/qiskit/Manifest +++ b/dev-python/qiskit/Manifest @@ -1,2 +1,3 @@ DIST qiskit-2.1.1-crates.tar.xz 15412164 BLAKE2B 24a65f0ec256c2f848102c039106ef0fecb33be0fb00494f0ca707285e224ade0efd1a4a6a557dc5dd7d2224924e2b94a4a4585d8a9030a310f0f1a999ac0713 SHA512 779aca54c2da20f2558f5fab2de0ee22c861f2edd88dea17e79d1f7f796eda9612bcf45a08a0647032049e67e9c467236b493cb02efcf199e2951109c316e53a DIST qiskit-2.1.1.gh.tar.gz 7095152 BLAKE2B fa611f4a5e772ba66bc58bc2832f6779dee514b1956adfea03dc92f7745f607e0f7654d018f3b501f9f1ce740875c60b14c2d3c92142240ce324a6b91daa8f6a SHA512 7eade06c30c264979ceaffb2cd948dfea358973351165a66472150ab8e6bfc73e6c2c5107b4024352efcc01bea9beea897ac4fbc389e81df79e07e54f2673851 +DIST qiskit-2.1.2.gh.tar.gz 7100760 BLAKE2B 01f5789f20d1c73e73000ec87579981380d201b4d614dbfd7974d603c031de2a567e42c41f4552442805eb38b729784442a1e04e36054ba0c0a44a68b7410ad4 SHA512 a2e435f2523f538c922c868bf1fb303143f2efe4f3f70fe286d25fe467c454888f4fe7dc81b94e30e134e15446c6f3364a9ee932b5229952cb178e5db019ac1d diff --git a/dev-python/qiskit/qiskit-2.1.2.ebuild b/dev-python/qiskit/qiskit-2.1.2.ebuild new file mode 100644 index 0000000000000..fcd271e1e8bbf --- /dev/null +++ b/dev-python/qiskit/qiskit-2.1.2.ebuild @@ -0,0 +1,109 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..13} ) + +RUST_MIN_VER="1.81.0" + +inherit cargo distutils-r1 + +MY_P=${P/_} +CRATE_PV=2.1.1 +DESCRIPTION="An open-source SDK for working with quantum computers" +HOMEPAGE=" + https://github.com/Qiskit/qiskit/ + https://pypi.org/project/qiskit/ +" +SRC_URI=" + https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz + ${CARGO_CRATE_URIS} + https://github.com/gentoo-crate-dist/qiskit/releases/download/${CRATE_PV/_}/${PN}-${CRATE_PV}-crates.tar.xz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT MPL-2.0 + Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+visualization" + +RDEPEND=" + >=dev-python/dill-0.3[${PYTHON_USEDEP}] + >=dev-python/numpy-1.17[${PYTHON_USEDEP}] + >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}] + >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}] + >=dev-python/scipy-1.5[${PYTHON_USEDEP}] + >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}] + visualization? ( + >=dev-python/matplotlib-3.3[${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/symengine-0.11.0[${PYTHON_USEDEP}] + >=dev-python/sympy-1.3[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/cython-0.27.1[${PYTHON_USEDEP}] + test? ( + app-text/poppler[png] + >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}] + >=dev-python/networkx-2.2[${PYTHON_USEDEP}] + >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}] + >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}] + ) +" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED=" + usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so + usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so +" + +EPYTEST_PLUGINS=( hypothesis ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # strip forcing -Werror from tests that also leaks to other packages + sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw + test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin + test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register + # tiny image differences, sigh + test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit + # TODO: failures from dill + test/python/circuit/test_parameters.py::TestParameters::test_transpiling_multiple_parameterized_circuits + test/python/compiler/test_transpiler.py::TestTranspile::test_delay_converts_expr_to_dt + test/python/compiler/test_transpiler.py::TestTranspile::test_transpile_two + test/python/transpiler/test_naming_transpiled_circuits.py::TestNamingTranspiledCircuits::test_multiple_circuits_name_list + ) + + local EPYTEST_IGNORE=( + # Breaks xdist + test/python/qasm2/test_parse_errors.py + test/python/transpiler/test_preset_passmanagers.py + ) + + rm -rf qiskit || die + # Run the Python test suite rather than everything under test/ which + # includes the 'randomized' suite. Upstream run that in a separate CI job. + epytest test/python +}