Gentoo Archives: gentoo-commits

From: "Andreas K. Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm-roc/
Date: Mon, 20 Sep 2021 18:15:17
Message-Id: 1632161635.ef84f36cb02d0dedb5e393b945c0213e099ab8ba.dilfridge@gentoo
1 commit: ef84f36cb02d0dedb5e393b945c0213e099ab8ba
2 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 20 18:13:55 2021 +0000
4 Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 20 18:13:55 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef84f36c
7
8 Revert "sys-devel/llvm-roc: Remove old"
9
10 This reverts commit 362024ac2c699a8f0da19fb1777bdd30fd3b99e2.
11
12 Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
13
14 sys-devel/llvm-roc/Manifest | 6 ++
15 sys-devel/llvm-roc/llvm-roc-3.10.0.ebuild | 70 ++++++++++++++++++++++
16 sys-devel/llvm-roc/llvm-roc-3.7.0-r1.ebuild | 63 +++++++++++++++++++
17 sys-devel/llvm-roc/llvm-roc-3.8.0.ebuild | 69 +++++++++++++++++++++
18 sys-devel/llvm-roc/llvm-roc-3.9.0.ebuild | 70 ++++++++++++++++++++++
19 sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild | 93 +++++++++++++++++++++++++++++
20 sys-devel/llvm-roc/llvm-roc-4.0.0.ebuild | 91 ++++++++++++++++++++++++++++
21 sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild | 93 +++++++++++++++++++++++++++++
22 8 files changed, 555 insertions(+)
23
24 diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest
25 index 514a636c941..80142c71322 100644
26 --- a/sys-devel/llvm-roc/Manifest
27 +++ b/sys-devel/llvm-roc/Manifest
28 @@ -1,3 +1,9 @@
29 +DIST llvm-rocm-ocl-3.10.0.tar.gz 123600166 BLAKE2B 9b69dab6c7d1a8dfe0d90c76b54446ec7f8ef6e59c74ad328208ac07dbf8836ae412dc5c32fdcbfc926a2488e81cd8afef71c3ebca6cd8ff745205028ab380d8 SHA512 3bb7dac13d89cadfb61a231564155f49021437b7c35eae8735b88ceae4a23b7950643f17e3bfebb0868621297202a04d41120d50ea52b6ad8980dabe9bc75509
30 +DIST llvm-rocm-ocl-3.7.0.tar.gz 116973132 BLAKE2B c1cc8a3b95292d726626d3cb59ec1b96549682bfcbec16030e47cf1318c6ea01bc76f3349f012ce4f1e4d8b9fe192c51a025c2d08cf593622c61fe7c61969ba6 SHA512 0626075bedb3898c96c0bb0be7a2aba4662050a1c738115f661bedc03d744ace7a4581b55c6325060740c13a0e50e72e09272bb02c1186c2c4a40fc9b961dcbe
31 +DIST llvm-rocm-ocl-3.8.0.tar.gz 117004300 BLAKE2B 13c3213f0fb951fb9d574e8f6d76bb6c632fecadfe93dbe68a9720baa22e35aa3269deef8b533c5a5ff50a2c1ee3dd7a1ea0fae4b8ab8573ec5bfc5ca5d04f4f SHA512 4eca387a132c9d1237ebec7c80319e99c80088766209d05a697d09890f4a82c56ba5f48a5c8c8749bb051c177bb5eab67e00405b04d3191681d0ac7cf1ae868c
32 +DIST llvm-rocm-ocl-3.9.0.tar.gz 123591368 BLAKE2B 54b44d705e7704921df1914bac6dc1da8e420f9383efb698a9cf6a339b653d71cad29aa077a9e24d6764ca81fb8dc55fa70abb0cfac004d40f7d811e20ec9945 SHA512 3404390506b33c1de1d05980fafb219692985f38b52d852e9a47ab94e57228caa25ccd0d0d69da656281de32c75e001f60cb9f22453e70fea7b39d065d4333af
33 +DIST llvm-rocm-ocl-4.0.0.tar.gz 123595983 BLAKE2B 69dd47a50a53cf7d8168f872778bcda0e028907c2341b165f40152bdf03b668ee6c209dc60fa1018dde2a946d891f15eb92a38cfbc12bb5798dd132c1ce79bf1 SHA512 2ac3d643e0bee72239089003cd2889711a7cd58dc588467fb0ca0a50bec264fda992aa2e3352d5210011a9dc1eea4dd9eacdc7d0c313cd69c7b491df126a4e4e
34 +DIST llvm-rocm-ocl-4.0.1.tar.gz 123608276 BLAKE2B dd5a4d6bc198c7fb6fdc2514cd8c4533a2df6ded7a574c9b4762cda3cb65498a464a0e78427db94db05b468a29ce78d3d8131ac7c6e42953fc503896732474e3 SHA512 d23dceaee2badf46cda27aa725bce5b82bab2fba7d1c2220fedb4795eee455de5077b4ff7299ecd6850eeb0bbdb131ea12a699357f373aef818758d845550f04
35 DIST llvm-rocm-ocl-4.1.0.tar.gz 128913932 BLAKE2B 15a041ec7b9fec91e409c8ab98ff88f2d15ce58822aa8a77a26ff21416378a4a77a5904fce4e26c5447653da4ec2dbbb5bfec4ae70c72e8e64b2a5f5986ffb92 SHA512 8576e5a43754a9587613f166dc6cad18890812f07bfa55e563ab3de150b6f01ae1b5515aaaf4eef238a7f79e87890533ce791ef07528e4557ea8290c2642ebd3
36 DIST llvm-rocm-ocl-4.1.1.tar.gz 128914019 BLAKE2B 9806d1da497e9d9864fd015fc92f5e2d8a6077315d96538064357a38347bc9180948c65cdca9e29574b40f8df62c0660762731564822ac9e8b5364bebf016e43 SHA512 0e4c6b9b0c0330d58616f22d8ec6ebdd6c83aef9ce9968765ac56c022bcd76cba8af5a6cdfb47ed560b33cd67832ac5b026502357af6caec4ab699f1443163fd
37 DIST llvm-rocm-ocl-4.2.0.tar.gz 132337711 BLAKE2B f08781f881f2853cd551828ef9190c1253e33ca1bfb13aac790b6484838fe5481be9519609ea9cf4bc09a6c8631c54a567123dfe97c25498c51c464d215049de SHA512 694c37c707c84d18cddb92054d8d59e1eea82c9c9928d0111992cbae1421d6bb614a0889891993b444a821c35fa6e91c801ac8555761c2cd0803f89981475952
38
39 diff --git a/sys-devel/llvm-roc/llvm-roc-3.10.0.ebuild b/sys-devel/llvm-roc/llvm-roc-3.10.0.ebuild
40 new file mode 100644
41 index 00000000000..399b74cc8ee
42 --- /dev/null
43 +++ b/sys-devel/llvm-roc/llvm-roc-3.10.0.ebuild
44 @@ -0,0 +1,70 @@
45 +# Copyright 1999-2021 Gentoo Authors
46 +# Distributed under the terms of the GNU General Public License v2
47 +
48 +EAPI=7
49 +
50 +inherit cmake
51 +
52 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
53 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
54 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
55 +
56 +LICENSE="UoI-NCSA rc BSD public-domain"
57 +SLOT="0"
58 +KEYWORDS="~amd64"
59 +IUSE="debug runtime"
60 +
61 +RDEPEND="virtual/cblas
62 + dev-libs/libxml2
63 + sys-libs/zlib
64 + sys-libs/ncurses:="
65 +DEPEND="${RDEPEND}"
66 +
67 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
68 +
69 +PATCHES=(
70 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
71 + "${FILESDIR}/${PN}-3.9.0-tensorflow.patch"
72 +)
73 +
74 +CMAKE_BUILD_TYPE=RelWithDebInfo
75 +
76 +src_prepare() {
77 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
78 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
79 + eapply_user
80 + cmake_src_prepare
81 +}
82 +
83 +src_configure() {
84 + PROJECTS="clang;lld"
85 +
86 + if usex runtime; then
87 + PROJECTS+=";compiler-rt"
88 + fi
89 +
90 + local mycmakeargs=(
91 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
92 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
93 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
94 + -DLLVM_BUILD_DOCS=NO
95 + -DLLVM_ENABLE_OCAMLDOC=OFF
96 + -DLLVM_ENABLE_SPHINX=NO
97 + -DLLVM_ENABLE_DOXYGEN=OFF
98 + -DLLVM_INSTALL_UTILS=ON
99 + -DLLVM_VERSION_SUFFIX=roc
100 + -DOCAMLFIND=NO
101 + )
102 +
103 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
104 +
105 + cmake_src_configure
106 +}
107 +
108 +src_install() {
109 + cmake_src_install
110 + cat > "99${PN}" <<-EOF
111 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
112 + EOF
113 + doenvd "99${PN}"
114 +}
115
116 diff --git a/sys-devel/llvm-roc/llvm-roc-3.7.0-r1.ebuild b/sys-devel/llvm-roc/llvm-roc-3.7.0-r1.ebuild
117 new file mode 100644
118 index 00000000000..9e5adf08c00
119 --- /dev/null
120 +++ b/sys-devel/llvm-roc/llvm-roc-3.7.0-r1.ebuild
121 @@ -0,0 +1,63 @@
122 +# Copyright 1999-2021 Gentoo Authors
123 +# Distributed under the terms of the GNU General Public License v2
124 +
125 +EAPI=7
126 +
127 +inherit cmake
128 +
129 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
130 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
131 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
132 +
133 +LICENSE="UoI-NCSA rc BSD public-domain"
134 +SLOT="0"
135 +KEYWORDS="~amd64"
136 +IUSE="debug"
137 +
138 +RDEPEND="virtual/cblas
139 + dev-libs/libxml2
140 + sys-libs/zlib
141 + sys-libs/ncurses:="
142 +DEPEND="${RDEPEND}"
143 +
144 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
145 +
146 +PATCHES=(
147 + "${FILESDIR}/${P}-current_pos.patch"
148 +)
149 +
150 +CMAKE_BUILD_TYPE=RelWithDebInfo
151 +
152 +src_prepare() {
153 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
154 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
155 + eapply_user
156 + cmake_src_prepare
157 +}
158 +
159 +src_configure() {
160 + local mycmakeargs=(
161 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
162 + -DLLVM_ENABLE_PROJECTS="clang;lld"
163 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
164 + -DLLVM_BUILD_DOCS=NO
165 + -DLLVM_ENABLE_OCAMLDOC=OFF
166 + -DLLVM_ENABLE_SPHINX=NO
167 + -DLLVM_ENABLE_DOXYGEN=OFF
168 + -DLLVM_INSTALL_UTILS=ON
169 + -DLLVM_VERSION_SUFFIX=roc
170 + -DOCAMLFIND=NO
171 + )
172 +
173 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
174 +
175 + cmake_src_configure
176 +}
177 +
178 +src_install() {
179 + cmake_src_install
180 + cat > "99${PN}" <<-EOF
181 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
182 + EOF
183 + doenvd "99${PN}"
184 +}
185
186 diff --git a/sys-devel/llvm-roc/llvm-roc-3.8.0.ebuild b/sys-devel/llvm-roc/llvm-roc-3.8.0.ebuild
187 new file mode 100644
188 index 00000000000..69223b7e04a
189 --- /dev/null
190 +++ b/sys-devel/llvm-roc/llvm-roc-3.8.0.ebuild
191 @@ -0,0 +1,69 @@
192 +# Copyright 1999-2021 Gentoo Authors
193 +# Distributed under the terms of the GNU General Public License v2
194 +
195 +EAPI=7
196 +
197 +inherit cmake
198 +
199 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
200 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
201 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
202 +
203 +LICENSE="UoI-NCSA rc BSD public-domain"
204 +SLOT="0"
205 +KEYWORDS="~amd64"
206 +IUSE="debug runtime"
207 +
208 +RDEPEND="virtual/cblas
209 + dev-libs/libxml2
210 + sys-libs/zlib
211 + sys-libs/ncurses:="
212 +DEPEND="${RDEPEND}"
213 +
214 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
215 +
216 +PATCHES=(
217 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
218 +)
219 +
220 +CMAKE_BUILD_TYPE=RelWithDebInfo
221 +
222 +src_prepare() {
223 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
224 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
225 + eapply_user
226 + cmake_src_prepare
227 +}
228 +
229 +src_configure() {
230 + PROJECTS="clang;lld"
231 +
232 + if usex runtime; then
233 + PROJECTS+=";compiler-rt"
234 + fi
235 +
236 + local mycmakeargs=(
237 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
238 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
239 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
240 + -DLLVM_BUILD_DOCS=NO
241 + -DLLVM_ENABLE_OCAMLDOC=OFF
242 + -DLLVM_ENABLE_SPHINX=NO
243 + -DLLVM_ENABLE_DOXYGEN=OFF
244 + -DLLVM_INSTALL_UTILS=ON
245 + -DLLVM_VERSION_SUFFIX=roc
246 + -DOCAMLFIND=NO
247 + )
248 +
249 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
250 +
251 + cmake_src_configure
252 +}
253 +
254 +src_install() {
255 + cmake_src_install
256 + cat > "99${PN}" <<-EOF
257 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
258 + EOF
259 + doenvd "99${PN}"
260 +}
261
262 diff --git a/sys-devel/llvm-roc/llvm-roc-3.9.0.ebuild b/sys-devel/llvm-roc/llvm-roc-3.9.0.ebuild
263 new file mode 100644
264 index 00000000000..6dd5e75e047
265 --- /dev/null
266 +++ b/sys-devel/llvm-roc/llvm-roc-3.9.0.ebuild
267 @@ -0,0 +1,70 @@
268 +# Copyright 1999-2021 Gentoo Authors
269 +# Distributed under the terms of the GNU General Public License v2
270 +
271 +EAPI=7
272 +
273 +inherit cmake
274 +
275 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
276 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
277 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
278 +
279 +LICENSE="UoI-NCSA rc BSD public-domain"
280 +SLOT="0"
281 +KEYWORDS="~amd64"
282 +IUSE="debug runtime"
283 +
284 +RDEPEND="virtual/cblas
285 + dev-libs/libxml2
286 + sys-libs/zlib
287 + sys-libs/ncurses:="
288 +DEPEND="${RDEPEND}"
289 +
290 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
291 +
292 +PATCHES=(
293 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
294 + "${FILESDIR}/${P}-tensorflow.patch"
295 +)
296 +
297 +CMAKE_BUILD_TYPE=RelWithDebInfo
298 +
299 +src_prepare() {
300 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
301 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
302 + eapply_user
303 + cmake_src_prepare
304 +}
305 +
306 +src_configure() {
307 + PROJECTS="clang;lld"
308 +
309 + if usex runtime; then
310 + PROJECTS+=";compiler-rt"
311 + fi
312 +
313 + local mycmakeargs=(
314 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
315 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
316 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
317 + -DLLVM_BUILD_DOCS=NO
318 + -DLLVM_ENABLE_OCAMLDOC=OFF
319 + -DLLVM_ENABLE_SPHINX=NO
320 + -DLLVM_ENABLE_DOXYGEN=OFF
321 + -DLLVM_INSTALL_UTILS=ON
322 + -DLLVM_VERSION_SUFFIX=roc
323 + -DOCAMLFIND=NO
324 + )
325 +
326 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
327 +
328 + cmake_src_configure
329 +}
330 +
331 +src_install() {
332 + cmake_src_install
333 + cat > "99${PN}" <<-EOF
334 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
335 + EOF
336 + doenvd "99${PN}"
337 +}
338
339 diff --git a/sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild b/sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild
340 new file mode 100644
341 index 00000000000..1c7a0fec017
342 --- /dev/null
343 +++ b/sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild
344 @@ -0,0 +1,93 @@
345 +# Copyright 1999-2021 Gentoo Authors
346 +# Distributed under the terms of the GNU General Public License v2
347 +
348 +EAPI=7
349 +
350 +inherit cmake
351 +
352 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
353 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
354 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
355 +
356 +LICENSE="UoI-NCSA rc BSD public-domain"
357 +SLOT="0"
358 +KEYWORDS="~amd64"
359 +IUSE="debug +runtime"
360 +
361 +RDEPEND="virtual/cblas
362 + dev-libs/libxml2
363 + sys-libs/zlib
364 + sys-libs/ncurses:="
365 +DEPEND="${RDEPEND}"
366 +
367 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
368 +
369 +PATCHES=(
370 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
371 + "${FILESDIR}/${PN}-3.9.0-tensorflow.patch"
372 +)
373 +
374 +CMAKE_BUILD_TYPE=RelWithDebInfo
375 +
376 +src_prepare() {
377 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
378 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
379 + eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
380 + eapply "${FILESDIR}/${PN}-4.0.0-hip-location.patch"
381 +
382 + if [[ -n ${EPREFIX} ]]; then
383 + pushd "${S}"/../clang >/dev/null || die
384 + sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt
385 + eend $?
386 + ebegin "Use "${EPREFIX}" as default sysroot"
387 + cd lib/Driver/ToolChains >/dev/null || die
388 + ebegin "Use dynamic linker from ${EPREFIX}"
389 + sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp
390 + eend $?
391 +
392 + ebegin "Remove --sysroot call on ld for native toolchain"
393 + sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
394 + eend $?
395 + popd >/dev/null || die
396 + fi
397 +
398 + # handled by sysroot, don't prefixify here.
399 + sed -e 's:/opt/rocm:/usr/lib/hip:' \
400 + -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp
401 +
402 + eapply_user
403 + cmake_src_prepare
404 +}
405 +
406 +src_configure() {
407 + PROJECTS="clang;lld"
408 +
409 + if usex runtime; then
410 + PROJECTS+=";compiler-rt"
411 + fi
412 +
413 + local mycmakeargs=(
414 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
415 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
416 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
417 + -DLLVM_BUILD_DOCS=NO
418 + -DLLVM_ENABLE_OCAMLDOC=OFF
419 + -DLLVM_ENABLE_SPHINX=NO
420 + -DLLVM_ENABLE_DOXYGEN=OFF
421 + -DLLVM_INSTALL_UTILS=ON
422 + -DLLVM_VERSION_SUFFIX=roc
423 + -DOCAMLFIND=NO
424 + )
425 +
426 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
427 +
428 + cmake_src_configure
429 +}
430 +
431 +src_install() {
432 + cmake_src_install
433 + cat > "99${PN}" <<-EOF
434 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
435 + EOF
436 + doenvd "99${PN}"
437 +}
438
439 diff --git a/sys-devel/llvm-roc/llvm-roc-4.0.0.ebuild b/sys-devel/llvm-roc/llvm-roc-4.0.0.ebuild
440 new file mode 100644
441 index 00000000000..3967ddabbea
442 --- /dev/null
443 +++ b/sys-devel/llvm-roc/llvm-roc-4.0.0.ebuild
444 @@ -0,0 +1,91 @@
445 +# Copyright 1999-2021 Gentoo Authors
446 +# Distributed under the terms of the GNU General Public License v2
447 +
448 +EAPI=7
449 +
450 +inherit cmake
451 +
452 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
453 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
454 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
455 +
456 +LICENSE="UoI-NCSA rc BSD public-domain"
457 +SLOT="0"
458 +KEYWORDS="~amd64"
459 +IUSE="debug runtime"
460 +
461 +RDEPEND="virtual/cblas
462 + dev-libs/libxml2
463 + sys-libs/zlib
464 + sys-libs/ncurses:="
465 +DEPEND="${RDEPEND}"
466 +
467 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
468 +
469 +PATCHES=(
470 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
471 + "${FILESDIR}/${PN}-3.9.0-tensorflow.patch"
472 +)
473 +
474 +CMAKE_BUILD_TYPE=RelWithDebInfo
475 +
476 +src_prepare() {
477 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
478 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
479 +
480 + if [[ -n ${EPREFIX} ]]; then
481 + pushd "${S}"/../clang >/dev/null || die
482 + sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt
483 + eend $?
484 +
485 + ebegin "Use "${EPREFIX}" as default sysroot"
486 + cd lib/Driver/ToolChains >/dev/null || die
487 + ebegin "Use dynamic linker from ${EPREFIX}"
488 + sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp
489 + eend $?
490 +
491 + ebegin "Remove --sysroot call on ld for native toolchain"
492 + sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
493 + eend $?
494 + popd >/dev/null || die
495 + fi
496 +
497 + sed -e 's:/opt/rocm:/usr/lib/hip:' \
498 + -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp
499 +
500 + eapply_user
501 + cmake_src_prepare
502 +}
503 +
504 +src_configure() {
505 + PROJECTS="clang;lld"
506 +
507 + if usex runtime; then
508 + PROJECTS+=";compiler-rt"
509 + fi
510 +
511 + local mycmakeargs=(
512 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
513 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
514 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
515 + -DLLVM_BUILD_DOCS=NO
516 + -DLLVM_ENABLE_OCAMLDOC=OFF
517 + -DLLVM_ENABLE_SPHINX=NO
518 + -DLLVM_ENABLE_DOXYGEN=OFF
519 + -DLLVM_INSTALL_UTILS=ON
520 + -DLLVM_VERSION_SUFFIX=roc
521 + -DOCAMLFIND=NO
522 + )
523 +
524 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
525 +
526 + cmake_src_configure
527 +}
528 +
529 +src_install() {
530 + cmake_src_install
531 + cat > "99${PN}" <<-EOF
532 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
533 + EOF
534 + doenvd "99${PN}"
535 +}
536
537 diff --git a/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild b/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild
538 new file mode 100644
539 index 00000000000..1c7a0fec017
540 --- /dev/null
541 +++ b/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild
542 @@ -0,0 +1,93 @@
543 +# Copyright 1999-2021 Gentoo Authors
544 +# Distributed under the terms of the GNU General Public License v2
545 +
546 +EAPI=7
547 +
548 +inherit cmake
549 +
550 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
551 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
552 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
553 +
554 +LICENSE="UoI-NCSA rc BSD public-domain"
555 +SLOT="0"
556 +KEYWORDS="~amd64"
557 +IUSE="debug +runtime"
558 +
559 +RDEPEND="virtual/cblas
560 + dev-libs/libxml2
561 + sys-libs/zlib
562 + sys-libs/ncurses:="
563 +DEPEND="${RDEPEND}"
564 +
565 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
566 +
567 +PATCHES=(
568 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
569 + "${FILESDIR}/${PN}-3.9.0-tensorflow.patch"
570 +)
571 +
572 +CMAKE_BUILD_TYPE=RelWithDebInfo
573 +
574 +src_prepare() {
575 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
576 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
577 + eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
578 + eapply "${FILESDIR}/${PN}-4.0.0-hip-location.patch"
579 +
580 + if [[ -n ${EPREFIX} ]]; then
581 + pushd "${S}"/../clang >/dev/null || die
582 + sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt
583 + eend $?
584 + ebegin "Use "${EPREFIX}" as default sysroot"
585 + cd lib/Driver/ToolChains >/dev/null || die
586 + ebegin "Use dynamic linker from ${EPREFIX}"
587 + sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp
588 + eend $?
589 +
590 + ebegin "Remove --sysroot call on ld for native toolchain"
591 + sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
592 + eend $?
593 + popd >/dev/null || die
594 + fi
595 +
596 + # handled by sysroot, don't prefixify here.
597 + sed -e 's:/opt/rocm:/usr/lib/hip:' \
598 + -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp
599 +
600 + eapply_user
601 + cmake_src_prepare
602 +}
603 +
604 +src_configure() {
605 + PROJECTS="clang;lld"
606 +
607 + if usex runtime; then
608 + PROJECTS+=";compiler-rt"
609 + fi
610 +
611 + local mycmakeargs=(
612 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
613 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
614 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
615 + -DLLVM_BUILD_DOCS=NO
616 + -DLLVM_ENABLE_OCAMLDOC=OFF
617 + -DLLVM_ENABLE_SPHINX=NO
618 + -DLLVM_ENABLE_DOXYGEN=OFF
619 + -DLLVM_INSTALL_UTILS=ON
620 + -DLLVM_VERSION_SUFFIX=roc
621 + -DOCAMLFIND=NO
622 + )
623 +
624 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
625 +
626 + cmake_src_configure
627 +}
628 +
629 +src_install() {
630 + cmake_src_install
631 + cat > "99${PN}" <<-EOF
632 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
633 + EOF
634 + doenvd "99${PN}"
635 +}