# Maintainer: Alexey Pavlov <Alexpux@gmail.com>

pkgbase=libgpg-error
pkgname=('libgpg-error' 'libgpg-error-devel') # 'gpg-error'
pkgver=1.51
pkgrel=1
pkgdesc="Support library for libgcrypt"
arch=('i686' 'x86_64')
url="https://gnupg.org"
license=('LGPL')
depends=('sh' 'libiconv' 'libintl')
makedepends=('libiconv-devel' 'gettext-devel')
source=(https://gnupg.org/ftp/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2{,.sig}
        0001-gnulib-weak.patch
        0002-gpg-error-static-linking.patch
        0003-Avoid-passing-a-signed-parameter-to-isspace-and-frie.patch)
sha256sums=('be0f1b2db6b93eed55369cdf79f19f72750c8c7c39fc20b577e724545427e6b2'
            'SKIP'
            '8b716e8fb6ef7d4b9c5c730b5819556ed907cbb0b0a144062fa5f41a58d92da8'
            'a04b60374178755c9db848c5e050cccd038b20dd7b0c3cab3e27fbbcd6382484'
            '3f23c42c424cdeb072769bf8748665da3155b5a172da08be22b641dd04827612')
#These might be signed by any of these keys https://gnupg.org/signature_key.html
validpgpkeys=('5B80C5754298F0CB55D8ED6ABCEF7E294B092E28'  # Andre Heinecke (Release Signing Key)
              '6DAA6E64A76D2840571B4902528897B826403ADA'  # Werner Koch (dist signing 2020)
              'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD'  # Niibe Yutaka (GnuPG Release Key)
              '02F38DFF731FF97CB039A1DA549E695E905BA208') # GnuPG.com (Release Signing Key 2021)

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

  patch -p1 -i ${srcdir}/0001-gnulib-weak.patch
  patch -p1 -i ${srcdir}/0002-gpg-error-static-linking.patch
  patch -p1 -i ${srcdir}/0003-Avoid-passing-a-signed-parameter-to-isspace-and-frie.patch
  autoreconf -fi
}

build() {
  cd "${srcdir}"/${pkgname}-${pkgver}
  ./configure \
    --prefix=/usr \
    --build=${CHOST} \
    --without-libiconv-prefix \
    --without-libintl-prefix \
    --enable-install-gpg-error-config \
    --enable-shared \
    --enable-static

  make no_undefined=-no-undefined
  make DESTDIR="${srcdir}/dest" install
}

check() {
  cd ${srcdir}/${pkgname}-${pkgver}
  make check
}

package_libgpg-error() {
  groups=('libraries')

  mkdir -p ${pkgdir}/usr/share
  cp -rf ${srcdir}/dest/usr/bin ${pkgdir}/usr/
  rm -f ${pkgdir}/usr/bin/*-config
  cp -rf ${srcdir}/dest/usr/share/locale ${pkgdir}/usr/share/
}

package_libgpg-error-devel() {
  pkgdesc="libgpg-error headers and libraries"
  groups=('development')
  options=('staticlibs')
  depends=('libiconv-devel' 'gettext-devel')

  mkdir -p ${pkgdir}/usr/{bin,share}
  cp -f ${srcdir}/dest/usr/bin/*-config ${pkgdir}/usr/bin/
  cp -rf ${srcdir}/dest/usr/include ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/lib ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/share/aclocal ${pkgdir}/usr/share/
  cp -rf ${srcdir}/dest/usr/share/common-lisp ${pkgdir}/usr/share/
}
