source: trunk/dports/databases/postgresql7/Portfile @ 33257

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

make port lint clean

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.1 KB
Line 
1# $Id: Portfile 33257 2008-01-22 11:00:19Z jwa@macports.org $
2
3PortSystem 1.0
4
5name                    postgresql7
6version                 7.4.19
7categories              databases
8platforms               darwin
9maintainers             mww jwa
10description             The most advanced open-source database available anywhere
11long_description PostgreSQL is Object-Relational Database Management System. \
12                        It supports almost all SQL constructs, including transactions, \
13                        subselects, and user-defined types and functions. Write-ahead \
14                        logging means increased performance while retaining data \
15                        integrity.
16
17homepage                http://www.postgresql.org/
18master_sites    postgresql:source/v${version}
19
20checksums               sha1 19c563d47b0d5deeef03b5ca7707c9f1917853ce
21use_bzip2               yes
22
23depends_lib             port:readline \
24                                port:openssl \
25                                port:zlib \
26                                port:bison
27
28distname                postgresql-${version}
29
30set libdir              ${prefix}/lib/pgsql7
31configure.args  --sysconfdir=${prefix}/etc/pgsql7 \
32                                --bindir=${libdir}/bin \
33                                --libdir=${libdir} \
34                                --includedir=${prefix}/include/pgsql7 \
35                                --datadir=${prefix}/share/${name} \
36                                --mandir=${prefix}/share/man \
37                                --docdir=${prefix}/share/doc/${name} \
38                                --with-docdir=${prefix}/share/doc/${name} \
39                                --with-includes=${prefix}/include \
40                                --with-libraries=${prefix}/lib \
41                                --with-openssl=${prefix} \
42                                --with-rendezvous \
43                                --with-readline \
44                                --with-zlib \
45                                --enable-thread-safety \
46                                --enable-integer-datetimes \
47                                --enable-multibyte \
48                                --enable-unicode
49
50build.type              gnu
51
52post-build      {
53        # build autovacuum
54        system "cd ${worksrcpath}/contrib/pg_autovacuum && ${build.cmd}"
55        # build tsearch2
56        system "cd ${worksrcpath}/contrib/tsearch2 && ${build.cmd}"
57}
58
59test.run                yes
60test.target             check
61
62# install headers too
63destroot.target-append  install-all-headers
64post-destroot   {
65        # install autovacuum
66        xinstall -m 755 -s ${worksrcpath}/contrib/pg_autovacuum/pg_autovacuum \
67                ${destroot}${libdir}/bin
68        # install tsearch2
69        system "cd ${worksrcpath}/contrib/tsearch2 && ${build.cmd} install ${destroot.destdir}"
70        # symlinks
71        system "cd ${destroot}${prefix}/bin && ln -sf ${libdir}/bin/psql psql7"
72        # nuke nonsense
73        system "cd ${destroot}${prefix}/share && rm -rf doc"
74}
75
76# Defaults for database
77set dbdir       ${prefix}/var/db/pgsql7/defaultdb
78set logdir      ${prefix}/var/log/pgsql7
79set dbuser      postgres7
80set dbgrp       postgres
81
82variant perl description {add Perl support} {
83        configure.args-append   --with-perl
84        depends_lib-append      lib:perl:perl5.8
85}
86
87variant java  description {add Java support} {
88        configure.args-append   --with-java
89        depends_build           port:apache-ant
90        depends_lib-append      bin:java:kaffe
91        configure.env-append    ANT=${prefix}/share/java/apache-ant/bin/ant
92}
93
94variant tcltk description {add tcl, tk support} {
95        configure.args-append   --with-tcl \
96                                --with-tclconfig=${prefix}/lib \
97                                --with-tkconfig=${prefix}/lib
98        configure.env-append    TCLSH=${prefix}/bin/tclsh
99        depends_lib-append      port:tcl port:tk
100}
101
102variant server description {add startup item for server} {
103        startupitem.create      yes
104        startupitem.init        \
105"PGCTL=${libdir}/bin/pg_ctl"
106        startupitem.start       \
107"su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL7DATA:=${dbdir}} start -l ${logdir}/postgres.log\""
108        startupitem.stop        \
109"su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL8DATA:=${dbdir}} stop -s -m fast\""
110
111        pre-destroot {
112                xinstall -m 755 -d ${destroot}${dbdir} \
113                        ${destroot}${prefix}/var/log/pgsql \
114                        ${destroot}${prefix}/var/db/pgsql
115                # Add User postgres:postgres
116                addgroup ${dbuser}
117                set gid [existsgroup ${dbgrp}]
118                adduser ${dbuser} shell=/bin/sh gid=${gid} \
119                        home=${prefix}/var/db/pgsql7 \
120                        realname=PostgreSQL-7\ Server
121        }
122
123        post-destroot {
124                destroot.keepdirs ${destroot}${prefix}/var/db/pgsql
125                system "cd ${destroot}${prefix}/var/log/pgsql && \
126                        touch pgsql.log pg_autovacuum.log"
127
128                foreach d { db/pgsql log/pgsql log/pgsql/pgsql.log log/pgsql/pg_autovacuum.log } {
129                        file attributes ${destroot}${prefix}/var/${d} \
130                                -group ${dbgr} -owner ${dbuser}
131                }
132        }
133
134        post-install {
135                ui_msg "\nTo create a database instance, after install do\n\
136                        sudo su ${dbuser} -c \'${libdir}/bin/initdb -D ${dbdir}\'"
137        }
138}
139
140platform darwin i386 {
141        extract { return -code error "\n\nThis platform is not supported by PostgreSQL 7. Please migrate to the PostgreSQL 8 series!\n" }
142}
143
144livecheck.check regex
145livecheck.url   ${homepage}
146livecheck.regex v(7.4.\[0-9\]+)
147
Note: See TracBrowser for help on using the repository browser.