1SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" 2HOMEPAGE = "https://poppler.freedesktop.org/" 3LICENSE = "GPL-2.0-only" 4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" 5 6SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ 7 file://0001-Do-not-overwrite-all-our-build-flags.patch \ 8 file://basename-include.patch \ 9 file://0001-cmake-Do-not-use-isystem.patch \ 10 file://jpeg-stdio.patch \ 11 file://CVE-2023-34872.patch \ 12 " 13SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1" 14 15DEPENDS = "fontconfig zlib cairo lcms glib-2.0 glib-2.0-native" 16 17inherit cmake pkgconfig gobject-introspection 18 19PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" 20PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" 21PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" 22PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" 23PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" 24PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" 25PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" 26PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" 27PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON -DENABLE_BOOST=ON,-DENABLE_SPLASH=OFF -DENABLE_BOOST=OFF,boost" 28 29# surprise - did not expect this to work :) 30inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} 31 32SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" 33 34EXTRA_OECMAKE += " \ 35 -DENABLE_CMS=lcms2 \ 36 -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ 37 -DBUILD_GTK_TESTS=OFF \ 38 -DENABLE_ZLIB=ON \ 39 -DRUN_GPERF_IF_PRESENT=OFF \ 40 -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ 41 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ 42" 43EXTRA_OECMAKE:append:class-native = " -DENABLE_CPP=OFF" 44 45do_configure:append() { 46 # poppler macro uses pkg-config to check for g-ir runtimes. Something 47 # makes them point to /usr/bin. Align them to sysroot - that's where the 48 # gir-wrappers are: 49 sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja 50} 51 52PACKAGES =+ "libpoppler libpoppler-glib" 53FILES:libpoppler = "${libdir}/libpoppler.so.*" 54FILES:libpoppler-glib = "${libdir}/libpoppler-glib.so.*" 55 56RDEPENDS:libpoppler = "poppler-data" 57 58BBCLASSEXTEND = "native" 59