_realname=onefetch
pkgbase=mingw-w64-$_realname
pkgname=$MINGW_PACKAGE_PREFIX-$_realname
pkgver=2.18.1
pkgrel=3
pkgdesc="Git repository summary on your terminal (mingw-w64)"
url="https://github.com/o2sh/onefetch"
license=('MIT')
arch=(any)
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
depends=("$MINGW_PACKAGE_PREFIX-libgit2")
makedepends=("$MINGW_PACKAGE_PREFIX-rust"
             "$MINGW_PACKAGE_PREFIX-cmake")
source=("$_realname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz")
sha256sums=('7b0f03e9d2383ac32283cfb9ec09d10c8789a298969c8b7d45fa0168bd909140')

prepare() {
  cd "$_realname-$pkgver"
  # update windows-targets to fix windows-gnullvm dependency specification
  cargo update -p windows-targets@0.48.0 --precise 0.48.1
  cargo fetch --locked
  mkdir -p completions
}

build() {
  cd "$_realname-$pkgver"
  WINAPI_NO_BUNDLED_LIBRARIES=1 \
  cargo build --release --all-features
  local _completion="target/release/onefetch --generate"
  $_completion bash > "completions/onefetch"
  $_completion fish > "completions/onefetch.fish"
  $_completion zsh  > "completions/_onefetch"
}

check() {
  cd "$_realname-$pkgver"
  cargo test --frozen --all-features
}

package() {
  cd "$_realname-$pkgver"
  install -Dm 755 "target/release/$_realname" "${pkgdir}${MINGW_PREFIX}/bin/$_realname.exe"
  install -Dm 644 README.md -t "${pkgdir}${MINGW_PREFIX}/share/doc/$_realname"
  install -Dm 644 LICENSE.md -t "${pkgdir}${MINGW_PREFIX}/share/licenses/$_realname"
  install -Dm 644 "docs/$_realname.1" "${pkgdir}${MINGW_PREFIX}/share/man/man1/$_realname.1"
  install -Dm 664 "completions/onefetch" -t "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/"
  install -Dm 664 "completions/onefetch.fish" -t "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/"
  install -Dm 664 "completions/_onefetch" -t "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/"
}
