Gentoo Archives: gentoo-commits

From: Benda XU <heroxbd@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/rocPRIM/
Date: Fri, 27 Aug 2021 03:34:53
Message-Id: 1630035282.e672c12d3fdb2308325afb5b877d34a7a6b00d7a.heroxbd@gentoo
1 commit: e672c12d3fdb2308325afb5b877d34a7a6b00d7a
2 Author: YiyangWu <xgreenlandforwyy <AT> gmail <DOT> com>
3 AuthorDate: Mon Aug 23 09:08:37 2021 +0000
4 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 27 03:34:42 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e672c12d
7
8 sci-libs/rocPRIM: bump version to 4.3.0
9
10 Enable src_test.
11 Enable install benchmark exes as /usr/bin/rocPRIM_benchmark*
12 Resolve GIT dependency error in this version
13
14 Closes: https://bugs.gentoo.org/772173
15 Closes: https://github.com/gentoo/gentoo/pull/22111
16 Package-Manager: Portage-3.0.20, Repoman-3.0.3
17 Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
18 Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
19
20 sci-libs/rocPRIM/Manifest | 1 +
21 sci-libs/rocPRIM/metadata.xml | 3 ++
22 sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild | 77 +++++++++++++++++++++++++++++++++++
23 3 files changed, 81 insertions(+)
24
25 diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest
26 index 835473471bc..21e0c5acf8c 100644
27 --- a/sci-libs/rocPRIM/Manifest
28 +++ b/sci-libs/rocPRIM/Manifest
29 @@ -1 +1,2 @@
30 DIST rocPRIM-4.0.0.tar.gz 285576 BLAKE2B 44f3542068dee48c0f2bb475f4d3fd74592fe27f4ca00a7b754014deaaa7187c4363d4b2e7fe13ff771b48d2885b848b9632ef71ce85e80e0946e4e5f13495d8 SHA512 c37fce4f16788d82379459af69b9f47f2bccb3b0e655e7314a23936cc99a474afb0092f240bd950341f1b02ce93d03abce0df7ce62ffcb5d577171ce870dd1d2
31 +DIST rocPRIM-4.3.0.tar.gz 290071 BLAKE2B f69ada9859ef9238d4f8c50bc2b10d131c986dbd8982cc0c7f8614cd51746080aba3b3e7b0ef3e1d5006c179a823f4fcb8ce03cc0a4c88fad3cb46947c7b7fb6 SHA512 9925f832637d19360bf1624dd7a6ef931fb740ee725e35c3159a09a3c569af6f61e3337124c8e0561e60c8595d0d533a4402b91345056ff8d276c6e1dd491036
32
33 diff --git a/sci-libs/rocPRIM/metadata.xml b/sci-libs/rocPRIM/metadata.xml
34 index 3902658bd2f..69514726be6 100644
35 --- a/sci-libs/rocPRIM/metadata.xml
36 +++ b/sci-libs/rocPRIM/metadata.xml
37 @@ -16,4 +16,7 @@
38 <upstream>
39 <remote-id type="github">ROCmSoftwarePlatform/rocPRIM</remote-id>
40 </upstream>
41 + <use>
42 + <flag name="benchmark">Build and install benchmark programs.</flag>
43 + </use>
44 </pkgmetadata>
45
46 diff --git a/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild b/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild
47 new file mode 100644
48 index 00000000000..98f626fe7f9
49 --- /dev/null
50 +++ b/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild
51 @@ -0,0 +1,77 @@
52 +# Copyright 1999-2021 Gentoo Authors
53 +# Distributed under the terms of the GNU General Public License v2
54 +
55 +EAPI=7
56 +
57 +inherit cmake
58 +
59 +DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated code on ROCm"
60 +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocPRIM"
61 +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-${PV}.tar.gz -> rocPRIM-${PV}.tar.gz"
62 +
63 +LICENSE="MIT"
64 +KEYWORDS="~amd64"
65 +SLOT="0/$(ver_cut 1-2)"
66 +IUSE="benchmark test"
67 +
68 +RDEPEND="dev-util/hip:${SLOT}
69 + benchmark? ( dev-cpp/benchmark )"
70 +BDEPEND="dev-util/rocm-cmake:${SLOT}
71 + test? ( dev-cpp/gtest )"
72 +DEPEND="${RDEPEND}"
73 +
74 +S="${WORKDIR}/rocPRIM-rocm-${PV}"
75 +
76 +RESTRICT="!test? ( test )"
77 +
78 +src_prepare() {
79 + # "hcc" is depcreated, new platform ist "rocclr"
80 + sed -e "/HIP_PLATFORM STREQUAL/s,hcc,rocclr," -i cmake/VerifyCompiler.cmake || die
81 +
82 + # Install according to FHS
83 + sed -e "/PREFIX rocprim/d" \
84 + -e "/INSTALL_INTERFACE/s,rocprim/include,include/rocprim," \
85 + -e "/DESTINATION/s,rocprim/include,include," \
86 + -e "/rocm_install_symlink_subdir(rocprim)/d" \
87 + -i rocprim/CMakeLists.txt || die
88 +
89 + # disable downloading googletest and googlebenchmark
90 + sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
91 +
92 + # remove GIT dependency
93 + sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
94 +
95 + # install benchmark files
96 + if use benchmark; then
97 + sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \
98 + -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die
99 + fi
100 +
101 + eapply_user
102 + cmake_src_prepare
103 +}
104 +
105 +src_configure() {
106 + # Grant access to the device
107 + addwrite /dev/kfd
108 + addpredict /dev/dri/
109 +
110 + # Compiler to use
111 + export CXX=hipcc
112 +
113 + local mycmakeargs=(
114 + -DBUILD_TEST=$(usex test ON OFF)
115 + -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
116 + ${AMDGPU_TARGETS+-DAMDGPU_TARGETS="${AMDGPU_TARGETS}"}
117 + -D__skip_rocmclang="ON" ## fix cmake-3.21 configuration issue caused by officialy support programming language "HIP"
118 + )
119 +
120 + cmake_src_configure
121 +}
122 +
123 +src_test() {
124 + # Grant access to the device
125 + addwrite /dev/kfd
126 + addwrite /dev/dri/
127 + cmake_src_test
128 +}