# Maintainer: Oleg Tolmatcev <oleg.tolmatcev@gmail.com>

_realname=cvise
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.10.0
pkgrel=2
pkgdesc="Super-parallel Python port of the C-Reduce (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/marxin/cvise"
msys2_references=(
  "aur: cvise"
)
license=('spdx:BSD-3-Clause-Clear')
depends=(
  "${MINGW_PACKAGE_PREFIX}-gcc-libs"
  "${MINGW_PACKAGE_PREFIX}-clang-libs"
  "${MINGW_PACKAGE_PREFIX}-clang"
  "${MINGW_PACKAGE_PREFIX}-python"
  "${MINGW_PACKAGE_PREFIX}-python-chardet"
  "${MINGW_PACKAGE_PREFIX}-python-pebble"
  "${MINGW_PACKAGE_PREFIX}-python-psutil"
  "${MINGW_PACKAGE_PREFIX}-unifdef"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-cmake"
  "${MINGW_PACKAGE_PREFIX}-ninja"
  "${MINGW_PACKAGE_PREFIX}-clang-tools-extra"
)
checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest")
optdepends=("${MINGW_PACKAGE_PREFIX}-colordiff")
source=("https://github.com/marxin/cvise/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz")
sha256sums=('ee9bdfce6f139d0317c98d9c9b51cc68bcaead059de97aac2cf81d71f2215f54')

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

  ${MINGW_PREFIX}/bin/cmake \
    -Wno-dev \
    -G Ninja \
    -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
    -DCMAKE_INSTALL_LIBEXECDIR=lib \
    -DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python \
    "${_extra_config[@]}" \
    -B build-${MSYSTEM} \
    -S "${_realname}-${pkgver}"

  ${MINGW_PREFIX}/bin/cmake --build build-${MSYSTEM}
}

check() {
    ${MINGW_PREFIX}/bin/ctest --test-dir build-${MSYSTEM} --output-on-failure
}

package() {
  ${MINGW_PREFIX}/bin/cmake --install build-${MSYSTEM} --prefix "${pkgdir}"${MINGW_PREFIX}

  ${MINGW_PREFIX}/bin/python -m compileall -o 0 -o 1 -q "${pkgdir}"${MINGW_PREFIX}/share/cvise

  install -Dm644 "${srcdir}"/${_realname}-${pkgver}/COPYING "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
