summaryrefslogtreecommitdiff
path: root/net/bind95
diff options
context:
space:
mode:
authoradrianp <adrianp@pkgsrc.org>2008-06-21 23:15:28 +0000
committeradrianp <adrianp@pkgsrc.org>2008-06-21 23:15:28 +0000
commit36baba5def4cc25f59b756b41fa4ad1af87dcc4c (patch)
treefdf03b6645dc747daa6fdda6009d6130db8f0d82 /net/bind95
parent471ca90022702f45cb24eecc844d9628bcb60f47 (diff)
downloadpkgsrc-36baba5def4cc25f59b756b41fa4ad1af87dcc4c.tar.gz
BIND 9.5.0
BIND 9.5.0 has a number of new features over 9.4, including: - GSS-TSIG support (RFC 3645). - DHCID support. - Experimental http server and statistics support for named via xml. - More detailed statistics counters including those supported in BIND 8. - Faster ACL processing. - Internal documentation generated by Doxygen. - Efficient LRU cache-cleaning mechanism. - NSID support (RFC 5001).
Diffstat (limited to 'net/bind95')
-rw-r--r--net/bind95/DESCR24
-rw-r--r--net/bind95/MESSAGE10
-rw-r--r--net/bind95/Makefile89
-rw-r--r--net/bind95/PLIST313
-rw-r--r--net/bind95/buildlink3.mk19
-rw-r--r--net/bind95/builtin.mk92
-rw-r--r--net/bind95/distinfo16
-rw-r--r--net/bind95/files/lwresd.sh18
-rw-r--r--net/bind95/files/named9.sh51
-rw-r--r--net/bind95/patches/patch-ab32
-rw-r--r--net/bind95/patches/patch-ac39
-rw-r--r--net/bind95/patches/patch-ad53
-rw-r--r--net/bind95/patches/patch-af45
-rw-r--r--net/bind95/patches/patch-ag15
-rw-r--r--net/bind95/patches/patch-ai94
-rw-r--r--net/bind95/patches/patch-aj13
-rw-r--r--net/bind95/patches/patch-al13
-rw-r--r--net/bind95/patches/patch-am51
-rw-r--r--net/bind95/patches/patch-an22
-rw-r--r--net/bind95/patches/patch-ao23
20 files changed, 1032 insertions, 0 deletions
diff --git a/net/bind95/DESCR b/net/bind95/DESCR
new file mode 100644
index 00000000000..49793206ee4
--- /dev/null
+++ b/net/bind95/DESCR
@@ -0,0 +1,24 @@
+BIND, the Berkeley Internet Name Daemon, version 9 is a major rewrite
+of nearly all aspects of the underlying BIND architecture. Some
+of the important features of BIND-9 are:
+
+ - DNS Security
+ DNSSEC (signed zones)
+ TSIG (signed DNS requests)
+
+ - IP version 6
+ Answers DNS queries on IPv6 sockets
+ IPv6 resource records (A6, DNAME, etc.)
+ Bitstring Labels
+ Experimental IPv6 Resolver Library
+
+ - DNS Protocol Enhancements
+ IXFR, DDNS, Notify, EDNS0
+ Improved standards conformance
+
+ - Views
+ One server process can provide multiple "views" of the
+ DNS namespace to different clients.
+
+ - Multiprocessor Support
+ - Improved Portability Architecture
diff --git a/net/bind95/MESSAGE b/net/bind95/MESSAGE
new file mode 100644
index 00000000000..6d5a26963ba
--- /dev/null
+++ b/net/bind95/MESSAGE
@@ -0,0 +1,10 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+Please consider running BIND under the pseudo user account "${BIND_USER}"
+in a chroot environment for security reasons.
+
+To achieve this, set the variable "named_chrootdir" in /etc/rc.conf to
+the directory with the chroot environment e.g. "${BIND_DIR}".
+
+===========================================================================
diff --git a/net/bind95/Makefile b/net/bind95/Makefile
new file mode 100644
index 00000000000..ae9cd5cb18a
--- /dev/null
+++ b/net/bind95/Makefile
@@ -0,0 +1,89 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+DISTNAME= bind-${BIND_VERSION}
+PKGNAME= ${DISTNAME:S/-P1/pl1/}
+CATEGORIES= net
+MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.isc.org/sw/bind/
+COMMENT= Version 9 of the Berkeley Internet Name Daemon, implementation of DNS
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+BIND_VERSION= 9.5.0
+
+# IPv6 ready, automatically detected
+.include "../../mk/bsd.prefs.mk"
+BUILD_DEFS+= IPV6_READY
+
+BUILD_DEFS+= BIND_DIR VARBASE
+
+USE_TOOLS+= pax perl
+USE_LIBTOOL= yes
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--with-libtool=yes \
+ --sysconfdir=/etc \
+ --localstatedir=${VARBASE:Q}
+#LDFLAGS+= ${COMPILER_RPATH_FLAG}${LOCALBASE}/pthreads/lib -L${LOCALBASE}/pthreads/lib
+# use external OpenSSL. comment out the following line and the buildlink
+# include at the bottom to use OpenSSL shipped with BIND9.
+CONFIGURE_ARGS+=--with-openssl=${SSLBASE:Q}
+
+PKG_GROUPS_VARS+= BIND_GROUP
+PKG_USERS_VARS+= BIND_USER
+
+PKG_GROUPS= ${BIND_GROUP}
+PKG_USERS= ${BIND_USER}:${BIND_GROUP}
+
+PKG_GECOS.${BIND_USER}= Named pseudo-user
+PKG_HOME.${BIND_USER}= ${BIND_DIR}
+
+PTHREAD_OPTS+= native
+PTHREAD_AUTO_VARS= yes
+
+FILES_SUBST+= BIND_GROUP=${BIND_GROUP:Q} BIND_USER=${BIND_USER:Q} PAX=${PAX:Q}
+MESSAGE_SUBST+= BIND_DIR=${BIND_DIR} BIND_USER=${BIND_USER}
+
+# include/isc/ipv6.h is installed on non-ipv6 platforms
+PLIST_VARS+= inet6
+.if !empty(MISSING_FEATURES:Minet6)
+PLIST.inet6= yes
+.endif
+
+PLIST_SRC= ${WRKDIR}/PLIST
+RCD_SCRIPTS= lwresd named9
+
+INSTALLATION_DIRS= share/doc/bind9/arm share/doc/bind9/draft \
+ share/doc/bind9/misc share/doc/bind9/rfc
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/bind9
+ set -e; cd ${WRKSRC}/doc && pax -rwppm \
+ -s ',.*xsl.*,,' -s ',Makefile.*,,' -s ',.*\.pl,,' \
+ . ${DESTDIR}${PREFIX}/share/doc/bind9
+ ${CHMOD} -R g-w ${DESTDIR}${PREFIX}/share/doc/bind9
+ ${CHMOD} -x ${DESTDIR}${PREFIX}/share/doc/bind9/arm/Bv9ARM.pdf
+ ${CP} ${PKGDIR}/PLIST ${PLIST_SRC}
+ (cd ${DESTDIR}${PREFIX}; ${FIND} share/doc/bind9 -type f -print ) >> ${PLIST_SRC}
+ (cd ${DESTDIR}${PREFIX}; ${FIND} share/doc/bind9 -type d -print ) | \
+ ${SED} -e 's/^/@dirrm /' | ${SORT} -r >> ${PLIST_SRC}
+ (cd ${DESTDIR}${PREFIX}; ${FIND} include/bind -type f -print ) >> ${PLIST_SRC}
+ (cd ${DESTDIR}${PREFIX}; ${FIND} include/bind -type d -print ) | \
+ ${SED} -e 's/^/@dirrm /' | ${SORT} -r >> ${PLIST_SRC}
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
+
+.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "none") || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-vax) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-sparc) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-m68k)
+CONFIGURE_ARGS+= --disable-threads
+.else
+CONFIGURE_ARGS+= --enable-threads
+.endif
diff --git a/net/bind95/PLIST b/net/bind95/PLIST
new file mode 100644
index 00000000000..f3014ee8082
--- /dev/null
+++ b/net/bind95/PLIST
@@ -0,0 +1,313 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+bin/dig
+bin/host
+bin/isc-config.sh
+bin/nslookup
+bin/nsupdate
+${PLIST.inet6}include/isc/ipv6.h
+include/bind9/check.h
+include/bind9/getaddresses.h
+include/bind9/version.h
+include/dns/acl.h
+include/dns/adb.h
+include/dns/byaddr.h
+include/dns/cache.h
+include/dns/callbacks.h
+include/dns/cert.h
+include/dns/compress.h
+include/dns/db.h
+include/dns/dbiterator.h
+include/dns/dbtable.h
+include/dns/diff.h
+include/dns/dispatch.h
+include/dns/dnssec.h
+include/dns/ds.h
+include/dns/enumclass.h
+include/dns/enumtype.h
+include/dns/events.h
+include/dns/fixedname.h
+include/dns/iptable.h
+include/dns/journal.h
+include/dns/keyflags.h
+include/dns/keytable.h
+include/dns/keyvalues.h
+include/dns/lib.h
+include/dns/log.h
+include/dns/master.h
+include/dns/masterdump.h
+include/dns/message.h
+include/dns/name.h
+include/dns/ncache.h
+include/dns/nsec.h
+include/dns/peer.h
+include/dns/portlist.h
+include/dns/rbt.h
+include/dns/rcode.h
+include/dns/rdata.h
+include/dns/rdataclass.h
+include/dns/rdatalist.h
+include/dns/rdataset.h
+include/dns/rdatasetiter.h
+include/dns/rdataslab.h
+include/dns/rdatastruct.h
+include/dns/rdatatype.h
+include/dns/request.h
+include/dns/resolver.h
+include/dns/result.h
+include/dns/rootns.h
+include/dns/sdb.h
+include/dns/secalg.h
+include/dns/secproto.h
+include/dns/soa.h
+include/dns/ssu.h
+include/dns/tcpmsg.h
+include/dns/time.h
+include/dns/tkey.h
+include/dns/tsig.h
+include/dns/ttl.h
+include/dns/types.h
+include/dns/validator.h
+include/dns/version.h
+include/dns/view.h
+include/dns/xfrin.h
+include/dns/zone.h
+include/dns/zonekey.h
+include/dns/zt.h
+include/dst/dst.h
+include/dst/gssapi.h
+include/dst/lib.h
+include/dst/result.h
+include/isc/app.h
+include/isc/assertions.h
+include/isc/atomic.h
+include/isc/base64.h
+include/isc/bitstring.h
+include/isc/boolean.h
+include/isc/buffer.h
+include/isc/bufferlist.h
+include/isc/commandline.h
+include/isc/condition.h
+include/isc/dir.h
+include/isc/entropy.h
+include/isc/error.h
+include/isc/event.h
+include/isc/eventclass.h
+include/isc/file.h
+include/isc/formatcheck.h
+include/isc/fsaccess.h
+include/isc/hash.h
+include/isc/heap.h
+include/isc/hex.h
+include/isc/hmacmd5.h
+include/isc/httpd.h
+include/isc/int.h
+include/isc/interfaceiter.h
+include/isc/lang.h
+include/isc/lex.h
+include/isc/lfsr.h
+include/isc/lib.h
+include/isc/list.h
+include/isc/log.h
+include/isc/magic.h
+include/isc/md5.h
+include/isc/mem.h
+include/isc/msgcat.h
+include/isc/msgs.h
+include/isc/mutex.h
+include/isc/mutexblock.h
+include/isc/net.h
+include/isc/netaddr.h
+include/isc/netdb.h
+include/isc/offset.h
+include/isc/once.h
+include/isc/ondestroy.h
+include/isc/os.h
+include/isc/parseint.h
+include/isc/platform.h
+include/isc/print.h
+include/isc/quota.h
+include/isc/random.h
+include/isc/ratelimiter.h
+include/isc/refcount.h
+include/isc/region.h
+include/isc/resource.h
+include/isc/result.h
+include/isc/resultclass.h
+include/isc/rwlock.h
+include/isc/serial.h
+include/isc/sha1.h
+include/isc/sha2.h
+include/isc/sockaddr.h
+include/isc/socket.h
+include/isc/stdio.h
+include/isc/stdlib.h
+include/isc/stdtime.h
+include/isc/string.h
+include/isc/symtab.h
+include/isc/syslog.h
+include/isc/task.h
+include/isc/taskpool.h
+include/isc/thread.h
+include/isc/time.h
+include/isc/timer.h
+include/isc/types.h
+include/isc/util.h
+include/isc/version.h
+include/isc/xml.h
+include/isccc/alist.h
+include/isccc/base64.h
+include/isccc/cc.h
+include/isccc/ccmsg.h
+include/isccc/events.h
+include/isccc/lib.h
+include/isccc/result.h
+include/isccc/sexpr.h
+include/isccc/symtab.h
+include/isccc/symtype.h
+include/isccc/types.h
+include/isccc/util.h
+include/isccc/version.h
+include/isccfg/aclconf.h
+include/isccfg/cfg.h
+include/isccfg/grammar.h
+include/isccfg/log.h
+include/isccfg/namedconf.h
+include/isccfg/version.h
+include/lwres/context.h
+include/lwres/int.h
+include/lwres/ipv6.h
+include/lwres/lang.h
+include/lwres/list.h
+include/lwres/lwbuffer.h
+include/lwres/lwpacket.h
+include/lwres/lwres.h
+include/lwres/net.h
+include/lwres/netdb.h
+include/lwres/platform.h
+include/lwres/result.h
+include/lwres/version.h
+lib/libbind.la
+lib/libbind9.la
+lib/libdns.la
+lib/libisc.la
+lib/libisccc.la
+lib/libisccfg.la
+lib/liblwres.la
+man/man1/dig.1
+man/man1/host.1
+man/man1/nslookup.1
+man/man3/lwres.3
+man/man3/lwres_addr_parse.3
+man/man3/lwres_buffer.3
+man/man3/lwres_buffer_add.3
+man/man3/lwres_buffer_back.3
+man/man3/lwres_buffer_clear.3
+man/man3/lwres_buffer_first.3
+man/man3/lwres_buffer_forward.3
+man/man3/lwres_buffer_getmem.3
+man/man3/lwres_buffer_getuint16.3
+man/man3/lwres_buffer_getuint32.3
+man/man3/lwres_buffer_getuint8.3
+man/man3/lwres_buffer_init.3
+man/man3/lwres_buffer_invalidate.3
+man/man3/lwres_buffer_putmem.3
+man/man3/lwres_buffer_putuint16.3
+man/man3/lwres_buffer_putuint32.3
+man/man3/lwres_buffer_putuint8.3
+man/man3/lwres_buffer_subtract.3
+man/man3/lwres_conf_clear.3
+man/man3/lwres_conf_get.3
+man/man3/lwres_conf_init.3
+man/man3/lwres_conf_parse.3
+man/man3/lwres_conf_print.3
+man/man3/lwres_config.3
+man/man3/lwres_context.3
+man/man3/lwres_context_allocmem.3
+man/man3/lwres_context_create.3
+man/man3/lwres_context_destroy.3
+man/man3/lwres_context_freemem.3
+man/man3/lwres_context_initserial.3
+man/man3/lwres_context_nextserial.3
+man/man3/lwres_context_sendrecv.3
+man/man3/lwres_endhostent.3
+man/man3/lwres_endhostent_r.3
+man/man3/lwres_freeaddrinfo.3
+man/man3/lwres_freehostent.3
+man/man3/lwres_gabn.3
+man/man3/lwres_gabnrequest_free.3
+man/man3/lwres_gabnrequest_parse.3
+man/man3/lwres_gabnrequest_render.3
+man/man3/lwres_gabnresponse_free.3
+man/man3/lwres_gabnresponse_parse.3
+man/man3/lwres_gabnresponse_render.3
+man/man3/lwres_gai_strerror.3
+man/man3/lwres_getaddrinfo.3
+man/man3/lwres_getaddrsbyname.3
+man/man3/lwres_gethostbyaddr.3
+man/man3/lwres_gethostbyaddr_r.3
+man/man3/lwres_gethostbyname.3
+man/man3/lwres_gethostbyname2.3
+man/man3/lwres_gethostbyname_r.3
+man/man3/lwres_gethostent.3
+man/man3/lwres_gethostent_r.3
+man/man3/lwres_getipnode.3
+man/man3/lwres_getipnodebyaddr.3
+man/man3/lwres_getipnodebyname.3
+man/man3/lwres_getnamebyaddr.3
+man/man3/lwres_getnameinfo.3
+man/man3/lwres_getrrsetbyname.3
+man/man3/lwres_gnba.3
+man/man3/lwres_gnbarequest_free.3
+man/man3/lwres_gnbarequest_parse.3
+man/man3/lwres_gnbarequest_render.3
+man/man3/lwres_gnbaresponse_free.3
+man/man3/lwres_gnbaresponse_parse.3
+man/man3/lwres_gnbaresponse_render.3
+man/man3/lwres_herror.3
+man/man3/lwres_hstrerror.3
+man/man3/lwres_inetntop.3
+man/man3/lwres_lwpacket_parseheader.3
+man/man3/lwres_lwpacket_renderheader.3
+man/man3/lwres_net_ntop.3
+man/man3/lwres_noop.3
+man/man3/lwres_nooprequest_free.3
+man/man3/lwres_nooprequest_parse.3
+man/man3/lwres_nooprequest_render.3
+man/man3/lwres_noopresponse_free.3
+man/man3/lwres_noopresponse_parse.3
+man/man3/lwres_noopresponse_render.3
+man/man3/lwres_packet.3
+man/man3/lwres_resutil.3
+man/man3/lwres_sethostent.3
+man/man3/lwres_sethostent_r.3
+man/man3/lwres_string_parse.3
+man/man5/rndc.conf.5
+man/man5/named.conf.5
+man/man8/dnssec-keygen.8
+man/man8/dnssec-signzone.8
+man/man8/lwresd.8
+man/man8/named-checkconf.8
+man/man8/named-checkzone.8
+man/man8/named-compilezone.8
+man/man8/named.8
+man/man8/nsupdate.8
+man/man8/rndc-confgen.8
+man/man8/rndc.8
+sbin/dnssec-keygen
+sbin/dnssec-signzone
+sbin/lwresd
+sbin/named
+sbin/named-checkconf
+sbin/named-checkzone
+sbin/named-compilezone
+sbin/rndc
+sbin/rndc-confgen
+share/examples/rc.d/lwresd
+share/examples/rc.d/named9
+@dirrm include/lwres
+@dirrm include/isccfg
+@dirrm include/isccc
+@dirrm include/isc
+@dirrm include/dst
+@dirrm include/dns
+@dirrm include/bind9
diff --git a/net/bind95/buildlink3.mk b/net/bind95/buildlink3.mk
new file mode 100644
index 00000000000..6dba3b8d8c1
--- /dev/null
+++ b/net/bind95/buildlink3.mk
@@ -0,0 +1,19 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+BIND_BUILDLINK3_MK:= ${BIND_BUILDLINK3_MK}+
+
+.if ${BUILDLINK_DEPTH} == "+"
+BUILDLINK_DEPENDS+= bind
+.endif
+
+BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nbind}
+BUILDLINK_PACKAGES+= bind
+BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}bind
+
+.if ${BIND_BUILDLINK3_MK} == "+"
+BUILDLINK_API_DEPENDS.bind+= bind>=9.5.0
+BUILDLINK_PKGSRCDIR.bind?= ../../net/bind95
+.endif # BIND_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/net/bind95/builtin.mk b/net/bind95/builtin.mk
new file mode 100644
index 00000000000..13a575f1949
--- /dev/null
+++ b/net/bind95/builtin.mk
@@ -0,0 +1,92 @@
+# $NetBSD: builtin.mk,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+BUILTIN_PKG:= bind
+
+BUILTIN_FIND_FILES_VAR:= EXE_NAMED
+BUILTIN_FIND_FILES.EXE_NAMED= /usr/sbin/named
+BUILTIN_FIND_LIBS:= bind
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Figure out the version of BIND if an ISC BIND named exists on the
+### system.
+###
+.if !defined(BUILTIN_VERSION.bind) && \
+ empty(EXE_NAMED:M__nonexistent__) && \
+ empty(EXE_NAMED:M${LOCALBASE}/*)
+BUILTIN_VERSION.bind!= \
+ ${EXE_NAMED} -v 2>/dev/null | ${HEAD} -1 | \
+ ${AWK} 'BEGIN { v = "4.9.11"; } \
+ /^BIND / { v = $$2; sub("-.*", "", v); } \
+ /^named / { v = $$2; sub("-.*", "", v); } \
+ END { print v; }'
+.endif
+MAKEVARS+= BUILTIN_VERSION.bind
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.bind)
+IS_BUILTIN.bind= no
+. if defined(BUILTIN_VERSION.bind)
+IS_BUILTIN.bind= yes
+. endif
+.endif
+MAKEVARS+= IS_BUILTIN.bind
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.bind) && \
+ !empty(IS_BUILTIN.bind:M[yY][eE][sS]) && \
+ defined(BUILTIN_VERSION.bind)
+BUILTIN_PKG.bind= bind-${BUILTIN_VERSION.bind}
+.endif
+MAKEVARS+= BUILTIN_PKG.bind
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.bind)
+. if ${PREFER.bind} == "pkgsrc"
+USE_BUILTIN.bind= no
+. else
+USE_BUILTIN.bind= ${IS_BUILTIN.bind}
+. if defined(BUILTIN_PKG.bind) && \
+ !empty(IS_BUILTIN.bind:M[yY][eE][sS])
+USE_BUILTIN.bind= yes
+. for _dep_ in ${BUILDLINK_API_DEPENDS.bind}
+. if !empty(USE_BUILTIN.bind:M[yY][eE][sS])
+USE_BUILTIN.bind!= \
+ if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.bind:Q}; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+. endfor
+. endif
+. endif # PREFER.bind
+.endif
+MAKEVARS+= USE_BUILTIN.bind
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.bind?= no
+.if !empty(CHECK_BUILTIN.bind:M[nN][oO])
+
+. if !empty(USE_BUILTIN.bind:M[yY][eE][sS])
+. if !empty(BUILTIN_LIB_FOUND.bind:M[yY][eE][sS])
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+. elif !empty(USE_BUILTIN.bind:M[nN][oO])
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+
+.endif # CHECK_BUILTIN.bind
diff --git a/net/bind95/distinfo b/net/bind95/distinfo
new file mode 100644
index 00000000000..5eb214a6a80
--- /dev/null
+++ b/net/bind95/distinfo
@@ -0,0 +1,16 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+SHA1 (bind-9.5.0.tar.gz) = 8d622ebcb6061518770cbc66072258c7ff051cb8
+RMD160 (bind-9.5.0.tar.gz) = 1f40217a7baab442f30e024698999ba845f6f05d
+Size (bind-9.5.0.tar.gz) = 6749437 bytes
+SHA1 (patch-ab) = dd12c457791a75a8b43d9dfd0c0b236dcdbe31a5
+SHA1 (patch-ac) = 4df1ece91d59b2b36fc7a4316604f1c112cf70ba
+SHA1 (patch-ad) = 9a46d8de9d84e708ac64df8e4da504176dba05d4
+SHA1 (patch-af) = b21bb5195cdb4deec00e5abd39f5bf2137549c3f
+SHA1 (patch-ag) = 9d61e0f527a76977bf8457355997d201fa37dd4e
+SHA1 (patch-ai) = 88e6d90b67fccaab26c3a3a1b5539c374d51e417
+SHA1 (patch-aj) = c3bbf84a8a735298552f918ac38331e06a1b68a1
+SHA1 (patch-al) = eb6a52d3f865639447ec6f9019c0ea1d2122b772
+SHA1 (patch-am) = bb267f13dbd30d492f4dfcf9c278b941efa97bed
+SHA1 (patch-an) = 6ec6ede602292ef2eaf5f0891e97576218bd8c3e
+SHA1 (patch-ao) = 9a1ed7b37befdd8e29d233fe55cd62362df3c50e
diff --git a/net/bind95/files/lwresd.sh b/net/bind95/files/lwresd.sh
new file mode 100644
index 00000000000..98b475129f5
--- /dev/null
+++ b/net/bind95/files/lwresd.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# $NetBSD: lwresd.sh,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+#
+# PROVIDE: lwresd
+# REQUIRE: SERVERS
+
+. /etc/rc.subr
+
+name="lwresd"
+rcvar=${name}
+command="@PREFIX@/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+
+extra_commands="reload"
+
+load_rc_config ${name} # check /etc/rc.conf.d/named9
+run_rc_command "$1"
diff --git a/net/bind95/files/named9.sh b/net/bind95/files/named9.sh
new file mode 100644
index 00000000000..d61b037163d
--- /dev/null
+++ b/net/bind95/files/named9.sh
@@ -0,0 +1,51 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: named9.sh,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+#
+
+# PROVIDE: named
+# REQUIRE: SERVERS
+# BEFORE: DAEMON
+# KEYWORD: chrootdir
+
+. /etc/rc.subr
+
+name="named"
+rcvar="${name}9"
+command="@PREFIX@/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+start_precmd="named_precmd"
+extra_commands="reload"
+required_dirs="$named_chrootdir" # if it is set, it must exist
+
+named_precmd()
+{
+ # Die if $named is also set (i.e. the system's named is not disabled
+ if checkyesno named ; then
+ warn \
+ "disable 'named' when setting 'named9'!"
+ return 1
+ fi
+
+ if [ -z "$named_chrootdir" ]; then
+ return 0;
+ fi
+
+ if [ ! -c "${named_chrootdir}/dev/null" ]; then
+ @RM@ -f "${named_chrootdir}/dev/null"
+ ( cd /dev ; @PAX@ -rw -pe null "${named_chrootdir}/dev" )
+ fi
+ if [ -f /etc/localtime ]; then
+ @CMP@ -s /etc/localtime "${named_chrootdir}/etc/localtime" || \
+ @CP@ -p /etc/localtime "${named_chrootdir}/etc/localtime"
+ fi
+ @RM@ -f ${pidfile}
+ @LN@ -s "${named_chrootdir}${pidfile}" ${pidfile}
+
+ # Change run_rc_commands()'s internal copy of $named_flags
+ #
+ rc_flags="-u @BIND_USER@ -t ${named_chrootdir} $rc_flags"
+}
+
+load_rc_config "$rcvar"
+run_rc_command "$1"
diff --git a/net/bind95/patches/patch-ab b/net/bind95/patches/patch-ab
new file mode 100644
index 00000000000..143ffca7f0a
--- /dev/null
+++ b/net/bind95/patches/patch-ab
@@ -0,0 +1,32 @@
+$NetBSD: patch-ab,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/lwres/getnameinfo.c.orig 2004-08-28 08:25:24.000000000 +0200
++++ lib/lwres/getnameinfo.c 2004-10-03 08:56:21.000000000 +0200
+@@ -63,6 +63,10 @@
+ #include <lwres/netdb.h>
+ #include "print_p.h"
+
++#ifdef __KAME__
++#include <net/if.h>
++#endif
++
+ #include "assert_p.h"
+
+ #define SUCCESS 0
+@@ -211,13 +215,10 @@
+ ((const struct sockaddr_in6 *)sa)->sin6_scope_id) {
+ char *p = numaddr + strlen(numaddr);
+ const char *stringscope = NULL;
+-#if 0
++#ifdef __KAME__
+ if ((flags & NI_NUMERICSCOPE) == 0) {
+- /*
+- * Vendors may want to add support for
+- * non-numeric scope identifier.
+- */
+- stringscope = foo;
++ stringscope = if_indextoname(
++ ((const struct sockaddr_in6 *)sa)->sin6_scope_id);
+ }
+ #endif
+ if (stringscope == NULL) {
diff --git a/net/bind95/patches/patch-ac b/net/bind95/patches/patch-ac
new file mode 100644
index 00000000000..4f06d43317a
--- /dev/null
+++ b/net/bind95/patches/patch-ac
@@ -0,0 +1,39 @@
+$NetBSD: patch-ac,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/lwres/getaddrinfo.c.orig 2005-06-10 08:54:33.000000000 +0900
++++ lib/lwres/getaddrinfo.c
+@@ -30,6 +30,10 @@
+ #include <lwres/netdb.h>
+ #include <lwres/stdlib.h>
+
++#ifdef __KAME__
++#include <net/if.h>
++#endif
++
+ #define SA(addr) ((struct sockaddr *)(addr))
+ #define SIN(addr) ((struct sockaddr_in *)(addr))
+ #define SIN6(addr) ((struct sockaddr_in6 *)(addr))
+@@ -252,14 +256,22 @@ lwres_getaddrinfo(const char *hostname,
+ p = strchr(ntmp, '%');
+ ep = NULL;
+
++#ifdef __KAME__
++ if (p != NULL) {
++ scopeid = if_nametoindex(p + 1);
++ if (scopeid)
++ p = NULL;
++ }
++#endif
+ /*
+ * Vendors may want to support non-numeric
+ * scopeid around here.
+ */
+
+- if (p != NULL)
++ if (p != NULL) {
+ scopeid = (lwres_uint32_t)strtoul(p + 1,
+ &ep, 10);
++ }
+ if (p != NULL && ep != NULL && ep[0] == '\0')
+ *p = '\0';
+ else {
diff --git a/net/bind95/patches/patch-ad b/net/bind95/patches/patch-ad
new file mode 100644
index 00000000000..b4e81f0d5b2
--- /dev/null
+++ b/net/bind95/patches/patch-ad
@@ -0,0 +1,53 @@
+$NetBSD: patch-ad,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- configure.orig 2008-05-06 02:33:33.000000000 +0100
++++ configure
+@@ -6550,6 +6550,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=false ;;
++*-dragonfly*)
++ use_threads=false ;;
+ *-bsdi234*)
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
+@@ -6638,7 +6640,7 @@ echo "$as_me: WARNING: linking with PTL2
+ echo "${ECHO_T}native" >&6; }
+ LIBS="-lpthread $LIBS"
+ else
+- if test ! -d $LOCALBASE/pthreads
++ if test ! -d $LOCALBASE/pthreads -a ! -f /usr/include/pthread.h
+ then
+ { echo "$as_me:$LINENO: result: none" >&5
+ echo "${ECHO_T}none" >&6; }
+@@ -6649,14 +6651,23 @@ echo "$as_me: error: \"could not find th
+
+ if $use_threads
+ then
+- { echo "$as_me:$LINENO: result: mit-pthreads/unproven-pthreads" >&5
++ if test -f /usr/include/pthread.h
++ then
++ { echo "$as_me:$LINENO: result: native pthreads" >&5
++echo "${ECHO_T}native pthreads" >&6; }
++ LIBS="-lpthread $LIBS"
++ CPPFLAGS="$CPPFLAGS -I/usr/include"
++ STD_CINDLUES="$STD_CINDLUES -I/usr/include"
++ else
++ { echo "$as_me:$LINENO: result: mit-pthreads/unproven-pthreads" >&5
+ echo "${ECHO_T}mit-pthreads/unproven-pthreads" >&6; }
+- pkg="$LOCALBASE/pthreads"
+- lib1="-L$pkg/lib -Wl,-R$pkg/lib"
+- lib2="-lpthread -lm -lgcc -lpthread"
+- LIBS="$lib1 $lib2 $LIBS"
+- CPPFLAGS="$CPPFLAGS -I$pkg/include"
+- STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ pkg="$LOCALBASE/pthreads"
++ lib1="-L$pkg/lib -Wl,-R$pkg/lib"
++ lib2="-lpthread -lm -lgcc -lpthread"
++ LIBS="$lib1 $lib2 $LIBS"
++ CPPFLAGS="$CPPFLAGS -I$pkg/include"
++ STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ fi
+ fi
+ fi
+ fi
diff --git a/net/bind95/patches/patch-af b/net/bind95/patches/patch-af
new file mode 100644
index 00000000000..5d9c65e622b
--- /dev/null
+++ b/net/bind95/patches/patch-af
@@ -0,0 +1,45 @@
+$NetBSD: patch-af,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/bind/configure.in.orig 2005-10-14 10:38:46.000000000 +0900
++++ lib/bind/configure.in
+@@ -82,12 +82,7 @@ AC_SUBST(PERL)
+ #
+ case "$includedir" in
+ '${prefix}/include')
+- includedir='${prefix}/bind/include'
+- ;;
+-esac
+-case "$libdir" in
+- '${prefix}/lib')
+- libdir='${prefix}/bind/lib'
++ includedir='${prefix}/include/bind'
+ ;;
+ esac
+
+@@ -395,6 +390,10 @@ then
+ CCOPT="$CCOPT -pthread"
+ STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+ ;;
++ *-dragonfly*)
++ CC="$CC -pthread"
++ CCOPT="$CCOPT -pthread"
++ ;;
+ *-openbsd*)
+ CC="$CC -pthread"
+ CCOPT="$CCOPT -pthread"
+@@ -985,6 +984,7 @@ case "$host" in
+ *-bsdi[2345]*) have_minimum_ifreq=yes;;
+ *-darwin*) have_minimum_ifreq=yes;;
+ *-freebsd*) have_minimum_ifreq=yes;;
++ *-dragonfly*) have_minimum_ifreq=yes;;
+ *-lynxos*) have_minimum_ifreq=yes;;
+ *-netbsd*) have_minimum_ifreq=yes;;
+ *-next*) have_minimum_ifreq=yes;;
+@@ -1024,6 +1024,7 @@ case "$host" in
+ *-darwin*) PORT_DIR="port/darwin";;
+ *-osf*) PORT_DIR="port/decunix";;
+ *-freebsd*) PORT_DIR="port/freebsd";;
++ *-dragonfly*) PORT_DIR="port/freebsd";;
+ *-hpux9*) PORT_DIR="port/hpux9";;
+ *-hpux10*) PORT_DIR="port/hpux10";;
+ *-hpux11*) PORT_DIR="port/hpux";;
diff --git a/net/bind95/patches/patch-ag b/net/bind95/patches/patch-ag
new file mode 100644
index 00000000000..e0e9561bc62
--- /dev/null
+++ b/net/bind95/patches/patch-ag
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/dns/rbt.c.orig 2004-03-08 21:06:27.000000000 +0000
++++ lib/dns/rbt.c 2005-03-16 13:45:23.000000000 +0000
+@@ -165,6 +165,10 @@
+ static void dns_rbt_printnodename(dns_rbtnode_t *node);
+ #endif
+
++#if !defined(inline) && defined(__powerpc__)
++#define inline /**/
++#endif
++
+ static inline dns_rbtnode_t *
+ find_up(dns_rbtnode_t *node) {
+ dns_rbtnode_t *root;
diff --git a/net/bind95/patches/patch-ai b/net/bind95/patches/patch-ai
new file mode 100644
index 00000000000..31de744747d
--- /dev/null
+++ b/net/bind95/patches/patch-ai
@@ -0,0 +1,94 @@
+$NetBSD: patch-ai,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/bind/configure.orig 2008-04-29 00:51:46.000000000 +0100
++++ lib/bind/configure
+@@ -2600,12 +2600,7 @@ done
+ #
+ case "$includedir" in
+ '${prefix}/include')
+- includedir='${prefix}/bind/include'
+- ;;
+-esac
+-case "$libdir" in
+- '${prefix}/lib')
+- libdir='${prefix}/bind/lib'
++ includedir='${prefix}/include/bind'
+ ;;
+ esac
+
+@@ -5379,6 +5374,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=false ;;
++*-dragonfly*)
++ use_threads=false ;;
+ *-bsdi234*)
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
+@@ -5467,7 +5464,7 @@ echo "$as_me: WARNING: linking with PTL2
+ echo "${ECHO_T}native" >&6; }
+ LIBS="-lpthread $LIBS"
+ else
+- if test ! -d $LOCALBASE/pthreads
++ if test ! -d $LOCALBASE/pthreads -a ! -f /usr/include/pthread.h
+ then
+ { echo "$as_me:$LINENO: result: none" >&5
+ echo "${ECHO_T}none" >&6; }
+@@ -5478,14 +5475,23 @@ echo "$as_me: error: \"could not find th
+
+ if $use_threads
+ then
+- { echo "$as_me:$LINENO: result: mit-pthreads/unproven-pthreads" >&5
++ if test -f /usr/include/pthread.h
++ then
++ { echo "$as_me:$LINENO: result: native pthreads" >&5
++echo "${ECHO_T}native pthreads" >&6; }
++ LIBS="-lpthread $LIBS"
++ CPPFLAGS="$CPPFLAGS -I/usr/include"
++ STD_CINDLUES="$STD_CINDLUES -I/usr/include"
++ else
++ { echo "$as_me:$LINENO: result: mit-pthreads/unproven-pthreads" >&5
+ echo "${ECHO_T}mit-pthreads/unproven-pthreads" >&6; }
+- pkg="$LOCALBASE/pthreads"
+- lib1="-L$pkg/lib -Wl,-R$pkg/lib"
+- lib2="-lpthread -lm -lgcc -lpthread"
+- LIBS="$lib1 $lib2 $LIBS"
+- CPPFLAGS="$CPPFLAGS -I$pkg/include"
+- STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ pkg="$LOCALBASE/pthreads"
++ lib1="-L$pkg/lib -Wl,-R$pkg/lib"
++ lib2="-lpthread -lm -lgcc -lpthread"
++ LIBS="$lib1 $lib2 $LIBS"
++ CPPFLAGS="$CPPFLAGS -I$pkg/include"
++ STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ fi
+ fi
+ fi
+ fi
+@@ -6220,6 +6226,10 @@ then
+ CCOPT="$CCOPT -pthread"
+ STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+ ;;
++ *-dragonfly*)
++ CC="$CC -pthread"
++ CCOPT="$CCOPT -pthread"
++ ;;
+ *-openbsd*)
+ CC="$CC -pthread"
+ CCOPT="$CCOPT -pthread"
+@@ -24730,6 +24740,7 @@ case "$host" in
+ *-bsdi2345*) have_minimum_ifreq=yes;;
+ *-darwin*) have_minimum_ifreq=yes;;
+ *-freebsd*) have_minimum_ifreq=yes;;
++ *-dragonfly*) have_minimum_ifreq=yes;;
+ *-lynxos*) have_minimum_ifreq=yes;;
+ *-netbsd*) have_minimum_ifreq=yes;;
+ *-next*) have_minimum_ifreq=yes;;
+@@ -24769,6 +24780,7 @@ case "$host" in
+ *-darwin*) PORT_DIR="port/darwin";;
+ *-osf*) PORT_DIR="port/decunix";;
+ *-freebsd*) PORT_DIR="port/freebsd";;
++ *-dragonfly*) PORT_DIR="port/freebsd";;
+ *-hpux9*) PORT_DIR="port/hpux9";;
+ *-hpux10*) PORT_DIR="port/hpux10";;
+ *-hpux11*) PORT_DIR="port/hpux";;
diff --git a/net/bind95/patches/patch-aj b/net/bind95/patches/patch-aj
new file mode 100644
index 00000000000..af98c7c95a7
--- /dev/null
+++ b/net/bind95/patches/patch-aj
@@ -0,0 +1,13 @@
+$NetBSD: patch-aj,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/Makefile.in.orig 2004-03-08 18:04:25.000000000 +0900
++++ lib/Makefile.in
+@@ -23,7 +23,7 @@ top_srcdir = @top_srcdir@
+ # Attempt to disable parallel processing.
+ .NOTPARALLEL:
+ .NO_PARALLEL:
+-SUBDIRS = isc isccc dns isccfg bind9 lwres tests
++SUBDIRS = bind isc isccc dns isccfg bind9 lwres tests
+ TARGETS =
+
+ @BIND9_MAKE_RULES@
diff --git a/net/bind95/patches/patch-al b/net/bind95/patches/patch-al
new file mode 100644
index 00000000000..3bdbab9408c
--- /dev/null
+++ b/net/bind95/patches/patch-al
@@ -0,0 +1,13 @@
+$NetBSD: patch-al,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/bind/port_after.h.in.orig 2005-10-11 09:48:14.000000000 +0900
++++ lib/bind/port_after.h.in
+@@ -376,7 +376,7 @@ int setpassent(int stayopen);
+ #define gettimeofday isc__gettimeofday
+ #ifdef NEED_GETTIMEOFDAY
+ int isc__gettimeofday(struct timeval *tvp, struct _TIMEZONE *tzp);
+-#else
++#elif !defined(__NetBSD__)
+ int isc__gettimeofday(struct timeval *tp, struct timezone *tzp);
+ #endif
+
diff --git a/net/bind95/patches/patch-am b/net/bind95/patches/patch-am
new file mode 100644
index 00000000000..99643095421
--- /dev/null
+++ b/net/bind95/patches/patch-am
@@ -0,0 +1,51 @@
+$NetBSD: patch-am,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- config.threads.in.orig 2005-03-16 07:59:16.000000000 +0900
++++ config.threads.in
+@@ -48,6 +48,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=false ;;
++*-dragonfly*)
++ use_threads=false ;;
+ *-bsdi[234]*)
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
+@@ -121,7 +123,7 @@ then
+ AC_MSG_RESULT(native)
+ LIBS="-lpthread $LIBS"
+ else
+- if test ! -d $LOCALBASE/pthreads
++ if test ! -d $LOCALBASE/pthreads -a ! -f /usr/include/pthread.h
+ then
+ AC_MSG_RESULT(none)
+ AC_MSG_ERROR("could not find thread libraries")
+@@ -129,13 +131,21 @@ then
+
+ if $use_threads
+ then
+- AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
+- pkg="$LOCALBASE/pthreads"
+- lib1="-L$pkg/lib -Wl,-R$pkg/lib"
+- lib2="-lpthread -lm -lgcc -lpthread"
+- LIBS="$lib1 $lib2 $LIBS"
+- CPPFLAGS="$CPPFLAGS -I$pkg/include"
+- STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ if test -f /usr/include/pthread.h
++ then
++ AC_MSG_RESULT(native pthreads)
++ LIBS="-lpthread $LIBS"
++ CPPFLAGS="$CPPFLAGS -I/usr/inclue"
++ STD_CINDLUES="$STD_CINDLUES -I/usr/include"
++ else
++ AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
++ pkg="$LOCALBASE/pthreads"
++ lib1="-L$pkg/lib -Wl,-R$pkg/lib"
++ lib2="-lpthread -lm -lgcc -lpthread"
++ LIBS="$lib1 $lib2 $LIBS"
++ CPPFLAGS="$CPPFLAGS -I$pkg/include"
++ STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
++ fi
+ fi
+ fi
+ fi
diff --git a/net/bind95/patches/patch-an b/net/bind95/patches/patch-an
new file mode 100644
index 00000000000..d3fd57ebcaf
--- /dev/null
+++ b/net/bind95/patches/patch-an
@@ -0,0 +1,22 @@
+$NetBSD: patch-an,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/bind/include/netdb.h.orig
++++ lib/bind/include/netdb.h
+@@ -179,9 +179,17 @@ struct addrinfo {
+ int _ai_pad;
+ #endif
+ socklen_t ai_addrlen;
++#elif defined(__NetBSD__)
++#if defined(__sparc__) && defined(_LP64)
++ int _ai_pad;
++#endif
++ socklen_t ai_addrlen;
+ #else
+ size_t ai_addrlen; /*%< length of ai_addr */
+ #endif
++#if defined(__NetBSD__) && (defined(__alpha__) || (defined(__i386__) && defined(_LP64)))
++ int _ai_pad;
++#endif
+ #ifdef __linux
+ struct sockaddr *ai_addr; /*%< binary address */
+ char *ai_canonname; /*%< canonical name for hostname */
diff --git a/net/bind95/patches/patch-ao b/net/bind95/patches/patch-ao
new file mode 100644
index 00000000000..48b268613c2
--- /dev/null
+++ b/net/bind95/patches/patch-ao
@@ -0,0 +1,23 @@
+$NetBSD: patch-ao,v 1.1.1.1 2008/06/21 23:15:28 adrianp Exp $
+
+--- lib/bind/irs/getaddrinfo.c.orig 2006-11-13 05:04:49.000000000 +0000
++++ lib/bind/irs/getaddrinfo.c
+@@ -332,7 +332,8 @@ getaddrinfo(hostname, servname, hints, r
+ pai->ai_family = PF_UNSPEC;
+ pai->ai_socktype = ANY;
+ pai->ai_protocol = ANY;
+-#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9)
++#if (defined(sun) && defined(_SOCKLEN_T) && defined(__sparc9)) || (defined(__NetBSD__) && (((defined(__sparc__) || defined(__i386__)) && defined(_LP64)) || defined(__alpha__)))
++
+ /*
+ * clear _ai_pad to preserve binary
+ * compatibility with previously compiled 64-bit
+@@ -365,7 +366,7 @@ getaddrinfo(hostname, servname, hints, r
+ }
+ memcpy(pai, hints, sizeof(*pai));
+
+-#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9)
++#if (defined(sun) && defined(_SOCKLEN_T) && defined(__sparc9)) || (defined(__NetBSD__) && (((defined(__sparc__) || defined(__i386__)) && defined(_LP64)) || defined(__alpha__)))
+ /*
+ * We need to clear _ai_pad to preserve binary
+ * compatibility. See prior comment.