diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest index 84d0e371cce7..c2e5b8112a5a 100644 --- a/dev-util/roctracer/Manifest +++ b/dev-util/roctracer/Manifest @@ -1,3 +1,4 @@ DIST roctracer-6.3.3.tar.gz 397370 BLAKE2B dff4c796b7284c2107ef0d308ee16d640aab6e9ce49c769a84352837f3e29e24e09e71d5a1d1fe19d22d218e607e85f7fbe6b43ff1a0a1f6e04aa859baefd054 SHA512 50ee107b7c8676dd5d41d2b9433fce701807b954b3d6624c25c32d057bd3a50ad2c7f853cb287c7bb5dd1f5fe2c3b0ec4a7cb082d5ef545c17f2ae2644c1df7c DIST roctracer-6.4.3.tar.gz 398024 BLAKE2B bde34efb9640af84ae044a6fd507cdb1722e2f2f0610a7c1db176184c431af29f371a5d049eaa7cff5bb80e2f5db85430257d83527c11f5fde86f5f6b9442251 SHA512 c929786e2fbc34082d6d99c1f68e2ffd0eef1f9be31a6ccb385e50ec5059069b9d364f7a90301f184c966c01f9dfbd6cc6c1a4e8f5065c25d5f4d7673e42aad0 DIST roctracer-7.0.2.tar.gz 396833 BLAKE2B 96160adad5c472b3f581fd3ce58893473f2e98a27748101902351702337e2be5ce79172939a8039af286a164350fe6fad3eb92c9615fa4b39ec6187601d008dc SHA512 1ce20c747c26068a855122dabdfbfc401bb3137939459268b1dfe866adf7c6403439ef8f051586cb85655b49ebb09541c90ce8626c5d10f0b654c1c001266477 +DIST roctracer-7.1.0.tar.gz 396003 BLAKE2B d3f4c0a7cac255953f817a2fcce8e18bd7b19fe350c855f49f51180d4a5b81a00aad679827512039c737a71f61545746ef3ac6f00561a55d4e61f52830ceebaf SHA512 6be2cc54cbeee28fccf663f0534c6fc2a54cca1421d529a7af1000ae7204d8b7498780c7ef43e8b459f4e3f776427b86fede6c77e706f3199fa267466afc4796 diff --git a/dev-util/roctracer/roctracer-7.1.0.ebuild b/dev-util/roctracer/roctracer-7.1.0.ebuild new file mode 100644 index 000000000000..cd744561e4a3 --- /dev/null +++ b/dev-util/roctracer/roctracer-7.1.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/roctracer" +SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/rocr-runtime:${SLOT} + dev-libs/rocm-comgr:${SLOT} +" +DEPEND=" + ${RDEPEND} + dev-util/hip:${SLOT} +" +BDEPEND=" + $(python_gen_any_dep " + dev-python/cppheaderparser[\${PYTHON_USEDEP}] + dev-python/ply[\${PYTHON_USEDEP}] + ") +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-with-tests.patch" + "${FILESDIR}/${PN}-7.0.1-fix-matrixtranspose-test.patch" +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + + # Install libs directly into /usr/lib64 + sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Test fails: https://github.com/ROCm/roctracer/issues/109 + sed '/load_unload_reload_test/d' -i test/run.sh || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die + + # bug #892732 + sed -e 's/-Werror//' -i CMakeLists.txt || die + + # libc++ has no experimental/filesystem + sed -e 's|experimental/||' -e 's|experimental::||' \ + -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \ + src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die + + # Use clang set by rocm_use_clang instead of any clang + sed -e "s/COMMAND clang/COMMAND \${CMAKE_CXX_COMPILER}/" \ + -e "s/DEPENDS \${INPUT_FILE} clang/DEPENDS \${INPUT_FILE}/" \ + -i test/CMakeLists.txt || die + + sed -e "s/COMPONENT asan/COMPONENT asan EXCLUDE_FROM_ALL/" \ + -i CMakeLists.txt src/CMakeLists.txt plugin/file/CMakeLists.txt || die +} + +src_configure() { + rocm_use_clang + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then + # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem + append-libs "-lc++fs" + fi + + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DWITH_TESTS=$(usex test) + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +}