repo/gentoo:master commit in: dev-python/pycuda/
"Sam James" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1787023725.b3fc64f7a02e8eb122895f9a4bf3b50f93fe9d91.sam@gentoo> |
commit: b3fc64f7a02e8eb122895f9a4bf3b50f93fe9d91
Author: Hank Leininger <hlein <AT> korelogic <DOT> com>
AuthorDate: Wed Jul 22 05:02:26 2026 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 03:28:45 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3fc64f7
dev-python/pycuda: add 2025.1.3
Bug: https://bugs.gentoo.org/952369
Closes: https://bugs.gentoo.org/947202
Closes: https://bugs.gentoo.org/932712
Signed-off-by: Hank Leininger <hlein <AT> korelogic.com>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1494
Merges: https://codeberg.org/gentoo/gentoo/pulls/1494
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-python/pycuda/Manifest | 1 +
dev-python/pycuda/pycuda-2025.1.3.ebuild | 90 ++++++++++++++++++++++++++++++++
2 files changed, 91 insertions(+)
diff --git a/dev-python/pycuda/Manifest b/dev-python/pycuda/Manifest
index dc24e1c75e92..67f3cd25a905 100644
--- a/dev-python/pycuda/Manifest
+++ b/dev-python/pycuda/Manifest
@@ -1 +1,2 @@
DIST pycuda-2024.1.tar.gz 1683163 BLAKE2B b464f47d86b77d492322f28364756cd25a28a11e6dcc802c9c930fad20de74d217660782f82a2a020753fcbb6000a9d659555be6220c57229226ac7fc118c793 SHA512 70a3f27488077e1176aa26b4bc8785277917cc1884126de45c732f393e5e38224b4c4c67999eb1776c08a930333f718d1af3463154d89291b3294bf303a3c471
+DIST pycuda-2025.1.3.tar.gz 1690651 BLAKE2B 4a71a8a8dad2db6b70f0acc9ad07d0817f83a4393b3b57fff558deb91142c56b9a442cb76d91f7e74ad6ca0c99df426261077079007dec699aa104ab28036c54 SHA512 06bd1459b56562900d52cb424569651a54ec1aa1a9c195789009344143595089042957f6ff3250531f518cdf094f8474dd55a0e91e725eee7f0b2f1895ffbe7b
diff --git a/dev-python/pycuda/pycuda-2025.1.3.ebuild b/dev-python/pycuda/pycuda-2025.1.3.ebuild
new file mode 100644
index 000000000000..6aef233d9a7f
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2025.1.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cuda distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/ https://github.com/inducer/pycuda"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples test"
+
+RDEPEND="
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytools[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit[profiler]
+ x11-drivers/nvidia-drivers
+"
+DEPEND="${RDEPEND}"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="test? ( userpriv ) !test? ( test )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ cuda_sanitize
+
+ sed "s|\"--preprocess\"|&,\"--compiler-bindir=$(cuda_gccdir)\"|" \
+ -i pycuda/compiler.py || die
+
+ > siteconf.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ local conf=(
+ "${EPYTHON}" "${S}"/configure.py
+ --boost-inc-dir="${ESYSROOT}"/usr/include
+ --boost-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
+ --boost-python-libname=boost_${EPYTHON/./}.so
+ --boost-thread-libname=boost_thread
+ --cuda-inc-dir="${ESYSROOT}"/opt/cuda/include
+ --cuda-root="${ESYSROOT}"/opt/cuda
+ --cudadrv-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
+ --cudart-lib-dir="${ESYSROOT}"/opt/cuda/$(get_libdir)
+ )
+ echo ${conf[*]}
+ "${conf[@]}" || die
+}
+
+python_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ addwrite /dev/nvidia-uvm
+ addwrite /dev/nvidia-uvm-tools
+
+ EPYTEST_DESELECT=(
+ # needs investigation, perhaps failure is hardware-specific
+ test/test_driver.py::test_pass_cai_array
+ test/test_driver.py::test_pointer_holder_base
+ )
+
+ cd "${T}" || die
+ epytest "${S}"/test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}