aboutsummaryrefslogtreecommitdiffstats
path: root/dns
diff options
context:
space:
mode:
authorpi <pi@FreeBSD.org>2016-09-05 02:56:53 +0800
committerpi <pi@FreeBSD.org>2016-09-05 02:56:53 +0800
commitabedd561518fbe777f204403780c50fa0bfcc667 (patch)
tree1e0b7e19db7158e9bd83b667469821d194ae7be5 /dns
parent2ef4f341512e758de4e99c5196c38f9c567aebd9 (diff)
downloadfreebsd-ports-gnome-abedd561518fbe777f204403780c50fa0bfcc667.tar.gz
freebsd-ports-gnome-abedd561518fbe777f204403780c50fa0bfcc667.tar.zst
freebsd-ports-gnome-abedd561518fbe777f204403780c50fa0bfcc667.zip
New port: dns/knot-resolver
The Knot DNS Resolver is a caching full resolver implementation, including both a resolver library and a daemon. WWW: https://www.knot-resolver.cz/ PR: 212215 Submitted by: Leo Vandewoestijne <freebsd@dns-lab.com>
Diffstat (limited to 'dns')
-rw-r--r--dns/Makefile1
-rw-r--r--dns/knot-resolver/Makefile63
-rw-r--r--dns/knot-resolver/distinfo3
-rw-r--r--dns/knot-resolver/files/patch-daemon_daemon.mk13
-rw-r--r--dns/knot-resolver/files/patch-lib_lib.mk13
-rw-r--r--dns/knot-resolver/files/patch-lib_nsrep.h10
-rw-r--r--dns/knot-resolver/files/patch-lib_resolve.h10
-rw-r--r--dns/knot-resolver/files/patch-platform.mk10
-rw-r--r--dns/knot-resolver/files/pkg-message.in10
-rw-r--r--dns/knot-resolver/pkg-descr4
-rw-r--r--dns/knot-resolver/pkg-plist78
11 files changed, 215 insertions, 0 deletions
diff --git a/dns/Makefile b/dns/Makefile
index 45d860bff13c..11f7882dc1d2 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -78,6 +78,7 @@
SUBDIR += inadyn-mt
SUBDIR += ipcheck
SUBDIR += ironsides
+ SUBDIR += knot-resolver
SUBDIR += knot1
SUBDIR += knot2
SUBDIR += ldapdns
diff --git a/dns/knot-resolver/Makefile b/dns/knot-resolver/Makefile
new file mode 100644
index 000000000000..ce1876e01c70
--- /dev/null
+++ b/dns/knot-resolver/Makefile
@@ -0,0 +1,63 @@
+# Created by: Leo Vandewoestijne <freebsd@dns-lab.com>
+# $FreeBSD$
+
+PORTNAME= knot-resolver
+PORTVERSION= 1.1.1
+CATEGORIES= dns ipv6
+MASTER_SITES= https://secure.nic.cz/files/knot-resolver/ \
+ https://dns.company/downloads/knot-resolver/
+
+MAINTAINER= freebsd@dns-lab.com
+COMMENT= Caching full resolver implementation
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libknot.so:dns/knot2 \
+ liblmdb.so:databases/lmdb \
+ libluajit-5.1.so:lang/luajit \
+ libuv.so:devel/libuv \
+ libgnutls.so:security/gnutls \
+ libnettle.so:security/nettle
+
+CONFLICTS= knot-1.* knot1-[0-6].*
+
+BROKEN_FreeBSD_9= does not build, see PR#212215 for build failures
+
+MAKE_ARGS+= PREFIX=${PREFIX}
+MAKE_ARGS+= LIBDIR=${PREFIX}/lib
+MAKE_ARGS+= PKG_CONFIG_PATH=${LOCALBASE}/libdata/pkgconfig
+MAKE_ARGS+= lmdb_CFLAGS=-I${LOCALBASE}/include lmdb_LIBS=-llmdb
+
+USES= gmake libtool pkgconfig tar:xz
+USE_CSTD= c99
+USE_LDCONFIG= ${PREFIX}/lib
+
+OPTIONS_DEFINE= DOXYGEN MEMCACHED REDIS
+OPTIONS_DEFAULT=
+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
+DOXYGEN_MAKE_ARGS= HAS_doxygen=yes
+DOXYGEN_MAKE_ARGS_OFF= HAS_doxygen=no
+MEMCACHED_DESC= memcached in-memory data-backend
+MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached
+MEMCACHED_MAKE_ARGS= HAS_libmemcached=yes
+MEMCACHED_MAKE_ARGS_OFF= HAS_libmemcached=no
+MEMCACHED_PLIST_FILES= lib/kdns_modules/kmemcached.so
+REDIS_DESC= redis in-memory data-backend
+REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
+REDIS_MAKE_ARGS= HAS_hiredis=yes
+REDIS_MAKE_ARGS_OFF= HAS_hiredis=no
+REDIS_PLIST_FILES= lib/kdns_modules/redis.so
+
+USERS= kresd
+GROUPS= kresd
+SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}"
+
+SUB_FILES= pkg-message
+
+PORTDOCS= AUTHORS COPYING CodingStyle README.md
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/dns/knot-resolver/distinfo b/dns/knot-resolver/distinfo
new file mode 100644
index 000000000000..e5d70b78011f
--- /dev/null
+++ b/dns/knot-resolver/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1472151881
+SHA256 (knot-resolver-1.1.1.tar.xz) = f848f6dd2c7a2c1a5067d3bd95dacb752d1f3d8dc9d5ccc0c34a4540d00ab54a
+SIZE (knot-resolver-1.1.1.tar.xz) = 661612
diff --git a/dns/knot-resolver/files/patch-daemon_daemon.mk b/dns/knot-resolver/files/patch-daemon_daemon.mk
new file mode 100644
index 000000000000..dfca130d8376
--- /dev/null
+++ b/dns/knot-resolver/files/patch-daemon_daemon.mk
@@ -0,0 +1,13 @@
+--- daemon/daemon.mk.orig 2016-08-24 12:05:47 UTC
++++ daemon/daemon.mk
+@@ -46,8 +46,8 @@ daemon: $(kresd)
+ daemon-install: kresd-install bindings-install
+ ifneq ($(SED),)
+ $(SED) -e "s/@VERSION@/$(MAJOR).$(MINOR).$(PATCH)/" -e "s/@DATE@/$(date)/" doc/kresd.8.in > doc/kresd.8
+- $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man8/
+- $(INSTALL) -m 0644 doc/kresd.8 $(DESTDIR)$(PREFIX)/share/man/man8/
++ $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/man/man8/
++ $(INSTALL) -m 0644 doc/kresd.8 $(DESTDIR)$(PREFIX)/man/man8/
+ endif
+ daemon-clean: kresd-clean
+ @$(RM) daemon/lua/*.inc
diff --git a/dns/knot-resolver/files/patch-lib_lib.mk b/dns/knot-resolver/files/patch-lib_lib.mk
new file mode 100644
index 000000000000..2f8479f63b5f
--- /dev/null
+++ b/dns/knot-resolver/files/patch-lib_lib.mk
@@ -0,0 +1,13 @@
+--- lib/lib.mk.orig 2016-08-24 12:05:47 UTC
++++ lib/lib.mk
+@@ -83,8 +83,8 @@ libkres.pc:
+ @echo 'Libs: -L$${libdir} -lkres' >> $@
+ @echo 'Cflags: -I$${includedir}' >> $@
+ libkres-pcinstall: libkres.pc libkres-install
+- $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/pkgconfig/
+- $(INSTALL) -m 644 $< $(DESTDIR)$(LIBDIR)/pkgconfig/
++ $(INSTALL) -d -m 755 $(DESTDIR)$(PKG_CONFIG_PATH)/
++ $(INSTALL) -m 644 $< $(DESTDIR)$(PKG_CONFIG_PATH)/
+
+ # Targets
+ lib: $(libkres)
diff --git a/dns/knot-resolver/files/patch-lib_nsrep.h b/dns/knot-resolver/files/patch-lib_nsrep.h
new file mode 100644
index 000000000000..09501548f117
--- /dev/null
+++ b/dns/knot-resolver/files/patch-lib_nsrep.h
@@ -0,0 +1,10 @@
+--- lib/nsrep.h.orig 2016-08-24 12:05:47 UTC
++++ lib/nsrep.h
+@@ -19,6 +19,7 @@
+ #include <netinet/in.h>
+ #include <libknot/dname.h>
+ #include <limits.h>
++#include <sys/socket.h>
+
+ #include "lib/defines.h"
+ #include "lib/generic/map.h"
diff --git a/dns/knot-resolver/files/patch-lib_resolve.h b/dns/knot-resolver/files/patch-lib_resolve.h
new file mode 100644
index 000000000000..4393fef6e0ef
--- /dev/null
+++ b/dns/knot-resolver/files/patch-lib_resolve.h
@@ -0,0 +1,10 @@
+--- lib/resolve.h.orig 2016-08-24 12:05:47 UTC
++++ lib/resolve.h
+@@ -18,6 +18,7 @@
+
+ #include <netinet/in.h>
+ #include <libknot/packet/pkt.h>
++#include <sys/socket.h>
+
+ #include "lib/cookies/control.h"
+ #include "lib/cookies/lru_cache.h"
diff --git a/dns/knot-resolver/files/patch-platform.mk b/dns/knot-resolver/files/patch-platform.mk
new file mode 100644
index 000000000000..49c6a84d3f44
--- /dev/null
+++ b/dns/knot-resolver/files/patch-platform.mk
@@ -0,0 +1,10 @@
+--- platform.mk.orig 2016-08-24 12:05:47 UTC
++++ platform.mk
+@@ -49,7 +49,6 @@ else
+ BINFLAGS += -pie
+ LDFLAGS += -Wl,-z,relro,-z,now
+ endif
+- LDFLAGS += -ldl
+ endif
+ endif
+
diff --git a/dns/knot-resolver/files/pkg-message.in b/dns/knot-resolver/files/pkg-message.in
new file mode 100644
index 000000000000..d86f07afcf8c
--- /dev/null
+++ b/dns/knot-resolver/files/pkg-message.in
@@ -0,0 +1,10 @@
+######################################################################
+
+ Please consult the documentation:
+ - man kresd
+ - http://knot-resolver.readthedocs.io/en/latest/
+
+ To run as daemon see:
+ - http://knot-resolver.readthedocs.io/en/latest/daemon.html
+
+######################################################################
diff --git a/dns/knot-resolver/pkg-descr b/dns/knot-resolver/pkg-descr
new file mode 100644
index 000000000000..91459c3a424d
--- /dev/null
+++ b/dns/knot-resolver/pkg-descr
@@ -0,0 +1,4 @@
+The Knot DNS Resolver is a caching full resolver implementation,
+including both a resolver library and a daemon.
+
+WWW: https://www.knot-resolver.cz/
diff --git a/dns/knot-resolver/pkg-plist b/dns/knot-resolver/pkg-plist
new file mode 100644
index 000000000000..aff13913bc41
--- /dev/null
+++ b/dns/knot-resolver/pkg-plist
@@ -0,0 +1,78 @@
+etc/kresd/config.cluster
+etc/kresd/config.isp
+etc/kresd/config.personal
+etc/kresd/config.splitview
+etc/kresd/icann-ca.pem
+include/libkres/alg_containers.h
+include/libkres/alg_sha.h
+include/libkres/array.h
+include/libkres/cache.h
+include/libkres/cdb.h
+include/libkres/cdb_lmdb.h
+include/libkres/control.h
+include/libkres/dnssec.h
+include/libkres/helper.h
+include/libkres/layer.h
+include/libkres/lru_cache.h
+include/libkres/map.h
+include/libkres/module.h
+include/libkres/nonce.h
+include/libkres/nsec.h
+include/libkres/nsec3.h
+include/libkres/nsrep.h
+include/libkres/resolve.h
+include/libkres/rplan.h
+include/libkres/set.h
+include/libkres/signature.h
+include/libkres/ta.h
+include/libkres/utils.h
+include/libkres/zonecut.h
+lib/kdns_modules/aho-corasick.lua
+lib/kdns_modules/cookies.so
+lib/kdns_modules/daf.lua
+lib/kdns_modules/daf/daf.js
+lib/kdns_modules/dns64.lua
+lib/kdns_modules/graphite.lua
+lib/kdns_modules/hints.so
+lib/kdns_modules/http.lua
+lib/kdns_modules/http/LICENSE
+lib/kdns_modules/http/bootstrap-theme.min.css
+lib/kdns_modules/http/bootstrap.min.css
+lib/kdns_modules/http/bootstrap.min.js
+lib/kdns_modules/http/d3.js
+lib/kdns_modules/http/datamaps.world.min.js
+lib/kdns_modules/http/dygraph-combined.js
+lib/kdns_modules/http/epoch.css
+lib/kdns_modules/http/epoch.js
+lib/kdns_modules/http/favicon.ico
+lib/kdns_modules/http/glyphicons-halflings-regular.woff2
+lib/kdns_modules/http/h2_connection.lua
+lib/kdns_modules/http/h2_stream.lua
+lib/kdns_modules/http/jquery.js
+lib/kdns_modules/http/kresd.css
+lib/kdns_modules/http/kresd.js
+lib/kdns_modules/http/main.tpl
+lib/kdns_modules/http/selectize.bootstrap3.min.css
+lib/kdns_modules/http/selectize.min.css
+lib/kdns_modules/http/selectize.min.js
+lib/kdns_modules/http/server.lua
+lib/kdns_modules/http/topojson.js
+lib/kdns_modules/ketcd.lua
+lib/kdns_modules/kres.lua
+lib/kdns_modules/policy.lua
+lib/kdns_modules/predict.lua
+lib/kdns_modules/prometheus.lua
+lib/kdns_modules/renumber.lua
+lib/kdns_modules/stats.so
+lib/kdns_modules/trust_anchors.lua
+lib/kdns_modules/view.lua
+lib/kdns_modules/zonefile.lua
+lib/libkres.so
+lib/libkres.so.1
+libdata/pkgconfig/libkres.pc
+man/man8/kresd.8.gz
+sbin/kresd
+@dir lib/kdns_modules/daf
+@dir lib/kdns_modules/http
+@dir lib/kdns_modules
+@dir libdata/pkgconfig