Install this version:
emerge -a =dev-util/rocm-smi-10.0.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-util/rocm-smi-10.0.0
Or alternatively:
emerge --autounmask-write -a =dev-util/rocm-smi-10.0.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 10.0.0 | 8 | ~amd64 | 0/$(ver_cut 1-2) |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
inherit cmake linux-info optfeature python-r1
DESCRIPTION="ROCm System Management Interface Library"
HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocm-smi-lib"
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_SUBMODULES=()
EGIT_REPO_URI="https://github.com/ROCm/rocm-systems.git"
S="${WORKDIR}/${P}/projects/rocm-smi-lib"
else
# Post-7.2.4 component assets use therock-* tags; ROCm 10 renumbers the
# 7.13/7.14 line. The asset itself remains unversioned.
SRC_URI="https://github.com/ROCm/rocm-systems/releases/download/therock-$(ver_cut 1-2)/rocm-smi-lib.tar.gz -> rocm-smi-${PV}.tar.gz"
KEYWORDS="~amd64"
S="${WORKDIR}/rocm-smi-lib"
fi
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}
sys-kernel/linux-headers
x11-libs/libdrm[video_cards_amdgpu]
"
# The unwanted example target remains under rocm_smi/, despite its absence at
# the archive root. # verified 2026-08-30
PATCHES=(
"${FILESDIR}"/${PN}-10.0.0-remove-example.patch
)
CONFIG_CHECK="~HSA_AMD ~DRM_AMDGPU"
src_prepare() {
cmake_src_prepare
# Disable .git probes and guard sed anchors because no-match succeeds. Match
# both historical find_program spellings. # verified 2026-08-29
grep -qE 'find_program ?\(GIT NAMES git\)' CMakeLists.txt ||
die "GIT find_program anchor moved"
sed -e "/find_program \?(GIT NAMES git)/d" -i CMakeLists.txt || die
grep -qF 'num_change_since_prev_pkg(${VERSION_PREFIX})' cmake_modules/utils.cmake ||
die "num_change_since_prev_pkg anchor moved"
sed -e "/num_change_since_prev_pkg(\${VERSION_PREFIX})/d" -i cmake_modules/utils.cmake || die
local rocm_lib="${EPREFIX}/usr/$(get_libdir)/librocm_smi64.so.@VERSION_MAJOR@"
grep -qE 'path_librocm =.+__file__.+' python_smi_tools/rsmiBindingsInit.py.in ||
die "path_librocm anchor moved; python bindings would load the wrong soname"
sed -E "s|path_librocm =.+__file__.+|path_librocm = '${rocm_lib}'|" \
-i python_smi_tools/rsmiBindingsInit.py.in || die
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
)
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
python_foreach_impl python_domodule python_smi_tools/rsmiBindingsInit.py
mv "${ED}"/usr/share/doc/rocm-smi-lib/* "${ED}/usr/share/doc/${PF}" || die
rm -r "${ED}"/usr/share/doc/rocm-smi-lib || die
}
pkg_postinst() {
optfeature "vendor and device names instead of hex device IDs" sys-apps/hwdata
}