Re: [ptxdist] [PATCH v3 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-10-28 Thread Michael Olbrich
On Wed, Oct 25, 2017 at 10:57:48PM +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 we 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 JPEG2000 or TIFF embedded in PDFs.
> Likewise, libnss could be packaged for PDF signature support.  Also
> there is the option to build a Qt5 wrapper, but this is currently only
> build-tested and needs to be tested in runtime.
> 
> Signed-off-by: Roland Hieber 
> ---
> 
> Notes:
> changes in v2 -> v3:
>  - POPPLER_GLIB also needs HOST_GLIB for sysroot-host/bin/glib-mkenums
>  - add optional dependency for gobject-introspection
>  - add POPPLER_OPENJPEG, POPPLER_TIFF, POPPLER_NSS with depends on
>BROKEN for future use
>  - respect PTXCONF_TARGET_DEBUG_* instead of introducing an extra
>POPPLER_BUILD_DEBUG
>  - enable qt5 wrapper (only build-tested)
>  - order kconfig options by usage and add section headers for more
>structure
> 
>  rules/poppler.in   | 138 
> -
>  rules/poppler.make |  56 --
>  2 files changed, 156 insertions(+), 38 deletions(-)
> 
> diff --git a/rules/poppler.in b/rules/poppler.in
> index b107dc7a5..3a74ead41 100644
> --- a/rules/poppler.in
> +++ b/rules/poppler.in
> @@ -4,23 +4,33 @@ 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 HOST_GLIBif POPPLER_GLIB
> + select GOBJECT_INTROSPECTION_HELPER if POPPLER_GOI
> + select GOBJECT_INTROSPECTIONif POPPLER_GOI
> + 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
> + select QT5  if POPPLER_QT5
> + select QT5_MODULE_QTBASEif POPPLER_QT5
>   help
> Poppler is a PDF rendering library based on the xpdf-3.0 code base.
>  
>  if POPPLER
>  
> +comment "--- Install components ---"
> +
>  config POPPLER_BIN
>   bool
>   prompt "install poppler utilities"
> @@ -29,6 +39,26 @@ 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_WITH_DATA
> + bool
> + prompt "install poppler-data"
> + help
> +   poppler-data contains the encoding files which enable poppler to
> +   correctly render CJK and Cyrillic.
> +
> +comment "--- Wrappers ---"
> +
> +config POPPLER_CPP
> + bool
> + prompt 

Re: [ptxdist] [PATCH v3 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-10-25 Thread Roland Hieber
On 25.10.2017 22:57, Roland Hieber wrote:

> -POPPLER_VERSION  := 0.18.0
> -POPPLER_MD5  := 4cd3bf2a0a13fa8eaf00d31368915f77
> +POPPLER_VERSION  := 0.59.0
> +POPPLER_MD5  := 6e44408a3b4f4a738f8a6770d0aea8a5

Oh, I forgot to check for a new version here. They released 0.60 two
weeks ago, which changes the build system from autotools to CMake... I
guess I'll get to work and send v4 then.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v3 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-10-25 Thread Roland Hieber
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 we 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 JPEG2000 or TIFF embedded in PDFs.
Likewise, libnss could be packaged for PDF signature support.  Also
there is the option to build a Qt5 wrapper, but this is currently only
build-tested and needs to be tested in runtime.

Signed-off-by: Roland Hieber 
---

Notes:
changes in v2 -> v3:
 - POPPLER_GLIB also needs HOST_GLIB for sysroot-host/bin/glib-mkenums
 - add optional dependency for gobject-introspection
 - add POPPLER_OPENJPEG, POPPLER_TIFF, POPPLER_NSS with depends on
   BROKEN for future use
 - respect PTXCONF_TARGET_DEBUG_* instead of introducing an extra
   POPPLER_BUILD_DEBUG
 - enable qt5 wrapper (only build-tested)
 - order kconfig options by usage and add section headers for more
   structure

 rules/poppler.in   | 138 -
 rules/poppler.make |  56 --
 2 files changed, 156 insertions(+), 38 deletions(-)

diff --git a/rules/poppler.in b/rules/poppler.in
index b107dc7a5..3a74ead41 100644
--- a/rules/poppler.in
+++ b/rules/poppler.in
@@ -4,23 +4,33 @@ 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 HOST_GLIBif POPPLER_GLIB
+   select GOBJECT_INTROSPECTION_HELPER if POPPLER_GOI
+   select GOBJECT_INTROSPECTIONif POPPLER_GOI
+   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
+   select QT5  if POPPLER_QT5
+   select QT5_MODULE_QTBASEif POPPLER_QT5
help
  Poppler is a PDF rendering library based on the xpdf-3.0 code base.
 
 if POPPLER
 
+comment "--- Install components ---"
+
 config POPPLER_BIN
bool
prompt "install poppler utilities"
@@ -29,6 +39,26 @@ 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_WITH_DATA
+   bool
+   prompt "install poppler-data"
+   help
+ poppler-data contains the encoding files which enable poppler to
+ correctly render CJK and Cyrillic.
+
+comment "--- Wrappers ---"
+
+config POPPLER_CPP
+   bool
+   prompt "enable poppler cpp wrapper"
+
 config POPPLER_GLIB
select POPPLER_CAIRO
bool
@@ -36,20 +66,37 @@ config POPPLER_GLIB
help
  build poppler glib wrapper.