diff --git a/0001-Fix-build-with-Poppler-22.09.0.patch b/0001-Fix-build-with-Poppler-22.09.0.patch new file mode 100644 index 0000000..6e81b8f --- /dev/null +++ b/0001-Fix-build-with-Poppler-22.09.0.patch @@ -0,0 +1,55 @@ +From b7d63694985bbb1cf86eb71769feadb28ce68c17 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 2 Sep 2022 04:31:18 +0100 +Subject: [PATCH] Fix build with Poppler 22.09.0 + +With Poppler 22.09.0, LO fails to build with: +``` +/var/tmp/portage/app-office/libreoffice-7.3.5.2/work/libreoffice-7.3.5.2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx:682:36: error: too many arguments to function call, expected single argument 'start', have 3 arguments + state->getLineDash(&dashArray, &arrayLen, &startOffset); + ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~ +/usr/include/poppler/GfxState.h:1506:32: note: 'getLineDash' declared here + const std::vector &getLineDash(double *start) + ^ +1 error generated. +``` + +Poppler changed the getLineDash interface: +``` +- void getLineDash(double **dash, int *length, double *start) ++ const std::vector &getLineDash(double *start) +``` + +Signed-off-by: Sam James +Change-Id: I29e18f20d7650a7fcac1bc8ab4aaa04aaa2ab8fb +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139249 +Tested-by: Jenkins +Reviewed-by: Michael Stahl +--- + sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +index f12478cb2f4d..3ad139b65fa3 100644 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -678,8 +678,15 @@ void PDFOutDev::updateLineDash(GfxState *state) + return; + assert(state); + +- double* dashArray; int arrayLen; double startOffset; ++ int arrayLen; double startOffset; ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ const std::vector &dash = state->getLineDash(&startOffset); ++ const double* dashArray = dash.data(); ++ arrayLen = dash.size(); ++#else ++ double* dashArray; + state->getLineDash(&dashArray, &arrayLen, &startOffset); ++#endif + + printf( "updateLineDash" ); + if( arrayLen && dashArray ) +-- +2.37.3 + diff --git a/libreoffice.changes b/libreoffice.changes index 6d6cb7a..15f6abe 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Sep 20 16:28:58 UTC 2022 - Christophe Giboudeaux + +- Add popper 22.09 compatibility fix: + * 0001-Fix-build-with-Poppler-22.09.0.patch + ------------------------------------------------------------------- Wed Aug 31 07:45:42 UTC 2022 - Danilo Spinella diff --git a/libreoffice.spec b/libreoffice.spec index eda4ed3..9e084d2 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -96,6 +96,8 @@ Source2009: %{external_url}/dtoa-20180411.tgz # Skia is part of chromium and bundled everywhere as by google only way is monorepo way Source2010: %{external_url}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz Source2012: %{external_url}/libcmis-0.5.2.tar.xz +# poppler 22.09 compatibility +Patch0: 0001-Fix-build-with-Poppler-22.09.0.patch # change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse # to avoid BerkleyDB incompatibility with the plain build Patch1: scp2-user-config-suse.diff @@ -1008,6 +1010,7 @@ Provides %{langname} translations and additional resources (help files, etc.) fo %prep %setup -q -b2 -b4 +%patch0 -p1 %if 0%{?suse_version} < 1500 # The rename of the configdir is needed only on older than factory for compat %patch1