Gentoo Archives: gentoo-commits

From: Craig Andrews <candrews@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm-roc/
Date: Thu, 08 Apr 2021 13:04:13
Message-Id: 1617887043.d2611a8353d79a677260ba20f3d9254ccead6330.candrews@gentoo
1 commit: d2611a8353d79a677260ba20f3d9254ccead6330
2 Author: Craig Andrews <candrews <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 8 13:02:41 2021 +0000
4 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 8 13:04:03 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2611a83
7
8 sys-devel/llvm-roc: 4.1.1 version bump
9
10 Package-Manager: Portage-3.0.18, Repoman-3.0.3
11 Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
12
13 sys-devel/llvm-roc/Manifest | 1 +
14 sys-devel/llvm-roc/llvm-roc-4.1.1.ebuild | 93 ++++++++++++++++++++++++++++++++
15 2 files changed, 94 insertions(+)
16
17 diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest
18 index d69ea4e31ba..98d12741dbb 100644
19 --- a/sys-devel/llvm-roc/Manifest
20 +++ b/sys-devel/llvm-roc/Manifest
21 @@ -5,3 +5,4 @@ DIST llvm-rocm-ocl-3.9.0.tar.gz 123591368 BLAKE2B 54b44d705e7704921df1914bac6dc1
22 DIST llvm-rocm-ocl-4.0.0.tar.gz 123595983 BLAKE2B 69dd47a50a53cf7d8168f872778bcda0e028907c2341b165f40152bdf03b668ee6c209dc60fa1018dde2a946d891f15eb92a38cfbc12bb5798dd132c1ce79bf1 SHA512 2ac3d643e0bee72239089003cd2889711a7cd58dc588467fb0ca0a50bec264fda992aa2e3352d5210011a9dc1eea4dd9eacdc7d0c313cd69c7b491df126a4e4e
23 DIST llvm-rocm-ocl-4.0.1.tar.gz 123608276 BLAKE2B dd5a4d6bc198c7fb6fdc2514cd8c4533a2df6ded7a574c9b4762cda3cb65498a464a0e78427db94db05b468a29ce78d3d8131ac7c6e42953fc503896732474e3 SHA512 d23dceaee2badf46cda27aa725bce5b82bab2fba7d1c2220fedb4795eee455de5077b4ff7299ecd6850eeb0bbdb131ea12a699357f373aef818758d845550f04
24 DIST llvm-rocm-ocl-4.1.0.tar.gz 128913932 BLAKE2B 15a041ec7b9fec91e409c8ab98ff88f2d15ce58822aa8a77a26ff21416378a4a77a5904fce4e26c5447653da4ec2dbbb5bfec4ae70c72e8e64b2a5f5986ffb92 SHA512 8576e5a43754a9587613f166dc6cad18890812f07bfa55e563ab3de150b6f01ae1b5515aaaf4eef238a7f79e87890533ce791ef07528e4557ea8290c2642ebd3
25 +DIST llvm-rocm-ocl-4.1.1.tar.gz 128914019 BLAKE2B 9806d1da497e9d9864fd015fc92f5e2d8a6077315d96538064357a38347bc9180948c65cdca9e29574b40f8df62c0660762731564822ac9e8b5364bebf016e43 SHA512 0e4c6b9b0c0330d58616f22d8ec6ebdd6c83aef9ce9968765ac56c022bcd76cba8af5a6cdfb47ed560b33cd67832ac5b026502357af6caec4ab699f1443163fd
26
27 diff --git a/sys-devel/llvm-roc/llvm-roc-4.1.1.ebuild b/sys-devel/llvm-roc/llvm-roc-4.1.1.ebuild
28 new file mode 100644
29 index 00000000000..68939e20944
30 --- /dev/null
31 +++ b/sys-devel/llvm-roc/llvm-roc-4.1.1.ebuild
32 @@ -0,0 +1,93 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +inherit cmake
39 +
40 +DESCRIPTION="Radeon Open Compute llvm,lld,clang"
41 +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
42 +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
43 +
44 +LICENSE="UoI-NCSA rc BSD public-domain"
45 +SLOT="0"
46 +KEYWORDS="~amd64"
47 +IUSE="debug +runtime"
48 +
49 +RDEPEND="virtual/cblas
50 + dev-libs/libxml2
51 + sys-libs/zlib
52 + sys-libs/ncurses:="
53 +DEPEND="${RDEPEND}"
54 +PDEPEND="dev-libs/rocr-runtime"
55 +
56 +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
57 +
58 +PATCHES=(
59 + "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
60 +)
61 +
62 +CMAKE_BUILD_TYPE=RelWithDebInfo
63 +
64 +src_prepare() {
65 + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
66 + eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
67 + eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
68 + eapply "${FILESDIR}/${PN}-4.0.0-hip-location.patch"
69 +
70 + if [[ -n ${EPREFIX} ]]; then
71 + pushd "${S}"/../clang >/dev/null || die
72 + sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt
73 + eend $?
74 + ebegin "Use "${EPREFIX}" as default sysroot"
75 + cd lib/Driver/ToolChains >/dev/null || die
76 + ebegin "Use dynamic linker from ${EPREFIX}"
77 + sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp
78 + eend $?
79 +
80 + ebegin "Remove --sysroot call on ld for native toolchain"
81 + sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
82 + eend $?
83 + popd >/dev/null || die
84 + fi
85 +
86 + # handled by sysroot, don't prefixify here.
87 + sed -e 's:/opt/rocm:/usr/lib/hip:' \
88 + -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp
89 +
90 + eapply_user
91 + cmake_src_prepare
92 +}
93 +
94 +src_configure() {
95 + PROJECTS="clang;lld"
96 +
97 + if usex runtime; then
98 + PROJECTS+=";compiler-rt"
99 + fi
100 +
101 + local mycmakeargs=(
102 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
103 + -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
104 + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
105 + -DLLVM_BUILD_DOCS=NO
106 + -DLLVM_ENABLE_OCAMLDOC=OFF
107 + -DLLVM_ENABLE_SPHINX=NO
108 + -DLLVM_ENABLE_DOXYGEN=OFF
109 + -DLLVM_INSTALL_UTILS=ON
110 + -DLLVM_VERSION_SUFFIX=roc
111 + -DOCAMLFIND=NO
112 + )
113 +
114 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
115 +
116 + cmake_src_configure
117 +}
118 +
119 +src_install() {
120 + cmake_src_install
121 + cat > "99${PN}" <<-EOF
122 + LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
123 + EOF
124 + doenvd "99${PN}"
125 +}