1 |
commit: b8908ee8a65cb1876409ba6896abe6fac04a55b0 |
2 |
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Jan 11 13:25:44 2022 +0000 |
4 |
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jan 11 13:26:20 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8908ee8 |
7 |
|
8 |
dev-util/nvidia-cuda-sdk: add version 11.5.1 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/760522 |
11 |
Package-Manager: Portage-3.0.30, Repoman-3.0.3 |
12 |
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> |
13 |
|
14 |
dev-util/nvidia-cuda-sdk/Manifest | 1 + |
15 |
.../nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild | 140 +++++++++++++++++++++ |
16 |
2 files changed, 141 insertions(+) |
17 |
|
18 |
diff --git a/dev-util/nvidia-cuda-sdk/Manifest b/dev-util/nvidia-cuda-sdk/Manifest |
19 |
index e80c872ce2fa..0ec3c2e9bff3 100644 |
20 |
--- a/dev-util/nvidia-cuda-sdk/Manifest |
21 |
+++ b/dev-util/nvidia-cuda-sdk/Manifest |
22 |
@@ -1 +1,2 @@ |
23 |
DIST cuda_10.2.89_440.33.01_linux.run 2645419389 BLAKE2B 236aa70a7b45e3636c2c229fffa7d1ca0699ab4365865a73edab607a209c42c2899133dd6a83c61c5929fa754668ad15aec4d847639af1c00a8e6657c8487c77 SHA512 ad8da539ff5df7caf411d1e497ff3d6978cfa8a1fd9150fa4846089e92a604ea56be8631f3efdfe7229a655b8d2d28e6edb32f5731530a77d6f00241cc7aab6e |
24 |
+DIST cuda_11.5.1_495.29.05_linux.run 3420998120 BLAKE2B 0d3f9626f97c60291397ebd0edc04e2c84942473d943d95af6fae244e5809721335bb90eaa6c019c9391de516d20599ca5631e99764616b6d25eacf1899d99d9 SHA512 71fb354714cac09265b5102223f919e34e3a8503593dd4f2e7b9542ae7787de96d64c490276b36b685da9e691cc2704419b67cfa376dcd3647e4d0f93b02db9b |
25 |
|
26 |
diff --git a/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild |
27 |
new file mode 100644 |
28 |
index 000000000000..f919d837304d |
29 |
--- /dev/null |
30 |
+++ b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild |
31 |
@@ -0,0 +1,140 @@ |
32 |
+# Copyright 1999-2022 Gentoo Authors |
33 |
+# Distributed under the terms of the GNU General Public License v2 |
34 |
+ |
35 |
+EAPI=7 |
36 |
+ |
37 |
+inherit cuda flag-o-matic portability toolchain-funcs unpacker |
38 |
+ |
39 |
+DRIVER_PV="495.29.05" |
40 |
+ |
41 |
+DESCRIPTION="NVIDIA CUDA Software Development Kit" |
42 |
+HOMEPAGE="https://developer.nvidia.com/cuda-zone" |
43 |
+SRC_URI="https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run" |
44 |
+S="${WORKDIR}/builds/cuda_samples" |
45 |
+ |
46 |
+LICENSE="CUDPP" |
47 |
+SLOT="0/${PV}" |
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 |
+ !prefix? ( >=x11-drivers/nvidia-drivers-${DRIVER_PV}[uvm(+)] ) |
58 |
+ mpi? ( virtual/mpi ) |
59 |
+ )" |
60 |
+DEPEND="${RDEPEND}" |
61 |
+BDEPEND="virtual/pkgconfig" |
62 |
+ |
63 |
+RESTRICT="test" |
64 |
+ |
65 |
+QA_EXECSTACK=( |
66 |
+ opt/cuda/sdk/0_Simple/cdpSimplePrint/cdpSimplePrint |
67 |
+ opt/cuda/sdk/0_Simple/cdpSimpleQuicksort/cdpSimpleQuicksort |
68 |
+ opt/cuda/sdk/bin/x86_64/linux/release/cdpSimplePrint |
69 |
+ opt/cuda/sdk/bin/x86_64/linux/release/cdpSimpleQuicksort |
70 |
+ ) |
71 |
+ |
72 |
+src_prepare() { |
73 |
+ cuda_src_prepare |
74 |
+ |
75 |
+ export RAWLDFLAGS="$(raw-ldflags)" |
76 |
+ |
77 |
+ local file |
78 |
+ while IFS="" read -d $'\0' -r file; do |
79 |
+ sed \ |
80 |
+ -e 's:-O[23]::g' \ |
81 |
+ -e "/LINK/s:gcc:$(tc-getCC) ${LDFLAGS}:g" \ |
82 |
+ -e "/LINK/s:g++:$(tc-getCXX) ${LDFLAGS}:g" \ |
83 |
+ -e "/CC/s:gcc:$(tc-getCC):g" \ |
84 |
+ -e "/GCC/s:g++:$(tc-getCXX):g" \ |
85 |
+ -e "/NVCC /s|\(:=\).*|:= ${EPREFIX}/opt/cuda/bin/nvcc|g" \ |
86 |
+ -e "/ CFLAGS/s|\(:=\)|\1 ${CFLAGS}|g" \ |
87 |
+ -e "/ CXXFLAGS/s|\(:=\)|\1 ${CXXFLAGS}|g" \ |
88 |
+ -e "/NVCCFLAGS/s|\(:=\)|\1 ${NVCCFLAGS} |g" \ |
89 |
+ -e 's:-Wimplicit::g' \ |
90 |
+ -e "s|../../common/lib/linux/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
91 |
+ -e "s|../../common/lib/\$(OSLOWER)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
92 |
+ -e "s|../../common/lib/\$(OSLOWER)/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ |
93 |
+ -i "${file}" || die |
94 |
+ done < <(find . -type f -name 'Makefile' -print0) |
95 |
+ |
96 |
+ # Upstream suggested us skip cudaNvSci https://github.com/NVIDIA/cuda-samples/issues/22 |
97 |
+ rm -rf 0_Simple/cudaNvSci || die |
98 |
+ rm -rf common/inc/GL || die |
99 |
+ find . -type f -name '*.a' -delete || die |
100 |
+ |
101 |
+ eapply_user |
102 |
+} |
103 |
+ |
104 |
+src_compile() { |
105 |
+ use examples || return |
106 |
+ local myopts=("verbose=1") |
107 |
+ use debug && myopts+=("dbg=1") |
108 |
+ export FAKEROOTKEY=1 # Workaround sandbox issue in #462602 |
109 |
+ emake \ |
110 |
+ cuda-install="${EPREFIX}/opt/cuda" \ |
111 |
+ CUDA_PATH="${EPREFIX}/opt/cuda/" \ |
112 |
+ MPI_GCC=10 \ |
113 |
+ "${myopts[@]}" |
114 |
+} |
115 |
+ |
116 |
+src_test() { |
117 |
+ addwrite /dev/nvidiactl |
118 |
+ addwrite /dev/nvidia0 |
119 |
+ |
120 |
+ local i |
121 |
+ for i in {0..9}*/*; do |
122 |
+ emake -C "${i}" run |
123 |
+ done |
124 |
+} |
125 |
+ |
126 |
+src_install() { |
127 |
+ local f t crap=( *.txt Samples.htm* ) |
128 |
+ |
129 |
+ if use doc; then |
130 |
+ ebegin "Installing docs ..." |
131 |
+ while IFS="" read -d $'\0' -r f; do |
132 |
+ treecopy "${f}" "${ED}"/usr/share/doc/${PF}/ |
133 |
+ done < <(find -type f \( -name 'readme.txt' -o -name '*.pdf' \) -print0) |
134 |
+ |
135 |
+ while IFS="" read -d $'\0' -r f; do |
136 |
+ docompress -x "${f#${ED}}" |
137 |
+ done < <(find "${ED}"/usr/share/doc/${PF}/ -type f -name 'readme.txt' -print0) |
138 |
+ eend "Done" |
139 |
+ fi |
140 |
+ |
141 |
+ ebegin "Cleaning before installation..." |
142 |
+ for f in "${crap[@]}"; do |
143 |
+ rm -f "${f}" || die |
144 |
+ done |
145 |
+ find -type f \( -name '*.o' -o -name '*.pdf' -o -name 'readme.txt' \) -delete || die |
146 |
+ eend "Done" |
147 |
+ |
148 |
+ ebegin "Moving files..." |
149 |
+ while IFS="" read -d $'\0' -r f; do |
150 |
+ t="$(dirname ${f})" |
151 |
+ if [[ ${t/obj\/} != ${t} || ${t##*.} == a ]]; then |
152 |
+ continue |
153 |
+ fi |
154 |
+ if [[ -x ${f} ]]; then |
155 |
+ exeinto /opt/cuda/sdk/"${t}" |
156 |
+ doexe "${f}" |
157 |
+ else |
158 |
+ insinto /opt/cuda/sdk/"${t}" |
159 |
+ doins "${f}" |
160 |
+ fi |
161 |
+ done < <(find . -type f -print0) |
162 |
+ eend "Done" |
163 |
+} |
164 |
+ |
165 |
+pkg_postinst() { |
166 |
+ if use examples && use prefix; then |
167 |
+ ewarn "Gentoo Prefix does not manage kernel modules. You need to make certain" |
168 |
+ ewarn "the function counterpart to >=x11-drivers/nvidia-drivers-${DRIVER_PV}" |
169 |
+ ewarn "is available from the host" |
170 |
+ fi |
171 |
+} |