87 lines
1.9 KiB
Bash
87 lines
1.9 KiB
Bash
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
LLVM_COMPAT=( 20 )
|
|
ROCM_SKIP_GLOBALS=1
|
|
inherit cmake linux-info llvm-r1 rocm
|
|
|
|
if [[ ${PV} == *9999 ]] ; then
|
|
EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/"
|
|
inherit git-r3
|
|
else
|
|
SRC_URI="https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
|
|
S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
|
|
KEYWORDS="~amd64"
|
|
fi
|
|
|
|
DESCRIPTION="Radeon Open Compute Thunk Interface"
|
|
HOMEPAGE="https://github.com/ROCm/ROCT-Thunk-Interface"
|
|
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
|
|
LICENSE="MIT"
|
|
SLOT="0/$(ver_cut 1-2)"
|
|
|
|
RDEPEND="sys-process/numactl
|
|
x11-libs/libdrm[video_cards_amdgpu]"
|
|
DEPEND="${RDEPEND}
|
|
test? (
|
|
$(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
|
|
dev-cpp/gtest
|
|
)"
|
|
|
|
IUSE="test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
CMAKE_BUILD_TYPE=Release
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${PN}-5.7.1-musl.patch"
|
|
"${FILESDIR}/${PN}-6.1.0-visibility.patch"
|
|
"${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch"
|
|
"${FILESDIR}/kfdtest-6.1.0-libpath.patch"
|
|
"${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
|
|
)
|
|
|
|
test_wrapper() {
|
|
local S="$1"
|
|
shift 1
|
|
local CMAKE_USE_DIR="${S}"
|
|
local BUILD_DIR="${S}_build"
|
|
cd "${S}" || die
|
|
$@
|
|
}
|
|
|
|
src_prepare() {
|
|
sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
|
|
)
|
|
cmake_src_configure
|
|
|
|
if use test; then
|
|
export LIBHSAKMT_PATH="${BUILD_DIR}"
|
|
local mycmakeargs=(
|
|
-DLLVM_DIR="$(get_llvm_prefix)"
|
|
)
|
|
test_wrapper "${S}/tests/kfdtest" cmake_src_configure
|
|
fi
|
|
}
|
|
|
|
src_compile() {
|
|
cmake_src_compile
|
|
if use test; then
|
|
LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
|
|
fi
|
|
}
|
|
|
|
src_test() {
|
|
check_amdgpu
|
|
TESTDIR="${S}/tests/kfdtest_build/"
|
|
cd "${TESTDIR}" || die
|
|
PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
|
|
}
|