summaryrefslogtreecommitdiff
path: root/dev-python/pycuda
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-08-18 03:04:49 -0500
committerroot <root@alpha.trunkmasters.com>2026-08-18 03:04:49 -0500
commit8986336ab51bc36e7851acd267977ed303daa703 (patch)
tree7896fc7318e256edc240f1ab74b2e7b4a31b6e5e /dev-python/pycuda
parent5e23801c678ccd5c0e28d009b46d8860e38779ce (diff)
downloadbaldeagleos-repo-8986336ab51bc36e7851acd267977ed303daa703.tar.gz
baldeagleos-repo-8986336ab51bc36e7851acd267977ed303daa703.tar.xz
baldeagleos-repo-8986336ab51bc36e7851acd267977ed303daa703.zip
Adding metadata
Diffstat (limited to 'dev-python/pycuda')
-rw-r--r--dev-python/pycuda/Manifest1
-rw-r--r--dev-python/pycuda/pycuda-2025.1.3-r1.ebuild92
2 files changed, 93 insertions, 0 deletions
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-r1.ebuild b/dev-python/pycuda/pycuda-2025.1.3-r1.ebuild
new file mode 100644
index 000000000000..51bdf39a3feb
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2025.1.3-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2026 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_{13..14} )
+inherit cuda distutils-r1 edo 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/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2011.2[${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 )"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+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=(
+ --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)
+ )
+
+ edo "${EPYTHON}" "${S}"/configure.py "${conf[@]}"
+}
+
+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
+ )
+
+ rm -rf pycuda || die
+ epytest test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}