summaryrefslogtreecommitdiff
path: root/dev-util/rocm-smi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-09 01:07:53 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-09 01:07:53 +0000
commit4464bf26d93bdcc80e0b1330fe9c9caef26b34fc (patch)
tree62f9e9438bf700cf277191db5d7c3a641bc972dc /dev-util/rocm-smi
parent8edd4a48a39640822abe6ddb7b2a1d5b2da4ea70 (diff)
gentoo auto-resync : 09:03:2024 - 01:07:53
Diffstat (limited to 'dev-util/rocm-smi')
-rw-r--r--dev-util/rocm-smi/Manifest5
-rw-r--r--dev-util/rocm-smi/files/rocm-smi-5.7.1-no-strip.patch36
-rw-r--r--dev-util/rocm-smi/files/rocm-smi-5.7.1-remove-example.patch14
-rw-r--r--dev-util/rocm-smi/files/rocm-smi-5.7.1-set-soversion.patch112
-rw-r--r--dev-util/rocm-smi/rocm-smi-5.7.1.ebuild58
5 files changed, 225 insertions, 0 deletions
diff --git a/dev-util/rocm-smi/Manifest b/dev-util/rocm-smi/Manifest
index 61bc296d306f..2637b1b5e441 100644
--- a/dev-util/rocm-smi/Manifest
+++ b/dev-util/rocm-smi/Manifest
@@ -1,9 +1,14 @@
AUX rocm-smi-5.0.2-gcc12-memcpy.patch 605 BLAKE2B 8dcf4c74b9f1ccf832d71cc8b54d50aa1c7c2978bd70c359875548b753bcf52b54bfefe30b34aecc211499c9b46a9b0e62661ef8725c1c1ef3cde81da669b581 SHA512 7a39dcae0fd99fc82b92fca0a9080d42f9378065f120712132a42841ed67c056ff469e3b13760181f5d96861c1169fe8c6f0426e5351e5b67d6439605a11c41f
AUX rocm-smi-5.1.3-detect-builtin-amdgpu.patch 983 BLAKE2B c1d926ce5ce1bef272f718f1f37869e5432993ca016ff7278cc14d7744d61efc813ee100e462bb9bb1bd61975fb620e82eaab37abe94bf415a9e40815919f59a SHA512 cd22af4b79ef366d10a36d663faf89c60a618aa9394fcac96d3521a9b9d1d270d20e216d918f18222930d883a8e2c72588ef97ab5a60086eed950a0ccfc7cddb
AUX rocm-smi-5.4.2-detect-builtin-amdgpu.patch 1071 BLAKE2B 1957d49b0c3c1f9db24add59b8dd464c6ce8571ded2601cb259a0686938e4fb718b6affd99c366f6e8aa360f53034c0e7c231dd3518bcab84bb8d5a755c4ebb5 SHA512 a531b3ae4b73dcd03e6f3de3da4dbf1250e6a6d05ec052fa8ff412f65233b5fcd418a7128f9b913aa71e1bbf970ba5b74c7b407a0654e1030f695e7f13ebd5dc
+AUX rocm-smi-5.7.1-no-strip.patch 1405 BLAKE2B 703eafdfe552afe3d2d4d67af2e847b42669b09b8b553b7a77e46f39f3a960174380187f5927b3a4c686dded54b4d9fa6be6c5c862ea2a023bf84224de3be5b6 SHA512 60806893c6ae7fe4c66ae927528f0db13c75f74c464885a251ac5e021bf61aaa5f529cca3de72c9c49dd993375039e0052bbccb4c3065a17849852c9283e20c5
+AUX rocm-smi-5.7.1-remove-example.patch 560 BLAKE2B 6f541822947e6f458e5c553c307e137de63db884d7933dd5dad752990c7f4c15d02c47d66dd399d053368d79ab0b6d8237adb1d7c3fae28a9b03d0c34006d027 SHA512 e3be170af0d6f8b4e238e9f9940ac91748fd9b45a0f43fb1c7286d676c2a878a05aeb260e6248bc66ba93adcea5d4c7bc22ce6db6a248cee20d678fdfa7d07ec
+AUX rocm-smi-5.7.1-set-soversion.patch 4614 BLAKE2B 0e7f520a2e01536c2e6248e78394857d3d513d93b8cc25a8236e2e04b4d3046ce4b5b0c51beee49eec2943cdb220983dbea223b2082c5e7df7ed086a076e49b1 SHA512 4ee5074617753c9ea0d7a4b6b89e1e6499df6a560e2b201a4c909ccf76000e5fa89d26ffbe7fb7e597ac208ff64fbd7ed1dc61a209fa2c57dcad8843c0282d0b
DIST rocm-smi-5.1.3.tar.gz 1701386 BLAKE2B c5e779f5c33fec0b1b39b09c758dfadd3c24e28f15381593f2959e5c2fb9f49af3a7ca1f9ab7d6bf34c5af4fbe3f0c0ae20c6c049cbf9421a9184735bb4a64a2 SHA512 7bf7af2b42a035c298c2f9009b6123671af41f9ca1a50607cfa362f39dbd82ff88f8c13ece6c4edab585edadd9072ed096a400dd3850851e1beef3633a8eb14e
DIST rocm-smi-5.4.2.tar.gz 1553259 BLAKE2B 0560e115028caafb1d5dd8892cfa677431b792714ecd8c75f31451fa7685d1c7070cbd687c894d7eefd112de5e2df9aa7895aa57821db207dffc4e8890898638 SHA512 0fd651593df0ebbcb2c2327d030d2674efacdb6e883daa5a8adf733db2bde3e5d16dc304856221f4bb07a3cd834944ffcc7ebd689624f7ba24ffd6c262ba74b8
+DIST rocm-smi-5.7.1.tar.gz 801646 BLAKE2B b4799bbdaeb7203c16117cd30511d589a2b96e15801bb9f1382fe7a4d87d43e1d4b458d6923b6ebd602fdccba74bd65bcb98766dbd83c48fc3e02219be8c1022 SHA512 ad364278f137228a39108c93d482635137ea2724a5a39debb5b32329493ebf5c706dcf3863e2e24b6f0b6286f3877942277f5ae447446f155518972b957f7d9d
EBUILD rocm-smi-5.1.3-r1.ebuild 1850 BLAKE2B 9f7cbf7d5ec55ac112980609f8a924b5678aa4fa5cf75cdda3d80ad90c15ecb5f1d129a21c0248985d7f4e792abbcd3f0d822e8e10e76314ebaa5fc240632ae9 SHA512 30181897335c17d81a9d9dce8c4417c62fe66a20d557251158bf2a8ffe6fc075e51878a4bd42708ef47a89022fd03a97b4dccca1f5ee450d098cf66af1095158
EBUILD rocm-smi-5.4.2.ebuild 1454 BLAKE2B 1025768cbe75bb5d815631868c8d9f72ba6dd19a2a0483b0f6fa992a89af4b018731ab247df3679bb836e88e961d80cc94f6550dab70dc00ba25e3d642f5af74 SHA512 5e124efaa71e74ab5b5063244d757f8e9eddc22dbf10d1878c1a5d7ad04dbc88b366470596d4ee48bb489b26bb30e90f8fab51ca756fa0315e5a673971ae8d7e
+EBUILD rocm-smi-5.7.1.ebuild 1467 BLAKE2B 7812eaf57110f53ab96ace5656db11ad89599a90b0af6f8163c7eb3f17649cb3837eacf6475abbc117a1ea2b416d7426399dca3508a69e2fffc7e871c1e8ec5b SHA512 748a1722ce13c714837fb8b586a31e0b2ae4e36968829e027217100159fa5adf1c4fef0da0b0d1d30b50dfdaed24f09064159abf9175d2efb6b5b138e758c778
EBUILD rocm-smi-9999.ebuild 1454 BLAKE2B 1025768cbe75bb5d815631868c8d9f72ba6dd19a2a0483b0f6fa992a89af4b018731ab247df3679bb836e88e961d80cc94f6550dab70dc00ba25e3d642f5af74 SHA512 5e124efaa71e74ab5b5063244d757f8e9eddc22dbf10d1878c1a5d7ad04dbc88b366470596d4ee48bb489b26bb30e90f8fab51ca756fa0315e5a673971ae8d7e
MISC metadata.xml 661 BLAKE2B ed6ec563956132012b44907f348091135c7a463fc47a51ac0726e7749da9a4c33811df87442e576fb510799a50c14949cd20c8ca10a5850ee941a8794b70ef7d SHA512 c047963068b4ccefb73539ecd91b4c3310f0863a674acb15e9843dda7f0c917616dc8cbfe5f859e42d9ee25323bf1b66b1ce7fbe9a2e8292963ac38aa0bd72f3
diff --git a/dev-util/rocm-smi/files/rocm-smi-5.7.1-no-strip.patch b/dev-util/rocm-smi/files/rocm-smi-5.7.1-no-strip.patch
new file mode 100644
index 000000000000..07796295e71e
--- /dev/null
+++ b/dev-util/rocm-smi/files/rocm-smi-5.7.1-no-strip.patch
@@ -0,0 +1,36 @@
+--- a/oam/CMakeLists.txt
++++ b/oam/CMakeLists.txt
+@@ -82,15 +82,6 @@ set_property(TARGET ${OAM_TARGET} PROPERTY
+ set_property(TARGET ${OAM_TARGET} PROPERTY
+ VERSION "${SO_VERSION_STRING}")
+
+-## If the library is a release, strip the target library
+-if ("${CMAKE_BUILD_TYPE}" STREQUAL Release)
+- if(${BUILD_SHARED_LIBS}) #striping only for .so
+- add_custom_command(
+- TARGET ${OAM_TARGET}
+- POST_BUILD COMMAND ${CMAKE_STRIP} lib${OAM_TARGET}.so)
+- endif()
+-endif ()
+-
+ # use the target_include_directories() command to specify the include directories for the target
+ target_include_directories(${OAM_TARGET}
+ PUBLIC
+--- a/rocm_smi/CMakeLists.txt
++++ b/rocm_smi/CMakeLists.txt
+@@ -103,15 +103,6 @@ set_property(TARGET ${ROCM_SMI_TARGET} PROPERTY
+ set_property(TARGET ${ROCM_SMI_TARGET} PROPERTY
+ VERSION "${SO_VERSION_STRING}")
+
+-## If the library is a release, strip the target library
+-if ("${CMAKE_BUILD_TYPE}" STREQUAL Release)
+- if(${BUILD_SHARED_LIBS}) #stripping only for .so
+- add_custom_command(
+- TARGET ${ROCM_SMI_TARGET}
+- POST_BUILD COMMAND ${CMAKE_STRIP} lib${ROCM_SMI_TARGET}.so.${SO_VERSION_STRING})
+- endif()
+-endif ()
+-
+ #file reorganization changes
+ #rocm_smi.py moved to libexec/rocm_smi. so creating rocm-smi symlink
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
diff --git a/dev-util/rocm-smi/files/rocm-smi-5.7.1-remove-example.patch b/dev-util/rocm-smi/files/rocm-smi-5.7.1-remove-example.patch
new file mode 100644
index 000000000000..18e1f4c78b5d
--- /dev/null
+++ b/dev-util/rocm-smi/files/rocm-smi-5.7.1-remove-example.patch
@@ -0,0 +1,14 @@
+Remove example; unused, only generates not important QA warnings
+--- a/rocm_smi/CMakeLists.txt
++++ b/rocm_smi/CMakeLists.txt
+@@ -76,8 +76,10 @@ set(SMI_INC_LIST "")
+
+ set(SMI_EXAMPLE_EXE "rocm_smi_ex")
+
++if (WITH_EXAMPLE)
+ add_executable(${SMI_EXAMPLE_EXE} "example/rocm_smi_example.cc")
+ target_link_libraries(${SMI_EXAMPLE_EXE} ${ROCM_SMI_TARGET})
++endif()
+ add_library(${ROCM_SMI_TARGET} ${CMN_SRC_LIST} ${SMI_SRC_LIST}
+ ${CMN_INC_LIST} ${SMI_INC_LIST})
+ target_link_libraries(${ROCM_SMI_TARGET} pthread rt)
diff --git a/dev-util/rocm-smi/files/rocm-smi-5.7.1-set-soversion.patch b/dev-util/rocm-smi/files/rocm-smi-5.7.1-set-soversion.patch
new file mode 100644
index 000000000000..203b179d3faa
--- /dev/null
+++ b/dev-util/rocm-smi/files/rocm-smi-5.7.1-set-soversion.patch
@@ -0,0 +1,112 @@
+Forcefully set rocm_smi64 soversion to 1.
+Before intoduction of git-based versioning, soversion was 1.0.
+
+This patch repeats approach of similar patch from Debian, additionally removing dependency from git.
+https://salsa.debian.org/rocm-team/rocm-smi-lib/-/blob/master/debian/patches/0007-rocm_smi64-soversion.patch
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,27 +30,6 @@ set(SHARE_INSTALL_PREFIX
+ "share/${ROCM_SMI}"
+ CACHE STRING "Tests and Example install directory")
+
+-# provide git to utilities
+-find_program (GIT NAMES git)
+-
+-## Setup the package version based on git tags.
+-set(PKG_VERSION_GIT_TAG_PREFIX "rsmi_pkg_ver")
+-get_package_version_number("5.0.0" ${PKG_VERSION_GIT_TAG_PREFIX} GIT)
+-message("Package version: ${PKG_VERSION_STR}")
+-set(${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR "${VERSION_MAJOR}")
+-set(${AMD_SMI_LIBS_TARGET}_VERSION_MINOR "${VERSION_MINOR}")
+-set(${AMD_SMI_LIBS_TARGET}_VERSION_PATCH "0")
+-set(${AMD_SMI_LIBS_TARGET}_VERSION_BUILD "0")
+-
+-# The following default version values should be updated as appropriate for
+-# ABI breaks (update MAJOR and MINOR), and ABI/API additions (update MINOR).
+-# Until ABI stabilizes VERSION_MAJOR will be 0. This should be over-ridden
+-# by git tags (through "git describe") when they are present.
+-set(PKG_VERSION_MAJOR 1)
+-set(PKG_VERSION_MINOR 0)
+-set(PKG_VERSION_PATCH 0)
+-set(PKG_VERSION_NUM_COMMIT 0)
+-
+ ## Define default variable and variables for the optional build target
+ ## rocm_smi_lib-dev
+ set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory.")
+--- a/oam/CMakeLists.txt
++++ b/oam/CMakeLists.txt
+@@ -29,23 +29,10 @@ set(OAM_NAME "oam")
+ set(OAM_COMPONENT "lib${OAM_NAME}")
+ set(OAM_TARGET "${OAM_NAME}")
+
+-################# Determine the library version #########################
+-set(SO_VERSION_GIT_TAG_PREFIX "oam_so_ver")
+-
+-# VERSION_* variables should be set by get_version_from_tag
+-message("Package version: ${PKG_VERSION_STR}")
+-
+-# Debian package specific variables
+-# Set a default value for the package version
+-get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT)
+-
+-# VERSION_* variables should be set by get_version_from_tag
+-if ( ${ROCM_PATCH_VERSION} )
+- set ( VERSION_PATCH ${ROCM_PATCH_VERSION})
+- set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
+-else()
+- set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}")
+-endif ()
++set(VERSION_MAJOR "1")
++set(VERSION_MINOR "0")
++
++set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}")
+ set(${OAM_NAME}_VERSION_MAJOR "${VERSION_MAJOR}")
+ set(${OAM_NAME}_VERSION_MINOR "${VERSION_MINOR}")
+ set(${OAM_NAME}_VERSION_PATCH "0")
+--- a/python_smi_tools/rsmiBindings.py.in
++++ b/python_smi_tools/rsmiBindings.py.in
+@@ -9,19 +9,9 @@ from enum import Enum
+
+ import os
+
+-# Use ROCm installation path if running from standard installation
+-# With File Reorg rsmiBindings.py will be installed in /opt/rocm/libexec/rocm_smi.
+-# relative path changed accordingly
+-path_librocm = os.path.dirname(os.path.realpath(__file__)) + '/../../@CMAKE_INSTALL_LIBDIR@/librocm_smi64.so.@VERSION_MAJOR@'
+-if not os.path.isfile(path_librocm):
+- print('Unable to find %s . Trying /opt/rocm*' % path_librocm)
+- for root, dirs, files in os.walk('/opt', followlinks=True):
+- if 'librocm_smi64.so.@VERSION_MAJOR@' in files:
+- path_librocm = os.path.join(os.path.realpath(root), 'librocm_smi64.so.@VERSION_MAJOR@')
+- if os.path.isfile(path_librocm):
+- print('Using lib from %s' % path_librocm)
+- else:
+- print('Unable to find librocm_smi64.so.@VERSION_MAJOR@')
++path_librocm = ctypes.util.find_library("rocm_smi64")
++if not path_librocm:
++ print('Unable to find librocm_smi64.so')
+
+ # ----------> TODO: Support static libs as well as SO
+
+--- a/rocm_smi/CMakeLists.txt
++++ b/rocm_smi/CMakeLists.txt
+@@ -31,17 +31,8 @@ set(ROCM_SMI_TARGET "${ROCM_SMI}64")
+ ## Include common cmake modules
+ include(utils)
+
+-################# Determine the library version #########################
+-set(SO_VERSION_GIT_TAG_PREFIX "rsmi_so_ver")
+-
+-# VERSION_* variables should be set by get_version_from_tag
+-message("Package version: ${PKG_VERSION_STR}")
+-
+-# Debian package specific variables
+-# Set a default value for the package version
+-get_version_from_tag("5.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT)
+-
+-# VERSION_* variables should be set by get_version_from_tag
++set(VERSION_MAJOR "1")
++set(VERSION_MINOR "0")
+ if ( ${ROCM_PATCH_VERSION} )
+ set ( VERSION_PATCH ${ROCM_PATCH_VERSION})
+ set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
diff --git a/dev-util/rocm-smi/rocm-smi-5.7.1.ebuild b/dev-util/rocm-smi/rocm-smi-5.7.1.ebuild
new file mode 100644
index 000000000000..5fd0811bd980
--- /dev/null
+++ b/dev-util/rocm-smi/rocm-smi-5.7.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake python-r1
+
+DESCRIPTION="ROCm System Management Interface Library"
+HOMEPAGE="https://github.com/RadeonOpenCompute/rocm_smi_lib"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/rocm_smi_lib"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-${PV}.tar.gz -> rocm-smi-${PV}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/rocm_smi_lib-rocm-${PV}"
+fi
+
+LICENSE="MIT NCSA-AMD"
+SLOT="0/$(ver_cut 1-2)"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+
+S="${WORKDIR}/rocm_smi_lib-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.7.1-set-soversion.patch
+ "${FILESDIR}"/${PN}-5.7.1-no-strip.patch
+ "${FILESDIR}"/${PN}-5.7.1-remove-example.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed "s/\${PKG_VERSION_STR}/${PV}/g" \
+ -i CMakeLists.txt -i oam/CMakeLists.txt -i rocm_smi/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ python_foreach_impl python_newscript python_smi_tools/rocm_smi.py rocm-smi
+ python_foreach_impl python_domodule python_smi_tools/rsmiBindings.py
+
+ mv "${ED}"/usr/share/doc/rocm_smi "${ED}"/usr/share/doc/${PF} || die
+}