1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | # $Id: Portfile 110974 2013-09-12 07:01:08Z ryandesign@macports.org $ |
---|
3 | |
---|
4 | PortSystem 1.0 |
---|
5 | |
---|
6 | name gdal |
---|
7 | version 1.10.1 |
---|
8 | revision 0 |
---|
9 | categories gis |
---|
10 | license MIT BSD |
---|
11 | platforms darwin |
---|
12 | |
---|
13 | maintainers gmail.com:seanasy openmaintainer |
---|
14 | |
---|
15 | description GDAL - Geospatial Data Abstraction Library |
---|
16 | |
---|
17 | long_description GDAL is a translator library for raster geospatial \ |
---|
18 | data formats that is released under an X/MIT style \ |
---|
19 | Open Source license. As a library, it presents a \ |
---|
20 | single abstract data model to the calling application \ |
---|
21 | for all supported formats. The related OGR library \ |
---|
22 | (which lives within the GDAL source tree) provides a \ |
---|
23 | similar capability for simple features vector data. |
---|
24 | |
---|
25 | homepage http://www.gdal.org/ |
---|
26 | master_sites http://www.gdal.org/dl/ \ |
---|
27 | http://download.osgeo.org/gdal/ \ |
---|
28 | http://download.osgeo.org/gdal/CURRENT/ |
---|
29 | |
---|
30 | checksums rmd160 b06cbd0f34a6dad99768d5f75a9856e4e027d3bc \ |
---|
31 | sha256 9984f0314c0bd831eb59fb646c2bc5e13cf1378be4f51499045166cbe62be6ea |
---|
32 | |
---|
33 | depends_lib-append port:zlib \ |
---|
34 | port:libpng \ |
---|
35 | port:tiff \ |
---|
36 | port:libgeotiff \ |
---|
37 | port:jpeg \ |
---|
38 | path:include/gif_lib.h:giflib \ |
---|
39 | port:proj |
---|
40 | |
---|
41 | set PYINST "" |
---|
42 | set OPENCLBASE "/System/Library/Frameworks/OpenCL.framework/" |
---|
43 | |
---|
44 | configure.args-append \ |
---|
45 | --with-local=${prefix} \ |
---|
46 | --with-libz=${prefix} \ |
---|
47 | --without-liblzma \ |
---|
48 | --with-png=${prefix} \ |
---|
49 | --with-libtiff=${prefix} \ |
---|
50 | --with-geotiff=${prefix} \ |
---|
51 | --with-jpeg=${prefix}\ |
---|
52 | --with-gif=${prefix} \ |
---|
53 | --with-static-proj4=${prefix} \ |
---|
54 | --without-pg \ |
---|
55 | --without-grass \ |
---|
56 | --without-libgrass \ |
---|
57 | --without-cfitsio \ |
---|
58 | --without-pcraster \ |
---|
59 | --without-netcdf \ |
---|
60 | --without-ogdi \ |
---|
61 | --without-fme \ |
---|
62 | --without-hdf4 \ |
---|
63 | --without-hdf5 \ |
---|
64 | --without-jasper \ |
---|
65 | --without-openjpeg \ |
---|
66 | --without-ecw \ |
---|
67 | --without-kakadu \ |
---|
68 | --without-mrsid \ |
---|
69 | --without-jp2mrsid \ |
---|
70 | --without-msg \ |
---|
71 | --without-bsb \ |
---|
72 | --without-oci \ |
---|
73 | --without-grib \ |
---|
74 | --without-mysql \ |
---|
75 | --without-ingres \ |
---|
76 | --without-xerces \ |
---|
77 | --without-odbc \ |
---|
78 | --without-curl \ |
---|
79 | --without-sqlite3 \ |
---|
80 | --without-spatialite \ |
---|
81 | --without-dwgdirect \ |
---|
82 | --without-idb \ |
---|
83 | --without-sde \ |
---|
84 | --without-geos \ |
---|
85 | --without-opencl \ |
---|
86 | --without-pam \ |
---|
87 | --without-perl \ |
---|
88 | --without-php \ |
---|
89 | --without-ruby \ |
---|
90 | --without-python \ |
---|
91 | --without-xerces \ |
---|
92 | --without-expat \ |
---|
93 | --without-poppler \ |
---|
94 | --mandir=${prefix}/share/man |
---|
95 | |
---|
96 | # Patch to ensure that the python installation respects DESTDIR |
---|
97 | patchfiles patch-swig_python_GNUmakefile \ |
---|
98 | patch-gdalwarpkernel_opencl_c.diff \ |
---|
99 | patch-gdalwarpkernel_opencl_h.diff |
---|
100 | |
---|
101 | # Upstream fix for "Undefined symbols: _environ" |
---|
102 | patchfiles-append patch-port-cpl_spawn.cpp.diff |
---|
103 | |
---|
104 | # Patches for universal build |
---|
105 | post-configure { |
---|
106 | reinplace -E "s|(INST_PYMOD).*|\\1\t=\t${PYINST}|" \ |
---|
107 | ${worksrcpath}/GDALmake.opt |
---|
108 | if {[variant_isset universal]} { |
---|
109 | system "ed - ${worksrcpath}/port/cpl_config.h < ${filespath}/config.h.ed" |
---|
110 | } |
---|
111 | } |
---|
112 | |
---|
113 | # Set target to none |
---|
114 | build.target |
---|
115 | |
---|
116 | variant lzma conflicts universal \ |
---|
117 | description {Enable LZMA (7Z) compression support} { |
---|
118 | depends_lib-append port:lzma |
---|
119 | configure.args-delete --without-liblzma |
---|
120 | configure.args-append --with-liblzma=yes |
---|
121 | } |
---|
122 | |
---|
123 | variant geos description {Enable GEOS geometry engine functionality} { |
---|
124 | depends_lib-append port:geos |
---|
125 | configure.args-delete --without-geos |
---|
126 | configure.args-append --with-geos=${prefix}/bin/geos-config |
---|
127 | } |
---|
128 | |
---|
129 | variant curl description {Enable curl support} { |
---|
130 | depends_lib-append port:curl |
---|
131 | configure.args-delete --without-curl |
---|
132 | configure.args-append --with-curl=${prefix}/bin/curl-config |
---|
133 | } |
---|
134 | |
---|
135 | variant mrsid description {Enable MrSID file format} { |
---|
136 | depends_lib-append port:geoexpress-sdk |
---|
137 | configure.args-delete --without-mrsid |
---|
138 | configure.args-append --with-mrsid=${prefix}/share/Geo_DSDK/Raster_DSDK |
---|
139 | } |
---|
140 | |
---|
141 | variant hdf4 description {Enable HDF4 file format} { |
---|
142 | depends_lib-append port:hdf4 |
---|
143 | configure.args-delete --without-hdf4 |
---|
144 | configure.args-append --with-hdf4=${prefix} |
---|
145 | } |
---|
146 | |
---|
147 | variant hdf5 description {Enable HDF5 file format} { |
---|
148 | depends_lib-append port:hdf5-18 |
---|
149 | configure.args-delete --without-hdf5 |
---|
150 | configure.args-append --with-hdf5=${prefix} |
---|
151 | } |
---|
152 | |
---|
153 | variant netcdf description {Enable NetCDF file format} { |
---|
154 | depends_lib-append port:netcdf |
---|
155 | configure.args-delete --without-netcdf |
---|
156 | configure.args-append --with-netcdf=${prefix} |
---|
157 | } |
---|
158 | |
---|
159 | #JPEG-2K |
---|
160 | variant jasper conflicts openjpeg \ |
---|
161 | description {Enable JasPer JPEG-2000 format support} { |
---|
162 | depends_lib-append port:jasper |
---|
163 | configure.args-delete --without-jasper |
---|
164 | configure.args-append --with-jasper=${prefix} |
---|
165 | } |
---|
166 | |
---|
167 | variant openjpeg conflicts jasper \ |
---|
168 | description {Enable OpenJPEG JPEG-2000 format support} { |
---|
169 | depends_lib-append port:openjpeg |
---|
170 | configure.args-delete --without-openjpeg |
---|
171 | configure.args-append --with-openjpeg=${prefix} |
---|
172 | } |
---|
173 | |
---|
174 | |
---|
175 | variant xerces description {Enable xerces XML support for GML file format} { |
---|
176 | depends_lib-append port:xercesc |
---|
177 | configure.args-delete --without-xerces |
---|
178 | configure.args-append --with-xerces=${prefix} |
---|
179 | } |
---|
180 | |
---|
181 | variant expat description {Enable expat XML support} { |
---|
182 | depends_lib-append port:expat |
---|
183 | configure.args-delete --without-expat |
---|
184 | configure.args-append --with-expat=${prefix} |
---|
185 | } |
---|
186 | |
---|
187 | # Python variants |
---|
188 | variant python24 conflicts python25 python26 python27 \ |
---|
189 | description {Enable Python 2.4 support} { |
---|
190 | depends_lib-append port:python24 \ |
---|
191 | port:py-numpy |
---|
192 | configure.args-delete --without-python |
---|
193 | configure.args-append --with-python |
---|
194 | set PYINST ${frameworks_dir}/Python.framework/Versions/2.4 |
---|
195 | build.args-append PYTHON=python2.4 |
---|
196 | } |
---|
197 | |
---|
198 | variant python25 conflicts python24 python26 python27 \ |
---|
199 | description {Enable Python 2.5 support} { |
---|
200 | depends_lib-append port:python25 \ |
---|
201 | port:py25-numpy |
---|
202 | configure.args-delete --without-python |
---|
203 | configure.args-append --with-python |
---|
204 | set PYINST ${frameworks_dir}/Python.framework/Versions/2.5 |
---|
205 | build.args-append PYTHON=python2.5 |
---|
206 | use_parallel_build no |
---|
207 | } |
---|
208 | |
---|
209 | variant python26 conflicts python24 python25 python27 \ |
---|
210 | description {Enable Python 2.6 support} { |
---|
211 | depends_lib-append port:python26 \ |
---|
212 | port:py26-numpy |
---|
213 | configure.args-delete --without-python |
---|
214 | configure.args-append --with-python |
---|
215 | set PYINST ${frameworks_dir}/Python.framework/Versions/2.6 |
---|
216 | build.args-append PYTHON=python2.6 |
---|
217 | use_parallel_build no |
---|
218 | } |
---|
219 | |
---|
220 | variant python27 conflicts python24 python25 python26 \ |
---|
221 | description {Enable Python 2.7 support} { |
---|
222 | depends_lib-append port:python27 \ |
---|
223 | port:py27-numpy |
---|
224 | configure.args-delete --without-python |
---|
225 | configure.args-append --with-python |
---|
226 | build.args-append PYTHON=python2.7 |
---|
227 | set PYINST ${frameworks_dir}/Python.framework/Versions/2.7 |
---|
228 | use_parallel_build no |
---|
229 | } |
---|
230 | |
---|
231 | # Database variants |
---|
232 | variant postgresql81 description {Enable PostgreSQL 8.1 support} { |
---|
233 | depends_lib-append port:postgresql81 |
---|
234 | configure.args-delete --without-pg |
---|
235 | configure.args-append --with-pg=${prefix}/lib/postgresql81/bin/pg_config |
---|
236 | } |
---|
237 | |
---|
238 | variant postgresql82 description {Enable PostgreSQL 8.2 support} { |
---|
239 | depends_lib-append port:postgresql82 |
---|
240 | configure.args-delete --without-pg |
---|
241 | configure.args-append --with-pg=${prefix}/lib/postgresql82/bin/pg_config |
---|
242 | } |
---|
243 | |
---|
244 | variant postgresql83 description {Enable PostgreSQL 8.3 support} { |
---|
245 | depends_lib-append port:postgresql83 |
---|
246 | configure.args-delete --without-pg |
---|
247 | configure.args-append --with-pg=${prefix}/lib/postgresql83/bin/pg_config |
---|
248 | } |
---|
249 | |
---|
250 | variant postgresql84 description {Enable PostgreSQL 8.4 support} { |
---|
251 | depends_lib-append port:postgresql84 |
---|
252 | configure.args-delete --without-pg |
---|
253 | configure.args-append --with-pg=${prefix}/lib/postgresql84/bin/pg_config |
---|
254 | } |
---|
255 | |
---|
256 | variant postgresql90 description {Enable PostgreSQL 9.0 support} { |
---|
257 | depends_lib-append port:postgresql90 |
---|
258 | configure.args-delete --without-pg |
---|
259 | configure.args-append --with-pg=${prefix}/lib/postgresql90/bin/pg_config |
---|
260 | } |
---|
261 | |
---|
262 | variant postgresql91 description {Enable PostgreSQL 9.1 support} { |
---|
263 | depends_lib-append port:postgresql91 |
---|
264 | configure.args-delete --without-pg |
---|
265 | configure.args-append --with-pg=${prefix}/lib/postgresql91/bin/pg_config |
---|
266 | } |
---|
267 | |
---|
268 | variant postgresql92 description {Enable PostgreSQL 9.2 support} { |
---|
269 | depends_lib-append port:postgresql92 |
---|
270 | configure.args-delete --without-pg |
---|
271 | configure.args-append --with-pg=${prefix}/lib/postgresql92/bin/pg_config |
---|
272 | } |
---|
273 | |
---|
274 | variant mysql5 description {Enable MySQL 5 support} { |
---|
275 | depends_lib-append path:bin/mysql_config5:mysql5 |
---|
276 | configure.args-delete --without-mysql |
---|
277 | configure.args-append --with-mysql=${prefix}/lib/mysql5/bin/mysql_config |
---|
278 | } |
---|
279 | |
---|
280 | variant sqlite3 description {Enable SQLite3 support} { |
---|
281 | depends_lib-append port:sqlite3 |
---|
282 | configure.args-delete --without-sqlite3 |
---|
283 | configure.args-append --with-sqlite3=${prefix} |
---|
284 | |
---|
285 | post-configure { |
---|
286 | reinplace -E "s|^LIBS(.*)\\\\$|LIBS\\1 -lsqlite3 \\\\|" ${worksrcpath}/GDALmake.opt |
---|
287 | } |
---|
288 | } |
---|
289 | |
---|
290 | variant spatialite description {Enable SpartiaLite support} { |
---|
291 | depends_lib-append port:spatialite |
---|
292 | configure.args-delete --without-spatialite |
---|
293 | configure.args-append --with-spatialite=${prefix} |
---|
294 | } |
---|
295 | |
---|
296 | variant odbc description {Enable ODBC support} { |
---|
297 | depends_lib-append port:unixODBC |
---|
298 | configure.args-delete --without-odbc |
---|
299 | configure.args-append --with-odbc=${prefix} |
---|
300 | } |
---|
301 | |
---|
302 | variant poppler description {Enable poppler support} { |
---|
303 | depends_lib-append port:poppler |
---|
304 | configure.args-delete --without-popper |
---|
305 | configure.args-append --with-poppler=${prefix} |
---|
306 | } |
---|
307 | |
---|
308 | # OpenCL |
---|
309 | variant opencl description {Use OpenCL for parallel computations} { |
---|
310 | configure.args-delete --without-opencl |
---|
311 | configure.args-append --with-opencl |
---|
312 | configure.args-append --with-opencl-include=${OPENCLBASE}/Headers |
---|
313 | configure.args-append --with-opencl-lib='-framework OpenCL' |
---|
314 | } |
---|
315 | |
---|
316 | # OS X Framework |
---|
317 | variant framework description {Build as a Mac OS X framework} { |
---|
318 | configure.args-append --with-macosx-framework |
---|
319 | } |
---|
320 | |
---|
321 | # Perf variant to optimize code |
---|
322 | variant perf description {Optimize for speed} { |
---|
323 | configure.compiler macports-clang-3.3 |
---|
324 | configure.cflags -O3 -pipe -march=native |
---|
325 | configure.cxxflags -O3 -pipe -march=native |
---|
326 | } |
---|
327 | |
---|
328 | default_variants +expat |
---|
329 | |
---|
330 | # Postconfigure hack to avoid read ${include} .h files before |
---|
331 | # GDAL own include directories |
---|
332 | post-configure { |
---|
333 | set FRMT_PATH ${worksrcpath}/ogr/ogrsf_frmts |
---|
334 | foreach makefile [glob -dir $FRMT_PATH */GNUmakefile] { |
---|
335 | reinplace "s|\$\(EXPAT_INCLUDE\)||" $makefile |
---|
336 | } |
---|
337 | } |
---|
338 | |
---|
339 | post-destroot { |
---|
340 | xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name} |
---|
341 | xinstall -m 644 -W ${worksrcpath} HOWTO-RELEASE NEWS VERSION \ |
---|
342 | ${destroot}${prefix}/share/doc/${name} |
---|
343 | |
---|
344 | if {[variant_isset mrsid]} { |
---|
345 | foreach f [list \ |
---|
346 | bin/gdal_contour \ |
---|
347 | bin/gdal_grid \ |
---|
348 | bin/gdal_rasterize \ |
---|
349 | bin/gdal_translate \ |
---|
350 | bin/gdaladdo \ |
---|
351 | bin/gdalbuildvrt \ |
---|
352 | bin/gdaldem \ |
---|
353 | bin/gdalenhance \ |
---|
354 | bin/gdalinfo \ |
---|
355 | bin/gdallocationinfo \ |
---|
356 | bin/gdalmanage \ |
---|
357 | bin/gdalserver \ |
---|
358 | bin/gdalsrsinfo \ |
---|
359 | bin/gdaltindex \ |
---|
360 | bin/gdaltransform \ |
---|
361 | bin/gdalwarp \ |
---|
362 | bin/nearblack \ |
---|
363 | bin/ogr2ogr \ |
---|
364 | bin/ogrinfo \ |
---|
365 | bin/ogrtindex \ |
---|
366 | bin/testepsg \ |
---|
367 | lib/libgdal.1.dylib] \ |
---|
368 | { |
---|
369 | exec install_name_tool -change libltidsdk.8.dylib ${prefix}/share/Geo_DSDK/Raster_DSDK/lib/libltidsdk.8.dylib ${destroot}${prefix}/${f} |
---|
370 | } |
---|
371 | } |
---|
372 | } |
---|
373 | |
---|
374 | livecheck.type regex |
---|
375 | livecheck.url http://download.osgeo.org/gdal/CURRENT |
---|
376 | livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)\\.tar |
---|