2 # - be reasonable about devel dependencies - you do not need all of them to
3 # use gdal (probably a gdal module or driver shall not imply devel
5 # - rasdaman (--with-rasdaman; http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/wiki/Download)
6 # - openjpeg (unreleased post-1.5 or 2? needs opj_decode_tile_data symbol, not available in 1.3-1.5)
7 # - libjpeg12 (needs patching to use system one, --with-jpeg12 is not sufficient as of 1.9.2)
8 # - libkml (1.3.0 needed, not released yet)
9 # - wait for newer pcidsk, switch to external again
11 # - additional, proprietary(?) formats support:
12 # - FMEObjects (http://www.safe.com/support/support-resources/fme-downloads/)
13 # - ESRI FileGDBAPI (http://resources.arcgis.com/content/geodatabases/10.0/file-gdb-api)
14 # - ECW (http://www.erdas.com/products/ecw/ERDASECWJPEG2000SDK/Details.aspx)
15 # - Kakadu/JPEG2000 (http://www.kakadusoftware.com/)
16 # - MrSID (http://www.lizardtech.com/developer/)
17 # - MSG/EUMETSAT (http://www.eumetsat.int/Home/Main/DataAccess/SupportSoftwareTools/index.htm)
18 # - Oracle/OCI >= 10.0.1 (for georaster); Oracle/OCI >= 8.1.7 (as DB)
19 # - Ingres (--with-ingres=/path)
21 # - DWGdirect (members only? http://www.opendwg.org/)
22 # - ESRI SDE (http://www.esri.com/software/arcgis/arcsde/index.html)
25 %bcond_without armadillo # Armadillo support for faster TPS transform
26 %bcond_without epsilon # EPSILON wavelet compression support
27 %bcond_without gta # GTA format support
28 %bcond_without mysql # MySQL DB support
29 %bcond_without odbc # ODBC DB support
30 %bcond_without opencl # OpenCL (GPU) support
31 %bcond_with podofo # PDF support via podofo instead of poppler
32 %bcond_without poppler # PDF support via poppler
33 %bcond_without spatialite # SpatiaLite support
34 %bcond_without xerces # Xerces support
35 %bcond_without java # Java and MDB support
36 %bcond_without php # PHP binding
37 %bcond_without ruby # ruby binding
40 %undefine with_poppler
42 Summary: Geospatial Data Abstraction Library
43 Summary(pl.UTF-8): Biblioteka abstrakcji danych dotyczących powierzchni Ziemi
49 Source0: ftp://ftp.remotesensing.org/gdal/%{name}-%{version}.tar.gz
50 # Source0-md5: 3f39db89f4710269b3a8bf94178e07aa
51 Patch0: %{name}-perl.patch
52 Patch1: %{name}-python_install.patch
53 Patch2: %{name}-php.patch
54 Patch3: %{name}-fpic.patch
55 Patch4: %{name}-format-security.patch
56 URL: http://www.gdal.org/
57 %{?with_opencl:BuildRequires: OpenCL-devel >= 1.0}
58 %{?with_armadillo:BuildRequires: armadillo-devel}
59 BuildRequires: autoconf >= 2.52
60 BuildRequires: automake
61 BuildRequires: cfitsio-devel
62 BuildRequires: curl-devel
63 BuildRequires: doxygen >= 1.4.2
64 %{?with_epsilon:BuildRequires: epsilon-compressor-devel}
65 BuildRequires: expat-devel >= 1.95.0
66 BuildRequires: freexl-devel >= 1.0
67 BuildRequires: geos-devel >= 2.2.0
68 BuildRequires: giflib-devel >= 4.0
69 BuildRequires: hdf-devel >= 4.0
70 BuildRequires: hdf5-devel
71 BuildRequires: jasper-devel
72 %{?with_java:BuildRequires: jdk}
73 %{?with_java:BuildRequires: jpackage-utils}
74 BuildRequires: libcsf-devel
75 BuildRequires: libdap-devel >= 3.10
76 BuildRequires: libgeotiff-devel >= 1.2.1
77 %{?with_gta:BuildRequires: libgta-devel}
78 BuildRequires: libjpeg-devel >= 6b
79 #BuildRequires: libkml-devel >= 1.3.0
80 BuildRequires: libpng-devel >= 2:1.2.8
81 %{?with_spatialite:BuildRequires: libspatialite-devel}
82 BuildRequires: libstdc++-devel
83 BuildRequires: libtiff-devel >= 4.0
84 BuildRequires: libtool
85 BuildRequires: libuuid-devel
86 BuildRequires: libwebp-devel
87 BuildRequires: libxml2-devel
88 %{?with_mysql:BuildRequires: mysql-devel}
89 BuildRequires: netcdf-devel >= 4.1
90 BuildRequires: ogdi-devel >= 3.1
91 #BuildRequires: pcidsk-devel > 0.3
92 BuildRequires: perl-devel
93 %{?with_php:BuildRequires: php-devel}
94 %{?with_podofo:BuildRequires: podofo-devel}
95 %{?with_poppler:BuildRequires: poppler-devel}
96 # ensure it's compiled with PQescapeStringConn support
97 BuildRequires: postgresql-backend-devel >= 8.1.4
98 BuildRequires: postgresql-devel >= 8.1.4
99 BuildRequires: proj-devel >= 4
100 BuildRequires: python-devel >= 1:2.5
101 BuildRequires: python-numpy-devel >= 1:1.0.0
102 BuildRequires: python-setuptools
103 BuildRequires: rpm-pythonprov
104 BuildRequires: rpmbuild(macros) >= 1.344
105 %{?with_ruby:BuildRequires: ruby-devel}
106 BuildRequires: sed >= 4.0
107 BuildRequires: sqlite3-devel >= 3.0.0
108 BuildRequires: swig-perl
109 BuildRequires: swig-python >= 1.3
110 %{?with_ruby:BuildRequires: swig-ruby}
111 BuildRequires: texlive-dvips
112 BuildRequires: texlive-latex
113 %{?with_odbc:BuildRequires: unixODBC-devel >= 2.2.15}
114 %{?with_xerces:BuildRequires: xerces-c-devel >= 2.7.0}
115 BuildRequires: xz-devel
116 BuildRequires: zlib-devel >= 1.1.4
117 Requires: freexl >= 1.0
118 Requires: geos >= 2.2.0
119 Requires: libgeotiff >= 1.2.1
120 Requires: libpng >= 2:1.2.8
121 Requires: libtiff >= 4.0
122 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
125 GDAL is a translator library for raster geospatial data formats that
126 is released under an Open Source license. As a library, it presents a
127 single abstract data model to the calling application for all
128 supported formats. The related OGR library (which lives within the
129 GDAL source tree) provides a similar capability for simple features
132 %description -l pl.UTF-8
133 GDAL to biblioteka konwertująca między formatami rastrowych danych
134 dotyczących powierzchni Ziemi, udostępniona na licencji Open Source.
135 Jako biblioteka udostępnia aplikacjom jeden abstrakcyjny model danych
136 do wszystkich obsługiwanych formatów. Powiązana z nią biblioteka OGR
137 (której źródła są dołączone do drzewa źródeł GDAL) daje podobne
138 możliwości dla danych wektorowych.
141 Summary: GDAL library header files
142 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GDAL
143 Group: Development/Libraries
144 Requires: %{name} = %{version}-%{release}
145 %{?with_opencl:Requires: OpenCL-devel >= 1.0}
146 %{?with_armadillo:Requires: armadillo-devel}
147 Requires: cfitsio-devel
149 %{?with_epsilon:Requires: epsilon-compressor-devel}
150 Requires: expat-devel >= 1.95.0
151 Requires: freexl-devel >= 1.0
152 Requires: geos-devel >= 2.2.0
153 Requires: giflib-devel >= 4.0
154 Requires: hdf-devel >= 4.0
156 Requires: jasper-devel
157 Requires: libcsf-devel
158 Requires: libdap-devel >= 3.10
159 Requires: libgeotiff-devel >= 1.2.1
160 %{?with_gta:Requires: libgta-devel}
161 Requires: libjpeg-devel >= 6b
162 Requires: libpng-devel >= 2:1.2.8
163 %{?with_spatialite:Requires: libspatialite-devel}
164 Requires: libstdc++-devel
165 Requires: libtiff-devel >= 4.0
166 Requires: libuuid-devel
167 Requires: libwebp-devel
168 Requires: libxml2-devel
169 %{?with_mysql:Requires: mysql-devel}
170 Requires: netcdf-devel >= 4
171 Requires: ogdi-devel >= 3.1
172 #Requires: pcidsk-devel > 0.3
173 %{?with_podofo:Requires: podofo-devel}
174 %{?with_poppler:Requires: poppler-devel}
175 Requires: postgresql-devel
176 Requires: proj-devel >= 4
177 Requires: sqlite3-devel >= 3.0.0
178 %{?with_odbc:Requires: unixODBC-devel}
179 %{?with_xerces:Requires: xerces-c-devel >= 2.7.0}
181 Requires: zlib-devel >= 1.1.4
184 GDAL library header files.
186 %description devel -l pl.UTF-8
187 Pliki nagłówkowe biblioteki GDAL.
190 Summary: GDAL static libraries
191 Summary(pl.UTF-8): Statyczne biblioteki GDAL
192 Group: Development/Libraries
193 Requires: %{name}-devel = %{version}-%{release}
196 GDAL static libraries.
198 %description static -l pl.UTF-8
199 Statyczne biblioteki GDAL.
201 %package -n perl-gdal
202 Summary: Perl bindings for GDAL
203 Summary(pl.UTF-8): Wiązania Perla do pakietu GDAL
204 Group: Development/Languages/Perl
205 Requires: %{name} = %{version}-%{release}
207 %description -n perl-gdal
208 Perl bindings for GDAL - Geo::GDAL, Geo::OGR and Geo::OSR modules.
210 %description -n perl-gdal -l pl.UTF-8
211 Wiązania Perla do pakietu GDAL - moduły Geo::GDAL, Geo::OGR, Geo::OSR.
214 Summary: PHP bindings for GDAL library
215 Summary(pl.UTF-8): Wiązania PHP do biblioteki GDAL
216 Group: Development/Languages/PHP
217 Requires: %{name} = %{version}-%{release}
218 %{?requires_php_extension}
220 %description -n php-gdal
221 PHP bindings for GDAL library
223 %description -n php-gdal -l pl.UTF-8
224 Wiązania PHP do biblioteki GDAL.
226 %package -n python-gdal
227 Summary: GDAL Python module
228 Summary(pl.UTF-8): Moduł Pythona GDAL
229 Group: Libraries/Python
230 Requires: %{name} = %{version}-%{release}
231 %pyrequires_eq python-libs
233 %description -n python-gdal
236 %description -n python-gdal -l pl.UTF-8
239 %package -n ruby-gdal
240 Summary: Ruby bindings for GDAL
241 Summary(pl.UTF-8): Wiązania języka Ruby do pakietu GDAL
242 Group: Development/Languages
243 Requires: %{name} = %{version}-%{release}
244 %{?ruby_mod_ver_requires_eq}
246 %description -n ruby-gdal
247 Ruby bindings for GDAL - gdal, gdalconst, ogr and osr modules.
249 %description -n ruby-gdal -l pl.UTF-8
250 Wiązania języka Ruby do pakietu GDAL - moduły gdal, gdalconst, ogr i
260 # need to regenerate (old ones don't support perl 5.10)
261 %{__rm} swig/perl/{gdal_wrap.cpp,gdalconst_wrap.c,ogr_wrap.cpp,osr_wrap.cpp}
265 %{__sed} -i -e 's,DODS_INC="-I.*,DODS_INC="$(pkg-config --cflags libdap)",' configure.in
271 # disable grass/libgrass here, it can be built from separate gdal-grass package
273 --datadir=%{_datadir}/gdal \
274 --with-dods-root=/usr \
275 %{?with_armadillo:--with-armadillo} \
276 %{?with_epsilon:--with-epsilon} \
277 %{!?with_gta:--without-gta} \
278 --with-hide-internal-symbols \
279 %{?with_java:--with-java=%{java_home}} \
281 %{?with_java:--with-mdb --with-jvm-lib-add-rpath} \
282 %{?with_mysql:--with-mysql} \
283 %{?with_opencl:--with-opencl} \
285 %{?with_php:--with-php} \
286 %{?with_podofo:--with-podofo} \
287 %{?with_poppler:--with-poppler} \
289 %{?with_ruby:--with-ruby} \
290 %{?with_spatialite:--with-spatialite} \
293 %{?with_xerces:--with-xerces} \
294 --with-xerces-inc=/usr/include/xercesc \
295 --with-xerces-lib="-lxerces-c" \
299 # --with-pcidsk=/usr (needs > 0.3)
300 # csharp builds, but has no configure option
302 # regenerate where needed
303 %{__make} -j1 -C swig/perl generate
305 %{__make} -j1 -C swig/ruby generate
316 rm -rf $RPM_BUILD_ROOT
318 %{__make} -j1 install install-man \
319 DESTDIR=$RPM_BUILD_ROOT
323 cp -a ogr/html _html/ogr
326 # missing in make install
327 install -D swig/php/php_gdal.so $RPM_BUILD_ROOT%{php_extensiondir}/gdal.so
328 install -D swig/php/php_gdalconst.so $RPM_BUILD_ROOT%{php_extensiondir}/gdalconst.so
329 install -D swig/php/php_ogr.so $RPM_BUILD_ROOT%{php_extensiondir}/ogr.so
330 install -D swig/php/php_osr.so $RPM_BUILD_ROOT%{php_extensiondir}/osr.so
331 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
332 cat <<'EOF' >$RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/gdal.ini
333 ; Enable gdal extension module
335 extension=gdalconst.so
341 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
342 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
345 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
346 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/GDAL/.packlist
347 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/GDAL/Const/.packlist
348 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/OGR/.packlist
349 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Geo/OSR/.packlist
352 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/{GDAL.dox,GDAL/Const.dox,OGR.dox,OSR.dox}
353 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Geo/check_dox.pl
354 %{__rm} $RPM_BUILD_ROOT%{_bindir}/gdal_{fillnodata,sieve}.dox
357 rm -rf $RPM_BUILD_ROOT
359 %post -p /sbin/ldconfig
360 %postun -p /sbin/ldconfig
363 %defattr(644,root,root,755)
364 %doc NEWS PROVENANCE.TXT
365 %attr(755,root,root) %{_bindir}/epsg_tr.py
366 %attr(755,root,root) %{_bindir}/esri2wkt.py
367 %attr(755,root,root) %{_bindir}/gcps2vec.py
368 %attr(755,root,root) %{_bindir}/gcps2wld.py
369 %attr(755,root,root) %{_bindir}/gdal2tiles.py
370 %attr(755,root,root) %{_bindir}/gdal2xyz.py
371 %attr(755,root,root) %{_bindir}/gdal_contour
372 %attr(755,root,root) %{_bindir}/gdal_calc.py
373 %attr(755,root,root) %{_bindir}/gdal_fillnodata.py
374 %attr(755,root,root) %{_bindir}/gdal_grid
375 %attr(755,root,root) %{_bindir}/gdal_merge.py
376 %attr(755,root,root) %{_bindir}/gdal_polygonize.py
377 %attr(755,root,root) %{_bindir}/gdal_proximity.py
378 %attr(755,root,root) %{_bindir}/gdal_rasterize
379 %attr(755,root,root) %{_bindir}/gdal_retile.py
380 %attr(755,root,root) %{_bindir}/gdal_sieve.py
381 %attr(755,root,root) %{_bindir}/gdal_translate
382 %attr(755,root,root) %{_bindir}/gdaladdo
383 %attr(755,root,root) %{_bindir}/gdalbuildvrt
384 %attr(755,root,root) %{_bindir}/gdalchksum.py
385 %attr(755,root,root) %{_bindir}/gdaldem
386 %attr(755,root,root) %{_bindir}/gdalenhance
387 %attr(755,root,root) %{_bindir}/gdalident.py
388 %attr(755,root,root) %{_bindir}/gdalimport.py
389 %attr(755,root,root) %{_bindir}/gdalinfo
390 %attr(755,root,root) %{_bindir}/gdallocationinfo
391 %attr(755,root,root) %{_bindir}/gdalmanage
392 %attr(755,root,root) %{_bindir}/gdalsrsinfo
393 %attr(755,root,root) %{_bindir}/gdaltindex
394 %attr(755,root,root) %{_bindir}/gdaltransform
395 %attr(755,root,root) %{_bindir}/gdalwarp
396 %attr(755,root,root) %{_bindir}/mkgraticule.py
397 %attr(755,root,root) %{_bindir}/nearblack
398 %attr(755,root,root) %{_bindir}/ogr2ogr
399 %attr(755,root,root) %{_bindir}/ogrinfo
400 %attr(755,root,root) %{_bindir}/ogrtindex
401 %attr(755,root,root) %{_bindir}/pct2rgb.py
402 %attr(755,root,root) %{_bindir}/rgb2pct.py
403 %attr(755,root,root) %{_bindir}/testepsg
404 %attr(755,root,root) %{_libdir}/libgdal.so.*.*.*
405 %attr(755,root,root) %ghost %{_libdir}/libgdal.so.1
407 %{_mandir}/man1/gdal2tiles.1*
408 %{_mandir}/man1/gdal_contour.1*
409 %{_mandir}/man1/gdal_fillnodata.1*
410 %{_mandir}/man1/gdal_grid.1*
411 %{_mandir}/man1/gdal_merge.1*
412 %{_mandir}/man1/gdal_rasterize.1*
413 %{_mandir}/man1/gdal_retile.1*
414 %{_mandir}/man1/gdal_sieve.1*
415 %{_mandir}/man1/gdal_translate.1*
416 %{_mandir}/man1/gdal_utilities.1*
417 %{_mandir}/man1/gdaladdo.1*
418 %{_mandir}/man1/gdalbuildvrt.1*
419 %{_mandir}/man1/gdaldem.1*
420 %{_mandir}/man1/gdalinfo.1*
421 %{_mandir}/man1/gdallocationinfo.1*
422 %{_mandir}/man1/gdalsrsinfo.1*
423 %{_mandir}/man1/gdaltindex.1*
424 %{_mandir}/man1/gdaltransform.1*
425 %{_mandir}/man1/gdalwarp.1*
426 %{_mandir}/man1/nearblack.1*
427 %{_mandir}/man1/ogr2ogr.1*
428 %{_mandir}/man1/ogr_utilities.1*
429 %{_mandir}/man1/ogrinfo.1*
430 %{_mandir}/man1/ogrtindex.1*
431 %{_mandir}/man1/pct2rgb.1*
432 %{_mandir}/man1/rgb2pct.1*
435 %defattr(644,root,root,755)
437 %attr(755,root,root) %{_bindir}/gdal-config
438 %attr(755,root,root) %{_libdir}/libgdal.so
439 %{_libdir}/libgdal.la
440 %{_includedir}/cpl_*.h
441 %{_includedir}/cplkeywordparser.h
442 %{_includedir}/gdal*.h
443 %{_includedir}/gvgcpfit.h
444 %{_includedir}/memdataset.h
445 %{_includedir}/ogr_*.h
446 %{_includedir}/ogrsf_frmts.h
447 %{_includedir}/rawdataset.h
448 %{_includedir}/thinplatespline.h
449 %{_includedir}/vrtdataset.h
450 %{_mandir}/man1/gdal-config.1*
453 %defattr(644,root,root,755)
457 %defattr(644,root,root,755)
458 %dir %{perl_vendorarch}/Geo
459 %{perl_vendorarch}/Geo/GDAL.pm
460 %dir %{perl_vendorarch}/Geo/GDAL
461 %{perl_vendorarch}/Geo/GDAL/Const.pm
462 %{perl_vendorarch}/Geo/OGR.pm
463 %{perl_vendorarch}/Geo/OSR.pm
464 %dir %{perl_vendorarch}/auto/Geo
465 %dir %{perl_vendorarch}/auto/Geo/GDAL
466 %{perl_vendorarch}/auto/Geo/GDAL/GDAL.bs
467 %attr(755,root,root) %{perl_vendorarch}/auto/Geo/GDAL/GDAL.so
468 %dir %{perl_vendorarch}/auto/Geo/GDAL/Const
469 %{perl_vendorarch}/auto/Geo/GDAL/Const/Const.bs
470 %attr(755,root,root) %{perl_vendorarch}/auto/Geo/GDAL/Const/Const.so
471 %dir %{perl_vendorarch}/auto/Geo/OGR
472 %{perl_vendorarch}/auto/Geo/OGR/OGR.bs
473 %attr(755,root,root) %{perl_vendorarch}/auto/Geo/OGR/OGR.so
474 %dir %{perl_vendorarch}/auto/Geo/OSR
475 %{perl_vendorarch}/auto/Geo/OSR/OSR.bs
476 %attr(755,root,root) %{perl_vendorarch}/auto/Geo/OSR/OSR.so
480 %defattr(644,root,root,755)
481 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/gdal.ini
482 %attr(755,root,root) %{php_extensiondir}/gdal.so
483 %attr(755,root,root) %{php_extensiondir}/gdalconst.so
484 %attr(755,root,root) %{php_extensiondir}/ogr.so
485 %attr(755,root,root) %{php_extensiondir}/osr.so
488 %files -n python-gdal
489 %defattr(644,root,root,755)
490 %{py_sitedir}/gdal.py[co]
491 %{py_sitedir}/gdalconst.py[co]
492 %{py_sitedir}/gdalnumeric.py[co]
493 %{py_sitedir}/ogr.py[co]
494 %{py_sitedir}/osr.py[co]
495 %{py_sitedir}/GDAL-*.egg-info
496 %dir %{py_sitedir}/osgeo
497 %attr(755,root,root) %{py_sitedir}/osgeo/_gdal.so
498 %attr(755,root,root) %{py_sitedir}/osgeo/_gdal_array.so
499 %attr(755,root,root) %{py_sitedir}/osgeo/_gdalconst.so
500 %attr(755,root,root) %{py_sitedir}/osgeo/_ogr.so
501 %attr(755,root,root) %{py_sitedir}/osgeo/_osr.so
502 %{py_sitedir}/osgeo/*.py[co]
506 %defattr(644,root,root,755)
507 %dir %{ruby_sitearchdir}/gdal
508 %attr(755,root,root) %{ruby_sitearchdir}/gdal/gdal.so
509 %attr(755,root,root) %{ruby_sitearchdir}/gdal/gdalconst.so
510 %attr(755,root,root) %{ruby_sitearchdir}/gdal/ogr.so
511 %attr(755,root,root) %{ruby_sitearchdir}/gdal/osr.so