mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
dev-libs/xdna-driver: update live ebuild to use wget for fetching firmwares
Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
This commit is contained in:
@@ -1,10 +1,3 @@
|
||||
DIST 5c0409-1502_00__npu.dev.sbin 248592 BLAKE2B c7388450f546a69ffbd363f4fd1a6f415f8faa7b4badd9c2656707cfbacc6bf07e67fe605f6cb8670ea79ed3ade20021ea9a26979fbd55fc9bfbc15137cd13bf SHA512 fa49ab6bbbb23479d6493d85a6372cac84e3a3edb93bc82c63ce95c30d6e1e3d0fe304ea134734f052d37d86e19d26085a672b340858e9ab1fd8b093b76633cf
|
||||
DIST 5c0409-17f0_10__npu.dev.sbin 429680 BLAKE2B 2da026df4e683dd0055872442ffd5974a59909e820ddf2ec8b148056ac998ce360ce117ad75beda5768059e6ac740d2b329676ec1e03886c96e020e077a8c13e SHA512 e15ea99bbc9a22e294626891cb9c0e06bc8ed328b3c3271f5628718f71a9d730f6a8a300bb9c4f7024cbd9d825ed1b34596beb0068bbebbed27fe7e9dbc4abe7
|
||||
DIST 5c0409-17f0_11__npu.dev.sbin 429680 BLAKE2B 5addee1d5bb7563b9a06bf70f9d027f0363b97f7edd31754f2ecd9030bd2465163f0ba660e21a15917521404e453e2d6dbeb09e6049341b91ba3535ac3e87d3d SHA512 d1f0181305191c3f2e3a66f734a9c0c6f4413b28de1be724903f1b430298a2134211166165842b24ce7895f2faa36d46864f00c7498b1385bbf2155da07c21f4
|
||||
DIST 5c0409-17f1_10__cert.dev.sbin 28576 BLAKE2B 747e6372802b227b7493408cc9394eaaf8f948f123527051a27797c3ef43f27197091613b0fcf5b26d7bbbaa856a70fd6266b867aadeaf31aca28e838dc35ea7 SHA512 e159c6af33b5c65fc25bec66814e8294146b9660e7fcd9d8363192375d1ebf709681fa797c02260d9e5ac91e9c1de5783ee6fd0a262ecf599673921c99a60c16
|
||||
DIST 5c0409-17f1_10__npu.dev.sbin 252064 BLAKE2B 53a0f612b4bc59cb639d052dab088b08a0d9714325d74095f3c50d053058d8fda48336626b3fa9c5865671bfeaf3ae496d3b5b784c258bd514fc05adec043388 SHA512 753fbf62e98fc4500b337281a77633621f3bb0b1955bcd048639ddb23d199b0fc032a015a45f225b8ce6e93e94e59cf00224a44a41c76295a102e7625f830e37
|
||||
DIST 5c0409-17f2_10__cert.dev.sbin 28576 BLAKE2B 747e6372802b227b7493408cc9394eaaf8f948f123527051a27797c3ef43f27197091613b0fcf5b26d7bbbaa856a70fd6266b867aadeaf31aca28e838dc35ea7 SHA512 e159c6af33b5c65fc25bec66814e8294146b9660e7fcd9d8363192375d1ebf709681fa797c02260d9e5ac91e9c1de5783ee6fd0a262ecf599673921c99a60c16
|
||||
DIST 5c0409-17f2_10__npu.dev.sbin 252064 BLAKE2B 53a0f612b4bc59cb639d052dab088b08a0d9714325d74095f3c50d053058d8fda48336626b3fa9c5865671bfeaf3ae496d3b5b784c258bd514fc05adec043388 SHA512 753fbf62e98fc4500b337281a77633621f3bb0b1955bcd048639ddb23d199b0fc032a015a45f225b8ce6e93e94e59cf00224a44a41c76295a102e7625f830e37
|
||||
DIST 886e89-1502_00__npu.dev.sbin 248592 BLAKE2B c7388450f546a69ffbd363f4fd1a6f415f8faa7b4badd9c2656707cfbacc6bf07e67fe605f6cb8670ea79ed3ade20021ea9a26979fbd55fc9bfbc15137cd13bf SHA512 fa49ab6bbbb23479d6493d85a6372cac84e3a3edb93bc82c63ce95c30d6e1e3d0fe304ea134734f052d37d86e19d26085a672b340858e9ab1fd8b093b76633cf
|
||||
DIST 886e89-17f0_00__npu.dev.sbin 287712 BLAKE2B ae2ce2b54dfd86b02288a41ace66d08d8ac614dcfde4ce8537204613fb57e677b495ef37eaa6e435a53ffad7fac6fe3126c89132ed6df7a53b2011b5e84c79aa SHA512 888a4fbcd932978ad9c77f3c2e9c42de5c2f9a09ae76db2791dc0dea22b08de823917a79974a4660eec6d5c9fe5aed6f1f77123cb11e4574b45c8131934ecf96
|
||||
DIST 886e89-17f0_10__npu.dev.sbin 492720 BLAKE2B 477bc7004ce13e2ad13a6bb214cd75438255f6f863c3e0bd261e6b3f26c42f88aa649fc5ec9273b032cf644a097bfcc8dcc9fdc7770647a4863e94bed6d19ec8 SHA512 6eded0563b4a247e32a8e21e8cb1d45233660586ea78dabdb3a0e8ec0871290df6c72ea2bf9348abb5022008d926642b53e10691d88fa500d0ce8a9d81867961
|
||||
|
||||
@@ -5,20 +5,6 @@ EAPI=8
|
||||
|
||||
inherit linux-mod-r1 toolchain-funcs
|
||||
|
||||
# To regenerate, run:
|
||||
# ebuild xdna-driver-999999.ebuild info
|
||||
FW_COMMIT=5c040900cb08fe65c4f76c0c63ce5d7f318eae93
|
||||
|
||||
declare -A FIRMWARES=(
|
||||
[1502_00/npu.sbin.1.5.5.391]=npu.dev.sbin
|
||||
[17f1_10/npu.sbin.0.0.20.173]=npu.dev.sbin
|
||||
[17f1_10/cert.sbin.20260217]=cert.dev.sbin
|
||||
[17f2_10/npu.sbin.0.0.20.173]=npu.dev.sbin
|
||||
[17f2_10/cert.sbin.20260217]=cert.dev.sbin
|
||||
[17f0_10/npu.sbin.255.0.11.69]=npu.dev.sbin
|
||||
[17f0_11/npu.sbin.255.0.11.71]=npu.dev.sbin
|
||||
)
|
||||
|
||||
DESCRIPTION="AMD XDNA Driver"
|
||||
HOMEPAGE="https://github.com/amd/xdna-driver"
|
||||
|
||||
@@ -26,36 +12,85 @@ if [[ ${PV} == 999999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
|
||||
EGIT_SUBMODULES=()
|
||||
inherit git-r3
|
||||
|
||||
BDEPEND="
|
||||
app-misc/jq
|
||||
net-misc/wget
|
||||
"
|
||||
else
|
||||
SRC_URI="https://github.com/amd/xdna-driver/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
# For live ebuild firmware is fetched from amd-ipu-staging branch of https://gitlab.com/kernel-firmware/drm-firmware.
|
||||
# For release commit, see https://github.com/amd/xdna-driver/issues/1236
|
||||
# (requires manual date-based commit selection)
|
||||
FW_COMMIT=9c532be0fe8d6ac30e8a5e1c0b54a88ae94f50b6
|
||||
|
||||
# To regenerate, run:
|
||||
# ebuild xdna-driver-<version>.ebuild info
|
||||
declare -A FIRMWARES=(
|
||||
[1502_00/npu.sbin.1.5.5.391]=npu.dev.sbin
|
||||
[17f1_10/npu.sbin.1.1.0.206]=npu.dev.sbin
|
||||
[17f1_10/cert.sbin.1.0.0.28]=cert.dev.sbin
|
||||
[17f2_10/npu.sbin.1.1.0.206]=npu.dev.sbin
|
||||
[17f2_10/cert.sbin.1.0.0.28]=cert.dev.sbin
|
||||
[17f0_10/1.7_npu.sbin.1.1.2.64]=npu.dev.sbin
|
||||
[17f0_11/1.7_npu.sbin.1.1.2.65]=npu.dev.sbin
|
||||
)
|
||||
|
||||
FW_URI_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/${FW_COMMIT}/amdnpu
|
||||
|
||||
SRC_URI+=" firmware? ( "
|
||||
for fw in "${!FIRMWARES[@]}"; do
|
||||
SRC_URI+="${FW_URI_PREFIX}/${fw} -> ${FW_COMMIT:0:6}-${fw%%/*}__${FIRMWARES[${fw}]} "
|
||||
done
|
||||
SRC_URI+=")"
|
||||
fi
|
||||
|
||||
FW_URI_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/${FW_COMMIT}/amdnpu
|
||||
|
||||
SRC_URI+=" firmware? ( "
|
||||
for fw in "${!FIRMWARES[@]}"; do
|
||||
SRC_URI+="${FW_URI_PREFIX}/${fw} -> ${FW_COMMIT:0:6}-${fw%%/*}__${FIRMWARES[${fw}]} "
|
||||
done
|
||||
SRC_URI+=")"
|
||||
|
||||
S="${WORKDIR}/${P}/src/driver/amdxdna"
|
||||
LICENSE="GPL-2 firmware? ( linux-fw-redistributable )"
|
||||
SLOT="0"
|
||||
IUSE="+firmware"
|
||||
|
||||
pkg_info() {
|
||||
local FWAPI=https://gitlab.com/api/v4/projects/kernel-firmware%2Fdrm-firmware/repository/branches/amd-ipu-staging
|
||||
local FW_COMMIT=$(curl -s "$FWAPI" | jq -r '.commit.id')
|
||||
local INFO_FILE=https://raw.githubusercontent.com/amd/xdna-driver/main/tools/info.json
|
||||
local COMMON_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/amd-ipu-staging/amdnpu/
|
||||
# shellcheck disable=SC2016
|
||||
local JQ_EXPR='.firmwares[] | (.url | sub($prefix; "")) as $p | " [" + $p + "]=" + .fw_name'
|
||||
if [[ ${PV} != 999999 ]] ; then
|
||||
local INFO_FILE="https://raw.githubusercontent.com/amd/xdna-driver/${PV}/tools/info.json"
|
||||
local COMMON_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/amd-ipu-staging/amdnpu/
|
||||
# shellcheck disable=SC2016
|
||||
local JQ_EXPR='.firmwares[] | (.url | sub($prefix; "")) as $p | " [" + $p + "]=" + .fw_name'
|
||||
|
||||
printf "FW_COMMIT=%s\n\n" "$FW_COMMIT"
|
||||
echo 'declare -A FIRMWARES=('
|
||||
curl -s "$INFO_FILE" | jq -r --arg prefix "$COMMON_PREFIX" "$JQ_EXPR"
|
||||
echo ')'
|
||||
echo 'declare -A FIRMWARES=('
|
||||
curl -s "$INFO_FILE" | jq -r --arg prefix "$COMMON_PREFIX" "$JQ_EXPR"
|
||||
echo ')'
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local firmware_dir="${WORKDIR}/${P}/amdxdna_bins/firmware"
|
||||
|
||||
if [[ ${PV} == 999999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
|
||||
while IFS=$'\t' read -r device pci_dev_id pci_rev_id fw_name url; do
|
||||
outdir="${firmware_dir}/${pci_dev_id}_${pci_rev_id}"
|
||||
mkdir -p "${outdir}" || die
|
||||
wget -O "${outdir}/${fw_name}" "${url}" || die
|
||||
done < <(
|
||||
jq -r '.firmwares[] |
|
||||
[.device, .pci_device_id, .pci_revision_id, .fw_name, .url]
|
||||
| @tsv' "${WORKDIR}/${P}/tools/info.json" || die
|
||||
) || die
|
||||
else
|
||||
default
|
||||
|
||||
mkdir -p "${firmware_dir}" || die
|
||||
for fw in "${!FIRMWARES[@]}"; do
|
||||
local dir="${fw%%/*}"
|
||||
local src_filename="${FW_COMMIT:0:6}-${dir}__${FIRMWARES[${fw}]}"
|
||||
mkdir -p "${firmware_dir}/${dir}" || die
|
||||
cp "${DISTDIR}/${src_filename}" "${firmware_dir}/${dir}/${FIRMWARES[${fw}]}" || die
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
@@ -84,12 +119,8 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_install() {
|
||||
for fw in "${!FIRMWARES[@]}"; do
|
||||
local dir="${fw%%/*}"
|
||||
local src_filename="${FW_COMMIT:0:6}-${dir}__${FIRMWARES[${fw}]}"
|
||||
insinto "/lib/firmware/amdnpu/${dir}"
|
||||
newins "${DISTDIR}/${src_filename}" "${FIRMWARES[${fw}]}"
|
||||
done
|
||||
insinto /lib/firmware/amdnpu
|
||||
doins -r "${WORKDIR}/${P}/amdxdna_bins/firmware"/*
|
||||
|
||||
insinto /usr/lib/modules-load.d
|
||||
newins - amdxdna.conf <<-EOF
|
||||
|
||||
Reference in New Issue
Block a user