1 |
commit: e9d1c234decca24aea25d844e853adec8d98758c |
2 |
Author: Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de> |
3 |
AuthorDate: Thu Jul 10 06:25:14 2014 +0000 |
4 |
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jul 10 08:53:32 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=e9d1c234 |
7 |
|
8 |
dev-util/nvidia-cuda-toolkit: dev-util/nvidia-cuda-toolkit: add version 6.5.11 |
9 |
|
10 |
Package-Manager: portage-2.2.8-r1 |
11 |
|
12 |
--- |
13 |
dev-util/nvidia-cuda-toolkit/ChangeLog | 9 ++ |
14 |
dev-util/nvidia-cuda-toolkit/files/cuda-config.in | 28 ++++ |
15 |
dev-util/nvidia-cuda-toolkit/metadata.xml | 14 ++ |
16 |
.../nvidia-cuda-toolkit-6.5.11.ebuild | 152 +++++++++++++++++++++ |
17 |
4 files changed, 203 insertions(+) |
18 |
|
19 |
diff --git a/dev-util/nvidia-cuda-toolkit/ChangeLog b/dev-util/nvidia-cuda-toolkit/ChangeLog |
20 |
new file mode 100644 |
21 |
index 0000000..d8307ea |
22 |
--- /dev/null |
23 |
+++ b/dev-util/nvidia-cuda-toolkit/ChangeLog |
24 |
@@ -0,0 +1,9 @@ |
25 |
+# ChangeLog for dev-util/nvidia-cuda-toolkit |
26 |
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 |
27 |
+# $Header: $ |
28 |
+ |
29 |
+*nvidia-cuda-toolkit-6.5.11 (10 Jul 2014) |
30 |
+ |
31 |
+ 10 Jul 2014; Marius Brehler <marbre@××××××××××××××.de> +files/cuda-config.in, |
32 |
+ +metadata.xml, +nvidia-cuda-toolkit-6.5.11.ebuild: |
33 |
+ dev-util/nvidia-cuda-toolkit: dev-util/nvidia-cuda-toolkit: add version 6.5.11 |
34 |
|
35 |
diff --git a/dev-util/nvidia-cuda-toolkit/files/cuda-config.in b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in |
36 |
new file mode 100644 |
37 |
index 0000000..ca0d1d7 |
38 |
--- /dev/null |
39 |
+++ b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in |
40 |
@@ -0,0 +1,28 @@ |
41 |
+#!/bin/bash |
42 |
+ |
43 |
+SUPPORT_GCC_VERSIONS_BY_CUDA="CUDA_SUPPORTED_GCC" |
44 |
+ |
45 |
+_print_help() { |
46 |
+ cat <<- EOF |
47 |
+ Usage: |
48 |
+ $(basename $0) [options] |
49 |
+ |
50 |
+ -s | --supported Returns by current CUDA supported gcc versions |
51 |
+ -h | --help Shows this help |
52 |
+ EOF |
53 |
+} |
54 |
+ |
55 |
+case ${1} in |
56 |
+ -s|--supported) |
57 |
+ echo "${SUPPORT_GCC_VERSIONS_BY_CUDA}" |
58 |
+ exit 0 |
59 |
+ ;; |
60 |
+ -h|--help) |
61 |
+ _print_help |
62 |
+ exit -1 |
63 |
+ ;; |
64 |
+ *) |
65 |
+ _print_help |
66 |
+ exit 1 |
67 |
+ ;; |
68 |
+esac |
69 |
|
70 |
diff --git a/dev-util/nvidia-cuda-toolkit/metadata.xml b/dev-util/nvidia-cuda-toolkit/metadata.xml |
71 |
new file mode 100644 |
72 |
index 0000000..e099ba5 |
73 |
--- /dev/null |
74 |
+++ b/dev-util/nvidia-cuda-toolkit/metadata.xml |
75 |
@@ -0,0 +1,14 @@ |
76 |
+<?xml version="1.0" encoding="UTF-8"?> |
77 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
78 |
+<pkgmetadata> |
79 |
+ <herd>sci</herd> |
80 |
+ <use> |
81 |
+ <flag name="profiler"> |
82 |
+ Installs the NVIDIA CUDA visual profiler. |
83 |
+ </flag> |
84 |
+ <flag name="debugger"> |
85 |
+ Installs the CUDA debugger. |
86 |
+ </flag> |
87 |
+ <flag name="eclipse">Install the <pkg>dev-util/eclipse-sdk</pkg> plugins</flag> |
88 |
+ </use> |
89 |
+</pkgmetadata> |
90 |
|
91 |
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.11.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.11.ebuild |
92 |
new file mode 100644 |
93 |
index 0000000..494ee09 |
94 |
--- /dev/null |
95 |
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-6.5.11.ebuild |
96 |
@@ -0,0 +1,152 @@ |
97 |
+# Copyright 1999-2014 Gentoo Foundation |
98 |
+# Distributed under the terms of the GNU General Public License v2 |
99 |
+# $Header: $ |
100 |
+ |
101 |
+EAPI=5 |
102 |
+ |
103 |
+inherit check-reqs cuda unpacker versionator |
104 |
+ |
105 |
+MYD=$(get_version_component_range 1)_$(get_version_component_range 2) |
106 |
+ |
107 |
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)" |
108 |
+HOMEPAGE="http://developer.nvidia.com/cuda" |
109 |
+CURI="https://developer.nvidia.com/rdp/cuda-65-rc-toolkit-download" |
110 |
+SRC_URI=" |
111 |
+ amd64? ( cuda_${PV}_rc_linux_64.run ) |
112 |
+ x86? ( cuda_${PV}_rc_linux_32.run )" |
113 |
+ |
114 |
+SLOT="0/${PV}" |
115 |
+LICENSE="NVIDIA-CUDA" |
116 |
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux" |
117 |
+IUSE="debugger doc eclipse profiler" |
118 |
+ |
119 |
+DEPEND="" |
120 |
+RDEPEND="${DEPEND} |
121 |
+ <sys-devel/gcc-4.9[cxx] |
122 |
+ >=x11-drivers/nvidia-drivers-340.24[uvm] |
123 |
+ debugger? ( |
124 |
+ sys-libs/libtermcap-compat |
125 |
+ sys-libs/ncurses[tinfo] |
126 |
+ ) |
127 |
+ eclipse? ( >=virtual/jre-1.6 ) |
128 |
+ profiler? ( >=virtual/jre-1.6 )" |
129 |
+ |
130 |
+RESTRICT="fetch" |
131 |
+ |
132 |
+pkg_nofetch() { |
133 |
+ einfo "Please download" |
134 |
+ einfo " - cuda_${P}_rc_linux64.run or" |
135 |
+ einfo " - cuda_${P}_rc_linux32.run" |
136 |
+ einfo "from ${CURI} and place it in ${DISTDIR}" |
137 |
+} |
138 |
+ |
139 |
+S="${WORKDIR}" |
140 |
+ |
141 |
+QA_PREBUILT="opt/cuda/*" |
142 |
+ |
143 |
+CHECKREQS_DISK_BUILD="1500M" |
144 |
+ |
145 |
+pkg_setup() { |
146 |
+ # We don't like to run cuda_pkg_setup as it depends on us |
147 |
+ check-reqs_pkg_setup |
148 |
+} |
149 |
+ |
150 |
+src_unpack() { |
151 |
+ unpacker |
152 |
+ unpacker run_files/cuda-linux*.run |
153 |
+} |
154 |
+ |
155 |
+src_prepare() { |
156 |
+ local cuda_supported_gcc |
157 |
+ |
158 |
+ cuda_supported_gcc="4.8" |
159 |
+ |
160 |
+ sed \ |
161 |
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \ |
162 |
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die |
163 |
+} |
164 |
+ |
165 |
+src_install() { |
166 |
+ local i j |
167 |
+ local remove="doc jre run_files install-linux.pl " |
168 |
+ local cudadir=/opt/cuda |
169 |
+ local ecudadir="${EPREFIX}"${cudadir} |
170 |
+ |
171 |
+ # dodoc doc/*txt |
172 |
+ if use doc; then |
173 |
+ dodoc doc/pdf/* |
174 |
+ dohtml -r doc/html/* |
175 |
+ fi |
176 |
+ |
177 |
+ mv doc/man/man3/{,cuda-}deprecated.3 || die |
178 |
+ doman doc/man/man*/* |
179 |
+ |
180 |
+ use debugger || remove+=" bin/cuda-gdb extras/Debugger" |
181 |
+ ( use profiler || use eclipse ) || remove+=" libnsight" |
182 |
+ use amd64 || remove+=" cuda-installer.pl" |
183 |
+ |
184 |
+ if use profiler; then |
185 |
+ # hack found in install-linux.pl |
186 |
+ for j in nvvp nsight; do |
187 |
+ cat > bin/${j} <<- EOF |
188 |
+ #!${EPREFIX}/bin/sh |
189 |
+ LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \ |
190 |
+ UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \ |
191 |
+ ${ecudadir}/lib${j}/${j} -vm ${EPREFIX}/usr/bin/java |
192 |
+ EOF |
193 |
+ chmod a+x bin/${j} |
194 |
+ done |
195 |
+ else |
196 |
+ use eclipse || remove+=" libnvvp" |
197 |
+ remove+=" extras/CUPTI" |
198 |
+ fi |
199 |
+ |
200 |
+ for i in ${remove}; do |
201 |
+ ebegin "Cleaning ${i}..." |
202 |
+ if [[ -e ${i} ]]; then |
203 |
+ find ${i} -delete || die |
204 |
+ eend |
205 |
+ else |
206 |
+ eend $1 |
207 |
+ fi |
208 |
+ done |
209 |
+ |
210 |
+ dodir ${cudadir} |
211 |
+ mv * "${ED}"${cudadir} |
212 |
+ |
213 |
+ cat > "${T}"/99cuda <<- EOF |
214 |
+ PATH=${ecudadir}/bin:${ecudadir}/libnvvp |
215 |
+ ROOTPATH=${ecudadir}/bin |
216 |
+ LDPATH=${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib") |
217 |
+ EOF |
218 |
+ doenvd "${T}"/99cuda |
219 |
+ |
220 |
+ make_wrapper nvprof "${EPREFIX}"${cudadir}/bin/nvprof "." ${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib") |
221 |
+ |
222 |
+ dobin "${T}"/cuda-config |
223 |
+} |
224 |
+ |
225 |
+pkg_postinst_check() { |
226 |
+ local a b |
227 |
+ a="$(version_sort $(cuda-config -s))"; a=( $a ) |
228 |
+ # greatest supported version |
229 |
+ b=${a[${#a[@]}-1]} |
230 |
+ |
231 |
+ # if gcc and if not gcc-version is at least greatesst supported |
232 |
+ if [[ $(tc-getCC) == *gcc* ]] && \ |
233 |
+ ! version_is_at_least $(gcc-version) ${b}; then |
234 |
+ echo |
235 |
+ ewarn "gcc >= ${b} will not work with CUDA" |
236 |
+ ewarn "Make sure you set an earlier version of gcc with gcc-config" |
237 |
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like" |
238 |
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}" |
239 |
+ ewarn "to the nvcc compiler flags" |
240 |
+ echo |
241 |
+ fi |
242 |
+} |
243 |
+ |
244 |
+pkg_postinst() { |
245 |
+ if [[ ${MERGE_TYPE} != binary ]]; then |
246 |
+ pkg_postinst_check |
247 |
+ fi |
248 |
+} |