From c7e2778e009bed4c90ecdb8ae870a8e6a037e40b Mon Sep 17 00:00:00 2001 From: Randy MacLeod Date: Mon, 29 Jul 2019 10:26:22 -0400 Subject: poppler: update from 0.75.0 to 0.79.0 Adjust the basename-include patch to deal with upstream change of introducing goo/gbasename.cc. Drop 0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch since that was done upstream in: 9481c473 glib: pass poppler to gir libs. Signed-off-by: Randy MacLeod Signed-off-by: Khem Raj --- ...ists.txt-Add-libpoppler-to-link-along-wit.patch | 32 ------------ .../poppler/poppler/basename-include.patch | 31 ++++++++---- meta-oe/recipes-support/poppler/poppler_0.75.0.bb | 59 ---------------------- meta-oe/recipes-support/poppler/poppler_0.79.0.bb | 58 +++++++++++++++++++++ 4 files changed, 79 insertions(+), 101 deletions(-) delete mode 100644 meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch delete mode 100644 meta-oe/recipes-support/poppler/poppler_0.75.0.bb create mode 100644 meta-oe/recipes-support/poppler/poppler_0.79.0.bb diff --git a/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch b/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch deleted file mode 100644 index c364d7372c..0000000000 --- a/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d488de23b75b2f3e235f1c184b2253d1402b4c0f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 10 May 2018 23:47:56 -0700 -Subject: [PATCH] glib/CMakeLists.txt: Add libpoppler to link along with - poppler-glib - -This is required since poppler-glib uses symbols from poppler and -we use --as-needed - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - glib/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt -index 6f91669..ca5021f 100644 ---- a/glib/CMakeLists.txt -+++ b/glib/CMakeLists.txt -@@ -135,7 +135,7 @@ if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS) - get_directory_property(_tmp_includes INCLUDE_DIRECTORIES) - _list_prefix(_includes _tmp_includes "-I") - set(Poppler_0_18_gir_CFLAGS ${_includes} -L${CMAKE_BINARY_DIR} -L${CMAKE_CURRENT_BINARY_DIR}) -- set(Poppler_0_18_gir_LIBS poppler-glib) -+ set(Poppler_0_18_gir_LIBS poppler-glib poppler) - _list_prefix(_abs_introspection_files introspection_files "${CMAKE_CURRENT_SOURCE_DIR}/") - list(APPEND _abs_introspection_files - ${CMAKE_CURRENT_BINARY_DIR}/poppler-enums.c --- -2.20.1 - diff --git a/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/meta-oe/recipes-support/poppler/poppler/basename-include.patch index ab6bdb0806..c18a5f5c0e 100644 --- a/meta-oe/recipes-support/poppler/poppler/basename-include.patch +++ b/meta-oe/recipes-support/poppler/poppler/basename-include.patch @@ -1,20 +1,31 @@ -Minic GNU basename() API for non-glibc library e.g. musl +From 2ac679158062b14729f82f513fc7cafbb6f4f7a6 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod +Date: Fri, 26 Jul 2019 14:26:54 -0400 +Subject: [PATCH 3/3] Minic GNU basename() API for non-glibc library e.g. musl Upstream-Status: Pending + Signed-off-by: Khem Raj +Signed-off-by: Randy MacLeod +--- + goo/gbasename.cc | 4 ++++ + 1 file changed, 4 insertions(+) -Index: poppler-0.64.0/utils/pdfsig.cc -=================================================================== ---- poppler-0.64.0.orig/utils/pdfsig.cc -+++ poppler-0.64.0/utils/pdfsig.cc -@@ -35,6 +35,10 @@ - #include "numberofcharacters.h" - #include +diff --git a/goo/gbasename.cc b/goo/gbasename.cc +index 830c1c80..e93eb368 100644 +--- a/goo/gbasename.cc ++++ b/goo/gbasename.cc +@@ -46,6 +46,10 @@ + #include + #include +#if !defined(__GLIBC__) +#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) +#endif + - static const char * getReadableSigState(SignatureValidationStatus sig_vs) + std::string gbasename(const char* filename) { - switch(sig_vs) { + #ifdef _MSC_VER +-- +2.17.0 + diff --git a/meta-oe/recipes-support/poppler/poppler_0.75.0.bb b/meta-oe/recipes-support/poppler/poppler_0.75.0.bb deleted file mode 100644 index 0704f1a2af..0000000000 --- a/meta-oe/recipes-support/poppler/poppler_0.75.0.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch \ - file://0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch \ - file://basename-include.patch \ - " -SRC_URI[md5sum] = "3fb4ca803d989742695ca586c5cc489e" -SRC_URI[sha256sum] = "3bbaedb0fa2797cac933a0659d144303e4d09eec6892c65600da987d8707199a" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points -def get_poppler_fpu_setting(bb, d): - if d.getVar('TARGET_FPU') in [ 'soft' ]: - return "-DUSE_FIXEDPOINT=ON" - return "" - -EXTRA_OECMAKE += "${@get_poppler_fpu_setting(bb, d)}" - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-oe/recipes-support/poppler/poppler_0.79.0.bb b/meta-oe/recipes-support/poppler/poppler_0.79.0.bb new file mode 100644 index 0000000000..0684334754 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler_0.79.0.bb @@ -0,0 +1,58 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch \ + file://basename-include.patch \ + " +SRC_URI[md5sum] = "0aac1fcb6466f8b7bdf51871264c7e83" +SRC_URI[sha256sum] = "f985a4608fe592d2546d9d37d4182e502ff6b4c42f8db4be0a021a1c369528c8" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points +def get_poppler_fpu_setting(bb, d): + if d.getVar('TARGET_FPU') in [ 'soft' ]: + return "-DUSE_FIXEDPOINT=ON" + return "" + +EXTRA_OECMAKE += "${@get_poppler_fpu_setting(bb, d)}" + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" -- cgit v1.2.3-54-g00ecf