download.lst                                     |    4 -
 external/poppler/README                          |    2 
 external/poppler/UnpackedTarball_poppler.mk      |    1 
 external/poppler/disable-freetype.patch.1        |   18 ++---
 external/poppler/disable-nss-and-gpgmepp.patch.1 |   76 +++++++++++++++++++++++
 external/poppler/gcc7-EntityInfo.patch.1         |   43 +++++++------
 external/poppler/inc/pch/precompiled_poppler.hxx |   30 ++++++++-
 external/poppler/poppler-config.patch.1          |   27 +++++---
 8 files changed, 161 insertions(+), 40 deletions(-)

New commits:
commit 27e1c198a504deb4634f5f6673a77b5944c9f8cc
Author:     Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Wed Jun 14 09:58:15 2023 +0900
Commit:     Taichi Haradaguchi <20001...@ymail.ne.jp>
CommitDate: Wed Jun 21 00:18:53 2023 +0200

    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 <20001...@ymail.ne.jp>

diff --git a/download.lst b/download.lst
index b0cfdf278d08..fc3a240f5f94 100644
--- a/download.lst
+++ b/download.lst
@@ -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
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

Reply via email to