about summary refs log tree commit diff
path: root/pkgs/servers/dns/nsd
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-07-23 17:09:28 +0200
committeraszlig <aszlig@redmoonstudios.org>2014-09-05 02:54:39 +0200
commitfd9c8fa3dcabf4a9def05779c6b2d837e0d8d183 (patch)
treea821e7d4af09e28848c908560f50d734d4674fac /pkgs/servers/dns/nsd
parent6386df1645091e30106db2c097f9bfb5b2d0070b (diff)
downloadnixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar.gz
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar.bz2
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar.lz
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar.xz
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.tar.zst
nixlib-fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183.zip
pkgs/nsd: Allow to easily override the package.
Allowing to use nixpkgs config to provide different defaults is not
going to help us here, so we would like to use nsd.override {} in order
to supply the correct options in the module.

Eventually removing the nixpkgs config option would make sense here as
well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/servers/dns/nsd')
-rw-r--r--pkgs/servers/dns/nsd/default.nix30
1 files changed, 19 insertions, 11 deletions
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 7279aa6d4ef8..f5cf9544b9b4 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -1,4 +1,13 @@
 { config, stdenv, fetchurl, libevent, openssl
+, bind8Stats       ? false
+, checking         ? false
+, ipv6             ? true
+, mmap             ? false
+, minimalResponses ? true
+, nsec3            ? true
+, ratelimit        ? false
+, recvmmsg         ? false
+, rootServer       ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -12,17 +21,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ libevent openssl ];
 
   configureFlags =
-    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
-                                      else map (x: "--disable-${x}") flags;
-     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
-     ++ flag (config.nsd.checking         or false) [ "checking" ]
-     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
-     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
-     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
-     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
-     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
-     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
-     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+    let edf = c: o: if c then ["--enable-${o}"] else ["--disable-${o}"];
+     in edf bind8Stats       "bind8-stats"
+     ++ edf checking         "checking"
+     ++ edf ipv6             "ipv6"
+     ++ edf mmap             "mmap"
+     ++ edf minimalResponses "minimal-responses"
+     ++ edf nsec3            "nsec3"
+     ++ edf ratelimit        "ratelimit"
+     ++ edf recvmmsg         "recvmmsg"
+     ++ edf rootServer       "root-server"
      ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
 
   meta = {