diff --git a/dev-util/umr/Manifest b/dev-util/umr/Manifest new file mode 100644 index 0000000..426d7b2 --- /dev/null +++ b/dev-util/umr/Manifest @@ -0,0 +1 @@ +DIST umr-1.0.10.tar.bz2 7531238 BLAKE2B 003e1390becf7115379e8e37cac47de85977c1d6ac3f111129265f2fbf32a0c440d9525cb43b2ce7c22ad4d9d96a033e4aadabb8267e8ed124f681aa7832bcba SHA512 da07e4f9d368d97865452cc1b7ea1fb0e3b0ec5ad4fda7de32252e7efffb529d2a860febb4039aaf2904fb9729308f40f781bdd34169cba533411e8fc4c896ba diff --git a/dev-util/umr/umr-1.0.10.ebuild b/dev-util/umr/umr-1.0.10.ebuild index 46189df..d0ef858 100644 --- a/dev-util/umr/umr-1.0.10.ebuild +++ b/dev-util/umr/umr-1.0.10.ebuild @@ -1,56 +1,85 @@ -# Copyright 1999-2024 Gentoo Authors -EAPI=7 +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 -inherit git-r3 cmake +EAPI=8 -DESCRIPTION="User Mode Register Debugger for AMDGPU Hardware" -HOMEPAGE="https://gitlab.freedesktop.org/tomstdenis/umr" -# SRC_URI="" -EGIT_REPO_URI="https://gitlab.freedesktop.org/tomstdenis/umr.git" -EGIT_COMMIT="${PV}" +LLVM_COMPAT=( {18..20} ) -LICENSE="MIT" +inherit cmake flag-o-matic linux-info llvm-r2 + +DESCRIPTION="umr is a userspace debugging and diagnostic tool for AMD GPUs" +HOMEPAGE="https://gitlab.freedesktop.org/tomstdenis/umr/" +SRC_URI="https://gitlab.freedesktop.org/tomstdenis/umr/-/archive/${PV}/${P}.tar.bz2" + +LICENSE="MIT NCSA-AMD" SLOT="0" -KEYWORDS="~amd64" # ~x86" -IUSE="+server" +KEYWORDS="~amd64" + +#todo: +#* conditional building and installing of umrtest +#* optional gui +#* imgui creates files in working directory -BDEPEND=" - dev-build/cmake - dev-build/ninja - - sys-libs/ncurses - virtual/pkgconfig - x11-libs/libpciaccess - x11-libs/libdrm - dev-libs/libffi - sys-libs/zlib - app-arch/zstd - dev-libs/libxml2 - media-libs/libglvnd - media-libs/mesa - dev-libs/nanomsg -" DEPEND=" - ${BDEPEND} + dev-libs/nanomsg:= + media-libs/libglvnd + media-libs/libsdl2 + media-libs/mesa[opengl] + sys-libs/ncurses:= + x11-libs/libdrm + x11-libs/libpciaccess + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig " -# S="${WORKDIR}/umr" +pkg_setup() { + if kernel_is -lt 4 10; then + # from the readme + ewarn "It supports hardware from SI based hardware onwards and requires a v4.10 kernel" + ewarn "or newer to function correctly. Older kernels (not older than v4.8) may work" + ewarn "but with limited functionality/stability. Older kernels are not supported" + ewarn "officially so please refrain from submitting bug reports in relation to them." + fi + + llvm-r2_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if [[ ${PV} != 9999 ]]; then + sed -i -e "s/^get_version_from_tag(\".*\")/get_version_from_tag(\"${PV}\")/" CMakeLists.txt || die + fi +} src_configure() { - local mycmakeargs=() - if ! use server; then - mycmakeargs+=("-DUMR_NO_SERVER=ON") - fi - cmake_src_configure + # strict-aliasing violations + filter-lto + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DUMR_NO_DRM=OFF + -DUMR_NO_LLVM=OFF + -DUMR_STATIC_LLVM=OFF + -DUMR_NEED_RT=OFF + -DUMR_GUI=ON + -DUMR_SERVER=ON + -DOpenGL_GL_PREFERENCE=GLVND + -DCMAKE_DISABLE_FIND_PACKAGE_bash-completion=ON + ) + cmake_src_configure } -src_compile() { - cmake_src_compile -} +src_test() { + local -x UMRTESTPATH="${BUILD_DIR}/src/test/umrtest" + local -x UMRAPPPATH="${BUILD_DIR}/src/app/umr" -src_install() { - cmake_src_install - dolib.so "${S}_build/src/lib/libumrcore.so" - dolib.so "${S}_build/src/app/libumrapp.so" - dolib.so "${S}_build/src/lib/lowlevel/linux/libumrlow.so" + set -- bash test/runtest.sh norebuild + einfo "${@}" + "${@}" || die } diff --git a/metadata/md5-cache/dev-util/umr-1.0.10 b/metadata/md5-cache/dev-util/umr-1.0.10 index 70cf8e7..24b347a 100644 --- a/metadata/md5-cache/dev-util/umr-1.0.10 +++ b/metadata/md5-cache/dev-util/umr-1.0.10 @@ -1,14 +1,16 @@ -BDEPEND=dev-build/cmake dev-build/ninja sys-libs/ncurses virtual/pkgconfig x11-libs/libpciaccess x11-libs/libdrm dev-libs/libffi sys-libs/zlib app-arch/zstd dev-libs/libxml2 media-libs/libglvnd media-libs/mesa dev-libs/nanomsg >=dev-vcs/git-1.8.2.1[curl] app-alternatives/ninja >=dev-build/cmake-3.20.5 -DEFINED_PHASES=compile configure install prepare test unpack -DEPEND=dev-build/cmake dev-build/ninja sys-libs/ncurses virtual/pkgconfig x11-libs/libpciaccess x11-libs/libdrm dev-libs/libffi sys-libs/zlib app-arch/zstd dev-libs/libxml2 media-libs/libglvnd media-libs/mesa dev-libs/nanomsg -DESCRIPTION=User Mode Register Debugger for AMDGPU Hardware -EAPI=7 -HOMEPAGE=https://gitlab.freedesktop.org/tomstdenis/umr -INHERIT=git-r3 cmake -IUSE=+server +BDEPEND=virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 +DEFINED_PHASES=compile configure install prepare setup test +DEPEND=dev-libs/nanomsg:= media-libs/libglvnd media-libs/libsdl2 media-libs/mesa[opengl] sys-libs/ncurses:= x11-libs/libdrm x11-libs/libpciaccess llvm_slot_18? ( llvm-core/llvm:18= ) llvm_slot_19? ( llvm-core/llvm:19= ) llvm_slot_20? ( llvm-core/llvm:20= ) +DESCRIPTION=umr is a userspace debugging and diagnostic tool for AMD GPUs +EAPI=8 +HOMEPAGE=https://gitlab.freedesktop.org/tomstdenis/umr/ +INHERIT=cmake flag-o-matic linux-info llvm-r2 +IUSE=+llvm_slot_19 llvm_slot_18 llvm_slot_20 KEYWORDS=~amd64 -LICENSE=MIT -PROPERTIES=live +LICENSE=MIT NCSA-AMD +RDEPEND=dev-libs/nanomsg:= media-libs/libglvnd media-libs/libsdl2 media-libs/mesa[opengl] sys-libs/ncurses:= x11-libs/libdrm x11-libs/libpciaccess llvm_slot_18? ( llvm-core/llvm:18= ) llvm_slot_19? ( llvm-core/llvm:19= ) llvm_slot_20? ( llvm-core/llvm:20= ) +REQUIRED_USE=^^ ( llvm_slot_18 llvm_slot_19 llvm_slot_20 ) SLOT=0 -_eclasses_=git-r3 875eb471682d3e1f18da124be97dcc81 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 -_md5_=5846302042329137c55a037fc116af4d +SRC_URI=https://gitlab.freedesktop.org/tomstdenis/umr/-/archive/1.0.10/umr-1.0.10.tar.bz2 +_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 linux-info ea4122ba1d8791a12b78e53f9510a2e3 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm-r2 9a549740244000fae24a65594bde09c1 +_md5_=15a12fbe77ff6195367405d214f1ffdb