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>
This commit is contained in:
parent
484467978c
commit
27e1c198a5
8 changed files with 161 additions and 40 deletions
|
@ -458,8 +458,8 @@ LIBTIFF_TARBALL := tiff-4.5.0rc3.tar.xz
|
|||
# three static lines
|
||||
# so that git cherry-pick
|
||||
# will not run into conflicts
|
||||
POPPLER_SHA256SUM := b04148bf849c1965ada7eff6be4685130e3a18a84e0cce73bf9bc472ec32f2b4
|
||||
POPPLER_TARBALL := poppler-23.03.0.tar.xz
|
||||
POPPLER_SHA256SUM := d38c6b2f31c8f6f3727fb60a011a0e6c567ebf56ef1ccad36263ca9ed6448a65
|
||||
POPPLER_TARBALL := poppler-23.06.0.tar.xz
|
||||
POPPLER_DATA_SHA256SUM := c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
|
||||
POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
|
||||
# three static lines
|
||||
|
|
2
external/poppler/README
vendored
2
external/poppler/README
vendored
|
@ -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.
|
||||
|
|
1
external/poppler/UnpackedTarball_poppler.mk
vendored
1
external/poppler/UnpackedTarball_poppler.mk
vendored
|
@ -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 \
|
||||
|
|
18
external/poppler/disable-freetype.patch.1
vendored
18
external/poppler/disable-freetype.patch.1
vendored
|
@ -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 };
|
||||
|
|
76
external/poppler/disable-nss-and-gpgmepp.patch.1
vendored
Normal file
76
external/poppler/disable-nss-and-gpgmepp.patch.1
vendored
Normal file
|
@ -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;
|
||||
}
|
||||
|
43
external/poppler/gcc7-EntityInfo.patch.1
vendored
43
external/poppler/gcc7-EntityInfo.patch.1
vendored
|
@ -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();
|
||||
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;
|
||||
|
||||
EntityInfo(EntityInfo &&) noexcept;
|
||||
- EntityInfo &operator=(EntityInfo &&) noexcept;
|
||||
+ EntityInfo &operator=(EntityInfo &&) /*noexcept*/;
|
||||
PublicKeyInfo(PublicKeyInfo &&) noexcept = default;
|
||||
- PublicKeyInfo &operator=(PublicKeyInfo &&) noexcept = default;
|
||||
+ PublicKeyInfo &operator=(PublicKeyInfo &&) /*noexcept*/ = default;
|
||||
|
||||
PublicKeyInfo(const PublicKeyInfo &) = delete;
|
||||
PublicKeyInfo &operator=(const PublicKeyInfo &) = delete;
|
||||
@@ -71,7 +71,7 @@
|
||||
~EntityInfo() = default;
|
||||
|
||||
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/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 @@
|
||||
|
||||
X509CertificateInfo::EntityInfo::EntityInfo(X509CertificateInfo::EntityInfo &&other) noexcept = default;
|
||||
|
||||
-X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) noexcept = default;
|
||||
+X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) /*noexcept*/ = default;
|
||||
|
||||
X509CertificateInfo::X509CertificateInfo() : ku_extensions(KU_NONE), cert_version(-1), is_self_signed(false) { }
|
||||
|
||||
--- 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 @@
|
||||
|
|
30
external/poppler/inc/pch/precompiled_poppler.hxx
vendored
30
external/poppler/inc/pch/precompiled_poppler.hxx
vendored
|
@ -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
|
||||
|
|
27
external/poppler/poppler-config.patch.1
vendored
27
external/poppler/poppler-config.patch.1
vendored
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue