#
-# TODO:
-# - consider using GRASS (or GDAL in GRASS? build trap possible)
+# Conditional build:
+%bcond_without odbc # disable odbc support
+%bcond_without xerces # disable xerces support
+%bcond_without ruby # disable ruby support
#
-%include /usr/lib/rpm/macros.python
Summary: Geospatial Data Abstraction Library
-Summary(pl): Biblioteka abstrakcji danych dotycz±cych powierzchni Ziemi
+Summary(pl.UTF-8): Biblioteka abstrakcji danych dotyczących powierzchni Ziemi
Name: gdal
-Version: 1.1.9
+Version: 1.4.2
Release: 1
License: BSD-like
Group: Libraries
-Source0: ftp://ftp.remotesensing.org/pub/gdal/%{name}-%{version}.tar.gz
-# Source0-md5: 2183e206affc7bf25e0d33459ccb8572
-Patch0: %{name}-pgsql.patch
-Patch1: %{name}-DESTDIR.patch
-Patch2: %{name}-soname.patch
-Patch3: %{name}-xerces.patch
-URL: http://www.remotesensing.org/gdal/
+Source0: ftp://ftp.remotesensing.org/gdal/%{name}-%{version}.tar.gz
+# Source0-md5: dedf5ff6a766e85b9a2b5c54c1c59221
+Patch0: %{name}-dods.patch
+Patch1: %{name}-perl.patch
+Patch2: %{name}-ruby.patch
+URL: http://www.gdal.org/
BuildRequires: autoconf
BuildRequires: cfitsio-devel
BuildRequires: doxygen
+BuildRequires: geos-devel >= 2.0
+BuildRequires: giflib-devel >= 4.0
BuildRequires: hdf-devel >= 4.0
BuildRequires: jasper-devel
-BuildRequires: libgeotiff-devel
+BuildRequires: libcsf-devel
+BuildRequires: libdap-devel >= 3.5
+BuildRequires: libgeotiff-devel >= 1.2.1
BuildRequires: libjpeg-devel >= 6b
-BuildRequires: libpng-devel >= 1.0.6
+BuildRequires: libpng-devel >= 2:1.2.8
+BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel >= 3.6.0
-BuildRequires: libungif-devel >= 4.0
+BuildRequires: netcdf-devel
BuildRequires: ogdi-devel >= 3.1
+BuildRequires: perl-devel
BuildRequires: postgresql-devel
BuildRequires: postgresql-backend-devel
+BuildRequires: python-numpy-devel
BuildRequires: python-devel
-BuildRequires: rpm-pythonprov
-BuildRequires: xerces-c-devel >= 2.2.0
+%{?with_ruby:BuildRequires: ruby-devel}
+BuildRequires: sqlite3-devel >= 3
+%{?with_ruby:BuildRequires: swig-ruby}
+BuildRequires: swig-python
+%{?with_odbc:BuildRequires: unixODBC-devel}
+%{?with_xerces:BuildRequires: xerces-c-devel >= 2.2.0}
BuildRequires: zlib-devel >= 1.1.4
+Requires: geos >= 2.0
+Requires: libgeotiff >= 1.2.1
+Requires: libpng >= 2:1.2.8
+Requires: libtiff >= 3.6.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
GDAL source tree) provides a similar capability for simple features
vector data.
-%description -l pl
-GDAL to biblioteka konwertuj±ca miêdzy formatami rastrowych danych
-dotycz±cych powierzchni Ziemi, udostêpniona na licencji Open Source.
-Jako biblioteka udostêpnia aplikacjom jeden abstrakcyjny model danych
-do wszystkich obs³ugiwanych formatów. Powi±zana z nia biblioteka OGR
-(której ¼ród³a s± do³±czone do drzewa ¼róde³ GDAL) daje podobne
-mo¿liwo¶ci dla danych wektorowych.
+%description -l pl.UTF-8
+GDAL to biblioteka konwertująca między formatami rastrowych danych
+dotyczących powierzchni Ziemi, udostępniona na licencji Open Source.
+Jako biblioteka udostępnia aplikacjom jeden abstrakcyjny model danych
+do wszystkich obsługiwanych formatów. Powiązana z nią biblioteka OGR
+(której źródła są dołączone do drzewa źródeł GDAL) daje podobne
+możliwości dla danych wektorowych.
%package devel
Summary: GDAL library header files
-Summary(pl): Pliki nag³ówkowe biblioteki GDAL
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GDAL
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: cfitsio-devel
+Requires: geos-devel >= 2.0
+Requires: giflib-devel
+Requires: hdf-devel >= 4.0
+Requires: jasper-devel
+Requires: libcsf-devel
+Requires: libdap-devel >= 3.5
+Requires: libgeotiff-devel >= 1.2.1
+Requires: libjpeg-devel
+Requires: libpng-devel >= 2:1.2.8
+Requires: libstdc++-devel
+Requires: libtiff-devel >= 3.6.0
+Requires: netcdf-devel
+Requires: ogdi-devel >= 3.1
+Requires: postgresql-devel
+Requires: sqlite3-devel >= 3
+%{?with_odbc:Requires: unixODBC-devel}
+%{?with_xerces:Requires: xerces-c-devel >= 2.2.0}
%description devel
GDAL library header files.
-%description devel -l pl
-Pliki nag³ówkowe biblioteki GDAL.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki GDAL.
%package static
Summary: GDAL static libraries
-Summary(pl): Statyczne biblioteki GDAL
+Summary(pl.UTF-8): Statyczne biblioteki GDAL
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
GDAL static libraries.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczne biblioteki GDAL.
+%package -n perl-gdal
+Summary: Perl bindings for GDAL
+Summary(pl.UTF-8): Wiązania Perla do pakietu GDAL
+Group: Development/Languages/Perl
+Requires: %{name} = %{version}-%{release}
+
+%description -n perl-gdal
+Perl bindings for GDAL - Geo::GDAL, Geo::OGR and Geo::OSR modules.
+
+%description -n perl-gdal -l pl.UTF-8
+Wiązania Perla do pakietu GDAL - moduły Geo::GDAL, Geo::OGR,
+Geo::OSR.
+
%package -n python-gdal
Summary: GDAL Python module
-Summary(pl): Modu³ Pythona GDAL
+Summary(pl.UTF-8): Moduł Pythona GDAL
Group: Libraries/Python
Requires: %{name} = %{version}-%{release}
+%pyrequires_eq python-libs
%description -n python-gdal
GDAL Python module.
-%description -n python-gdal -l pl
-Modu³ Pythona GDAL.
+%description -n python-gdal -l pl.UTF-8
+Moduł Pythona GDAL.
+
+%package -n ruby-gdal
+Summary: Ruby bindings for GDAL
+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.
+
+%description -n ruby-gdal -l pl.UTF-8
+Wiązania języka Ruby do pakietu GDAL - moduły gdal, gdalconst, ogr
+i osr.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
%build
+# disable grass/libgrass here, it can be built from separate gdal-grass package
%{__autoconf}
%configure \
+ --datadir=%{_datadir}/gdal \
+ --with-dods-root=/usr \
+ --with-perl \
--with-pymoddir=%{py_sitedir} \
- --with-xerces \
+ %{?with_ruby:--with-ruby} \
+ --with-sqlite \
+ %{?with_xerces:--with-xerces} \
--with-xerces-inc=/usr/include/xercesc \
--with-xerces-lib="-lxerces-c" \
- --without-grass
-
+ --without-grass \
+ --without-libgrass \
+ --with-ngpython
+# ngpython seems to be compatibile with old python bindings
+# --with-php needs Zend API update
%{__make}
+%{__make} -C swig build \
+ OPTIMIZE="%{rpmcflags}"
+
%{__make} docs
%install
mv -f ogr/html html/org
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_postclean
+rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc ChangeLog NEWS
+%doc NEWS PROVENANCE.TXT
%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/libgdal.*.so
+%exclude %{_bindir}/gdal-config
+%attr(755,root,root) %{_libdir}/libgdal.so.*.*.*
%{_datadir}/gdal
+%{_mandir}/man1/*
+%exclude %{_mandir}/man1/gdal-config.1*
%files devel
%defattr(644,root,root,755)
%doc html/*
+%attr(755,root,root) %{_bindir}/gdal-config
%attr(755,root,root) %{_libdir}/libgdal.so
+%{_libdir}/libgdal.la
%{_includedir}/*.h
+%{_mandir}/man1/gdal-config.1*
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libdir}/libgdal.a
+
+%files -n perl-gdal
+%defattr(644,root,root,755)
+%dir %{perl_vendorarch}/Geo
+%{perl_vendorarch}/Geo/GDAL.pm
+%dir %{perl_vendorarch}/Geo/GDAL
+%{perl_vendorarch}/Geo/GDAL/Const.pm
+%{perl_vendorarch}/Geo/OGR.pm
+%{perl_vendorarch}/Geo/OSR.pm
+%dir %{perl_vendorarch}/auto/Geo
+%dir %{perl_vendorarch}/auto/Geo/GDAL
+%{perl_vendorarch}/auto/Geo/GDAL/GDAL.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/Geo/GDAL/GDAL.so
+%dir %{perl_vendorarch}/auto/Geo/GDAL/Const
+%{perl_vendorarch}/auto/Geo/GDAL/Const/Const.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/Geo/GDAL/Const/Const.so
+%dir %{perl_vendorarch}/auto/Geo/OGR
+%{perl_vendorarch}/auto/Geo/OGR/OGR.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/Geo/OGR/OGR.so
+%dir %{perl_vendorarch}/auto/Geo/OSR
+%{perl_vendorarch}/auto/Geo/OSR/OSR.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/Geo/OSR/OSR.so
%files -n python-gdal
%defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/_gdalmodule.so
-%{py_sitedir}/*.py
+%attr(755,root,root) %{py_sitedir}/*.so
+%{py_sitedir}/*.py[co]
+%{py_sitedir}/*.egg-info
+
+%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
+%endif