# -*- 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: Portfile 90660 2012-03-11 22:08:08Z pixilla@macports.org $

PortSystem          1.0

name                libzdb
version             2.10
revision            1
set branch          [join [lrange [split ${version} .] 0 1] .]
categories          databases devel
maintainers         pixilla openmaintainer
license             GPL-3
platforms           darwin

description         A small, fast and easy to use Open Source Database Connection Pool Library.
long_description    "${description}
* Thread safe Database Connection Pool
* Connect to multiple database systems
* Zero runtime configuration, connect using a URL scheme
* C library
* Supports MySQL, PostgreSQL, SQLite and Oracle"

homepage            http://www.tildeslash.com/libzdb/
master_sites        ${homepage}dist/

checksums           rmd160  8798b0fc7bf42f57484dd4cbe2af33ecef8e143c \
                    sha256  62cd160bb6c8da49fcf9a6746f45ff0298db8d310565b7e74c648fc6a67609bd

configure.args      --with-sysroot=${prefix} \
                    --enable-optimized \
                    --without-postgresql \
                    --without-mysql \
                    --without-sqlite \
                    --without-oci

if {
    ![variant_isset mysql5]
    && ![variant_isset oracle]
    && ![variant_isset postgresql82]
    && ![variant_isset postgresql83]
    && ![variant_isset postgresql84]
    && ![variant_isset postgresql90]
    && ![variant_isset postgresql91]
    && ![variant_isset sqlite3]
} {
    default_variants    +mysql5
}

post-destroot {
    xinstall -d ${destroot}${prefix}/share/doc
    copy ${worksrcpath}/doc ${destroot}${prefix}/share/doc/${name}
	xinstall -m 0644 -W ${worksrcpath} AUTHORS CHANGES COPYING README \
		${destroot}${prefix}/share/doc/${name}/
}

variant mysql5 description {Enable MySQL support} {

    depends_lib-append      path:bin/mysql_config5:mysql5
    configure.args-delete   --without-mysql
    configure.args-append   --with-mysql=${prefix}/bin/mysql_config5
}

variant oracle description {Enable Oracle support} {

    depends_lib-append      port:oracle-instantclient
    configure.args-delete   --without-oci
    configure.args-append   --with-oci-include=${prefix}/lib/oracle/sdk/include \
                            --with-oci-lib=${prefix}/lib/oracle
}

variant postgresql82 description {Enable PostgreSQL 8.2 support} \
    conflicts postgresql83 postgresql84 postgresql90 postgresql91 {

    depends_lib-append      port:postgresql82
    configure.args-delete   --without-postgresql
    configure.args-append   --with-postgresql=${prefix}/lib/postgresql82/bin/pg_config
}

variant postgresql83 description {Enable PostgreSQL 8.3 support} \
    conflicts postgresql82 postgresql84 postgresql90 postgresql91 {

    depends_lib-append      port:postgresql83
    configure.args-delete   --without-postgresql
    configure.args-append   --with-postgresql=${prefix}/lib/postgresql83/bin/pg_config
}

variant postgresql84 description {Enable PostgreSQL 8.4 support} \
    conflicts postgresql82 postgresql83 postgresql90 postgresql91 {

    depends_lib-append      port:postgresql84
    configure.args-delete   --without-postgresql
    configure.args-append   --with-postgresql=${prefix}/lib/postgresql84/bin/pg_config
}

variant postgresql90 description {Enable PostgreSQL 9.0 support} \
    conflicts postgresql82 postgresql83 postgresql84 postgresql91 {

    depends_lib-append      port:postgresql90
    configure.args-delete   --without-postgresql
    configure.args-append   --with-postgresql=${prefix}/lib/postgresql90/bin/pg_config
}

variant postgresql91 description {Enable PostgreSQL 9.1 support} \
    conflicts postgresql82 postgresql83 postgresql84 postgresql90 {

    depends_lib-append      port:postgresql91
    configure.args-delete   --without-postgresql
    configure.args-append   --with-postgresql=${prefix}/lib/postgresql91/bin/pg_config
}

variant sqlite3 description {Enable SQLite 3 support} {

    depends_lib-append      port:sqlite3
    configure.args-delete   --without-sqlite
    configure.args-append   --with-sqlite=${prefix} \
                            --enable-sqliteunlock
}

variant openssl description {Enable OpenSSL support} {

    license-append          OpenSSL SSLeay
    depends_lib-append      port:openssl
    configure.args-append   --enable-openssl=${prefix}
}

test.run                yes
test.target             verify
