diff --git a/clean-gdal.sh b/clean-gdal.sh new file mode 100755 index 0000000..eb2cbf7 --- /dev/null +++ b/clean-gdal.sh @@ -0,0 +1,19 @@ +# Volker Fröhlich +tar xvfz gdal-1.9.1RC2.tar.gz + +mv gdal-1.9.1{,-fedora} && pushd gdal-1.9.1-fedora + +rm data/cubewerx_extra.wkt +rm data/esri_extra.wkt +rm data/ecw_cs.wkt + +#Muss man swig wirklich löschen? +rm -r swig/php +rm -r frmts/bsb + +popd + + +#TODO: Provenance reinkopieren + +tar cvfz gdal-1.9.1-fedora.tar.gz gdal-1.9.1-fedora diff --git a/gdal-1.9.0-poppler020.patch b/gdal-1.9.0-poppler020.patch new file mode 100644 index 0000000..af43bc4 --- /dev/null +++ b/gdal-1.9.0-poppler020.patch @@ -0,0 +1,190 @@ +Index: /branches/1.9/gdal/configure +=================================================================== +--- /branches/1.9/gdal/configure (revision 24333) ++++ /branches/1.9/gdal/configure (revision 24437) +@@ -639,4 +639,5 @@ + HAVE_PODOFO + POPPLER_INC ++POPPLER_0_20_OR_LATER + POPPLER_BASE_STREAM_HAS_TWO_ARGS + POPPLER_HAS_OPTCONTENT +@@ -26470,4 +26471,5 @@ + POPPLER_HAS_OPTCONTENT=no + POPPLER_BASE_STREAM_HAS_TWO_ARGS=no ++POPPLER_0_20_OR_LATER=no + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler" >&5 +@@ -26536,4 +26538,20 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } ++ ++ # And now we check if we have Poppler >= 0.20.0 ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have Poppler >= 0.20.0" >&5 ++$as_echo_n "checking if we have Poppler >= 0.20.0... " >&6; } ++ rm -f testpoppler.* ++ echo '#include ' > testpoppler.cpp ++ echo 'int main(int argc, char** argv) { setErrorCallback(0,0); return 0; }' >> testpoppler.cpp ++ if test -z "`${CXX} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then ++ POPPLER_0_20_OR_LATER=yes ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ fi ++ + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +@@ -26556,4 +26574,6 @@ + + POPPLER_BASE_STREAM_HAS_TWO_ARGS=$POPPLER_BASE_STREAM_HAS_TWO_ARGS ++ ++POPPLER_0_20_OR_LATER=$POPPLER_0_20_OR_LATER + + POPPLER_INC=$POPPLER_INC +Index: /branches/1.9/gdal/nmake.opt +=================================================================== +--- /branches/1.9/gdal/nmake.opt (revision 23610) ++++ /branches/1.9/gdal/nmake.opt (revision 24437) +@@ -469,8 +469,10 @@ + # Uncomment for PDF support + # Uncomment POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES for Poppler >= 0.16.0 ++# Uncomment POPPLER_0_20_OR_LATER = YES for Poppler >= 0.20.0 + #POPPLER_ENABLED = YES + #POPPLER_CFLAGS = -Ie:/kde/include -Ie:/kde/include/poppler + #POPPLER_HAS_OPTCONTENT = YES + #POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES ++#POPPLER_0_20_OR_LATER = YES + #POPPLER_LIBS = e:/kde/lib/poppler.lib e:/kde/lib/freetype.lib e:/kde/lib/liblcms-1.lib advapi32.lib gdi32.lib + +Index: /branches/1.9/gdal/configure.in +=================================================================== +--- /branches/1.9/gdal/configure.in (revision 24333) ++++ /branches/1.9/gdal/configure.in (revision 24437) +@@ -2941,4 +2941,5 @@ + POPPLER_HAS_OPTCONTENT=no + POPPLER_BASE_STREAM_HAS_TWO_ARGS=no ++POPPLER_0_20_OR_LATER=no + + AC_MSG_CHECKING([for poppler]) +@@ -3000,4 +3001,17 @@ + POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes + AC_MSG_RESULT([yes]) ++ ++ # And now we check if we have Poppler >= 0.20.0 ++ AC_MSG_CHECKING([if we have Poppler >= 0.20.0]) ++ rm -f testpoppler.* ++ echo '#include ' > testpoppler.cpp ++ echo 'int main(int argc, char** argv) { setErrorCallback(0,0); return 0; }' >> testpoppler.cpp ++ if test -z "`${CXX} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then ++ POPPLER_0_20_OR_LATER=yes ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no]) ++ fi ++ + else + AC_MSG_RESULT([no]) +@@ -3015,4 +3029,5 @@ + AC_SUBST(POPPLER_HAS_OPTCONTENT, $POPPLER_HAS_OPTCONTENT) + AC_SUBST(POPPLER_BASE_STREAM_HAS_TWO_ARGS, $POPPLER_BASE_STREAM_HAS_TWO_ARGS) ++AC_SUBST(POPPLER_0_20_OR_LATER, $POPPLER_0_20_OR_LATER) + AC_SUBST(POPPLER_INC, $POPPLER_INC) + +Index: /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp +=================================================================== +--- /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp (revision 23986) ++++ /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp (revision 24437) +@@ -327,5 +327,9 @@ + poSplashOut = new SplashOutputDev(splashModeRGB8, 4, gFalse, sColor); + PDFDoc* poDoc = poGDS->poDoc; ++#ifdef POPPLER_0_20_OR_LATER ++ poSplashOut->startDoc(poDoc); ++#else + poSplashOut->startDoc(poDoc->getXRef()); ++#endif + double dfDPI = poGDS->dfDPI; + +@@ -518,4 +522,19 @@ + + #ifdef USE_POPPLER ++#ifdef POPPLER_0_20_OR_LATER ++static void PDFDatasetErrorFunction(void* userData, ErrorCategory eErrCatagory, int nPos, char *pszMsg) ++{ ++ CPLString osError; ++ ++ if (nPos >= 0) ++ osError.Printf("Pos = %d, ", nPos); ++ osError += pszMsg; ++ ++ if (strcmp(osError.c_str(), "Incorrect password") == 0) ++ return; ++ ++ CPLError(CE_Failure, CPLE_AppDefined, "%s", osError.c_str()); ++} ++#else + static void PDFDatasetErrorFunction(int nPos, char *pszMsg, va_list args) + { +@@ -531,4 +550,5 @@ + CPLError(CE_Failure, CPLE_AppDefined, "%s", osError.c_str()); + } ++#endif + #endif + +@@ -570,7 +590,11 @@ + GooString* poUserPwd = NULL; + + /* Set custom error handler for poppler errors */ ++#ifdef POPPLER_0_20_OR_LATER ++ setErrorCallback(PDFDatasetErrorFunction, NULL); ++#else + setErrorFunction(PDFDatasetErrorFunction); ++#endif + + PDFDoc* poDoc = NULL; + ObjectAutoFree oObj; + +Index: /branches/1.9/gdal/frmts/pdf/makefile.vc +=================================================================== +--- /branches/1.9/gdal/frmts/pdf/makefile.vc (revision 22493) ++++ /branches/1.9/gdal/frmts/pdf/makefile.vc (revision 24437) +@@ -7,5 +7,5 @@ + + !IFDEF POPPLER_ENABLED +-EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) -DUSE_POPPLER ++EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) $(POPPLER_0_20_OR_LATER_FLAGS) -DUSE_POPPLER + + !IFDEF POPPLER_HAS_OPTCONTENT +@@ -15,4 +15,8 @@ + !IFDEF POPPLER_BASE_STREAM_HAS_TWO_ARGS + POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS = -DPOPPLER_BASE_STREAM_HAS_TWO_ARGS ++!ENDIF ++ ++!IFDEF POPPLER_0_20_OR_LATER ++POPPLER_0_20_OR_LATER_FLAGS = -DPOPPLER_0_20_OR_LATER + !ENDIF + +Index: /branches/1.9/gdal/frmts/pdf/GNUmakefile +=================================================================== +--- /branches/1.9/gdal/frmts/pdf/GNUmakefile (revision 22491) ++++ /branches/1.9/gdal/frmts/pdf/GNUmakefile (revision 24437) +@@ -16,4 +16,9 @@ + endif + ++ifeq ($(POPPLER_0_20_OR_LATER),yes) ++CPPFLAGS += -DPOPPLER_0_20_OR_LATER ++endif ++ ++ + CPPFLAGS := $(GDAL_INCLUDE) $(CPPFLAGS) $(POPPLER_INC) $(PODOFO_INC) + +Index: /branches/1.9/gdal/GDALmake.opt.in +=================================================================== +--- /branches/1.9/gdal/GDALmake.opt.in (revision 24419) ++++ /branches/1.9/gdal/GDALmake.opt.in (revision 24437) +@@ -386,4 +386,5 @@ + POPPLER_HAS_OPTCONTENT = @POPPLER_HAS_OPTCONTENT@ + POPPLER_BASE_STREAM_HAS_TWO_ARGS = @POPPLER_BASE_STREAM_HAS_TWO_ARGS@ ++POPPLER_0_20_OR_LATER = @POPPLER_0_20_OR_LATER@ + POPPLER_INC = @POPPLER_INC@ + diff --git a/gdal-1.9.1-dods-3.11.3.patch b/gdal-1.9.1-dods-3.11.3.patch new file mode 100644 index 0000000..5cdc90d --- /dev/null +++ b/gdal-1.9.1-dods-3.11.3.patch @@ -0,0 +1,14 @@ +diff -Nur gdal-1.9.1-fedora/configure gdal-1.9.1-fedora-dods3.11.3/configure +--- gdal-1.9.1-fedora/configure 2012-05-17 05:30:56.000000000 +0200 ++++ gdal-1.9.1-fedora-dods3.11.3/configure 2012-05-20 10:47:10.032831845 +0200 +@@ -24320,8 +24320,8 @@ + as_fn_error $? "--with-dods-root requires path to dods root as argument" "$LINENO" 5 + else + DODS_LIB=$with_dods_root/lib +- DODS_INC="-I$with_dods_root/include -I$with_dods_root/include/libdap -I$with_dods_root/include/dap" + DODS_BIN=$with_dods_root/bin ++ DODS_INC="-I$with_dods_root/include -I$with_dods_root/include/libdap -I$with_dods_root/include/dap `$DODS_BIN/xml2-config --cflags`" + + rm -f islibdappost310.* + echo '#include "Connect.h"' > islibdappost310.cpp +Binary files gdal-1.9.1-fedora/.configure.swp and gdal-1.9.1-fedora-dods3.11.3/.configure.swp differ diff --git a/gdal-1.9.1-java-swig.patch b/gdal-1.9.1-java-swig.patch new file mode 100644 index 0000000..36b1d09 --- /dev/null +++ b/gdal-1.9.1-java-swig.patch @@ -0,0 +1,29 @@ +Index: /branches/1.9/gdal/swig/include/XMLNode.i +=================================================================== +--- /branches/1.9/gdal/swig/include/XMLNode.i (revision 19751) ++++ /branches/1.9/gdal/swig/include/XMLNode.i (revision 24440) +@@ -38,16 +38,16 @@ + } CPLXMLNodeType; + +-%rename (XMLNode) _CPLXMLNode; +-%rename (Type) _CPLXMLNode::eType; +-%rename (Value) _CPLXMLNode::pszValue; +-%rename (Next) _CPLXMLNode::psNext; +-%rename (Child) _CPLXMLNode::psChild; +-typedef struct _CPLXMLNode ++%rename (XMLNode) CPLXMLNode; ++%rename (Type) CPLXMLNode::eType; ++%rename (Value) CPLXMLNode::pszValue; ++%rename (Next) CPLXMLNode::psNext; ++%rename (Child) CPLXMLNode::psChild; ++typedef struct CPLXMLNode + { + %immutable; + CPLXMLNodeType eType; + char *pszValue; +- struct _CPLXMLNode *psNext; +- struct _CPLXMLNode *psChild; ++ struct CPLXMLNode *psNext; ++ struct CPLXMLNode *psChild; + %mutable; + } CPLXMLNode; diff --git a/gdal.spec b/gdal.spec index db8fd3e..fd2df85 100644 --- a/gdal.spec +++ b/gdal.spec @@ -30,7 +30,7 @@ Name: gdal Version: 1.9.0 -Release: 3%{?dist} +Release: 5%{?dist} Summary: GIS file format library Group: System Environment/Libraries License: MIT @@ -45,6 +45,15 @@ Source2: %{name}.pom # Patch to use system g2clib Patch1: %{name}-g2clib.patch +# Support poppler 0.20 +# http://trac.osgeo.org/gdal/ticket/4668 +Patch2: %{name}-1.9.0-poppler020.patch + +# http://trac.osgeo.org/gdal/changeset/24440#file0 +Patch3: %{name}-1.9.1-java-swig.patch + +Patch4: %{name}-1.9.1-dods-3.11.3.patch + # Fedora uses Alternatives for Java Patch8: %{name}-1.9.0-java.patch @@ -96,7 +105,7 @@ BuildRequires: libdap-devel BuildRequires: librx-devel BuildRequires: mysql-devel BuildRequires: numpy -BuildRequires: ogdi-devel +#BuildRequires: ogdi-devel BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: pkgconfig BuildRequires: poppler-devel @@ -272,6 +281,9 @@ rm -rf frmts/gtiff/libgeotiff \ rm -r frmts/grib/degrib18/g2clib-1.0.4 %patch1 -p1 -b .g2clib~ +%patch2 -p4 -b .poppler~ +%patch3 -p4 -b .java-swig~ +%patch4 -p1 -b .dods~ %patch8 -p1 -b .java~ %patch9 -p1 -b .man~ @@ -399,7 +411,7 @@ export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libgeotiff" --with-mysql \ --with-netcdf \ --with-odbc \ - --with-ogdi \ + --without-ogdi \ --without-msg \ --without-openjpeg \ --with-pcraster \ @@ -773,7 +785,10 @@ rm -rf %{buildroot} #Or as before, using ldconfig %changelog -* Thu May 10 2012 Volker Fröhlich - 1.9.0-3 +* Sun May 20 2012 Volker Fröhlich - 1.9.0-5 +- Patches for libpoppler 0.20, libdap 3.11.3 and swig 2.0.6 + +* Thu May 10 2012 Volker Fröhlich - 1.9.0-4 - Correct provides-filtering as of https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Usage - Support webp - Remove bogus libjpeg-turbo conditional @@ -781,6 +796,7 @@ rm -rf %{buildroot} - Install Ruby bindings to vendorarchdir on F17 and later - Conditionals for Ruby specific elements for versions prior F17 and for EPEL - Correct quotes for CFLAGS and Ruby +- Disable ogdi, until BZ#816282 is resolved * Wed Apr 25 2012 Orion Poplawski - 1.9.0-2 - Rebuild for cfitsio 3.300