# Contributor (MSYS2): Oleg A. Khlybov <fougas@mail.ru>

_realname=dino
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.5.1
pkgrel=2
pkgdesc='XMPP GUI client (mingw-w64)'
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://dino.im/'
msys2_repository_url="https://github.com/dino/dino"
msys2_references=(
  'anitya: 18608'
  'archlinux: dino'
  'cpe: cpe:2.3:a:dino:dino'
)
license=('spdx:GPL-3.0')
depends=(
  "${MINGW_PACKAGE_PREFIX}-glib2"
  "${MINGW_PACKAGE_PREFIX}-gnutls"
  "${MINGW_PACKAGE_PREFIX}-gpgme"
  "${MINGW_PACKAGE_PREFIX}-gstreamer"
  "${MINGW_PACKAGE_PREFIX}-gtk4"
  "${MINGW_PACKAGE_PREFIX}-icu"
  "${MINGW_PACKAGE_PREFIX}-libadwaita"
  #"${MINGW_PACKAGE_PREFIX}-libcanberra"
  "${MINGW_PACKAGE_PREFIX}-libgcrypt"
  "${MINGW_PACKAGE_PREFIX}-libgee"
  "${MINGW_PACKAGE_PREFIX}-libnice"
  "${MINGW_PACKAGE_PREFIX}-libomemo-c"
  "${MINGW_PACKAGE_PREFIX}-libsoup3"
  "${MINGW_PACKAGE_PREFIX}-libsrtp"
  #"${MINGW_PACKAGE_PREFIX}-qrencode"
  "${MINGW_PACKAGE_PREFIX}-sqlite3"
  "${MINGW_PACKAGE_PREFIX}-webrtc-audio-processing"
  "${MINGW_PACKAGE_PREFIX}-webrtc-audio-processing-1"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-meson"
  "${MINGW_PACKAGE_PREFIX}-vala"
)
source=("https://github.com/dino/dino/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz"
        "0002-langinfo.patch")
sha256sums=('0b265ee3551dcddad5b62e188bdcab2cbb61a0d6a7e72107b2518a156b3ed665'
            '7916ca1a625613a160f09e6c6f3331fac21b63758e736839b25afc4aa9ce912a')

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

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  apply_patch_with_msg \
    "0002-langinfo.patch"
}

build() {
  # Otherwise starting dino.exe failed with:
  # failed to add UI from resource /im/dino/Dino/unified_main_content.ui: .:26:1 Invalid object type 'DinoUiConversationSelector'
  LDFLAGS+=" -Wl,--export-all-symbols"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    meson setup \
      --prefix="${MINGW_PREFIX}" \
      --wrap-mode=nodownload \
      --buildtype=plain \
      "build-${MSYSTEM}" \
      "${_realname}-${pkgver}"

  meson compile -C "build-${MSYSTEM}"
}

package() {
  meson install -C "build-${MSYSTEM}" --destdir "${pkgdir}"

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