commit:     d683495a30ab97515b33c2dbed93262020c36af6
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Tue Mar 19 18:24:37 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 26 09:19:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d683495a

sci-libs/miopen: add 6.1.1

Changes:
* drop all old patches, except for enable-test
* add new patch for Clang 17 compatibility (official build uses Clang 18)
* new dependency on dev-util/roctracer
* set >=dev-libs/half-1.12.0-r1 depencency to find half/half.hpp automatically
* add myself to maintainers
* add include path for dev-libs/half (works even then half.hpp is installed 
into /usr/include)

Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/miopen/Manifest                           |   1 +
 .../files/miopen-6.1.1-build-all-tests.patch       |  13 +++
 sci-libs/miopen/metadata.xml                       |   6 +-
 sci-libs/miopen/miopen-5.1.3-r1.ebuild             |   1 +
 sci-libs/miopen/miopen-5.7.1-r1.ebuild             |   1 +
 sci-libs/miopen/miopen-6.1.1.ebuild                | 104 +++++++++++++++++++++
 6 files changed, 125 insertions(+), 1 deletion(-)

diff --git a/sci-libs/miopen/Manifest b/sci-libs/miopen/Manifest
index 13af314de19a..2b9827766bf0 100644
--- a/sci-libs/miopen/Manifest
+++ b/sci-libs/miopen/Manifest
@@ -1,3 +1,4 @@
 DIST MIOpen-5.1.3.tar.gz 88118329 BLAKE2B 
d24722ffc5f5dab6d6a1de2ce34193ad2f25c9a2562e38c52e010a29870f01d9ea1c56970ba0601a088c8286e97958ee95d0da27fc8082126dd2ebe5ccb36b70
 SHA512 
a14e28cfcb12e5061e0e7b999ef3e67fa0a0e897e31bc50e7288b8a23eb1791312e33d3b697021c2b654ccc065ae1b046c1cfd77ba8e04b0f3e87e9cc0626dcd
 DIST MIOpen-5.7.1.tar.gz 100751593 BLAKE2B 
c5f847fe4374ab22737c281a65401125012328412d584fc09244b431ea6265d6d5028429115ee15fa8b04cbe0edd020e4e7ac8deb22561183ed76cb8c3d4d9d4
 SHA512 
3354b3b154f29a6337403abc5a71ec47c0b2558320c5a1b0cbfbbdb370c4fada2db12d4a19a312b5e30ca2e2302ee50ece3390603e84d132b2212a168e9523fa
+DIST MIOpen-6.1.1.tar.gz 101935496 BLAKE2B 
5aadaa5eefa1b22dedfe87deb36f8acdbe57962cac8b7b6b20bc76f136ef29f0441e48112010280c2e674a1ae9fd202ca3e07be47cf4a4bc797234d6dc618be5
 SHA512 
b8860583919bf2f3e0da7ace30fdb0595ab45b85a367be3737e0b15a22a5565b8d6660c652ee070f21c36ac7d17ef3ba8e2eda7ed89bd6a0c65a4df799626d1a
 DIST gtest-1.11.0_p20210611.tar.gz 887296 BLAKE2B 
8f29b7028a6dd8190a113cd93398705b23b61d88bee38beaf9dcc0dfc8a463aed7fcd3719f6f1b131d4363aa57231629aaeffa108f6558efb58416cfface6d6e
 SHA512 
cf9e7f3fd3e31ce6677eac355fb8bfe19c5b56a8ec3af8b9417d0904cdf5da92f99f7411a08131cc9fa4fc7d38e6a71fcfac993648e47b269a74a27de7607f7a

diff --git a/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch 
b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch
new file mode 100644
index 000000000000..49ec1ccbff3b
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch
@@ -0,0 +1,13 @@
+Normally, MIOpen compiles tests during test phase instead of "compile".
+This patch allows to build testing executables during compile phase.
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -330,7 +330,7 @@ endfunction()
+ separate_arguments(MIOPEN_TEST_FLAGS_ARGS NATIVE_COMMAND ${MIOPEN_TEST_FLAGS})
+ 
+ function(add_test_executable TEST_NAME)
+-    add_executable (${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN})
++    add_executable (${TEST_NAME} ${ARGN})
+     if(WIN32)
+         target_compile_definitions(${TEST_NAME} PRIVATE NOMINMAX)
+     endif()

diff --git a/sci-libs/miopen/metadata.xml b/sci-libs/miopen/metadata.xml
index 08c299887077..e08e7753394d 100644
--- a/sci-libs/miopen/metadata.xml
+++ b/sci-libs/miopen/metadata.xml
@@ -12,7 +12,11 @@
     <email>[email protected]</email>
     <name>Yiyang Wu</name>
   </maintainer>
+  <maintainer type="person">
+    <email>[email protected]</email>
+    <name>Sv. Lockal</name>
+  </maintainer>
   <upstream>
-    <remote-id type="github">ROCmSoftwarePlatform/MIOpen</remote-id>
+    <remote-id type="github">ROCm/MIOpen</remote-id>
   </upstream>
 </pkgmetadata>

diff --git a/sci-libs/miopen/miopen-5.1.3-r1.ebuild 
b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
index 2ef5b8fb50b8..7d02435948f7 100644
--- a/sci-libs/miopen/miopen-5.1.3-r1.ebuild
+++ b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
@@ -87,6 +87,7 @@ src_configure() {
                -DMIOPEN_USE_MLIR=OFF
                -DBUILD_TESTS=$(usex test ON OFF)
                -DMIOPEN_TEST_ALL=$(usex test ON OFF)
+               -DHALF_INCLUDE_DIR="${EPREFIX}/usr/include/half"
        )
 
        if use test; then

diff --git a/sci-libs/miopen/miopen-5.7.1-r1.ebuild 
b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
index 93bcde8190ae..b13e6354554f 100644
--- a/sci-libs/miopen/miopen-5.7.1-r1.ebuild
+++ b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
@@ -91,6 +91,7 @@ src_configure() {
                -DBUILD_TESTS=$(usex test ON OFF)
                -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
                -DROCM_SYMLINK_LIBS=OFF
+               -DHALF_INCLUDE_DIR="${EPREFIX}/usr/include/half"
        )
 
        if use test; then

diff --git a/sci-libs/miopen/miopen-6.1.1.ebuild 
b/sci-libs/miopen/miopen-6.1.1.ebuild
new file mode 100644
index 000000000000..7cf62bdcb790
--- /dev/null
+++ b/sci-libs/miopen/miopen-6.1.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+LLVM_COMPAT=( 18 )
+
+inherit cmake flag-o-matic llvm-r1 rocm
+
+DESCRIPTION="AMD's Machine Intelligence Library"
+HOMEPAGE="https://github.com/ROCm/MIOpen";
+SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz -> 
MIOpen-${PV}.tar.gz"
+S="${WORKDIR}/MIOpen-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-util/hip
+       >=dev-db/sqlite-3.17
+       sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+       sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}]
+       dev-util/roctracer:${SLOT}[${ROCM_USEDEP}]
+       >=dev-libs/boost-1.72
+       dev-cpp/nlohmann_json
+       dev-cpp/frugally-deep
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+       >=dev-libs/half-1.12.0-r1
+       dev-build/rocm-cmake
+       test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch
+)
+
+src_prepare() {
+       cmake_src_prepare
+
+       sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \
+               -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \
+               -i CMakeLists.txt || die
+
+       sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build 
${BUILD_DIR}:" \
+               -i test/CMakeLists.txt || die
+
+       sed -e 
"s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \
+               -i src/CMakeLists.txt || die
+}
+
+src_configure() {
+       if ! use debug; then
+               append-cflags "-DNDEBUG"
+               append-cxxflags "-DNDEBUG"
+               CMAKE_BUILD_TYPE="Release"
+       else
+               CMAKE_BUILD_TYPE="Debug"
+       fi
+
+       local mycmakeargs=(
+               -DCMAKE_SKIP_RPATH=ON
+               -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+               -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+               -DMIOPEN_BACKEND=HIP
+               -DBoost_USE_STATIC_LIBS=OFF
+               -DMIOPEN_USE_MLIR=OFF
+               -DBUILD_TESTING=$(usex test ON OFF)
+               -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+               -DROCM_SYMLINK_LIBS=OFF
+               -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc"
+               -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang"
+               -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang"
+       )
+
+       if use test; then
+               mycmakeargs+=(
+                       -DMIOPEN_TEST_ALL=ON
+                       -DMIOPEN_TEST_GDB=OFF
+               )
+               # needed by rocminfo
+               addpredict /dev/random
+               check_amdgpu
+       fi
+
+       CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+       check_amdgpu
+       LD_LIBRARY_PATH="${BUILD_DIR}"/lib 
MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1
+}
+
+src_install() {
+       cmake_src_install
+}

Reply via email to