source: trunk/dports/databases/postgresql84/Portfile @ 117331

Last change on this file since 117331 was 117331, checked in by jwa@…, 6 years ago

postgresql: regroup contrib build, to make it more reliable

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.3 KB
Line 
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 117331 2014-02-22 09:13:03Z jwa@macports.org $
3
4PortSystem 1.0
5PortGroup select 1.0
6
7name                    postgresql84
8version                 8.4.20
9categories              databases
10platforms               darwin
11maintainers             mww jwa
12license                 Permissive
13description             The most advanced open-source database available anywhere.
14long_description PostgreSQL is Object-Relational Database Management System. \
15                                It supports almost all SQL constructs, including transactions, \
16                                subselects, and user-defined types and functions. Write-ahead \
17                                logging means increased performance while retaining data \
18                                integrity.
19
20homepage                http://www.postgresql.org/
21master_sites            http://ftp3.de.postgresql.org/pub/Mirrors/ftp.postgresql.org/source/v${version}/ \
22                        postgresql:source/v${version}/
23distname                postgresql-${version}
24
25checksums           rmd160  974a4ccf2170ef8f42bbf639c1a74d3100ffa727 \
26                    sha256  e84e46083a6accd2bf37f0bd7253415649afcafc49f2564bc8481c10ed90d7c1
27
28use_bzip2               yes
29
30depends_lib             port:readline port:openssl port:zlib port:libxml2 port:libxslt port:ossp-uuid
31depends_build           port:bison
32depends_run             port:postgresql_select
33
34worksrcdir              postgresql-${version}
35
36patchfiles              src_pl_plpython_Makefile.patch
37
38set libdir              ${prefix}/lib/${name}
39configure.args  --sysconfdir=${prefix}/etc/${name} \
40                                --bindir=${libdir}/bin \
41                                --libdir=${libdir} \
42                                --includedir=${prefix}/include/${name} \
43                                --datadir=${prefix}/share/${name} \
44                                --mandir=${prefix}/share/man \
45                                --without-docdir \
46                                --with-includes=${prefix}/include \
47                                --with-libraries=${prefix}/lib \
48                                --with-openssl \
49                                --with-bonjour \
50                                --with-readline \
51                                --with-zlib \
52                                --with-libxml \
53                                --with-libxslt \
54                                --enable-thread-safety \
55                                --enable-integer-datetimes \
56                                --with-ossp-uuid
57configure.cppflags-append       -I${prefix}/include/ossp
58
59if {[variant_isset universal]} {
60    post-configure {
61        system "cd ${worksrcpath}/src/include \
62                && ed - pg_config.h < ${filespath}/pg_config.h.ed \
63                && touch stamp-h"
64        system "cd ${worksrcpath}/src/interfaces/ecpg/include \
65                && ed - ecpg_config.h < ${filespath}/ecpg_config.h.ed \
66                && touch stamp-h"
67    }
68}
69
70build.type              gnu
71build.target
72
73test.run                yes
74test.target             check
75
76livecheck.type  regex
77livecheck.url   ${homepage}
78livecheck.regex (8\\.4\\.\[0-9\]+)
79
80platform darwin 12 {
81    patchfiles-append   postgresql-uuid-ossp.patch
82}
83
84platform darwin 13 {
85    patchfiles-append   postgresql-uuid-ossp.patch
86    configure.args-delete   --with-bonjour
87    configure.args-append   --without-bonjour
88}
89
90# prepare the contrib modules
91set contribs {}
92
93post-build {
94    set contribdirs [glob -nocomplain -type d ${worksrcpath}/contrib/*]
95    foreach d [lsort $contribdirs] {
96        if { [file exists $d/Makefile] } {
97            lappend contribs [file tail $d]
98        }
99    }
100        foreach contrib ${contribs} {
101                system "cd ${worksrcpath}/contrib/${contrib}/ && ${build.cmd}"
102        }
103}
104
105post-destroot {
106        foreach contrib ${contribs} {
107                system "echo contrib: \"${contrib}\""
108                system "cd ${worksrcpath}/contrib/${contrib}/ && \
109                        ${destroot.cmd} install ${destroot.destdir} && touch DONE"
110        }
111        system "cd ${destroot}${prefix}/bin && ln -sf ${libdir}/bin/psql psql84"
112        file delete -force ${destroot}${prefix}/share/doc/postgresql \
113                ${destroot}${prefix}/share/man
114}
115
116select.group    postgresql
117select.file     ${filespath}/${name}
118
119variant python requires python27 description {add support for python} {
120}
121
122variant python27 description {add support for python 2.7} {
123        depends_lib-append              port:python27
124        configure.args-append   --with-python
125        configure.python                ${prefix}/bin/python2.7
126}
127
128variant krb5 description {add support for Kerberos 5 authentication} {
129        configure.args-append   --with-krb5
130}
131
132variant perl description {add Perl support} {
133        depends_lib-append                      bin:perl:perl5
134        configure.args-append           --with-perl
135}
136
137variant tcl description {add Tcl support} {
138        depends_lib-append                      port:tcl
139        configure.args-append           --with-tcl --with-tclconfig=${prefix}/lib
140        configure.env-append            TCLSH=${prefix}/bin/tclsh
141}
142
143variant earthdistance description {add earthdistance contrib module} {
144    lappend contribs cube earthdistance
145}
146
147post-install {
148        ui_msg "\nTo use the postgresql server, install the postgresql84-server port"
149}
150
Note: See TracBrowser for help on using the repository browser.