summaryrefslogtreecommitdiffstats
path: root/rules/poppler.make
diff options
context:
space:
mode:
authorRoland Hieber <r.hieber@pengutronix.de>2017-11-07 17:40:22 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2017-11-10 19:19:40 +0100
commitf2a97a38158219f01adfb49a161fb896efd5256c (patch)
treee1ebbe2e60bdb3d4c3a6505305153f41aa2d5f6a /rules/poppler.make
parent365aa88b79e8361f140d593bdbdc2a52f6ceb151 (diff)
downloadptxdist-f2a97a38158219f01adfb49a161fb896efd5256c.tar.gz
ptxdist-f2a97a38158219f01adfb49a161fb896efd5256c.tar.xz
poppler: version bump 0.18.0 -> 0.60.1
This is quite a version bump, spanning six years of poppler development. Upstream now provides data for rendering cyrillic and CJK languages in the package poppler-data, but this dependency is only detected at compile time, so we make sure the build order is right. The build system has changed from autotools to CMake. Some applications require the old xpdf headers, the CPP wrapper or CMYK support, so make these options selectable. Same for the Splash backend, which can now also be built with single precision or fixed-point arithmetic. PNG and JPEG support is no longer broken; poppler now also includes an internal DCT decoder, but it is officially unmaintained, so we leave it out. Likewise, poppler allows using zlib to uncompress flate streams, but with the warning that this is "not totally safe", so it is disabled for now. The GTK dependency has been dropped as it is only necessary for the documentation or some tests, which we don't build. Additionally, poppler could benefit from packaging libopenjpeg and libtiff in ptxdist for parsing JPEG2000 or TIFF embedded in PDFs. Likewise, libnss could be packaged for PDF signature support. Also the Qt5 wrapper is now selectable, but this is currently only build-tested and needs to be tested in runtime. Finally harmonize the wording of the kconfig options. Signed-off-by: Roland Hieber <r.hieber@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/poppler.make')
-rw-r--r--rules/poppler.make92
1 files changed, 60 insertions, 32 deletions
diff --git a/rules/poppler.make b/rules/poppler.make
index 7ac676bf1..bc38f9beb 100644
--- a/rules/poppler.make
+++ b/rules/poppler.make
@@ -2,13 +2,19 @@
#
# Copyright (C) 2007 by Luotao Fu <l.fu@pengutronix.de>
# 2009 by Robert Schwebel
+# 2017 by Roland Hieber <r.hieber@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#
-
+# TODOs for improvement:
+# - package libnss for signature support in PDFs
+# - package libtiff for additional TIFF support
+# - runtime-test the Qt5 backend
+# - package libopenjpeg and build with --enable-libopenjpeg
+# - update lcms to lcms2 and use --enable-cms=lcms2
#
# We provide this package
#
@@ -17,13 +23,14 @@ PACKAGES-$(PTXCONF_POPPLER) += poppler
#
# Paths and names
#
-POPPLER_VERSION := 0.18.0
-POPPLER_MD5 := 4cd3bf2a0a13fa8eaf00d31368915f77
+POPPLER_VERSION := 0.60.1
+POPPLER_MD5 := 7648416d51a6e9fbc4a75b6f8b53dd7c
POPPLER := poppler-$(POPPLER_VERSION)
-POPPLER_SUFFIX := tar.gz
+POPPLER_SUFFIX := tar.xz
POPPLER_URL := http://poppler.freedesktop.org/$(POPPLER).$(POPPLER_SUFFIX)
POPPLER_SOURCE := $(SRCDIR)/$(POPPLER).$(POPPLER_SUFFIX)
POPPLER_DIR := $(BUILDDIR)/$(POPPLER)
+POPPLER_LICENSE := GPL-2.0 OR GPL-3.0
# ----------------------------------------------------------------------------
# Prepare
@@ -35,34 +42,43 @@ POPPLER_ENV := $(CROSS_ENV)
#
# autoconf
#
-POPPLER_AUTOCONF := \
- $(CROSS_AUTOCONF_USR) \
- $(GLOBAL_LARGE_FILE_OPTION) \
- --disable-xpdf-headers \
- --$(call ptx/disen, PTXCONF_HAS_HARDFLOAT)-single-precision \
- --disable-fixedpoint \
- --disable-libopenjpeg \
- --disable-libtiff \
- --$(call ptx/endis, PTXCONF_POPPLER_ZLIB)-zlib \
- --$(call ptx/endis, PTXCONF_POPPLER_CURL)-libcurl \
- --$(call ptx/endis, PTXCONF_POPPLER_JPEG)-libjpeg \
- --$(call ptx/endis, PTXCONF_POPPLER_PNG)-libpng \
- --$(call ptx/endis, PTXCONF_POPPLER_SPLASH)-splash-output \
- --$(call ptx/endis, PTXCONF_POPPLER_CAIRO)-cairo-output \
- --$(call ptx/endis, PTXCONF_POPPLER_GLIB)-poppler-glib \
- --disable-introspection \
- --disable-gtk-doc \
- --disable-gtk-doc-html \
- --disable-gtk-doc-pdf \
- --$(call ptx/endis, PTXCONF_POPPLER_QT4)-poppler-qt4 \
- --disable-poppler-cpp \
- --disable-gtk-test \
- --$(call ptx/endis, PTXCONF_POPPLER_BIN)-utils \
- --disable-compile-warnings \
- --$(call ptx/endis, PTXCONF_POPPLER_CMS)-cms \
- --without-x \
- --with-font-configuration=fontconfig \
- --without-libiconv-prefix
+POPPLER_CONF_TOOL := cmake
+POPPLER_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DBUILD_SHARED_LIBS=ON \
+ -DEXTRA_WARN=NO \
+ -DFONT_CONFIGURATION=fontconfig \
+ -DENABLE_UTILS=$(call ptx/onoff,PTXCONF_POPPLER_BIN) \
+ -DENABLE_XPDF_HEADERS=$(call ptx/onoff,PTXCONF_POPPLER_XPDF) \
+ -DENABLE_CPP=$(call ptx/onoff,PTXCONF_POPPLER_CPP) \
+ -DWITH_Iconv=ON \
+ -DBUILD_CPP_TESTS=NO \
+ -DENABLE_GLIB=$(call ptx/onoff,PTXCONF_POPPLER_GLIB) \
+ -DWITH_GLIB=$(call ptx/onoff,PTXCONF_POPPLER_GLIB) \
+ -DWITH_GObjectIntrospection=$(call ptx/onoff,PTXCONF_POPPLER_INTROSPECTION) \
+ -DENABLE_QT4=$(call ptx/onoff,PTXCONF_POPPLER_QT4) \
+ -DWITH_Qt4=$(call ptx/onoff,PTXCONF_POPPLER_QT4) \
+ -DBUILD_QT4_TESTS=NO \
+ -DENABLE_QT5=$(call ptx/onoff,PTXCONF_POPPLER_QT5) \
+ -DBUILD_QT5_TESTS=NO \
+ -DWITH_Cairo=$(call ptx/onoff,PTXCONF_POPPLER_CAIRO) \
+ -DWITH_GTK=NO \
+ -DBUILD_GTK_TESTS=NO \
+ -DENABLE_GTK_DOC=NO \
+ -DENABLE_SPLASH=$(call ptx/onoff,PTXCONF_POPPLER_SPLASH) \
+ -DSPLASH_CMYK=$(call ptx/onoff,PTXCONF_POPPLER_SPLASH_CMYK) \
+ -DUSE_FLOAT=$(call ptx/onoff,PTXCONF_POPPLER_SINGLE) \
+ -DUSE_FIXEDPOINT=$(call ptx/onoff,PTXCONF_POPPLER_FIXED) \
+ -DWITH_PNG=$(call ptx/onoff,PTXCONF_POPPLER_PNG) \
+ -DWITH_JPEG=$(call ptx/onoff,PTXCONF_POPPLER_JPEG) \
+ -DENABLE_DCTDECODER=$(call ptx/ifdef,PTXCONF_POPPLER_JPEG,libjpeg,none) \
+ -DENABLE_LIBOPENJPEG=$(call ptx/ifdef,PTXCONF_POPPLER_OPENJPEG,openjpeg2,none) \
+ -DWITH_TIFF=$(call ptx/onoff,PTXCONF_POPPLER_TIFF) \
+ -DWITH_NSS3=$(call ptx/onoff,PTXCONF_POPPLER_NSS) \
+ -DENABLE_ZLIB=$(call ptx/onoff,PTXCONF_POPPLER_ZLIB) \
+ -DENABLE_ZLIB_UNCOMPRESS=NO \
+ -DENABLE_LIBCURL=$(call ptx/onoff,PTXCONF_POPPLER_CURL) \
+ -DENABLE_CMS=$(call ptx/ifdef,PTXCONF_POPPLER_CMS,lcms1,)
# ----------------------------------------------------------------------------
# Target-Install
@@ -85,12 +101,24 @@ ifdef PTXCONF_POPPLER_BIN
$(call install_copy, poppler, 0, 0, 0755, -, /usr/bin/$$i); \
done
endif
+ifdef PTXCONF_POPPLER_CPP
+ @$(call install_lib, poppler, 0, 0, 0644, libpoppler-cpp)
+endif
ifdef PTXCONF_POPPLER_GLIB
@$(call install_lib, poppler, 0, 0, 0644, libpoppler-glib)
endif
ifdef PTXCONF_POPPLER_QT4
@$(call install_lib, poppler, 0, 0, 0644, libpoppler-qt4)
endif
+ifdef PTXCONF_POPPLER_QT5
+ @$(call install_lib, poppler, 0, 0, 0644, libpoppler-qt5)
+endif
+ifdef PTXCONF_POPPLER_INTROSPECTION
+ @$(call install_copy, poppler, 0, 0, 0644, -, \
+ /usr/share/gir-1.0/Poppler-0.18.gir)
+ @$(call install_copy, poppler, 0, 0, 0644, -, \
+ /usr/lib/girepository-1.0/Poppler-0.18.typelib)
+endif
@$(call install_finish, poppler)
@$(call touch)