diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest index 7fad75ca10aa8..d6f881d68138f 100644 --- a/dev-util/roctracer/Manifest +++ b/dev-util/roctracer/Manifest @@ -3,3 +3,4 @@ DIST roctracer-6.1.1.tar.gz 396688 BLAKE2B e332c3a6056d1678e3da511878fd2710a4eaa DIST roctracer-6.3.2.tar.gz 397366 BLAKE2B 0edc2e6483935dcbc8e905b1eac1d426c3e553491cbe119a8f6cba99cadad5c622ec7a0005e27e66d57f9baf4e3048033185cd38f32b4cfd17277d80673ac225 SHA512 d08657e8424cf2fbdee1caa46140dd90f45b5efe7c71a96c789b0bb350d7c36a9c725ae436bee00fb0948ab0de5fc5356f71082619edae1316922221c19eae1c DIST roctracer-6.3.3.tar.gz 397370 BLAKE2B dff4c796b7284c2107ef0d308ee16d640aab6e9ce49c769a84352837f3e29e24e09e71d5a1d1fe19d22d218e607e85f7fbe6b43ff1a0a1f6e04aa859baefd054 SHA512 50ee107b7c8676dd5d41d2b9433fce701807b954b3d6624c25c32d057bd3a50ad2c7f853cb287c7bb5dd1f5fe2c3b0ec4a7cb082d5ef545c17f2ae2644c1df7c DIST roctracer-6.4.1.tar.gz 398019 BLAKE2B 01a280650bf0eb669c7b0eb2f0d61b05475f055ef93e1cae1e5b99ad3046392f9465026f216766d80ff47b5f387e679104f71ec7b957a15412985cf31e4ce79d SHA512 9d4e6fd3010d11c73fab7539538db56c26ebea1225082b5e9ee9bd260f087a373b0984414a8bb8174bf8b291384570255a5da9f4b5be95d5af54a6519ca8c59e +DIST roctracer-6.4.3.tar.gz 398024 BLAKE2B bde34efb9640af84ae044a6fd507cdb1722e2f2f0610a7c1db176184c431af29f371a5d049eaa7cff5bb80e2f5db85430257d83527c11f5fde86f5f6b9442251 SHA512 c929786e2fbc34082d6d99c1f68e2ffd0eef1f9be31a6ccb385e50ec5059069b9d364f7a90301f184c966c01f9dfbd6cc6c1a4e8f5065c25d5f4d7673e42aad0 diff --git a/dev-util/roctracer/roctracer-6.4.3.ebuild b/dev-util/roctracer/roctracer-6.4.3.ebuild new file mode 100644 index 0000000000000..e99038363fc86 --- /dev/null +++ b/dev-util/roctracer/roctracer-6.4.3.ebuild @@ -0,0 +1,110 @@ +# 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/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-util/hip:${SLOT} + dev-libs/rocr-runtime +" +DEPEND="${RDEPEND}" +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}-6.3.0-fix-prettyprinter.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 + eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch) + + # 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++ may have 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 +} + +src_configure() { + rocm_use_hipcc + + 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" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -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 +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +}