Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/nvidia-cuda-sdk/
Date: Wed, 26 Oct 2016 21:32:44
Message-Id: 1477517545.80350501bad9472202b8c0c947e624b820df7047.soap@gentoo
1 commit: 80350501bad9472202b8c0c947e624b820df7047
2 Author: Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
3 AuthorDate: Wed Oct 12 11:11:32 2016 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 26 21:32:25 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80350501
7
8 dev-util/nvidia-cuda-sdk: Version bump to 8.0.44
9
10 Gentoo-bug: 595640
11
12 Package-Manager: portage-2.2.28
13 Closes: https://github.com/gentoo/gentoo/pull/2445
14
15 Signed-off-by: David Seifert <soap <AT> gentoo.org>
16
17 dev-util/nvidia-cuda-sdk/Manifest | 1 +
18 .../nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.44.ebuild | 144 +++++++++++++++++++++
19 2 files changed, 145 insertions(+)
20
21 diff --git a/dev-util/nvidia-cuda-sdk/Manifest b/dev-util/nvidia-cuda-sdk/Manifest
22 index c9fc55c..ed2b862 100644
23 --- a/dev-util/nvidia-cuda-sdk/Manifest
24 +++ b/dev-util/nvidia-cuda-sdk/Manifest
25 @@ -1,3 +1,4 @@
26 DIST cuda_6.5.14_linux_32.run 76788277 SHA256 63fa1fe5d013e9944d6c1a3a71768fa4dcb35d6a157c1b06765bb56198c205c5 SHA512 89649ee0f4543b37037b7c8f5ed0b8bd502512afb4d93e3158b3df4786123be05a5288986b5abbfe15c14eb010777d2527b715225bea96a354a898c34e4a2fcc WHIRLPOOL c1094dd84883ef08d91c6eec3634a285496418db1e76b70f449f833dcb01069a620af504b6df7fe2752559688ed1f60f4adda8c97d849d648cba1be0f8196954
27 DIST cuda_6.5.14_linux_64.run 972320904 SHA256 f3e527f34f317314fe8fcd8c85f10560729069298c0f73105ba89225db69da48 SHA512 fecca731b86955f5bc7b09d88b02951e3ee5d4b1f1cf5f92658227a029b87cd35d6ac22956a5fa0afe62dcdc57191f1d12bb08c9f7cc05128727cd8455947b1e WHIRLPOOL 0b890771dcca352168fed1b1df9b29504b03f8c29da59cec29914c541283998edf65f5ca6a41362143a2d5d7359822b036894f563c56b39583b1ac4c64e35180
28 DIST cuda_7.5.18_linux.run 1195424633 SHA256 08411d536741075131a1858a68615b8b73c51988e616e83b835e4632eea75eec SHA512 97459dfd124060200f1c43f763e5bce0bea53e35ed4bef72bee6c8ba1c04ecffb8695af11755443513316f91fdb5cb4d35662f7b87bca7e3de85d562d4e49363 WHIRLPOOL 59d186f5e9176db25e5991e8088417ac778953c3ed2f0dcef034968f7ea695c5d4cfea81759ac0f7f1290c3842d9d0339b5b74d2d90ec8b333135aa1b986ca10
29 +DIST cuda_8.0.44_linux.run 1457082926 SHA256 64dc4ab867261a0d690735c46d7cc9fc60d989da0d69dc04d1714e409cacbdf0 SHA512 1bf9d8e6b853c2a971b8d908a043adc5b11ec7033faed04a773c42680882753f98bc33b46f6b301c24c0f780f74bc237dce5766fc857f1a905e6c1f200728d86 WHIRLPOOL e90fa2088cd70aef2794c1ce2db126d6186bc3c44d14c1cf7cb4a66f889cbb4799485d1d71ab045e2dfaed9bfabcea224ca04b7f97e9bce061ac9fbd31c62fdd
30
31 diff --git a/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.44.ebuild b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.44.ebuild
32 new file mode 100644
33 index 00000000..c1d14f7
34 --- /dev/null
35 +++ b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-8.0.44.ebuild
36 @@ -0,0 +1,144 @@
37 +# Copyright 1999-2016 Gentoo Foundation
38 +# Distributed under the terms of the GNU General Public License v2
39 +# $Id$
40 +
41 +EAPI=6
42 +
43 +inherit cuda eutils flag-o-matic portability toolchain-funcs unpacker versionator
44 +
45 +MYD=$(get_version_component_range 1-2)
46 +
47 +DESCRIPTION="NVIDIA CUDA Software Development Kit"
48 +HOMEPAGE="https://developer.nvidia.com/cuda-zone"
49 +SRC_URI="https://developer.nvidia.com/compute/cuda/${MYD}/prod/local_installers/cuda_${PV}_linux-run -> cuda_${PV}_linux.run"
50 +
51 +LICENSE="CUDPP"
52 +SLOT="0"
53 +KEYWORDS="~amd64 ~amd64-linux"
54 +IUSE="+cuda debug +doc +examples opencl"
55 +
56 +RDEPEND="
57 + ~dev-util/nvidia-cuda-toolkit-${PV}
58 + media-libs/freeglut
59 + examples? (
60 + media-libs/freeimage
61 + media-libs/glew:=
62 + virtual/mpi
63 + >=x11-drivers/nvidia-drivers-367.44[uvm]
64 + )"
65 +DEPEND="${RDEPEND}"
66 +
67 +RESTRICT="test"
68 +
69 +S=${WORKDIR}/samples
70 +
71 +QA_EXECSTACK=(
72 + opt/cuda/sdk/0_Simple/cdpSimplePrint/cdpSimplePrint
73 + opt/cuda/sdk/0_Simple/cdpSimpleQuicksort/cdpSimpleQuicksort
74 + opt/cuda/sdk/bin/x86_64/linux/release/cdpSimplePrint
75 + opt/cuda/sdk/bin/x86_64/linux/release/cdpSimpleQuicksort
76 + )
77 +
78 +src_unpack() {
79 + # We first need to unpack the cuda_${PV}_linux.run file
80 + # which includes the cuda-samples*run file.
81 + unpacker
82 + unpacker run_files/cuda-samples*run
83 +}
84 +
85 +pkg_setup() {
86 + if use cuda || use opencl; then
87 + cuda_pkg_setup
88 + fi
89 +}
90 +
91 +src_prepare() {
92 + export RAWLDFLAGS="$(raw-ldflags)"
93 +# epatch "${FILESDIR}"/${P}-asneeded.patch
94 +
95 + local file
96 + while IFS="" read -d $'\0' -r file; do
97 + sed \
98 + -e 's:-O[23]::g' \
99 + -e "/LINK/s:gcc:$(tc-getCC) ${LDFLAGS}:g" \
100 + -e "/LINK/s:g++:$(tc-getCXX) ${LDFLAGS}:g" \
101 + -e "/CC/s:gcc:$(tc-getCC):g" \
102 + -e "/GCC/s:g++:$(tc-getCXX):g" \
103 + -e "/NVCC /s|\(:=\).*|:= ${EPREFIX}/opt/cuda/bin/nvcc|g" \
104 + -e "/ CFLAGS/s|\(:=\)|\1 ${CFLAGS}|g" \
105 + -e "/ CXXFLAGS/s|\(:=\)|\1 ${CXXFLAGS}|g" \
106 + -e "/NVCCFLAGS/s|\(:=\)|\1 ${NVCCFLAGS} |g" \
107 + -e 's:-Wimplicit::g' \
108 + -e "s|../../common/lib/linux/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \
109 + -e "s|../../common/lib/\$(OSLOWER)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \
110 + -e "s|../../common/lib/\$(OSLOWER)/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \
111 + -i "${file}" || die
112 + # -e "/ALL_LDFLAGS/s|:=|:= ${RAWLDFLAGS} |g" \
113 + done < <(find . -type f -name 'Makefile' -print0)
114 +
115 + rm -rf common/inc/GL || die
116 + find . -type f -name '*.a' -delete || die
117 +
118 + eapply_user
119 +}
120 +
121 +src_compile() {
122 + use examples || return
123 + local myopts=("verbose=1")
124 + use debug && myopts+=("dbg=1")
125 + export FAKEROOTKEY=1 # Workaround sandbox issue in #462602
126 + emake \
127 + cuda-install="${EPREFIX}/opt/cuda" \
128 + CUDA_PATH="${EPREFIX}/opt/cuda/" \
129 + MPI_GCC=10 \
130 + "${myopts[@]}"
131 +}
132 +
133 +src_test() {
134 + addwrite /dev/nvidiactl
135 + addwrite /dev/nvidia0
136 +
137 + local i
138 + for i in {0..9}*/*; do
139 + emake -C "${i}" run
140 + done
141 +}
142 +
143 +src_install() {
144 + local f t crap=( *.txt Samples.htm* )
145 +
146 + if use doc; then
147 + ebegin "Installing docs ..."
148 + while IFS="" read -d $'\0' -r f; do
149 + treecopy "${f}" "${ED%/}"/usr/share/doc/${PF}/
150 + done < <(find -type f \( -name 'readme.txt' -o -name '*.pdf' \) -print0)
151 +
152 + while IFS="" read -d $'\0' -r f; do
153 + docompress -x "${f#${ED%/}}"
154 + done < <(find "${ED%/}"/usr/share/doc/${PF}/ -type f -name 'readme.txt' -print0)
155 + eend
156 + fi
157 +
158 + ebegin "Cleaning before installation..."
159 + for f in "${crap[@]}"; do
160 + rm -f "${f}" || die
161 + done
162 + find -type f \( -name '*.o' -o -name '*.pdf' -o -name 'readme.txt' \) -delete || die
163 + eend
164 +
165 + ebegin "Moving files..."
166 + while IFS="" read -d $'\0' -r f; do
167 + t="$(dirname ${f})"
168 + if [[ ${t/obj\/} != ${t} || ${t##*.} == a ]]; then
169 + continue
170 + fi
171 + if [[ -x ${f} ]]; then
172 + exeinto /opt/cuda/sdk/"${t}"
173 + doexe "${f}"
174 + else
175 + insinto /opt/cuda/sdk/"${t}"
176 + doins "${f}"
177 + fi
178 + done < <(find -type f . -print0)
179 + eend
180 +}