Files
2026-03-10 15:55:12 +11:00

149 lines
5.0 KiB
Tcl

# -*- 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 muniversal 1.0
PortGroup deprecated 1.0
PortGroup openssl 1.0
# Final release was on 2015-10-08
deprecated.eol_version yes
# building arm64 fails with unsupported option '-mthreads' and unsupported spinlock
supported_archs i386 ppc ppc64 x86_64
#remember to update the -doc and -server as well
name postgresql90
version 9.0.23
revision 12
categories databases
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 a8751d04dfad1323e4f2d2d2d05c8868cc3008ae \
sha256 3dbcbe19c814139a3f4be8bc6b49db804753cbc49979f345083e835c52b4d7de
use_bzip2 yes
# do not build man or html files (use postgresqlXY-doc instead); flex patch needed for flex >= 2.6.0, otherwise configure errs
patchfiles-append patch-no_doc.diff patch-configure-flex.diff patch-return.diff
openssl.branch 1.0
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-90
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} \
--docdir=${prefix}/share/doc/${name} \
--mandir=${prefix}/share/man \
--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
# building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
compiler.blacklist-append {clang < 421}
if {${universal_possible} && [variant_isset universal]} {
configure.cflags-append -DAC_APPLE_UNIVERSAL_BUILD
}
build.type gnu
build.target world
destroot.target install-world
test.run yes
test.target check
livecheck.type regex
livecheck.url ${homepage}/ftp/source/
livecheck.regex (9\\.0\\.\[.0-9\]+)
platform darwin {
if {${os.major} >= 12} {
patchfiles-append postgresql-uuid-ossp.patch
}
}
post-destroot {
system "cd ${destroot}${prefix}/bin && ln -sf ${libdir}/bin/psql psql90"
reinplace -E "s#^CFLAGS =#CFLAGS +=#g" \
${destroot}${prefix}/lib/postgresql90/pgxs/src/Makefile.global
reinplace -E "s#^(\[\[:space:\]\]+)LDFLAGS =#\\1LDFLAGS +=#g" \
${destroot}${prefix}/lib/postgresql90/pgxs/src/Makefile.global
}
if {!${universal_possible} || ![variant_isset universal]} {
post-destroot {
reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
}
} else {
merger-post-destroot {
foreach arch ${configure.universal_archs} {
reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
${destroot}-${arch}${prefix}/lib/${name}/pgxs/src/Makefile.global
reinplace -E "s#${worksrcpath}-${arch}#${worksrcpath}#g" \
${destroot}-${arch}${prefix}/lib/${name}/pgxs/src/Makefile.global
}
}
}
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
}
post-install {
ui_msg "\nTo use the postgresql server, install the ${name}-server port"
}