# -*- 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 96779 2012-08-19 06:32:23Z ryandesign@macports.org $

PortSystem 1.0
PortGroup               muniversal 1.0

name                    memcached
version                 1.4.14
description             A high performance, distributed memory object caching system.
long_description        Memcached is a high-performance, distributed memory object \
    caching system, generic in nature, but intended for use in \
    speeding up dynamic web applications by alleviating database load.
maintainers             nomaintainer
license                 BSD
categories              sysutils
platforms               darwin
installs_libs           no

homepage                http://memcached.org/
master_sites            googlecode

checksums               rmd160  b46ebf6b43520511d15c8e9f0ba4ab19f3aebc6e \
                        sha256  f2e2ad8ee8d256f2c3748d7f741dcddfd0ab6bdece6fa1c18484e83f311156ef

# http://code.google.com/p/memcached/issues/detail?id=285
compiler.blacklist      clang

configure.args          --with-libevent=${prefix} \
                        ac_cv_search_umem_cache_create=no \
                        ac_cv_header_umem_h=no

depends_lib             port:libevent

startupitem.create      yes
startupitem.executable  ${prefix}/bin/memcached -u nobody -m 64 -c 10240 -p 11211

if {[variant_isset universal]} {
    set merger_configure_args(x86_64) --enable-64bit
    set merger_configure_args(ppc64)  --enable-64bit
} else {
    if {[info exists build_arch] && (${build_arch} == "x86_64" || $build_arch == "ppc64")} {
                configure.args-append --enable-64bit
    }
}

variant sasl description {enable SASL authentication} {
    configure.args-append   --enable-sasl
}

variant umem description {enable libumem support} {
    depends_lib-append     port:umem
    configure.args-delete  ac_cv_search_umem_cache_create=no
    configure.args-delete  ac_cv_header_umem_h=no
}

livecheck.type  regex
livecheck.regex ${name}-(\\d+(?:\\.\\d+){2,})\\.
