]> git.pld-linux.org Git - packages/gdal.git/commitdiff
- added poppler patch (backport from git + additional fix for 22.04); release 14 auto/th/gdal-3.0.4-14
authorJakub Bogusz <qboosh@pld-linux.org>
Fri, 15 Apr 2022 16:29:10 +0000 (18:29 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Fri, 15 Apr 2022 16:29:10 +0000 (18:29 +0200)
gdal-poppler.patch [new file with mode: 0644]
gdal.spec

diff --git a/gdal-poppler.patch b/gdal-poppler.patch
new file mode 100644 (file)
index 0000000..243c4ce
--- /dev/null
@@ -0,0 +1,74 @@
+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
+@@ -4101,8 +4101,6 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
+ #ifdef HAVE_POPPLER
+   if(bUseLib.test(PDFLIB_POPPLER))
+   {
+-    GooString* poUserPwd = nullptr;
+-
+     /* Set custom error handler for poppler errors */
+ #if POPPLER_MAJOR_VERSION >= 1 || POPPLER_MINOR_VERSION >= 85
+     setErrorCallback(PDFDatasetErrorFunction);
+@@ -4136,8 +4134,6 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
+     while( true )
+     {
+         VSIFSeekL(fp, 0, SEEK_SET);
+-        if (pszUserPwd)
+-            poUserPwd = new GooString(pszUserPwd);
+ #if POPPLER_MAJOR_VERSION >= 1 || POPPLER_MINOR_VERSION >= 58
+         auto poStream = new VSIPDFFileStream(fp, pszFilename, std::move(oObj));
+@@ -4145,8 +4141,18 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
+         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 ( !poDocPoppler->isOk() || poDocPoppler->getNumPages() == 0 )
+         {
+--- gdal-3.0.4/frmts/pdf/pdfdataset.cpp.orig   2022-04-15 17:08:03.072819386 +0200
++++ gdal-3.0.4/frmts/pdf/pdfdataset.cpp        2022-04-15 17:43:26.613241927 +0200
+@@ -4837,7 +4837,11 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
+ #ifdef HAVE_POPPLER
+   if (bUseLib.test(PDFLIB_POPPLER))
+   {
++#if POPPLER_MAJOR_VERSION > 22 || (POPPLER_MAJOR_VERSION == 22 && POPPLER_MINOR_VERSION > 3)
++    std::unique_ptr<GooString> poMetadata = poCatalogPoppler->readMetadata();
++#else
+     GooString* poMetadata = poCatalogPoppler->readMetadata();
++#endif
+     if (poMetadata)
+     {
+ #if (POPPLER_MAJOR_VERSION >= 1 || POPPLER_MINOR_VERSION >= 72)
+@@ -4851,7 +4855,9 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
+             const char * const apszMDList[2] = { pszContent, nullptr };
+             poDS->SetMetadata(const_cast<char**>(apszMDList), "xml:XMP");
+         }
++#if POPPLER_MAJOR_VERSION < 22 || (POPPLER_MAJOR_VERSION == 22 && POPPLER_MINOR_VERSION < 4)
+         delete poMetadata;
++#endif
+     }
+     /* Read Info object */
index 0fa90995d0e977a51df7aed104cb511b47e7060e..f8109483b116569469eb5357f9e3d8d20e783b27 100644 (file)
--- a/gdal.spec
+++ b/gdal.spec
@@ -50,7 +50,7 @@ Summary:      Geospatial Data Abstraction Library
 Summary(pl.UTF-8):     Biblioteka abstrakcji danych dotyczących powierzchni Ziemi
 Name:          gdal
 Version:       3.0.4
-Release:       13
+Release:       14
 License:       BSD-like
 Group:         Libraries
 Source0:       https://github.com/OSGeo/gdal/releases/download/v%{version}/%{name}-%{version}.tar.gz
@@ -61,6 +61,7 @@ Patch2:               %{name}-dds.patch
 Patch3:                %{name}-rasdaman.patch
 Patch4:                %{name}-pluginsdir.patch
 Patch5:                libx32.patch
+Patch6:                %{name}-poppler.patch
 Patch7:                decl.patch
 Patch8:                %{name}_tirpcinc.patch
 Patch9:                jasper.patch
@@ -275,6 +276,7 @@ Moduł Pythona GDAL.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 %patch7 -p1
 %patch8 -p1
 %patch9 -p2
This page took 0.053069 seconds and 4 git commands to generate.