# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Saul Ibarra Corretge <saghul@gmail.com>
# Contributor: Ray Donnelly <mingw.android@gmail.com>

pkgbase=p11-kit
pkgname=('p11-kit' 'libp11-kit' 'libp11-kit-devel')
pkgver=0.25.9
pkgrel=1
pkgdesc="Library to work with PKCS#11 modules"
arch=('i686' 'x86_64')
url="https://p11-glue.freedesktop.org/p11-kit.html"
msys2_repository_url="https://github.com/p11-glue/p11-kit"
msys2_references=(
  "cpe: cpe:/a:p11-kit_project:p11-kit"
)
license=('BSD')
makedepends=('bash-completion'
             'gtk-doc'
             'gettext-devel'
             'libiconv-devel'
             'libtasn1-devel'
             'libffi-devel'
             'meson'
             'ninja'
             'gcc'
             'pkgconf')
source=(https://github.com/p11-glue/p11-kit/releases/download/${pkgver}/${pkgbase}-${pkgver}.tar.xz{,.sig}
        "0001-missing-libintl.patch")
validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF'  # Stef Walter
              '462225C3B46F34879FC8496CD605848ED7E69871'  # Daiki Ueno
              '5D46CB0F763405A7053556F47A75A648B3F9220C') # Zoltan Fridrich
sha256sums=('98a96f6602a70206f8073deb5e894b1c8efd76ef53c629ab88815d58273f2561'
            'SKIP'
            '0aa2b7949ab33389236a1a59086435877e599fac145aac6fea7ca3374bfbfa36')

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

  patch -Np1 -i "${srcdir}/0001-missing-libintl.patch"
}

build() {
  [[ -d ${srcdir}/build ]] && rm -rf ${srcdir}/build
  mkdir -p "${srcdir}/build" && cd "${srcdir}/build"

  meson setup \
    --prefix=/usr \
    --buildtype debugoptimized \
    -Dgtk_doc=true \
    -Dglib_prefix=/usr \
    -Dman=true \
    -Dtrust_paths=/etc/pki/ca-trust/source:/usr/share/pki/ca-trust-source \
    ../${pkgbase}-${pkgver}

  ninja

  DESTDIR="${srcdir}/dest" ninja install
  install -Dm644 ../${pkgbase}-${pkgver}/COPYING ${srcdir}/dest/usr/share/licenses/${pkgbase}/COPYING
}

package_p11-kit() {
  depends=("libp11-kit")

  mkdir -p ${pkgdir}/usr/{bin,lib,share}
  cp -rf ${srcdir}/dest/etc ${pkgdir}/
  cp -f ${srcdir}/dest/usr/bin/*.exe ${pkgdir}/usr/bin/
  mkdir -p ${pkgdir}/usr/lib/pkcs11
  mkdir -p ${pkgdir}/usr/share/p11-kit/modules
  cp -f ${srcdir}/dest/usr/lib/pkcs11/*.dll ${pkgdir}/usr/lib/pkcs11/
  cp -f ${srcdir}/dest/usr/share/p11-kit/modules/*trust* ${pkgdir}/usr/share/p11-kit/modules/
  cp -rf ${srcdir}/dest/usr/libexec ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/share/{gtk-doc,licenses,locale,man} ${pkgdir}/usr/share/
}

package_libp11-kit() {
  depends=('libffi' 'libintl' 'libtasn1')
  groups=('libraries')

  mkdir -p ${pkgdir}/usr/bin
  cp -f ${srcdir}/dest/usr/bin/*.dll ${pkgdir}/usr/bin/
}

package_libp11-kit-devel() {
  pkgdesc="Libp11-kit headers and libraries"
  groups=('development')
  depends=("libp11-kit")

  mkdir -p ${pkgdir}/usr/lib/pkcs11
  cp -rf ${srcdir}/dest/usr/include ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/lib/pkgconfig ${pkgdir}/usr/lib/
  cp -f ${srcdir}/dest/usr/lib/*.a ${pkgdir}/usr/lib/
  cp -f ${srcdir}/dest/usr/lib/pkcs11/*.a ${pkgdir}/usr/lib/pkcs11/
}
