#!/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 |---------------------------------------

pkgname=gnutls
pkgver=3.8.3
pkgrel=01
pkgdesc="A library which provides a secure layer over a reliable transport layer w/o zstd "
url="https://www.gnutls.org/"
options=('!zipman')
#options=('!zipman' 'debug')  # comment or rm zipman option above, uncomment here to have gnutls-debug pkg produced
depends=('glibc' 'gcc-libs' 'gmp' 'libtasn1' 'readline' 'zlib' 'nettle'
         'libp11-kit' 'libidn2' 'libidn2.so' 'libunistring' 'brotli')
makedepends=('tpm2-tss' 'gtk-doc' 'autoconf' 'automake' 'gettext') # gtk-doc required for autoreconf when patching
checkdepends=('net-tools' 'tpm2-tools')
optdepends=('tpm2-tss: support for TPM2 wrapped keys')
backup=(etc/gnutls/config
        etc/modules-load.d/gnutls.conf)
source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/${pkgname}-${pkgver}.tar.xz{,.sig}
        config
        gnutls-ktls_disable_keyupdate_test.patch)

prepare() {
  cd ${pkgname}-${pkgver}
  patch -Np1 -i ../gnutls-ktls_disable_keyupdate_test.patch
  autoreconf -vfi
}

build() {
  cd ${pkgname}-${pkgver}
  ./configure --prefix=/usr \
	--disable-static \
	--with-idn \
	--with-brotli \
	--without-zstd \
	--with-tpm2 \
 	--enable-openssl-compatibility \
	--enable-ktls \
	--with-default-trust-store-pkcs11="pkcs11:"

  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

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

  make check
}

package() {
  cd ${pkgname}-${pkgver}
  make DESTDIR="${pkgdir}" install

  # prepare to load tls module required for ktls
  install -dm755 "$pkgdir"/etc/modules-load.d
  echo "#tls" > "$pkgdir"/etc/modules-load.d/gnutls.conf

  # disable ktls by default for now
  install -dm755 "$pkgdir"/etc/gnutls
  install -Dm644 "${srcdir}"/config  "$pkgdir"/etc/gnutls/config
 
  # license due to notice about gmp/nettle
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  # lots of .png files are put into infodir and are gzipped by makepkg! this needs to be fixed by using !zipman
  # gzip -9 all files in infodir and manpages manually
  find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -n -9 {} \;
  find "$pkgdir/usr/share/man" -exec gzip -n -9 {} \;
}

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

arch=(x86_64)

#license=('GPL3' 'LGPL2.1')
license=('GPL-3.0-or-later AND LGPL-2.1-or-later')

validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno <ueno@unixuser.org>"
#validpgpkeys=('5D46CB0F763405A7053556F47A75A648B3F9220C') # "Zoltan Fridrich <zfridric@redhat.com>"

sha256sums=(f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e  # gnutls-3.8.3.tar.xz
	9794181088256ab5cdfb36938effcdd52dec3caae8c119e90433f8ce9d433bd9  # gnutls-3.8.3.tar.xz.sig
	22e614510fe52defe8c233ce3e5ead2205739fd967657ce3176ca121f3c562b5  # config
	2a911615739cb327b6dced36b595ea10c89f40bb7274d062dab14a9ecfe89708) # gnutls-ktls_disable_keyupdate_test.patch

##  0f3bd1b4cf00ea56e06c96ae15ae6d661689e01ad8c28903b3e51177b6a72c21  gnutls-3.8.3-01-x86_64.pkg.tar.lz

