# $Id: Portfile 93007 2012-05-14 00:40:38Z ryandesign@macports.org $

PortSystem          1.0

name                mongodb
epoch               1
version             2.0.5
license             AGPL-3.0
categories          databases
maintainers         ryandesign

description         High-performance, schema-free document-oriented database
long_description    ${description}

platforms           darwin

homepage            http://www.mongodb.org/
master_sites        http://downloads.mongodb.org/src/
distname            ${name}-src-r${version}

checksums           rmd160  ca4a9ad2955f94cdd6d2e55ffa45f9d5a20dd8de \
                    sha256  5bdd2ccdeb89e1955313f7aabc6afd448cd25bcc1b85e976960f476025bcdc6e

depends_build       port:scons

depends_lib         port:boost \
                    port:pcre \
                    port:spidermonkey \
                    port:libpcap \
                    port:snappy

patchfiles          patch-SConstruct.diff \
                    patch-distsrc-client-SConstruct.diff \
                    patch-util-compress.cpp.diff

post-patch {
    reinplace "s|@@PREFIX@@|${prefix}|g" \
        ${worksrcpath}/SConstruct \
        ${worksrcpath}/distsrc/client/SConstruct
}

use_configure       no

variant universal {}

if {${configure.compiler} == "clang" && [vercmp ${xcodeversion} 4.3] < 0} {
    configure.compiler llvm-gcc-4.2
}

build.env           TERM=xterm \
                    CFLAGS="[get_canonical_archflags cc]" \
                    CPPFLAGS="-I${prefix}/include/js" \
                    CXXFLAGS="[get_canonical_archflags cxx]" \
                    LINKFLAGS="[get_canonical_archflags ld] -lpcre"

build.cmd           scons
build.target        all mongobridge mongosniff
build.args          --cxx=${configure.cxx} \
                    --full \
                    --use-system-all \
                    --usesm

eval destroot.env   [option build.env]
destroot.args       ${build.args}
destroot.destdir    --prefix=${destroot}${prefix}

set dbdir           ${prefix}/var/db/mongodb
set logdir          ${prefix}/var/log/mongodb
if {"darwin" == ${os.platform} && ${os.major} > 8} {
    set mongouser       _mongo
} else {
    set mongouser       mongo
}
add_users           ${mongouser} group=${mongouser} realname=MongoDB\ Server

post-destroot {
    xinstall -W ${worksrcpath} mongobridge ${destroot}${prefix}/bin

    xinstall -m 755 -o ${mongouser} -g ${mongouser} -d \
        ${destroot}${dbdir} \
        ${destroot}${logdir}
    destroot.keepdirs-append  \
        ${destroot}${dbdir} \
        ${destroot}${logdir}
}

startupitem.create      yes
startupitem.executable  sudo -u ${mongouser} ${prefix}/bin/mongod --dbpath ${dbdir} --logpath ${logdir}/mongodb.log --logappend

livecheck.url       ${homepage}downloads
livecheck.regex     {mongodb-src-r(\d+\.\d*[02468]\.\d+)\.}
