# $Id: Portfile 136685 2015-05-24 07:30:37Z ryandesign@macports.org $ PortSystem 1.0 name djbdns version 1.05 revision 2 categories net license public-domain maintainers nomaintainer description D.J. Bernstein's DNS tools long_description \ DJBDNS is a collection of Domain Name System tools. It includes several \ components: \ - The dnscache program is a local DNS cache. It accepts recursive DNS \ queries from local clients such as web browsers. It collects responses \ from remote DNS servers. \ - The tinydns program is a fast, UDP-only DNS server. It makes local DNS \ information available to the Internet. \ - The pickdns program is a load-balancing DNS server. It points clients \ to a dynamic selection of IP addresses. \ - The walldns program is a reverse DNS wall. It provides matching reverse \ and forward records while hiding local host information. \ - The dns library handles outgoing and incoming DNS packets. It can be \ used by clients such as web browsers to look up host addresses, host \ names, MX records, etc. It supports asynchronous resolution. \ - The dnsfilter program is a parallel IP-address-to-host-name converter. \ - The dnsip, dnsipq, dnsname, dnstxt, and dnsmx programs are simple \ command-line interfaces to DNS. \ - The dnsq and dnstrace programs are DNS debugging tools. homepage http://cr.yp.to/djbdns.html master_sites ${homepage} \ http://smarden.org/pape/djb/manpages/:man distfiles-append ${distname}-man-20031023.tar.gz:man extract.only ${distname}.tar.gz \ ${distname}-man-20031023.tar.gz checksums ${distname}${extract.suffix} \ md5 3147c5cd56832aa3b41955c7a51cbeb2 \ sha1 2efdb3a039d0c548f40936aa9cb30829e0ce8c3d \ rmd160 a832cbfd93e4ccec6a565492a4ee0b3c1b4b68ed \ ${distname}-man-20031023${extract.suffix} \ md5 14d7329cff69f604fac607436eb8485e \ sha1 3bac8a34a4bc681b9a0e603a77fa11492619e3ce \ rmd160 42a5b3305513851dfe1da46df6f405bc81602fbe platforms darwin universal_variant no depends_run port:daemontools port:ucspi-tcp patchfiles patch-Makefile \ patch-dnscache-conf.c \ patch-hier.c \ patch-dnsroots.global.diff \ patch-response.c.diff pre-patch { # The build process will create a tinydns executable, so this needs to # be renamed on case-insensitive file systems move ${worksrcpath}/TINYDNS ${worksrcpath}/TINYDNS.txt } configure { reinplace "s%/usr/local%${prefix}%" ${worksrcpath}/conf-home reinplace "s%__DESTROOT%${destroot}%" ${worksrcpath}/hier.c reinplace "s%__PREFIX%${prefix}%" ${worksrcpath}/hier.c reinplace "s%/etc/dnsrewrite%${prefix}&%" ${worksrcpath}/dns_rcrw.c } build.target default destroot.target setup check post-destroot { xinstall -d -m 0755 ${destroot}${prefix}/share/man/man1 xinstall -m 0644 {*}[glob ${workpath}/${name}-man/*.1] \ ${destroot}${prefix}/share/man/man1 xinstall -d -m 0755 ${destroot}${prefix}/share/man/man8 xinstall -m 0644 {*}[glob ${workpath}/${name}-man/*.8] \ ${destroot}${prefix}/share/man/man8 xinstall -m 0755 -d ${destroot}${prefix}/share/doc/${name} xinstall -m 0644 -W ${worksrcpath} CHANGES README TINYDNS.txt TODO \ ${destroot}${prefix}/share/doc/${name} xinstall -m 0644 -W ${workpath}/${name}-man README \ ${destroot}${prefix}/share/doc/${name}/README_MAN } set ipv6_diff ${distname}-test23.diff variant ipv6 conflicts dumpcache description {Patch in support for IPv6} { master_sites-append http://www.fefe.de/dns/:ipv6 distfiles-append ${ipv6_diff}.bz2:ipv6 checksums-append ${ipv6_diff}.bz2 \ md5 dc35e88e20ffe2670cef5bb4d8a2c183 \ sha1 34251597d211ff00791cb6546e8ef60d75ce5477 \ rmd160 33037f2a41abb49c305f3efec4402c6965c8b8b8 post-patch { ui_info "$UI_PREFIX Applying ${ipv6_diff}" system "cd ${worksrcpath} && (bunzip2 -c ${distpath}/${ipv6_diff}.bz2 | patch -p1)" } } set dumpcache_diff patch-dnscache-dumpcache-v4.txt variant dumpcache conflicts ipv6 description {Enable cache dumping of running dnscache} { master_sites-append http://efge.free.fr/djbdns/:dumpcache distfiles-append ${dumpcache_diff}:dumpcache \ prettycache.pl:dumpcache checksums-append ${dumpcache_diff} \ md5 61441dec12dd627a7fea7c3059cc2542 \ sha1 0bf1bf159336944468c49bf47687b8fdcbd35393 \ rmd160 323ba626b3885b722c09ad6e3f6792053cc8ae11 \ prettycache.pl \ md5 6318e8e866c78adf9b411b58f5088fc2 \ sha1 ea5790ed4678be89e0e82e9c59788f9f4db40dff \ rmd160 2abc43a6a824e2d10919b6200048326b584e0d6b post-patch { ui_info "$UI_PREFIX Applying ${dumpcache_diff}" system "cd ${worksrcpath} && patch -p1 < ${distpath}/${dumpcache_diff}" } post-destroot { xinstall -m 0755 ${distpath}/prettycache.pl ${destroot}${prefix}/bin reinplace "s%^#!.*/perl%#![binaryInPath perl]%" \ ${destroot}${prefix}/bin/prettycache.pl } } set ignoreip_diff ${distname}-ignoreip2.patch variant ignoreip description {Patch to allow ignoring a list of IP addresses} { master_sites-append http://tinydns.org/:ignoreip distfiles-append ${ignoreip_diff}:ignoreip checksums-append ${ignoreip_diff} \ md5 c032250b209d055847a763c8d9c7e865 \ sha1 ec4281a6864bd044a84fbfcaaf42baa6b003976d \ rmd160 bf8a0d38ae7bfb09a8ab2a04600680613db10aaa post-patch { ui_info "$UI_PREFIX Applying ${ignoreip_diff}" system "cd ${worksrcpath} && patch -p1 < ${distpath}/${ignoreip_diff}" } } set persistmmap_diff tinydns-persistmmap-20040418.patch variant persistmmap description {Add persistmmap to improve some lookup tasks} { master_sites-append http://people.FreeBSD.org/~roam/ports/patches/dns/:persistmmap distfiles-append ${persistmmap_diff}:persistmmap checksums-append ${persistmmap_diff} \ md5 c721977364502180f9563b85cecf133b \ sha1 013690c863c4dbe60d6da4d5470d53afd0b1af11 \ rmd160 4a5747033fea7b1a304b30e42c90c68a5c70bdcc post-patch { ui_info "$UI_PREFIX Applying ${persistmmap_diff}" system "cd ${worksrcpath} && patch -p1 < ${distpath}/${persistmmap_diff}" } } livecheck.type regex livecheck.url http://cr.yp.to/djbdns/install.html livecheck.regex ${name}-(\[\\d.\]+)${extract.suffix}