# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Kai Michaelis <kai@sequoia-pgp.org>

pkgbase=sequoia
pkgname=(sequoia-ffi python-sequoia)
pkgver=1.3.1
pkgrel=1
pkgdesc='Cool new OpenPGP implementation'
url='https://sequoia-pgp.org/'
arch=('x86_64')
license=('GPL2')
groups=('sequoia')
makedepends=('git' 'cargo' 'clang' 'python' 'python-setuptools' 'python-cffi'
             'glibc' 'nettle' 'sqlite' 'capnproto' 'openssl' 'gcc-libs' 'gmp'
             'bzip2' 'libbz2.so' 'libhogweed.so' 'libnettle.so')
checkdepends=('python-pytest' 'python-pytest-runner')
options=('!makeflags')
source=(sequoia::"git+https://gitlab.com/sequoia-pgp/sequoia.git#tag=openpgp/v${pkgver}?signed")
sha512sums=('SKIP')
validpgpkeys=(
  D2F2C5D45BE9FDE6A4EE0AAF31855247603831FD # justus@sequoia-pgp.org
  CBCD8F030588653EEDD7E2659B7DD433F254904A # justus@sequoia-pgp.org
)

prepare() {
  cd ${pkgbase}
  sed 's/debug/release/g' -i -- */Makefile */*/Makefile */*/*/Makefile
  sed "s/-L/${LDFLAGS},-L/g" -i ffi/lang/python/Makefile
  ln -s .Makefile Makefile
}

build() {
  cd ${pkgbase}
  make PREFIX=/usr CARGO_FLAGS='--locked' build-release
}

check() {
  cd ${pkgbase}
  cargo test --release --locked \
    --workspace \
    --exclude sequoia-store
  # python tests currently fail horribly
  # make -C ffi/lang/python test
}

package_sequoia-ffi() {
  pkgdesc='C API for Sequoia'
  depends=('glibc' 'nettle' 'libhogweed.so' 'libnettle.so' 'sqlite' 'capnproto'
           'openssl' 'gcc-libs' 'gmp' 'bzip2' 'libbz2.so')
  cd ${pkgbase}
  make DESTDIR="${pkgdir}" PREFIX=/usr CARGO_FLAGS='--locked' install
  install -Dm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
  rm -rf "${pkgdir}/usr/lib/python"*
  rm -rf "${pkgdir}"{/usr/share/bash-completion/,/usr/share/zsh/,/usr/share/fish/,/usr/bin/}
}

package_python-sequoia() {
  depends=('python' 'python-cffi' 'sequoia-ffi')
  pkgdesc+=' - python bindings'
  cd ${pkgbase}
  make -C ffi/lang/python DESTDIR="${pkgdir}" PREFIX=/usr install
}

# vim: ts=2 sw=2 et:
