summaryrefslogtreecommitdiff
path: root/dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-14 07:27:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-14 07:27:33 +0000
commit5f0ddf07f84a1ba3a9e5bd63f70faa2f9a9ef8a2 (patch)
treeec57ec78189db00c5f078042d9f054a49b16cfd7 /dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild
parent0441a7dba7699646904390ef23e00815903bcd49 (diff)
downloadbaldeagleos-repo-5f0ddf07f84a1ba3a9e5bd63f70faa2f9a9ef8a2.tar.gz
baldeagleos-repo-5f0ddf07f84a1ba3a9e5bd63f70faa2f9a9ef8a2.tar.xz
baldeagleos-repo-5f0ddf07f84a1ba3a9e5bd63f70faa2f9a9ef8a2.zip
Adding metadata
Diffstat (limited to 'dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild')
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild65
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild
new file mode 100644
index 000000000000..8294f53ef2d2
--- /dev/null
+++ b/dev-python/threadpoolctl/threadpoolctl-3.6.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool"
+HOMEPAGE="
+ https://github.com/joblib/threadpoolctl/
+ https://pypi.org/project/threadpoolctl/
+"
+SRC_URI="
+ https://github.com/joblib/threadpoolctl/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Asserts against a hardcoded list of CPUs. Either we skip it
+ # or file bugs about missing architectures until upstream realizes
+ # how bad idea that were.
+ tests/test_threadpoolctl.py::test_architecture
+ # This test fails if the Python executable (or any library that it
+ # links to) uses OpenMP. This can particularly be the case with
+ # CPython 3.12 that links to app-crypt/libb2.
+ # https://github.com/joblib/threadpoolctl/issues/146
+ tests/test_threadpoolctl.py::test_command_line_empty
+ )
+
+ # see continuous_integration/build_test_ext.sh
+ if [[ ! -f tests/_pyMylib/my_threaded_lib.so ]]; then
+ pushd tests/_pyMylib >/dev/null || die
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o my_threaded_lib.so my_threaded_lib.c || die
+ popd >/dev/null || die
+ fi
+
+ pushd tests/_openmp_test_helper >/dev/null || die
+ "${EPYTHON}" setup_inner.py build_ext -i || die
+ "${EPYTHON}" setup_outer.py build_ext -i || die
+ "${EPYTHON}" setup_nested_prange_blas.py build_ext -i || die
+ popd >/dev/null || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}