# use gdal (probably a gdal module or driver shall not imply devel
# dependency)
# - rasdaman (--with-rasdaman; http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/wiki/Download)
-# - openjpeg (unreleased post-1.5 or 2? needs opj_decode_tile_data symbol, not available in 1.3-1.5)
# - libjpeg12 (needs patching to use system one, --with-jpeg12 is not sufficient as of 1.9.2)
# - libkml (1.3.0 needed, not released yet)
# - wait for newer pcidsk, switch to external again
%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
%bcond_without xerces # Xerces support
%bcond_without java # Java and MDB support
%bcond_without php # PHP binding
-%bcond_without ruby # ruby binding
-#
+%bcond_without ruby # Ruby binding
+
%if %{with podofo}
%undefine with_poppler
%endif
Summary: Geospatial Data Abstraction Library
Summary(pl.UTF-8): Biblioteka abstrakcji danych dotyczących powierzchni Ziemi
Name: gdal
-Version: 1.9.2
-Release: 2
+Version: 1.10.1
+Release: 5
License: BSD-like
Group: Libraries
-Source0: ftp://ftp.remotesensing.org/gdal/%{name}-%{version}.tar.gz
-# Source0-md5: 3f39db89f4710269b3a8bf94178e07aa
+Source0: http://download.osgeo.org/gdal/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: f354c614aea76e5630e4edbf06e5c292
Patch0: %{name}-perl.patch
Patch1: %{name}-python_install.patch
Patch2: %{name}-php.patch
Patch3: %{name}-fpic.patch
+Patch4: %{name}-format-security.patch
+Patch5: gdal-bug-5284.patch
URL: http://www.gdal.org/
%{?with_opencl:BuildRequires: OpenCL-devel >= 1.0}
%{?with_armadillo:BuildRequires: armadillo-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}
%{?with_podofo:BuildRequires: podofo-devel}
-%{?with_poppler:BuildRequires: poppler-devel}
+%{?with_poppler:BuildRequires: poppler-devel >= 0.24}
# ensure it's compiled with PQescapeStringConn support
BuildRequires: postgresql-backend-devel >= 8.1.4
BuildRequires: postgresql-devel >= 8.1.4
BuildRequires: python-numpy-devel >= 1:1.0.0
BuildRequires: python-setuptools
BuildRequires: rpm-pythonprov
+%{?with_ruby:BuildRequires: rpm-rubyprov}
BuildRequires: rpmbuild(macros) >= 1.344
%{?with_ruby:BuildRequires: ruby-devel}
BuildRequires: sed >= 4.0
%{?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}
+%{?with_poppler:Requires: poppler-devel >= 0.24}
Requires: postgresql-devel
Requires: proj-devel >= 4
Requires: sqlite3-devel >= 3.0.0
Summary(pl.UTF-8): Moduł Pythona GDAL
Group: Libraries/Python
Requires: %{name} = %{version}-%{release}
-%pyrequires_eq python-libs
+Requires: python-libs
%description -n python-gdal
GDAL Python module.
Summary(pl.UTF-8): Wiązania języka Ruby do pakietu GDAL
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
-%{?ruby_mod_ver_requires_eq}
%description -n ruby-gdal
Ruby bindings for GDAL - gdal, gdalconst, ogr and osr modules.
%prep
%setup -q
+%{__aclocal}
+%{__autoconf}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p3
# 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}
+# Build with fPIC to allow Ruby bindings
+# Xcompiler should normally achieve that -- http://trac.osgeo.org/gdal/ticket/3978
+# http://trac.osgeo.org/gdal/ticket/1994
+sed -i 's|\$(CFLAGS)|$(CFLAGS) -fPIC|g' swig/ruby/RubyMakefile.mk
+# Install Ruby bindings to distribution specific directory
+sed -i 's|RUBY_EXTENSIONS_DIR :=.*|RUBY_EXTENSIONS_DIR := %{ruby_vendorarchdir}|' swig/ruby/RubyMakefile.mk
+
+# Install Ruby bindings into the proper place
+sed -i -e 's|^$(INSTALL_DIR):|$(DESTDIR)$(INSTALL_DIR):|' swig/ruby/RubyMakefile.mk
+sed -i -e 's|^install: $(INSTALL_DIR)|install: $(DESTDIR)$(INSTALL_DIR)|' swig/ruby/RubyMakefile.mk
+
+# our man path
+sed -i -e 's#^mandir=.*##g' configure.in
+
%{__rm} -r man
%{__sed} -i -e 's,DODS_INC="-I.*,DODS_INC="$(pkg-config --cflags libdap)",' configure.in
# regenerate where needed
%{__make} -j1 -C swig/perl generate
-%{?with_ruby:%{__make} -j1 -C swig/ruby generate}
+%if %{with ruby}
+%{__make} -j1 -C swig/ruby generate
+%endif
%{__make} -j1
%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/OSR/.packlist
# some doxygen trash
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/{GDAL.dox,GDAL/Const.dox,OGR.dox,OSR.dox}
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/check_dox.pl
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/gdal_{fillnodata,sieve}.dox
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/gdalmove.dox
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/gdal_{edit,fillnodata,polygonize,proximity,sieve}.dox
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/gcps2wld.py
%attr(755,root,root) %{_bindir}/gdal2tiles.py
%attr(755,root,root) %{_bindir}/gdal2xyz.py
+%attr(755,root,root) %{_bindir}/gdal_auth.py
%attr(755,root,root) %{_bindir}/gdal_contour
%attr(755,root,root) %{_bindir}/gdal_calc.py
+%attr(755,root,root) %{_bindir}/gdal_edit.py
%attr(755,root,root) %{_bindir}/gdal_fillnodata.py
%attr(755,root,root) %{_bindir}/gdal_grid
%attr(755,root,root) %{_bindir}/gdal_merge.py
%attr(755,root,root) %{_bindir}/gdalinfo
%attr(755,root,root) %{_bindir}/gdallocationinfo
%attr(755,root,root) %{_bindir}/gdalmanage
+%attr(755,root,root) %{_bindir}/gdalmove.py
+%attr(755,root,root) %{_bindir}/gdalserver
%attr(755,root,root) %{_bindir}/gdalsrsinfo
%attr(755,root,root) %{_bindir}/gdaltindex
%attr(755,root,root) %{_bindir}/gdaltransform
%{_datadir}/gdal
%{_mandir}/man1/gdal2tiles.1*
%{_mandir}/man1/gdal_contour.1*
+%{_mandir}/man1/gdal_edit.1*
%{_mandir}/man1/gdal_fillnodata.1*
%{_mandir}/man1/gdal_grid.1*
%{_mandir}/man1/gdal_merge.1*
+%{_mandir}/man1/gdal_polygonize.1*
+%{_mandir}/man1/gdal_proximity.1*
%{_mandir}/man1/gdal_rasterize.1*
%{_mandir}/man1/gdal_retile.1*
%{_mandir}/man1/gdal_sieve.1*
%{_mandir}/man1/gdaldem.1*
%{_mandir}/man1/gdalinfo.1*
%{_mandir}/man1/gdallocationinfo.1*
+%{_mandir}/man1/gdalmanage.1*
+%{_mandir}/man1/gdalmove.1*
%{_mandir}/man1/gdalsrsinfo.1*
%{_mandir}/man1/gdaltindex.1*
%{_mandir}/man1/gdaltransform.1*
%if %{with ruby}
%files -n ruby-gdal
%defattr(644,root,root,755)
-%dir %{ruby_sitearchdir}/gdal
-%attr(755,root,root) %{ruby_sitearchdir}/gdal/gdal.so
-%attr(755,root,root) %{ruby_sitearchdir}/gdal/gdalconst.so
-%attr(755,root,root) %{ruby_sitearchdir}/gdal/ogr.so
-%attr(755,root,root) %{ruby_sitearchdir}/gdal/osr.so
+%dir %{ruby_vendorarchdir}/gdal
+%attr(755,root,root) %{ruby_vendorarchdir}/gdal/gdal.so
+%attr(755,root,root) %{ruby_vendorarchdir}/gdal/gdalconst.so
+%attr(755,root,root) %{ruby_vendorarchdir}/gdal/ogr.so
+%attr(755,root,root) %{ruby_vendorarchdir}/gdal/osr.so
%endif