# Maintainer: Biswapriyo Nath <nathbappai@gmail.com>

_realname=rpi-imager
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=1.8.5
pkgrel=1
pkgdesc="Raspberry Pi Imaging Utility (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
msys2_references=(
  'archlinux: rpi-imager'
)
url='https://www.raspberrypi.com/software'
license=('spdx:Apache-2.0')
depends=(
  "${MINGW_PACKAGE_PREFIX}-curl"
  "${MINGW_PACKAGE_PREFIX}-gcc-libs"
  "${MINGW_PACKAGE_PREFIX}-libarchive"
  "${MINGW_PACKAGE_PREFIX}-libwinpthread"
  "${MINGW_PACKAGE_PREFIX}-openssl"
  "${MINGW_PACKAGE_PREFIX}-qt5-base"
  "${MINGW_PACKAGE_PREFIX}-qt5-declarative"
  "${MINGW_PACKAGE_PREFIX}-qt5-winextras"
  "${MINGW_PACKAGE_PREFIX}-xz"
  "${MINGW_PACKAGE_PREFIX}-zlib"
  "${MINGW_PACKAGE_PREFIX}-zstd"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-cmake"
  "${MINGW_PACKAGE_PREFIX}-ninja"
  "${MINGW_PACKAGE_PREFIX}-qt5-quickcontrols2"
  "${MINGW_PACKAGE_PREFIX}-qt5-svg"
  "${MINGW_PACKAGE_PREFIX}-qt5-tools"
  "${MINGW_PACKAGE_PREFIX}-winpthreads"
)
source=(
  "https://github.com/raspberrypi/rpi-imager/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
  0001-rpi-imager-cmake-disable-bundled-dependencies.patch
  0002-rpi-imager-include-missing-header.patch
)
noextract=("${_realname}-${pkgver}.tar.gz")
sha256sums=('443e2ca2132067cc67038c82d890f70fd744da2503588852f014435dd11fb786'
            '0e4e8e2077b6eb7b1d8f3280f0ccc28c56287dfb7a104b5b25ce30b35ea07fca'
            '4b8e42ea8c0da8c7bc69b737432811d3acb1e4f2ffbb44358b070bd5c155a081')

_apply_patch_with_msg() {
  for _patch in "$@"
  do
    msg2 "Applying ${_patch}"
    patch -p1 -i "${srcdir}/${_patch}"
  done
}

prepare() {
  tar -xf "${_realname}-${pkgver}.tar.gz" || true

  cd "${_realname}-${pkgver}"

  _apply_patch_with_msg \
    0001-rpi-imager-cmake-disable-bundled-dependencies.patch \
    0002-rpi-imager-include-missing-header.patch
}

build() {
  declare -a _extra_config
  if check_option "debug" "n"; then
    _extra_config+=("-DCMAKE_BUILD_TYPE=Release")
  else
    _extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
  fi

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
    cmake \
      -GNinja \
      -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
      "${_extra_config[@]}" \
      -DENABLE_CHECK_VERSION=OFF \
      -DENABLE_TELEMETRY=OFF \
      -S "${_realname}-${pkgver}/src" \
      -B "build-${MSYSTEM}"

  cmake --build "build-${MSYSTEM}"
}

package() {
  install -Dm755 "build-${MSYSTEM}/rpi-imager.exe" "${pkgdir}${MINGW_PREFIX}/bin/rpi-imager.exe"
  install -Dm644 "${srcdir}/${_realname}-${pkgver}/license.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/license.txt"
}
