source: trunk/dports/databases/postgis2/Portfile @ 92495

Last change on this file since 92495 was 92495, checked in by vince@…, 5 years ago

Add an epoch to allow seamless upgrade to 2.0.1 when released.

File size: 5.0 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 64746 2010-03-15 13:15:37Z nox@macports.org $
3
4PortSystem          1.0
5PortGroup           archcheck 1.0
6
7name                postgis2
8categories          databases gis
9license             GPL
10revision            9656
11epoch                           0
12version             2.0.1-svn
13platforms           darwin
14maintainers         vince openmaintainer
15
16description         PostGIS is the spatial extension to the\
17                    PostGreSQL database.
18
19long_description    PostGIS 2 adds geometrical, geographical and topological\
20                    types, and functions operating thereon, to the PostGreSQL\
21                    database. The 2.0 release also provides raster handling\
22                    and basic 3D geometry capacities (TIN and polyhedra).
23
24homepage            http://postgis.refractions.net/
25
26master_sites        http://www.postgis.org/download
27
28fetch.type          svn
29svn.revision        ${revision}
30svn.url             http://svn.osgeo.org/postgis/trunk
31
32depends_lib         port:geos\
33                    port:proj\
34                    port:libiconv\
35                    port:libxml2
36
37archcheck.files     lib/libgeos_c.dylib\
38                    lib/libiconv.dylib\
39                    lib/libproj.dylib\
40                    lib/libxml2.dylib
41
42worksrcdir          trunk
43
44# PostGIS 2.0 is not compatible with PostGIS 1.5
45
46conflicts           postgis
47
48# Neither is PostGIS 2.0 compatible with PostGreSQL 8
49
50variant postgresql90        description {Builds with postgresql 9.0} \
51                            conflicts postgresql91 {
52    depends_lib-append      port:postgresql90
53    archcheck.files-append  lib/postgresql90/libpq.dylib
54    configure.args-append   --libdir=${prefix}/lib/postgresql90\
55                            --with-pgconfig=${prefix}/lib/postgresql90/bin/pg_config
56    build.args-append       PGSQL_DOCDIR=${destroot}${prefix}/share/doc/postgresql90\
57                            PGSQL_MANDIR=${destroot}${prefix}/share/man
58}
59
60variant postgresql91        description {Builds with postgresql 9.1} \
61                            conflicts postgresql90 {
62    depends_lib-append      port:postgresql91
63    archcheck.files-append  lib/postgresql91/libpq.dylib
64    configure.args-append   --libdir=${prefix}/lib/postgresql91\
65                            --with-pgconfig=${prefix}/lib/postgresql91/bin/pg_config
66    build.args-append       PGSQL_DOCDIR=${destroot}${prefix}/share/doc/postgresql91\
67                            PGSQL_MANDIR=${destroot}${prefix}/share/man
68}
69
70variant raster              description {Build raster support} {
71
72    depends_lib-append      port:gdal
73    configure.args-append   --with-raster
74}
75
76variant topology            description {Build topology support} {
77
78    configure.args-append   --with-topology
79}
80
81variant gui                 description {Build the GUI import tool} {
82
83    depends_lib-append      port:gtk2
84    configure.args-append   --with-gui
85}
86
87variant comments            description {Build comments -- ! broken } {
88
89    ui_warn "Variant comments is currently broken. Use at your own risks."
90   
91    depends_build           port:docbook-xsl \
92                            port:libxslt \
93                            port:ImageMagick
94   
95    configure.args          --datadir=${prefix}/share/${name} \
96                            --with-projdir=${prefix} \
97                            --with-xsldir=${prefix}/share/xsl/docbook-xsl
98
99    build.target-append     comments
100    destroot.target-append  docs-install comments-install
101}
102
103default_variants            +raster +topology
104
105if {![variant_isset postgresql90] && ![variant_isset postgresql91]} {
106    default_variants        +postgresql91
107}
108
109# Port phases
110
111pre-configure {
112    system "cd ${worksrcpath} && ./autogen.sh"
113
114    if {[variant_isset postgresql90]} {
115        set PGVERSION   postgresql90
116    } elseif {[variant_isset postgresql91]} {
117        set PGVERSION   postgresql91
118    }
119   
120    # Can’t install a non-universal PostGIS on a universal PostGreSQL
121    if {![catch {exec ${prefix}/bin/port installed $PGVERSION\
122                    |& grep universal}] && ![variant_isset universal]} {
123       
124        return -code error  "Since $PGVERSION has been built universal,\
125                            PostGIS must also be built universal."
126    }
127}
128
129configure.cflags-append \
130    -Diconv=libiconv -Diconv_open=libiconv_open -Diconv_close=libiconv_close \
131    -I${prefix}/include
132
133post-configure {
134    if {[variant_isset universal]} {
135        # We must add universal flags to compile liblwgeom properly
136        file copy ${filespath}/ed_command ${worksrcpath}/ed_command
137        reinplace -E "s#XXX#${configure.universal_cflags}#" \
138                    ${worksrcpath}/ed_command
139        system "cd ${worksrcpath}/liblwgeom && \
140                ed Makefile < ${worksrcpath}/ed_command"
141    }
142}
143
144build.args                  ICONV_LDFLAGS='-L${prefix}/lib -liconv'
145
146
147livecheck.type              regex
148livecheck.url               ${master_sites}
149livecheck.regex             ${name}-(\\d+(?:\\.\\d+)*)\\.tar
Note: See TracBrowser for help on using the repository browser.