sci-libs/rocPRIM: add 5.1.3, using rocm.eclass

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
This commit is contained in:
Yiyang Wu
2022-07-15 00:35:43 +08:00
committed by Benda Xu
parent abdf31db4c
commit 34c25897d4
2 changed files with 75 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
DIST rocPRIM-4.0.0.tar.gz 285576 BLAKE2B 44f3542068dee48c0f2bb475f4d3fd74592fe27f4ca00a7b754014deaaa7187c4363d4b2e7fe13ff771b48d2885b848b9632ef71ce85e80e0946e4e5f13495d8 SHA512 c37fce4f16788d82379459af69b9f47f2bccb3b0e655e7314a23936cc99a474afb0092f240bd950341f1b02ce93d03abce0df7ce62ffcb5d577171ce870dd1d2
DIST rocPRIM-4.3.0.tar.gz 290071 BLAKE2B f69ada9859ef9238d4f8c50bc2b10d131c986dbd8982cc0c7f8614cd51746080aba3b3e7b0ef3e1d5006c179a823f4fcb8ce03cc0a4c88fad3cb46947c7b7fb6 SHA512 9925f832637d19360bf1624dd7a6ef931fb740ee725e35c3159a09a3c569af6f61e3337124c8e0561e60c8595d0d533a4402b91345056ff8d276c6e1dd491036
DIST rocPRIM-5.0.2.tar.gz 364102 BLAKE2B 4e56f37c8ed02a4c4dadfab25e1e840c85c90b6f656858ad15dfa0f8de38b8f130d49a49461dfa09d3f07389e57b2a9cdefe5958b6faa80a639f98d276ca3e66 SHA512 d4d14203d721f7f62f35b2af91c261366f150a24fc21dc5a508743ee5a6246a6a3ad437db03f3ddaad5799cc2ba6d7b8d1e37a8e038eb4156d7962313e36f520
DIST rocPRIM-5.1.3.tar.gz 374510 BLAKE2B ab6960e7bd2159ac7a0d72ba6d594684f8d47028eca0940eabd35b346ac3d432a734ec575ee71341f339a9d0dead10dfafe81fb651a3b7da681aa900a5132d0e SHA512 54e14f2b40795153b862a64c9b3d336f35feccfda725daad75fae356b0147c577735884b65218c26c370ebec710af0f84aeef3103067a50db077cf9e24d2b64a

View File

@@ -0,0 +1,74 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ROCM_VERSION=${PV}
inherit cmake rocm
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"
REQUIRED_USE="${ROCM_REQUIRED_USE}"
RDEPEND="dev-util/hip
benchmark? ( dev-cpp/benchmark )
test? ( dev-cpp/gtest )"
BDEPEND="dev-util/rocm-cmake
>=dev-util/cmake-3.22"
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() {
addpredict /dev/kfd
addpredict /dev/dri/
local mycmakeargs=(
-DSKIP_RPATH=On
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-DBUILD_TEST=$(usex test ON OFF)
-DBUILD_BENCHMARK=$(usex benchmark ON OFF)
)
CXX=hipcc cmake_src_configure
}
src_test() {
check_amdgpu
MAKEOPTS="-j1" cmake_src_test
}