# -*- 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 # $Id$ PortSystem 1.0 PortGroup select 1.0 PortGroup compiler_blacklist_versions 1.0 #remember to update the -doc and -server as well name postgresql94 version 9.4.10 categories databases platforms darwin maintainers mww jwa 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 http://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 40d7b38f3bce9e5404825c653e9bb2b851f84374 \ sha256 7061678bed1981c681ce54c76b98b6ec17743f090a9775104a45e7e1a8826ecf use_bzip2 yes depends_lib port:readline path:lib/libssl.dylib:openssl port:zlib port:libxml2 port:libxslt 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 \ --with-includes=${prefix}/include \ --with-libraries=${prefix}/lib \ --with-openssl \ --with-bonjour \ --with-readline \ --with-zlib \ --with-libxml \ --with-libxslt \ --with-gssapi \ --enable-thread-safety \ --with-uuid=e2fs configure.ldflags-append -headerpad_max_install_names # building psql with clang from XCode prior to 4.4 causes segfault on query; see #31717 compiler.blacklist-append {clang < 421} notes "To use the postgresql server, install the ${name}-server port" if {[variant_isset universal]} { configure.cflags-append -DAC_APPLE_UNIVERSAL_BUILD 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 # remember to change livecheck with first proper release livecheck.type regex livecheck.regex (9\\.4\\.\[.0-9\]+) livecheck.url ${homepage}/ftp/source/ #livecheck.regex (9\\.4\[.0-9\]*\[a-z\]+\[0-9\]) # prepare the contrib modules set contribs {} post-build { # remove a Linux-specific contrib before continuing file delete -force ${worksrcpath}/contrib/sepgsql 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 psql94" file delete -force ${destroot}${prefix}/share/doc/postgresql \ ${destroot}${prefix}/share/man reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \ ${destroot}${prefix}/lib/postgresql94/pgxs/src/Makefile.global reinplace -E "s#^CFLAGS =#CFLAGS +=#g" \ ${destroot}${prefix}/lib/postgresql94/pgxs/src/Makefile.global reinplace -E "s#^(\[\[:space:\]\]+)LDFLAGS =#\\1LDFLAGS +=#g" \ ${destroot}${prefix}/lib/postgresql94/pgxs/src/Makefile.global } 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 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 }