3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{10..11} )
|
7 |
|
|
|
6 |
PYTHON_COMPAT=( python3_{10..13} )
|
8 |
7 |
ROCM_VERSION=${PV}
|
9 |
8 |
|
10 |
|
inherit cmake prefix python-any-r1 rocm
|
|
9 |
inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs
|
11 |
10 |
|
12 |
11 |
DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's"
|
13 |
|
HOMEPAGE="https://github.com/ROCm-Developer-Tools/roctracer.git"
|
14 |
|
SRC_URI="https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-${PV}.tar.gz -> rocm-tracer-${PV}.tar.gz"
|
|
12 |
HOMEPAGE="https://github.com/ROCm/roctracer"
|
|
13 |
SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
|
15 |
14 |
S="${WORKDIR}/roctracer-rocm-${PV}"
|
16 |
15 |
|
17 |
16 |
LICENSE="MIT"
|
... | ... | |
20 |
19 |
IUSE="test"
|
21 |
20 |
RESTRICT="!test? ( test )"
|
22 |
21 |
|
23 |
|
RDEPEND="dev-libs/rocr-runtime
|
24 |
|
dev-util/hip"
|
|
22 |
RDEPEND="
|
|
23 |
dev-util/hip:${SLOT}
|
|
24 |
dev-libs/rocr-runtime
|
|
25 |
"
|
25 |
26 |
DEPEND="${RDEPEND}"
|
26 |
27 |
BDEPEND="
|
27 |
28 |
$(python_gen_any_dep '
|
... | ... | |
30 |
31 |
')
|
31 |
32 |
"
|
32 |
33 |
|
33 |
|
PATCHES=( "${FILESDIR}"/roctracer-5.3.3-flat-lib-layout.patch
|
34 |
|
"${FILESDIR}"/roctracer-5.3.3-do-not-install-test-files.patch
|
35 |
|
"${FILESDIR}"/roctracer-5.3.3-Werror.patch )
|
|
34 |
PATCHES=(
|
|
35 |
"${FILESDIR}/${PN}-5.7.1-with-tests.patch"
|
|
36 |
"${FILESDIR}/${PN}-6.3.0-fix-prettyprinter.patch"
|
|
37 |
)
|
36 |
38 |
|
37 |
39 |
python_check_deps() {
|
38 |
40 |
python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \
|
39 |
41 |
"dev-python/ply[${PYTHON_USEDEP}]"
|
40 |
42 |
}
|
41 |
43 |
|
|
44 |
pkg_setup() {
|
|
45 |
python-any-r1_pkg_setup
|
|
46 |
}
|
|
47 |
|
42 |
48 |
src_prepare() {
|
43 |
49 |
cmake_src_prepare
|
44 |
50 |
|
45 |
51 |
hprefixify script/*.py
|
46 |
|
eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.3.3-rocm-path.patch)
|
|
52 |
eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch)
|
|
53 |
|
|
54 |
# Install libs directly into /usr/lib64
|
|
55 |
sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \
|
|
56 |
-i src/CMakeLists.txt plugin/file/CMakeLists.txt || die
|
|
57 |
|
|
58 |
# Remove all install commands for tests
|
|
59 |
sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die
|
|
60 |
|
|
61 |
# Test fails: https://github.com/ROCm/roctracer/issues/109
|
|
62 |
sed '/load_unload_reload_test/d' -i test/run.sh || die
|
|
63 |
|
|
64 |
# Fix search path for HIP cmake
|
|
65 |
sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die
|
|
66 |
|
|
67 |
# bug #892732
|
|
68 |
sed -e 's/-Werror//' -i CMakeLists.txt || die
|
|
69 |
|
|
70 |
# libc++ may have no experimental/filesystem
|
|
71 |
sed -e 's|experimental/||' -e 's|experimental::||' \
|
|
72 |
-i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \
|
|
73 |
src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die
|
47 |
74 |
}
|
48 |
75 |
|
49 |
76 |
src_configure() {
|
50 |
|
export ROCM_PATH="$(hipconfig -p)"
|
|
77 |
rocm_use_hipcc
|
|
78 |
|
|
79 |
if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then
|
|
80 |
# https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem
|
|
81 |
append-libs "-lc++fs"
|
|
82 |
fi
|
|
83 |
|
51 |
84 |
local mycmakeargs=(
|
52 |
|
-DCMAKE_MODULE_PATH="${EPREFIX}/usr/lib64/cmake/hip"
|
53 |
|
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
|
|
85 |
-DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip"
|
54 |
86 |
-DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
|
55 |
|
-DHIP_CXX_COMPILER=hipcc
|
|
87 |
-DWITH_TESTS=$(usex test)
|
|
88 |
-DPython3_EXECUTABLE="${PYTHON}"
|
|
89 |
)
|
|
90 |
use test && mycmakeargs+=(
|
|
91 |
-DHIP_ROOT_DIR="${EPREFIX}/usr"
|
|
92 |
-DGPU_TARGETS="$(get_amdgpu_flags)"
|
56 |
93 |
)
|
57 |
94 |
|
58 |
95 |
cmake_src_configure
|
... | ... | |
62 |
99 |
check_amdgpu
|
63 |
100 |
cd "${BUILD_DIR}" || die
|
64 |
101 |
# if LD_LIBRARY_PATH not set, dlopen cannot find correct lib
|
65 |
|
LD_LIBRARY_PATH="${EPREFIX}"/usr/lib64 bash run.sh || die
|
|
102 |
LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die
|
|
103 |
}
|
|
104 |
|
|
105 |
src_install() {
|
|
106 |
cmake_src_install
|
|
107 |
|
|
108 |
# remove unneeded copy
|
|
109 |
rm -r "${ED}/usr/share/doc/${PF}-asan" || die
|
66 |
110 |
}
|