1 |
commit: 147915dabdac4acf567c0caf42aaf2d32062a087 |
2 |
Author: Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de> |
3 |
AuthorDate: Mon May 30 08:47:19 2016 +0000 |
4 |
Commit: Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de> |
5 |
CommitDate: Mon May 30 08:47:19 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=147915da |
7 |
|
8 |
dev-util/nvidia-cuda-sdk: New CUDA 8 Release Candidate |
9 |
|
10 |
Package-Manager: portage-2.2.28 |
11 |
|
12 |
dev-util/nvidia-cuda-sdk/metadata.xml | 16 +++ |
13 |
.../nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.27.ebuild | 153 +++++++++++++++++++++ |
14 |
2 files changed, 169 insertions(+) |
15 |
|
16 |
diff --git a/dev-util/nvidia-cuda-sdk/metadata.xml b/dev-util/nvidia-cuda-sdk/metadata.xml |
17 |
new file mode 100644 |
18 |
index 0000000..9ab4f58 |
19 |
--- /dev/null |
20 |
+++ b/dev-util/nvidia-cuda-sdk/metadata.xml |
21 |
@@ -0,0 +1,16 @@ |
22 |
+<?xml version="1.0" encoding="UTF-8"?> |
23 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
24 |
+<pkgmetadata> |
25 |
+ <maintainer type="project"> |
26 |
+ <email>sci@g.o</email> |
27 |
+ <name>Gentoo Science Project</name> |
28 |
+ </maintainer> |
29 |
+ <use> |
30 |
+ <flag name="opencl"> |
31 |
+ Build OpenCL binaries. |
32 |
+ </flag> |
33 |
+ <flag name="cuda"> |
34 |
+ Build CUDA binaries. |
35 |
+ </flag> |
36 |
+ </use> |
37 |
+</pkgmetadata> |
38 |
|
39 |
diff --git a/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.27.ebuild b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.27.ebuild |
40 |
new file mode 100644 |
41 |
index 0000000..666b04c |
42 |
--- /dev/null |
43 |
+++ b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.27.ebuild |
44 |
@@ -0,0 +1,153 @@ |
45 |
+# Copyright 1999-2016 Gentoo Foundation |
46 |
+# Distributed under the terms of the GNU General Public License v2 |
47 |
+# $Id$ |
48 |
+ |
49 |
+EAPI=6 |
50 |
+ |
51 |
+inherit cuda eutils flag-o-matic portability toolchain-funcs unpacker versionator |
52 |
+ |
53 |
+MYD=$(get_version_component_range 1-2) |
54 |
+ |
55 |
+DESCRIPTION="NVIDIA CUDA Software Development Kit" |
56 |
+HOMEPAGE="https://developer.nvidia.com/cuda-downloads" |
57 |
+CURI="https://developer.nvidia.com/cuda-release-candidate-download" |
58 |
+SRC_URI="cuda_${PV}_linux.run" |
59 |
+ |
60 |
+LICENSE="CUDPP" |
61 |
+SLOT="0" |
62 |
+KEYWORDS="~amd64 ~amd64-linux" |
63 |
+IUSE="debug +doc +examples opencl +cuda" |
64 |
+ |
65 |
+RDEPEND=" |
66 |
+ ~dev-util/nvidia-cuda-toolkit-${PV} |
67 |
+ media-libs/freeglut |
68 |
+ examples? ( |
69 |
+ media-libs/freeimage |
70 |
+ media-libs/glew |
71 |
+ virtual/mpi |
72 |
+ >=x11-drivers/nvidia-drivers-361.42[uvm] |
73 |
+ )" |
74 |
+DEPEND="${RDEPEND}" |
75 |
+ |
76 |
+RESTRICT="test fetch" |
77 |
+ |
78 |
+S=${WORKDIR}/samples |
79 |
+ |
80 |
+QA_EXECSTACK=( |
81 |
+ opt/cuda/sdk/0_Simple/cdpSimplePrint/cdpSimplePrint |
82 |
+ opt/cuda/sdk/0_Simple/cdpSimpleQuicksort/cdpSimpleQuicksort |
83 |
+ opt/cuda/sdk/bin/x86_64/linux/release/cdpSimplePrint |
84 |
+ opt/cuda/sdk/bin/x86_64/linux/release/cdpSimpleQuicksort |
85 |
+ ) |
86 |
+ |
87 |
+pkg_nofetch() { |
88 |
+ einfo "Please download the RHEL 7 \"runfile (local)\" installer" |
89 |
+ einfo " - cuda_${P}_rc_linux.run" |
90 |
+ einfo "from ${CURI} and place it in ${DISTDIR}" |
91 |
+} |
92 |
+ |
93 |
+src_unpack() { |
94 |
+ unpacker |
95 |
+ unpacker run_files/cuda-samples*run |
96 |
+} |
97 |
+ |
98 |
+pkg_setup() { |
99 |
+ if use cuda || use opencl; then |
100 |
+ cuda_pkg_setup |
101 |
+ fi |
102 |
+} |
103 |
+ |
104 |
+src_prepare() { |
105 |
+ export RAWLDFLAGS="$(raw-ldflags)" |
106 |
+# epatch "${FILESDIR}"/${P}-asneeded.patch |
107 |
+ |
108 |
+ sed \ |
109 |
+ -e 's:-O2::g' \ |
110 |
+ -e 's:-O3::g' \ |
111 |
+ -e "/LINK/s:gcc:$(tc-getCC) ${LDFLAGS}:g" \ |
112 |
+ -e "/LINK/s:g++:$(tc-getCXX) ${LDFLAGS}:g" \ |
113 |
+ -e "/CC/s:gcc:$(tc-getCC):g" \ |
114 |
+ -e "/GCC/s:g++:$(tc-getCXX):g" \ |
115 |
+ -e "/NVCC /s|\(:=\).*|:= ${EPREFIX}/opt/cuda/bin/nvcc|g" \ |
116 |
+ -e "/ CFLAGS/s|\(:=\)|\1 ${CFLAGS}|g" \ |
117 |
+ -e "/ CXXFLAGS/s|\(:=\)|\1 ${CXXFLAGS}|g" \ |
118 |
+ -e "/NVCCFLAGS/s|\(:=\)|\1 ${NVCCFLAGS} |g" \ |
119 |
+ -e 's:-Wimplicit::g' \ |
120 |
+ -e "s|../../common/lib/linux/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
121 |
+ -e "s|../../common/lib/\$(OSLOWER)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
122 |
+ -e "s|../../common/lib/\$(OSLOWER)/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
123 |
+ -i $(find . -type f -name "Makefile") || die |
124 |
+ |
125 |
+# -e "/ALL_LDFLAGS/s|:=|:= ${RAWLDFLAGS} |g" \ |
126 |
+ find common/inc/GL -delete || die |
127 |
+ find . -type f -name "*\.a" -delete || die |
128 |
+ |
129 |
+ default |
130 |
+} |
131 |
+ |
132 |
+src_compile() { |
133 |
+ use examples || return |
134 |
+ local myopts verbose="verbose=1" |
135 |
+ use debug && myopts+=" dbg=1" |
136 |
+ export FAKEROOTKEY=1 # Workaround sandbox issue in #462602 |
137 |
+ emake \ |
138 |
+ cuda-install="${EPREFIX}/opt/cuda" \ |
139 |
+ CUDA_PATH="${EPREFIX}/opt/cuda/" \ |
140 |
+ MPI_GCC=10 \ |
141 |
+ ${myopts} ${verbose} |
142 |
+} |
143 |
+ |
144 |
+src_test() { |
145 |
+ local _dir _subdir |
146 |
+ |
147 |
+ addwrite /dev/nvidiactl |
148 |
+ addwrite /dev/nvidia0 |
149 |
+ |
150 |
+ for _dir in {0..9}*; do |
151 |
+ pushd ${_dir} > /dev/null |
152 |
+ for _subdir in *; do |
153 |
+ emake -C ${_subdir} run |
154 |
+ done |
155 |
+ popd > /dev/null |
156 |
+ done |
157 |
+} |
158 |
+ |
159 |
+src_install() { |
160 |
+ local i j f t crap="" |
161 |
+ |
162 |
+ if use doc; then |
163 |
+ ebegin "Installing docs ..." |
164 |
+ treecopy $(find -type f \( -name readme.txt -o -name "*.pdf" \)) "${ED}"/usr/share/doc/${PF}/ |
165 |
+ docompress -x $(find "${ED}"/usr/share/doc/${PF}/ -type f -name readme.txt | sed -e "s:${ED}::") |
166 |
+ eend |
167 |
+ fi |
168 |
+ |
169 |
+ crap+=" *.txt Samples.htm*" |
170 |
+ |
171 |
+ ebegin "Cleaning before installation..." |
172 |
+ for i in ${crap}; do |
173 |
+ if [[ -e ${i} ]]; then |
174 |
+ find ${i} -delete || die |
175 |
+ fi |
176 |
+ done |
177 |
+ find -type f \( -name "*.o" -o -name "*.pdf" -o -name "readme.txt" \) -delete || die |
178 |
+ eend |
179 |
+ |
180 |
+ ebegin "Moving files..." |
181 |
+ for f in $(find .); do |
182 |
+ local t="$(dirname ${f})" |
183 |
+ if [[ ${t/obj\/} != ${t} || ${t##*.} == a ]]; then |
184 |
+ continue |
185 |
+ fi |
186 |
+ if [[ ! -d ${f} ]]; then |
187 |
+ if [[ -x ${f} ]]; then |
188 |
+ exeinto /opt/cuda/sdk/${t} |
189 |
+ doexe ${f} |
190 |
+ else |
191 |
+ insinto /opt/cuda/sdk/${t} |
192 |
+ doins ${f} |
193 |
+ fi |
194 |
+ fi |
195 |
+ done |
196 |
+ eend |
197 |
+} |