# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: David Runge <dvzrv@archlinux.org>

pkgname=sequoia-sq
pkgver=0.35.0
pkgrel=1
pkgdesc='Command-line frontends for Sequoia'
url='https://sequoia-pgp.org/'
arch=('x86_64' 'aarch64')
license=('LGPL-2.0-or-later')
groups=('sequoia')
replaces=('sequoia')
depends=(
  'bzip2' 'libbz2.so'
  'gcc-libs'
  'glibc'
  'gmp'
  'nettle' 'libnettle.so' 'libhogweed.so'
  'openssl'
  'sqlite'
)
makedepends=(
  'capnproto'
  'cargo'
  'clang'
  'git'
)
options=('!lto')
source=("git+https://gitlab.com/sequoia-pgp/sequoia-sq.git?signed#tag=v$pkgver"
  "backport-autocrypt-time-test.patch")
sha512sums=('fd3854c2ffc148273323fdc0096cfb33b8672a479bb19299474536292a4a092bc0e6c13986ddcf4047d75f07d8041b8695704d020ad6080d59336d9c41b6a149'
  33190ff6954072dfe56b76f5f4d997d3c8dca4d886bd3a3ad951409a3007386943f2b125554d52fb1be5e4f335ffca58b745b659a20bd007b0d76303c962b29c)
b2sums=('d65462c361a62a2979e8978f12e3664d5614146615496eea54c84d18e3a48d15c02a55e52de8d64dd077060ece5c99c1c110f290baeb3a781c3515ce85f08f61'
  f54b89599553e4e84f4652c8ee09bc19cf494186fee9890a2cb45a3c4e35e54b3744b5497f418ae8db8fd01d2be606701570010b2d3b712277897c6991ef9043)
validpgpkeys=(
  D2F2C5D45BE9FDE6A4EE0AAF31855247603831FD  # Justus Winter (Code Signing Key) <justus@sequoia-pgp.org>
  8F17777118A33DDA9BA48E62AACB3243630052D9  # Neal H. Walfield <neal@sequoia-pgp.org>
)

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

prepare() {
  cd $pkgname
  patch -Np1 -i "$srcdir/backport-autocrypt-time-test.patch"
  export RUSTUP_TOOLCHAIN=stable
  cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
}

build() {
  cd $pkgname
  export CARGO_TARGET_DIR=../target
  export RUSTUP_TOOLCHAIN=stable
  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 $pkgname
  # 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
  export RUSTUP_TOOLCHAIN=stable
  cargo test --release --frozen --features 'default'
}

package() {
  install -vDm 755 target/release/sq -t "${pkgdir}/usr/bin"

  install -vDm 644 target/shell-completions/sq.bash "${pkgdir}/usr/share/bash-completion/completions/sq"
  install -vDm 644 target/shell-completions/_sq -t "${pkgdir}/usr/share/zsh/site-functions"
  install -vDm 644 target/shell-completions/sq.fish -t "${pkgdir}/usr/share/fish/vendor_completions.d"
  install -vDm 644 target/man-pages/*.1 -t "${pkgdir}/usr/share/man/man1/"
}

# vim: ts=2 sw=2 et:
