# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>

_realname=qrtool
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.13.2
pkgrel=1
pkgdesc="An utility for encoding or decoding QR code (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://github.com/sorairolake/qrtool'
msys2_repository_url='https://github.com/sorairolake/qrtool'
license=('spdx:Apache-2.0 OR MIT AND CC-BY-4.0')
makedepends=("${MINGW_PACKAGE_PREFIX}-rust"
             "${MINGW_PACKAGE_PREFIX}-asciidoctor")
options=('!strip')
source=("${url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz")
sha256sums=('ec6d240667a06a191188a44037b7173811d736c086c607d82d6d9b374c9332d8')
noextract=("${_realname}-${pkgver}.tar.gz")

prepare() {
  tar -xzf "${_realname}-${pkgver}.tar.gz" || true
  cd "${_realname}-${pkgver}"

  cargo fetch --locked --target "${RUST_CHOST}"
}

build() {
  cd "${_realname}-${pkgver}"

  cargo build --release --frozen
  asciidoctor -b manpage "docs/man/man1/${_realname}.1.adoc"
  asciidoctor -b manpage "docs/man/man1/${_realname}-encode.1.adoc"
  asciidoctor -b manpage "docs/man/man1/${_realname}-decode.1.adoc"
  asciidoctor -b manpage "docs/man/man1/${_realname}-completion.1.adoc"

}

check() {
  cd "${_realname}-${pkgver}"

  cargo test --release --frozen
}

package() {
  cd "${_realname}-${pkgver}"

  install -Dm755 "target/release/${_realname}" -t "${pkgdir}${MINGW_PREFIX}/bin"
  local _complete="target/release/${_realname} completion"
  install -Dm644 <($_complete bash) "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/${_realname}"
  install -Dm644 <($_complete fish) "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/${_realname}.fish"
  install -Dm644 <($_complete zsh) "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/_${_realname}"
  install -Dm644 LICENSES/{Apache-2.0,MIT,CC-BY-4.0}.txt -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}"
  install -Dm644 "docs/man/man1/${_realname}.1" -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/"
  install -Dm644 "docs/man/man1/${_realname}-encode.1" -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/"
  install -Dm644 "docs/man/man1/${_realname}-decode.1" -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/"
  install -Dm644 "docs/man/man1/${_realname}-completion.1" -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/"
}
