summaryrefslogtreecommitdiff
path: root/dev-util/nvidia-cuda-toolkit
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-util/nvidia-cuda-toolkit
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-util/nvidia-cuda-toolkit')
-rw-r--r--dev-util/nvidia-cuda-toolkit/Manifest20
-rw-r--r--dev-util/nvidia-cuda-toolkit/files/cuda-config.in28
-rw-r--r--dev-util/nvidia-cuda-toolkit/metadata.xml13
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.14.ebuild154
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.19-r1.ebuild156
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-7.5.18-r2.ebuild143
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.44.ebuild135
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.61.ebuild136
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.0.176.ebuild136
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.1.85.ebuild136
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.2.88.ebuild136
11 files changed, 1193 insertions, 0 deletions
diff --git a/dev-util/nvidia-cuda-toolkit/Manifest b/dev-util/nvidia-cuda-toolkit/Manifest
new file mode 100644
index 000000000000..1f82dad5e612
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/Manifest
@@ -0,0 +1,20 @@
+AUX cuda-config.in 406 BLAKE2B 1f1bb67d1f13da52821d640ac1875affb0ba1562df8c3eb6d2fed24c0639f8e6ff43428701c5a2d1538e444356db5e9854e6ea629a1e3b2e1399ebacef2ca388 SHA512 df6d16bd2e800868bdf8401b6f82a387b701ea297ddf6e8feb0daf5222e62a33f156e5f45cf1ee4e1aa51559dfbd56b897c257dae1bb9568e839bf806bfebd5b
+DIST cuda_6.5.14_linux_32.run 76788277 BLAKE2B 75e79dce6cac5155bde8a3cafa945047c489b10272f8a3b94bf55d499df4b9c8b82506a81a20f9fd816bd4fd0514e515a6435399db1cb62b027c76490bd4dfae SHA512 89649ee0f4543b37037b7c8f5ed0b8bd502512afb4d93e3158b3df4786123be05a5288986b5abbfe15c14eb010777d2527b715225bea96a354a898c34e4a2fcc
+DIST cuda_6.5.14_linux_64.run 972320904 BLAKE2B 4a4361fb7a90989ec4b4aa433189e7b358e5a2272fb9b9c59429e0014ac14e3b8de1b247ee98dc30c3f3ee4cc009eca4fdd86027bd3b9527a683353d60bdf5c6 SHA512 fecca731b86955f5bc7b09d88b02951e3ee5d4b1f1cf5f92658227a029b87cd35d6ac22956a5fa0afe62dcdc57191f1d12bb08c9f7cc05128727cd8455947b1e
+DIST cuda_6.5.19_linux_32.run 81882112 BLAKE2B cf55ef7c969503c156431fc56301ed4e9a1234ae0cb867f12649636069f35e56bf6fc9df7482b6baade45d78c8baa2d98c41a28696da59294e0f575c4a0344ce SHA512 1ce9bd6b472b7e4f1fb181eb340dfcb757714d59a89aaa02146cfe1a97c8ccb7eb7699b4ec823276f277eb4d82d95050eaba17e7ed5fd2e47b9b5d78531c5d4e
+DIST cuda_6.5.19_linux_64.run 982446238 BLAKE2B 517ac07d4717f4f5d9427616a387dbe01fe35b7b6845b5d9e29aad18814243d38cc9a3cd0ff9042c027fcb056618e9a8535d560c16a6ac7998ff39fcf3ada654 SHA512 06854f020a5f72cf4bd714859e6966248ac2f589284113674e869fdaa1254cae27d4101940758ecda5df4724ad3e448a1f6d0c053b6cbc28107750872b6a5797
+DIST cuda_7.5.18_linux.run 1195424633 BLAKE2B 35933c3c3355231cd59e579e6ac6a30cca57ed0e3de26ce5cac368ff22595f39cb041c9696415d4d76a49e772b7828eacab24a3e581c1e9a8ef7981e1b044eee SHA512 97459dfd124060200f1c43f763e5bce0bea53e35ed4bef72bee6c8ba1c04ecffb8695af11755443513316f91fdb5cb4d35662f7b87bca7e3de85d562d4e49363
+DIST cuda_8.0.44_linux.run 1457082926 BLAKE2B a6408ddf8984dc4b0725cc4f53549c4d4fc4b3bd4de2771896953dbe023aa6d04ad38f5d6bf1ab3ff5752d2c18b400f478c9dbb263755267836c5de79e4f8f51 SHA512 1bf9d8e6b853c2a971b8d908a043adc5b11ec7033faed04a773c42680882753f98bc33b46f6b301c24c0f780f74bc237dce5766fc857f1a905e6c1f200728d86
+DIST cuda_8.0.61_375.26_linux.run 1465528129 BLAKE2B d52ddf1dcf5246f230f210d10d1f6e7b540c892dea5a8cd770f0d062b30b01f5c8467d930430b383464d40a9b4a14eaaf22a365e081955e4452ec4f55e08da0b SHA512 d22303719a9feff64f95bf6a966f1caa2bf0cf8c955e475ce08ce54faa5e098d336c2db223ef0185c1f23b9c52b7d2f81a63515485219cfc016d72bda979248b
+DIST cuda_9.0.176_384.81_linux.run 1643293725 BLAKE2B 4155de544f877f6c420c2463bc68679cc89774f0516d1885d5c3f483ad86e7f25ecf6042b8240431b814230136f3026196a013bb18184fa2ec9af555bb7ea723 SHA512 00e24638c02d049c575732dee5237db21f7c451b606f37cf95e44e89d47d0cb055255e9f70dc013298c9e0d224147f239488558904556b68572e3f31935489a9
+DIST cuda_9.1.85_387.26_linux.run 1639829845 BLAKE2B c9f6544893b8e4d0b4c51d66f1cf17a593e65af6e7748e2994abda8ffcb839a7bb19cb0eebfbc52347293296025f000241d1c9842af0c41d31928770c4639b79 SHA512 492a5fa58fc93ac718ca093f24bb5e74dd2586338c42f2e11e328c7f16756e3511a1c555b12cb1990bb782d0d1600976f4c9e5b3d4857e371b0431daf06b2827
+DIST cuda_9.2.88_396.26_linux.run 1758421686 BLAKE2B 5068b2dfae87e43c124a6a72ac98b7c562aebc7161e7c977cfba68342127e99705228be531aa5bb8af0318e17c4ef8fe36257452d0f507fc3b82e3fbd0184bdc SHA512 2d0d87926e11a1b21d6d3377138753df458a53ba9539d8399f9f252e0784cb41e2c63a5c724ca81ded82b9657b97fda51d812b467b0827e7d361aa2ad73b2dba
+EBUILD nvidia-cuda-toolkit-6.5.14.ebuild 3818 BLAKE2B e368a3fa7258a86f920f53da56039b940cc84e551265d458e1a3c7bc7b9321c4020e5ada9b56fc588ef4708acc4cfe9a8d2e259ad12b0c71fb57635b05b873bf SHA512 7f73c4e321234f6a19166e6e28719f6c98cecb809f9878ee1182b812e18fcc6f8c29fb2ebd0ed520847f38bfddd6a0bc60fae6b711b75f563ab39a9b322468b2
+EBUILD nvidia-cuda-toolkit-6.5.19-r1.ebuild 3844 BLAKE2B 42603527c1f012d49c98026d3f96f5ecd832cc4f31fd1afcf6738dd4e3e2aeee0ac55beeae994bbff4f48562adfe11b72270e516f8fb70d32cf00ae59f55bd78 SHA512 f40103348972041a9d6c09a8c129b68603ce0fafa29df1fdf6b13014bb97156a44881161d4668beef8af9b77adea9df8034c88d6413a6ac2ad709285f785df79
+EBUILD nvidia-cuda-toolkit-7.5.18-r2.ebuild 3355 BLAKE2B 07076b6506902bcadb8f7b6430db04beb380b76da35c5745e313910518855bb7e4c5d746d880bf7f3bbd07fc06cbb17f0d7d76bb267f9679c3d8099e398f7d35 SHA512 4e8070e399766796b1589329db4de04fc0fda0cbd1dc8ec1984b8550f1bc10d490fed7b085066f4419d5cbdf98ea2ae8202b29a9d360fe3b2a3be6e20bc802be
+EBUILD nvidia-cuda-toolkit-8.0.44.ebuild 3311 BLAKE2B f9dc70a5ed6c7ba920d07e4b3213babb2d4f4c5991c8fb343563728e4b3bd2ebe0ca53f97f867c493d67e7a15f33683aa6dabb7fe13b2832dd12a617dd26948c SHA512 807ac67b141dd390d78ec4e764dc939e993aa3b23c6469dde9e29c62a0ac7bbbd3be4d2425e3a1a9863a813c88c5fe0da37f07d1bb2fc91c0593cab99f8e8a8b
+EBUILD nvidia-cuda-toolkit-8.0.61.ebuild 3361 BLAKE2B d43051ae9eed5138e952b22159035f8557e8b5cfe0b7c0bdc411b389e60a0db9ad1f890e5c8a0159689aaa1fa06abb7a8c843c6973cd2204a6fcbebd8a0f89f0 SHA512 b98d5b85eb4405ba749061b7d228f3e86057592283a36f189eda2f1d859b2e1e55c9c6c1444e9521ac699ab8bb7b6f87a8e2457a5fe5ca85cc13043e59cdeb33
+EBUILD nvidia-cuda-toolkit-9.0.176.ebuild 3368 BLAKE2B 8782b66dd08834300b4f3935544d9e3263725b3e04774bce75c55c174052d0203cef71a94df974b1cf0fa943da76137931d443e20d9f0a733db9cec18d6f3aeb SHA512 719b65770838e7497abcd39f318773d049339cd5e1335a58a7d873c4112edf85c670ddfd9544bbaa1a6f31501e1c0e699f88b9ad3d6f0409990ed7b7ce803c4c
+EBUILD nvidia-cuda-toolkit-9.1.85.ebuild 3345 BLAKE2B af1bdce7f452973e1addfd4881abf937dbb17e8ac946e496148805dd8407b3f3485ced3487334779d6d536fedb294a3eb9241f90920bce4529256bb94f4987ab SHA512 9adef55be28117a0875704cbffb4975ac99674b3dc608909e7c5978b53f558c21049454589a5e8624ca12d6ffe4308cdf1839380ad1569955902659d0ffab7a9
+EBUILD nvidia-cuda-toolkit-9.2.88.ebuild 3347 BLAKE2B 8b438d0b64b91ad20d293662e7fc1eea788155d7e90bec0746d4a4369cfb5311eb5692c2cf77c24f49d90a6d759ee8a0681635b5de385bfe7543724eb3ba203b SHA512 6a5f413ceee79a2d1a0fbe58bf697e6f6b27bc41608f66155462efc55e139cb5356c28894c7f24cb52c98b47161e8f023b713d32306183d3fcccc14452ec89e4
+MISC metadata.xml 456 BLAKE2B 9c2baf84429d6969aad82a907a25acb5080bcfb3a5eb996f235ad05ed6ef5345df1c268bee9398c105f5926184f6179f46f98b396397266eef82ee9f6e7db470 SHA512 7745eb56d4a3a9a7d01e3143e807f2018d288c00bcc6c3bd0624c989d4e15ac5521dc087553cd643ff04392c1ac9964578fe03d05947eb2ed4cae21bceb9c67c
diff --git a/dev-util/nvidia-cuda-toolkit/files/cuda-config.in b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in
new file mode 100644
index 000000000000..ca0d1d77e107
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+SUPPORT_GCC_VERSIONS_BY_CUDA="CUDA_SUPPORTED_GCC"
+
+_print_help() {
+ cat <<- EOF
+ Usage:
+ $(basename $0) [options]
+
+ -s | --supported Returns by current CUDA supported gcc versions
+ -h | --help Shows this help
+ EOF
+}
+
+case ${1} in
+ -s|--supported)
+ echo "${SUPPORT_GCC_VERSIONS_BY_CUDA}"
+ exit 0
+ ;;
+ -h|--help)
+ _print_help
+ exit -1
+ ;;
+ *)
+ _print_help
+ exit 1
+ ;;
+esac
diff --git a/dev-util/nvidia-cuda-toolkit/metadata.xml b/dev-util/nvidia-cuda-toolkit/metadata.xml
new file mode 100644
index 000000000000..4b8ba09a6653
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/metadata.xml
@@ -0,0 +1,13 @@
+<?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>
+ <use>
+ <flag name="profiler">Installs the NVIDIA CUDA visual profiler</flag>
+ <flag name="debugger">Installs the CUDA debugger</flag>
+ <flag name="eclipse">Install plugins for eclipse</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.14.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.14.ebuild
new file mode 100644
index 000000000000..f9562a7fb37e
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.14.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit check-reqs cuda unpacker versionator
+
+MYD=$(get_version_component_range 1)_$(get_version_component_range 2)
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="http://developer.nvidia.com/cuda"
+CURI="http://developer.download.nvidia.com/compute/cuda/${MYD}/rel/installers"
+SRC_URI="
+ amd64? ( ${CURI}/cuda_${PV}_linux_64.run )
+ x86? ( ${CURI}/cuda_${PV}_linux_32.run )"
+
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ <sys-devel/gcc-4.9[cxx]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )
+ amd64? ( >=x11-drivers/nvidia-drivers-340.32[uvm] )
+ x86? ( <x11-drivers/nvidia-drivers-346.35[uvm] )
+ "
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="1500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+
+ if use x86; then
+ ewarn "Starting with version 6.5 NVIDIA dropped more and more"
+ ewarn "the support for 32bit linux."
+ ewarn "Be aware that bugfixes and new features may not be available."
+ ewarn "https://dev.gentoo.org/~jlec/distfiles/CUDA_Toolkit_Release_Notes.pdf"
+ fi
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+}
+
+src_install() {
+ local i j
+ local remove="doc jre run_files install-linux.pl "
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}"${cudadir}
+
+ # dodoc doc/*txt
+ if use doc; then
+ dodoc doc/pdf/*
+ dohtml -r doc/html/*
+ fi
+
+ if use amd64; then
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+ fi
+
+ use debugger || remove+=" bin/cuda-gdb extras/Debugger"
+ ( use profiler || use eclipse ) || remove+=" libnsight"
+ use amd64 || remove+=" cuda-installer.pl"
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for j in nvvp nsight; do
+ cat > bin/${j} <<- EOF
+ #!${EPREFIX}/bin/sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${j}/${j} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${j}
+ done
+ else
+ use eclipse || remove+=" libnvvp"
+ remove+=" extras/CUPTI"
+ fi
+
+ for i in ${remove}; do
+ ebegin "Cleaning ${i}..."
+ if [[ -e ${i} ]]; then
+ find ${i} -delete || die
+ eend
+ else
+ eend $1
+ fi
+ done
+
+ dodir ${cudadir}
+ mv * "${ED}"${cudadir} || die
+
+ cat > "${T}"/99cuda <<- EOF
+ PATH=${ecudadir}/bin$(use profiler && echo ":${ecudadir}/libnvvp")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${EPREFIX}"${cudadir}/bin/nvprof "." ${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b=${a[${#a[@]}-1]}
+
+ # if gcc and if not gcc-version is at least greatesst supported
+ if [[ $(tc-getCC) == *gcc* ]] && \
+ ! version_is_at_least $(gcc-version) ${b}; then
+ echo
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ echo
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.19-r1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.19-r1.ebuild
new file mode 100644
index 000000000000..b980d663d12f
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.19-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit check-reqs cuda unpacker versionator
+
+MYD=$(get_version_component_range 1)_$(get_version_component_range 2)
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="http://developer.nvidia.com/cuda"
+CURI="http://developer.download.nvidia.com/compute/cuda/${MYD}/rel/installers"
+SRC_URI="
+ amd64? ( ${CURI}/cuda_${PV}_linux_64.run )
+ x86? ( ${CURI}/cuda_${PV}_linux_32.run )"
+
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ <sys-devel/gcc-4.9[cxx]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )
+ amd64? ( >=x11-drivers/nvidia-drivers-343.22[uvm] )
+ x86? ( <x11-drivers/nvidia-drivers-346.35[uvm] )
+ "
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="1500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+
+ if use x86; then
+ ewarn "Starting with version 6.5 NVIDIA dropped more and more"
+ ewarn "the support for 32bit linux."
+ ewarn "Be aware that bugfixes and new features may not be available."
+ ewarn "https://dev.gentoo.org/~jlec/distfiles/CUDA_Toolkit_Release_Notes.pdf"
+ fi
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+}
+
+src_install() {
+ local i j
+ local remove="doc jre run_files install-linux.pl "
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}"${cudadir}
+
+ # dodoc doc/*txt
+ if use doc; then
+ dodoc doc/pdf/*
+ dohtml -r doc/html/*
+ fi
+
+ if use amd64; then
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+ fi
+
+ use debugger || remove+=" bin/cuda-gdb extras/Debugger"
+ ( use profiler || use eclipse ) || remove+=" libnsight"
+ use amd64 || remove+=" cuda-installer.pl"
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for j in nvvp nsight; do
+ cat > bin/${j} <<- EOF
+ #!${EPREFIX}/bin/sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${j}/${j} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${j}
+ done
+ else
+ use eclipse || remove+=" libnvvp"
+ remove+=" extras/CUPTI"
+ fi
+
+ for i in ${remove}; do
+ ebegin "Cleaning ${i}..."
+ if [[ -e ${i} ]]; then
+ find ${i} -delete || die
+ eend
+ else
+ eend $1
+ fi
+ done
+
+ ln -sf lib lib32 || die
+
+ dodir ${cudadir}
+ mv * "${ED}"${cudadir} || die
+
+ cat > "${T}"/99cuda <<- EOF
+ PATH=${ecudadir}/bin$(use profiler && echo ":${ecudadir}/libnvvp")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${EPREFIX}"${cudadir}/bin/nvprof "." ${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b=${a[${#a[@]}-1]}
+
+ # if gcc and if not gcc-version is at least greatesst supported
+ if [[ $(tc-getCC) == *gcc* ]] && \
+ ! version_is_at_least $(gcc-version) ${b}; then
+ echo
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ echo
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-7.5.18-r2.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-7.5.18-r2.ebuild
new file mode 100644
index 000000000000..7122efbeae91
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-7.5.18-r2.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit check-reqs cuda unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="http://developer.nvidia.com/cuda"
+SRC_URI="http://developer.download.nvidia.com/compute/cuda/${MYD}/Prod/local_installers/cuda_${PV}_linux.run"
+
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-devel/gcc-4.7[cxx]
+ <sys-devel/gcc-5[cxx]
+ >=x11-drivers/nvidia-drivers-352.39[uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="1500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+}
+
+src_install() {
+ local i j
+ local remove="doc jre run_files install-linux.pl "
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}"${cudadir}
+
+ # dodoc doc/*txt
+ if use doc; then
+ dodoc doc/pdf/*
+ dohtml -r doc/html/*
+ fi
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=" bin/cuda-gdb extras/Debugger"
+ ( use profiler || use eclipse ) || remove+=" libnsight"
+ remove+=" cuda-installer.pl"
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for j in nvvp nsight; do
+ cat > bin/${j} <<- EOF
+ #!${EPREFIX}/bin/sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${j}/${j} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${j}
+ done
+ else
+ use eclipse || remove+=" libnvvp"
+ remove+=" extras/CUPTI"
+ fi
+
+ for i in ${remove}; do
+ ebegin "Cleaning ${i}..."
+ if [[ -e ${i} ]]; then
+ find ${i} -delete || die
+ eend
+ else
+ eend $1
+ fi
+ done
+
+ ln -sf lib lib32 || die
+
+ dodir ${cudadir}
+ mv * "${ED}"${cudadir} || die
+
+ cat > "${T}"/99cuda <<- EOF
+ PATH=${ecudadir}/bin$(use profiler && echo ":${ecudadir}/libnvvp")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${EPREFIX}"${cudadir}/bin/nvprof "." ${ecudadir}/lib64:${ecudadir}/lib
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b=${a[${#a[@]}-1]}
+
+ # if gcc and if not gcc-version is at least greatesst supported
+ if [[ $(tc-getCC) == *gcc* ]] && \
+ ! version_is_at_least $(gcc-version) ${b}; then
+ echo
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ echo
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.44.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.44.ebuild
new file mode 100644
index 000000000000..45b0828f1ece
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.44.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cuda toolchain-funcs unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/prod/local_installers/cuda_${PV}_linux-run -> cuda_${PV}_linux.run"
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-devel/gcc-4.7[cxx]
+ <sys-devel/gcc-6[cxx]
+ >=x11-drivers/nvidia-drivers-367.44[X,uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="3500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9 5.3 5.4"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local i remove=( doc jre run_files install-linux.pl cuda-installer.pl )
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+
+ if use doc; then
+ DOCS+=( doc/pdf/. )
+ HTML_DOCS+=( doc/html/. )
+ fi
+ einstalldocs
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=( bin/cuda-gdb extras/Debugger extras/cuda-gdb-${PV}.src.tar.gz )
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for i in nvvp nsight; do
+ cat > bin/${i} <<- EOF || die
+ #!/usr/bin/env sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${i}/${i} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${i} || die
+ done
+ else
+ use eclipse || remove+=( libnvvp libnsight )
+ remove+=( extras/CUPTI )
+ fi
+
+ for i in "${remove[@]}"; do
+ ebegin "Cleaning ${i}..."
+ rm -rf "${i}" || die
+ eend
+ done
+
+ dodir ${cudadir}
+ mv * "${ED%/}${cudadir}" || die
+
+ cat > "${T}"/99cuda <<- EOF || die
+ PATH=${ecudadir}/bin$(usex profiler ":${ecudadir}/libnvvp" "")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b="${a[${#a[@]}-1]}"
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ! version_is_at_least gcc-version ${b}; then
+ ewarn ""
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn ""
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.61.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.61.ebuild
new file mode 100644
index 000000000000..0295aba23074
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.61.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cuda toolchain-funcs unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+DRIVER_PV="375.26"
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/Prod2/local_installers/cuda_${PV}_${DRIVER_PV}_linux-run -> cuda_${PV}_${DRIVER_PV}_linux.run"
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-devel/gcc-4.7[cxx]
+ <sys-devel/gcc-6[cxx]
+ >=x11-drivers/nvidia-drivers-375.26[X,uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses:5/5[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="3500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9 5.3 5.4"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local i remove=( doc jre run_files install-linux.pl cuda-installer.pl )
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+
+ if use doc; then
+ DOCS+=( doc/pdf/. )
+ HTML_DOCS+=( doc/html/. )
+ fi
+ einstalldocs
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=( bin/cuda-gdb extras/Debugger extras/cuda-gdb-${PV}.src.tar.gz )
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for i in nvvp nsight; do
+ cat > bin/${i} <<- EOF || die
+ #!/usr/bin/env sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${i}/${i} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${i} || die
+ done
+ else
+ use eclipse || remove+=( libnvvp libnsight )
+ remove+=( extras/CUPTI )
+ fi
+
+ for i in "${remove[@]}"; do
+ ebegin "Cleaning ${i}..."
+ rm -rf "${i}" || die
+ eend
+ done
+
+ dodir ${cudadir}
+ mv * "${ED%/}${cudadir}" || die
+
+ cat > "${T}"/99cuda <<- EOF || die
+ PATH=${ecudadir}/bin$(usex profiler ":${ecudadir}/libnvvp" "")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b="${a[${#a[@]}-1]}"
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ! version_is_at_least gcc-version ${b}; then
+ ewarn ""
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn ""
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.0.176.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.0.176.ebuild
new file mode 100644
index 000000000000..3e56d9e5c3a5
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.0.176.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cuda toolchain-funcs unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+DRIVER_PV="384.81"
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/Prod/local_installers/cuda_${PV}_${DRIVER_PV}_linux-run -> cuda_${PV}_${DRIVER_PV}_linux.run"
+SLOT="0/${PV}"
+LICENSE="NVIDIA-CUDA"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-devel/gcc-4.7[cxx]
+ <sys-devel/gcc-7[cxx]
+ >=x11-drivers/nvidia-drivers-384.81[X,uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses:5/5[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="3500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9 5.3 5.4 6.3 6.4"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local i remove=( doc jre run_files install-linux.pl cuda-installer.pl )
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+
+ if use doc; then
+ DOCS+=( doc/pdf/. )
+ HTML_DOCS+=( doc/html/. )
+ fi
+ einstalldocs
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=( bin/cuda-gdb extras/Debugger extras/cuda-gdb-${PV}.src.tar.gz )
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for i in nvvp nsight; do
+ cat > bin/${i} <<- EOF || die
+ #!/usr/bin/env sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${i}/${i} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${i} || die
+ done
+ else
+ use eclipse || remove+=( libnvvp libnsight )
+ remove+=( extras/CUPTI )
+ fi
+
+ for i in "${remove[@]}"; do
+ ebegin "Cleaning ${i}..."
+ rm -rf "${i}" || die
+ eend
+ done
+
+ dodir ${cudadir}
+ mv * "${ED%/}${cudadir}" || die
+
+ cat > "${T}"/99cuda <<- EOF || die
+ PATH=${ecudadir}/bin$(usex profiler ":${ecudadir}/libnvvp" "")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b="${a[${#a[@]}-1]}"
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ! version_is_at_least gcc-version ${b}; then
+ ewarn ""
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn ""
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.1.85.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.1.85.ebuild
new file mode 100644
index 000000000000..e7f7fb9df63d
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.1.85.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cuda toolchain-funcs unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+DRIVER_PV="387.26"
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/Prod/local_installers/cuda_${PV}_${DRIVER_PV}_linux -> cuda_${PV}_${DRIVER_PV}_linux.run"
+
+LICENSE="NVIDIA-CUDA"
+SLOT="0/${PV}"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ <sys-devel/gcc-7[cxx]
+ >=x11-drivers/nvidia-drivers-${DRIVER_PV}[X,uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses:5/5[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="3500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9 5.3 5.4 6.3 6.4"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local i remove=( doc jre run_files install-linux.pl cuda-installer.pl )
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+
+ if use doc; then
+ DOCS+=( doc/pdf/. )
+ HTML_DOCS+=( doc/html/. )
+ fi
+ einstalldocs
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=( bin/cuda-gdb extras/Debugger extras/cuda-gdb-${PV}.src.tar.gz )
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for i in nvvp nsight; do
+ cat > bin/${i} <<- EOF || die
+ #!/usr/bin/env sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${i}/${i} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${i} || die
+ done
+ else
+ use eclipse || remove+=( libnvvp libnsight )
+ remove+=( extras/CUPTI )
+ fi
+
+ for i in "${remove[@]}"; do
+ ebegin "Cleaning ${i}..."
+ rm -rf "${i}" || die
+ eend
+ done
+
+ dodir ${cudadir}
+ mv * "${ED%/}${cudadir}" || die
+
+ cat > "${T}"/99cuda <<- EOF || die
+ PATH=${ecudadir}/bin$(usex profiler ":${ecudadir}/libnvvp" "")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b="${a[${#a[@]}-1]}"
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ! version_is_at_least gcc-version ${b}; then
+ ewarn ""
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn ""
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.2.88.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.2.88.ebuild
new file mode 100644
index 000000000000..de825e179c3c
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-9.2.88.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cuda toolchain-funcs unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+DRIVER_PV="396.26"
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/Prod/local_installers/cuda_${PV}_${DRIVER_PV}_linux -> cuda_${PV}_${DRIVER_PV}_linux.run"
+
+LICENSE="NVIDIA-CUDA"
+SLOT="0/${PV}"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger doc eclipse profiler"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ <sys-devel/gcc-8[cxx]
+ >=x11-drivers/nvidia-drivers-396.24[X,uvm]
+ debugger? (
+ sys-libs/libtermcap-compat
+ sys-libs/ncurses:5/5[tinfo]
+ )
+ eclipse? ( >=virtual/jre-1.6 )
+ profiler? ( >=virtual/jre-1.6 )"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/cuda/*"
+
+CHECKREQS_DISK_BUILD="3500M"
+
+pkg_setup() {
+ # We don't like to run cuda_pkg_setup as it depends on us
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpacker
+ unpacker run_files/cuda-linux*.run
+}
+
+src_prepare() {
+ local cuda_supported_gcc
+
+ cuda_supported_gcc="4.7 4.8 4.9 5.3 5.4 6.3 6.4 7.2 7.3"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local i remove=( doc jre run_files install-linux.pl cuda-installer.pl )
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+
+ if use doc; then
+ DOCS+=( doc/pdf/. )
+ HTML_DOCS+=( doc/html/. )
+ fi
+ einstalldocs
+
+ mv doc/man/man3/{,cuda-}deprecated.3 || die
+ doman doc/man/man*/*
+
+ use debugger || remove+=( bin/cuda-gdb extras/Debugger extras/cuda-gdb-${PV}.src.tar.gz )
+
+ if use profiler; then
+ # hack found in install-linux.pl
+ for i in nvvp nsight; do
+ cat > bin/${i} <<- EOF || die
+ #!/usr/bin/env sh
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
+ ${ecudadir}/lib${i}/${i} -vm ${EPREFIX}/usr/bin/java
+ EOF
+ chmod a+x bin/${i} || die
+ done
+ else
+ use eclipse || remove+=( libnvvp libnsight )
+ remove+=( extras/CUPTI )
+ fi
+
+ for i in "${remove[@]}"; do
+ ebegin "Cleaning ${i}..."
+ rm -rf "${i}" || die
+ eend
+ done
+
+ dodir ${cudadir}
+ mv * "${ED%/}${cudadir}" || die
+
+ cat > "${T}"/99cuda <<- EOF || die
+ PATH=${ecudadir}/bin$(usex profiler ":${ecudadir}/libnvvp" "")
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/lib:${ecudadir}/nvvm/lib64
+ EOF
+ doenvd "${T}"/99cuda
+
+ use profiler && \
+ make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
+
+ dobin "${T}"/cuda-config
+}
+
+pkg_postinst_check() {
+ local a b
+ a="$(version_sort $(cuda-config -s))"; a=( $a )
+ # greatest supported version
+ b="${a[${#a[@]}-1]}"
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ! version_is_at_least gcc-version ${b}; then
+ ewarn ""
+ ewarn "gcc >= ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn ""
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+}