From: Roland Hieber <r.hieber@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH 4/7] poppler: version bump 0.18.0 -> 0.57.0
Date: Thu, 24 Aug 2017 00:39:08 +0200 [thread overview]
Message-ID: <20170823223911.13784-5-r.hieber@pengutronix.de> (raw)
In-Reply-To: <20170823223911.13784-1-r.hieber@pengutronix.de>
This is quite a version bump, spanning six years of poppler development.
Upstream now provides data for rendering cyrillic languages in the
package poppler-data, but this dependency is only detected at compile
time, so make sure the build order is right.
Some applications require the old xpdf headers, the CPP wrapper or CMYK
support, so make these configure 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. The GTK dependency
has been dropped (or was it even necessary in the first place?)
Don't wonder about --disable-relocatable, it only applies to Windows.
poppler allows using zlib to uncompress flate streams, but with the
warning that this is "not totally safe", so it is disabled.
Additionally, poppler could benefit from packaging libopenjpeg and
libtiff in ptxdist for parsing embedded JPEG2000 or TIFF in PDFs.
Likewise, libnss could be packaged for PDF signature support. Also
there is the option to build a Qt5 wrapper, but I don't have a good way
to test this, so it is currently disabled.
Signed-off-by: Roland Hieber <r.hieber@pengutronix.de>
---
...error-vector-in-namespace-std-does-not-na.patch | 56 ++++++++++++++
patches/poppler-0.57.0/series | 4 +
rules/poppler.in | 86 +++++++++++++++++-----
rules/poppler.make | 67 +++++++++++++----
4 files changed, 179 insertions(+), 34 deletions(-)
create mode 100644 patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch
create mode 100644 patches/poppler-0.57.0/series
diff --git a/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch b/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch
new file mode 100644
index 000000000..70bfdc36f
--- /dev/null
+++ b/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch
@@ -0,0 +1,56 @@
+From: Roland Hieber <r.hieber@pengutronix.de>
+Date: Fri, 11 Aug 2017 11:44:26 +0200
+Subject: [PATCH] Form.h: fix error: 'vector' in namespace 'std' does not name
+ a type
+
+Original error message while compiling with
+OSELAS.Toolchain-2016.06.1-arm-v7a-linux-gnueabi,
+gcc-5.4.0-glibc-2.23-binutils-2.26-kernel-4.6-sanitized:
+
+ make[5]: Entering directory '/ptx/work/dude/WORK_B/rhi/OSELAS.BSP-Miele-PST/platform-cpu20/build-target/poppler-0.57.0/qt4/src'
+ CXX libpoppler_qt4_la-poppler-form.lo
+ In file included from poppler-form.cc:26:0:
+ ../../poppler/Form.h:544:14: error: 'vector' in namespace 'std' does not name a template type
+ ../../poppler/Form.h:556:8: error: 'vector' in namespace 'std' does not name a template type
+ Makefile:735: recipe for target 'libpoppler_qt4_la-poppler-form.lo' failed
+
+configure arguments were:
+
+ --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ --libdir=/usr/lib --host=arm-v7a-linux-gnueabi
+ --build=x86_64-host-linux-gnu --enable-option-checking
+ --disable-silent-rules --disable-dependency-tracking
+ --enable-shared --enable-fast-install --enable-libtool-lock
+ --enable-xpdf-headers --enable-build-type=release
+ --disable-single-precision --enable-fixedpoint --enable-cmyk
+ --disable-relocatable --enable-libopenjpeg=none --disable-libnss
+ --disable-libtiff --enable-largefile --enable-zlib
+ --disable-zlib-uncompress --enable-libcurl
+ --enable-dctdecoder=libjpeg --enable-libpng
+ --disable-splash-output --enable-cairo-output
+ --enable-poppler-glib --disable-introspection --disable-gtk-doc
+ --disable-gtk-doc-html --disable-gtk-doc-pdf
+ --enable-poppler-qt4 --disable-poppler-qt5 --enable-poppler-cpp
+ --disable-gtk-test --enable-utils --disable-compile-warnings
+ --enable-cms=lcms1 --without-x
+ --with-font-configuration=fontconfig --without-libiconv-prefix
+ --with-testdatadir=
+
+Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=102147
+Signed-off-by: Roland Hieber <r.hieber@pengutronix.de>
+---
+ poppler/Form.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/poppler/Form.h b/poppler/Form.h
+index 8ddb6fe3d638..e0a3a28767bb 100644
+--- a/poppler/Form.h
++++ b/poppler/Form.h
+@@ -27,6 +27,7 @@
+ #include "Annot.h"
+
+ #include <set>
++#include <vector>
+
+ class GooString;
+ class Array;
diff --git a/patches/poppler-0.57.0/series b/patches/poppler-0.57.0/series
new file mode 100644
index 000000000..9e7d355f4
--- /dev/null
+++ b/patches/poppler-0.57.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch
+# ed2ff81cec7f4cb784b9295817f9d1e8 - git-ptx-patches magic
diff --git a/rules/poppler.in b/rules/poppler.in
index b107dc7a5..793e19275 100644
--- a/rules/poppler.in
+++ b/rules/poppler.in
@@ -4,18 +4,21 @@ menuconfig POPPLER
tristate
prompt "poppler "
select FONTCONFIG
+ select FREETYPE
select HOST_GETTEXT
- select GLIB if POPPLER_GLIB
- select LIBPNG if POPPLER_PNG
- select LIBJPEG if POPPLER_JPEG
- select CAIRO if POPPLER_CAIRO
- select GTK if POPPLER_SPLASH && POPPLER_GLIB
- select ZLIB if POPPLER_ZLIB
- select LIBCURL if POPPLER_CURL
- select LCMS if POPPLER_CMS
- select QT4 if POPPLER_QT4
- select QT4_BUILD_GUI if POPPLER_QT4
- select QT4_BUILD_XML if POPPLER_QT4
+ select POPPLER_DATA if POPPLER_WITH_DATA
+ select GLIB if POPPLER_GLIB
+ select LIBPNG if POPPLER_PNG
+ select LIBJPEG if POPPLER_JPEG
+ select CAIRO if POPPLER_CAIRO
+ select CAIRO_FREETYPE if POPPLER_CAIRO
+ select ZLIB if POPPLER_ZLIB
+ select LIBCURL if POPPLER_CURL
+ select LCMS if POPPLER_CMS
+ select QT4 if POPPLER_QT4
+ select QT4_BUILD_GUI if POPPLER_QT4
+ select QT4_BUILD_XML if POPPLER_QT4
+ select QT4_BUILD_QTESTLIB if POPPLER_QT4
help
Poppler is a PDF rendering library based on the xpdf-3.0 code base.
@@ -29,6 +32,35 @@ config POPPLER_BIN
pdffonts, pdfimages, pdfinfo, pdftoabw, pdftohtml, pdftoppm, pdftops,
pdftotext.
+config POPPLER_XPDF
+ bool
+ prompt "install unsupported xpdf headers"
+ help
+ Install XPDF headers for software that still depends on them.
+ Normally, this option should not be needed.
+
+config POPPLER_BUILD_DEBUG
+ bool
+ prompt "enable poppler debug build"
+ help
+ Build with debug information and without optimization. You probably
+ don't want this in a production system.
+
+config POPPLER_WITH_DATA
+ bool
+ prompt "install poppler-data"
+ help
+ poppler-data contains the encoding files which enable poppler to
+ correctly render CJK and Cyrillic.
+
+config POPPLER_CMYK
+ bool
+ prompt "enable poppler CMYK raster support"
+
+config POPPLER_CPP
+ bool
+ prompt "enable poppler cpp wrapper"
+
config POPPLER_GLIB
select POPPLER_CAIRO
bool
@@ -42,14 +74,14 @@ config POPPLER_QT4
help
build poppler Qt4 wrapper.
-comment "least one graphics backend should be selected"
- depends on !(POPPLER_CAIRO || POPPLER_SPLASH)
+comment "at least one graphics backend should be selected"
+ depends on !(POPPLER_CAIRO || POPPLER_SPLASH || POPPLER_QT4)
config POPPLER_CAIRO
bool
prompt "enable poppler cairo graphics backend"
help
- built cairo graphics backend
+ build cairo graphics backend
config POPPLER_SPLASH
bool
@@ -57,17 +89,31 @@ config POPPLER_SPLASH
help
build splash graphics backend
+config POPPLER_SPLASH_FP
+ bool
+ prompt "use floating point arithmetic"
+ depends on POPPLER_SPLASH
+ default y if HAS_HARDFLOAT
+ help
+ If enabled, the Splash backend will use floating point operations
+ instead of fixed-point arithmetic.
+
+config POPPLER_SPLASH_FP_DOUBLE
+ bool
+ prompt "use double precision"
+ depends on POPPLER_SPLASH_FP
+ help
+ Use double precision instead of single precision floating point
+ arithmetic in Splash backend
+
config POPPLER_PNG
bool
- # fails to build with the current libpng
- depends on BROKEN
prompt "enable poppler png support"
help
compiles poppler with png support.
config POPPLER_JPEG
bool
- depends on BROKEN
prompt "enable poppler jpeg support"
help
compiles poppler with jpeg support.
@@ -86,8 +132,10 @@ config POPPLER_CURL
config POPPLER_CMS
bool
- prompt "enable poppler cms support"
+ prompt "enable poppler color management support"
help
- compiles poppler with color management system support.
+ compiles poppler with color management support.
endif
+
+# vim: ft=kconfig ts=8 noet tw=80
diff --git a/rules/poppler.make b/rules/poppler.make
index 7ac676bf1..5e580f9d1 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
+# - enable and 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,10 +23,10 @@ PACKAGES-$(PTXCONF_POPPLER) += poppler
#
# Paths and names
#
-POPPLER_VERSION := 0.18.0
-POPPLER_MD5 := 4cd3bf2a0a13fa8eaf00d31368915f77
+POPPLER_VERSION := 0.57.0
+POPPLER_MD5 := bc5a191741604552c90d484103229374
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)
@@ -35,17 +41,43 @@ POPPLER_ENV := $(CROSS_ENV)
#
# autoconf
#
-POPPLER_AUTOCONF := \
+POPPLER_CONF_TOOL := autoconf
+POPPLER_CONF_OPT := \
$(CROSS_AUTOCONF_USR) \
- $(GLOBAL_LARGE_FILE_OPTION) \
- --disable-xpdf-headers \
- --$(call ptx/disen, PTXCONF_HAS_HARDFLOAT)-single-precision \
- --disable-fixedpoint \
- --disable-libopenjpeg \
+ --enable-option-checking \
+ --disable-silent-rules \
+ --disable-dependency-tracking \
+ --enable-shared \
+ --enable-fast-install \
+ --enable-libtool-lock \
+ --$(call ptx/endis, PTXCONF_POPPLER_XPDF)-xpdf-headers \
+ --enable-build-type=$(call ptx/ifdef,PTXCONF_POPPLER_BUILD_DEBUG,debug,release)
+ifdef PTXCONF_POPPLER_SPLASH_FP
+ifdef PTXCONF_POPPLER_SPLASH_FP_DOUBLE
+POPPLER_CONF_OPT += \
+ --disable-single-precision \
+ --disable-fixedpoint
+else # PTXCONF_POPPLER_SPLASH_FP && !PTXCONF_POPPLER_SPLASH_FP_DOUBLE
+POPPLER_CONF_OPT += \
+ --enable-single-precision \
+ --disable-fixedpoint
+endif
+else # !PTXCONF_POPPLER_SPLASH_FP
+POPPLER_CONF_OPT += \
+ --disable-single-precision \
+ --enable-fixedpoint
+endif
+POPPLER_CONF_OPT += \
+ --$(call ptx/endis, PTXCONF_POPPLER_CMYK)-cmyk \
+ --disable-relocatable \
+ --enable-libopenjpeg=none \
+ --disable-libnss \
--disable-libtiff \
+ $(GLOBAL_LARGE_FILE_OPTION) \
--$(call ptx/endis, PTXCONF_POPPLER_ZLIB)-zlib \
+ --disable-zlib-uncompress \
--$(call ptx/endis, PTXCONF_POPPLER_CURL)-libcurl \
- --$(call ptx/endis, PTXCONF_POPPLER_JPEG)-libjpeg \
+ --enable-dctdecoder=$(call ptx/ifdef,PTXCONF_POPPLER_JPEG,libjpeg,none) \
--$(call ptx/endis, PTXCONF_POPPLER_PNG)-libpng \
--$(call ptx/endis, PTXCONF_POPPLER_SPLASH)-splash-output \
--$(call ptx/endis, PTXCONF_POPPLER_CAIRO)-cairo-output \
@@ -55,14 +87,16 @@ POPPLER_AUTOCONF := \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--$(call ptx/endis, PTXCONF_POPPLER_QT4)-poppler-qt4 \
- --disable-poppler-cpp \
+ --disable-poppler-qt5 \
+ --$(call ptx/endis, PTXCONF_POPPLER_CPP)-poppler-cpp \
--disable-gtk-test \
--$(call ptx/endis, PTXCONF_POPPLER_BIN)-utils \
--disable-compile-warnings \
- --$(call ptx/endis, PTXCONF_POPPLER_CMS)-cms \
+ --enable-cms=$(call ptx/ifdef,PTXCONF_POPPLER_CMS,lcms1,no) \
--without-x \
--with-font-configuration=fontconfig \
- --without-libiconv-prefix
+ --without-libiconv-prefix \
+ --with-testdatadir=
# ----------------------------------------------------------------------------
# Target-Install
@@ -85,6 +119,9 @@ 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
@@ -95,4 +132,4 @@ endif
@$(call touch)
-# vim: syntax=make
+# vim: ft=make ts=8 tw=80
--
2.11.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2017-08-23 22:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-23 22:39 [ptxdist] [PATCH 0/7] package (some of) the CUPS ecosystem Roland Hieber
2017-08-23 22:39 ` [ptxdist] [PATCH 1/7] libpaper: new package: system-wide papersize configuration Roland Hieber
2017-08-24 7:32 ` Juergen Borleis
2017-08-28 8:20 ` Roland Hieber
2017-08-28 9:47 ` Michael Olbrich
2017-08-23 22:39 ` [ptxdist] [PATCH 2/7] qpdf: new package: PDF inspection library and tools Roland Hieber
2017-08-28 9:52 ` Michael Olbrich
2017-09-11 10:11 ` Juergen Borleis
2017-09-22 10:00 ` Roland Hieber
2017-08-23 22:39 ` [ptxdist] [PATCH 3/7] poppler-data: new package: optional encoding data for poppler Roland Hieber
2017-08-28 9:54 ` Michael Olbrich
2017-08-23 22:39 ` Roland Hieber [this message]
2017-08-28 10:18 ` [ptxdist] [PATCH 4/7] poppler: version bump 0.18.0 -> 0.57.0 Michael Olbrich
2017-08-28 14:11 ` Roland Hieber
2017-08-29 8:43 ` Michael Olbrich
2017-08-23 22:39 ` [ptxdist] [PATCH 5/7] cups: new package: Common Unix Printing System Roland Hieber
2017-08-28 12:44 ` Juergen Borleis
2017-08-28 12:51 ` Michael Olbrich
2017-08-28 14:03 ` Roland Hieber
2017-08-29 8:40 ` Michael Olbrich
2017-09-27 8:16 ` Roland Hieber
2017-08-30 8:42 ` Juergen Borleis
2017-08-23 22:39 ` [ptxdist] [PATCH 6/7] host-cups: new package: CUPS PPD compiler Roland Hieber
2017-08-28 12:57 ` Michael Olbrich
2017-09-22 12:06 ` Juergen Borleis
2017-09-22 14:04 ` Michael Olbrich
2017-09-22 14:37 ` Roland Hieber
2017-08-23 22:39 ` [ptxdist] [PATCH 7/7] cups-filters: new package: additional filters and backends for CUPS Roland Hieber
2017-08-28 13:03 ` Michael Olbrich
2017-08-28 13:56 ` Roland Hieber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170823223911.13784-5-r.hieber@pengutronix.de \
--to=r.hieber@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox