download.lst | 4 +- external/boost/include/boost/convert.hpp | 28 +++++++++++++++++ external/boost/include/boost/convert/stream.hpp | 28 +++++++++++++++++ external/poppler/StaticLibrary_poppler.mk | 1 external/poppler/UnpackedTarball_poppler.mk | 1 external/poppler/disable-nss-and-gpgmepp.patch.1 | 36 ++++++++++++----------- external/poppler/std_charconv.patch.1 | 30 +++++++++++++++++++ 7 files changed, 109 insertions(+), 19 deletions(-)
New commits: commit 878aefc916e04cb96cbba2bc4304573d818b0d9c Author: Xisco Fauli <[email protected]> AuthorDate: Mon Mar 25 20:59:08 2024 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Thu Jan 9 17:35:36 2025 +0100 poppler: upgrade to release 24.03.0 Change-Id: Icd063dcc9a034e88283ddf16be64091a32f3453f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165292 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> Signed-off-by: Xisco Fauli <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173037 Reviewed-by: Caolán McNamara <[email protected]> (cherry picked from commit 00b2beb5427f53d90efcadefe50c1320c0501535) (cherry picked from commit 3d282731feae4056f3158a3650a1e1406a4dba22) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180007 Tested-by: Michael Stahl <[email protected]> Reviewed-by: Michael Stahl <[email protected]> diff --git a/download.lst b/download.lst index 0a4f40662e19..9fc8e5d16fdf 100644 --- a/download.lst +++ b/download.lst @@ -470,8 +470,8 @@ LIBPNG_TARBALL := libpng-1.6.44.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -POPPLER_SHA256SUM := 80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55 -POPPLER_TARBALL := poppler-23.09.0.tar.xz +POPPLER_SHA256SUM := bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446 +POPPLER_TARBALL := poppler-24.03.0.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/boost/include/boost/convert.hpp b/external/boost/include/boost/convert.hpp new file mode 100644 index 000000000000..537ae130b53d --- /dev/null +++ b/external/boost/include/boost/convert.hpp @@ -0,0 +1,28 @@ +/* generated by bin/gen-boost-headers, do not edit! */ +#pragma once +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpragmas" /* first! for GCC */ +#pragma GCC diagnostic ignored "-Wunknown-warning-option" // second! for Clang 5 +#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor" +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#pragma GCC diagnostic ignored "-Wdeprecated-copy" +#pragma GCC diagnostic ignored "-Wextra" +#pragma GCC diagnostic ignored "-Wignored-qualifiers" +#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#pragma GCC diagnostic ignored "-Winvalid-constexpr" +#pragma GCC diagnostic ignored "-Wmicrosoft-unqualified-friend" +#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" +#pragma GCC diagnostic ignored "-Wparentheses" +#pragma GCC diagnostic ignored "-Wplacement-new" +#pragma GCC diagnostic ignored "-Wreturn-type" +#pragma GCC diagnostic ignored "-Wshadow" +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#pragma GCC diagnostic ignored "-Wtype-limits" +#pragma GCC diagnostic ignored "-Wundef" +#pragma GCC diagnostic ignored "-Wunused-local-typedefs" +#pragma GCC diagnostic ignored "-Wunused-macros" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-variable" +#include_next <boost/convert.hpp> +#pragma GCC diagnostic pop diff --git a/external/boost/include/boost/convert/stream.hpp b/external/boost/include/boost/convert/stream.hpp new file mode 100644 index 000000000000..cf5a709fc45b --- /dev/null +++ b/external/boost/include/boost/convert/stream.hpp @@ -0,0 +1,28 @@ +/* generated by bin/gen-boost-headers, do not edit! */ +#pragma once +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpragmas" /* first! for GCC */ +#pragma GCC diagnostic ignored "-Wunknown-warning-option" // second! for Clang 5 +#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor" +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#pragma GCC diagnostic ignored "-Wdeprecated-copy" +#pragma GCC diagnostic ignored "-Wextra" +#pragma GCC diagnostic ignored "-Wignored-qualifiers" +#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#pragma GCC diagnostic ignored "-Winvalid-constexpr" +#pragma GCC diagnostic ignored "-Wmicrosoft-unqualified-friend" +#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" +#pragma GCC diagnostic ignored "-Wparentheses" +#pragma GCC diagnostic ignored "-Wplacement-new" +#pragma GCC diagnostic ignored "-Wreturn-type" +#pragma GCC diagnostic ignored "-Wshadow" +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#pragma GCC diagnostic ignored "-Wtype-limits" +#pragma GCC diagnostic ignored "-Wundef" +#pragma GCC diagnostic ignored "-Wunused-local-typedefs" +#pragma GCC diagnostic ignored "-Wunused-macros" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-variable" +#include_next <boost/convert/stream.hpp> +#pragma GCC diagnostic pop diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index 62877a0f0059..20cb4001d196 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -12,6 +12,7 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,poppler)) $(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler)) $(eval $(call gb_StaticLibrary_use_externals,poppler,\ + boost_headers \ libjpeg \ zlib \ )) diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk index cc4f67754a03..a8f9af27fe60 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,poppler,\ external/poppler/disable-nss-and-gpgmepp.patch.1 \ external/poppler/gcc7-EntityInfo.patch.1 \ external/poppler/gcc7-GfxFont.patch.1 \ + external/poppler/std_charconv.patch.1 \ external/poppler/poppler-config.patch.1 \ )) diff --git a/external/poppler/disable-nss-and-gpgmepp.patch.1 b/external/poppler/disable-nss-and-gpgmepp.patch.1 index 01b442f53a1c..1d7f7f933433 100644 --- a/external/poppler/disable-nss-and-gpgmepp.patch.1 +++ b/external/poppler/disable-nss-and-gpgmepp.patch.1 @@ -11,7 +11,7 @@ disable NSS/GPGMEPP dependent code. #include "SignatureInfo.h" #include "CertificateInfo.h" #include "XRef.h" -@@ -577,7 +577,7 @@ +@@ -578,7 +578,7 @@ { return static_cast<FormFieldSignature *>(field)->validateSignature(doVerifyCert, forceRevalidation, validationTime, ocspRevocationCheck, enableAIA); } @@ -20,12 +20,12 @@ disable NSS/GPGMEPP dependent code. // 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 @@ +@@ -608,10 +608,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) { @@ -33,44 +33,46 @@ disable NSS/GPGMEPP dependent code. auto backend = CryptoSign::Factory::createActive(); if (!backend) { return false; -@@ -698,6 +700,8 @@ +@@ -697,8 +699,8 @@ + signatureField->setSignature(*signature); + fclose(file); - - return true; +- +- 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 @@ - + + static std::tuple<double, double> calculateDxDy(int rot, const PDFRectangle *rect) +@@ -2355,6 +2357,7 @@ + void FormFieldSignature::hashSignedDataBlock(CryptoSign::VerificationInterface *handler, Goffset block_len) { +#if 0 if (!handler) { return; } -@@ -2335,6 +2340,7 @@ +@@ -2374,6 +2377,7 @@ i += BLOCK_SIZE; } } +#endif } - + FormSignatureType FormWidgetSignature::signatureType() const -@@ -2349,6 +2355,7 @@ - +@@ -2388,6 +2392,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 @@ +@@ -2464,6 +2469,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/std_charconv.patch.1 b/external/poppler/std_charconv.patch.1 new file mode 100644 index 000000000000..c1377fec013d --- /dev/null +++ b/external/poppler/std_charconv.patch.1 @@ -0,0 +1,30 @@ +no <charconv> in baseline GCC 7 + +--- poppler/fofi/FoFiType1.cc.orig 2025-01-09 14:07:47.367442683 +0100 ++++ poppler/fofi/FoFiType1.cc 2025-01-09 14:15:26.553919121 +0100 +@@ -28,7 +28,8 @@ + + #include <config.h> + +-#include <charconv> ++#include <boost/convert.hpp> ++#include <boost/convert/stream.hpp> + #include <optional> + + #include <cstdlib> +@@ -281,9 +282,13 @@ + + int code = 0; + if (codeToken->length() > 2 && codeToken->at(0) == '8' && codeToken->at(1) == '#') { +- std::from_chars(codeToken->data() + 2, codeToken->data() + codeToken->length(), code, 8); ++ boost::cnv::cstream ccnv; ++ std::string_view temp(codeToken->data() + 2, codeToken->length() - 2); ++ code = boost::convert<int>(temp, ccnv(std::oct)).value_or(-1); + } else { +- std::from_chars(codeToken->data(), codeToken->data() + codeToken->length(), code); ++ boost::cnv::cstream ccnv; ++ std::string_view temp(codeToken->data(), codeToken->length()); ++ code = boost::convert<int>(temp, ccnv(std::dec)).value_or(-1); + } + + if (code >= 0 && code < 256 && nameToken->length() > 1) {
