diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/dns/nsd/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/dns/nsd/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/dns/nsd/default.nix b/nixpkgs/pkgs/servers/dns/nsd/default.nix new file mode 100644 index 000000000000..8c0fc7377661 --- /dev/null +++ b/nixpkgs/pkgs/servers/dns/nsd/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchurl, libevent, openssl +, bind8Stats ? false +, checking ? false +, ipv6 ? true +, mmap ? false +, minimalResponses ? true +, nsec3 ? true +, ratelimit ? false +, recvmmsg ? false +, rootServer ? false +, rrtypes ? false +, zoneStats ? false + +, configFile ? "etc/nsd/nsd.conf" +}: + +stdenv.mkDerivation rec { + name = "nsd-4.1.26"; + + src = fetchurl { + url = "https://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz"; + sha256 = "1x0mvj4872dzj1rr9adnchdm4dhn41xmc459p5j4s0r13m1l32lz"; + }; + + prePatch = '' + substituteInPlace nsd-control-setup.sh.in --replace openssl ${openssl}/bin/openssl + ''; + + buildInputs = [ libevent openssl ]; + + configureFlags = + 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" + ++ edf rrtypes "draft-rrtypes" + ++ edf zoneStats "zone-stats" + ++ [ "--with-ssl=${openssl.dev}" + "--with-libevent=${libevent.dev}" + "--with-nsd_conf_file=${configFile}" + "--with-configdir=etc/nsd" + ]; + + patchPhase = '' + sed 's@$(INSTALL_DATA) nsd.conf.sample $(DESTDIR)$(nsdconfigfile).sample@@g' -i Makefile.in + ''; + + meta = with stdenv.lib; { + homepage = http://www.nlnetlabs.nl; + description = "Authoritative only, high performance, simple and open source name server"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.hrdinka ]; + }; +} |