[packages/gdal] - added poppler patch (fixes build with poppler 0.24+)
qboosh
qboosh at pld-linux.org
Fri Sep 27 21:39:53 CEST 2013
commit 0077f8570a557302ee7658b26b83c208f12b52dd
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Sep 27 21:40:25 2013 +0200
- added poppler patch (fixes build with poppler 0.24+)
gdal-poppler.patch | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++
gdal.spec | 6 ++-
2 files changed, 125 insertions(+), 2 deletions(-)
---
diff --git a/gdal.spec b/gdal.spec
index 0acccc4..54074c5 100644
--- a/gdal.spec
+++ b/gdal.spec
@@ -55,6 +55,7 @@ Patch3: %{name}-fpic.patch
Patch4: %{name}-format-security.patch
Patch5: %{name}-openjpeg2.patch
Patch6: %{name}-hdf4-eos.patch
+Patch7: %{name}-poppler.patch
URL: http://www.gdal.org/
%{?with_opencl:BuildRequires: OpenCL-devel >= 1.0}
%{?with_armadillo:BuildRequires: armadillo-devel}
@@ -95,7 +96,7 @@ BuildRequires: ogdi-devel >= 3.1
BuildRequires: perl-devel
%{?with_php:BuildRequires: php-devel}
%{?with_podofo:BuildRequires: podofo-devel}
-%{?with_poppler:BuildRequires: poppler-devel}
+%{?with_poppler:BuildRequires: poppler-devel >= 0.24}
# ensure it's compiled with PQescapeStringConn support
BuildRequires: postgresql-backend-devel >= 8.1.4
BuildRequires: postgresql-devel >= 8.1.4
@@ -176,7 +177,7 @@ Requires: ogdi-devel >= 3.1
%{?with_openjpeg:Requires: openjpeg2-devel >= 2.0.0-2}
#Requires: pcidsk-devel > 0.3
%{?with_podofo:Requires: podofo-devel}
-%{?with_poppler:Requires: poppler-devel}
+%{?with_poppler:Requires: poppler-devel >= 0.24}
Requires: postgresql-devel
Requires: proj-devel >= 4
Requires: sqlite3-devel >= 3.0.0
@@ -263,6 +264,7 @@ osr.
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
# need to regenerate (old ones don't support perl 5.10)
%{__rm} swig/perl/{gdal_wrap.cpp,gdalconst_wrap.c,ogr_wrap.cpp,osr_wrap.cpp}
diff --git a/gdal-poppler.patch b/gdal-poppler.patch
new file mode 100644
index 0000000..58e2522
--- /dev/null
+++ b/gdal-poppler.patch
@@ -0,0 +1,121 @@
+--- gdal-1.9.2/frmts/pdf/pdfio.h.orig 2013-09-27 19:25:21.549930220 +0200
++++ gdal-1.9.2/frmts/pdf/pdfio.h 2013-09-27 19:50:28.013200337 +0200
+@@ -55,10 +55,11 @@
+ Guint lengthA, Object *dictA);
+ virtual ~VSIPDFFileStream();
+
+- virtual Stream * makeSubStream(Guint startA, GBool limitedA,
+- Guint lengthA, Object *dictA);
+- virtual int getPos();
+- virtual Guint getStart();
++ virtual BaseStream *copy();
++ virtual Stream * makeSubStream(Goffset startA, GBool limitedA,
++ Goffset lengthA, Object *dictA);
++ virtual Goffset getPos();
++ virtual Goffset getStart();
+ virtual StreamKind getKind();
+ virtual GooString *getFileName();
+
+@@ -69,8 +70,8 @@
+ virtual void reset();
+ virtual void unfilteredReset ();
+ virtual void close();
+- virtual void setPos(Guint pos, int dir = 0);
+- virtual void moveStart(int delta);
++ virtual void setPos(Goffset pos, int dir = 0);
++ virtual void moveStart(Goffset delta);
+
+ private:
+ VSIPDFFileStream *poParent;
+--- gdal-1.9.2/configure.in.orig 2013-09-27 19:03:37.856651598 +0200
++++ gdal-1.9.2/configure.in 2013-09-27 19:24:36.179932130 +0200
+@@ -3000,10 +3000,10 @@
+ echo 'public:' >> testpoppler.cpp
+ echo ' TestStream() : BaseStream(0,0) {}' >> testpoppler.cpp
+ echo ' ~TestStream() {}' >> testpoppler.cpp
+- echo ' virtual Stream *makeSubStream(Guint start, GBool limited, Guint length, Object *dict) { return 0; }' >> testpoppler.cpp
+- echo ' virtual void setPos(Guint pos, int dir = 0) { }' >> testpoppler.cpp
+- echo ' virtual Guint getStart() { return 0; }' >> testpoppler.cpp
+- echo ' virtual void moveStart(int delta) { }' >> testpoppler.cpp
++ echo ' virtual Stream *makeSubStream(Goffset start, GBool limited, Goffset length, Object *dict) { return 0; }' >> testpoppler.cpp
++ echo ' virtual void setPos(Goffset pos, int dir = 0) { }' >> testpoppler.cpp
++ echo ' virtual Goffset getStart() { return 0; }' >> testpoppler.cpp
++ echo ' virtual void moveStart(Goffset delta) { }' >> testpoppler.cpp
+ echo '};' >> testpoppler.cpp
+ echo 'int main(int argc, char** argv) { return 0; }' >> testpoppler.cpp
+ if test -z "`${CXX} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then
+--- gdal-1.9.2/frmts/pdf/pdfdataset.cpp.orig 2012-10-09 02:58:26.000000000 +0200
++++ gdal-1.9.2/frmts/pdf/pdfdataset.cpp 2013-09-27 19:40:31.413225370 +0200
+@@ -522,12 +522,12 @@
+
+ #ifdef USE_POPPLER
+ #ifdef POPPLER_0_20_OR_LATER
+-static void PDFDatasetErrorFunction(void* userData, ErrorCategory eErrCatagory, int nPos, char *pszMsg)
++static void PDFDatasetErrorFunction(void* userData, ErrorCategory eErrCatagory, Goffset nPos, char *pszMsg)
+ {
+ CPLString osError;
+
+ if (nPos >= 0)
+- osError.Printf("Pos = %d, ", nPos);
++ osError.Printf("Pos = %lld, ", (long long)nPos);
+ osError += pszMsg;
+
+ if (strcmp(osError.c_str(), "Incorrect password") == 0)
+--- gdal-1.9.2/frmts/pdf/pdfio.cpp.orig 2012-10-09 02:58:26.000000000 +0200
++++ gdal-1.9.2/frmts/pdf/pdfio.cpp 2013-09-27 20:31:25.879764002 +0200
+@@ -102,12 +102,17 @@
+ }
+ }
+
++BaseStream *VSIPDFFileStream::copy()
++{
++ return new VSIPDFFileStream(*this);
++}
++
+ /************************************************************************/
+ /* makeSubStream() */
+ /************************************************************************/
+
+-Stream *VSIPDFFileStream::makeSubStream(Guint startA, GBool limitedA,
+- Guint lengthA, Object *dictA)
++Stream *VSIPDFFileStream::makeSubStream(Goffset startA, GBool limitedA,
++ Goffset lengthA, Object *dictA)
+ {
+ return new VSIPDFFileStream(this,
+ startA, limitedA,
+@@ -118,7 +123,7 @@
+ /* getPos() */
+ /************************************************************************/
+
+-int VSIPDFFileStream::getPos()
++Goffset VSIPDFFileStream::getPos()
+ {
+ return nCurrentPos;
+ }
+@@ -127,7 +132,7 @@
+ /* getStart() */
+ /************************************************************************/
+
+-Guint VSIPDFFileStream::getStart()
++Goffset VSIPDFFileStream::getStart()
+ {
+ return nStart;
+ }
+@@ -273,7 +278,7 @@
+ /* setPos() */
+ /************************************************************************/
+
+-void VSIPDFFileStream::setPos(Guint pos, int dir)
++void VSIPDFFileStream::setPos(Goffset pos, int dir)
+ {
+ if (dir >= 0)
+ {
+@@ -301,7 +306,7 @@
+ /* moveStart() */
+ /************************************************************************/
+
+-void VSIPDFFileStream::moveStart(int delta)
++void VSIPDFFileStream::moveStart(Goffset delta)
+ {
+ nStart += delta;
+ VSIFSeekL(f, nCurrentPos = nStart, SEEK_SET);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gdal.git/commitdiff/0077f8570a557302ee7658b26b83c208f12b52dd
More information about the pld-cvs-commit
mailing list