# Maintainer: umarcor <unai.martinezcorral@ehu.eus>

_realname=scopehal-apps
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.1.1.r4016.gaf69fd83
pkgrel=1
pkgdesc="scopehal-apps: applications for libscopehal (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://www.ngscopeclient.org/"
msys2_repository_url="https://github.com/ngscopeclient/scopehal-apps"
license=('spdx:BSD-3-Clause')
groups=("${MINGW_PACKAGE_PREFIX}-eda")
depends=(
  "${MINGW_PACKAGE_PREFIX}-ffts"
  "${MINGW_PACKAGE_PREFIX}-glew"
  "${MINGW_PACKAGE_PREFIX}-glfw"
  "${MINGW_PACKAGE_PREFIX}-glm"
  "${MINGW_PACKAGE_PREFIX}-gtkmm3"
  "${MINGW_PACKAGE_PREFIX}-hidapi"
  "${MINGW_PACKAGE_PREFIX}-libsigc++"
  "${MINGW_PACKAGE_PREFIX}-vulkan-loader"
  "${MINGW_PACKAGE_PREFIX}-yaml-cpp"
  "${MINGW_PACKAGE_PREFIX}-omp"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cmake"
  "${MINGW_PACKAGE_PREFIX}-ninja"
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-shaderc"
  "${MINGW_PACKAGE_PREFIX}-vulkan-headers"
  "git"
)
_commit='af69fd83f33833045045db6dd9434ed5f194a39d'
source=("${_realname}::git+https://github.com/ngscopeclient/scopehal-apps.git#commit=${_commit}"
        "001-enable-avx-clang.patch::https://github.com/ngscopeclient/scopehal/pull/966.patch")
sha256sums=('8242eb5325c925ead1880b5863120355eca087caf1026441bc8c7dba1428fbc8'
            '16493378584d9ce867903ccaabf3da51b3e0b4e7b2475b0c53733b67b3fb16b2')

pkgver() {
  cd "${_realname}"
  printf "0.1.1.r%s.g%s" "$(git rev-list --count "${_commit}")" "$(git rev-parse --short=8 ${_commit})"
}

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

prepare() {
  cd "${srcdir}/${_realname}"
  git remote set-url origin https://github.com/ngscopeclient/scopehal-apps
  git submodule update --init --recursive

  cd "${srcdir}/${_realname}/lib"
  apply_patch_with_msg \
    001-enable-avx-clang.patch
}

build() {
  cd "${srcdir}"
  [ -d build-${MSYSTEM} ] && rm -rf build-${MSYSTEM}
  mkdir -p build-${MSYSTEM}
  cd build-${MSYSTEM}

  CMAKE="${MINGW_PREFIX}/bin/cmake.exe"

  CXXFLAGS+=" -Wno-format -Wno-error=maybe-uninitialized" \
  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  $CMAKE \
    -G "Ninja" \
    -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
    -DBUILD_TESTING=OFF \
    -DNGSCOPECLIENT_PACKAGE_VERSION="v0.1-1" \
    -DNGSCOPECLIENT_PACKAGE_VERSION_LONG="v0.1-1" \
    ../${_realname}

  $CMAKE --build ./
}

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

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