# Maintainer: Naveen M K <naveen521kk@gmail.com>

_realname=bat
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.24.0
pkgrel=4
pkgdesc="Cat clone with syntax highlighting and git integration (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://github.com/sharkdp/bat'
msys2_references=(
  'archlinux: bat'
  'purl: pkg:cargo/bat'
  "cpe: cpe:/a:bat_project:bat"
)
license=('spdx:MIT OR Apache-2.0')
depends=(
  "${MINGW_PACKAGE_PREFIX}-libgit2"
  "${MINGW_PACKAGE_PREFIX}-oniguruma"
  "${MINGW_PACKAGE_PREFIX}-zlib"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-rust"
  "${MINGW_PACKAGE_PREFIX}-pkgconf"
  'git'
)
options=('!strip' '!lto')
source=("git+${url}.git#tag=v${pkgver}")
sha256sums=('ccfd1400fba47dbdd839c378fc59b978573b2d651c0b12a8f6b053843ae1012b')

prepare() {
  cd "${_realname}"

  # update windows-targets to fix windows-gnullvm dependency specification
  cargo update -p windows-targets@0.48.0 --precise 0.48.1

  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  cd "${_realname}"

  RUSTONIG_DYNAMIC_LIBONIG=1 \
  LIBGIT2_NO_VENDOR=1 \
    cargo build --release --frozen
}

package() {
  cd "${_realname}"

  install -Dm755 target/release/bat "${pkgdir}${MINGW_PREFIX}/bin/bat"

  # Package licenses
  install -Dm644 LICENSE-{APACHE,MIT} -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}"

  cd target/release/build

  # Package the man page
  find . -name bat.1 -type f -exec install -Dm644 {} \
    "${pkgdir}${MINGW_PREFIX}"/share/man/man1/bat.1 \;

  # Package the shell completions
  find . -name bat.bash -type f -exec install -Dm644 {} \
    "${pkgdir}${MINGW_PREFIX}"/share/bash-completion/completions/bat \;

  find . -name bat.zsh -type f -exec install -Dm644 {} \
    "${pkgdir}${MINGW_PREFIX}"/share/zsh/site-functions/_bat \;

  find . -name bat.fish -type f -exec install -Dm644 {} \
    "${pkgdir}${MINGW_PREFIX}"/share/fish/vendor_completions.d/bat.fish \;
}
