source: trunk/dports/databases/postgresql/Portfile @ 3880

Last change on this file since 3880 was 3880, checked in by mww, 17 years ago

Submitted by: aqua_dabbler@…

fix minor issue in 'server' variant

  • Property svn:eol-style set to native
File size: 3.9 KB
Line 
1# $Id: Portfile,v 1.29 2003/11/03 12:48:23 mww Exp $
2
3PortSystem 1.0
4name            postgresql
5version         7.3.4
6revision        1
7categories      databases
8maintainers     mww@opendarwin.org
9description     The most advanced open-source database available anywhere
10long_description PostgreSQL is Object-Relational Database Management System. \
11        It supports almost all SQL constructs, including transactions, \
12        subselects, and user-defined types and functions. Write-ahead logging \
13        means increased performance while retaining data integrity.
14
15homepage        http://www.postgresql.org/
16platforms       darwin freebsd
17set subdir      source/v${portversion}
18master_sites    ftp://ftp2.ch.postgresql.org/mirror/postgresql/${subdir}/ \
19                ftp://ftp3.us.postgresql.org/pub/postgresql/${subdir}/ \
20                ftp://ftp.postgresql.org/pub/${subdir}/ \
21                ftp://ftp.de.postgresql.org/mirror/postgresql/${subdir}/ \
22                ftp://ftp.fr.postgresql.org/${subdir}/ \
23                ftp://ftp.jp.postgresql.org/${subdir}/ \
24                ftp://ftp2.uk.postgresql.org/${subdir}/
25
26checksums       md5 82878d6d74c36384af3595d26ed38067
27depends_lib     lib:readline:readline
28configure.env   CPPFLAGS="-I${prefix}/include" \
29                LDFLAGS="-L${prefix}/lib"
30
31configure.args  --docdir=${prefix}/share/doc/${name}-${version} \
32                --datadir=${prefix}/share/${name}-${version} \
33                --sysconfdir=${prefix}/etc/pgsql \
34                --mandir=${prefix}/share/man
35
36build.type      gnu
37
38test.run        yes
39test.target     check
40
41#this will propably be removed as soon as we get variant dependencies
42default_variants        +devel
43
44variant darwin  {
45        patchfiles      patch-src-Makefile.shlib \
46                        patch-src-makefiles-Makefile.darwin \
47                        patch-darwin.h-diff \
48                        patch-darwin.diff
49                }
50
51variant ssl     {
52        depends_lib-append      lib:libssl:openssl
53        configure.args-append   --with-openssl
54                }
55
56variant devel   {
57        destroot.target-append  install-all-headers
58                }
59
60variant perl    {
61        configure.args-append   --with-perl
62        depends_lib             lib:perl:perl5.8
63                }
64
65variant java    {
66        configure.args-append   --with-java
67        depends_build           bin:ant:apache-ant
68        configure.env-append    ANT=${prefix}/java/apache-ant/bin/ant
69                }
70
71variant tcltk   {
72        configure.args-append   --with-tcl \
73                                --with-tclconfig=$prefix/lib \
74                                --with-tkconfig=$prefix/lib
75        configure.env-append    TCLSH=${prefix}/bin/tclsh8.4
76        depends_lib             lib:tcl8.4:tcl
77        depends_lib             lib:tk8.4:tk
78                }
79
80variant server  {
81        depends_run path:/Library/StartupItems/DarwinPortsStartup:DarwinPortsStartup
82
83        post-destroot   {
84                set dbdir ${prefix}/var/db/pgsql/defaultdb
85                set restart_mode fast
86                set stop_mode fast
87
88                #XXX Breaks for binaries, need post-deploy
89                addgroup postgres
90                set gid [existsgroup postgres]
91                adduser postgres home=${prefix} shell=/bin/sh gid=${gid} \
92                        realname=Postgres\ Server
93
94                system "install -v -d ${destroot}${prefix}/etc/rc.d"
95                system "install -v -c ${portpath}/files/pgsql.sh \
96                        ${destroot}${prefix}/etc/rc.d"
97                system "install -v -d ${destroot}${prefix}/var/log/"
98                system "install -v -d ${destroot}${prefix}/var/log/pgsql/"
99                system "touch ${destroot}${prefix}/var/log/pgsql/pgsql.log"
100                system "install -v -d ${destroot}${prefix}/var/db/pgsql/"
101
102                #XXX yikes, dirty .turd hack
103                system "touch ${destroot}${prefix}/var/db/pgsql/.turd"
104                system "chown -R postgres ${destroot}${prefix}/var/db/pgsql"
105                system "chgrp -R postgres ${destroot}${prefix}/var/db/pgsql"
106                system "chown -R postgres ${destroot}${prefix}/var/log/pgsql"
107                system "chgrp -R postgres ${destroot}${prefix}/var/log/pgsql"
108                reinplace "s|__PREFIX|${prefix}|g" \
109                        ${destroot}${prefix}/etc/rc.d/pgsql.sh
110                reinplace "s|__LOGDIR|${prefix}/var/log/pgsql|g" \
111                        ${destroot}${prefix}/etc/rc.d/pgsql.sh
112                reinplace "s|__DBDIR|${dbdir}|g" \
113                        ${destroot}${prefix}/etc/rc.d/pgsql.sh
114                reinplace "s|__RSMODE|${restart_mode}|g" \
115                        ${destroot}${prefix}/etc/rc.d/pgsql.sh
116                reinplace "s|__STMODE|${stop_mode}|g" \
117                        ${destroot}${prefix}/etc/rc.d/pgsql.sh
118                if [file exists ${dbdir}] { return }
119                system "install -v -d ${destroot}${dbdir}"
120                ## Requires post-deploy.
121                #   system "su postgres -c \'${prefix}/bin/initdb -D ${dbdir}\'"
122                        }
123                }
124
Note: See TracBrowser for help on using the repository browser.