diff --git a/dev-python/qiskit/Manifest b/dev-python/qiskit/Manifest index d0943e57c56c1..d51cef252e8f8 100644 --- a/dev-python/qiskit/Manifest +++ b/dev-python/qiskit/Manifest @@ -1,3 +1,4 @@ DIST qiskit-2.2.0-crates.tar.xz 16407880 BLAKE2B 7445aba25d26ed3826e70549d16551588acce28847545b20b6c64f96b39f0cca9ca17ada7c7ed2aadd513e22355ab55e29e41218efe7201779bf39e9e5440e7c SHA512 f156de95eea02b7d5fc3838ba0369cfbb51f92ee13b59035c6f79c29528f3d2888ebc3f6917324587b33b656962b16513a3f17b47e8248cd9f1b88ce497d51b6 DIST qiskit-2.2.0.gh.tar.gz 7315291 BLAKE2B 7a6ca9284634cd387c4fdd32554dfc4937a89936e7119ff590564f89bbbab5a034c72a319f6d388b1d63f2c3cde972cda99250d0d65714a509b23cd3829a0dac SHA512 c2eb9e48de13afa9d973c2a3fb3a4f04f076abb6c79291c5c4939d4dcb157b2d97fb7f12e71f524a63aa5048ebf254e5f8649a70332902a2010f6e62d1ae87e9 DIST qiskit-2.2.1.gh.tar.gz 7318815 BLAKE2B 29e7374ffd7f15987598dc6601863c74172d5d01e7db44f6bb59184065c8a61e508c78a31a7110e4918a77bba88043232306a2c5462192904990b093fc81a466 SHA512 870274a0e24e14a370dab02badd43c3431a491cc615dab535cb7c175adcea9d36f5167760f4d838ebc45f5945f98b88ca3707fa6482c3727af7aee17e1adf646 +DIST qiskit-2.2.2.gh.tar.gz 7326529 BLAKE2B 086557c21e8710589c3037bdcf0fb91c0da1f2e188d078a4385869314710cd523a2f464bc5ca191047e71bb098c7f0137d48375d17765fbbb8a6b50d37bf89ba SHA512 4cb2d2fe350c492dbb7880babe6fdfdc883d5b1057bb29683371f105b4d0e60d080c8a6caec9dd70f9d353871f3119e533b449917186ff9c9aded84a9caaa86d diff --git a/dev-python/qiskit/qiskit-2.2.2.ebuild b/dev-python/qiskit/qiskit-2.2.2.ebuild new file mode 100644 index 0000000000000..c0294f6032445 --- /dev/null +++ b/dev-python/qiskit/qiskit-2.2.2.ebuild @@ -0,0 +1,117 @@ +# 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} ) + +CRATES="" +RUST_MIN_VER="1.84.0" + +inherit cargo distutils-r1 + +MY_P=${P/_} +CRATE_PV=2.2.0 +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() { + # We run tests in parallel, so avoid having n^2 threads in lapack + # tests. + local -x BLIS_NUM_THREADS=1 + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + local -x OPENBLAS_NUM_THREADS=1 + + 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 +}