source: trunk/dports/databases/postgresql7/Portfile

Last change on this file was 146517, checked in by raimue@…, 19 months ago

Mass rev-bump dependents of port openssl due to ABI change

Disabling SSLv2 in r146162 changed the ABI of the library, leading to loading
errors for binaries with references to SSLv2 symbols.

https://lists.macosforge.org/pipermail/macports-dev/2016-March/032531.html

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