summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild164
1 files changed, 164 insertions, 0 deletions
diff --git a/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild
new file mode 100644
index 000000000000..7cc5dad7a8b2
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2022-2024 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_{10..12} )
+
+CRATES="
+ ahash@0.8.11
+ alga@0.9.3
+ allocator-api2@0.2.18
+ approx@0.3.2
+ autocfg@1.3.0
+ bitflags@2.6.0
+ cfg-if@1.0.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.20
+ either@1.13.0
+ equivalent@1.0.1
+ fixedbitset@0.4.2
+ getrandom@0.2.15
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.11
+ libc@0.2.155
+ libm@0.2.8
+ lock_api@0.4.12
+ matrixmultiply@0.3.8
+ memchr@2.7.4
+ memoffset@0.9.1
+ ndarray-stats@0.5.1
+ ndarray@0.15.6
+ noisy_float@0.2.0
+ num-bigint@0.4.6
+ num-complex@0.2.4
+ num-complex@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ num_cpus@1.16.0
+ numpy@0.21.0
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ petgraph@0.6.5
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@2.0.3
+ proc-macro2@1.0.86
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quick-xml@0.34.0
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_pcg@0.3.1
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.5.2
+ rustc-hash@1.1.0
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.118
+ smallvec@1.13.2
+ sprs@0.11.1
+ syn@2.0.68
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="
+ https://github.com/Qiskit/rustworkx/
+ https://pypi.org/project/rustworkx/
+"
+SRC_URI="
+ https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3+ MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ )
+"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force unstable ABI to workaround stable ABI crash in py3.13
+ # https://github.com/PyO3/pyo3/issues/4311
+ sed -i -e 's:"abi3-py38",::' Cargo.toml || die
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # TODO: hangs
+ tests/retworkx_backwards_compat/visualization/test_mpl.py
+ tests/rustworkx_tests/visualization/test_mpl.py
+ )
+ rm -rf rustworkx || die
+ epytest
+}