git » libreoffice-still.git » commit 5f9c3e2

poppler 22.05.0 rebuild

author Evangelos Foutras
2022-05-06 03:39:42 UTC
committer Evangelos Foutras
2022-05-06 03:39:42 UTC
parent 2158cb47aa60a00f6a8536aef894a1da5f4f35dc

poppler 22.05.0 rebuild

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;
+