From: Roland Hieber <r.hieber@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Roland Hieber <r.hieber@pengutronix.de>
Subject: [ptxdist] [PATCH v4 4/7] poppler: version bump 0.18.0 -> 0.60.1
Date: Tue, 7 Nov 2017 17:40:22 +0100 [thread overview]
Message-ID: <20171107164025.31443-4-r.hieber@pengutronix.de> (raw)
In-Reply-To: <20171107164025.31443-1-r.hieber@pengutronix.de>
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>
---
Notes:
changes in v3 -> v4:
- version bump 0.59.0 -> 0.60.1
* 0.60 dropped autotools support, migrate to cmake
- remove old 0.18 patches (they were only patching autoconf)
- specify missing license
- remove the debug options again, there is no equivalent in cmake and
stripping the binaries correctly is a problem.
- install introspection data and libpoppler-qt5.so when told to do so
- rename POPPLER_GOI -> POPPLER_INTROSPECTION, and remove its prompt
- CMYK is really an option for the splash backend, rename accordingly
- Qt4 wrapper is not a rendering backend, remove it from the
no-selected-backends warning in kconfig
- "default n" makes no sense, remove it from float/fixed point options
- make POPPLER_XPDF a silent option, normally not needed by users
- reorganize the Splash sub-options into an if ... endif
- improve structure of commit message
.../0001-make-qt4-tests-optional.patch | 60 ---------
patches/poppler-0.18.0/autogen.sh | 1 -
patches/poppler-0.18.0/series | 3 -
...dd-the-custom-buildtests-target-only-once.patch | 58 ++++++++
...Make-make-FindLCMS.cmake-cross-compatible.patch | 69 ++++++++++
patches/poppler-0.60.1/series | 5 +
rules/poppler.in | 146 ++++++++++++++++-----
rules/poppler.make | 92 ++++++++-----
8 files changed, 308 insertions(+), 126 deletions(-)
delete mode 100644 patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
delete mode 120000 patches/poppler-0.18.0/autogen.sh
delete mode 100644 patches/poppler-0.18.0/series
create mode 100644 patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
create mode 100644 patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
create mode 100644 patches/poppler-0.60.1/series
diff --git a/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch b/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
deleted file mode 100644
index 599535ecf..000000000
--- a/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Sat, 11 Jun 2011 20:23:02 +0200
-Subject: [PATCH] make qt4 tests optional
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- configure.ac | 13 ++++++-------
- qt4/tests/Makefile.am | 2 +-
- 2 files changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 471f909..aff11d8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -482,19 +482,17 @@ AC_ARG_ENABLE(poppler-qt4,
- if test x$enable_poppler_qt4 = xyes; then
- PKG_CHECK_MODULES(POPPLER_QT4,
- QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0)
-- PKG_CHECK_MODULES(POPPLER_QT4_TEST,
-- QtTest >= 4.4.0)
- elif test x$enable_poppler_qt4 = xtry; then
- PKG_CHECK_MODULES(POPPLER_QT4,
- QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0,
- [enable_poppler_qt4="yes"],
- [enable_poppler_qt4="no"])
-- if test x$enable_poppler_qt4 = xyes; then
-- PKG_CHECK_MODULES(POPPLER_QT4_TEST,
-+fi
-+if test x$enable_poppler_qt4 = xyes; then
-+ PKG_CHECK_MODULES(POPPLER_QT4_TEST,
- QtTest >= 4.4.0,
-- [enable_poppler_qt4="yes"],
-- [enable_poppler_qt4="no"])
-- fi
-+ [enable_poppler_qt4_tests="yes"],
-+ [enable_poppler_qt4_tests="no"])
- fi
-
- AC_SUBST(POPPLER_QT4_CXXFLAGS)
-@@ -522,6 +520,7 @@ if test x$enable_poppler_qt4 = xyes; then
- fi
-
- AM_CONDITIONAL(BUILD_POPPLER_QT4, test "x$enable_poppler_qt4" = "xyes")
-+AM_CONDITIONAL(BUILD_POPPLER_QT4_TESTS, test "x$enable_poppler_qt4_tests" = "xyes")
-
- dnl
- dnl CPP frontend
-diff --git a/qt4/tests/Makefile.am b/qt4/tests/Makefile.am
-index 93e1132..9e8deaf 100644
---- a/qt4/tests/Makefile.am
-+++ b/qt4/tests/Makefile.am
-@@ -65,7 +65,7 @@ stress_poppler_dir_LDADD = $(LDADDS)
- clean-generic:
- rm -f *.moc
-
--if BUILD_POPPLER_QT4
-+if BUILD_POPPLER_QT4_TESTS
- TESTS = \
- check_attachments \
- check_actualtext \
diff --git a/patches/poppler-0.18.0/autogen.sh b/patches/poppler-0.18.0/autogen.sh
deleted file mode 120000
index 9f8a4cb7d..000000000
--- a/patches/poppler-0.18.0/autogen.sh
+++ /dev/null
@@ -1 +0,0 @@
-../autogen.sh
\ No newline at end of file
diff --git a/patches/poppler-0.18.0/series b/patches/poppler-0.18.0/series
deleted file mode 100644
index ee918b11f..000000000
--- a/patches/poppler-0.18.0/series
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated by git-ptx-patches
-0001-make-qt4-tests-optional.patch
-# 43d87fa6b1fe06cfd4205ae4a494e960 - git-ptx-patches magic
diff --git a/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch b/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
new file mode 100644
index 000000000..7d996760a
--- /dev/null
+++ b/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
@@ -0,0 +1,58 @@
+From: Roland Hieber <r.hieber@pengutronix.de>
+Date: Mon, 6 Nov 2017 15:36:34 +0100
+Subject: [PATCH] CMake: add the custom `buildtests` target only once
+
+This fixes building with -DBUILD_QT4_TESTS=NO or -DBUILD_QT5_TESTS=NO,
+which resulted in error messages like:
+
+ CMake Error at cmake/modules/PopplerMacros.cmake:41 (add_custom_target):
+ add_custom_target cannot create target "buildtests" because another
+ target with the same name already exists. The existing target is a
+ custom target created in source directory
+ "[...]/poppler-0.60.1/qt4/tests".
+ See documentation for policy CMP0002 for more details.
+ Call Stack (most recent call first):
+ qt4/tests/CMakeLists.txt:30 (poppler_add_unittest)
+ qt4/tests/CMakeLists.txt:52 (qt4_add_qtest)
+
+Solve this by making BUILDTESTS_ADDED a global property so it is only
+remembered once per project instead of per directory.
+
+Fixes bug #103003.
+
+Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=103003#c5
+Signed-off-by: Roland Hieber <r.hieber@pengutronix.de>
+---
+ cmake/modules/PopplerMacros.cmake | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
+index ba4bceb36ba4..4542751a0857 100644
+--- a/cmake/modules/PopplerMacros.cmake
++++ b/cmake/modules/PopplerMacros.cmake
+@@ -13,10 +13,10 @@ macro(POPPLER_ADD_TEST exe build_flag)
+
+ # if the tests are EXCLUDE_FROM_ALL, add a target "buildtests" to build all tests
+ if(NOT build_test AND NOT MSVC_IDE)
+- get_directory_property(_buildtestsAdded BUILDTESTS_ADDED)
++ get_property(_buildtestsAdded GLOBAL PROPERTY BUILDTESTS_ADDED)
+ if(NOT _buildtestsAdded)
+ add_custom_target(buildtests)
+- set_directory_properties(PROPERTIES BUILDTESTS_ADDED TRUE)
++ set_property(GLOBAL PROPERTY BUILDTESTS_ADDED TRUE)
+ endif(NOT _buildtestsAdded)
+ add_dependencies(buildtests ${exe})
+ endif(NOT build_test AND NOT MSVC_IDE)
+@@ -33,10 +33,10 @@ macro(POPPLER_ADD_UNITTEST exe build_flag)
+
+ # if the tests are EXCLUDE_FROM_ALL, add a target "buildtests" to build all tests
+ if(NOT build_test)
+- get_directory_property(_buildtestsAdded BUILDTESTS_ADDED)
++ get_property(_buildtestsAdded GLOBAL PROPERTY BUILDTESTS_ADDED)
+ if(NOT _buildtestsAdded)
+ add_custom_target(buildtests)
+- set_directory_properties(PROPERTIES BUILDTESTS_ADDED TRUE)
++ set_property(GLOBAL PROPERTY BUILDTESTS_ADDED TRUE)
+ endif(NOT _buildtestsAdded)
+ add_dependencies(buildtests ${exe})
+ endif(NOT build_test)
diff --git a/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch b/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
new file mode 100644
index 000000000..2e9285c62
--- /dev/null
+++ b/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
@@ -0,0 +1,69 @@
+From: Roland Hieber <r.hieber@pengutronix.de>
+Date: Mon, 6 Nov 2017 17:31:17 +0100
+Subject: [PATCH] CMake: make FindLCMS.cmake cross-compatible
+
+FindLCMS.make complains when being run in cross-compile mode:
+
+ -- Checking for module 'lcms'
+ -- Found lcms, version 1.19
+ CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the
+ following cache variables appropriately:
+ LCMS_VERSION (advanced)
+ LCMS_VERSION__TRYRUN_OUTPUT (advanced)
+ For details see [...]/poppler-0.60.1-build/TryRunResults.cmake
+ -- Found lcms version P.LE, [...]/sysroot-target/usr/lib/liblcms.so
+
+To work around this, replace try_run() with the version parsing regex
+from FindLCMS2.make, and adapt it accordingly for lcms1.
+
+Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=103593#c0
+Signed-off-by: Roland Hieber <r.hieber@pengutronix.de>
+---
+ cmake/modules/FindLCMS.cmake | 25 ++++++-------------------
+ 1 file changed, 6 insertions(+), 19 deletions(-)
+
+diff --git a/cmake/modules/FindLCMS.cmake b/cmake/modules/FindLCMS.cmake
+index 9d162d2cfdd8..504f67fa75f1 100644
+--- a/cmake/modules/FindLCMS.cmake
++++ b/cmake/modules/FindLCMS.cmake
+@@ -42,34 +42,21 @@ else(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
+ endif(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
+
+ if(LCMS_FOUND)
+- set(FIND_LCMS_VERSION_SOURCE
+- "#include <lcms.h>\n int main()\n {\n return LCMS_VERSION;\n }\n")
+- set(FIND_LCMS_VERSION_SOURCE_FILE ${CMAKE_BINARY_DIR}/CMakeTmp/FindLCMS.cxx)
+- file(WRITE "${FIND_LCMS_VERSION_SOURCE_FILE}" "${FIND_LCMS_VERSION_SOURCE}")
+-
+- set(FIND_LCMS_VERSION_ADD_INCLUDES
+- "-DINCLUDE_DIRECTORIES:STRING=${LCMS_INCLUDE_DIR}")
+-
+- try_run(LCMS_VERSION LCMS_COMPILE_RESULT
+- ${CMAKE_BINARY_DIR}
+- ${FIND_LCMS_VERSION_SOURCE_FILE}
+- CMAKE_FLAGS "${FIND_LCMS_VERSION_ADD_INCLUDES}"
+- OUTPUT_VARIABLE OUTPUT)
+-
+- if(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN)
++ file(READ ${LCMS_INCLUDE_DIR}/lcms.h LCMS_VERSION_CONTENT)
++ string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS_VERSION_MATCH ${LCMS_VERSION_CONTENT})
++ if(LCMS_VERSION_MATCH)
++ string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" LCMS_VERSION ${LCMS_VERSION_MATCH})
+ if(NOT LCMS_FIND_QUIETLY)
+ string(SUBSTRING ${LCMS_VERSION} 0 1 LCMS_MAJOR_VERSION)
+ string(SUBSTRING ${LCMS_VERSION} 1 2 LCMS_MINOR_VERSION)
+ message(STATUS "Found lcms version ${LCMS_MAJOR_VERSION}.${LCMS_MINOR_VERSION}, ${LCMS_LIBRARIES}")
+ endif(NOT LCMS_FIND_QUIETLY)
+- else(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN)
++ else(LCMS_VERSION_MATCH)
+ if(NOT LCMS_FIND_QUIETLY)
+ message(STATUS "Found lcms but failed to find version ${LCMS_LIBRARIES}")
+- file(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+- "Find lcms version failed with the following output:\n${OUTPUT}\nFindLCMS.cxx:\n${FIND_LCMS_VERSION_SOURCE}\n\n")
+ endif(NOT LCMS_FIND_QUIETLY)
+ set(LCMS_VERSION NOTFOUND)
+- endif(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN)
++ endif(LCMS_VERSION_MATCH)
+ else(LCMS_FOUND)
+ if(NOT LCMS_FIND_QUIETLY)
+ if(LCMS_FIND_REQUIRED)
diff --git a/patches/poppler-0.60.1/series b/patches/poppler-0.60.1/series
new file mode 100644
index 000000000..5112de303
--- /dev/null
+++ b/patches/poppler-0.60.1/series
@@ -0,0 +1,5 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-CMake-add-the-custom-buildtests-target-only-once.patch
+0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
+# 288cf8b3409fa56f32b01aca61acb352 - git-ptx-patches magic
diff --git a/rules/poppler.in b/rules/poppler.in
index b107dc7a5..57ea763e1 100644
--- a/rules/poppler.in
+++ b/rules/poppler.in
@@ -3,24 +3,37 @@
menuconfig POPPLER
tristate
prompt "poppler "
+ select HOST_CMAKE
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 HOST_GLIB if POPPLER_GLIB
+ select GOBJECT_INTROSPECTION_HELPER if POPPLER_INTROSPECTION
+ select GOBJECT_INTROSPECTION if POPPLER_INTROSPECTION
+ 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
+ select QT5 if POPPLER_QT5
+ select QT5_GUI if POPPLER_QT5
+ select QT5_MODULE_QTBASE if POPPLER_QT5
+ select QT5_MODULE_QTBASE_WIDGETS if 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,65 +42,138 @@ config POPPLER_BIN
pdffonts, pdfimages, pdfinfo, pdftoabw, pdftohtml, pdftoppm, pdftops,
pdftotext.
+config POPPLER_XPDF
+ bool
+
+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 CPP wrapper"
+
config POPPLER_GLIB
select POPPLER_CAIRO
bool
- prompt "enable poppler glib wrapper"
+ prompt "enable Glib wrapper"
help
build poppler glib wrapper.
+config POPPLER_INTROSPECTION
+ select POPPLER_GLIB
+ bool
+
config POPPLER_QT4
bool
- prompt "enable poppler Qt4 wrapper"
+ prompt "enable Qt4 wrapper"
help
build poppler Qt4 wrapper.
-comment "least one graphics backend should be selected"
+config POPPLER_QT5
+ bool
+ prompt "enable Qt5 wrapper"
+ help
+ build poppler Qt5 wrapper.
+
+comment "--- Rendering Backends ---"
+
+comment "at least one rendering backend should be selected"
depends on !(POPPLER_CAIRO || POPPLER_SPLASH)
config POPPLER_CAIRO
bool
- prompt "enable poppler cairo graphics backend"
+ prompt "enable cairo backend"
help
- built cairo graphics backend
+ build cairo graphics backend
config POPPLER_SPLASH
bool
- prompt "enable poppler Splash graphics backend"
+ prompt "enable Splash backend"
help
- build splash graphics backend
+ build the Splash graphics backend
+
+if POPPLER_SPLASH
+
+config POPPLER_SPLASH_CMYK
+ bool
+ prompt "enable CMYK raster support"
+
+config POPPLER_SPLASH_SINGLE
+ bool
+ prompt "use single precision float arithmetic"
+ help
+ Use single precision instead of double precision floating point
+ arithmetic in Splash backend
+
+config POPPLER_SPLASH_FIXED
+ bool
+ prompt "use fixed point arithmetic"
+ depends on !POPPLER_SPLASH_SINGLE
+ help
+ If enabled, the Splash backend will use floating point operations
+ instead of fixed-point arithmetic.
+
+endif # POPPLER_SPLASH
+
+comment "--- Features --- "
config POPPLER_PNG
bool
- # fails to build with the current libpng
- depends on BROKEN
- prompt "enable poppler png support"
+ prompt "enable PNG support"
help
- compiles poppler with png support.
+ compile poppler with png support via libpng
config POPPLER_JPEG
bool
+ prompt "enable JPEG support"
+ help
+ compile poppler with jpeg support via libjpeg
+
+config POPPLER_OPENJPEG
+ bool
depends on BROKEN
- prompt "enable poppler jpeg support"
+ prompt "enable JPEG2000 support"
help
- compiles poppler with jpeg support.
+ compile poppler with jpeg2000 (JPX) support via libopenjpeg
+
+config POPPLER_TIFF
+ bool
+ depends on BROKEN
+ prompt "enable TIFF support"
+ help
+ compile poppler with support for TIFF via libtiff
+
+config POPPLER_NSS
+ bool
+ depends on BROKEN
+ prompt "enable NSS support"
+ help
+ compile poppler with support for signed PDFs via libnss
config POPPLER_ZLIB
bool
- prompt "enable poppler zlib support"
+ prompt "enable zlib support"
help
- compiles poppler with zlib support.
+ compile poppler with zlib support.
config POPPLER_CURL
bool
- prompt "enable poppler curl support"
+ prompt "enable curl support"
help
- compiles poppler with curl support.
+ compile poppler with libcurl support.
config POPPLER_CMS
bool
- prompt "enable poppler cms support"
+ prompt "enable color management support"
help
- compiles poppler with color management system support.
+ compile poppler with color management support via libcms1
endif
+
+# vim: ft=kconfig ts=8 noet tw=80
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)
--
2.11.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2017-11-07 16:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-07 16:40 [ptxdist] [PATCH v4 1/7] libpaper: new package: system-wide papersize configuration Roland Hieber
2017-11-07 16:40 ` [ptxdist] [PATCH v4 2/7] qpdf: new package: PDF inspection library and tools Roland Hieber
2017-11-07 16:40 ` [ptxdist] [PATCH v4 3/7] poppler-data: new package: optional encoding data for poppler Roland Hieber
2017-11-07 16:40 ` Roland Hieber [this message]
2017-11-07 16:40 ` [ptxdist] [PATCH v4 5/7] cups: new package: Common Unix Printing System Roland Hieber
2017-11-07 16:40 ` [ptxdist] [PATCH v4 6/7] host-cups: new package: CUPS host tools Roland Hieber
2017-11-07 16:40 ` [ptxdist] [PATCH v4 7/7] cups-filters: new package: additional filters and backends for CUPS 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=20171107164025.31443-4-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