diff --git a/extra/libreoffice-still/PKGBUILD b/extra/libreoffice-still/PKGBUILD index 476e34144..87e0a6aff 100644 --- a/extra/libreoffice-still/PKGBUILD +++ b/extra/libreoffice-still/PKGBUILD @@ -19,7 +19,7 @@ pkgbase=libreoffice-still pkgname=('libreoffice-still-sdk' 'libreoffice-still') _LOver=7.3.5.2 pkgver=7.3.5 -pkgrel=2 +pkgrel=3 arch=('x86_64') license=('LGPL3') url="https://www.libreoffice.org/" @@ -65,6 +65,7 @@ source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_additional_source_url2}/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll make-pyuno-work-with-system-wide-module-install.diff + libreoffice-poppler-22.09.0.patch soffice-template.desktop.in libreoffice-still.sh libreoffice-still.csh) noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip @@ -111,6 +112,7 @@ sha256sums=('9b3e0db1ee153330ea05f04109bd817dbac2203d2eed83ef54be54d4c741e991' 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140' 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' + '95716d255aae9d8795eb76c634541f82a094b87dfeaa6ffcdbd97c0f19c14ac4' 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879' 'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a' 'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1') @@ -122,6 +124,9 @@ prepare() { # Workaround to fix build with gpgme 1.18.0 export ac_cv_lib_gpgmepp_progress_callback=yes + # poppler 22.09.0 + patch -Np1 -i ../libreoffice-poppler-22.09.0.patch + # move external sources into place mkdir "${srcdir}"/ext_sources && pushd "${srcdir}"/ext_sources for source in "${noextract[@]}"; do diff --git a/extra/libreoffice-still/libreoffice-poppler-22.09.0.patch b/extra/libreoffice-still/libreoffice-poppler-22.09.0.patch new file mode 100644 index 000000000..f269d5319 --- /dev/null +++ b/extra/libreoffice-still/libreoffice-poppler-22.09.0.patch @@ -0,0 +1,46 @@ +https://gerrit.libreoffice.org/c/core/+/139249 + +From 8bad83bf044661357b02b695e6f53e2e19dea396 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 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -678,8 +678,16 @@ 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 double* dashArray; ++ const std::vector &dash = state->getLineDash(&startOffset); ++ dashArray = dash.data(); ++ arrayLen = dash.size(); ++#else ++ double* dashArray; + state->getLineDash(&dashArray, &arrayLen, &startOffset); ++#endif + + printf( "updateLineDash" ); + if( arrayLen && dashArray )