# shellcheck shell=bash disable=SC2034,SC2154
# Packager: Didier Spaier didieratslintdotfr

pkgname=intel-microcode
pkgver=20260512
pkgrel=1slint
arch=noarch
source=("https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/refs/tags/microcode-${pkgver}.tar.gz")
sha256sums=('5a07ce745d0bd8b360a4713564d46d5e38be797316a52abedaff0761e1b02370')
url="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files"

slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"intel-microcode (Linux Processor Microcode Data Files)"
""
"CPU microcode can correct certain processor errata."
"Preferred delivery is BIOS updates, but some Intel CPUs"
"can load microcode updates via the operating system."
"This package contains microcode for CPUs that support"
"OS-level microcode loading."
""
"Early boot loading via initrd is recommended."
""
)

build() {
  local srcdir="Intel-Linux-Processor-Microcode-Data-Files-microcode-$pkgver"

  cd "$startdir/src/$srcdir" || return 1
  chown -R root:root .
  chmod -R a-st,u+rwX,go-w+rX .

  mkdir -p "$PKG/lib/firmware"
  cp -a intel-ucode "$PKG/lib/firmware"

  if [ "${INCLUDE_UCODE_WITH_CAVEATS:-no}" = "yes" ] && \
     [ -d intel-ucode-with-caveats ]; then
    cp -a intel-ucode-with-caveats/* "$PKG/lib/firmware/intel-ucode" || return 1
  fi

  # Keep behavior from legacy SlackBuild: omit list for consistency.
  rm -f "$PKG/lib/firmware/intel-ucode/list"

  mkdir -p "$PKG/boot"
  # Use .img naming in Slint so grub-mkconfig picks it up.
  "${IUCODE_TOOL:-/usr/sbin/iucode_tool}" -v --write-earlyfw="$PKG/boot/intel-ucode.img" \
    "$PKG/lib/firmware/intel-ucode" || return 1

  mkdir -p "$PKG/usr/doc/$pkgname-$pkgver"
  cp -a license "$PKG/usr/doc/$pkgname-$pkgver"
  for i in README.md releasenote.md security.md; do
    pandoc -o "$PKG/usr/doc/$pkgname-$pkgver/${i%md}html" "$i" || return 1
  done
}
