gnu: libreoffice: Fix build with Poppler 0.86.

* gnu/packages/patches/libreoffice-poppler-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/libreoffice.scm (libreoffice)[source](patches): New field.
This commit is contained in:
Marius Bakke 2020-04-03 15:58:22 +02:00
parent c745b6f62c
commit 976ae7eab6
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 21 additions and 0 deletions

View file

@ -1143,6 +1143,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-poppler-compat.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \

View file

@ -1006,6 +1006,7 @@ (define-public libreoffice
(string-append
"https://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(patches (search-patches "libreoffice-poppler-compat.patch"))
(sha256
(base32
"06acm41q9nda8r30b13cn9zafsw1gszjdphh6lx90s09d2sf7f23"))))

View file

@ -0,0 +1,19 @@
Fix type mismatch with Poppler 0.86.
Taken from Arch Linux:
https://git.archlinux.org/svntogit/packages.git/tree/trunk/libreoffice-poppler-0.86.patch?h=packages/libreoffice-fresh
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -563,7 +563,9 @@ void PDFOutDev::processLink(Link* link, Catalog*)
if (!(pAction && pAction->getKind() == actionURI))
return;
-#if POPPLER_CHECK_VERSION(0, 72, 0)
+#if POPPLER_CHECK_VERSION(0, 86, 0)
+ const char* pURI = static_cast<LinkURI*>(pAction)->getURI().c_str();
+#elif POPPLER_CHECK_VERSION(0, 72, 0)
const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->c_str();
#else
const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->getCString();