# -*- 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 117935 2014-03-17 14:59:11Z snc@macports.org $

PortSystem          1.0

name                unbound
version             1.4.22
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:expat

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  e9b4ded75308ac2f2ed9ae6783e29411428626fc \
                    sha256  1caf5081b2190ecdb23fc4d998b7999e28640c941f53baff7aee03c092a7d29f

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
