# -*- 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 89571 2012-02-03 14:36:39Z snc@macports.org $

PortSystem          1.0

name                unbound
version             1.4.16
categories          net
license             BSD
maintainers         macports.org:snc \
                    macports.org:deric
description         Validating, recursive, and caching DNS resolver.
homepage            http://unbound.net/
platforms           darwin
depends_lib         port:openssl port:ldns

set unbounduser     unbound
set unboundgroup    unbound

long_description    Unbound is a validating, recursive, and caching DNS \
                    server software product from NLnet Labs, VeriSign Inc.,\
                    Nominet, and Kirei. It is distributed free of charge \
                    in open source form under the BSD license.\
                    Unbound is designed as a set of modular components \
                    that incorporate modern features, such as enhanced \
                    security (DNSSEC) validation, Internet Protocol \
                    Version 6 (IPv6), and a client resolver library API \
                    as an integral part of the architecture.

master_sites        http://unbound.net/downloads/

checksums           rmd160  5da0ddeb315fb1aa5ea7a388b3e4bef251f03536 \
                    sha256  fb71665851eb11d3b1ad5dd5f9d7b167e0902628c06db3d6fc14afd95cc970fa

if {[variant_isset universal]} {
    if {${configure.compiler} == "clang"} {
        configure.compiler llvm-gcc-4.2
    }
}

configure.args-append   --with-pidfile=${prefix}/var/run/${name}/${name}.pid

variant libevent description {Build with libevent (slower, but allows use of large outgoing port ranges)} {
    depends_lib-append      port:libevent
    configure.args-append   --with-libevent=${prefix}
}

add_users ${unbounduser} group=${unboundgroup} home=/dev/null realname=Unbound\ Resolver
post-destroot {
    xinstall -o ${unbounduser} -g ${unboundgroup} -m 755 -d ${destroot}${prefix}/var/run/${name}
    move ${destroot}${prefix}/etc/${name}/${name}.conf ${destroot}${prefix}/etc/${name}/${name}.conf-dist
    touch ${destroot}${prefix}/var/run/${name}/${name}.pid
    file attributes ${destroot}${prefix}/var/run/${name}/${name}.pid -owner ${unbounduser}
}

# Make it run on boot
startupitem.create  yes
startupitem.name    unbound
startupitem.start   ${prefix}/sbin/unbound
startupitem.stop    "/bin/kill \$(cat ${prefix}/var/run/unbound/unbound.pid)"

livecheck.type      regex
livecheck.url       ${homepage}/download.html
livecheck.regex     "The latest version of unbound \\(currently (\\d+\\.\\d+(\\.\\d+))\\)"

use_parallel_build  no
