summaryrefslogtreecommitdiff
path: root/dev-python/pycuda
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-python/pycuda
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-python/pycuda')
-rw-r--r--dev-python/pycuda/Manifest12
-rw-r--r--dev-python/pycuda/metadata.xml11
-rw-r--r--dev-python/pycuda/pycuda-2012.1.ebuild87
-rw-r--r--dev-python/pycuda/pycuda-2013.1.1.ebuild87
-rw-r--r--dev-python/pycuda/pycuda-2014.1.ebuild87
-rw-r--r--dev-python/pycuda/pycuda-2016.1.2.ebuild84
-rw-r--r--dev-python/pycuda/pycuda-2017.1.ebuild82
-rw-r--r--dev-python/pycuda/pycuda-9999.ebuild88
8 files changed, 538 insertions, 0 deletions
diff --git a/dev-python/pycuda/Manifest b/dev-python/pycuda/Manifest
new file mode 100644
index 000000000000..349c83b87930
--- /dev/null
+++ b/dev-python/pycuda/Manifest
@@ -0,0 +1,12 @@
+DIST pycuda-2012.1.tar.gz 1473695 BLAKE2B c50dbc4b7b506f6bdee071d74b1c1617775da3a6904378ed5cdee3d56ea12803bcf5fedf4c8187520217b58e9a2ccb76fd559fa9365f3a44e6e88b6a1d6ea9b9 SHA512 bb8889fa46de3d4ae57fb47883232953eba0e12a53431fffdefb12af3134540aec2671f0f2fbbe1d836dab354d407e078e773e84f8ee9a5345400a4a59da7937
+DIST pycuda-2013.1.1.tar.gz 1586425 BLAKE2B 2d566de0bf5ee5d231f8f7089bd2921f6790653d9e0f142a951f545d84814963031506577c46fd466dc7d58bca451dc8b03134f5ab40e04d0ed5f74334d4235f SHA512 7a7e95fcd4f76d10234558021064cc299e6d93ab9a428c9560e5a8a73b13304ba9ccc3c103674a25effdc01a14aac21981a62de881a9c990ad16d7689b75e502
+DIST pycuda-2014.1.tar.gz 1588986 BLAKE2B 70baa81e8d1b77bcab73eeccf4d38dbe7cea1a8dcd73da4363eaecb87b68eb72b5c96733637eb5082ae81bff2aa264427c1415b9660df5cd95693d1eedc6250a SHA512 57e333941c472feea6974e583f9d27f7f5083011bd8a7cc0bc31d27032885a130f1f57a16b0730696c607b9dca32ad84b96c984cd82351800ec854acdfa8fe9f
+DIST pycuda-2016.1.2.tar.gz 1603373 BLAKE2B 35a5972cd4280cace9375314635131b4e8f0f397f0a3f799fd537c13fc2190ee183ab3b2248487f0c79a15a06031776b9c3bbff9ce2545090590d004ff97f0a4 SHA512 7a1a9d6723651bdc6f584de884c46bbaa17970e622b4d800c7f36ff57817807a51c7e4aa0a40872e46fc1243087af6dda07489bb60b6a33f52740a4d7a9e69a7
+DIST pycuda-2017.1.tar.gz 1608187 BLAKE2B 483bfd8e2da6d1c2dee9f1b5512e3f8120b29aa87d5fab49d7b1b738e9949aba14f87b102c5ff04cd2f2061c6c64c5036fdea71129e35505cce00ce76b6943aa SHA512 ce3de28de613352bec4efb86ffaa055f92ccd0c758b903aecc60af5b84f0f0643d04a869d6a23ce329c3d33670cfb266ad69c784ba917a190a11bdfea1fe6690
+EBUILD pycuda-2012.1.ebuild 2368 BLAKE2B 6f46d40b6cd9c3b8e4c95eaf4e512c0afa9e7a74af66d928b25ebf4fe4ce20d3cc47c8726729da32e887bfc0cc4825123399600c7bfc3a2375fb83a71255f947 SHA512 2ac7e75e34cb6d4f9b15195afe499676af6dbb04aea63f88d8d62f3cab250247ec252a24bcb59d5b10fa04c700d97f0f19b7edc3aef28ab7d33355a321d93f59
+EBUILD pycuda-2013.1.1.ebuild 2366 BLAKE2B b199685e82e06c7e8bc90b45a365ac7947f80ad686c88f960d17c71b9a98885ccdc5c1e40c17d335fc0974d077134e44431d71e1fdec67257bfc53d6c62e4e5c SHA512 c8d49d6cc2e988a15ba5868f38c244e636c2ec21a0f0e3249067780602b3c4bf9a006ec41b1f516739ff4e0ea1c02cf2a598b4ee5189ec86ab7957bedb9b77f6
+EBUILD pycuda-2014.1.ebuild 2403 BLAKE2B 80bd52ac38b25ec40cadbb2977b7b08ced07fd35cf89fedc6dc3738d6dc5f299babd518e15e517a06ba77241ec0a10500b62dbf93d256264f2e94551bf4052a3 SHA512 4f51e33de8ec2d16acf85f2642f37963962046bd5b155f989c6fa614294f1c97a04861c925ff331524e98da953c8bc1c9d459d3dd51a05d52bbd37c8ff313731
+EBUILD pycuda-2016.1.2.ebuild 2317 BLAKE2B 9aa5f89746570bb4b23fb37486cfe885210e872f6e27ad5dcf5f8dc729244b8bbe8638e0561769c31cb3335e08f23f31ee1be695df09255af87f4576141b52f8 SHA512 e6fc762525a864ddef50bafcc9f8d82d066c51a53d14743bfbcf421031871c1bb87fbd959fc4d5bb888f740a82e4c8b3f2ee87547416f2d8a9e4ae8e204a3e81
+EBUILD pycuda-2017.1.ebuild 2328 BLAKE2B 04b2ff89246ccaef86143db74f337b6fbcb77e51d6ec7b54aa6f7976186b4100010561460027f2ff7625b701421a2b17566d6b532877597019fc640f068156f7 SHA512 4a66b1fcd0546b46b5b92a6b4b68f089a5420e3abe12ac52a67df4768e0ee76515cc6f696f2f1de0934d578065181d24c0ff016fac77e01bbfcc0677078963c2
+EBUILD pycuda-9999.ebuild 2392 BLAKE2B b0fe54752d25c71d38c286c7933d3d0be2865de65cd00d1dafdc1a8a105f3d77cb853a3cd9e4fbf22ead6270a0d401b0cfef0937ae3377ca70d08ce0cdf8ee88 SHA512 23445c9ac98a6a37e1a5f2c24dd80a2c80d50ba37e56aab7b157bb392efcef08efaa563545c9cdecd885f52ec38e4031a8ff782028e2e86cbf1382aa574ab19f
+MISC metadata.xml 332 BLAKE2B f880a8d2cdbe4271dc2f1e91c32419420b22e00c0d358832614aa970e95d979b10661953b35dda0b30a23d36b995364464ebd3bb1a862a34f33e7a84fa9b8e84 SHA512 2a2ba5f70d55593801948a9143fce5ddb2922da30fc7c1ea3ec21ccbb391a09fc34be961e9dbccb53d6575aa347878d105526d85bb7cc3f2f561f1793f0eee5c
diff --git a/dev-python/pycuda/metadata.xml b/dev-python/pycuda/metadata.xml
new file mode 100644
index 000000000000..392ea93829c7
--- /dev/null
+++ b/dev-python/pycuda/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pycuda</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycuda/pycuda-2012.1.ebuild b/dev-python/pycuda/pycuda-2012.1.ebuild
new file mode 100644
index 000000000000..a2b3ca5a8819
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2012.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2011.2[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2013.1.1.ebuild b/dev-python/pycuda/pycuda-2013.1.1.ebuild
new file mode 100644
index 000000000000..64034046183c
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2013.1.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2014.1.ebuild b/dev-python/pycuda/pycuda-2014.1.ebuild
new file mode 100644
index 000000000000..e7553c70a176
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2014.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ [[ -d "${BUILD_DIR}" ]] || mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2016.1.2.ebuild b/dev-python/pycuda/pycuda-2016.1.2.ebuild
new file mode 100644
index 000000000000..07cc2b626f8e
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2016.1.2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit cuda distutils-r1
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ rm -f ./siteconf.py || die
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ $(usex opengl --cuda-enable-gl "") || die
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2017.1.ebuild b/dev-python/pycuda/pycuda-2017.1.ebuild
new file mode 100644
index 000000000000..5ff90c3a1405
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2017.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit cuda distutils-r1
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ rm -f ./siteconf.py || die
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ $(usex opengl --cuda-enable-gl "") || die
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-9999.ebuild b/dev-python/pycuda/pycuda-9999.ebuild
new file mode 100644
index 000000000000..31df60658541
--- /dev/null
+++ b/dev-python/pycuda/pycuda-9999.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit cuda distutils-r1 git-r3 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
+SRC_URI=""
+EGIT_REPO_URI="https://git.tiker.net/trees/pycuda.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}