mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
This contains many bug and security fixes since v22.12.0.
See the release notes: https://poppler.freedesktop.org/releases.html
In addition:
- Drop patch that has been applied upstream
- Update a few cmake configuration options that changed upstream
There is currently a build failure when enabling gpgme, so disable it
unconditionally for now.
Finally, this fixes the following vulnerabilities:
- CVE-2024-6239:
A flaw was found in the Poppler's Pdfinfo utility. This issue occurs
when using -dests parameter with pdfinfo utility. By using certain
malformed input files, an attacker could cause the utility to crash,
leading to a denial of service.
https://www.cve.org/CVERecord?id=CVE-2024-6239
- CVE-2024-56378:
libpoppler.so in Poppler through 24.12.0 has an out-of-bounds read
vulnerability within the JBIG2Bitmap::combine function in
JBIG2Stream.cc.
https://www.cve.org/CVERecord?id=CVE-2024-56378
- CVE-2025-32364:
A floating-point exception in the PSStack::roll function of Poppler
before 25.04.0 can cause an application to crash when handling
malformed inputs associated with INT_MIN.
https://www.cve.org/CVERecord?id=CVE-2025-32364
- CVE-2025-32365:
Poppler before 25.04.0 allows crafted input files to trigger out-of-
bounds reads in the JBIG2Bitmap::combine function in JBIG2Stream.cc
because of a misplaced isOk check.
https://www.cve.org/CVERecord?id=CVE-2025-32365
- CVE-2025-43903:
NSSCryptoSignBackend.cc in Poppler before 25.04.0 does not verify the
adbe.pkcs7.sha1 signatures on documents, resulting in potential
signature forgeries.
https://www.cve.org/CVERecord?id=CVE-2025-43903
- CVE-2025-50420:
An issue in the pdfseparate utility of freedesktop poppler v25.04.0
allows attackers to cause an infinite recursion via supplying a
crafted PDF file. This can lead to a Denial of Service (DoS).
https://www.cve.org/CVERecord?id=CVE-2025-50420
- CVE-2025-52886:
Poppler is a PDF rendering library. Versions prior to 25.06.0 use
`std::atomic_int` for reference counting. Because `std::atomic_int` is
only 32 bits, it is possible to overflow the reference count and
trigger a use-after-free. Version 25.06.0 patches the issue.
https://www.cve.org/CVERecord?id=CVE-2025-52886
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Julien: mark commit as "security" in commit log title]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit cdd1c5ca55)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
155 lines
3.7 KiB
Makefile
155 lines
3.7 KiB
Makefile
################################################################################
|
|
#
|
|
# poppler
|
|
#
|
|
################################################################################
|
|
|
|
POPPLER_VERSION = 25.10.0
|
|
POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz
|
|
POPPLER_SITE = https://poppler.freedesktop.org
|
|
POPPLER_DEPENDENCIES = fontconfig host-pkgconf
|
|
POPPLER_LICENSE = GPL-2.0+
|
|
POPPLER_LICENSE_FILES = COPYING
|
|
POPPLER_CPE_ID_VENDOR = freedesktop
|
|
POPPLER_INSTALL_STAGING = YES
|
|
|
|
POPPLER_CONF_OPTS = \
|
|
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
|
|
-DBUILD_GTK_TESTS=OFF \
|
|
-DBUILD_QT5_TESTS=OFF \
|
|
-DBUILD_QT6_TESTS=OFF \
|
|
-DBUILD_CPP_TESTS=OFF \
|
|
-DBUILD_MANUAL_TESTS=OFF \
|
|
-DENABLE_GTK_DOC=OFF \
|
|
-DENABLE_QT6=OFF \
|
|
-DENABLE_GPGME=OFF \
|
|
-DRUN_GPERF_IF_PRESENT=OFF
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
POPPLER_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_BOOST),y)
|
|
POPPLER_DEPENDENCIES += boost
|
|
POPPLER_CONF_OPTS += -DENABLE_BOOST=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_BOOST=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_JPEG),y)
|
|
POPPLER_DEPENDENCIES += jpeg
|
|
POPPLER_CONF_OPTS += -DENABLE_DCTDECODER=libjpeg -DWITH_JPEG=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_DCTDECODER=none -DWITH_JPEG=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
|
|
POPPLER_DEPENDENCIES += gobject-introspection
|
|
POPPLER_CONF_OPTS += \
|
|
-DENABLE_GOBJECT_INTROSPECTION=ON \
|
|
-DINTROSPECTION_SCANNER=$(STAGING_DIR)/usr/bin/g-ir-scanner \
|
|
-DINTROSPECTION_COMPILER=$(STAGING_DIR)/usr/bin/g-ir-compiler \
|
|
-DINTROSPECTION_COMPILER_ARGS="--includedir=$(STAGING_DIR)/usr/share/gir-1.0"
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_GOBJECT_INTROSPECTION=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBPNG),y)
|
|
POPPLER_DEPENDENCIES += libpng
|
|
POPPLER_CONF_OPTS += -DWITH_PNG=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DWITH_PNG=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
POPPLER_DEPENDENCIES += lcms2
|
|
POPPLER_CONF_OPTS += -DENABLE_CMS=lcms2
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_CMS=none
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENJPEG),y)
|
|
POPPLER_DEPENDENCIES += openjpeg
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBOPENJPEG=openjpeg2
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBOPENJPEG=none
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBCURL),y)
|
|
POPPLER_DEPENDENCIES += libcurl
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBCURL=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBCURL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_POPPLER_QT5),y)
|
|
POPPLER_DEPENDENCIES += qt5base
|
|
POPPLER_CONF_OPTS += -DENABLE_QT5=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_QT5=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_POPPLER_UTILS),y)
|
|
POPPLER_CONF_OPTS += -DENABLE_UTILS=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_UTILS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
POPPLER_DEPENDENCIES += zlib
|
|
POPPLER_CONF_OPTS += -DENABLE_ZLIB_UNCOMPRESS=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_ZLIB_UNCOMPRESS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_CAIRO),y)
|
|
POPPLER_DEPENDENCIES += cairo
|
|
POPPLER_CONF_OPTS += -DWITH_Cairo=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DWITH_Cairo=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_TIFF),y)
|
|
POPPLER_DEPENDENCIES += tiff
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBTIFF=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_LIBTIFF=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
|
POPPLER_DEPENDENCIES += libglib2
|
|
POPPLER_CONF_OPTS += -DENABLE_GLIB=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_GLIB=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBNSS),y)
|
|
POPPLER_DEPENDENCIES += libnss
|
|
POPPLER_CONF_OPTS += -DENABLE_NSS3=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_NSS3=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
POPPLER_DEPENDENCIES += lcms2
|
|
POPPLER_CONF_OPTS += -DENABLE_LCMS=ON
|
|
else
|
|
POPPLER_CONF_OPTS += -DENABLE_LCMS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_SOFT_FLOAT),y)
|
|
POPPLER_CONF_OPTS += -DUSE_FLOAT=OFF
|
|
else
|
|
POPPLER_CONF_OPTS += -DUSE_FLOAT=ON
|
|
endif
|
|
|
|
POPPLER_CXXFLAGS = $(TARGET_CXXCFLAGS)
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
|
|
POPPLER_CXXFLAGS += -O0
|
|
endif
|
|
|
|
POPPLER_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(POPPLER_CXXFLAGS)"
|
|
|
|
$(eval $(cmake-package))
|