author | Evangelos Foutras
<foutrelis@archlinux.org> 2022-05-06 03:39:42 UTC |
committer | Evangelos Foutras
<foutrelis@archlinux.org> 2022-05-06 03:39:42 UTC |
parent | 2158cb47aa60a00f6a8536aef894a1da5f4f35dc |
PKGBUILD | +4 | -1 |
poppler-22.04.0.patch | +71 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index 08193da..a2d8a00 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -12,7 +12,7 @@ pkgbase=libreoffice-still pkgname=('libreoffice-still-sdk' 'libreoffice-still') _LOver=7.2.6.2 pkgver=7.2.6 -pkgrel=2 +pkgrel=3 arch=('x86_64') license=('LGPL3') url="https://www.libreoffice.org/" @@ -60,6 +60,7 @@ source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_additional_source_url2}/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll poppler-22.03.0.patch + poppler-22.04.0.patch make-pyuno-work-with-system-wide-module-install.diff mdds-2.0-and-orcus-0.17.diff 0001_drop_the_SolarMutex_before_QApplication.patch @@ -112,6 +113,7 @@ sha256sums=('483765a98b92d90e8c8c735e08d33c2a34b5fe1fbc8e7f6b1f9c74ad1a141e31' 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140' 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' 'e61e2a266c7a4374377475254a2f095c1ce2376980b301955a4e5a0d32d3c25b' + 'caaef7919c6296ab93c7d02607503f91ec965387d038779c0aba9fce78b8e456' 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' 'fd73edaa09a48e2b2c4f4f32af68f1ef01cc181d49a5dfc1f65a5ad4883d7db8' '81a8551aaea0ab1750d36fb8bfbd04340a43eaab349a43c1384d21ef6504ab47' @@ -136,6 +138,7 @@ prepare() { cp -f "${srcdir}"/185d60944ea767075d27247c3162b3bc-unowinreg.dll "${srcdir}"/ext_sources patch -Np1 -i "${srcdir}"/poppler-22.03.0.patch + patch -Np0 -i "${srcdir}"/poppler-22.04.0.patch # fix not upstreamable pyuno paths - FS#54250 patch -Np1 -i "${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff diff --git a/poppler-22.04.0.patch b/poppler-22.04.0.patch new file mode 100644 index 0000000..9a04490 --- /dev/null +++ b/poppler-22.04.0.patch @@ -0,0 +1,71 @@ +# Patch from FreeBSD (https://cgit.freebsd.org/ports/commit/?id=d9b5ef800dbd) + +--- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig 2022-04-26 16:11:01 UTC ++++ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -474,11 +474,17 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* g + { + // TODO(P3): Unfortunately, need to read stream twice, since + // we must write byte count to stdout before ++#if !POPPLER_CHECK_VERSION(22, 3, 0) + char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); ++#else ++ std::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() ); ++#endif + if( pBuf ) + { + aNewFont.isEmbedded = true; ++#if !POPPLER_CHECK_VERSION(22, 3, 0) + gfree(pBuf); ++#endif + } + } + +@@ -492,21 +498,32 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) cons + return; + + int nSize = 0; +- char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); ++#if !POPPLER_CHECK_VERSION(22, 3, 0) ++ char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); ++#else ++ std::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() ); ++#endif + if( !pBuf ) + return; + + // ---sync point--- see SYNC STREAMS above + fflush(stdout); +- ++#if !POPPLER_CHECK_VERSION(22, 3, 0) + if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) ) ++#else ++ if( fwrite(reinterpret_cast<char*>(pBuf.value().data()), sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) ) ++#endif + { +- gfree(pBuf); ++#if !POPPLER_CHECK_VERSION(22, 3, 0) ++ gfree(pBuf); ++#endif + exit(1); // error + } + // ---sync point--- see SYNC STREAMS above + fflush(g_binary_out); +- gfree(pBuf); ++#if !POPPLER_CHECK_VERSION(22, 3, 0) ++ gfree(pBuf); ++#endif + } + + #if POPPLER_CHECK_VERSION(0, 83, 0) +@@ -759,7 +776,11 @@ void PDFOutDev::updateFont(GfxState *state) + { + assert(state); + ++#if !POPPLER_CHECK_VERSION(22, 3, 0) + GfxFont *gfxFont = state->getFont(); ++#else ++ GfxFont *gfxFont = state->getFont().get(); ++#endif + if( !gfxFont ) + return; +