commit:     887957b7c72e0800578c0dda835bcb1032098aec
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Wed Jun 11 05:46:34 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 14 22:37:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=887957b7

sci-libs/hipCUB: add 6.4.1

Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42554
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/hipCUB/Manifest                           |  1 +
 .../files/hipCUB-6.4.1-no-tests-install.patch      | 20 +++++++
 sci-libs/hipCUB/hipCUB-6.4.1.ebuild                | 62 ++++++++++++++++++++++
 3 files changed, 83 insertions(+)

diff --git a/sci-libs/hipCUB/Manifest b/sci-libs/hipCUB/Manifest
index e16f2cfa0c55..49cc0060ff7c 100644
--- a/sci-libs/hipCUB/Manifest
+++ b/sci-libs/hipCUB/Manifest
@@ -2,3 +2,4 @@ DIST hipCUB-5.7.1.tar.gz 322980 BLAKE2B 
a9b2a69b47661532858f18e7296ef37be41da814
 DIST hipCUB-6.1.1.tar.gz 343181 BLAKE2B 
3943278597c5e9d41c225ad86c3cdcc113f35cf1bf218ba357a112c25ae14df8d0e3f385aacd82ab4c694ae2382012aea06c02d40d982d00929d03d0d3908b55
 SHA512 
37297f6791146cc9db11d3d494555672c021dea06bec1e8a780ca926df1e5de140c8ee560657668df6221279a0418af9e34a235b3b52df3df2a66adabea7ca6f
 DIST hipCUB-6.3.2.tar.gz 387546 BLAKE2B 
b0d4d487fc1f799e10cd684255fe4bb31ed7329d0ea628c818df560d506aa2b4e5bdb08b007aab9ee95492a3fecf6f559c5c9724df15fe7da86d9aed84951c6b
 SHA512 
735610735e4584ded05b30d99ae9042d3ccd4590689fc2c415eb45fb2fd0d7ab431704709bdd066341ec10284ca0f4c1ad108c188f95949ce962b6a75eb57e19
 DIST hipCUB-6.3.3.tar.gz 387580 BLAKE2B 
e0b605835be2b685c1cfa099a807e30fa061af8b14bafa1167c8249383230761a0d08532c831d3cb015e8e1b58119899d3cb7330990ca046045ea40058ee03e5
 SHA512 
2ec96088d34edeff48f8ee103a619f2ca7c741dcb020a3d1833a00e2072510790a563e98662aef7aa2a348034f3c8169ee39dcc61ab95202c734901ba53dfa4b
+DIST hipCUB-6.4.1.tar.gz 420053 BLAKE2B 
c5fde544499b8ebb16ed4a1c51621255120e1d672a9ddab3eab5019f759fc5345b2e2f363486c6956bd57a502215afa45208d849e2c4424366d28cdfac6548dd
 SHA512 
2cbbf74e060dde3b6e354f38611079407c0cb6d9954af5402be7ee8b77667f7ccb08be676f9f50b5ce1a480e77da6302d852e8c4af8885ee924d79da39179c47

diff --git a/sci-libs/hipCUB/files/hipCUB-6.4.1-no-tests-install.patch 
b/sci-libs/hipCUB/files/hipCUB-6.4.1-no-tests-install.patch
new file mode 100644
index 000000000000..eb902c00aebd
--- /dev/null
+++ b/sci-libs/hipCUB/files/hipCUB-6.4.1-no-tests-install.patch
@@ -0,0 +1,20 @@
+Exclude test-related files from installation
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -43,16 +43,8 @@ function(add_relative_test test_name test_target)
+     endif()
+     file(RELATIVE_PATH rel_path "${CMAKE_CURRENT_BINARY_DIR}" 
"${EXE_PATH}/${EXE_NAME}")
+     add_test(NAME "${test_name}" COMMAND "./${rel_path}")
+-    rocm_install(TARGETS ${test_target} COMPONENT tests)
+     file(APPEND "${INSTALL_TEST_FILE}" "add_test(${test_name} 
\"../${EXE_NAME}\")\n")
+ endfunction()
+ 
+ # hipCUB tests
+ add_subdirectory(hipcub)
+-
+-rocm_install(
+-    FILES "${INSTALL_TEST_FILE}"
+-    DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}"
+-    COMPONENT tests
+-    RENAME "CTestTestfile.cmake"
+-)

diff --git a/sci-libs/hipCUB/hipCUB-6.4.1.ebuild 
b/sci-libs/hipCUB/hipCUB-6.4.1.ebuild
new file mode 100644
index 000000000000..92d497cbda10
--- /dev/null
+++ b/sci-libs/hipCUB/hipCUB-6.4.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives"
+HOMEPAGE="https://github.com/ROCm/hipCUB";
+SRC_URI="https://github.com/ROCm/hipCUB/archive/rocm-${PV}.tar.gz -> 
hipCUB-${PV}.tar.gz"
+S="${WORKDIR}/hipCUB-rocm-${PV}"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="benchmark test"
+REQUIRED_USE="
+       benchmark? ( ${ROCM_REQUIRED_USE} )
+       test? ( ${ROCM_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip:${SLOT}
+       sci-libs/rocPRIM:${SLOT}
+       benchmark? ( dev-cpp/benchmark )
+       test? ( dev-cpp/gtest )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.4.1-no-tests-install.patch
+)
+
+src_prepare() {
+       sed -e "s:set(ROCM_INSTALL_LIBDIR lib):set(ROCM_INSTALL_LIBDIR 
$(get_libdir)):" \
+               -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       rocm_use_hipcc
+
+       local mycmakeargs=(
+               -DGPU_TARGETS="$(get_amdgpu_flags)"
+               -DBUILD_TEST=$(usex test ON OFF)
+               -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+               -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+       )
+
+       cmake_src_configure
+}
+
+src_test() {
+       check_amdgpu
+       # Expected time on gfx1100 (-j32) is 85s
+       # HipcubDeviceHistogramMultiEven/0.MultiEven in 6.4.1 has bad array 
access (probably fixed in the future release)
+       local CMAKE_SKIP_TESTS=(hipcub.DeviceHistogram)
+       cmake_src_test
+}

Reply via email to