
_realname=tree-sitter-query
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.6.2
pkgrel=1
pkgdesc='TS query grammar for tree-sitter (mingw-w64)'
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://github.com/tree-sitter-grammars/tree-sitter-query'
msys2_repository_url='https://github.com/tree-sitter-grammars/tree-sitter-query'
msys2_references=(
  'archlinux: tree-sitter-query'
)
license=('spdx:Apache-2.0')
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-cmake"
  "${MINGW_PACKAGE_PREFIX}-tree-sitter"
)
source=("https://github.com/tree-sitter-grammars/${_realname}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz")
sha256sums=('90682e128d048fbf2a2a17edca947db71e326fa0b3dba4136e041e096538b4eb')

prepare() {
  cd "${_realname}-${pkgver}"
  tree-sitter generate src/grammar.json
}

build() {
  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" \
    cmake \
      -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
      -Wno-dev \
      -DCMAKE_BUILD_TYPE=None \
      -DCMAKE_SHARED_LIBRARY_SUFFIX_C=.so \
      -DCMAKE_INSTALL_BINDIR=lib \
      -S "${_realname}-${pkgver}" \
      -B "build-${MSYSTEM}"

  cmake --build "build-${MSYSTEM}"
}

package() {
  DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"

  # To add library to neovim runtime path
  mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/nvim/parser"
  cp "${pkgdir}${MINGW_PREFIX}/lib/lib${_realname}.so" "${pkgdir}${MINGW_PREFIX}/lib/nvim/parser/${_realname#tree-sitter-}.so"

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