# -*- 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 105173 2013-04-12 18:23:21Z snc@macports.org $

PortSystem          1.0

name                unbound
version             1.4.20
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  8852e6dd24823e0043e3c8ff8139e56715729bc3 \
                    sha256  14527002307873e557348a4d76b62ac036937d9c3033610a8425018c379fb56e

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
