abinfo "Installing firmware ..."
make install-xz \
    DESTDIR="$PKGDIR" \
    FIRMWAREDIR=/usr/lib/firmware

abinfo "De-duplicating firmware ..."
make dedup \
    DESTDIR="$PKGDIR" \
    FIRMWAREDIR=/usr/lib/firmware

abinfo "Correcting amd-ucode README location ..."
# FIXME: Dracut cat's amd-ucode/* when generating AuthenticAMD.bin for early
# microcode loading. Oops.
mv -v "$PKGDIR"/usr/lib/firmware/amd-ucode/README.xz \
    "$PKGDIR"/usr/lib/firmware/README.amd-ucode.xz

abinfo "Installing extra firmware from Debian ..."
cp -rv "$SRCDIR"/../debian/added-firmware/* \
    "$PKGDIR"/usr/lib/firmware/
mkdir -pv "$PKGDIR"/usr/share/doc/firmware-nonfree/

for i in "$SRCDIR"/../debian/config/*; do
    abinfo "Installing license file for $i ..."
    if [[ -e "$i"/LICENSE ]]; then
        mv -v "$i"/LICENSE \
            "$PKGDIR"/usr/share/doc/firmware-nonfree/COPYING.$(basename $i)
    elif [[ -e "$i"/LICENSE.install ]]; then
        mv -v "$i"/LICENSE.install \
            "$PKGDIR"/usr/share/doc/firmware-nonfree/COPYING.$(basename $i)
    elif [[ -e "$i"/copyright ]]; then
        mv -v "$i"/copyright \
            "$PKGDIR"/usr/share/doc/firmware-nonfree/COPYING.$(basename $i)
    fi
done

abinfo "Copying license details ..."
cp -v "$SRCDIR"/{WHENCE,LICENSE.*,LICENCE.*,GPL-2,GPL-3} "${PKGDIR}"/usr/lib/firmware/

abinfo "Separating free firmware ..."
mkdir -pv "$SRCDIR"/firmware-free
for i in $(cat "$SRCDIR"/autobuild/free-list); do
    if echo "$i" | grep -q /; then
        mkdir -pv "$SRCDIR"/firmware-free/$(dirname $i)
    fi
    mv -v "$PKGDIR"/usr/lib/firmware/$i.xz "$SRCDIR"/firmware-free/$i.xz
done

abinfo "Installing free licenses ..."
mkdir -pv "$SRCDIR"/firmware-free
for i in $(cat "$SRCDIR"/autobuild/free-license-list); do
    if echo "$i" | grep -q /; then
        mkdir -pv "$SRCDIR"/firmware-free/$(dirname $i)
    fi
    mv -v "$PKGDIR"/usr/lib/firmware/$i "$SRCDIR"/firmware-free/$i
done

abinfo "Inserting AP6256 firmware for PineBook Pro ..."
mkdir -pv "$PKGDIR"/usr/lib/firmware/brcm
for i in brcmfmac43456-sdio.{bin,clm_blob,AP6256.txt} BCM4345C5.hcd; do
	cp -v "$SRCDIR"/../$i "$PKGDIR"/usr/lib/firmware/brcm
done
ln -sv brcmfmac43456-sdio.AP6256.txt \
    "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43456-sdio.pine64,pinebook-pro.txt

abinfo "Compressing AP6256 firmware blob"
xz -C crc32 "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43456-sdio.bin

# FIXME: https://github.com/AlmaLinux/raspberry-pi/issues/17
abinfo "De-compressing .txt configuration for Raspberry Pi 3 Model B ..."
cd "$PKGDIR"/usr/lib/firmware/brcm
xz -dvvv brcmfmac43430-sdio.raspberrypi,3-model-b.txt.xz

abinfo "Re-creating symlinks for Raspberry Pi Zero (1, 2) ..."
rm -v "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt.xz \
      "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt.xz
ln -sv brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
    "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt
ln -sv brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
    "$PKGDIR"/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt 

abinfo "Installing supplemental firmware for Radxa Dragon series ..."
cp -av "$SRCDIR"/../radxa/radxa-firmware-sc8280xp/lib \
    "$PKGDIR"/usr/
cp -av "$SRCDIR"/../radxa/radxa-firmware-sc8280xp/usr \
    "$PKGDIR"/
cp -av "$SRCDIR"/../radxa/radxa-firmware-qcs6490/usr \
    "$PKGDIR"/
