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