dev-libs/xrt-xdna: fix live ebuild

Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
This commit is contained in:
Sv. Lockal
2026-04-04 20:54:51 +08:00
parent 75b862efd3
commit 5bc19df8c8
2 changed files with 51 additions and 24 deletions

View File

@@ -3,8 +3,5 @@ DIST XRT-f848f6f0.tar.gz 14660501 BLAKE2B a9d23772b069296446cc9688679493dca4c4d5
DIST aie-rt-a8b06671.tar.gz 858418 BLAKE2B 4ec9c12ef3377baf6b17d9081c043b4cc9180a8a94ad1b5be5f15ce1a191cc534b5a128c7fcac55212e20f1d991e128d87282b6b794954cec1f1ca253f355ab3 SHA512 93e5d998a8f93b10aa588812ed9c38c3029d6f97702777372915aefe74113cfa430d3b60b8facf85877f07d1c234716a7f8080454a87fc3440fa6e364439201b
DIST aiebu-9065273e.tar.gz 18201124 BLAKE2B 59eca62198a79732c1a93d0532c63e965c944a978ae4349313d7f6dacd967842aa2451a1ed9e29f42be88612df77b986488fc14047354167c635fcbb6af5c0b1 SHA512 bd7eb639e1ce3b486b0146192e97a7d7156e9ac2ad56383a78aeba26e8eff29159bba590fb1d404f6ee38705a0fc68ff624e792d7bb9ba9f93c2cef062a99adf
DIST xrt-xdna-202610.2.21.21.tar.gz 15181567 BLAKE2B 31ff27118ac9474c7b3ff7f820660ba768be001a4ccd7a5c71293065557794ab60a61c8bcb157cdaa961af8da59dade77d423c17827e2d537d40a1f4018b8430 SHA512 7e7fefefe8c57ed8ecadb85a4e40b9e7e1d899116de8924fd1c47a6974429258378d5f7b576d01dbdc1653b3e7f03043b5152a5b6f130f00b5c9d23142fc4b02
DIST xrt_smi_npu3-c79b5d21.a 30398964 BLAKE2B 09caebb9ca2ec708b5927d24afe173cb91903f080e3aa394b33caaa3cff759f66c92c5fa403e71c346ede333af24c384a55451c2ebfedef5fa60484864683b09 SHA512 bb39c8d7080a852aa0d33dd9b226caca571a8fdbfad863d1ec15f4c822813a8c99dbcff2d4f3d129b7c43c4d203c5d2b83f67fdbad9530eed969b89bd34266a3
DIST xrt_smi_phx-5f7fec23.a 274220 BLAKE2B 1344cd651aded08075d47a63e3028bfd88016fcec0677c0d72e6880b772ab08a37b2b57d4f3ab20c37adf88c9fbd83b0082bdc41629c136a4518e8a662860cb3 SHA512 e0b587e36f3a52c24413f1600c3be175d8629a64283815e59d1296592a88d2c3f3f476d7b57ef591b9c2174d26375837780af121fac8ea8d4e601cfbba3381c2
DIST xrt_smi_phx-c79b5d21.a 274220 BLAKE2B 1344cd651aded08075d47a63e3028bfd88016fcec0677c0d72e6880b772ab08a37b2b57d4f3ab20c37adf88c9fbd83b0082bdc41629c136a4518e8a662860cb3 SHA512 e0b587e36f3a52c24413f1600c3be175d8629a64283815e59d1296592a88d2c3f3f476d7b57ef591b9c2174d26375837780af121fac8ea8d4e601cfbba3381c2
DIST xrt_smi_strx-5f7fec23.a 33048194 BLAKE2B 5364d58551b05e63f1819256daa8e76082de870209d33f03239c071a800ba013e250ff14d5d49c0637bcd5f1aaa6f5c60aba530ee5575514b3123bf13c182586 SHA512 ba2149ae9272f3da7c960bedcc0299c2cabb91ae5af8a392c86f2003dccc9ab15146e3029b556be0a2dd78a244c8dc860489af37ea0dd8f1b30999b1b377a883
DIST xrt_smi_strx-c79b5d21.a 36064464 BLAKE2B 91c06e85e9a072880313af6e5c8ceffd7e1282b7eeb5afa8966599b03e3b0d27efe69133998980c0b47a5967a677298c88704c52ab54e96bba458814b13b7ee6 SHA512 c8445bee94f45e0974c3d06b30b10c88e9bba0b9341599e9dbec8276fa2f65a965fa2965270d3116c5a6fcd87af005739a5aeccb132c93a8c33a9ce1e7a652d3

View File

@@ -9,8 +9,6 @@ inherit cmake python-any-r1 linux-info
DESCRIPTION="Runtime for AIE and FPGA based platforms"
HOMEPAGE="https://github.com/amd/xdna-driver"
VTD_HASH=c79b5d21568a4ffa5b0612a8279b352fc4e1109a
if [[ ${PV} == 999999 ]] ; then
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
EGIT_SUBMODULES=(
@@ -21,15 +19,22 @@ if [[ ${PV} == 999999 ]] ; then
xrt/src/runtime_src/xdp
)
inherit git-r3
BDEPEND="net-misc/wget"
else
VTD_HASH=c79b5d21568a4ffa5b0612a8279b352fc4e1109a
declare -A submodules
submodules["xrt"]=https://github.com/Xilinx/XRT.git@e07940e1eaf9bbe21977d7044d8a4f45c87e5fa2
submodules["xrt"]=https://github.com/Xilinx/XRT.git@4eb1f4392a012b4e6eca759762389c612537f7c7
submodules["xrt/src/runtime_src/aie-rt"]=https://github.com/Xilinx/aie-rt.git@a8b0667133ea2851ce27793a1796c5968226d9af
submodules["xrt/src/runtime_src/core/common/aiebu"]=https://github.com/Xilinx/aiebu.git@9065273e0c0a4ac5930fff904ac245cf38dd3087
submodules["xrt/src/runtime_src/core/common/elf"]=https://github.com/serge1/ELFIO.git@f849001fc229c2598f8557e0df22866af194ef98
SRC_URI="
https://github.com/amd/xdna-driver/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/strx/xrt_smi_strx.a -> xrt_smi_strx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/phx/xrt_smi_phx.a -> xrt_smi_phx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/npu3/xrt_smi_npu3.a -> xrt_smi_npu3-${VTD_HASH:0:8}.a
"
for k in "${!submodules[@]}"; do
git_url="${submodules[$k]%@*}"
@@ -42,12 +47,6 @@ else
S="${WORKDIR}/xdna-driver-${PV}"
fi
SRC_URI+="
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/strx/xrt_smi_strx.a -> xrt_smi_strx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/phx/xrt_smi_phx.a -> xrt_smi_phx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/npu3/xrt_smi_npu3.a -> xrt_smi_npu3-${VTD_HASH:0:8}.a
"
LICENSE="AMD-Binary-Only"
SLOT="0"
@@ -69,7 +68,7 @@ DEPEND="
x11-libs/libdrm
"
BDEPEND="
BDEPEND+="
${PYTHON_DEPS}
$(python_gen_any_dep "
dev-python/pybind11[\${PYTHON_USEDEP}]
@@ -86,8 +85,33 @@ python_check_deps() {
python_has_version -b "dev-python/pybind11[${PYTHON_USEDEP}]"
}
src_prepare() {
if [[ ${PV} != 999999 ]] ; then
src_unpack() {
if [[ ${PV} == 999999 ]] ; then
git-r3_src_unpack
pushd "${S}" || die
local VTD_HASH=$(grep -oP 'VTD/raw/\K[0-9a-f]+' tools/info.json | head -n1)
[[ "${VTD_HASH}" == "" ]] && die "Failed to extract VTD hash"
local VTD_FILES=(
"https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/strx/xrt_smi_strx.a"
"https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/phx/xrt_smi_phx.a"
"https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/npu3/xrt_smi_npu3.a"
)
mkdir -p amdxdna_bins/vtd_archives || die
for url in "${VTD_FILES[@]}"; do
if ! wget -nc "${url}" -O "amdxdna_bins/vtd_archives/${url##*/}"; then
die "Fetching from ${url} failed"
fi
done
popd || die
else
default
pushd "${S}" || die
for k in $(printf '%s\n' "${!submodules[@]}" | sort); do
git_url="${submodules[$k]%@*}"
commit_hash="${submodules[$k]#*@}"
@@ -95,14 +119,22 @@ src_prepare() {
rm -r "$k" || die
ln -s "${WORKDIR}/${url_prefix##*/}-${commit_hash}" "$k" || die
done
# Sanity check for new versions
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' tools/info.json | head -n1)
[[ "${actual_vtd_hash}" == "" ]] && die "Failed to extract VTD hash"
[[ "${actual_vtd_hash}" != "${VTD_HASH}" ]] && \
die "VTD hash mismatch, ebuild requested ${VTD_HASH} while package wants ${actual_vtd_hash}"
mkdir -p amdxdna_bins/vtd_archives || die
cp "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" amdxdna_bins/vtd_archives/xrt_smi_strx.a || die
cp "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" amdxdna_bins/vtd_archives/xrt_smi_phx.a || die
cp "${DISTDIR}/xrt_smi_npu3-${VTD_HASH:0:8}.a" amdxdna_bins/vtd_archives/xrt_smi_npu3.a || die
popd || die
fi
}
# Check for new versions and live ebuild
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' tools/info.json | head -n1)
[[ "${actual_vtd_hash}" == "" ]] && die "Failed to extract VTD hash"
[[ "${actual_vtd_hash}" != "${VTD_HASH}" ]] && \
die "VTD hash mismatch, ebuild requested ${VTD_HASH} while package wants ${actual_vtd_hash}"
src_prepare() {
sed -e "/Unknown Linux package flavor/ s/FATAL_ERROR/MESSAGE/" -i "CMake/pkg.cmake" || die
sed -e "s/set (XRT_UPSTREAM 0)/set (XRT_UPSTREAM 1)/" -i xrt/src/CMake/settings.cmake || die
@@ -127,9 +159,7 @@ src_install() {
cmake_src_install
insinto /usr/share/xrt/amdxdna/bins
newins "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" xrt_smi_strx.a
newins "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" xrt_smi_phx.a
newins "${DISTDIR}/xrt_smi_npu3-${VTD_HASH:0:8}.a" xrt_smi_npu3.a
doins amdxdna_bins/vtd_archives/*
# belongs to dev-util/xrt
rm -rf "${ED}/bins" || die