summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYiyangWu <xgreenlandforwyy@gmail.com>2021-08-23 17:08:37 +0800
committerBenda Xu <heroxbd@gentoo.org>2021-08-27 11:34:42 +0800
commite672c12d3fdb2308325afb5b877d34a7a6b00d7a (patch)
tree090da39cdb6ce1d8d6ec186ace478656813de2c3 /sci-libs
parentdev-scheme/ypsilon: fix DeprecatedInsinto (diff)
downloadgentoo-e672c12d3fdb2308325afb5b877d34a7a6b00d7a.tar.gz
gentoo-e672c12d3fdb2308325afb5b877d34a7a6b00d7a.tar.bz2
gentoo-e672c12d3fdb2308325afb5b877d34a7a6b00d7a.zip
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@gmail.com> Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/rocPRIM/Manifest1
-rw-r--r--sci-libs/rocPRIM/metadata.xml3
-rw-r--r--sci-libs/rocPRIM/rocPRIM-4.3.0.ebuild77
3 files changed, 81 insertions, 0 deletions
diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest
index 835473471bc6..21e0c5acf8c2 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 3902658bd2f1..69514726be69 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 000000000000..98f626fe7f9a
--- /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
+}