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

_realname=picotool
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.0.0
pkgrel=1
_pico_sdk_version=2.0.0
pkgdesc="Tool for inspecting RP2040 binaries and interacting with RP2040 devices. (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
url="https://github.com/raspberrypi/picotool"
license=('spdx:BSD-3-Clause')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-libusb")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja")
source=("https://github.com/raspberrypi/picotool/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "https://github.com/raspberrypi/pico-sdk/archive/${_pico_sdk_version}/pico-sdk-${_pico_sdk_version}.tar.gz")
sha256sums=('9392c4a31f16b80b70f861c37a029701d3212e212840daa097c8a3720282ce65'
            '626db87779fa37f7f9c7cfe3e152f7e828fe19c486730af2e7c80836b6b57e1d')

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

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

  PICO_SDK_PATH="${srcdir}/pico-sdk-${_pico_sdk_version}" \
  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
    "${MINGW_PREFIX}"/bin/cmake.exe \
      -GNinja \
      -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
      "${_extra_config[@]}" \
      ../${_realname}-${pkgver}

  "${MINGW_PREFIX}"/bin/cmake.exe --build .
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"
  DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .

  # Install docs
  install -Dm644 "${srcdir}/${_realname}-${pkgver}/README.md" -t "${pkgdir}/${MINGW_PREFIX}/share/doc/${_realname}"

  # Install license
  install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.TXT" -t "${pkgdir}/${MINGW_PREFIX}/share/licenses/${_realname}"
}
