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
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.