# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>

# after a .so bump first rebuild dirmngr
# with sudo testing-x86_64-build -- -I libgcrypt-1.6.0-1-x86_64.pkg.tar.xz
# then cp /usr/lib/libgcrypt.so.11 /var/lib/archbuild/staging-x86_64/root/usr/lib/ and do staging-x86_64-build

pkgname=libgcrypt
pkgver=1.11.0
pkgrel=2
pkgdesc="General purpose cryptographic library based on the code from GnuPG"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url="https://www.gnupg.org"
license=(
    'BSD-3-Clause'
    'BSD-3-Clause OR GPL-2.0-only'
    'GPL-2.0-or-later'
    'LGPL-2.0-or-later'
    'LGPL-2.1-or-later'
    'X11'
    'LicenseRef-scancode-public-domain'
    'LicenseRef-OCB1'
)
depends=('libgpg-error' 'glibc')
options=('!emptydirs')
# https://www.gnupg.org/download/integrity_check.html
source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
sha256sums=('09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c'
            'SKIP')
validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)"
# validpgpkeys=('AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key)

prepare() {
  cd "${pkgname}"-${pkgver}

  # tests fail due to systemd+libseccomp preventing memory syscalls when building in chroots
  #  t-secmem: line 176: gcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0) failed: General error
  #  FAIL: t-secmem
  #  t-sexp: line 1174: gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0) failed: General error
  #  FAIL: t-sexp
  sed -i "s:t-secmem::" tests/Makefile.am
  sed -i "s:t-sexp::" tests/Makefile.am
  autoreconf -vfi
}

build() {
  cd "${pkgname}"-${pkgver}
   case "${CARCH}" in
     powerpc|powerpc64)
       # prevent AltiVec and VSX to slip in to not break
       # older PowerPC CPUs
       local -x gcry_cv_cc_ppc_altivec=no
       local -x gcry_cv_cc_ppc_altivec_cflags=no
       local -x cry_cv_gcc_inline_asm_ppc_altivec=no
       local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
     ;;
   esac

  ./configure --prefix=/usr \
	--disable-static \
	--disable-padlock-support
  make
}

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

package() {
  cd "${pkgname}"-${pkgver}
  make DESTDIR="${pkgdir}" install
  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 {COPYING.LIB,LICENSES} "${pkgdir}/usr/share/licenses/${pkgname}/"
}
