Permalink
Fetching contributors…
Cannot retrieve contributors at this time
147 lines (120 sloc) 4.17 KB
# -*- 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
PortSystem 1.0
PortGroup select 1.0
name postgresql84
version 8.4.22
revision 3
categories databases
platforms darwin
maintainers nomaintainer
license Permissive
description The most advanced open-source database available anywhere.
long_description PostgreSQL is Object-Relational Database Management System. \
It supports almost all SQL constructs, including transactions, \
subselects, and user-defined types and functions. Write-ahead \
logging means increased performance while retaining data \
integrity.
homepage https://www.postgresql.org/
master_sites http://ftp3.de.postgresql.org/pub/Mirrors/ftp.postgresql.org/source/v${version}/ \
postgresql:source/v${version}/
distname postgresql-${version}
checksums rmd160 c46d1fd3405150f0ed25012dad1ef8110d2c2d64 \
sha256 5c1d56ce77448706d9dd03b2896af19d9ab1b9b8dcdb96c39707c74675ca3826
use_bzip2 yes
depends_lib port:readline path:lib/libssl.dylib:openssl port:zlib port:libxml2 port:libxslt port:ossp-uuid
depends_build port:bison
depends_run port:postgresql_select
worksrcdir postgresql-${version}
set libdir ${prefix}/lib/${name}
configure.args --sysconfdir=${prefix}/etc/${name} \
--bindir=${libdir}/bin \
--libdir=${libdir} \
--includedir=${prefix}/include/${name} \
--datadir=${prefix}/share/${name} \
--mandir=${prefix}/share/man \
--without-docdir \
--with-includes=${prefix}/include \
--with-libraries=${prefix}/lib \
--with-openssl \
--with-bonjour \
--with-readline \
--with-zlib \
--with-libxml \
--with-libxslt \
--enable-thread-safety \
--enable-integer-datetimes \
--with-ossp-uuid
configure.cppflags-append -I${prefix}/include/ossp
if {[variant_isset universal]} {
post-configure {
system "cd ${worksrcpath}/src/include \
&& ed - pg_config.h < ${filespath}/pg_config.h.ed \
&& touch stamp-h"
system "cd ${worksrcpath}/src/interfaces/ecpg/include \
&& ed - ecpg_config.h < ${filespath}/ecpg_config.h.ed \
&& touch stamp-h"
}
}
build.type gnu
build.target
test.run yes
test.target check
livecheck.type none
platform darwin {
if {${os.major} >= 12} {
patchfiles-append postgresql-uuid-ossp.patch
}
if {${os.major} >= 13} {
configure.args-replace --with-bonjour --without-bonjour
}
}
# prepare the contrib modules
set contribs {}
post-build {
set contribdirs [glob -nocomplain -type d ${worksrcpath}/contrib/*]
foreach d [lsort $contribdirs] {
if { [file exists $d/Makefile] } {
lappend contribs [file tail $d]
}
}
foreach contrib ${contribs} {
system "cd ${worksrcpath}/contrib/${contrib}/ && ${build.cmd}"
}
}
post-destroot {
foreach contrib ${contribs} {
system "echo contrib: \"${contrib}\""
system "cd ${worksrcpath}/contrib/${contrib}/ && \
${destroot.cmd} install ${destroot.destdir} && touch DONE"
}
system "cd ${destroot}${prefix}/bin && ln -sf ${libdir}/bin/psql psql84"
file delete -force ${destroot}${prefix}/share/doc/postgresql \
${destroot}${prefix}/share/man
}
select.group postgresql
select.file ${filespath}/${name}
variant python requires python27 description {add support for python} {
}
variant python27 description {add support for python 2.7} {
depends_lib-append port:python27
configure.args-append --with-python
configure.python ${prefix}/bin/python2.7
}
variant krb5 description {add support for Kerberos 5 authentication} {
configure.args-append --with-krb5
}
variant perl description {add Perl support} {
depends_lib-append bin:perl:perl5
configure.args-append --with-perl
}
variant tcl description {add Tcl support} {
depends_lib-append port:tcl
configure.args-append --with-tcl --with-tclconfig=${prefix}/lib
configure.env-append TCLSH=${prefix}/bin/tclsh
}
variant earthdistance description {add earthdistance contrib module} {
lappend contribs cube earthdistance
}
post-install {
ui_msg "\nTo use the postgresql server, install the postgresql84-server port"
}