# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id: Portfile 71694 2010-09-20 15:20:44Z stromnov@macports.org $

PortSystem          1.0

name                gearmand
version             0.14
revision            1
categories          sysutils net devel
platforms           darwin

description         Framework for distributed computation
long_description    \
        Gearman provides a generic application framework  to  farm  out  work \
        to other machines or processes that are better suited to do the work. \
        It allows you to do work in parallel,  to  load  balance  processing, \
        and to call functions between languages.  It can be used in a variety \
        of applications, from high-availability web sites to the transport of \
        database replication events. In other words, it is the nervous system \
        for how distributed processing communicates.

maintainers         medialize.de:rodney.rehm \
                    andyfowler.com:andy \
                    openmaintainer

homepage            http://gearman.org/
master_sites        https://launchpad.net/gearmand/trunk/${version}/+download/

checksums           md5     6e5e1f63c02745da174947bb3a44d8f9 \
                    sha1    11d1a3d530963861e53504582fc17c5184d249b8 \
                    rmd160  6b1c305fc830fac8d0eb6493016295bed609a9fe

depends_lib         port:libevent port:ossp-uuid port:sqlite3

configure.args      --mandir=${prefix}/share/man \
                    --with-libevent-prefix=${prefix} \
                    --disable-libdrizzle \
                    --disable-libpq \
                    --disable-libmemcached \
                    --disable-libtokyocabinet

variant dtrace description {Enable DTrace probes} {
    configure.args-append   --enable-dtrace
}

variant no_sqlite description {Build without sqlite3 support} {
    depends_lib-delete      port:sqlite3
    configure.args-append   --disable-libsqlite3
}

variant drizzle description {Build with libdrizzle support} {
    depends_lib-append      port:libdrizzle
    configure.args-delete   --disable-libdrizzle
    configure.args-append   --enable-libdrizzle
}

variant postgres description {Build with postgresql support} {
    depends_lib-append      port:libpqxx
    configure.args-delete   --disable-libpq
    configure.args-append   --enable-libpq
}

variant memcached description {Build with memcached support} {
    depends_lib-append      port:libmemcached
    configure.args-delete   --disable-libmemcached
    configure.args-append   --enable-libmemcached
}

variant tokyocabinet description {Build with tokyocabinet support} {
    depends_lib-append      port:tokyocabinet
    configure.args-delete   --disable-libtokyocabinet
    configure.args-append   --enable-libtokyocabinet
}

startupitem.create  yes
startupitem.executable  ${prefix}/sbin/gearmand -vv \
                        --port=4730 \
                        -u root \
                        --pid-file=${prefix}/var/run/gearmand.pid \
                        --log-file=${prefix}/var/log/gearmand.log

livecheck.type      regex
livecheck.url       https://launchpad.net/${name}/+download
livecheck.regex     {gearmand-(\d+(?:\.\d+)*).tar.gz}
