mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-22 13:33:32 -04:00
dev-libs/xrt-xdna: new package, add 202610.2.21.21, 999999
See also: https://wiki.gentoo.org/wiki/User:Lockal/AMDXDNA Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
This commit is contained in:
7
dev-libs/xrt-xdna/Manifest
Normal file
7
dev-libs/xrt-xdna/Manifest
Normal file
@@ -0,0 +1,7 @@
|
||||
DIST ELFIO-f849001f.tar.gz 6587989 BLAKE2B 8b8caf331f190bcd89e5647fc34f10abcfba21325eb58269174b9ceda47563dbacf965b4b13f9475044cfc4b58967762f05c2894c6e27e086eddb0dd0bc448ae SHA512 f5e4334db8765ab1b491ea8d06fcc0de6b52f8cf92fd178f7ab2840d3b0ef623ac12f40f702d2887c2fd7568d188b16ea8653849e4eb2e20061f44a98c30fe7e
|
||||
DIST XRT-f848f6f0.tar.gz 14660501 BLAKE2B a9d23772b069296446cc9688679493dca4c4d5a5c2bd9e587811bfaa7abd9f0cbe74ab05bc94572d2ad354140e070e2422b395ffb92c81f90aa1140e5176fe53 SHA512 2eee71217b3f3981d3df9f9c731fd3534a040e1d5676e108b3159380485c43c28154ab3680e186e5991dac4d89bd6d39be595fb32a58e5ad713d0b39f7776d57
|
||||
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_phx-5f7fec23.a 274220 BLAKE2B 1344cd651aded08075d47a63e3028bfd88016fcec0677c0d72e6880b772ab08a37b2b57d4f3ab20c37adf88c9fbd83b0082bdc41629c136a4518e8a662860cb3 SHA512 e0b587e36f3a52c24413f1600c3be175d8629a64283815e59d1296592a88d2c3f3f476d7b57ef591b9c2174d26375837780af121fac8ea8d4e601cfbba3381c2
|
||||
DIST xrt_smi_strx-5f7fec23.a 33048194 BLAKE2B 5364d58551b05e63f1819256daa8e76082de870209d33f03239c071a800ba013e250ff14d5d49c0637bcd5f1aaa6f5c60aba530ee5575514b3123bf13c182586 SHA512 ba2149ae9272f3da7c960bedcc0299c2cabb91ae5af8a392c86f2003dccc9ab15146e3029b556be0a2dd78a244c8dc860489af37ea0dd8f1b30999b1b377a883
|
||||
35
dev-libs/xrt-xdna/files/xrt-xdna-0_p20251025-fix-clang.patch
Normal file
35
dev-libs/xrt-xdna/files/xrt-xdna-0_p20251025-fix-clang.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
Fix clang errors:
|
||||
* variable-sized object may not be initialized
|
||||
* cannot pass object of non-trivial type 'std::basic_string<char>' through variadic function; call will abort at runtime
|
||||
--- a/src/shim/virtio/platform_virtio.cpp
|
||||
+++ b/src/shim/virtio/platform_virtio.cpp
|
||||
@@ -619,7 +619,8 @@ submit_cmd(submit_cmd_arg& arg) const
|
||||
req_sz += nargs * sizeof(uint32_t); // For args handle
|
||||
// Get a 64 bit aligned buffer for req
|
||||
auto req_sz_in_u64 = req_sz / sizeof(uint64_t) + 1;
|
||||
- uint64_t req_buf[req_sz_in_u64] = {};
|
||||
+ uint64_t req_buf[req_sz_in_u64];
|
||||
+ std::memset(req_buf, 0, req_sz_in_u64 * sizeof(uint64_t));
|
||||
auto req = reinterpret_cast<amdxdna_ccmd_exec_cmd_req*>(req_buf);
|
||||
amdxdna_ccmd_exec_cmd_rsp rsp = {};
|
||||
|
||||
--- a/src/shim/hwq.cpp
|
||||
+++ b/src/shim/hwq.cpp
|
||||
@@ -23,7 +23,7 @@ dump_buf_to_file(void *buf, size_t size, const std::string& dumpfile)
|
||||
{
|
||||
std::ofstream ofs(dumpfile, std::ios::out | std::ios::binary);
|
||||
if (!ofs.is_open())
|
||||
- shim_err(errno, "Failed to open dump file: %s", dumpfile);
|
||||
+ shim_err(errno, "Failed to open dump file: %s", dumpfile.c_str());
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
ofs.write(reinterpret_cast<char *>(buf) + i, 1);
|
||||
@@ -42,7 +42,7 @@ dump_arg_bos(const shim_xdna::cmd_buffer *cmd_bo)
|
||||
std::error_code ec;
|
||||
std::filesystem::create_directories(dir_path, ec);
|
||||
if (ec)
|
||||
- shim_err(ec.value(), "Failed to create BO dump dir: %s: %s", dir_path, ec.message());
|
||||
+ shim_err(ec.value(), "Failed to create BO dump dir: %s: %s", dir_path.c_str(), ec.message().c_str());
|
||||
|
||||
std::string filename = "exec_buf.";
|
||||
filename += std::to_string(cmd_bo->id().handle);
|
||||
12
dev-libs/xrt-xdna/metadata.xml
Normal file
12
dev-libs/xrt-xdna/metadata.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>lockalsash@gmail.com</email>
|
||||
<name>Sv. Lockal</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/amd/xdna-driver/issues</bugs-to>
|
||||
<remote-id type="github">amd/xdna-driver</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
140
dev-libs/xrt-xdna/xrt-xdna-202610.2.21.21.ebuild
Normal file
140
dev-libs/xrt-xdna/xrt-xdna-202610.2.21.21.ebuild
Normal file
@@ -0,0 +1,140 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PV_HASH=09824b1cff30cd3fcb657154188e6ddab708e2ec
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit cmake python-any-r1 linux-info
|
||||
|
||||
declare -A submodules
|
||||
submodules["xrt"]=https://github.com/Xilinx/XRT.git@f848f6f093a174bbbe82b8a9b7fe44ff91295661
|
||||
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
|
||||
|
||||
DESCRIPTION="Runtime for AIE and FPGA based platforms"
|
||||
HOMEPAGE="https://github.com/amd/xdna-driver"
|
||||
|
||||
VTD_HASH=5f7fec23620be7a3984c8970bc514f0faa2b2ee3
|
||||
|
||||
if [[ ${PV} == 999999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
|
||||
EGIT_SUBMODULES=(
|
||||
xrt
|
||||
xrt/src/runtime_src/aie-rt
|
||||
xrt/src/runtime_src/core/common/aiebu
|
||||
xrt/src/runtime_src/core/common/elf
|
||||
)
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/amd/xdna-driver/archive/${PV_HASH}.tar.gz -> ${P}.tar.gz
|
||||
"
|
||||
for k in "${!submodules[@]}"; do
|
||||
git_url="${submodules[$k]%@*}"
|
||||
commit_hash="${submodules[$k]#*@}"
|
||||
url_prefix="${git_url%.git}"
|
||||
SRC_URI+=" ${url_prefix}/archive/${commit_hash}.tar.gz -> ${url_prefix##*/}-${commit_hash:0:8}.tar.gz";
|
||||
done
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/xdna-driver-${PV_HASH}"
|
||||
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
|
||||
"
|
||||
|
||||
LICENSE="AMD-Binary-Only"
|
||||
SLOT="0"
|
||||
|
||||
RESTRICT="bindist mirror strip"
|
||||
|
||||
RDEPEND="
|
||||
dev-util/xrt
|
||||
sys-apps/util-linux
|
||||
"
|
||||
|
||||
# Mostly thowaway dependencies, not actually used in final lib...
|
||||
DEPEND="
|
||||
sys-apps/util-linux
|
||||
dev-debug/systemtap
|
||||
dev-libs/boost
|
||||
dev-libs/opencl-icd-loader
|
||||
dev-libs/rapidjson
|
||||
dev-util/opencl-headers
|
||||
x11-libs/libdrm
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_any_dep "
|
||||
dev-python/pybind11[\${PYTHON_USEDEP}]
|
||||
")
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0_p20251025-fix-clang.patch
|
||||
)
|
||||
|
||||
CONFIG_CHECK="~AMD_IOMMU ~DRM_ACCEL"
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version -b "dev-python/pybind11[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 999999 ]] ; then
|
||||
for k in $(printf '%s\n' "${!submodules[@]}" | sort); do
|
||||
git_url="${submodules[$k]%@*}"
|
||||
commit_hash="${submodules[$k]#*@}"
|
||||
url_prefix="${git_url%.git}"
|
||||
rm -r "$k" || die
|
||||
ln -s "${WORKDIR}/${url_prefix##*/}-${commit_hash}" "$k" || die
|
||||
done
|
||||
fi
|
||||
|
||||
# Check for new versions and live ebuild
|
||||
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' CMake/pkg.cmake | 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 deps || die
|
||||
cp "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" deps/xrt_smi_strx.a || die
|
||||
cp "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" deps/xrt_smi_phx.a || die
|
||||
|
||||
sed -e "/Unknown Linux package flavor/d" -i "CMake/pkg.cmake" || die
|
||||
|
||||
sed -e "s/set (XRT_UPSTREAM 0)/set (XRT_UPSTREAM 1)/" -i xrt/src/CMake/settings.cmake || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
|
||||
-DSKIP_KMOD=1
|
||||
-DUMQ_HELLO_TEST=n
|
||||
|
||||
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
||||
-DFETCHCONTENT_SOURCE_DIR_VTD_STRX_ARCHIVE="${S}/deps"
|
||||
-DFETCHCONTENT_SOURCE_DIR_VTD_PHX_ARCHIVE="${S}/deps"
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
-Wno-dev
|
||||
)
|
||||
[[ ${PV} != 999999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# belongs to dev-util/xrt
|
||||
rm -rf "${ED}/bins" || die
|
||||
}
|
||||
140
dev-libs/xrt-xdna/xrt-xdna-999999.ebuild
Normal file
140
dev-libs/xrt-xdna/xrt-xdna-999999.ebuild
Normal file
@@ -0,0 +1,140 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PV_HASH=09824b1cff30cd3fcb657154188e6ddab708e2ec
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit cmake python-any-r1 linux-info
|
||||
|
||||
declare -A submodules
|
||||
submodules["xrt"]=https://github.com/Xilinx/XRT.git@e2ce7d539b6974c7b39620ce1cda2851c9abca5a
|
||||
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
|
||||
|
||||
DESCRIPTION="Runtime for AIE and FPGA based platforms"
|
||||
HOMEPAGE="https://github.com/amd/xdna-driver"
|
||||
|
||||
VTD_HASH=5f7fec23620be7a3984c8970bc514f0faa2b2ee3
|
||||
|
||||
if [[ ${PV} == 999999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
|
||||
EGIT_SUBMODULES=(
|
||||
xrt
|
||||
xrt/src/runtime_src/aie-rt
|
||||
xrt/src/runtime_src/core/common/aiebu
|
||||
xrt/src/runtime_src/core/common/elf
|
||||
)
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/amd/xdna-driver/archive/${PV_HASH}.tar.gz -> ${P}.tar.gz
|
||||
"
|
||||
for k in "${!submodules[@]}"; do
|
||||
git_url="${submodules[$k]%@*}"
|
||||
commit_hash="${submodules[$k]#*@}"
|
||||
url_prefix="${git_url%.git}"
|
||||
SRC_URI+=" ${url_prefix}/archive/${commit_hash}.tar.gz -> ${url_prefix##*/}-${commit_hash:0:8}.tar.gz";
|
||||
done
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/xdna-driver-${PV_HASH}"
|
||||
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
|
||||
"
|
||||
|
||||
LICENSE="AMD-Binary-Only"
|
||||
SLOT="0"
|
||||
|
||||
RESTRICT="bindist mirror strip"
|
||||
|
||||
RDEPEND="
|
||||
dev-util/xrt
|
||||
sys-apps/util-linux
|
||||
"
|
||||
|
||||
# Mostly thowaway dependencies, not actually used in final lib...
|
||||
DEPEND="
|
||||
sys-apps/util-linux
|
||||
dev-debug/systemtap
|
||||
dev-libs/boost
|
||||
dev-libs/opencl-icd-loader
|
||||
dev-libs/rapidjson
|
||||
dev-util/opencl-headers
|
||||
x11-libs/libdrm
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_any_dep "
|
||||
dev-python/pybind11[\${PYTHON_USEDEP}]
|
||||
")
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0_p20251025-fix-clang.patch
|
||||
)
|
||||
|
||||
CONFIG_CHECK="~AMD_IOMMU ~DRM_ACCEL"
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version -b "dev-python/pybind11[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 999999 ]] ; then
|
||||
for k in $(printf '%s\n' "${!submodules[@]}" | sort); do
|
||||
git_url="${submodules[$k]%@*}"
|
||||
commit_hash="${submodules[$k]#*@}"
|
||||
url_prefix="${git_url%.git}"
|
||||
rm -r "$k" || die
|
||||
ln -s "${WORKDIR}/${url_prefix##*/}-${commit_hash}" "$k" || die
|
||||
done
|
||||
fi
|
||||
|
||||
# Check for new versions and live ebuild
|
||||
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' CMake/pkg.cmake | 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 deps || die
|
||||
cp "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" deps/xrt_smi_strx.a || die
|
||||
cp "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" deps/xrt_smi_phx.a || die
|
||||
|
||||
sed -e "/Unknown Linux package flavor/d" -i "CMake/pkg.cmake" || die
|
||||
|
||||
sed -e "s/set (XRT_UPSTREAM 0)/set (XRT_UPSTREAM 1)/" -i xrt/src/CMake/settings.cmake || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
|
||||
-DSKIP_KMOD=1
|
||||
-DUMQ_HELLO_TEST=n
|
||||
|
||||
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
||||
-DFETCHCONTENT_SOURCE_DIR_VTD_STRX_ARCHIVE="${S}/deps"
|
||||
-DFETCHCONTENT_SOURCE_DIR_VTD_PHX_ARCHIVE="${S}/deps"
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
-Wno-dev
|
||||
)
|
||||
[[ ${PV} != 999999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# belongs to dev-util/xrt
|
||||
rm -rf "${ED}/bins" || die
|
||||
}
|
||||
Reference in New Issue
Block a user