# Maintainer: Andrea Zagli <andrea.zagli.free@gmail.com>

_realname=enter-tex
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
replaces=("${MINGW_PACKAGE_PREFIX}-gnome-latex"
          "${MINGW_PACKAGE_PREFIX}-latexila")
provides=("${MINGW_PACKAGE_PREFIX}-gnome-latex")
conflicts=("${MINGW_PACKAGE_PREFIX}-gnome-latex")
pkgver=3.48.0
pkgrel=1
pkgdesc="TeX/LaTeX text editor (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://gitlab.gnome.org/World/gedit/enter-tex'
license=("spdx:GPL-3.0-or-later")
depends=(
  "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2"
  "${MINGW_PACKAGE_PREFIX}-gettext-runtime"
  "${MINGW_PACKAGE_PREFIX}-glib2"
  "${MINGW_PACKAGE_PREFIX}-gsettings-desktop-schemas"
  "${MINGW_PACKAGE_PREFIX}-gspell"
  "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache"
  "${MINGW_PACKAGE_PREFIX}-gtk3"
  "${MINGW_PACKAGE_PREFIX}-libgedit-amtk"
  "${MINGW_PACKAGE_PREFIX}-libgedit-gtksourceview"
  "${MINGW_PACKAGE_PREFIX}-libgedit-tepl"
  "${MINGW_PACKAGE_PREFIX}-libgee"
  "${MINGW_PACKAGE_PREFIX}-pango"
)
makedepends=(
  "git"
  "${MINGW_PACKAGE_PREFIX}-glib2"
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-desktop-file-utils"
  "${MINGW_PACKAGE_PREFIX}-itstool"
  "${MINGW_PACKAGE_PREFIX}-meson"
  "${MINGW_PACKAGE_PREFIX}-ninja"
  "${MINGW_PACKAGE_PREFIX}-gobject-introspection"
  "${MINGW_PACKAGE_PREFIX}-gtk-doc"
  "${MINGW_PACKAGE_PREFIX}-vala"
)
source=("${_realname}-${pkgver}::git+https://gitlab.gnome.org/World/gedit/enter-tex.git#tag=${pkgver}"
        "001-gir-shared-only.patch")
sha256sums=('4ff03077f968cbcba07ad251ae24f2c1c7a541f7a678212b9794fe66cc6be78b'
            '21f54f6092f533a4a976309ed3ca7b4597f2318cc242b2db5b17ee07c266fd43')

apply_patch_with_msg() {
  for _patch in "$@"
  do
    if patch --dry-run -Rbp1 -i "${srcdir}/${_patch}" > /dev/null 2>&1 ; then
      msg2 "Skipping ${_patch} because it likely was already applied"
    else
      msg2 "Applying ${_patch}"
      patch -Nbp1 -i "${srcdir}/${_patch}"
    fi
  done
}

prepare() {
  cd "${srcdir}"/${_realname}-${pkgver}

  apply_patch_with_msg \
    001-gir-shared-only.patch
}

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

  # clang error from vala generated file
  export CFLAGS="${CFLAGS} -Wno-incompatible-function-pointer-types"
  # gcc errors from vala generated file
  CFLAGS+=" -Wno-incompatible-pointer-types"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    meson setup \
      --prefix="${MINGW_PREFIX}" \
      --wrap-mode=nodownload \
      --auto-features=enabled \
      --buildtype=plain \
      -Ddconf_migration=false \
      ../${_realname}-${pkgver}

  meson compile
}

check() {
  cd "${srcdir}/build-${MSYSTEM}"

  meson test || true
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"

  DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/meson.exe install

  install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSES/GPL-3.0-or-later.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/GPL-3.0-or-later.txt"
}
