[packages/gdal] - changed format-security patch to change swig input instead of generated files - added openjpeg2 pa
qboosh
qboosh at pld-linux.org
Mon Jan 7 17:19:51 CET 2013
commit c9c082800f13f860f47e22c28148474c1c46588c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Jan 7 17:19:55 2013 +0100
- changed format-security patch to change swig input instead of generated files
- added openjpeg2 patch to adjust openjpeg filter for final openjpeg 2.0; enable openjpeg support
- added hdf4-eos patch to fix build with internal (modified) hdf-eos also when system hdf-eos is installed
gdal-format-security.patch | 1086 +-------------------------------------------
gdal-hdf4-eos.patch | 11 +
gdal-openjpeg2.patch | 241 ++++++++++
gdal.spec | 9 +-
4 files changed, 271 insertions(+), 1076 deletions(-)
---
diff --git a/gdal.spec b/gdal.spec
index ff0b8f3..c1f0adc 100644
--- a/gdal.spec
+++ b/gdal.spec
@@ -28,6 +28,7 @@
%bcond_without mysql # MySQL DB support
%bcond_without odbc # ODBC DB support
%bcond_without opencl # OpenCL (GPU) support
+%bcond_without openjpeg # OpenJPEG 2 (JPEG2000) support
%bcond_with podofo # PDF support via podofo instead of poppler
%bcond_without poppler # PDF support via poppler
%bcond_without spatialite # SpatiaLite support
@@ -53,6 +54,8 @@ Patch1: %{name}-python_install.patch
Patch2: %{name}-php.patch
Patch3: %{name}-fpic.patch
Patch4: %{name}-format-security.patch
+Patch5: %{name}-openjpeg2.patch
+Patch6: %{name}-hdf4-eos.patch
URL: http://www.gdal.org/
%{?with_opencl:BuildRequires: OpenCL-devel >= 1.0}
%{?with_armadillo:BuildRequires: armadillo-devel}
@@ -88,6 +91,7 @@ BuildRequires: libxml2-devel
%{?with_mysql:BuildRequires: mysql-devel}
BuildRequires: netcdf-devel >= 4.1
BuildRequires: ogdi-devel >= 3.1
+%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.0.0-2}
#BuildRequires: pcidsk-devel > 0.3
BuildRequires: perl-devel
%{?with_php:BuildRequires: php-devel}
@@ -169,6 +173,7 @@ Requires: libxml2-devel
%{?with_mysql:Requires: mysql-devel}
Requires: netcdf-devel >= 4
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}
@@ -256,6 +261,9 @@ osr.
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -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}
@@ -303,7 +311,6 @@ osr.
%{__make} -j1 -C swig/perl generate
%if %{with ruby}
%{__make} -j1 -C swig/ruby generate
-%patch4 -p1
%endif
%{__make} -j1
diff --git a/gdal-format-security.patch b/gdal-format-security.patch
index cd10998..2783f10 100644
--- a/gdal-format-security.patch
+++ b/gdal-format-security.patch
@@ -1,1075 +1,11 @@
---- gdal-1.9.2/swig/ruby/ogr_wrap.cpp.orig 2012-11-18 19:58:26.045113264 +0100
-+++ gdal-1.9.2/swig/ruby/ogr_wrap.cpp 2012-11-18 20:20:52.904032656 +0100
-@@ -4264,7 +4264,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4327,7 +4327,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5152,7 +5152,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -5601,7 +5601,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5677,7 +5677,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5753,7 +5753,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5824,7 +5824,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5887,7 +5887,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6088,7 +6088,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6259,7 +6259,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6330,7 +6330,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6409,7 +6409,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6493,7 +6493,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6597,7 +6597,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6660,7 +6660,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6723,7 +6723,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6786,7 +6786,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6969,7 +6969,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7247,7 +7247,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7316,7 +7316,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8928,7 +8928,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -10334,7 +10334,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -10439,7 +10439,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -13371,7 +13371,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -13477,7 +13477,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -13884,7 +13884,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -13960,7 +13960,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -16769,7 +16769,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -16845,7 +16845,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -17677,7 +17677,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
---- gdal-1.9.2/swig/ruby/osr_wrap.cpp~ 2012-11-18 19:48:51.125133547 +0100
-+++ gdal-1.9.2/swig/ruby/osr_wrap.cpp 2012-11-18 20:40:20.190658146 +0100
-@@ -2587,7 +2587,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -2659,7 +2659,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -3219,7 +3219,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3330,7 +3330,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3390,7 +3390,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3481,7 +3481,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3541,7 +3541,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3599,7 +3599,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -3771,7 +3771,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -3868,7 +3868,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
-@@ -3904,7 +3904,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -3947,7 +3947,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -4005,7 +4005,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -4113,7 +4113,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -4322,7 +4322,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4391,7 +4391,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4460,7 +4460,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4529,7 +4529,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4598,7 +4598,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4683,7 +4683,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4744,7 +4744,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4805,7 +4805,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4874,7 +4874,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -4951,7 +4951,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5028,7 +5028,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5089,7 +5089,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5150,7 +5150,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5184,7 +5184,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5253,7 +5253,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5322,7 +5322,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5415,7 +5415,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5516,7 +5516,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5609,7 +5609,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5678,7 +5678,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5763,7 +5763,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5840,7 +5840,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5925,7 +5925,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -5994,7 +5994,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6071,7 +6071,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6132,7 +6132,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6201,7 +6201,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6278,7 +6278,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6347,7 +6347,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6416,7 +6416,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6493,7 +6493,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6554,7 +6554,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6615,7 +6615,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6692,7 +6692,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6761,7 +6761,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6838,7 +6838,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -6924,7 +6924,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -6995,7 +6995,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7072,7 +7072,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7133,7 +7133,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7181,7 +7181,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7231,7 +7231,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7280,7 +7280,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7378,7 +7378,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7418,7 +7418,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7474,7 +7474,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7595,7 +7595,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7655,7 +7655,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7707,7 +7707,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7775,7 +7775,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7853,7 +7853,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7897,7 +7897,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -7940,7 +7940,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -7990,7 +7990,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -8040,7 +8040,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8092,7 +8092,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8134,7 +8134,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8215,7 +8215,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -8308,7 +8308,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8351,7 +8351,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -8424,7 +8424,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -8473,7 +8473,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
-@@ -8515,7 +8515,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8589,7 +8589,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8653,7 +8653,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8729,7 +8729,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -8852,7 +8852,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- if (SWIG_IsTmpObj(res2)) {
-@@ -8944,7 +8944,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9010,7 +9010,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9116,7 +9116,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9150,7 +9150,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9184,7 +9184,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9218,7 +9218,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9252,7 +9252,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
-@@ -9286,7 +9286,7 @@
- {
- /* %typemap(out) OGRErr */
- if (result != 0) {
-- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
-+ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
- }
- }
- {
+--- gdal-1.9.2/swig/include/ruby/typemaps_ruby.i.orig 2012-10-09 02:58:28.000000000 +0200
++++ gdal-1.9.2/swig/include/ruby/typemaps_ruby.i 2013-01-06 15:12:18.221272187 +0100
+@@ -127,7 +127,7 @@
+ {
+ /* %typemap(out) OGRErr */
+ if ($1 != 0) {
+- rb_raise(rb_eRuntimeError, OGRErrMessages(result));
++ rb_raise(rb_eRuntimeError, "%s", OGRErrMessages(result));
+ }
+ }
+
diff --git a/gdal-hdf4-eos.patch b/gdal-hdf4-eos.patch
new file mode 100644
index 0000000..b72effd
--- /dev/null
+++ b/gdal-hdf4-eos.patch
@@ -0,0 +1,11 @@
+--- gdal-1.9.2/frmts/hdf4/GNUmakefile.orig 2012-10-09 02:58:26.000000000 +0200
++++ gdal-1.9.2/frmts/hdf4/GNUmakefile 2013-01-06 21:13:02.687487717 +0100
+@@ -12,7 +12,7 @@
+ HDFEOS_OPTS := -Ihdf-eos $(HDFEOS_OPTS)
+ endif
+
+-CPPFLAGS := -I../pds $(GDAL_INCLUDE) $(HDF4_INCLUDE) $(HDFEOS_OPTS) $(CPPFLAGS)
++CPPFLAGS := -I../pds $(GDAL_INCLUDE) $(HDFEOS_OPTS) $(HDF4_INCLUDE) $(CPPFLAGS)
+
+ default: $(OBJ:.o=.$(OBJ_EXT)) $(SUBLIBS)
+
diff --git a/gdal-openjpeg2.patch b/gdal-openjpeg2.patch
new file mode 100644
index 0000000..87834c7
--- /dev/null
+++ b/gdal-openjpeg2.patch
@@ -0,0 +1,241 @@
+--- gdal-1.9.2/configure.in.orig 2013-01-06 15:03:02.347950440 +0100
++++ gdal-1.9.2/configure.in 2013-01-06 15:06:03.784613325 +0100
+@@ -1644,20 +1644,20 @@
+
+ elif test "$with_openjpeg" = "yes" -o "$with_openjpeg" = "" ; then
+
+- AC_CHECK_LIB(openjpeg,opj_decode_tile_data,HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,)
+- AC_CHECK_HEADERS(openjpeg.h)
++ AC_CHECK_LIB(openjp2,opj_decode_tile_data,HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,)
++ AC_CHECK_HEADERS(openjpeg-2.0/openjpeg.h)
+
+- if test "$ac_cv_header_openjpeg_h" = "no"; then
++ if test "$ac_cv_header_openjpeg_2_0_openjpeg_h" = "no"; then
+ HAVE_OPENJPEG=no
+ fi
+
+ if test "$HAVE_OPENJPEG" = "yes" ; then
+- LIBS="-lopenjpeg $LIBS"
++ LIBS="-lopenjp2 $LIBS"
+ fi
+ else
+
+ HAVE_OPENJPEG=yes
+- LIBS="-L$with_openjpeg -L$with_openjpeg/lib -lopenjpeg $LIBS"
++ LIBS="-L$with_openjpeg -L$with_openjpeg/lib -lopenjp2 $LIBS"
+ if test -r $with_openjpeg/include/openjpeg-2.0/openjpeg.h ; then
+ EXTRA_INCLUDES="-I$with_openjpeg/include/openjpeg-2.0 $EXTRA_INCLUDES"
+ elif test -r $with_openjpeg/include/openjpeg.h ; then
+@@ -1668,7 +1668,7 @@
+ AC_MSG_ERROR([openjpeg.h not found in $with_openjpeg/include or $with_openjpeg/include/openjpeg-2.0])
+ fi
+
+- AC_CHECK_LIB(openjpeg,opj_decode_tile_data,HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,)
++ AC_CHECK_LIB(openjp2,opj_decode_tile_data,HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,)
+
+ if test "$HAVE_OPENJPEG" = "yes" ; then
+ AC_MSG_NOTICE([using OpenJPEG library from $with_openjpeg.])
+--- gdal-1.9.2/frmts/openjpeg/openjpegdataset.cpp.orig 2012-10-09 02:58:27.000000000 +0200
++++ gdal-1.9.2/frmts/openjpeg/openjpegdataset.cpp 2013-01-06 15:06:51.307945668 +0100
+@@ -37,7 +37,7 @@
+ /* and when calling openjpeg API from the driver, we have to replace bool by int also */
+ #define bool int
+ #define GDAL_OPENJPEG_BOOL int
+-#include <openjpeg.h>
++#include <openjpeg-2.0/openjpeg.h>
+ #undef bool /* undef now, so that later includes are happy */
+
+ #include "gdal_pam.h"
+--- gdal-1.9.2/frmts/openjpeg/openjpegdataset.cpp.orig 2013-01-06 16:55:59.004475860 +0100
++++ gdal-1.9.2/frmts/openjpeg/openjpegdataset.cpp 2013-01-06 18:46:00.987671587 +0100
+@@ -107,7 +107,7 @@
+ /* JP2OpenJPEGDataset_Seek() */
+ /************************************************************************/
+
+-static GDAL_OPENJPEG_BOOL JP2OpenJPEGDataset_Seek(OPJ_SIZE_T nBytes, void * pUserData)
++static GDAL_OPENJPEG_BOOL JP2OpenJPEGDataset_Seek(OPJ_OFF_T nBytes, void * pUserData)
+ {
+ #ifdef DEBUG
+ CPLDebug("OPENJPEG", "JP2OpenJPEGDataset_Seek(%d)", nBytes);
+@@ -119,7 +119,7 @@
+ /* JP2OpenJPEGDataset_Skip() */
+ /************************************************************************/
+
+-static OPJ_SIZE_T JP2OpenJPEGDataset_Skip(OPJ_SIZE_T nBytes, void * pUserData)
++static OPJ_OFF_T JP2OpenJPEGDataset_Skip(OPJ_OFF_T nBytes, void * pUserData)
+ {
+ vsi_l_offset nOffset = VSIFTellL((VSILFILE*)pUserData);
+ nOffset += nBytes;
+@@ -332,10 +332,7 @@
+ opj_stream_set_user_data(pStream, poGDS->fp);
+
+ opj_image_t * psImage = NULL;
+- OPJ_INT32 nX0,nY0;
+- OPJ_UINT32 nTileW,nTileH,nTilesX,nTilesY;
+- if(!opj_read_header(pCodec, &psImage, &nX0, &nY0, &nTileW, &nTileH,
+- &nTilesX, &nTilesY, pStream))
++ if(!opj_read_header(pStream, pCodec, &psImage))
+ {
+ CPLError(CE_Failure, CPLE_AppDefined, "opj_read_header() failed");
+ opj_destroy_codec(pCodec);
+@@ -343,7 +340,7 @@
+ return CE_Failure;
+ }
+
+- if (!opj_set_decode_area(pCodec,
++ if (!opj_set_decode_area(pCodec, psImage,
+ nBlockXOff * nBlockXSize,
+ nBlockYOff * nBlockYSize,
+ nBlockXOff * nBlockXSize + nWidthToRead,
+@@ -378,9 +375,9 @@
+
+ do
+ {
+- if (!opj_read_tile_header(pCodec, &nTileIndex, &nRequiredSize,
++ if (!opj_read_tile_header(pCodec, pStream, &nTileIndex, &nRequiredSize,
+ &nTileX0, &nTileY0, &nTileX1, &nTileY1,
+- &nCompCount, &bDataToUncompress, pStream))
++ &nCompCount, &bDataToUncompress))
+ {
+ CPLError(CE_Failure, CPLE_AppDefined, "opj_read_tile_header() failed");
+ CPLFree(pTempBuffer);
+@@ -494,7 +491,7 @@
+ {
+ JP2OpenJPEGDataset *poGDS = (JP2OpenJPEGDataset *) poDS;
+
+- if (poGDS->eColorSpace == CLRSPC_GRAY)
++ if (poGDS->eColorSpace == OPJ_CLRSPC_GRAY)
+ return GCI_GrayIndex;
+ else if (poGDS->nBands == 3 || poGDS->nBands == 4)
+ {
+@@ -541,8 +538,8 @@
+ adfGeoTransform[4] = 0.0;
+ adfGeoTransform[5] = 1.0;
+ bLoadingOtherBands = FALSE;
+- eCodecFormat = CODEC_UNKNOWN;
+- eColorSpace = CLRSPC_UNKNOWN;
++ eCodecFormat = OPJ_CODEC_UNKNOWN;
++ eColorSpace = OPJ_CLRSPC_UNKNOWN;
+ bIs420 = FALSE;
+ pFullBuffer = NULL;
+ }
+@@ -676,9 +673,9 @@
+ static const unsigned char jpc_header[] = {0xff,0x4f};
+ if (memcmp( poOpenInfo->pabyHeader, jpc_header,
+ sizeof(jpc_header) ) == 0)
+- eCodecFormat = CODEC_J2K;
++ eCodecFormat = OPJ_CODEC_J2K;
+ else
+- eCodecFormat = CODEC_JP2;
++ eCodecFormat = OPJ_CODEC_JP2;
+
+ opj_codec_t* pCodec = opj_create_decompress(eCodecFormat);
+
+@@ -703,10 +700,8 @@
+ opj_stream_set_user_data(pStream, fp);
+
+ opj_image_t * psImage = NULL;
+- OPJ_INT32 nX0,nY0;
+- OPJ_UINT32 nTileW,nTileH,nTilesX,nTilesY;
+- if(!opj_read_header(pCodec, &psImage, &nX0, &nY0, &nTileW, &nTileH,
+- &nTilesX, &nTilesY, pStream))
++ OPJ_UINT32 nTileW,nTileH;
++ if(!opj_read_header(pStream, pCodec, &psImage))
+ {
+ CPLError(CE_Failure, CPLE_AppDefined, "opj_read_header() failed");
+ opj_destroy_codec(pCodec);
+@@ -725,10 +720,21 @@
+ return NULL;
+ }
+
++ opj_codestream_info_v2_t *csinfo = opj_get_cstr_info(pCodec);
++ if (csinfo == NULL)
++ {
++ opj_destroy_codec(pCodec);
++ opj_stream_destroy(pStream);
++ opj_image_destroy(psImage);
++ VSIFCloseL(fp);
++ return NULL;
++ }
++ nTileW = csinfo->tdx;
++ nTileH = csinfo->tdy;
++ opj_destroy_cstr_info(&csinfo);
++
+ #ifdef DEBUG
+ int i;
+- CPLDebug("OPENJPEG", "nX0 = %d", nX0);
+- CPLDebug("OPENJPEG", "nY0 = %d", nY0);
+ CPLDebug("OPENJPEG", "nTileW = %d", nTileW);
+ CPLDebug("OPENJPEG", "nTileH = %d", nTileH);
+ CPLDebug("OPENJPEG", "psImage->x0 = %d", psImage->x0);
+@@ -780,7 +786,7 @@
+ eDataType = GDT_UInt16;
+ }
+
+- int bIs420 = (psImage->color_space != CLRSPC_SRGB &&
++ int bIs420 = (psImage->color_space != OPJ_CLRSPC_SRGB &&
+ eDataType == GDT_Byte &&
+ psImage->numcomps == 3 &&
+ psImage->comps[1].w == psImage->comps[0].w / 2 &&
+@@ -932,14 +938,14 @@
+ /* -------------------------------------------------------------------- */
+ /* Analyze creation options. */
+ /* -------------------------------------------------------------------- */
+- OPJ_CODEC_FORMAT eCodecFormat = CODEC_J2K;
++ OPJ_CODEC_FORMAT eCodecFormat = OPJ_CODEC_J2K;
+ const char* pszCodec = CSLFetchNameValueDef(papszOptions, "CODEC", NULL);
+ if (pszCodec)
+ {
+ if (EQUAL(pszCodec, "JP2"))
+- eCodecFormat = CODEC_JP2;
++ eCodecFormat = OPJ_CODEC_JP2;
+ else if (EQUAL(pszCodec, "J2K"))
+- eCodecFormat = CODEC_J2K;
++ eCodecFormat = OPJ_CODEC_J2K;
+ else
+ {
+ CPLError(CE_Warning, CPLE_NotSupported,
+@@ -952,7 +958,7 @@
+ if (strlen(pszFilename) > 4 &&
+ EQUAL(pszFilename + strlen(pszFilename) - 4, ".JP2"))
+ {
+- eCodecFormat = CODEC_JP2;
++ eCodecFormat = OPJ_CODEC_JP2;
+ }
+ }
+
+@@ -971,19 +977,19 @@
+ if (nYSize < nBlockYSize)
+ nBlockYSize = nYSize;
+
+- OPJ_PROG_ORDER eProgOrder = LRCP;
++ OPJ_PROG_ORDER eProgOrder = OPJ_LRCP;
+ const char* pszPROGORDER =
+ CSLFetchNameValueDef(papszOptions, "PROGRESSION", "LRCP");
+ if (EQUAL(pszPROGORDER, "LRCP"))
+- eProgOrder = LRCP;
++ eProgOrder = OPJ_LRCP;
+ else if (EQUAL(pszPROGORDER, "RLCP"))
+- eProgOrder = RLCP;
++ eProgOrder = OPJ_RLCP;
+ else if (EQUAL(pszPROGORDER, "RPCL"))
+- eProgOrder = RPCL;
++ eProgOrder = OPJ_RPCL;
+ else if (EQUAL(pszPROGORDER, "PCRL"))
+- eProgOrder = PCRL;
++ eProgOrder = OPJ_PCRL;
+ else if (EQUAL(pszPROGORDER, "CPRL"))
+- eProgOrder = CPRL;
++ eProgOrder = OPJ_CPRL;
+ else
+ {
+ CPLError(CE_Warning, CPLE_NotSupported,
+@@ -1097,7 +1103,7 @@
+ opj_set_warning_handler(pCodec, JP2OpenJPEGDataset_WarningCallback,NULL);
+ opj_set_error_handler(pCodec, JP2OpenJPEGDataset_ErrorCallback,NULL);
+
+- OPJ_COLOR_SPACE eColorSpace = (bResample) ? CLRSPC_SYCC : (nBands == 3) ? CLRSPC_SRGB : CLRSPC_GRAY;
++ OPJ_COLOR_SPACE eColorSpace = (bResample) ? OPJ_CLRSPC_SYCC : (nBands == 3) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_GRAY;
+ opj_image_t* psImage = opj_image_tile_create(nBands,pasBandParams,
+ eColorSpace);
+ CPLFree(pasBandParams);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gdal.git/commitdiff/c9c082800f13f860f47e22c28148474c1c46588c
More information about the pld-cvs-commit
mailing list