--- /dev/null
+Kill warnings in Armadillo detection code to make compiler output empty
+--- gdal-1.11.0/configure.in.orig 2014-06-14 15:45:50.005039893 +0200
++++ gdal-1.11.0/configure.in 2014-06-14 16:46:47.261630331 +0200
+@@ -4227,7 +4227,7 @@
+ rm -f testarmadillo.*
+ rm -f testarmadillo
+ echo '#include <armadillo>' > testarmadillo.cpp
+- echo 'int main(int argc, char** argv) { arma::mat matInput(2,2); const arma::mat& matInv = arma::inv(matInput); return 0; } ' >> testarmadillo.cpp
+- if test -z "`${CXX} ${CPPFLAGS} testarmadillo.cpp -o testarmadillo -larmadillo ${LIBS} 2>&1`" ; then
++ echo 'int main(int, char**) { arma::mat matInput(2,2); const arma::mat& matInv = arma::inv(matInput); (void)matInv; return 0; } ' >> testarmadillo.cpp
++ if test -z "`${CXX} ${CPPFLAGS} testarmadillo.cpp -o testarmadillo -larmadillo 2>&1`" ; then
+ HAVE_ARMADILLO=yes
+ LIBS="-larmadillo ${LIBS}"
--- /dev/null
+--- gdal-1.11.0/configure.in.orig 2014-05-18 11:22:22.873992206 +0200
++++ gdal-1.11.0/configure.in 2014-05-18 12:20:58.637252259 +0200
+@@ -941,6 +941,11 @@
+
+ echo "dds support disabled."
+
++elif test "$with_dds" = "yes"; then
++ DDS_SETTING=yes
++ CRUNCHDIR="/usr"
++ LIBS="-lcrunch $LIBS"
++ echo "using libcrunch in default location."
+ else
+
+ DDS_SETTING=yes
--- /dev/null
+--- gdal-1.11.0/configure.in.orig 2014-05-12 21:49:57.910679098 +0200
++++ gdal-1.11.0/configure.in 2014-05-18 11:22:22.873992206 +0200
+@@ -1480,23 +1480,10 @@
+
+ elif test "$with_sosi" = "yes" -o "$with_sosi" = "" ; then
+
+- AC_MSG_CHECKING([for libfyba.a, libfygm.a and libfyut.a in /usr/local/lib])
+- if test -r /usr/local/lib/libfyba.a -a -r /usr/local/lib/libfygm.a -a -r /usr/local/lib/libfyut.a ; then
+- AC_MSG_RESULT([found])
++ AC_CHECK_LIB([fyba], [main], [
+ SOSI_ENABLED=yes
+- SOSI_LIB="/usr/local/lib/libfyba.a /usr/local/lib/libfygm.a /usr/local/lib/libfyut.a"
+- else
+- AC_MSG_ERROR([not found.])
+- fi
+-
+- AC_MSG_CHECKING([for fyba.h, fygm.h and fyut.h in /usr/local/include/fyba])
+- if test -r /usr/local/include/fyba/fyba.h -a -r /usr/local/include/fyba/fygm.h -a -r /usr/local/include/fyba/fyut.h ; then
+- AC_MSG_RESULT([found])
+- SOSI_ENABLED=yes
+- SOSI_INC="-I/usr/local/include/fyba"
+- else
+- AC_MSG_ERROR([not found.])
+- fi
++ SOSI_LIB="-lfyba -lfygm -lfyut"
++ ], [AC_MSG_ERROR([not found.])])
+
+ else
+
--- /dev/null
+--- gdal-1.11.0/frmts/gif/gifdataset.cpp.orig 2014-04-16 22:04:33.000000000 +0200
++++ gdal-1.11.0/frmts/gif/gifdataset.cpp 2014-06-14 16:10:22.245009208 +0200
+@@ -386,13 +386,21 @@
+ CPLDebug( "GIF",
+ "Due to limitations of the GDAL GIF driver we deliberately avoid\n"
+ "opening large GIF files (larger than 100 megapixels).");
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+ VSIFCloseL( fp );
+ return NULL;
+ }
+ }
+
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+
+ VSIFSeekL( fp, 0, SEEK_SET);
+
+@@ -417,7 +425,11 @@
+ if( nGifErr != GIF_OK || hGifFile->SavedImages == NULL )
+ {
+ VSIFCloseL( fp );
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile(hGifFile, NULL);
++#else
+ DGifCloseFile(hGifFile);
++#endif
+
+ if( nGifErr == D_GIF_ERR_DATA_TOO_BIG )
+ {
+@@ -649,7 +661,11 @@
+ {
+ GifFreeMapObject(psGifCT);
+ GDALPrintGifError(hGifFile, "Error writing gif file.");
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ EGifCloseFile(hGifFile, NULL);
++#else
+ EGifCloseFile(hGifFile);
++#endif
+ VSIFCloseL( fp );
+ return NULL;
+ }
+@@ -673,7 +689,11 @@
+ if (EGifPutImageDesc(hGifFile, 0, 0, nXSize, nYSize, bInterlace, NULL) == GIF_ERROR )
+ {
+ GDALPrintGifError(hGifFile, "Error writing gif file.");
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ EGifCloseFile(hGifFile, NULL);
++#else
+ EGifCloseFile(hGifFile);
++#endif
+ VSIFCloseL( fp );
+ return NULL;
+ }
+@@ -756,7 +776,11 @@
+ /* -------------------------------------------------------------------- */
+ /* cleanup */
+ /* -------------------------------------------------------------------- */
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ if (EGifCloseFile(hGifFile, NULL) == GIF_ERROR)
++#else
+ if (EGifCloseFile(hGifFile) == GIF_ERROR)
++#endif
+ {
+ CPLError( CE_Failure, CPLE_AppDefined,
+ "EGifCloseFile() failed.\n" );
+@@ -807,7 +831,11 @@
+
+ error:
+ if (hGifFile)
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ EGifCloseFile(hGifFile, NULL);
++#else
+ EGifCloseFile(hGifFile);
++#endif
+ if (fp)
+ VSIFCloseL( fp );
+ if (pabyScanline)
+--- gdal-1.11.0/frmts/gif/biggifdataset.cpp.orig 2014-04-16 22:04:33.000000000 +0200
++++ gdal-1.11.0/frmts/gif/biggifdataset.cpp 2014-06-14 17:36:54.164900991 +0200
+@@ -339,7 +339,11 @@
+ /* If the file is already open, close it so we can restart. */
+ /* -------------------------------------------------------------------- */
+ if( hGifFile != NULL )
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+
+ /* -------------------------------------------------------------------- */
+ /* If we are actually reopening, then we assume that access to */
+@@ -413,7 +417,11 @@
+
+ if( RecordType != IMAGE_DESC_RECORD_TYPE )
+ {
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+ hGifFile = NULL;
+
+ CPLError( CE_Failure, CPLE_OpenFailed,
+@@ -423,7 +431,11 @@
+
+ if (DGifGetImageDesc(hGifFile) == GIF_ERROR)
+ {
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+ hGifFile = NULL;
+
+ CPLError( CE_Failure, CPLE_OpenFailed,
+--- gdal-1.11.0/frmts/gif/gifabstractdataset.cpp.orig 2014-04-16 22:04:33.000000000 +0200
++++ gdal-1.11.0/frmts/gif/gifabstractdataset.cpp 2014-06-14 18:52:07.828140246 +0200
+@@ -82,7 +82,11 @@
+ }
+
+ if( hGifFile )
++#if defined(GIFLIB_MAJOR) && ((GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && defined(GIFLIB_MINOR) && (GIFLIB_MINOR >= 1)))
++ DGifCloseFile( hGifFile, NULL );
++#else
+ DGifCloseFile( hGifFile );
++#endif
+
+ if( fp != NULL )
+ VSIFCloseL( fp );
--- /dev/null
+--- gdal-1.11.0/m4/ax_oracle_oci.m4.orig 2014-04-16 22:04:00.000000000 +0200
++++ gdal-1.11.0/m4/ax_oracle_oci.m4 2014-06-14 17:01:57.071611368 +0200
+@@ -156,12 +156,14 @@
+ dnl Depending on later Oracle version detection,
+ dnl -lnnz10 flag might be removed for older Oracle < 10.x
+ saved_LDFLAGS="$LDFLAGS"
++ saved_LIBS="$LIBS"
+ if test -n "$oracle_include_dir" ; then
+- oci_ldflags="-L$oracle_lib_dir -lclntsh"
++ oci_ldflags="-L$oracle_lib_dir"
+ else
+- oci_ldflags="-L$oracle_lib_dir -L$oracle_lib_dir2 -lclntsh"
++ oci_ldflags="-L$oracle_lib_dir -L$oracle_lib_dir2"
+ fi
+ LDFLAGS="$LDFLAGS $oci_ldflags"
++ LIBS="$LIBS -lclntsh"
+
+ dnl
+ dnl Check OCI headers
+@@ -231,7 +233,7 @@
+ ]]
+ )],
+ [
+- ORACLE_OCI_LDFLAGS="$oci_ldflags"
++ ORACLE_OCI_LDFLAGS="$oci_ldflags -lclntsh"
+ oci_lib_found="yes"
+ AC_MSG_RESULT([yes])
+ ],
+@@ -245,6 +247,7 @@
+
+ CPPFLAGS="$saved_CPPFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
++ LIBS="$saved_LIBS"
+ fi
+
+ dnl
--- /dev/null
+--- gdal-1.11.0/configure.in.orig 2014-06-14 20:12:03.704706951 +0200
++++ gdal-1.11.0/configure.in 2014-06-14 20:53:44.987988150 +0200
+@@ -4182,7 +4182,7 @@
+ AC_CHECK_LIB(raslib,main,RASDAMAN_ENABLED=yes,,,)
+
+ if test -n "$RASDAMAN_ENABLED" ; then
+- RASDAMAN_LIB="-lrasodmg -lclientcomm -lcompression -lnetwork -lraslib"
++ RASDAMAN_LIB="-lrasodmg -lclientcomm -lnetwork -lraslib"
+ OPT_GDAL_FORMATS="rasdaman $OPT_GDAL_FORMATS"
+ AC_MSG_RESULT([ using rasdaman from system libs.])
+ else
+@@ -4195,7 +4195,7 @@
+
+ if test -f $RASDAMAN_DIR/include/rasdaman.hh -a -d$RASDAMAN_DIR/lib ; then
+ RASDAMAN_INC=-I$RASDAMAN_DIR/include
+- RASDAMAN_LIB="-L$RASDAMAN_DIR/lib -lrasodmg -lclientcomm -lcompression -lnetwork -lraslib"
++ RASDAMAN_LIB="-L$RASDAMAN_DIR/lib -lrasodmg -lclientcomm -lnetwork -lraslib"
+ else
+ AC_MSG_ERROR("Could not find rasdaman.hh or libraslib.a in $RASDAMAN_DIR.")
+ fi
# - libkml (1.3.0 needed, not released yet)
# - wait for newer pcidsk, switch to external again
# - csharp, java
-# - DDS (--with-dds, BR [lib]crunch: http://code.google.com/p/crunch/)
-# - SOSI (--with-sosi, BR: libfyba libfygm libfyut: https://github.com/kartverket/fyba)
# - additional, proprietary(?) formats support:
# - FMEObjects (http://www.safe.com/support/support-resources/fme-downloads/)
# - ESRI FileGDBAPI (http://resources.arcgis.com/content/geodatabases/10.0/file-gdb-api)
#
# Conditional build:
%bcond_without armadillo # Armadillo support for faster TPS transform
+%bcond_without crnlib # DDS support via crunch/crnlib
%bcond_without epsilon # EPSILON wavelet compression support
+%bcond_without fyba # SOSI geodata support using FYBA
%bcond_with grass # GRASS support (note: dependency loop)
%bcond_without gta # GTA format support
%bcond_without mysql # MySQL DB 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 rasdaman # Rasdaman support
%bcond_without spatialite # SpatiaLite support
%bcond_without xerces # Xerces support
%bcond_without java # Java and MDB support
Patch5: %{name}-grass.patch
Patch6: %{name}-sse.patch
Patch7: %{name}-link.patch
+Patch8: %{name}-fyba.patch
+Patch9: %{name}-dds.patch
+Patch10: %{name}-gif.patch
+Patch11: %{name}-armadillo.patch
+Patch12: %{name}-oci.patch
+Patch13: %{name}-rasdaman.patch
URL: http://www.gdal.org/
%{?with_php:BuildRequires: %{php_name}-devel}
%{?with_opencl:BuildRequires: OpenCL-devel >= 1.0}
BuildRequires: autoconf >= 2.52
BuildRequires: automake
BuildRequires: cfitsio-devel
+%{?with_dds:BuildRequires: crnlib-devel}
BuildRequires: curl-devel
BuildRequires: doxygen >= 1.4.2
%{?with_epsilon:BuildRequires: epsilon-compressor-devel}
BuildRequires: expat-devel >= 1.95.0
+%{?with_fyba:BuildRequires: fyba-devel}
BuildRequires: freexl-devel >= 1.0
BuildRequires: gcc >= 6:4.1
BuildRequires: geos-devel >= 3.1.0
BuildRequires: giflib-devel >= 4.0
-%{?with_grass:BuildRequires: grass-devel >= 5.7}
+%{?with_grass:BuildRequires: grass-devel >= 6.4}
BuildRequires: hdf-devel >= 4.0
BuildRequires: hdf5-devel
BuildRequires: jasper-devel
BuildRequires: python-devel >= 1:2.5
BuildRequires: python-numpy-devel >= 1:1.0.0
BuildRequires: python-setuptools
+%{?with_rasdaman:BuildRequires: rasdaman-devel}
BuildRequires: rpm-pythonprov
%{?with_ruby:BuildRequires: rpm-rubyprov}
BuildRequires: rpmbuild(macros) >= 1.344
%{?with_opencl:Requires: OpenCL-devel >= 1.0}
%{?with_armadillo:Requires: armadillo-devel}
Requires: cfitsio-devel
+%{?with_dds:Requires: crnlib-devel}
Requires: curl-devel
%{?with_epsilon:Requires: epsilon-compressor-devel}
+%{?with_fyba:Requires: fyba-devel}
Requires: expat-devel >= 1.95.0
Requires: freexl-devel >= 1.0
Requires: geos-devel >= 3.1.0
%{?with_poppler:Requires: poppler-devel >= 0.24}
Requires: postgresql-devel
Requires: proj-devel >= 4
+%{?with_rasdaman:Requires: rasdaman-devel}
Requires: sqlite3-devel >= 3.0.0
%{?with_odbc:Requires: unixODBC-devel}
%{?with_xerces:Requires: xerces-c-devel >= 2.7.0}
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
# need to regenerate (old ones don't support perl 5.10 or php 5.5)
%{__rm} swig/{perl,php}/{gdal_wrap.cpp,gdalconst_wrap.c,ogr_wrap.cpp,osr_wrap.cpp}
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
-# disable grass/libgrass here, it can be built from separate gdal-grass package
%configure \
--datadir=%{_datadir}/gdal \
--with-dods-root=/usr \
%{?with_armadillo:--with-armadillo} \
+ %{?with_crnlib:--with-dds} \
%{?with_epsilon:--with-epsilon} \
%{?with_grass:--with-grass} \
%{!?with_gta:--without-gta} \
%{?with_podofo:--with-podofo} \
%{?with_poppler:--with-poppler} \
--with-python \
+ %{?with_rasdaman:--with-rasdaman=%{_libdir}/rasdaman} \
%{?with_ruby:--with-ruby} \
+ %{?with_fyba:--with-sosi} \
%{?with_spatialite:--with-spatialite} \
--with-sqlite3 \
--with-webp \
--with-xerces-inc=/usr/include/xercesc \
--with-xerces-lib="-lxerces-c" \
--without-libgrass
-# --with-rasdaman
# --with-pcidsk=/usr (needs > 0.3)
-# csharp builds, but has no configure option
+# csharp builds, but has no configure option nor install target
# regenerate where needed
%{__make} -j1 -C swig/perl generate
%{__make} -j1 -C swig/ruby generate
%endif
-%{__make} -j1
+%{__make} -j1 \
+ %{?with_grass:GRASS_INCLUDE="-I/usr/include/grass64"} \
+ %{?with_fyba:SOSI_INC="-I/usr/include/fyba"}
%{__make} -j1 docs