X-Git-Url: http://git.pld-linux.org/?p=packages%2Fgdal.git;a=blobdiff_plain;f=gdal.spec;h=86899726e0a0a53a9fcae53eb6d7f1e3a6ddae2d;hp=ff6d9b20729b5e5326abf518c2a6de0abd4d11e5;hb=f4952e6ff16ff5df1dbdead3b11de7277f366438;hpb=9831286fc7d54ed8d99a74bb1899afc5f0df3ba8 diff --git a/gdal.spec b/gdal.spec index ff6d9b2..8689972 100644 --- a/gdal.spec +++ b/gdal.spec @@ -1,75 +1,127 @@ -# TODO: csharp, java, mysql +# TODO: +# - be reasonable about devel dependencies - you do not need all of them to +# 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) +# - 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 +# - csharp, java +# - 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) +# - ECW (http://www.erdas.com/products/ecw/ERDASECWJPEG2000SDK/Details.aspx) +# - Kakadu/JPEG2000 (http://www.kakadusoftware.com/) +# - MrSID (http://www.lizardtech.com/developer/) +# - MSG/EUMETSAT (http://www.eumetsat.int/Home/Main/DataAccess/SupportSoftwareTools/index.htm) +# - Oracle/OCI >= 10.0.1 (for georaster); Oracle/OCI >= 8.1.7 (as DB) +# - Ingres (--with-ingres=/path) +# - Informix DB +# - DWGdirect (members only? http://www.opendwg.org/) +# - ESRI SDE (http://www.esri.com/software/arcgis/arcsde/index.html) # # Conditional build: -%bcond_without odbc # disable odbc support -%bcond_without xerces # disable xerces support -%bcond_without ruby # disable ruby support -# +%bcond_without armadillo # Armadillo support for faster TPS transform +%bcond_without epsilon # EPSILON wavelet compression support +%bcond_without gta # GTA format support +%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 + +%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.7.3 -Release: 8 +Version: 1.10.1 +Release: 1 License: BSD-like Group: Libraries -Source0: ftp://ftp.remotesensing.org/gdal/%{name}-%{version}.tar.gz -# Source0-md5: c4673970bd2285032de9ae9bbd82754a +Source0: http://download.osgeo.org/gdal/%{version}/%{name}-%{version}.tar.xz +# Source0-md5: f354c614aea76e5630e4edbf06e5c292 Patch0: %{name}-perl.patch -Patch1: %{name}-ruby.patch -Patch2: %{name}-asneeded.patch -Patch3: %{name}-python_install.patch -Patch4: %{name}-libdap.patch -Patch5: %{name}-doxy.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} BuildRequires: autoconf >= 2.52 BuildRequires: automake BuildRequires: cfitsio-devel +BuildRequires: curl-devel BuildRequires: doxygen >= 1.4.2 +%{?with_epsilon:BuildRequires: epsilon-compressor-devel} BuildRequires: expat-devel >= 1.95.0 -BuildRequires: geos-devel >= 2.2 +BuildRequires: freexl-devel >= 1.0 +BuildRequires: geos-devel >= 2.2.0 BuildRequires: giflib-devel >= 4.0 BuildRequires: hdf-devel >= 4.0 BuildRequires: hdf5-devel BuildRequires: jasper-devel +%{?with_java:BuildRequires: jdk} +%{?with_java:BuildRequires: jpackage-utils} BuildRequires: libcsf-devel BuildRequires: libdap-devel >= 3.10 BuildRequires: libgeotiff-devel >= 1.2.1 +%{?with_gta:BuildRequires: libgta-devel} BuildRequires: libjpeg-devel >= 6b +#BuildRequires: libkml-devel >= 1.3.0 BuildRequires: libpng-devel >= 2:1.2.8 +%{?with_spatialite:BuildRequires: libspatialite-devel} BuildRequires: libstdc++-devel -BuildRequires: libtiff-devel >= 3.6.0 +BuildRequires: libtiff-devel >= 4.0 BuildRequires: libtool BuildRequires: libuuid-devel +BuildRequires: libwebp-devel BuildRequires: libxml2-devel -BuildRequires: netcdf-devel +%{?with_mysql:BuildRequires: mysql-devel} +BuildRequires: netcdf-devel >= 4.1 BuildRequires: ogdi-devel >= 3.1 -BuildRequires: pcidsk-devel +%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.0.0-2} +#BuildRequires: pcidsk-devel > 0.3 BuildRequires: perl-devel -BuildRequires: postgresql-backend-devel -BuildRequires: postgresql-devel -BuildRequires: proj-devel +%{?with_php:BuildRequires: php-devel} +%{?with_podofo:BuildRequires: podofo-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: proj-devel >= 4 BuildRequires: python-devel >= 1:2.5 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: sqlite3-devel >= 3 +BuildRequires: sed >= 4.0 +BuildRequires: sqlite3-devel >= 3.0.0 BuildRequires: swig-perl BuildRequires: swig-python >= 1.3 %{?with_ruby:BuildRequires: swig-ruby} -%if "%{pld_release}" == "ti" -BuildRequires: tetex-format-latex -BuildRequires: tetex-dvips -%else BuildRequires: texlive-dvips BuildRequires: texlive-latex -%endif %{?with_odbc:BuildRequires: unixODBC-devel >= 2.2.15} -%{?with_xerces:BuildRequires: xerces-c-devel >= 2.2.0} +%{?with_xerces:BuildRequires: xerces-c-devel >= 2.7.0} +BuildRequires: xz-devel BuildRequires: zlib-devel >= 1.1.4 -Requires: geos >= 2.2 +Requires: freexl >= 1.0 +Requires: geos >= 2.2.0 Requires: libgeotiff >= 1.2.1 Requires: libpng >= 2:1.2.8 -Requires: libtiff >= 3.6.0 +Requires: libtiff >= 4.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -93,27 +145,44 @@ Summary: GDAL library header files Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GDAL Group: Development/Libraries Requires: %{name} = %{version}-%{release} +%{?with_opencl:Requires: OpenCL-devel >= 1.0} +%{?with_armadillo:Requires: armadillo-devel} Requires: cfitsio-devel +Requires: curl-devel +%{?with_epsilon:Requires: epsilon-compressor-devel} Requires: expat-devel >= 1.95.0 -Requires: geos-devel >= 2.2 -Requires: giflib-devel +Requires: freexl-devel >= 1.0 +Requires: geos-devel >= 2.2.0 +Requires: giflib-devel >= 4.0 Requires: hdf-devel >= 4.0 Requires: hdf5-devel Requires: jasper-devel Requires: libcsf-devel Requires: libdap-devel >= 3.10 Requires: libgeotiff-devel >= 1.2.1 -Requires: libjpeg-devel +%{?with_gta:Requires: libgta-devel} +Requires: libjpeg-devel >= 6b Requires: libpng-devel >= 2:1.2.8 +%{?with_spatialite:Requires: libspatialite-devel} Requires: libstdc++-devel -Requires: libtiff-devel >= 3.6.0 -Requires: netcdf-devel +Requires: libtiff-devel >= 4.0 +Requires: libuuid-devel +Requires: libwebp-devel +Requires: libxml2-devel +%{?with_mysql:Requires: mysql-devel} +Requires: netcdf-devel >= 4 Requires: ogdi-devel >= 3.1 -Requires: pcidsk-devel +%{?with_openjpeg:Requires: openjpeg2-devel >= 2.0.0-2} +#Requires: pcidsk-devel > 0.3 +%{?with_podofo:Requires: podofo-devel} +%{?with_poppler:Requires: poppler-devel >= 0.24} Requires: postgresql-devel -Requires: sqlite3-devel >= 3 +Requires: proj-devel >= 4 +Requires: sqlite3-devel >= 3.0.0 %{?with_odbc:Requires: unixODBC-devel} %{?with_xerces:Requires: xerces-c-devel >= 2.7.0} +Requires: xz-devel +Requires: zlib-devel >= 1.1.4 %description devel GDAL library header files. @@ -145,12 +214,25 @@ 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 php-gdal +Summary: PHP bindings for GDAL library +Summary(pl.UTF-8): Wiązania PHP do biblioteki GDAL +Group: Development/Languages/PHP +Requires: %{name} = %{version}-%{release} +%{?requires_php_extension} + +%description -n php-gdal +PHP bindings for GDAL library + +%description -n php-gdal -l pl.UTF-8 +Wiązania PHP do biblioteki GDAL. + %package -n python-gdal Summary: GDAL Python module 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. @@ -163,7 +245,6 @@ 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. @@ -174,25 +255,37 @@ osr. %prep %setup -q +%{__aclocal} +%{__autoconf} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -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} -# includes updated for Ruby 1.9 -%{__rm} swig/ruby/{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 -%build -# $PYTHON_INCLUDES is set only with --with-ogpython, but we have --with-python, -# and $PYTHON_INCLUDES is needed to detect numpy properly -export PYTHON_INCLUDES=-I%{py_incdir} +%{__sed} -i -e 's,DODS_INC="-I.*,DODS_INC="$(pkg-config --cflags libdap)",' configure.in +%build %{__libtoolize} %{__aclocal} -I m4 %{__autoconf} @@ -200,24 +293,38 @@ export PYTHON_INCLUDES=-I%{py_incdir} %configure \ --datadir=%{_datadir}/gdal \ --with-dods-root=/usr \ + %{?with_armadillo:--with-armadillo} \ + %{?with_epsilon:--with-epsilon} \ + %{!?with_gta:--without-gta} \ --with-hide-internal-symbols \ - --with-pcidsk=/usr \ + %{?with_java:--with-java=%{java_home}} \ + --with-liblzma \ + %{?with_java:--with-mdb --with-jvm-lib-add-rpath} \ + %{?with_mysql:--with-mysql} \ + %{?with_opencl:--with-opencl} \ --with-perl \ + %{?with_php:--with-php} \ + %{?with_podofo:--with-podofo} \ + %{?with_poppler:--with-poppler} \ --with-python \ %{?with_ruby:--with-ruby} \ + %{?with_spatialite:--with-spatialite} \ --with-sqlite3 \ + --with-webp \ %{?with_xerces:--with-xerces} \ --with-xerces-inc=/usr/include/xercesc \ --with-xerces-lib="-lxerces-c" \ --without-grass \ --without-libgrass -# --with-php needs Zend API update -# java broken, no configure option +# --with-rasdaman +# --with-pcidsk=/usr (needs > 0.3) # csharp builds, but has no configure option # 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 @@ -235,6 +342,22 @@ rm -rf _html cp -a html _html cp -a ogr/html _html/ogr +%if %{with php} +# missing in make install +install -D swig/php/php_gdal.so $RPM_BUILD_ROOT%{php_extensiondir}/gdal.so +install -D swig/php/php_gdalconst.so $RPM_BUILD_ROOT%{php_extensiondir}/gdalconst.so +install -D swig/php/php_ogr.so $RPM_BUILD_ROOT%{php_extensiondir}/ogr.so +install -D swig/php/php_osr.so $RPM_BUILD_ROOT%{php_extensiondir}/osr.so +install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d +cat <<'EOF' >$RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/gdal.ini +; Enable gdal extension module +extension=gdal.so +extension=gdalconst.so +extension=ogr.so +extension=osr.so +EOF +%endif + %py_comp $RPM_BUILD_ROOT%{py_sitedir} %py_ocomp $RPM_BUILD_ROOT%{py_sitedir} %py_postclean @@ -246,14 +369,8 @@ cp -a ogr/html _html/ogr %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/OSR/.packlist # some doxygen trash -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/GDAL.dox -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/GDAL/Const.dox -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/OGR.dox -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/OSR.dox - -%if %{with ruby} -%{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/gdal/*.la -%endif +%{__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 @@ -270,7 +387,10 @@ 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 @@ -288,7 +408,11 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/gdalident.py %attr(755,root,root) %{_bindir}/gdalimport.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 %attr(755,root,root) %{_bindir}/gdalwarp @@ -305,9 +429,12 @@ rm -rf $RPM_BUILD_ROOT %{_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* @@ -317,6 +444,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/gdalbuildvrt.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* %{_mandir}/man1/gdalwarp.1* @@ -372,6 +503,16 @@ rm -rf $RPM_BUILD_ROOT %{perl_vendorarch}/auto/Geo/OSR/OSR.bs %attr(755,root,root) %{perl_vendorarch}/auto/Geo/OSR/OSR.so +%if %{with php} +%files -n php-gdal +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/gdal.ini +%attr(755,root,root) %{php_extensiondir}/gdal.so +%attr(755,root,root) %{php_extensiondir}/gdalconst.so +%attr(755,root,root) %{php_extensiondir}/ogr.so +%attr(755,root,root) %{php_extensiondir}/osr.so +%endif + %files -n python-gdal %defattr(644,root,root,755) %{py_sitedir}/gdal.py[co] @@ -391,9 +532,9 @@ rm -rf $RPM_BUILD_ROOT %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