public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [gentoo-commits] proj/sci:master commit in: dev-util/nvidia-cuda-toolkit/, dev-util/nvidia-cuda-toolkit/files/
@ 2016-05-30  8:52 99% Marius Brehler
  0 siblings, 0 replies; 1+ results
From: Marius Brehler @ 2016-05-30  8:52 UTC (permalink / raw
  To: gentoo-commits

commit:     3e04fe220a83ff6b2d7e68ead0707bc5e0566508
Author:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
AuthorDate: Mon May 30 08:46:55 2016 +0000
Commit:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
CommitDate: Mon May 30 08:46:55 2016 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=3e04fe22

dev-util/nvidia-cuda-toolkit: New CUDA 8 Release Candidate

Package-Manager: portage-2.2.28

 dev-util/nvidia-cuda-toolkit/files/cuda-config.in  |  28 ++++
 dev-util/nvidia-cuda-toolkit/metadata.xml          |  17 +++
 .../nvidia-cuda-toolkit-8.0.27.ebuild              | 153 +++++++++++++++++++++
 3 files changed, 198 insertions(+)

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 0000000..ca0d1d7
--- /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 0000000..ad6a397
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/metadata.xml
@@ -0,0 +1,17 @@
+<?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-8.0.27.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.27.ebuild
new file mode 100644
index 0000000..df53170
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-8.0.27.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit check-reqs cuda unpacker versionator
+
+MYD=$(get_version_component_range 1-2)
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-downloads"
+CURI="https://developer.nvidia.com/cuda-release-candidate-download"
+SRC_URI="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]
+	>=x11-drivers/nvidia-drivers-361.42[uvm]
+	debugger? (
+		sys-libs/libtermcap-compat
+		sys-libs/ncurses[tinfo]
+		)
+	eclipse? ( >=virtual/jre-1.6 )
+	profiler? ( >=virtual/jre-1.6 )"
+RESTRICT="fetch"
+
+pkg_nofetch() {
+	einfo "Please download the RHEL 7 \"runfile (local)\" installer"
+	einfo "  - cuda_${P}_rc_linux.run"
+	einfo "from ${CURI} and place it in ${DISTDIR}"
+}
+
+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 5.3"
+
+	sed \
+		-e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+		"${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+	default
+}
+
+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
+}


^ permalink raw reply related	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-05-30  8:52 99% [gentoo-commits] proj/sci:master commit in: dev-util/nvidia-cuda-toolkit/, dev-util/nvidia-cuda-toolkit/files/ Marius Brehler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox