about summary refs log tree commit diff
path: root/pkgs/servers/dns
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-28 12:32:57 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-28 12:32:57 -0400
commitf037625f87b0b1d8852a1f31ebaece5fdbc87a2b (patch)
treeaf8c8369954890db69195a1e9394ce16c7640d7f /pkgs/servers/dns
parentf08d6f0e2daf9f3d9daa070eee223855b33c430d (diff)
parent4e22e88b914ffb63393449c5e20fe8843a7ce93b (diff)
downloadnixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.gz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.bz2
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.lz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.xz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.zst
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.zip
Merge remote-tracking branch 'upstream/staging' into deps-reorg
Diffstat (limited to 'pkgs/servers/dns')
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix8
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix53
2 files changed, 29 insertions, 32 deletions
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 0b556a0859c8..1df36cd37c7b 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -20,17 +20,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gnutls jansson liburcu libidn
     nettle libedit
-    libiconv
+    libiconv lmdb
     # without sphinx &al. for developer documentation
   ]
-    # Use embedded lmdb there for now, as detection is broken on Darwin somehow.
-    ++ optionals stdenv.isLinux [ libcap_ng systemd lmdb ]
+    ++ optionals stdenv.isLinux [ libcap_ng systemd ]
     ++ libintlOrEmpty
     ++ optional stdenv.isDarwin zlib; # perhaps due to gnutls
 
-  # Not ideal but seems to work on Linux.
-  configureFlags = optional stdenv.isLinux "--with-lmdb=${stdenv.lib.getLib lmdb}";
-
   enableParallelBuilding = true;
 
   CFLAGS = [ "-O2" "-DNDEBUG" ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 390bf43d4d62..44c8b933400e 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, pkgconfig, hexdump, which
-, knot-dns, luajit, libuv, lmdb
-, cmocka, systemd, hiredis, libmemcached
-, gnutls, nettle
-, luajitPackages, makeWrapper
+, knot-dns, luajit, libuv, lmdb, gnutls, nettle
+, cmocka, systemd, dns-root-data, makeWrapper
+, extraFeatures ? false /* catch-all if defaults aren't enough */
+, hiredis, libmemcached, luajitPackages
 }:
 
 let
-  inherit (stdenv.lib) optional;
+  inherit (stdenv.lib) optional optionals optionalString;
 in
 stdenv.mkDerivation rec {
   name = "knot-resolver-${version}";
-  version = "1.3.3";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
-    sha256 = "c679238bea5744de8a99f4402a61e9e58502bc42b40ecfa370e53679ed5d5b80";
+    sha256 = "ac19c121fd687c7e4f5f907b46932d26f8f9d9e01626c4dadb3847e25ea31ceb";
   };
 
   outputs = [ "out" "dev" ];
@@ -23,18 +23,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig which makeWrapper hexdump ];
 
-  buildInputs = [ knot-dns luajit libuv gnutls ]
-    ++ optional stdenv.isLinux lmdb # system lmdb causes some problems on Darwin
-    ## optional dependencies; TODO: libedit, dnstap?
+  # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
+  buildInputs = [ knot-dns luajit libuv gnutls nettle lmdb ]
     ++ optional doInstallCheck cmocka
-    ++ optional stdenv.isLinux systemd # socket activation
-    ++ [
-      nettle # DNS cookies
+    ++ optional stdenv.isLinux systemd # sd_notify
+    ++ optionals extraFeatures [
       hiredis libmemcached # additional cache backends
-      # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
     ];
+    ## optional dependencies; TODO: libedit, dnstap, http2 module?
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" "ROOTHINTS=${dns-root-data}/root.hints" ];
   CFLAGS = [ "-O2" "-DNDEBUG" ];
 
   enableParallelBuilding = true;
@@ -45,18 +43,21 @@ stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH="$out/lib"
   '';
 
+  postInstall = ''
+    rm "$out"/etc/kresd/root.hints # using system-wide instead
+  ''
   # optional: to allow auto-bootstrapping root trust anchor via https
-  postInstall = with luajitPackages; ''
-    wrapProgram "$out/sbin/kresd" \
-      --set LUA_PATH '${
-        stdenv.lib.concatStringsSep ";"
-          (map getLuaPath [ luasec luasocket ])
-        }' \
-      --set LUA_CPATH '${
-        stdenv.lib.concatStringsSep ";"
-          (map getLuaCPath [ luasec luasocket ])
-        }'
-  '';
+  + (with luajitPackages; ''
+      wrapProgram "$out/sbin/kresd" \
+        --set LUA_PATH '${
+          stdenv.lib.concatStringsSep ";"
+            (map getLuaPath [ luasec luasocket ])
+          }' \
+        --set LUA_CPATH '${
+          stdenv.lib.concatStringsSep ";"
+            (map getLuaCPath [ luasec luasocket ])
+          }'
+    '');
 
   meta = with stdenv.lib; {
     description = "Caching validating DNS resolver, from .cz domain registry";