commit:     e672c12d3fdb2308325afb5b877d34a7a6b00d7a
Author:     YiyangWu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Mon Aug 23 09:08:37 2021 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Aug 27 03:34:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e672c12d

sci-libs/rocPRIM: bump version to 4.3.0

Enable src_test.
Enable install benchmark exes as /usr/bin/rocPRIM_benchmark*
Resolve GIT dependency error in this version

Closes: https://bugs.gentoo.org/772173
Closes: https://github.com/gentoo/gentoo/pull/22111
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 sci-libs/rocPRIM/Manifest             |  1 +
 sci-libs/rocPRIM/metadata.xml         |  3 ++
 sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild | 77 +++++++++++++++++++++++++++++++++++
 3 files changed, 81 insertions(+)

diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest
index 835473471bc..21e0c5acf8c 100644
--- a/sci-libs/rocPRIM/Manifest
+++ b/sci-libs/rocPRIM/Manifest
@@ -1 +1,2 @@
 DIST rocPRIM-4.0.0.tar.gz 285576 BLAKE2B 
44f3542068dee48c0f2bb475f4d3fd74592fe27f4ca00a7b754014deaaa7187c4363d4b2e7fe13ff771b48d2885b848b9632ef71ce85e80e0946e4e5f13495d8
 SHA512 
c37fce4f16788d82379459af69b9f47f2bccb3b0e655e7314a23936cc99a474afb0092f240bd950341f1b02ce93d03abce0df7ce62ffcb5d577171ce870dd1d2
+DIST rocPRIM-4.3.0.tar.gz 290071 BLAKE2B 
f69ada9859ef9238d4f8c50bc2b10d131c986dbd8982cc0c7f8614cd51746080aba3b3e7b0ef3e1d5006c179a823f4fcb8ce03cc0a4c88fad3cb46947c7b7fb6
 SHA512 
9925f832637d19360bf1624dd7a6ef931fb740ee725e35c3159a09a3c569af6f61e3337124c8e0561e60c8595d0d533a4402b91345056ff8d276c6e1dd491036

diff --git a/sci-libs/rocPRIM/metadata.xml b/sci-libs/rocPRIM/metadata.xml
index 3902658bd2f..69514726be6 100644
--- a/sci-libs/rocPRIM/metadata.xml
+++ b/sci-libs/rocPRIM/metadata.xml
@@ -16,4 +16,7 @@
   <upstream>
     <remote-id type="github">ROCmSoftwarePlatform/rocPRIM</remote-id>
   </upstream>
+    <use>
+        <flag name="benchmark">Build and install benchmark programs.</flag>
+    </use>
 </pkgmetadata>

diff --git a/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild 
b/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild
new file mode 100644
index 00000000000..98f626fe7f9
--- /dev/null
+++ b/sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated 
code on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocPRIM";
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-${PV}.tar.gz
 -> rocPRIM-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+
+RDEPEND="dev-util/hip:${SLOT}
+       benchmark? ( dev-cpp/benchmark )"
+BDEPEND="dev-util/rocm-cmake:${SLOT}
+       test? ( dev-cpp/gtest )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/rocPRIM-rocm-${PV}"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+       # "hcc" is depcreated, new platform ist "rocclr"
+       sed -e "/HIP_PLATFORM STREQUAL/s,hcc,rocclr," -i 
cmake/VerifyCompiler.cmake || die
+
+       # Install according to FHS
+       sed -e "/PREFIX rocprim/d" \
+               -e "/INSTALL_INTERFACE/s,rocprim/include,include/rocprim," \
+               -e "/DESTINATION/s,rocprim/include,include," \
+               -e "/rocm_install_symlink_subdir(rocprim)/d" \
+               -i rocprim/CMakeLists.txt || die
+
+       # disable downloading googletest and googlebenchmark
+       sed  -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i 
cmake/Dependencies.cmake || die
+
+       # remove GIT dependency
+       sed  -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i 
cmake/Dependencies.cmake || die
+
+       # install benchmark files
+       if use benchmark; then
+               sed -e 
"/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \
+                       -e "/add_executable/a\  install(TARGETS 
\${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die
+       fi
+
+       eapply_user
+       cmake_src_prepare
+}
+
+src_configure() {
+       # Grant access to the device
+       addwrite /dev/kfd
+       addpredict /dev/dri/
+
+       # Compiler to use
+       export CXX=hipcc
+
+       local mycmakeargs=(
+               -DBUILD_TEST=$(usex test ON OFF)
+               -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+               ${AMDGPU_TARGETS+-DAMDGPU_TARGETS="${AMDGPU_TARGETS}"}
+               -D__skip_rocmclang="ON" ## fix cmake-3.21 configuration issue 
caused by officialy support programming language "HIP"
+       )
+
+       cmake_src_configure
+}
+
+src_test() {
+       # Grant access to the device
+       addwrite /dev/kfd
+       addwrite /dev/dri/
+       cmake_src_test
+}

Reply via email to