commit:     19d1ab7275873463307a80f18ccfbd2c6534cb2d
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  9 06:16:17 2025 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Nov  9 09:07:08 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19d1ab72

dev-util/hip: add 7.1.0

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 dev-util/hip/Manifest         |   3 +
 dev-util/hip/hip-7.1.0.ebuild | 248 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 251 insertions(+)

diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest
index caba3f57f87f..018450ee21ee 100644
--- a/dev-util/hip/Manifest
+++ b/dev-util/hip/Manifest
@@ -1,9 +1,12 @@
 DIST hip-6.3.3.tar.gz 1486598 BLAKE2B 
998b28786c0b156cd1c23a01ce284206d1ad5cad1f207676b9d40994dc4f60d16a1f0804cfa287622826d78871ee19d2b5aa78dc29a69fe54ab50f08652bfd26
 SHA512 
70544467c5c262fab1e9415f5e77d0ec3b4635b6fa104de5d7ab2da0e2ca88fe40ce716068e50eaa17a807516cd41e2c0af22bcada3a1f7de50aa88283850e38
 DIST hip-6.4.3.tar.gz 1755257 BLAKE2B 
3db2d35a71ca2802e95043c5ef6d50db56b3e1412dcdb08ba7083675cccb898d2b06c2afdfc0e0f53648d09d2aa84f91cca00ecf297caa2784d07aae4b3573b6
 SHA512 
1fa32ca7f9f2024e66cbe0bd8faaeeaf5240ce2f962f5bfa29815ff7bdcf5c4c4dac2d0d0354c3a5215df6ebec1e1b32bc10e560d9292a0bd019da1773724e54
 DIST hip-7.0.2.tar.gz 1855072 BLAKE2B 
7ec17fda250019cb333bb41342e2d13141df39ba14f769881c3b85c1c0bf4e90d8e744a748731f8dfb12f3c004ba92486c5f48354d24141733fa90eb19c6ac59
 SHA512 
d2b0124a35a56f3b58b6decad670e9a06849de0760f4cc4e72acb1fcf32a84b694ceea9024db101e323e86d0f7fde5559ee815322ed95b3d3c9648a34b4c3754
+DIST hip-7.1.0.tar.gz 1883309 BLAKE2B 
64b3d55649b70af4c1c5537a9ebc2526ac2a61212ee743f44002599e3c16bc52624f38067badf11ff2ed144108d30cf473022d3ca5de983a9ce6cad64bef14f4
 SHA512 
e7bfb5de2f121bbdee96e3ce9f59b7513ab261546dd6b23005f43b7e56f64322b7350051c8c3e79d9244a65f9391576d2f9ecea4ea68f7180cb05099cb557394
 DIST hip-test-6.3.3.tar.gz 1446849 BLAKE2B 
474194bd7cef54af85eab0bc8fdfbe2360a9a22ab27f9014ebbb22f03952bfc014d682e2a0cbf90fcd365b4295df266a64419deebbce38aa7b5b7af9c979cc20
 SHA512 
65bde402804e95a09142bc2a9866bbef14068b63d09236d70086e15c3927ef29fb75d0859a90aa4bc75ebe03f94da85284b233fb41b95246bb45d1d8fee172ed
 DIST hip-test-6.4.3.tar.gz 1570417 BLAKE2B 
5b6bd3d1fcaaf724061ed686b6edc08b7ba308557ae0cb22785a04bc17b48aace50225a5e3c756a28bc741bb8fcaac8bff18b17f99a4458427b3489fef7dcd44
 SHA512 
5eed7da562f3807bb6ea8d737115dd45b775c2588c4131f2a19206d125b2b53d8adccbe189953219dd1091f18f08badec81cba524951b8a69626df9075db7a1c
 DIST hip-test-7.0.2.tar.gz 1639664 BLAKE2B 
f1fa00927901d282870f80fbd438280d8b66d67834796b7713244ea09ee7179bac3732442d591a3c8a7cbae3e86cbfa9dce64315d78b11b010a8fd4a76df448a
 SHA512 
524fc1311db2f4c5ed6cb7a97c72e7dd8808344e61ab493a8be407d4682e27c4c7239aec8eac32adfcc4cb01f34efb935d62cb6d4d4ba797b210c64cf4c61d02
+DIST hip-test-7.1.0.tar.gz 1616287 BLAKE2B 
9e87bb8c6fb9c136b5eeca4a1b320abbf282c95bf785524c78786b8cfeb5edbcf9e897fb437490907d0092f3dd38bf33bc6f5b2a98cc8ce739c2707112dd3819
 SHA512 
ef4fd8a00601b6d8c124077600195037e1660f5f1518feb6824dee43516db001572b021cbf1598b852169a2443787a0bc854c9624aa4701f24b24be21dfd32a4
 DIST rocm-clr-6.3.3.tar.gz 2095704 BLAKE2B 
bdb315fc9f1f9c76aa2a345bd48a600c81f3b72eb68fee8862b5e155e7519bef6f6421698a43358c6fe0200bb0b6924ff819860d9a91a5c07fc3e9d44eeb1b16
 SHA512 
94d2959b981b324e0dae2d06e86c72cd01fa495de081666bcec2445c02bada22aa60e94ecac0ee63e70e52275f92caeefcb6dc96a3f0fba593896be7b0d8ab42
 DIST rocm-clr-6.4.3.tar.gz 2126045 BLAKE2B 
eadeaa050e684373883faadfbf42d6b4152979154587afb1a2583bf9ddfb3ff9ab9787a433c8f380ac52012732ff2f68892ab256ec76f32557c164e9551745af
 SHA512 
38daec86ea9c8e60f420b4eec5e96d88a4e51585dcbb7352bec27f0c712f4b856f413c42e2585c031a81e8046065d76763c624500ba786ae0e9133278f00418c
 DIST rocm-clr-7.0.2.tar.gz 2171932 BLAKE2B 
b14c1e7f42e7bf0e7b3514095495524ae572f65fa28780ef74853540d2f2952f97e0d82be09f70756a860592e7ae0ef738239a34715dee79d9a293d02ce7337e
 SHA512 
eb80cd47c8a3e3fa8948cc58c6b8b158b2e2ae49f70a63f7040fe59a309bdd4f29334f6edc7950d13932c50162884288e27e2308b85293f68739402547d7ad36
+DIST rocm-clr-7.1.0.tar.gz 2153804 BLAKE2B 
6aa5660dba94b758e6c581887857527e95a25c5d1f538301bf519d7c8de46e127fed025c5e729a860e3399d6fa4007078f7ef9dd370621750b7823b7bc8f8a90
 SHA512 
3c25efa388b21d4dc4209e42c0c59639fa3a14cdb62851c33e3cb0467975266f49eee5b88d9f136c3d0ecf21c79f66b62638cd35e73f550659af8e7e9b15446b

diff --git a/dev-util/hip/hip-7.1.0.ebuild b/dev-util/hip/hip-7.1.0.ebuild
new file mode 100644
index 000000000000..4e90c13c7a81
--- /dev/null
+++ b/dev-util/hip/hip-7.1.0.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="media-gfx/graphviz"
+ROCM_SKIP_GLOBALS=1
+
+LLVM_COMPAT=( 20 )
+
+inherit cmake docs flag-o-matic llvm-r1 rocm
+
+TEST_PV=${PV}
+
+DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability"
+HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/clr";
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_SUBMODULES=()
+       EGIT_REPO_URI="https://github.com/ROCm/rocm-systems.git";
+       S="${WORKDIR}/${P}/projects/clr"
+       TEST_S="${WORKDIR}/${P}/projects/hip-tests"
+       HIP_S="${WORKDIR}/${P}/projects/hip"
+       SLOT="0/7.0"
+else
+       SRC_URI="
+               https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz 
-> rocm-clr-${PV}.tar.gz
+               https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz 
-> hip-${PV}.tar.gz
+               test? (
+                       
https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> 
hip-test-${TEST_PV}.tar.gz
+               )
+       "
+       S="${WORKDIR}/clr-rocm-${PV}/"
+       TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch"
+       HIP_S="${WORKDIR}/hip-rocm-${PV}"
+       KEYWORDS="~amd64"
+       SLOT="0/$(ver_cut 1-2)"
+fi
+
+LICENSE="MIT"
+
+IUSE="debug +hip numa opencl test video_cards_amdgpu video_cards_nvidia"
+
+# many tests are broken
+RESTRICT="test"
+
+REQUIRED_USE="
+       || ( hip opencl )
+       ^^ ( video_cards_amdgpu video_cards_nvidia )
+"
+
+DEPEND="
+       video_cards_amdgpu? (
+               dev-util/rocminfo:${SLOT}
+               dev-libs/rocm-comgr:${SLOT}
+               dev-libs/rocr-runtime:${SLOT}
+       )
+       video_cards_nvidia? ( dev-libs/hipother:${SLOT} )
+       x11-base/xorg-proto
+       virtual/opengl[X]
+       numa? ( sys-process/numactl )
+"
+BDEPEND="
+       video_cards_amdgpu? (
+               dev-util/hipcc:${SLOT}
+       )
+       test? (
+               media-libs/freeglut
+       )
+"
+RDEPEND="${DEPEND}
+       ~dev-libs/rocm-core-${PV}
+       opencl? (
+               !dev-libs/opencl-icd-loader
+               !dev-libs/rocm-opencl-runtime
+               !dev-util/clinfo
+               !dev-util/opencl-headers
+       )
+       video_cards_amdgpu? (
+               dev-util/hipcc:${SLOT}
+               dev-libs/rocm-device-libs:${SLOT}
+               dev-libs/roct-thunk-interface:${SLOT}
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-6.1.1-fix-musl.patch"
+       "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch"
+       "${FILESDIR}/${PN}-6.3.0-clr-fix-libcxx.patch"
+       "${FILESDIR}/${PN}-6.4.1-no-glibcxx-assert.patch"
+       "${FILESDIR}/${PN}-7.0.2-fix-libcxx-noinline.patch"
+)
+
+QA_FLAGS_IGNORED="usr/lib.*/libhiprtc-builtins.*"
+
+hip_test_wrapper() {
+       local CMAKE_USE_DIR="${TEST_S}"
+       local BUILD_DIR="${TEST_S}_build"
+       cd "${TEST_S}" || die
+       "${@}"
+}
+
+src_prepare() {
+       pushd "${HIP_S}" >/dev/null || die
+
+       # hipamd is itself built by cmake, and should never provide a
+       # FindHIP.cmake module. But the reality is some package relies on it.
+       # Set HIP and HIP Clang paths directly, don't search using heuristics
+       sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR 
\"${EPREFIX}/usr\"):" \
+               -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH 
\"$(get_llvm_prefix -d)/bin\"):" \
+               -i "cmake/FindHIP.cmake" || die
+       popd >/dev/null || die
+
+       sed -e "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die
+
+       # do not install /usr/share/doc/${P}-asan
+       sed -e "/asan COMPONENT asan/d" -i hipamd/packaging/CMakeLists.txt || 
die
+
+       sed -e "s/@HIP_INSTALLS_HIPCC@/ON/g" -i hipamd/hip-config.cmake.in || 
die
+
+       # skip installation of hipcc: installed via dev-util/hipcc
+       sed -e "s/NOT \${HIPCC_BIN_DIR}/INSTALL_HIPCC AND NOT 
\${HIPCC_BIN_DIR}/" \
+               -i "hipamd/CMakeLists.txt" || die
+
+       sed -e "/cmake_minimum_required/ s/3\.[35]/3.10/" \
+               -i "hipamd/src/hiprtc/cmake/hiprtc-config.cmake.in" \
+               -i opencl/khronos/icd/CMakeLists.txt \
+               -i opencl/khronos/headers/opencl2.2/tests/CMakeLists.txt || die
+
+       cmake_src_prepare
+
+       if use test; then
+               local PATCHES=(
+                       
"${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch
+                       "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch
+               )
+               sed -e "s/-Werror //" -e "s/-Wall -Wextra //" -i 
"${TEST_S}/CMakeLists.txt" || die
+
+               # policy not supported by CMake 4.0; and not needed
+               sed -e '/cmake_policy(SET CMP0037 OLD)/d' -i 
"${TEST_S}/CMakeLists.txt" || die
+
+               hip_test_wrapper cmake_src_prepare
+       fi
+}
+
+src_configure() {
+       # -Werror=strict-aliasing
+       # https://bugs.gentoo.org/858383
+       # https://github.com/ROCm/clr/issues/64
+       #
+       # Do not trust it for LTO either
+       append-flags -fno-strict-aliasing
+       filter-lto
+
+       use debug && CMAKE_BUILD_TYPE="Debug"
+
+       # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382
+       # See also: https://github.com/gentoo/gentoo/pull/29097
+       append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+       local mycmakeargs=(
+               -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)"
+               -DCMAKE_SKIP_RPATH=ON
+               -D__HIP_ENABLE_PCH=OFF
+
+               -DCLR_BUILD_HIP="$(usex hip)"
+               -DCLR_BUILD_OCL="$(usex opencl)"
+
+               -DHIP_COMMON_DIR="${HIP_S}"
+               -DHIP_ENABLE_ROCPROFILER_REGISTER=OFF
+               -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin"
+               -DROCM_PATH="${EPREFIX}/usr"
+               -DUSE_PROF_API=OFF
+
+               -DOpenGL_GL_PREFERENCE="GLVND"
+               -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
+               -DCMAKE_DISABLE_FIND_PACKAGE_NUMA="$(usex !numa)"
+               -DCMAKE_REQUIRE_FIND_PACKAGE_NUMA="$(usex numa)"
+       )
+
+       if use video_cards_amdgpu; then
+               mycmakeargs+=(
+                       -DHIP_PLATFORM="amd"
+               )
+       elif use video_cards_nvidia; then
+               mycmakeargs+=(
+                       -DHIPNV_DIR="${EPREFIX}/usr"
+                       -DHIP_PLATFORM="nvidia"
+               )
+       fi
+
+       cmake_src_configure
+
+       if use test; then
+               local mycmakeargs=(
+                       
-DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2"
+                       -DROCM_PATH="${EPREFIX}/usr"
+                       -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
+                       -Wno-dev
+
+                       # 1) Use custom build of hipamd instead of system one
+                       # 2) Build fails with libc++: 
https://github.com/llvm/llvm-project/issues/119076
+                       -DCMAKE_CXX_FLAGS="-I${BUILD_DIR}/hipamd/include 
-stdlib=libstdc++"
+                       -DCMAKE_EXE_LINKER_FLAGS="-L${BUILD_DIR}/hipamd/lib"
+               )
+               if use video_cards_amdgpu; then
+                       mycmakeargs+=(
+                               -DHIP_PLATFORM="amd"
+                       )
+               elif use video_cards_nvidia; then
+                       mycmakeargs+=(
+                               -DHIP_PLATFORM="nvidia"
+                       )
+               fi
+               hip_test_wrapper cmake_src_configure
+       fi
+}
+
+src_compile() {
+       cmake_src_compile
+
+       if use test; then
+               hip_test_wrapper cmake_src_compile build_tests
+       fi
+}
+
+src_test() {
+       check_amdgpu
+       export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib"
+
+       # TODO: research how to test Vulkan-related features.
+       local CMAKE_SKIP_TESTS=(
+               Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write
+               Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters
+               Unit_hipImportExternalMemory_Vulkan_Negative_Parameters
+               
Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore
+               
Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores
+               Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters
+               
Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore
+               
Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores
+               Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters
+               Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters
+               Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters
+       )
+
+       hip_test_wrapper cmake_src_test
+}

Reply via email to