#!/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-qt5 qgpgme-qt6 python-gpgme)
pkgname=(gpgme python-gpgme) # qgpgme)
pkgver=1.23.2
pkgrel=01
pkgdesc="A C wrapper library for GnuPG"
#options=('debug')  ##  uncomment this to have the debug pkg produced
url='https://www.gnupg.org/related_software/gpgme/'
makedepends=('gnupg' 'libgpg-error' 'python' 'python-setuptools' 'python-build' 'python-installer' 'python-setuptools' 'python-wheel' 'swig') # 'qt5-base')
source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig})

prepare() {

  cd ${pkgbase}-${pkgver}/

  sed -i 's/-unknown//' autogen.sh
  autoreconf -fi

  # Building qt5 and qt6 bindings in the same source tree is not supported
  cp -r ${srcdir}/${pkgbase}-${pkgver}{,-qt6}
}

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

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

  (
    # use a PEP517 workflow to get a reproducible Python package
    # NOTE: top_builddir is required so that the build takes place against local gpgme, not system gpgme
    cd lang/python/
    top_builddir="$srcdir/$pkgbase-$pkgver" python -m build --wheel --no-isolation
  )

#  cd ../${pkgbase}-${pkgver}-qt6
#  ./configure \
#    --prefix=/usr \
#    --disable-fd-passing \
#    --disable-static \
#    --disable-gpgsm-test \
#    --enable-languages=cpp \
#    --disable-languages=qt6,qt5
#  make
}

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-qt5() {
#  pkgdesc="Qt5 bindings for GPGme"
#  depends=('gpgme' 'qt5-base')
#  provides=('qgpgme-qt5')
#  conflicts=('qgpgme')
#  cd ${pkgbase}-${pkgver}-qt5/lang/qt
#
#  make DESTDIR="${pkgdir}" install
#}
#
#package_qgpgme-qt6() {
#  pkgdesc="Qt6 bindings for GPGme"
#  depends=('gpgme' 'qt6-base')
#
#  cd ${pkgbase}-${pkgver}-qt6/lang/qt
#
#  make DESTDIR="${pkgdir}" install
#  rm -r "${pkgdir}"/usr/include
#}


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

  cd ${pkgbase}-${pkgver}/lang/python
  python -m installer --destdir="$pkgdir" dist/*.whl
}

#---- arch license gpg-key & sha256sums ----

arch=(x86_64)

license=('LGPL')

validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020)
              'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key)

sha256sums=(9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224  # gpgme-1.23.2.tar.bz2
	34c6f18f6fc44f21185a4f8530db0fc2d89b577f0336426c8a82574ef2be4f56) # gpgme-1.23.2.tar.bz2.sig

##  75a860bbfb5142932a28ea7cab87056508e228e9a2ea48a3b3c04e6c54ab0737  gpgme-1.23.2-01-x86_64.pkg.tar.lz
##  19d227da7bd8fa54850b1295f7294760c0460b519ccb7b52eabf9bc2ec50399d  python-gpgme-1.23.2-01-x86_64.pkg.tar.lz

