#!/usr/bin/bash
# JOBoRun		: Jwm OpenBox Obarun RUNit
# Maintainer	: Joe Bo Run <joborun@disroot.org>
# PkgSource		: url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website		: https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------

pkgbase=gpgme
pkgname=(gpgme qgpgme python-gpgme)
pkgver=1.18.0
pkgrel=01
_python_ver=3.10
pkgdesc="A C wrapper library for GnuPG"
arch=('x86_64')
#options=('debug')  ##  uncomment this to have the debug pkg produced
url='https://www.gnupg.org/related_software/gpgme/'
makedepends=('libgpg-error' 'gnupg' 'qt5-base' 'python' 'swig')
source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}
        python310.patch)

prepare() {
  cd ${pkgbase}-${pkgver}
  patch -Np1 -i ../python310.patch
}

build() {
  cd ${pkgbase}-${pkgver}

  ./configure \
    --prefix=/usr \
    --disable-fd-passing \
    --disable-static \
    --disable-gpgsm-test
  make

  # ensure reproducibility of .pyc files
  touch -d @$SOURCE_DATE_EPOCH lang/python/version.py
  touch -d @$SOURCE_DATE_EPOCH lang/python/python${_python_ver}-gpg/lib.linux-x86_64-${_python_ver}/gpg/gpgme.py

  # .pyc files will be created if check() is used - generate them here

}

check() {
  cd ${pkgbase}-${pkgver}

  # this test fails with gnupg (FS#66572)
  sed -i 's#"t-keylist-secret",##' tests/json/t-json.c

  make check

  # ensure reproducibilty whether test-suite is run or not
  find . -name *.pyc -exec rm {} +
}

package_gpgme() {
  depends=('libgpg-error' 'gnupg>=2')
  options+=('!emptydirs')
  provides=('libgpgme.so'
            'libgpgmepp.so')

  cd ${pkgbase}-${pkgver}

  make DESTDIR="${pkgdir}" install

  # split qgpgme
  rm -r "${pkgdir}"/usr/include/{qgpgme,QGpgME}/
  rm -r "${pkgdir}"/usr/lib/{cmake/QGpgme/,libqgpgme.*}
  rm -r "${pkgdir}"/usr/lib/python*
}

package_qgpgme() {
  pkgdesc="Qt bindings for GPGme"
  depends=('gpgme' 'qt5-base')

  cd ${pkgbase}-${pkgver}/lang/qt

  make DESTDIR="${pkgdir}" install
}

package_python-gpgme() {
  pkgdesc="Python bindings for GPGme"
  depends=('gpgme' 'python')

  cd ${pkgbase}-${pkgver}/lang/python
  make DESTDIR="${pkgdir}" install
}

#---- license gpg-key sha256sums ----

license=('LGPL')

validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020)

sha256sums=(361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e # gpgme-1.18.0.tar.bz2
	105c722a34526516b9cc53e5690ee8c29651a9dcd3a0235f4009e94ef4fd684d # gpgme-1.18.0.tar.bz2.sig
	5de2f6bcb6b30642d0cbc3fbd86803c9460d732f44a526f44cedee8bb78d291a) # python310.patch


