File PKGBUILD of Package poppler-bootstrap

# Maintainer: Yukari Chiba <[email protected]>

pkgbase=poppler
pkgname=('poppler' 'poppler-glib')
pkgver=26.04.0
# 2025.09.19
_testdata_commit=9d5011815a14c157ba25bb160187842fb81579a5
pkgrel=1
pkgdesc='A PDF rendering library based on the xpdf-3.0 code base'
arch=(x86_64 aarch64 riscv64 loongarch64)
license=('GPL-2.0-only'
         'GPL-3.0-or-later'
         'LGPL-2.0-or-later'
         'LGPL-2.1-or-later'
         'MIT'
         'HPND-sell-variant')
makedepends=('libjpeg' 'cairo' 'fontconfig' 'openjpeg2'
             'gtk3' 'pkgconf' 'lcms2' 'gobject-introspection' 'icu'
             'git' 'nss' 'gpgmepp' 'gtk-doc' 'curl' 'poppler-data'
             'cmake' 'python' 'boost' 'glib2' 'gpgme'
             'freetype2' 'libpng' 'libtiff' 'nspr')
options=('!emptydirs')
url="https://poppler.freedesktop.org/"
source=(https://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz
        test::git+https://gitlab.freedesktop.org/poppler/test.git#commit=$_testdata_commit
)
sha256sums=('b0955163114af96bc0106f68cb24daf973a629462453d8b82775f81b0d4e0693'
            '9a76c2c50aae30b1bde5400ae78e9444111161a141c1f606fd01ca8a09df4d8e')

build() {
  cmake -B build -S "$pkgname-$pkgver" \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
    -DENABLE_GTK_DOC=ON \
    -DENABLE_QT5=OFF \
    -DENABLE_QT6=OFF
  cmake --build build
}

check() {
  # Tests fail in packaging environment:
  # nss-verify-rsa-shortchain
  # nss-verify-rsa-moderatechain
  # nss-verify-ecdsa-shortchain
  # nss-verify-ecdsa-moderatechain
  # nss-verify-ecdsa-longchain
  # These require the certificate database provided by Firefox (?!) and located
  # in $HOME/.mozilla/firefox/ to run.
  LANG=en_US.UTF8 ctest --test-dir build --output-on-failure \
    -E nss-verify-
}

package_poppler() {
  pkgdesc="PDF rendering library based on xpdf 3.0"
  depends=('libjpeg' 'cairo' 'fontconfig' 
           'openjpeg2' 'lcms2' 'nss' 'curl' 'gpgme' 'gpgmepp'
           'nspr' 'libpng' 'freetype2' 'zlib' 'libtiff')
  optdepends=('poppler-data: highly recommended encoding data to display PDF documents with certain encodings and characters')
  provides=('libpoppler.so' 'libpoppler-cpp.so')

  DESTDIR="$pkgdir" cmake --install build

  # cleanup for splitted build
  rm -vrf "${pkgdir}"/usr/include/poppler/glib
  rm -vf "${pkgdir}"//usr/lib/libpoppler-glib.*
  rm -vf "${pkgdir}"/usr/lib/pkgconfig/poppler-glib.pc
  rm -vrf "${pkgdir}"/usr/{lib,share}/gir*
  rm -vrf "${pkgdir}"/usr/share/gtk-doc

  # license
  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
  install -m644 "${srcdir}"/${pkgname}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/
}

package_poppler-glib() {
  pkgdesc="Poppler glib bindings"
  depends=("poppler=${pkgver}" 'glib2' 'freetype2' 'cairo')
  provides=('libpoppler-glib.so')

  cd build

  make -C glib DESTDIR="${pkgdir}" install
  install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
  install -m644 poppler-glib.pc "${pkgdir}/usr/lib/pkgconfig/"
  rm -vf "${pkgdir}"/usr/lib/libpoppler.*
  rm -vf "${pkgdir}/usr/bin/poppler-glib-demo"

  # license
  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
  install -m644 "${srcdir}"/${pkgbase}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/
}