# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_realname=sequoia-sq
pkgbase="mingw-w64-${_realname}"
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=1.3.1
pkgrel=1
pkgdesc='Command-line frontends for Sequoia (mingw-w64)'
url='https://sequoia-pgp.org/'
msys2_repository_url='https://gitlab.com/sequoia-pgp/sequoia-sq'
arch=('any')
mingw_arch=('clang64' 'clangarm64') # 'ucrt64' failed with clang error on mingw headers
license=('spdx:LGPL-2.0-or-later')
depends=(
  "${MINGW_PACKAGE_PREFIX}-bzip2"
  "${MINGW_PACKAGE_PREFIX}-gmp"
  "${MINGW_PACKAGE_PREFIX}-openssl"
  "${MINGW_PACKAGE_PREFIX}-sqlite3"
  "${MINGW_PACKAGE_PREFIX}-nettle"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-bzip2"
  "${MINGW_PACKAGE_PREFIX}-capnproto"
  "${MINGW_PACKAGE_PREFIX}-rust"
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-clang"
  "${MINGW_PACKAGE_PREFIX}-rust-bindgen"
  "git"
  "${MINGW_PACKAGE_PREFIX}-nettle"
  "${MINGW_PACKAGE_PREFIX}-pkgconf"
)
source=("git+https://gitlab.com/sequoia-pgp/sequoia-sq.git#tag=v${pkgver}")
sha256sums=('58f19bac227b465dc2f10d439684761981ad1fa3f7ade24d57385ce9d7b67ab3')

pkgver() {
  cd "${_realname}"
  git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g'
}

prepare() {
  cd "${_realname}"
  cargo fetch --locked
}

build() {
  cd "${_realname}"
  export CARGO_TARGET_DIR=../target
  export ASSET_OUT_DIR=../target
  # NOTE: we select specific (default) features, as there are multiple crypto backends
  cargo build --release --frozen --features default
}

check() {
  cd "${_realname}"
  # NOTE: we use a different target dir, as otherwise cargo test --release alters the sq binary
  # https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/96
  export CARGO_TARGET_DIR=../target-test
  cargo test --release --frozen --features default
}

package() {
  install -vDm 755 "target/release/sq.exe" -t "${pkgdir}${MINGW_PREFIX}/bin"
  install -vDm 644 "target/shell-completions/sq.bash" "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/sq"
  install -vDm 644 "target/shell-completions/_sq" -t "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/"
  install -vDm 644 "target/shell-completions/sq.fish" -t "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/"
  install -vDm 644 target/man-pages/*.1 -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/"
}
