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}/ \