[gdal: 1/3] Use system g2clib

Orion Poplawski orion at fedoraproject.org
Wed Apr 25 16:23:33 UTC 2012


commit 718e29b805a89a0c4f8a41305a947e869e6b1d69
Author: Orion Poplawski <orion at cora.nwra.com>
Date:   Tue Mar 13 08:57:23 2012 -0600

    Use system g2clib

 gdal-g2clib.patch |   67 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 gdal.spec         |    7 +++++
 2 files changed, 74 insertions(+), 0 deletions(-)
---
diff --git a/gdal-g2clib.patch b/gdal-g2clib.patch
new file mode 100644
index 0000000..c53c78e
--- /dev/null
+++ b/gdal-g2clib.patch
@@ -0,0 +1,67 @@
+diff -up gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/engribapi.c.g2clib gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/engribapi.c
+--- gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/engribapi.c.g2clib	2012-01-04 00:03:34.000000000 -0700
++++ gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/engribapi.c	2012-03-09 12:54:58.582531620 -0700
+@@ -419,7 +419,6 @@ int fillSect3 (enGribMeta *en, uShort2 t
+                double meshLat, double orientLon, double scaleLat1,
+                double scaleLat2, double southLat, double southLon)
+ {
+-   const struct gridtemplate *templatesgrid = get_templatesgrid();
+    int i;               /* loop counter over number of GDS templates. */
+    double unit;         /* Used to convert from stored value to degrees
+                          * lat/lon. See GRIB2 Regulation 92.1.6 */
+@@ -641,7 +640,6 @@ int fillSect4_0 (enGribMeta *en, uShort2
+                  double dSurfVal2)
+ {
+    int i;               /* loop counter over number of PDS templates. */
+-   const struct pdstemplate *templatespds = get_templatespds();
+ 
+    /* analysis template (0) */
+    /* In addition templates (1, 2, 5, 8, 9, 12) begin with 4.0 info. */
+@@ -1197,7 +1195,6 @@ int fillSect5 (enGribMeta *en, uShort2 t
+                uChar orderOfDiff)
+ {
+    int i;               /* loop counter over number of DRS templates. */
+-   const struct drstemplate *templatesdrs = get_templatesdrs();
+ 
+    /* Find NCEP's template match */
+    for (i = 0; i < MAXDRSTEMP; i++) {
+diff -up gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/grib2api.c.g2clib gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/grib2api.c
+--- gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/grib2api.c.g2clib	2012-01-04 00:03:34.000000000 -0700
++++ gdal-1.9.0-fedora/frmts/grib/degrib18/degrib/grib2api.c	2012-03-09 12:55:38.686097396 -0700
+@@ -958,7 +958,6 @@ void unpk_g2ncep (sInt4 * kfildo, float
+    }
+    curIndex = 14;
+    for (i = 0; i < gfld->igdtlen; i++) {
+-      const struct gridtemplate *templatesgrid = get_templatesgrid();
+       is3[curIndex] = gfld->igdtmpl[i];
+       curIndex += abs (templatesgrid[gridIndex].mapgrid[i]);
+    }
+@@ -1026,7 +1025,6 @@ void unpk_g2ncep (sInt4 * kfildo, float
+    }
+    curIndex = 9;
+    for (i = 0; i < gfld->ipdtlen; i++) {
+-      const struct pdstemplate *templatespds = get_templatespds();
+       is4[curIndex] = gfld->ipdtmpl[i];
+       curIndex += abs (templatespds[pdsIndex].mappds[i]);
+    }
+@@ -1044,7 +1042,6 @@ void unpk_g2ncep (sInt4 * kfildo, float
+    }
+    curIndex = 11;
+    for (i = 0; i < gfld->idrtlen; i++) {
+-      const struct drstemplate *templatesdrs = get_templatesdrs();
+       is5[curIndex] = gfld->idrtmpl[i];
+       curIndex += abs (templatesdrs[drsIndex].mapdrs[i]);
+    }
+diff -up gdal-1.9.0-fedora/frmts/grib/GNUmakefile.g2clib gdal-1.9.0-fedora/frmts/grib/GNUmakefile
+--- gdal-1.9.0-fedora/frmts/grib/GNUmakefile.g2clib	2012-01-04 00:03:34.000000000 -0700
++++ gdal-1.9.0-fedora/frmts/grib/GNUmakefile	2012-03-09 12:05:14.050311275 -0700
+@@ -7,8 +7,7 @@ include ../../GDALmake.opt
+ OBJ	=	gribdataset.o \
+                 clock.o \
+                 degrib1.o \
+-                degrib2.o inventory.o metaname.o myerror.o tdlpack.o filedatasource.o memorydatasource.o grib1tab.o myutil.o metaparse.o weather.o metaprint.o engribapi.o grib2api.o myassert.o scan.o memendian.o fileendian.o gridtemplates.o drstemplates.o pdstemplates.o gbits.o g2_free.o g2_unpack1.o g2_unpack2.o g2_unpack3.o g2_unpack4.o g2_unpack5.o g2_unpack6.o g2_unpack7.o g2_info.o g2_getfld.o simunpack.o comunpack.o pack_gp.o reduce.o specpack.o specunpack.o rdieee.o mkieee.o int_power.o simpack.o compack.o cmplxpack.o misspack.o g2_create.o g2_addlocal.o g2_addgrid.o g2_addfield.o g2_gribend.o getdim.o g2_miss.o getpoly.o seekgb.o \
+-		dec_jpeg2000.o jpcunpack.o jpcpack.o enc_jpeg2000.o
++                degrib2.o inventory.o metaname.o myerror.o tdlpack.o filedatasource.o memorydatasource.o grib1tab.o myutil.o metaparse.o weather.o metaprint.o engribapi.o grib2api.o myassert.o scan.o memendian.o fileendian.o 
+ 
+ ifeq ($(HAVE_JASPER),yes)
+ EXTRAFLAGS	:= 	$(EXTRAFLAGS) -DHAVE_JASPER
diff --git a/gdal.spec b/gdal.spec
index befd856..4dc9395 100644
--- a/gdal.spec
+++ b/gdal.spec
@@ -39,6 +39,9 @@ Source0:   %{name}-%{version}-fedora.tar.gz
 Source1:   http://download.osgeo.org/%{name}/%{name}autotest-%{testversion}.tar.gz
 Source2:   %{name}.pom
 
+# Patch to use system g2clib
+Patch1:    %{name}-g2clib.patch
+
 # Fedora uses Alternatives for Java
 Patch8:    %{name}-1.9.0-java.patch
 
@@ -60,6 +63,7 @@ BuildRequires: expat-devel
 BuildRequires: fontconfig-devel
 # No freexl in EL5
 BuildRequires: freexl-devel
+BuildRequires: g2clib-static
 BuildRequires: geos-devel
 BuildRequires: ghostscript
 BuildRequires: hdf-devel
@@ -267,7 +271,9 @@ rm -rf frmts/jpeg/libjpeg \
     frmts/jpeg/libjpeg12
 rm -rf frmts/gtiff/libgeotiff \
     frmts/gtiff/libtiff
+rm -r frmts/grib/degrib18/g2clib-1.0.4
 
+%patch1 -p1 -b .g2clib~
 %patch8 -p1 -b .java~
 %patch9 -p1 -b .man~
 
@@ -363,6 +369,7 @@ export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libgeotiff"
 # Building without pgeo driver, because it drags in Java
 
 %configure \
+        LIBS=-lgrib2c \
         --with-autoload=%{_libdir}/%{name}plugins \
         --datadir=%{_datadir}/%{name}/ \
         --includedir=%{_includedir}/%{name}/ \


More information about the scm-commits mailing list