commit:     f01b5a948a8445e5777a4eb611c4fd47f257aa10
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 23 10:36:59 2023 +0000
Commit:     罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Sat Dec 23 10:43:41 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f01b5a94

dev-util/hip: add 6.0.0

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

 dev-util/hip/Manifest         |   2 +
 dev-util/hip/hip-6.0.0.ebuild | 152 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 154 insertions(+)

diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest
index 13df1e2aaa2d..98d00a1edc40 100644
--- a/dev-util/hip/Manifest
+++ b/dev-util/hip/Manifest
@@ -1,11 +1,13 @@
 DIST hip-5.1.3-update-header.patch.gz 3406 BLAKE2B 
805539c3396a9cdcc4b807afd96eacd2de0e494a9ec927a1526cb8ce26b1c6e0a4d06415cd0210cba1398b5ff70f995fa67ad22b659578c075eb24c2a2cc9228
 SHA512 
eef4d70f9470a61d1d8cb140728cc4f2e792a4e64e0900a7410a74f3a6421410e7546e4e62bbbf35ae231b566bf162fb85de1f1ad1d8cfb2f282d2ed9a34b53a
 DIST hip-5.7.1.tar.gz 553774 BLAKE2B 
f88c235f688d3a662ec6cb4ad7fe3f82c0015015997871609cc30ab5b2f7fcb9709a08683d77194e45a6dbbe1d24c6355b128d2ecf655f1dea3468711c64e0a3
 SHA512 
68fa8753725b53c999d102d254c6b1dba53af4e00d6a48db93d10213cc02eec30b4a39c66e773d4f625dd9636cf8b0c5faa05b69fac27cf5a6b19dd3ddd2b905
+DIST hip-6.0.0.tar.gz 243451 BLAKE2B 
c404d23f7ee46a6c5601077d598edf4d6b2ca48da5e6cabf45c926ee1224eedc3d9eb6715948bc44cf3da2431a2feb879b1b8cd35bac69319c9dc066ab2e12f7
 SHA512 
2beb100812f9f515d6bc29fd4930913c2ff64c4f824727c9fc38d2e249841c840bd35357f652ab2b5022d166331de8f7409e72c49a5f69042f54f16a6a290339
 DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 
02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c
 SHA512 
89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca
 DIST rocclr-5.3.3.tar.gz 625944 BLAKE2B 
0cdbc1415a355e1d56628834846aaa8587c9827eeea59f4312b788e868265dcb42197181fd5ef411416da2e11662c7f665f578aa750ab88c3a5405bcc58ee449
 SHA512 
3f85532cffc09c2ca8e7cd1770263d1c1a38633ed2bc5cfe62072e12a6f8f669db400519950718be31f6b77693d372e2ef905f06c7f02e126aa9ff7d2da97924
 DIST rocclr-5.4.3.tar.gz 640557 BLAKE2B 
9ab91bab7ffb06c9c0d1c2ae79533fccc597071dda289ac375e32eb2965c638a7029951d2a49d46eeead9d7d242fe3a0cedb3e444d877af1bbf0e2d801c91e11
 SHA512 
c1d1a2ca08c2d762a221c04d394469aa7aff46086151333b145e0db9a7c7eb3dbbf8b9693e50d816aa9a13c16b4ebacf5ff3d5d8ff3393a8a764728ef5172d3a
 DIST rocclr-5.5.1.tar.gz 634330 BLAKE2B 
e6383a6b6b09f274a944d66effd345e38a191ec73ee5c5240f8ec8bb62a4df97b80835ce57f8f78c3834602b9da425b49289b5c7cd7e4c7071147ff409c6a6c9
 SHA512 
4c12011d22a4f14d9e93250b2a38716eb973139afa1adbbbd51c0e0ed13c0b7c1f45a37c71ef937c5fdabf09e928d7913ca3332fc61b7a2c10d21421306a228f
 DIST rocm-5.7.0.tar.gz 845881 BLAKE2B 
08255edc1407e5ef85895336b11496319695318fce265565728ad75175b5e1dfab98f696fee2d27e60c48e862f721fad4c53118cc70b807353fff5f97ed72ac2
 SHA512 
72420e16c7cfe9687e030331838666dabaa43d686bdad1d109431e44db99070a2cf6dd64b59e3275019abedd6612f6008c798a79275e7225b6b122fb9f644660
 DIST rocm-clr-5.7.1.tar.gz 2008647 BLAKE2B 
3db0760d6f83504e60caf88a2dd5e0bc02c7db9d6f263ad0eb2cfc79aa0f88a3699c412844a0158a796d9d02e79660287e791edad787d814eefffea4fd2298b4
 SHA512 
d79323481d82fc02c12a32cdcc0d14437d512af023e7737db0387b7eecb27fe6e4ae7c71d6adce57932a04bb24c880440d9dc10aeb5af11a4f2ca64d44330965
+DIST rocm-clr-6.0.0.tar.gz 1983453 BLAKE2B 
2cf6ec7c3b0ec5dedeea94ff54af30662b781fc2eee22e3315094af61dc9d331eba33c1d9d463295848c5724e515a3137f9b189c1261273afad1a5f9d32226c2
 SHA512 
12e77a121150d8c25121b98bd7c6233c2568f9f4130bdbe6bc3ab225f14b8bea6a6bdc4ed497c0f999d3d3daabdca0de8caaa1b69911c11974b5d6f951734433
 DIST rocm-hip-5.1.3.tar.gz 967696 BLAKE2B 
15cb52b5934b84acf515fe9c83b7c8982e00a23e20af933bdd2c4bc5b56fd42b08c8a08e840c85d2e0a8386d5a0e9c110504f68499989de1aaad00e9a5efcf43
 SHA512 
6b6fd6c12d73788df1711b12326b97fc7a184f319e0db114947b7967b75f2ee131f81e42e43a4981456b507221a6013133731120409f90214e13304299ccbc24
 DIST rocm-hip-5.3.3.tar.gz 1151858 BLAKE2B 
5f460b2078c850b3eb4414fcec4a6f951a3b282aa9828f77ba5d5adfdc0ee8d2e62c856e112a154c340daaf7dad49f4871412edd7b38f7fae2e6b17840ee144b
 SHA512 
e747cc10e78cd09009cac762f0e060be13f3447af7ec2a4a2889cbdc09cd76ecb1b5b58c89f09a3b45a8296c2c71e1c55baf113e58a5a12434af3de7168b8d87
 DIST rocm-hip-5.4.3.tar.gz 1195173 BLAKE2B 
7452ee7a874bc4703b0d3aaaf9fa2a51e223d5650c65c34982a9981dbe14e8ec70c93d7e70c5ad36a8d02c3d2214fa6a393e20502a01418fb3320d8cfe363feb
 SHA512 
1f4100e114576dcbad83aae453e21ab85cf25bd8a6ada380bb11cfc30e5f92ba903055b7257a099321a84b65adb444dd52b8258e82567f4bc882e65d89369b43

diff --git a/dev-util/hip/hip-6.0.0.ebuild b/dev-util/hip/hip-6.0.0.ebuild
new file mode 100644
index 000000000000..9f8f62ca11ad
--- /dev/null
+++ b/dev-util/hip/hip-6.0.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2023 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
+
+inherit cmake docs llvm rocm
+
+LLVM_MAX_SLOT=17
+
+TEST_PV=5.7.0 # No hip-test-5.7.1 release
+
+DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability"
+HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd";
+SRC_URI="https://github.com/ROCm-Developer-Tools/clr/archive/refs/tags/rocm-${PV}.tar.gz
 -> rocm-clr-${PV}.tar.gz
+       
https://github.com/ROCm-Developer-Tools/HIP/archive/refs/tags/rocm-${PV}.tar.gz 
-> hip-${PV}.tar.gz
+       test? ( 
https://github.com/ROCm-Developer-Tools/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz
 )"
+
+KEYWORDS="~amd64"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="!test? ( test )"
+IUSE="debug test"
+
+DEPEND="
+       dev-util/hipcc
+       >=dev-util/rocminfo-5
+       sys-devel/clang:${LLVM_MAX_SLOT}
+       dev-libs/rocm-comgr:${SLOT}
+       >=dev-libs/rocr-runtime-5.6
+       x11-base/xorg-proto
+       virtual/opengl
+"
+RDEPEND="${DEPEND}
+       dev-perl/URI-Encode
+       sys-devel/clang-runtime:=
+       >=dev-libs/roct-thunk-interface-5"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-5.7.0-install.patch"
+       "${FILESDIR}/${PN}-5.7.1-fix-unaligned-access.patch"
+       "${FILESDIR}/${PN}-5.7.1-exec-stack.patch"
+       "${FILESDIR}/${PN}-5.7.1-disable-stack-protector.patch"
+       "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch"
+       "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
+)
+
+S="${WORKDIR}/clr-rocm-${PV}/"
+
+hip_test_wrapper() {
+       local S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch"
+       local CMAKE_USE_DIR="${S}"
+       local BUILD_DIR="${S}_build"
+       cd "${S}" || die
+       $@
+}
+
+src_prepare() {
+       # hipamd is itself built by cmake, and should never provide a
+       # FindHIP.cmake module.
+       rm -r "${WORKDIR}"/HIP-rocm-${PV}/cmake/FindHIP* || die
+
+       # 
https://github.com/ROCm-Developer-Tools/HIP/commit/405d029422ba8bb6be5a233d5eebedd2ad2e8bd3
+       # 
https://github.com/ROCm-Developer-Tools/clr/commit/ab6d34ae773f4d151e04170c0f4e46c1135ddf3e
+       # Migrated to hip-test, but somehow the change is not applied to the 
tarball.
+       rm -rf "${WORKDIR}"/HIP-rocm-${PV}/tests || die
+       sed -e '/tests.*cmake/d' -i hipamd/CMakeLists.txt || die
+
+       cmake_src_prepare
+
+       if use test; then
+               
PATCHES=${FILESDIR}/hip-test-5.7.0-rocm_agent_enumerator-location.patch \
+                          hip_test_wrapper cmake_src_prepare
+       fi
+}
+
+src_configure() {
+       use debug && CMAKE_BUILD_TYPE="Debug"
+
+       local mycmakeargs=(
+               -DCMAKE_PREFIX_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+               -DCMAKE_BUILD_TYPE=${buildtype}
+               -DCMAKE_SKIP_RPATH=ON
+               -DBUILD_HIPIFY_CLANG=OFF
+               -DHIP_PLATFORM=amd
+               -DHIP_COMMON_DIR="${WORKDIR}/HIP-rocm-${PV}"
+               -DROCM_PATH="${EPREFIX}/usr"
+               -DUSE_PROF_API=0
+               -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+               -DCLR_BUILD_HIP=ON
+               -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin"
+               -DOpenGL_GL_PREFERENCE="GLVND"
+       )
+
+       cmake_src_configure
+
+       if use test; then
+               local mycmakeargs=(
+                       -DROCM_PATH="${BUILD_DIR}"/hipamd
+                       -DHIP_PLATFORM=amd
+               )
+               hip_test_wrapper cmake_src_configure
+       fi
+}
+
+src_compile() {
+       cmake_src_compile
+
+       if use test; then
+               HIP_PATH="${BUILD_DIR}"/hipamd \
+                       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
+       )
+
+       MAKEOPTS="-j1" hip_test_wrapper cmake_src_test
+}
+
+src_install() {
+       cmake_src_install
+
+       # files already installed by hipcc, which is a build dep
+       rm "${ED}/usr/bin/hipconfig.pl" || die
+       rm "${ED}/usr/bin/hipcc.pl" || die
+       rm "${ED}/usr/bin/hipcc" || die
+       rm "${ED}/usr/bin/hipcc.bin" || die
+       rm "${ED}/usr/bin/hipconfig" || die
+       rm "${ED}/usr/bin/hipconfig.bin" || die
+       rm "${ED}/usr/bin/hipvars.pm" || die
+}

Reply via email to