diff options
| author | root <root@alpha.trunkmasters.com> | 2026-08-18 03:04:49 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-08-18 03:04:49 -0500 |
| commit | 8986336ab51bc36e7851acd267977ed303daa703 (patch) | |
| tree | 7896fc7318e256edc240f1ab74b2e7b4a31b6e5e /dev-python/pycuda | |
| parent | 5e23801c678ccd5c0e28d009b46d8860e38779ce (diff) | |
| download | baldeagleos-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/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pycuda/pycuda-2025.1.3-r1.ebuild | 92 |
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 +} |
