summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2020-11-21 22:59:49 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2020-11-21 23:00:07 +0200
commitf7c12bfa5c0ec0e2df860f498790b128de1accd2 (patch)
tree09625da18ff4ddb4bb5e9eb90d8cafecc29ed9a2 /app-office/libreoffice
parentdev-python/watchdog: Bump to 0.10.4 (diff)
downloadgentoo-f7c12bfa5c0ec0e2df860f498790b128de1accd2.tar.gz
gentoo-f7c12bfa5c0ec0e2df860f498790b128de1accd2.tar.bz2
gentoo-f7c12bfa5c0ec0e2df860f498790b128de1accd2.zip
app-office/libreoffice: Backport disable-pdfium fix from 7.0 branch
Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'app-office/libreoffice')
-rw-r--r--app-office/libreoffice/files/libreoffice-7.0.3.1-fix-disable-pdfium-build.patch82
-rw-r--r--app-office/libreoffice/libreoffice-7.0.3.1.ebuild3
2 files changed, 85 insertions, 0 deletions
diff --git a/app-office/libreoffice/files/libreoffice-7.0.3.1-fix-disable-pdfium-build.patch b/app-office/libreoffice/files/libreoffice-7.0.3.1-fix-disable-pdfium-build.patch
new file mode 100644
index 000000000000..346699d5527c
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-7.0.3.1-fix-disable-pdfium-build.patch
@@ -0,0 +1,82 @@
+From b9e5d5347e5dece693fe56b88570abc07a30a8ba Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
+Date: Thu, 29 Oct 2020 15:45:01 +0000
+Subject: [PATCH] fix --disable-pdfium build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I580972220bc39abe16288fa62c717e4ab25833d9
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105015
+Tested-by: Jenkins
+Tested-by: René Engelhard <rene@debian.org>
+Reviewed-by: René Engelhard <rene@debian.org>
+Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
+---
+ vcl/source/filter/ipdf/pdfread.cxx | 2 +-
+ xmlsecurity/source/pdfio/pdfdocument.cxx | 11 +++++++----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx
+index 3066c4deba4a..bf11578089e0 100644
+--- a/vcl/source/filter/ipdf/pdfread.cxx
++++ b/vcl/source/filter/ipdf/pdfread.cxx
+@@ -218,7 +218,7 @@ size_t RenderPDFBitmaps(const void* pBuffer, int nSize, std::vector<Bitmap>& rBi
+ (void)rBitmaps;
+ (void)nFirstPage;
+ (void)nPages;
+- (void)fResolutionDPI;
++ (void)pSizeHint;
+ return 0;
+ #endif // HAVE_FEATURE_PDFIUM
+ }
+diff --git a/xmlsecurity/source/pdfio/pdfdocument.cxx b/xmlsecurity/source/pdfio/pdfdocument.cxx
+index c132d02cc2b0..b229206391f2 100644
+--- a/xmlsecurity/source/pdfio/pdfdocument.cxx
++++ b/xmlsecurity/source/pdfio/pdfdocument.cxx
+@@ -138,10 +138,10 @@ bool IsCompleteSignature(SvStream& rStream, vcl::filter::PDFDocument& rDocument,
+ return std::find(rAllEOFs.begin(), rAllEOFs.end(), nFileEnd) != rAllEOFs.end();
+ }
+
++#if HAVE_FEATURE_PDFIUM
+ /// Collects the checksum of each page of one version of the PDF.
+ void AnalyizeSignatureStream(SvMemoryStream& rStream, std::vector<BitmapChecksum>& rPageChecksums)
+ {
+-#if HAVE_FEATURE_PDFIUM
+ auto pPdfium = vcl::pdf::PDFiumLibrary::get();
+ vcl::pdf::PDFiumDocument aPdfDocument(
+ FPDF_LoadMemDocument(rStream.GetData(), rStream.GetSize(), /*password=*/nullptr));
+@@ -158,10 +158,8 @@ void AnalyizeSignatureStream(SvMemoryStream& rStream, std::vector<BitmapChecksum
+ BitmapChecksum nPageChecksum = pPdfPage->getChecksum();
+ rPageChecksums.push_back(nPageChecksum);
+ }
+-#else
+- (void)rStream;
+-#endif
+ }
++#endif
+
+ /**
+ * Checks if incremental updates after singing performed valid modifications only.
+@@ -175,6 +173,7 @@ bool IsValidSignature(SvStream& rStream, vcl::filter::PDFObjectElement* pSignatu
+ return false;
+ }
+
++#if HAVE_FEATURE_PDFIUM
+ SvMemoryStream aSignatureStream;
+ sal_uInt64 nPos = rStream.Tell();
+ rStream.Seek(0);
+@@ -196,6 +195,10 @@ bool IsValidSignature(SvStream& rStream, vcl::filter::PDFObjectElement* pSignatu
+ // Fail if any page looks different after signing and at the end. Annotations/commenting doesn't
+ // count, though.
+ return aSignedPages == aAllPages;
++#else
++ (void)rStream;
++ return true;
++#endif
+ }
+ }
+
+--
+2.26.2
+
diff --git a/app-office/libreoffice/libreoffice-7.0.3.1.ebuild b/app-office/libreoffice/libreoffice-7.0.3.1.ebuild
index 75e3660ccfa3..b6573bba320b 100644
--- a/app-office/libreoffice/libreoffice-7.0.3.1.ebuild
+++ b/app-office/libreoffice/libreoffice-7.0.3.1.ebuild
@@ -286,6 +286,9 @@ else
fi
PATCHES=(
+ # backport from 7.0 branch
+ "${FILESDIR}/${PN}-7.0.3.1-fix-disable-pdfium-build.patch"
+
# "${WORKDIR}"/${PATCHSET/.tar.xz/}
# not upstreamable stuff