On Wed, Sep 27, 2017 at 02:22:19PM +0200, Roland Hieber wrote:
> 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 I disabled it.
>
> Additionally, poppler could benefit from packaging libopenjpeg and
> libtiff in ptxdist for parsing embedded JPEG2000 or TIFF in PDFs.
An option marked broken with a comment about the missing library would be
nice. We have stuff like this in gstreamer too.
> Likewise, libnss could be packaged for PDF signature support. Also
I've some libnss rules somewhere that need to be cleaned up a bit, if
you're interrested :-).
> 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.
Just build tested is ok to start with.
> Signed-off-by: Roland Hieber
> ---
>
> Notes:
> changes in v1 -> v2:
> - version bump to 0.59.0, includes our 0.57.0 patches from v1
> - bring back old vim modeline
> - simplify single-precision/fixed-point logic
>
> rules/poppler.in | 88
> ++
> rules/poppler.make | 51 ++-
> 2 files changed, 106 insertions(+), 33 deletions(-)
>
> diff --git a/rules/poppler.in b/rules/poppler.in
> index b107dc7a5..af0306493 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 CAIROif 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_GUIif POPPLER_QT4
> - select QT4_BUILD_XMLif 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 CAIROif 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_GUIif POPPLER_QT4
> + select QT4_BUILD_XMLif 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.
What kind of debugging does this enable? Makefiles can easily be hacked for
development and we have a global options for debugging symbols.
Don't add package specific debug options unless there are use-cases to have
it enabled in production system. E.g. gstreamer has an option like this.
Michael
> +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
> sel