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