summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-03-07 17:41:08 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-03-12 16:52:47 +0100
commit6399fdc2f4348d9e14cf983fa1c3b24e7ec324ee (patch)
tree3c360684f779ab79b3202fdded6ede5a8c234a24 /sci-libs/gdal
parentapp-office/scribus: Fix build with >=app-text/poppler-22.03.0 (diff)
downloadgentoo-6399fdc2f4348d9e14cf983fa1c3b24e7ec324ee.tar.gz
gentoo-6399fdc2f4348d9e14cf983fa1c3b24e7ec324ee.tar.bz2
gentoo-6399fdc2f4348d9e14cf983fa1c3b24e7ec324ee.zip
sci-libs/gdal: Fix build with >=app-text/poppler-22.03.0
Closes: https://bugs.gentoo.org/834536 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'sci-libs/gdal')
-rw-r--r--sci-libs/gdal/files/gdal-3.4.1-poppler-22.03.0.patch54
-rw-r--r--sci-libs/gdal/gdal-3.4.1.ebuild4
2 files changed, 56 insertions, 2 deletions
diff --git a/sci-libs/gdal/files/gdal-3.4.1-poppler-22.03.0.patch b/sci-libs/gdal/files/gdal-3.4.1-poppler-22.03.0.patch
new file mode 100644
index 000000000000..94640e046a1b
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.4.1-poppler-22.03.0.patch
@@ -0,0 +1,54 @@
+From 17e98757e78969a199d1d6318f53d088da192191 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Fri, 18 Feb 2022 22:47:01 +0100
+Subject: [PATCH] PDF: fix build against Poppler > 22.2
+
+---
+ frmts/pdf/pdfdataset.cpp | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/frmts/pdf/pdfdataset.cpp b/frmts/pdf/pdfdataset.cpp
+index 22238bd74822..08f8e31c86a7 100644
+--- a/frmts/pdf/pdfdataset.cpp
++++ b/frmts/pdf/pdfdataset.cpp
+@@ -4241,8 +4241,6 @@ PDFDataset *PDFDataset::Open( GDALOpenInfo * poOpenInfo )
+ #ifdef HAVE_POPPLER
+ if(bUseLib.test(PDFLIB_POPPLER))
+ {
+- GooString* poUserPwd = nullptr;
+-
+ static bool globalParamsCreatedByGDAL = false;
+ {
+ CPLMutexHolderD(&hGlobalParamsMutex);
+@@ -4310,9 +4308,6 @@ PDFDataset *PDFDataset::Open( GDALOpenInfo * poOpenInfo )
+ while( true )
+ {
+ VSIFSeekL(fp, 0, SEEK_SET);
+- if (pszUserPwd)
+- poUserPwd = new GooString(pszUserPwd);
+-
+ g_nPopplerErrors = 0;
+ if( globalParamsCreatedByGDAL )
+ registerErrorCallback();
+@@ -4322,10 +4317,20 @@ PDFDataset *PDFDataset::Open( GDALOpenInfo * poOpenInfo )
+ oObj.getObj()->initNull();
+ auto poStream = new VSIPDFFileStream(fp, pszFilename, oObj.getObj());
+ #endif
++#if POPPLER_MAJOR_VERSION > 22 || (POPPLER_MAJOR_VERSION == 22 && POPPLER_MINOR_VERSION > 2)
++ std::optional<GooString> osUserPwd;
++ if (pszUserPwd)
++ osUserPwd = std::optional<GooString>(pszUserPwd);
++ poDocPoppler = new PDFDoc(poStream, std::optional<GooString>(), osUserPwd);
++#else
++ GooString* poUserPwd = nullptr;
++ if (pszUserPwd)
++ poUserPwd = new GooString(pszUserPwd);
+ poDocPoppler = new PDFDoc(poStream, nullptr, poUserPwd);
++ delete poUserPwd;
++#endif
+ if( globalParamsCreatedByGDAL )
+ registerErrorCallback();
+- delete poUserPwd;
+ if( g_nPopplerErrors >= MAX_POPPLER_ERRORS )
+ {
+ PDFFreeDoc(poDocPoppler);
diff --git a/sci-libs/gdal/gdal-3.4.1.ebuild b/sci-libs/gdal/gdal-3.4.1.ebuild
index d78b7ddda904..904b9e2d0280 100644
--- a/sci-libs/gdal/gdal-3.4.1.ebuild
+++ b/sci-libs/gdal/gdal-3.4.1.ebuild
@@ -12,9 +12,8 @@ DESCRIPTION="Translator library for raster geospatial data formats (includes OGR
HOMEPAGE="https://gdal.org/"
SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
-# subslot is libgdal.so.<SONAME>
-SLOT="0/30"
LICENSE="BSD Info-ZIP MIT"
+SLOT="0/30" # subslot is libgdal.so.<SONAME>
KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="armadillo +aux-xml curl cpu_flags_x86_avx cpu_flags_x86_sse cpu_flags_x86_ssse3 debug doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mdb mysql netcdf odbc ogdi opencl oracle pdf perl png postgres python spatialite sqlite threads webp xls zstd"
@@ -92,6 +91,7 @@ PATCHES=(
"${FILESDIR}/${PN}-2.3.0-curl.patch" # bug 659840
"${FILESDIR}/${PN}-3.3.0-libdir.patch"
"${FILESDIR}/${P}-poppler-22.01.0-c++17.patch"
+ "${FILESDIR}/${P}-poppler-22.03.0.patch" # bug 834536
)
src_prepare() {