diff options
author | Taichi Haradaguchi <20001722@ymail.ne.jp> | 2023-06-14 09:58:15 +0900 |
---|---|---|
committer | Taichi Haradaguchi <20001722@ymail.ne.jp> | 2023-06-21 00:18:53 +0200 |
commit | 27e1c198a504deb4634f5f6673a77b5944c9f8cc (patch) | |
tree | 985aa6c3e9a8bdbefcbcb90650ed7b3dfaf7c712 /external | |
parent | 484467978c5309f3c7adb7544242e96de4efb7e8 (diff) |
poppler: upgrade to release 23.06.0
Add external/poppler/disable-nss-and-gpgmepp.patch.1 to get rid of
some code that requires NSS or GPGMEPP.
Update external/poppler/inc/pch/precompiled_poppler.hxx.
Change-Id: I5e61371776c64962452022516446b5079c3840e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153097
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Diffstat (limited to 'external')
-rw-r--r-- | external/poppler/README | 2 | ||||
-rw-r--r-- | external/poppler/UnpackedTarball_poppler.mk | 1 | ||||
-rw-r--r-- | external/poppler/disable-freetype.patch.1 | 18 | ||||
-rw-r--r-- | external/poppler/disable-nss-and-gpgmepp.patch.1 | 76 | ||||
-rw-r--r-- | external/poppler/gcc7-EntityInfo.patch.1 | 43 | ||||
-rw-r--r-- | external/poppler/inc/pch/precompiled_poppler.hxx | 30 | ||||
-rw-r--r-- | external/poppler/poppler-config.patch.1 | 27 |
7 files changed, 159 insertions, 38 deletions
diff --git a/external/poppler/README b/external/poppler/README index 35a640264618..08d3612c3542 100644 --- a/external/poppler/README +++ b/external/poppler/README @@ -1 +1 @@ -From [http://poppler.freedesktop.org/]. Not modified. PDF rendering library based on the xpdf-3.0 code base. +From [https://poppler.freedesktop.org/]. Not modified. PDF rendering library based on the xpdf-3.0 code base. diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk index 6cbed9e103ec..73265d8ec65b 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,poppler,0)) $(eval $(call gb_UnpackedTarball_add_patches,poppler,\ external/poppler/char_traits.patch \ external/poppler/disable-freetype.patch.1 \ + external/poppler/disable-nss-and-gpgmepp.patch.1 \ external/poppler/gcc7-EntityInfo.patch.1 \ external/poppler/gcc7-GfxFont.patch.1 \ external/poppler/poppler-config.patch.1 \ diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1 index 710742206925..77c643de40f5 100644 --- a/external/poppler/disable-freetype.patch.1 +++ b/external/poppler/disable-freetype.patch.1 @@ -1,8 +1,8 @@ disable freetype dependent code ---- poppler/poppler/Form.cc.orig 2022-09-14 15:46:48.588316681 +0200 -+++ poppler/poppler/Form.cc 2022-09-14 15:48:01.468274551 +0200 -@@ -46,7 +46,7 @@ +--- poppler/poppler/Form.cc.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/Form.cc 2023-06-14 18:50:22.232312300 +0900 +@@ -48,7 +48,7 @@ #include <cstdlib> #include <cstring> #include <cctype> @@ -11,7 +11,7 @@ disable freetype dependent code #include "goo/gmem.h" #include "goo/gfile.h" #include "goo/GooString.h" -@@ -77,8 +77,8 @@ +@@ -78,8 +78,8 @@ #include "fofi/FoFiTrueType.h" #include "fofi/FoFiIdentifier.h" @@ -20,18 +20,18 @@ disable freetype dependent code +//#include <ft2build.h> +//#include FT_FREETYPE_H - // return a newly allocated char* containing an UTF16BE string of size length - char *pdfDocEncodingToUTF16(const std::string &orig, int *length) -@@ -2743,6 +2743,8 @@ + // helper for using std::visit to get a dependent false for static_asserts + // to help get compile errors if one ever extends variants +@@ -2760,6 +2760,8 @@ - Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle) + Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle, bool forceName) { + return {}; +#if 0 if (!GooString::endsWith(filepath, ".ttf") && !GooString::endsWith(filepath, ".ttc") && !GooString::endsWith(filepath, ".otf")) { error(errIO, -1, "We only support embedding ttf/ttc/otf fonts for now. The font file for {0:s} {1:s} was {2:s}", fontFamily.c_str(), fontStyle.c_str(), filepath.c_str()); return {}; -@@ -2951,6 +2953,7 @@ +@@ -2994,6 +2996,7 @@ } return { dictFontName, fontDictRef }; diff --git a/external/poppler/disable-nss-and-gpgmepp.patch.1 b/external/poppler/disable-nss-and-gpgmepp.patch.1 new file mode 100644 index 000000000000..01b442f53a1c --- /dev/null +++ b/external/poppler/disable-nss-and-gpgmepp.patch.1 @@ -0,0 +1,76 @@ +disable NSS/GPGMEPP dependent code. + +--- poppler/poppler/Form.cc.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/Form.cc 2023-06-17 16:51:27.873431500 +0900 +@@ -64,7 +64,7 @@ + #include "Form.h" + #include "PDFDoc.h" + #include "DateInfo.h" +-#include "CryptoSignBackend.h" ++/*#include "CryptoSignBackend.h"*/ + #include "SignatureInfo.h" + #include "CertificateInfo.h" + #include "XRef.h" +@@ -577,7 +577,7 @@ + { + return static_cast<FormFieldSignature *>(field)->validateSignature(doVerifyCert, forceRevalidation, validationTime, ocspRevocationCheck, enableAIA); + } +- ++#if 0 + // update hash with the specified range of data from the file + static bool hashFileRange(FILE *f, CryptoSign::SigningInterface *handler, Goffset start, Goffset end) + { +@@ -607,10 +607,12 @@ + delete[] buf; + return true; + } ++#endif + + bool FormWidgetSignature::signDocument(const std::string &saveFilename, const std::string &certNickname, const std::string &password, const GooString *reason, const GooString *location, const std::optional<GooString> &ownerPassword, + const std::optional<GooString> &userPassword) + { ++#if 0 + auto backend = CryptoSign::Factory::createActive(); + if (!backend) { + return false; +@@ -698,6 +700,8 @@ + fclose(file); + + return true; ++#endif ++ return false; + } + + bool FormWidgetSignature::signDocumentWithAppearance(const std::string &saveFilename, const std::string &certNickname, const std::string &password, const GooString *reason, const GooString *location, +@@ -2316,6 +2320,7 @@ + + void FormFieldSignature::hashSignedDataBlock(CryptoSign::VerificationInterface *handler, Goffset block_len) + { ++#if 0 + if (!handler) { + return; + } +@@ -2335,6 +2340,7 @@ + i += BLOCK_SIZE; + } + } ++#endif + } + + FormSignatureType FormWidgetSignature::signatureType() const +@@ -2349,6 +2355,7 @@ + + SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool forceRevalidation, time_t validationTime, bool ocspRevocationCheck, bool enableAIA) + { ++#if 0 + auto backend = CryptoSign::Factory::createActive(); + if (!backend) { + return signature_info; +@@ -2425,6 +2432,7 @@ + const CertificateValidationStatus cert_val_state = signature_handler->validateCertificate(std::chrono::system_clock::from_time_t(validationTime), ocspRevocationCheck, enableAIA); + signature_info->setCertificateValStatus(cert_val_state); + ++#endif + return signature_info; + } + diff --git a/external/poppler/gcc7-EntityInfo.patch.1 b/external/poppler/gcc7-EntityInfo.patch.1 index b450bff93af9..1dd7c83ad475 100644 --- a/external/poppler/gcc7-EntityInfo.patch.1 +++ b/external/poppler/gcc7-EntityInfo.patch.1 @@ -2,28 +2,35 @@ gcc 7.3.1 says: workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:42:34: error: function ‘X509CertificateInfo::EntityInfo& X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ ---- poppler/poppler/CertificateInfo.h.orig 2022-09-14 19:32:12.426351385 +0200 -+++ poppler/poppler/CertificateInfo.h 2022-09-14 19:32:18.947347812 +0200 -@@ -70,7 +70,7 @@ - ~EntityInfo(); - - EntityInfo(EntityInfo &&) noexcept; -- EntityInfo &operator=(EntityInfo &&) noexcept; -+ EntityInfo &operator=(EntityInfo &&) /*noexcept*/; - - EntityInfo(const EntityInfo &) = delete; - EntityInfo &operator=(const EntityInfo &) = delete; ---- poppler/poppler/CertificateInfo.cc.orig 2022-09-14 19:31:10.225385467 +0200 -+++ poppler/poppler/CertificateInfo.cc 2022-09-14 19:31:12.572384182 +0200 -@@ -39,7 +39,7 @@ +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc: In member function ‘void X509CertificateInfo::setPublicKeyInfo(X509CertificateInfo::PublicKeyInfo&&)’: +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:106:39: error: use of deleted function ‘X509CertificateInfo::PublicKeyInfo& X509CertificateInfo::PublicKeyInfo::operator=(X509CertificateInfo::PublicKeyInfo&&)’ + public_key_info = std::move(pkInfo); + ^ +In file included from workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:15:0: +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.h:58:24: note: ‘X509CertificateInfo::PublicKeyInfo& X509CertificateInfo::PublicKeyInfo::operator=(X509CertificateInfo::PublicKeyInfo&&) noexcept’ is implicitly deleted because its exception-specification does not match the implicit exception-specification ‘’ + PublicKeyInfo &operator=(PublicKeyInfo &&) noexcept = default; + ^~~~~~~~ + +--- poppler/poppler/CertificateInfo.h.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/CertificateInfo.h 2023-06-19 18:10:55.760031700 +0900 +@@ -55,7 +55,7 @@ + PublicKeyInfo() = default; - X509CertificateInfo::EntityInfo::EntityInfo(X509CertificateInfo::EntityInfo &&other) noexcept = default; + PublicKeyInfo(PublicKeyInfo &&) noexcept = default; +- PublicKeyInfo &operator=(PublicKeyInfo &&) noexcept = default; ++ PublicKeyInfo &operator=(PublicKeyInfo &&) /*noexcept*/ = default; --X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) noexcept = default; -+X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) /*noexcept*/ = default; + PublicKeyInfo(const PublicKeyInfo &) = delete; + PublicKeyInfo &operator=(const PublicKeyInfo &) = delete; +@@ -71,7 +71,7 @@ + ~EntityInfo() = default; - X509CertificateInfo::X509CertificateInfo() : ku_extensions(KU_NONE), cert_version(-1), is_self_signed(false) { } + EntityInfo(EntityInfo &&) noexcept = default; +- EntityInfo &operator=(EntityInfo &&) noexcept = default; ++ EntityInfo &operator=(EntityInfo &&) /*noexcept*/ = default; + EntityInfo(const EntityInfo &) = delete; + EntityInfo &operator=(const EntityInfo &) = delete; --- poppler/poppler/GfxFont.cc.orig 2022-09-14 20:24:32.569607333 +0200 +++ poppler/poppler/GfxFont.cc 2022-09-14 20:24:52.323596186 +0200 @@ -180,7 +180,7 @@ diff --git a/external/poppler/inc/pch/precompiled_poppler.hxx b/external/poppler/inc/pch/precompiled_poppler.hxx index 0b2824d753c9..50944b80daef 100644 --- a/external/poppler/inc/pch/precompiled_poppler.hxx +++ b/external/poppler/inc/pch/precompiled_poppler.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-11-03 15:11:24 using: + Generated on 2023-06-18 21:15:26 using: ./bin/update_pch external/poppler poppler --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -22,7 +22,22 @@ #include <sal/config.h> #if PCH_LEVEL >= 1 +#include <Object.h> #include <algorithm> +#include <annot_stamp_approved.h> +#include <annot_stamp_as_is.h> +#include <annot_stamp_confidential.h> +#include <annot_stamp_departmental.h> +#include <annot_stamp_draft.h> +#include <annot_stamp_experimental.h> +#include <annot_stamp_expired.h> +#include <annot_stamp_final.h> +#include <annot_stamp_for_comment.h> +#include <annot_stamp_for_public_release.h> +#include <annot_stamp_not_approved.h> +#include <annot_stamp_not_for_public_release.h> +#include <annot_stamp_sold.h> +#include <annot_stamp_top_secret.h> #include <array> #include <cassert> #include <cctype> @@ -40,18 +55,23 @@ #include <cstdlib> #include <cstring> #include <ctime> +#include <gbase64.h> +#include <gbasename.h> #include <gdir.h> #include <gfile.h> #include <glibc.h> #include <gmem.h> #include <grandom.h> #include <gstrtod.h> +#include <iomanip> +#include <iostream> #include <limits> #include <memory> #include <poppler-config.h> #include <random> #include <regex> #include <set> +#include <sstream> #include <vector> #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -65,6 +85,10 @@ #include <goo/GooLikely.h> #include <goo/GooString.h> #include <goo/GooTimer.h> +#include <goo/ImgWriter.h> +#include <goo/JpegWriter.h> +#include <goo/PNGWriter.h> +#include <goo/TiffWriter.h> #include <goo/gdir.h> #include <goo/gfile.h> #include <goo/glibc.h> @@ -72,6 +96,10 @@ #include <goo/grandom.h> #include <goo/gstrtod.h> #include <poppler/Error.h> +#include <poppler/GfxState.h> +#include <poppler/GfxState_helpers.h> +#include <splash/Splash.h> +#include <splash/SplashBitmap.h> #include <splash/SplashTypes.h> #include <sys/stat.h> #endif // PCH_LEVEL >= 3 diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1 index 503cf1c0ae46..be8fc98556a7 100644 --- a/external/poppler/poppler-config.patch.1 +++ b/external/poppler/poppler-config.patch.1 @@ -2,7 +2,7 @@ note: to get the 3rd one, use -DENABLE_CPP=on -mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off +mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6 manually disabled these because cmake failed to do it: HAVE_CAIRO @@ -16,7 +16,7 @@ new file mode 100644 index 0fbd336a..451213f8 100644 --- /dev/null +++ b/config.h -@@ -0,0 +1,220 @@ +@@ -0,0 +1,229 @@ +/* config.h. Generated from config.h.cmake by cmake. */ + +/* Build against libcurl. */ @@ -46,6 +46,15 @@ index 0fbd336a..451213f8 100644 +/* Build against libnss3 for digital signature validation */ +/* #define ENABLE_NSS3 1 */ + ++/* Build against libgpgme for digital signature validation */ ++/* #undef ENABLE_GPGME */ ++ ++/* Signatures enabled */ ++/* #define ENABLE_SIGNATURES 1 */ ++ ++/* Default signature backend */ ++/* #define DEFAULT_SIGNATURE_BACKEND "NSS" */ ++ +/* Use cairo for rendering. */ +/* #define HAVE_CAIRO 1 */ + @@ -173,7 +182,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_NAME "poppler" + +/* Define to the full name and version of this package. */ -+#define PACKAGE_STRING "poppler 23.03.0" ++#define PACKAGE_STRING "poppler 23.06.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "poppler" @@ -182,7 +191,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_URL "" + +/* Define to the version of this package. */ -+#define PACKAGE_VERSION "23.03.0" ++#define PACKAGE_VERSION "23.06.0" + +/* Poppler data dir */ +#define POPPLER_DATADIR "/usr/local/share/poppler" @@ -200,7 +209,7 @@ index 0fbd336a..451213f8 100644 +/* #undef USE_FLOAT */ + +/* Version number of package */ -+#define VERSION "23.03.0" ++#define VERSION "23.06.0" + +#if defined(__APPLE__) +#elif defined (_WIN32) @@ -281,7 +290,7 @@ index 0fbd336a..451213f8 100644 + +/* Defines the poppler version. */ +#ifndef POPPLER_VERSION -+#define POPPLER_VERSION "23.03.0" ++#define POPPLER_VERSION "23.06.0" +#endif + +/* Use single precision arithmetic in the Splash backend */ @@ -373,7 +382,7 @@ index 0fbd336a..451213f8 100644 +//------------------------------------------------------------------------ + +// copyright notice -+#define popplerCopyright "Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org" ++#define popplerCopyright "Copyright 2005-2023 The Poppler Developers - http://poppler.freedesktop.org" +#define xpdfCopyright "Copyright 1996-2011, 2022 Glyph & Cog, LLC" + +//------------------------------------------------------------------------ @@ -433,9 +442,9 @@ index 0fbd336a..451213f8 100644 + +#include "poppler-global.h" + -+#define POPPLER_VERSION "23.03.0" ++#define POPPLER_VERSION "23.06.0" +#define POPPLER_VERSION_MAJOR 23 -+#define POPPLER_VERSION_MINOR 03 ++#define POPPLER_VERSION_MINOR 06 +#define POPPLER_VERSION_MICRO 0 + +namespace poppler |