Gentoo Archives: gentoo-commits

From: Nicolas Bock <nicolasbock@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: dev-util/nvidia-cuda-toolkit/, dev-util/nvidia-cuda-toolkit/files/
Date: Fri, 31 May 2013 15:31:51
Message-Id: 1370000133.6aa523e5bee13e1083cae228d88ded14fd04e787.nicolasbock@gentoo
1 commit: 6aa523e5bee13e1083cae228d88ded14fd04e787
2 Author: Andreas Schäfer <gentryx <AT> gmx <DOT> de>
3 AuthorDate: Fri May 31 11:35:33 2013 +0000
4 Commit: Nicolas Bock <nicolasbock <AT> gmail <DOT> com>
5 CommitDate: Fri May 31 11:35:33 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=6aa523e5
7
8 added cuda toolkit 5.5
9
10 ---
11 dev-util/nvidia-cuda-toolkit/ChangeLog | 186 +++++++++++++++++++++
12 dev-util/nvidia-cuda-toolkit/files/cuda-config.in | 28 ++++
13 .../files/nvidia-cuda-toolkit-2.2-enum_fix.patch | 42 +++++
14 .../files/nvidia-cuda-toolkit-3.0-enum_fix.patch | 54 ++++++
15 .../files/nvidia-cuda-toolkit-3.1-enum_fix.patch | 24 +++
16 dev-util/nvidia-cuda-toolkit/metadata.xml | 19 +++
17 .../nvidia-cuda-toolkit-5.5.11.ebuild | 140 ++++++++++++++++
18 7 files changed, 493 insertions(+)
19
20 diff --git a/dev-util/nvidia-cuda-toolkit/ChangeLog b/dev-util/nvidia-cuda-toolkit/ChangeLog
21 new file mode 100644
22 index 0000000..5dbb67d
23 --- /dev/null
24 +++ b/dev-util/nvidia-cuda-toolkit/ChangeLog
25 @@ -0,0 +1,186 @@
26 +# ChangeLog for dev-util/nvidia-cuda-toolkit
27 +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 +# $Header: /var/cvsroot/gentoo-x86/dev-util/nvidia-cuda-toolkit/ChangeLog,v 1.35 2011/01/06 22:13:37 spock Exp $
29 +
30 + 06 Jan 2011; Michał Januszewski <spock@g.o>
31 + nvidia-cuda-toolkit-3.2.ebuild:
32 + Block old NVIDIA drivers to prevent collision in /usr/include/CL (bug
33 + #348920).
34 +
35 + 12 Dec 2010; Michał Januszewski <spock@g.o>
36 + -nvidia-cuda-toolkit-3.0_beta1.ebuild:
37 + Remove the ebuild for 3.0-beta1.
38 +
39 + 12 Dec 2010; Michał Januszewski <spock@g.o>
40 + nvidia-cuda-toolkit-3.0.ebuild, nvidia-cuda-toolkit-3.1.ebuild,
41 + nvidia-cuda-toolkit-3.2.ebuild:
42 + Install a /usr/include/CL symlink for the NVIDIA OpenCL headers.
43 +
44 +*nvidia-cuda-toolkit-3.2 (01 Dec 2010)
45 +
46 + 01 Dec 2010; Michał Januszewski <spock@g.o>
47 + +nvidia-cuda-toolkit-3.2.ebuild:
48 + Version bump.
49 +
50 + 06 Oct 2010; Samuli Suominen <ssuominen@g.o>
51 + nvidia-cuda-toolkit-3.1.ebuild:
52 + Fix libpng SLOT depend wrt #339796 by "MaratIK".
53 +
54 + 23 Sep 2010; Diego E. Pettenò <flameeyes@g.o>
55 + nvidia-cuda-toolkit-2.2-r3.ebuild, nvidia-cuda-toolkit-2.3.ebuild,
56 + nvidia-cuda-toolkit-3.0_beta1.ebuild, nvidia-cuda-toolkit-3.0.ebuild,
57 + nvidia-cuda-toolkit-3.1.ebuild:
58 + Remove wrong restrictions. Use the proper QA_* variables, not blanket
59 + restrictions.
60 +
61 + 05 Jul 2010; Michał Januszewski <spock@g.o>
62 + nvidia-cuda-toolkit-3.0.ebuild, nvidia-cuda-toolkit-3.1.ebuild:
63 + Add env-update calls so that the CUDA libraries are picked up by other
64 + ebuilds and apps (bug #320853).
65 +
66 +*nvidia-cuda-toolkit-3.1 (03 Jul 2010)
67 +
68 + 03 Jul 2010; Michał Januszewski <spock@g.o>
69 + +nvidia-cuda-toolkit-3.1.ebuild,
70 + +files/nvidia-cuda-toolkit-3.1-enum_fix.patch:
71 + Version bump (bug #325831). Thanks to Clemens Rabe for the updated ebuild.
72 +
73 + 24 Jun 2010; Michał Januszewski <spock@g.o>
74 + nvidia-cuda-toolkit-3.0.ebuild:
75 + Add desktop entries for cudaprof and openclprof (no icons so far, as
76 + NVIDIA does not provide any) (bug #323995).
77 +
78 + 24 Jun 2010; Michał Januszewski <spock@g.o>
79 + -nvidia-cuda-toolkit-2.0.ebuild, -nvidia-cuda-toolkit-2.1.ebuild,
80 + -nvidia-cuda-toolkit-2.2-r2.ebuild:
81 + Remove old ebuilds.
82 +
83 + 24 Jun 2010; Michał Januszewski <spock@g.o>
84 + nvidia-cuda-toolkit-3.0.ebuild:
85 + Add a missing dependency on libpng-1.2 (bug #323985).
86 +
87 + 23 May 2010; Pacho Ramos <pacho@g.o>
88 + nvidia-cuda-toolkit-2.3.ebuild:
89 + stable amd64, bug 313067
90 +
91 + 10 May 2010; Pawel Hajdan jr <phajdan.jr@g.o>
92 + nvidia-cuda-toolkit-2.3.ebuild:
93 + x86 stable wrt bug #313067
94 +
95 + 01 Apr 2010; Michał Januszewski <spock@g.o>
96 + nvidia-cuda-toolkit-3.0.ebuild,
97 + +files/nvidia-cuda-toolkit-3.0-enum_fix.patch:
98 + Add an enum fix for gcc pedantic mode (bug #311657), fix a typo in
99 + src_install.
100 +
101 + 25 Mar 2010; Michał Januszewski <spock@g.o>
102 + nvidia-cuda-toolkit-3.0.ebuild:
103 + Add a dep on >=sys-devel/binutils-2.20 (bug #279523).
104 +
105 +*nvidia-cuda-toolkit-3.0 (21 Mar 2010)
106 +
107 + 21 Mar 2010; Michał Januszewski <spock@g.o>
108 + +nvidia-cuda-toolkit-3.0.ebuild, metadata.xml:
109 + Version bump.
110 +
111 + 20 Jan 2010; Michał Januszewski <spock@g.o>
112 + nvidia-cuda-toolkit-3.0_beta1.ebuild:
113 + Update the info about the required version of nvidia-drivers (bug
114 + #301101).
115 +
116 +*nvidia-cuda-toolkit-3.0_beta1 (08 Jan 2010)
117 +
118 + 08 Jan 2010; Michał Januszewski <spock@g.o>
119 + +nvidia-cuda-toolkit-3.0_beta1.ebuild:
120 + Version bump (bug #298914).
121 +
122 + 01 Dec 2009; Christian Faulhammer <fauli@g.o>
123 + nvidia-cuda-toolkit-2.2-r2.ebuild:
124 + stable x86, bug 293641
125 +
126 + 25 Sep 2009; Michał Januszewski <spock@g.o>
127 + nvidia-cuda-toolkit-2.1.ebuild:
128 + Add a note that 2.1 should never become stable.
129 +
130 +*nvidia-cuda-toolkit-2.2-r3 (09 Aug 2009)
131 +
132 + 09 Aug 2009; Michał Januszewski <spock@g.o>
133 + +nvidia-cuda-toolkit-2.2-r3.ebuild:
134 + Use older binaries to maintain compatiblity with gcc3 (bug #279523).
135 +
136 + 09 Aug 2009; Michał Januszewski <spock@g.o>
137 + nvidia-cuda-toolkit-2.3.ebuild:
138 + Add a dep on gcc4 (required for ABI compatibility).
139 +
140 + 07 Aug 2009; <chainsaw@g.o> nvidia-cuda-toolkit-2.0.ebuild:
141 + Marked stable as requested by Michal "Spock" Januszewski
142 + <spock@g.o> in bug #276538. Arch-tested by Víctor "VQuicksilver"
143 + Enríquez using K3d & cuda-profiler.
144 +
145 + 29 Jul 2009; Michał Januszewski <spock@g.o>
146 + -nvidia-cuda-toolkit-2.2.ebuild, -nvidia-cuda-toolkit-2.2-r1.ebuild:
147 + Remove old ebuilds.
148 +
149 +*nvidia-cuda-toolkit-2.3 (29 Jul 2009)
150 +
151 + 29 Jul 2009; Michał Januszewski <spock@g.o>
152 + +nvidia-cuda-toolkit-2.3.ebuild:
153 + Version bump.
154 +
155 + 19 Jul 2009; Michał Januszewski <spock@g.o>
156 + nvidia-cuda-toolkit-2.0.ebuild, nvidia-cuda-toolkit-2.1.ebuild,
157 + nvidia-cuda-toolkit-2.2.ebuild, nvidia-cuda-toolkit-2.2-r1.ebuild,
158 + nvidia-cuda-toolkit-2.2-r2.ebuild:
159 + Add a warning about gcc-4.4 not being supported by the NVIDIA CUDA
160 + compiler (bug #278210)
161 +
162 + 08 Jul 2009; Christian Faulhammer <fauli@g.o>
163 + nvidia-cuda-toolkit-2.0.ebuild:
164 + stable x86, bug 276538
165 +
166 +*nvidia-cuda-toolkit-2.2-r2 (05 Jul 2009)
167 +
168 + 05 Jul 2009; Michał Januszewski <spock@g.o>
169 + +nvidia-cuda-toolkit-2.2-r2.ebuild, metadata.xml:
170 + Add support for the CUDA debugger (bug #274100).
171 +
172 + 05 Jul 2009; Michał Januszewski <spock@g.o>
173 + nvidia-cuda-toolkit-2.2-r1.ebuild:
174 + Use system Qt4 libraries on x86. Restrict binchecks as this is a binary
175 + package.
176 +
177 +*nvidia-cuda-toolkit-2.2-r1 (19 Jun 2009)
178 +
179 + 19 Jun 2009; Michał Januszewski <spock@g.o>
180 + +nvidia-cuda-toolkit-2.2-r1.ebuild,
181 + +files/nvidia-cuda-toolkit-2.2-enum_fix.patch, metadata.xml:
182 + Add support for the CUDA visual profiler (bug #274095).
183 +
184 +*nvidia-cuda-toolkit-2.2 (16 May 2009)
185 +
186 + 16 May 2009; Michał Januszewski <spock@g.o>
187 + +nvidia-cuda-toolkit-2.2.ebuild:
188 + Version bump (bug #269894).
189 +
190 + 06 May 2009; Michał Januszewski <spock@g.o>
191 + nvidia-cuda-toolkit-2.1.ebuild:
192 + Add a temporary workaround for bug #266069.
193 +
194 + 13 Apr 2009; Michał Januszewski <spock@g.o>
195 + nvidia-cuda-toolkit-2.1.ebuild:
196 + Properly override the lib directory (bug #265722, patch by Georgi
197 + Georgiev).
198 +
199 +*nvidia-cuda-toolkit-2.1 (21 Jan 2009)
200 +
201 + 21 Jan 2009; Michał Januszewski <spock@g.o>
202 + +nvidia-cuda-toolkit-2.1.ebuild:
203 + Version bump (bug #255128).
204 +
205 +*nvidia-cuda-toolkit-2.0 (18 Oct 2008)
206 +
207 + 18 Oct 2008; Michał Januszewski <spock@g.o> +metadata.xml,
208 + +nvidia-cuda-toolkit-2.0.ebuild:
209 + Initial commit. Thanks to everyone participating in bug #167685 for the
210 + previous versions of the ebuild.
211 +
212
213 diff --git a/dev-util/nvidia-cuda-toolkit/files/cuda-config.in b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in
214 new file mode 100644
215 index 0000000..ca0d1d7
216 --- /dev/null
217 +++ b/dev-util/nvidia-cuda-toolkit/files/cuda-config.in
218 @@ -0,0 +1,28 @@
219 +#!/bin/bash
220 +
221 +SUPPORT_GCC_VERSIONS_BY_CUDA="CUDA_SUPPORTED_GCC"
222 +
223 +_print_help() {
224 + cat <<- EOF
225 + Usage:
226 + $(basename $0) [options]
227 +
228 + -s | --supported Returns by current CUDA supported gcc versions
229 + -h | --help Shows this help
230 + EOF
231 +}
232 +
233 +case ${1} in
234 + -s|--supported)
235 + echo "${SUPPORT_GCC_VERSIONS_BY_CUDA}"
236 + exit 0
237 + ;;
238 + -h|--help)
239 + _print_help
240 + exit -1
241 + ;;
242 + *)
243 + _print_help
244 + exit 1
245 + ;;
246 +esac
247
248 diff --git a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-2.2-enum_fix.patch b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-2.2-enum_fix.patch
249 new file mode 100644
250 index 0000000..2155672
251 --- /dev/null
252 +++ b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-2.2-enum_fix.patch
253 @@ -0,0 +1,42 @@
254 +diff -Naurp cudatoolkit_orig/include/cuda.h cudatoolkit/include/cuda.h
255 +--- cudatoolkit_orig/include/cuda.h 2009-04-13 10:39:12.000000000 +0200
256 ++++ cudatoolkit/include/cuda.h 2009-05-09 17:28:25.000000000 +0200
257 +@@ -86,7 +86,7 @@ typedef enum CUctx_flags_enum {
258 + CU_CTX_SCHED_MASK = 0x3,
259 + CU_CTX_BLOCKING_SYNC = 4, ///< Use blocking synchronization
260 + CU_CTX_MAP_HOST = 8, ///< Support mapped pinned allocations
261 +- CU_CTX_FLAGS_MASK = 0xf,
262 ++ CU_CTX_FLAGS_MASK = 0xf
263 + } CUctx_flags;
264 +
265 + /**
266 +@@ -94,7 +94,7 @@ typedef enum CUctx_flags_enum {
267 + */
268 + typedef enum CUevent_flags_enum {
269 + CU_EVENT_DEFAULT = 0, ///< Default event flag
270 +- CU_EVENT_BLOCKING_SYNC = 1, ///< Event uses blocking synchronization
271 ++ CU_EVENT_BLOCKING_SYNC = 1 ///< Event uses blocking synchronization
272 + } CUevent_flags;
273 +
274 + /**
275 +@@ -117,7 +117,7 @@ typedef enum CUarray_format_enum {
276 + typedef enum CUaddress_mode_enum {
277 + CU_TR_ADDRESS_MODE_WRAP = 0, ///< Wrapping address mode
278 + CU_TR_ADDRESS_MODE_CLAMP = 1, ///< Clamp to edge address mode
279 +- CU_TR_ADDRESS_MODE_MIRROR = 2, ///< Mirror address mode
280 ++ CU_TR_ADDRESS_MODE_MIRROR = 2 ///< Mirror address mode
281 + } CUaddress_mode;
282 +
283 + /**
284 +diff -Naurp cudatoolkit_orig/include/driver_types.h cudatoolkit/include/driver_types.h
285 +--- cudatoolkit_orig/include/driver_types.h 2009-04-13 10:39:06.000000000 +0200
286 ++++ cudatoolkit/include/driver_types.h 2009-05-09 17:31:17.000000000 +0200
287 +@@ -140,7 +140,7 @@ enum cudaChannelFormatKind
288 + cudaChannelFormatKindSigned = 0, ///< Signed channel format
289 + cudaChannelFormatKindUnsigned = 1, ///< Unsigned channel format
290 + cudaChannelFormatKindFloat = 2, ///< Float channel format
291 +- cudaChannelFormatKindNone = 3, ///< No channel format
292 ++ cudaChannelFormatKindNone = 3 ///< No channel format
293 + };
294 +
295 + /**
296
297 diff --git a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.0-enum_fix.patch b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.0-enum_fix.patch
298 new file mode 100644
299 index 0000000..ce11b49
300 --- /dev/null
301 +++ b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.0-enum_fix.patch
302 @@ -0,0 +1,54 @@
303 +diff -Naur cuda.orig/include/cudaGL.h cuda/include/cudaGL.h
304 +--- cuda.orig/include/cudaGL.h 2010-03-21 13:19:57.000000000 +0100
305 ++++ cuda/include/cudaGL.h 2010-03-21 13:46:29.000000000 +0100
306 +@@ -59,7 +59,7 @@
307 + typedef enum CUGLmap_flags_enum {
308 + CU_GL_MAP_RESOURCE_FLAGS_NONE = 0x00,
309 + CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01,
310 +- CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02,
311 ++ CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02
312 + } CUGLmap_flags;
313 +
314 + CUresult CUDAAPI cuGLInit(void);
315 +diff -Naur cuda.orig/include/cuda_gl_interop.h cuda/include/cuda_gl_interop.h
316 +--- cuda.orig/include/cuda_gl_interop.h 2010-03-21 13:19:57.000000000 +0100
317 ++++ cuda/include/cuda_gl_interop.h 2010-03-21 13:28:07.000000000 +0100
318 +@@ -82,7 +82,7 @@
319 + {
320 + cudaGLMapFlagsNone = 0, ///< Default; Assume resource can be read/written
321 + cudaGLMapFlagsReadOnly = 1, ///< CUDA kernels will not write to this resource
322 +- cudaGLMapFlagsWriteDiscard = 2, ///< CUDA kernels will only write to and will not read from this resource
323 ++ cudaGLMapFlagsWriteDiscard = 2 ///< CUDA kernels will only write to and will not read from this resource
324 + };
325 +
326 + extern __host__ cudaError_t CUDARTAPI cudaGLRegisterBufferObject(GLuint bufObj);
327 +diff -Naur cuda.orig/include/driver_types.h cuda/include/driver_types.h
328 +--- cuda.orig/include/driver_types.h 2010-03-21 13:19:57.000000000 +0100
329 ++++ cuda/include/driver_types.h 2010-03-21 13:26:09.000000000 +0100
330 +@@ -244,7 +244,7 @@
331 + /*DEVICE_BUILTIN*/
332 + enum cudaGraphicsRegisterFlags
333 + {
334 +- cudaGraphicsRegisterFlagsNone = 0, ///< Default
335 ++ cudaGraphicsRegisterFlagsNone = 0 ///< Default
336 + };
337 +
338 + /**
339 +@@ -255,7 +255,7 @@
340 + {
341 + cudaGraphicsMapFlagsNone = 0, ///< Default; Assume resource can be read/written
342 + cudaGraphicsMapFlagsReadOnly = 1, ///< CUDA will not write to this resource
343 +- cudaGraphicsMapFlagsWriteDiscard = 2, ///< CUDA will only write to and will not read from this resource
344 ++ cudaGraphicsMapFlagsWriteDiscard = 2 ///< CUDA will only write to and will not read from this resource
345 + };
346 +
347 + /**
348 +@@ -268,7 +268,7 @@
349 + cudaGraphicsCubeFacePositiveY = 0x02, ///< Positive Y face of cubemap
350 + cudaGraphicsCubeFaceNegativeY = 0x03, ///< Negative Y face of cubemap
351 + cudaGraphicsCubeFacePositiveZ = 0x04, ///< Positive Z face of cubemap
352 +- cudaGraphicsCubeFaceNegativeZ = 0x05, ///< Negative Z face of cubemap
353 ++ cudaGraphicsCubeFaceNegativeZ = 0x05 ///< Negative Z face of cubemap
354 + };
355 +
356 + /**
357
358 diff --git a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.1-enum_fix.patch b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.1-enum_fix.patch
359 new file mode 100644
360 index 0000000..698d2c7
361 --- /dev/null
362 +++ b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-3.1-enum_fix.patch
363 @@ -0,0 +1,24 @@
364 +diff -Naur include.orig/cudaGL.h include/cudaGL.h
365 +--- include.orig/cudaGL.h 2010-04-28 09:31:16.000000000 +0200
366 ++++ include/cudaGL.h 2010-05-21 00:04:47.000000000 +0200
367 +@@ -59,7 +59,7 @@
368 + typedef enum CUGLmap_flags_enum {
369 + CU_GL_MAP_RESOURCE_FLAGS_NONE = 0x00,
370 + CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01,
371 +- CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02,
372 ++ CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02
373 + } CUGLmap_flags;
374 +
375 + CUresult CUDAAPI cuGLInit(void);
376 +diff -Naur include.orig/cuda_gl_interop.h include/cuda_gl_interop.h
377 +--- include.orig/cuda_gl_interop.h 2010-04-28 09:30:46.000000000 +0200
378 ++++ include/cuda_gl_interop.h 2010-05-21 00:05:08.000000000 +0200
379 +@@ -83,7 +83,7 @@
380 + {
381 + cudaGLMapFlagsNone = 0, ///< Default; Assume resource can be read/written
382 + cudaGLMapFlagsReadOnly = 1, ///< CUDA kernels will not write to this resource
383 +- cudaGLMapFlagsWriteDiscard = 2, ///< CUDA kernels will only write to and will not read from this resource
384 ++ cudaGLMapFlagsWriteDiscard = 2 ///< CUDA kernels will only write to and will not read from this resource
385 + };
386 +
387 + extern __host__ cudaError_t CUDARTAPI cudaGLRegisterBufferObject(GLuint bufObj);
388
389 diff --git a/dev-util/nvidia-cuda-toolkit/metadata.xml b/dev-util/nvidia-cuda-toolkit/metadata.xml
390 new file mode 100644
391 index 0000000..77d82a5
392 --- /dev/null
393 +++ b/dev-util/nvidia-cuda-toolkit/metadata.xml
394 @@ -0,0 +1,19 @@
395 +<?xml version="1.0" encoding="UTF-8"?>
396 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
397 +<pkgmetadata>
398 + <herd>cluster</herd>
399 + <maintainer>
400 + <email>spock@g.o</email>
401 + <name>Michał Januszewski</name>
402 + </maintainer>
403 + <use>
404 + <flag name='profiler'>
405 + Installs the NVIDIA CUDA visual profiler.
406 + </flag>
407 + <flag name="debugger">
408 + Installs the CUDA debugger.
409 + </flag>
410 + <flag name="eclipse">Install the <pkg>dev-util/eclipse-sdk</pkg> plugins</flag>
411 + </use>
412 +</pkgmetadata>
413 +
414
415 diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-5.5.11.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-5.5.11.ebuild
416 new file mode 100644
417 index 0000000..aab15a1
418 --- /dev/null
419 +++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-5.5.11.ebuild
420 @@ -0,0 +1,140 @@
421 +# Copyright 1999-2013 Gentoo Foundation
422 +# Distributed under the terms of the GNU General Public License v2
423 +# $Header: /var/cvsroot/gentoo-x86/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-5.0.35-r4.ebuild,v 1.1 2013/04/20 15:04:03 zerochaos Exp $
424 +
425 +EAPI=5
426 +
427 +inherit cuda unpacker versionator
428 +
429 +MYD=$(get_version_component_range 1)_$(get_version_component_range 2)
430 +
431 +DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
432 +HOMEPAGE="http://developer.nvidia.com/cuda"
433 +CURI="http://developer.download.nvidia.com/compute/cuda/${MYD}/rel-update-1/installers/"
434 +SRC_URI=""
435 +SRC_URI="
436 + amd64? ( ${CURI}/cuda-${PV}_linux_64.run )
437 + x86? ( ${CURI}/cuda-${PV}-linux_32.run )"
438 +
439 +SLOT="0/${PV}"
440 +LICENSE="NVIDIA-r1"
441 +KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
442 +IUSE="debugger doc eclipse profiler"
443 +
444 +DEPEND=""
445 +RDEPEND="${DEPEND}
446 + sys-devel/gcc:4.6[cxx]
447 + !<=x11-drivers/nvidia-drivers-270.41
448 + debugger? (
449 + sys-libs/libtermcap-compat
450 + sys-libs/ncurses[tinfo]
451 + )
452 + eclipse? ( >=virtual/jre-1.6 )
453 + profiler? ( >=virtual/jre-1.6 )"
454 +
455 +S="${WORKDIR}"
456 +
457 +QA_PREBUILT="opt/cuda/*"
458 +
459 +pkg_nofetch() {
460 + einfo "NVIDIA doesn't provide direct download links yet. If you're a"
461 + einfo "registered developer, then please download ${ARCHIVE} from"
462 + einfo "https://developer.nvidia.com/rdp/cuda-55-release-candidate-installers"
463 +}
464 +
465 +pkg_setup() {
466 + # We don't like to run cuda_pkg_setup as it depends on us
467 + :
468 +}
469 +
470 +src_unpack() {
471 + unpacker
472 + unpacker run_files/cuda*run
473 +}
474 +
475 +src_prepare() {
476 + local cuda_supported_gcc
477 +
478 + cuda_supported_gcc="4.6"
479 +
480 + sed \
481 + -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
482 + "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
483 +
484 +}
485 +
486 +src_install() {
487 + local i j
488 + local remove="doc jre run_files install-linux.pl "
489 + local cudadir=/opt/cuda
490 + local ecudadir="${EPREFIX}"${cudadir}
491 +
492 + # dodoc doc/*txt
493 + if use doc; then
494 + dodoc doc/pdf/*
495 + dohtml -r doc/html/*
496 + fi
497 +
498 + use debugger || remove+=" bin/cuda-gdb extras/Debugger"
499 + ( use profiler || use eclipse ) || remove+=" libnsight"
500 + use amd64 || remove+=" cuda-installer.pl"
501 +
502 + if use profiler; then
503 + # hack found in install-linux.pl
504 + for j in nvvp nsight; do
505 + cat > bin/${j} <<- EOF
506 + #!${EPREFIX}/bin/sh
507 + LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:${ecudadir}/lib:${ecudadir}/lib64 \
508 + UBUNTU_MENUPROXY=0 LIBOVERLAY_SCROLLBAR=0 \
509 + ${ecudadir}/lib${j}/${j} -vm ${EPREFIX}/usr/bin/java
510 + EOF
511 + chmod a+x bin/${j}
512 + done
513 + else
514 + use eclipse || remove+=" libnvvp"
515 + remove+=" extras/CUPTI"
516 + fi
517 +
518 + for i in ${remove}; do
519 + ebegin "Cleaning ${i}..."
520 + if [[ -e ${i} ]]; then
521 + find ${i} -delete || die
522 + eend
523 + else
524 + eend $1
525 + fi
526 + done
527 +
528 + dodir ${cudadir}
529 + mv * "${ED}"${cudadir}
530 +
531 + cat > "${T}"/99cuda <<- EOF
532 + PATH=${ecudadir}/bin:${ecudadir}/libnvvp
533 + ROOTPATH=${ecudadir}/bin
534 + LDPATH=${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
535 + EOF
536 + doenvd "${T}"/99cuda
537 +
538 + make_wrapper nvprof "${EPREFIX}"${cudadir}/bin/nvprof "." ${ecudadir}/lib$(use amd64 && echo "64:${ecudadir}/lib")
539 +
540 + dobin "${T}"/cuda-config
541 +}
542 +
543 +pkg_postinst() {
544 + local a b
545 + a="$(version_sort $(cuda-config -s))"; a=( $a )
546 + # greatest supported version
547 + b=${a[${#a[@]}-1]}
548 +
549 + # if gcc and if not gcc-version is at least greatesst supported
550 + if [[ $(tc-getCC) == *gcc* ]] && \
551 + ! version_is_at_least $(gcc-version) ${b}; then
552 + echo
553 + ewarn "gcc >= ${b} will not work with CUDA"
554 + ewarn "Make sure you set an earlier version of gcc with gcc-config"
555 + ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
556 + ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
557 + ewarn "to the nvcc compiler flags"
558 + echo
559 + fi
560 +}