# -*- 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

name                dbslayer
version             beta-12
revision            2
categories          databases lang www
maintainers         nomaintainer
platforms           darwin
license             Apache-2

description         The DBacesslayer aka DBSlayer is a lightweight database abstraction layer \
                    suitable for high-load websites where you need the scalable advantages of \
                    connection pooling.
long_description    {*}${description} Written in C for speed, DBSlayer talks to clients via JSON over \
                    HTTP, meaning it's simple to monitor and can swiftly interoperate with any web \
                    framework you choose.

homepage            http://code.nytimes.com/projects/dbslayer/wiki
master_sites        http://code.nytimes.com/downloads/

patchfiles          patch-configure.ac.diff

checksums           sha1    fbf1c5563a6ee45783e31f6b49612e64fc141186 \
                    rmd160  439414996072ce36c7361d1188ebe115c70e0151

worksrcdir          ${name}

depends_lib-append  port:apr-util

extract.suffix      .tgz

post-extract {
    foreach svn_dirs [glob -nocomplain -path ${worksrcpath}/ -type d .svn */.svn */*/.svn ] {
        delete $svn_dirs
    }
}
use_autoreconf      yes

configure.args      --with-apr-1-config=${prefix}/bin/apr-1-config \
                    --with-apu-1-config=${prefix}/bin/apu-1-config

post-destroot {
    xinstall -d ${destroot}${prefix}/share/${name}
    copy ${worksrcpath}/htdocs \
            ${destroot}${prefix}/share/${name}
    copy ${worksrcpath}/test \
            ${destroot}${prefix}/share/${name}
}

variant mysql51 \
    conflicts mysql55 mysql56 mariadb \
    description {build with mysql51 port} {

    depends_lib-append      port:mysql51
    configure.args-append   --with-mysql-config=${prefix}/lib/mysql51/bin/mysql_config
}

variant mysql55 \
    conflicts mysql51 mysql56 mariadb \
    description {build with mysql55 port} {

    depends_lib-append      port:mysql55
    configure.args-append   --with-mysql-config=${prefix}/lib/mysql55/bin/mysql_config
}

variant mysql56 \
    conflicts mysql51 mysql55 mariadb \
    description {build with mysql56 port} {

    depends_lib-append      port:mysql56
    configure.args-append   --with-mysql-config=${prefix}/lib/mysql56/bin/mysql_config
}

variant mariadb \
    conflicts mysql51 mysql55 mysql56 \
    description {build with mariadb port} {

    depends_lib-append      port:mariadb
    configure.args-append   --with-mysql-config=${prefix}/lib/mariadb/bin/mysql_config
}

if {

    ![variant_isset mysql51]
    && ![variant_isset mysql55]
    && ![variant_isset mysql56]
    && ![variant_isset mariadb]
} {
    default_variants    +mysql56
}
pre-fetch {
    if {

        ![variant_isset mysql51]
        && ![variant_isset mysql55]
        && ![variant_isset mysql56]
        && ![variant_isset mariadb]
    } {

        ui_error "${name} requires one of these variants: +mysql51, +mysql55, +mysql56, or +mariadb"
    }
}

livecheck.url       ${master_sites}
livecheck.type      regex
livecheck.regex     ">${name}-((?!\${extract.suffix}).*)${extract.suffix}<"
