* [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0
@ 2018-10-05 13:31 Olivier Schonken
2018-10-05 13:31 ` [Buildroot] [PATCH 2/2] package/poppler: Remove patch which is not needed for poppler 0.69.0 Olivier Schonken
2019-06-01 21:06 ` [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Olivier Schonken @ 2018-10-05 13:31 UTC (permalink / raw)
To: buildroot
For the version bump, the makefile had to be rewritten for CMake, as
the project moved from autotools to CMake.
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
---
package/poppler/Config.in | 38 +++++++++---
package/poppler/poppler.hash | 2 +-
package/poppler/poppler.mk | 114 ++++++++++++-----------------------
3 files changed, 71 insertions(+), 83 deletions(-)
diff --git a/package/poppler/Config.in b/package/poppler/Config.in
index 9b03df8d27..bc69e361de 100644
--- a/package/poppler/Config.in
+++ b/package/poppler/Config.in
@@ -2,7 +2,11 @@ config BR2_PACKAGE_POPPLER
bool "poppler"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
select BR2_PACKAGE_FONTCONFIG
+ select BR2_PACKAGE_OPENJPEG
+ select BR2_PACKAGE_LCMS2
+ select BR2_PACKAGE_JPEG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
help
@@ -13,14 +17,6 @@ config BR2_PACKAGE_POPPLER
if BR2_PACKAGE_POPPLER
-config BR2_PACKAGE_POPPLER_QT
- bool "Qt support"
- depends on BR2_PACKAGE_QT
- select BR2_PACKAGE_QT_GUI_MODULE
- select BR2_PACKAGE_QT_XML
- help
- Build Qt support into the Poppler library
-
config BR2_PACKAGE_POPPLER_QT5
bool "Qt5 support"
depends on BR2_PACKAGE_QT5
@@ -30,6 +26,32 @@ config BR2_PACKAGE_POPPLER_QT5
help
Build Qt support into the Poppler library
+config BR2_PACKAGE_POPPLER_FIXED_POINT
+ bool "use fixed-point" if !BR2_SOFT_FLOAT
+ default y if BR2_SOFT_FLOAT
+ help
+ Compile without floating point operations (for machines
+ without a fast enough FPU).
+
+config BR2_PACKAGE_POPPLER_LIBCURL
+ bool "libcurl support"
+ depends on BR2_PACKAGE_LIBCURL
+ select BR2_PACKAGE_QT5BASE_GUI
+ help
+ Build poppler with libcurl based HTTP support.
+
+config BR2_PACKAGE_POPPLER_ZLIB
+ bool "zlib support"
+ depends on BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_ZLIB
+ help
+ Build poppler with with zlib.
+
+config BR2_PACKAGE_POPPLER_UTILS
+ bool "command line utils"
+ help
+ Compile poppler command line utils.
+
endif
comment "poppler needs a toolchain w/ C++, threads"
diff --git a/package/poppler/poppler.hash b/package/poppler/poppler.hash
index 7aa14c681c..ca00e12217 100644
--- a/package/poppler/poppler.hash
+++ b/package/poppler/poppler.hash
@@ -1,2 +1,2 @@
# Locally calculated
-sha256 a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641 poppler-0.59.0.tar.xz
+sha256 637ff943f805f304ff1da77ba2e7f1cbd675f474941fd8ae1e0fc01a5b45a3f9 poppler-0.69.0.tar.xz
diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk
index bad61a6613..0e065274b9 100644
--- a/package/poppler/poppler.mk
+++ b/package/poppler/poppler.mk
@@ -4,109 +4,75 @@
#
################################################################################
-POPPLER_VERSION = 0.59.0
+POPPLER_VERSION = 0.69.0
POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz
POPPLER_SITE = http://poppler.freedesktop.org
-POPPLER_DEPENDENCIES = fontconfig host-pkgconf
-POPPLER_LICENSE = GPL-2.0+
-POPPLER_LICENSE_FILES = COPYING
+POPPLER_DEPENDENCIES = fontconfig host-pkgconf openjpeg lcms2 libjpeg
+POPPLER_LICENSE = GPL-2.0+ GPL-3.0+
+POPPLER_LICENSE_FILES = COPYING COPYING3
POPPLER_INSTALL_STAGING = YES
-POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \
- --enable-xpdf-headers
-ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-POPPLER_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic"
-endif
-
-ifeq ($(BR2_PACKAGE_CAIRO),y)
-POPPLER_CONF_OPTS += --enable-cairo-output
-POPPLER_DEPENDENCIES += cairo
-else
-POPPLER_CONF_OPTS += --disable-cairo-output
-endif
+POPPLER_CONF_OPTS = \
+ -DENABLE_XPDF_HEADERS=ON \
+ -DBUILD_GTK_TESTS=OFF \
+ -DBUILD_QT5_TESTS=OFF \
+ -DBUILD_CPP_TESTS=OFF \
+ -DENABLE_GOBJECT_INTROSPECTION=OFF \
+ -DENABLE_GTK_DOC=OFF
-ifeq ($(BR2_PACKAGE_LCMS2),y)
-POPPLER_CONF_OPTS += --enable-cms=lcms2
-POPPLER_DEPENDENCIES += lcms2
+ifeq ($(BR2_PACKAGE_POPPLER_LIBCURL),y)
+POPPLER_DEPENDENCIES += libcurl
+POPPLER_CONF_OPTS += -DENABLE_LIBCURL=ON
else
-POPPLER_CONF_OPTS += --enable-cms=none
+POPPLER_CONF_OPTS += -DENABLE_LIBCURL=OFF
endif
-ifeq ($(BR2_PACKAGE_CAIRO)$(BR2_PACKAGE_LIBGLIB2),yy)
-POPPLER_CONF_OPTS += --enable-poppler-glib
-POPPLER_DEPENDENCIES += libglib2
+ifeq ($(BR2_PACKAGE_POPPLER_QT5),y)
+POPPLER_DEPENDENCIES += qt5base
+POPPLER_CONF_OPTS += -DENABLE_QT5=ON
else
-POPPLER_CONF_OPTS += --disable-poppler-glib
+POPPLER_CONF_OPTS += -DENABLE_QT5=OFF
endif
-ifeq ($(BR2_PACKAGE_TIFF),y)
-POPPLER_CONF_OPTS += --enable-libtiff
-# Help poppler to find libtiff in static linking scenarios
-POPPLER_CONF_ENV += \
- LIBTIFF_LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libtiff-4`"
-POPPLER_DEPENDENCIES += tiff
+ifeq ($(BR2_PACKAGE_POPPLER_UTILS),y)
+POPPLER_CONF_OPTS += -DENABLE_UTILS=ON
else
-POPPLER_CONF_OPTS += --disable-libtiff
+POPPLER_CONF_OPTS += -DENABLE_UTILS=OFF
endif
-ifeq ($(BR2_PACKAGE_JPEG),y)
-POPPLER_CONF_OPTS += --enable-dctdecoder=libjpeg
-POPPLER_DEPENDENCIES += jpeg
+ifeq ($(BR2_PACKAGE_POPPLER_ZLIB),y)
+POPPLER_DEPENDENCIES += zlib
+POPPLER_CONF_OPTS += -DENABLE_ZLIB=ON
else
-POPPLER_CONF_OPTS += --enable-dctdecoder=none
+POPPLER_CONF_OPTS += -DENABLE_ZLIB=OFF
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
-POPPLER_CONF_OPTS += --enable-libpng
POPPLER_DEPENDENCIES += libpng
-else
-POPPLER_CONF_OPTS += --disable-libpng
endif
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-POPPLER_CONF_OPTS += --enable-zlib
-POPPLER_DEPENDENCIES += zlib
-else
-POPPLER_CONF_OPTS += --disable-zlib
-endif
-
-ifeq ($(BR2_PACKAGE_LIBCURL),y)
-POPPLER_CONF_OPTS += --enable-libcurl
-POPPLER_DEPENDENCIES += libcurl
-else
-POPPLER_CONF_OPTS += --disable-libcurl
+ifeq ($(BR2_PACKAGE_CAIRO),y)
+POPPLER_DEPENDENCIES += cairo
endif
-ifeq ($(BR2_PACKAGE_XORG7),y)
-POPPLER_CONF_OPTS += --with-x
-POPPLER_DEPENDENCIES += xlib_libX11 xlib_libXext
-else
-POPPLER_CONF_OPTS += --without-x
+ifeq ($(BR2_PACKAGE_TIFF),y)
+POPPLER_DEPENDENCIES += tiff
endif
-ifeq ($(BR2_PACKAGE_POPPLER_QT),y)
-POPPLER_DEPENDENCIES += qt
-POPPLER_CONF_OPTS += --enable-poppler-qt4
-else
-POPPLER_CONF_OPTS += --disable-poppler-qt4
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+POPPLER_DEPENDENCIES += libglib2
endif
-ifeq ($(BR2_PACKAGE_POPPLER_QT5),y)
-POPPLER_DEPENDENCIES += qt5base
-POPPLER_CONF_OPTS += --enable-poppler-qt5
-# since Qt5.7.x c++11 is needed (LTS Qt5.6.x is the last one without this requirement)
-ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
-POPPLER_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
-endif
-else
-POPPLER_CONF_OPTS += --disable-poppler-qt5
+ifeq ($(BR2_PACKAGE_LIBNSS),y)
+POPPLER_DEPENDENCIES += libnss
endif
-ifeq ($(BR2_PACKAGE_OPENJPEG),y)
-POPPLER_DEPENDENCIES += openjpeg
-POPPLER_CONF_OPTS += --enable-libopenjpeg=openjpeg2
+ifeq ($(BR2_PACKAGE_POPPLER_FIXED_POINT),y)
+POPPLER_CONF_OPTS += -USE_FIXEDPOINT=ON
+POPPLER_CONF_OPTS += -DUSE_FLOAT=OFF
else
-POPPLER_CONF_OPTS += --enable-libopenjpeg=none
+POPPLER_CONF_OPTS += -USE_FIXEDPOINT=OFF
+POPPLER_CONF_OPTS += -DUSE_FLOAT=ON
endif
-$(eval $(autotools-package))
+$(eval $(cmake-package))
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 2/2] package/poppler: Remove patch which is not needed for poppler 0.69.0
2018-10-05 13:31 [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Olivier Schonken
@ 2018-10-05 13:31 ` Olivier Schonken
2019-06-01 21:06 ` [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Olivier Schonken @ 2018-10-05 13:31 UTC (permalink / raw)
To: buildroot
The patch has been applied to the upstream project,
https://github.com/freedesktop/poppler/commit/d3f12611b30e6421f05603a9838ed9131b1aa61e
and is thus not needed anymore.
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
---
...c-include-ctype.h-to-fix-build-error.patch | 37 -------------------
1 file changed, 37 deletions(-)
delete mode 100644 package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch
diff --git a/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch b/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch
deleted file mode 100644
index 8d210dab99..0000000000
--- a/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f40143f7acca81b7d39d774ed4c349aec8d9310b Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 23 Sep 2017 11:37:23 +0200
-Subject: [PATCH] Form.cc: include ctype.h to fix build error
-
-Fixes
-Form.cc:546:28: error: 'isdigit' was not declared in this scope
-Form.cc:548:34: error: 'isxdigit' was not declared in this scope
-Form.cc:575:40: error: 'isxdigit' was not declared in this scope
-
-detected by buildroot autobuilders:
-http://autobuild.buildroot.net/results/a6a/a6a336f8b6a0136b204a34091e33dc4598178125/
-when cross-compiling with
-gcc version 4.7.3 (crosstool-NG hg+-c65fcf8a34b7)
-
-Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=102951
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- poppler/Form.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/poppler/Form.cc b/poppler/Form.cc
-index 83bceb20..e7efae95 100644
---- a/poppler/Form.cc
-+++ b/poppler/Form.cc
-@@ -32,6 +32,7 @@
- #include <stddef.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <ctype.h>
- #include "goo/gmem.h"
- #include "goo/GooString.h"
- #include "Error.h"
---
-2.11.0
-
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0
2018-10-05 13:31 [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Olivier Schonken
2018-10-05 13:31 ` [Buildroot] [PATCH 2/2] package/poppler: Remove patch which is not needed for poppler 0.69.0 Olivier Schonken
@ 2019-06-01 21:06 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2019-06-01 21:06 UTC (permalink / raw)
To: buildroot
Hello Olivier,
On Fri, 5 Oct 2018 15:31:41 +0200
Olivier Schonken <olivier.schonken@gmail.com> wrote:
> For the version bump, the makefile had to be rewritten for CMake, as
> the project moved from autotools to CMake.
>
> Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
So I finally look into this patch, and merged it, but after doing a
*lot* of changes.
First of all your PATCH 1/2 and 2/2 should have been squashed into a
single patch, otherwise the series is not bisectable: with just PATCH
1/2 applied, poppler doesn't build.
Also, since poppler 0.69 was old, I bumped all the way to 0.77.
> diff --git a/package/poppler/Config.in b/package/poppler/Config.in
> index 9b03df8d27..bc69e361de 100644
> --- a/package/poppler/Config.in
> +++ b/package/poppler/Config.in
> @@ -2,7 +2,11 @@ config BR2_PACKAGE_POPPLER
> bool "poppler"
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
I had to change this to GCC_AT_LEAST_5 for poppler 0.77. Also, you had
forgotten to update the Config.in comment about this gcc version
dependency.
> select BR2_PACKAGE_FONTCONFIG
> + select BR2_PACKAGE_OPENJPEG
> + select BR2_PACKAGE_LCMS2
> + select BR2_PACKAGE_JPEG
None of these dependencies are mandatory, they can be disabled just
like they could with the old version of poppler.
> select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
> select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
These dependencies were apparently no longer needed.
> help
> @@ -13,14 +17,6 @@ config BR2_PACKAGE_POPPLER
>
> if BR2_PACKAGE_POPPLER
>
> -config BR2_PACKAGE_POPPLER_QT
> - bool "Qt support"
> - depends on BR2_PACKAGE_QT
> - select BR2_PACKAGE_QT_GUI_MODULE
> - select BR2_PACKAGE_QT_XML
> - help
> - Build Qt support into the Poppler library
This option had been removed in the mean time.
> -
> config BR2_PACKAGE_POPPLER_QT5
> bool "Qt5 support"
> depends on BR2_PACKAGE_QT5
> @@ -30,6 +26,32 @@ config BR2_PACKAGE_POPPLER_QT5
> help
> Build Qt support into the Poppler library
>
> +config BR2_PACKAGE_POPPLER_FIXED_POINT
> + bool "use fixed-point" if !BR2_SOFT_FLOAT
> + default y if BR2_SOFT_FLOAT
> + help
> + Compile without floating point operations (for machines
> + without a fast enough FPU).
I dropped this option, and directly used BR2_SOFT_FLOAT in poppler.mk.
> +
> +config BR2_PACKAGE_POPPLER_LIBCURL
> + bool "libcurl support"
> + depends on BR2_PACKAGE_LIBCURL
> + select BR2_PACKAGE_QT5BASE_GUI
> + help
> + Build poppler with libcurl based HTTP support.
I dropped this option, and directly used BR2_PACKAGE_LIBCURL in
poppler.mk. I'm not sure why you were selecting QT5BASE_GUI here.
> +
> +config BR2_PACKAGE_POPPLER_ZLIB
> + bool "zlib support"
> + depends on BR2_PACKAGE_ZLIB
> + select BR2_PACKAGE_ZLIB
> + help
> + Build poppler with with zlib.
I dropped this option, and directly used BR2_PACKAGE_ZLIB in poppler.mk.
> comment "poppler needs a toolchain w/ C++, threads"
This is where I have added the comment about the gcc version dependency.
> -POPPLER_VERSION = 0.59.0
> +POPPLER_VERSION = 0.69.0
So, I bumped to 0.77.0
> POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz
> POPPLER_SITE = http://poppler.freedesktop.org
> -POPPLER_DEPENDENCIES = fontconfig host-pkgconf
> -POPPLER_LICENSE = GPL-2.0+
> -POPPLER_LICENSE_FILES = COPYING
> +POPPLER_DEPENDENCIES = fontconfig host-pkgconf openjpeg lcms2 libjpeg
I didn't add openjpeg, lcms2 and libjpeg here, because they are still
optional dependencies. BTW, libjpeg was wrong, it should have been just
"jpeg".
> +POPPLER_LICENSE = GPL-2.0+ GPL-3.0+
> +POPPLER_LICENSE_FILES = COPYING COPYING3
To me, the licensing terms are unclear. All files have a "GPL version 2
or later", but the documentation says the code is forked from Xpdf,
which is licensed under GPLv2 or GPLv3 (but not "or any later version",
and they really insist on this).
I should probably send a separate e-mail to Yann/Arnout on this to get
their opinion.
> -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> -POPPLER_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic"
> -endif
Something like this was still needed, but of course changed for the
CMake build system.
And overall, for the rest of the .mk file, I just adapted to the
changes I described above: lcms2, openjpeg and jpeg are optional, and
sub-options in Config.in were not added.
Since poppler 0.77.0 changed some APIs, I had to bump cups-filters to
1.23.0 as a preparation patch.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-01 21:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-05 13:31 [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Olivier Schonken
2018-10-05 13:31 ` [Buildroot] [PATCH 2/2] package/poppler: Remove patch which is not needed for poppler 0.69.0 Olivier Schonken
2019-06-01 21:06 ` [Buildroot] [PATCH 1/2] package/poppler: bump version to 0.69.0 Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox