diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-01-25 15:20:18 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-01-25 15:22:09 +0100 |
commit | 5d5fb4a2fb1fc782f603837a53a0a831e81ad637 (patch) | |
tree | 636d306e0f16319f9607ab6e0e98cbb2f0dd9672 /pkgs | |
parent | 30c3fdedfefb2ad991f9dc827f282718e4180e3b (diff) | |
download | nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar.gz nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar.bz2 nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar.lz nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar.xz nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.tar.zst nixlib-5d5fb4a2fb1fc782f603837a53a0a831e81ad637.zip |
knot-resolver: init at 1.2.0
Celebrating today's release!
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/servers/dns/knot-resolver/default.nix | 69 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix new file mode 100644 index 000000000000..e9668ed3e536 --- /dev/null +++ b/pkgs/servers/dns/knot-resolver/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchurl, pkgconfig, utillinux, which, knot-dns, luajit, libuv, lmdb +, cmocka, systemd, hiredis, libmemcached +, gnutls, nettle +, luajitPackages, makeWrapper # TODO: on master there's luajitPackages +, fetchzip +}: + +let + inherit (stdenv.lib) optional; +in +stdenv.mkDerivation rec { + name = "knot-resolver-${version}"; + version = "1.2.0"; + + src = fetchurl { + url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz"; + sha256 = "b8828197dbd563e4b502571538c6d44ef2bb07dede1df884b785921f8aec77fd"; + }; + + outputs = [ "out" "dev" ]; + + configurePhase = ":"; + + nativeBuildInputs = [ pkgconfig utillinux.bin/*hexdump*/ which ]; + buildInputs = [ knot-dns luajit libuv gnutls ] + # TODO: lmdb needs lmdb.pc; embedded for now + ## optional dependencies + ++ optional doInstallCheck cmocka + ++ [ + nettle # DNS cookies + systemd # socket activation + makeWrapper + hiredis libmemcached # additional cache backends + # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements + ]; + + makeFlags = [ "PREFIX=$(out)" ]; + CFLAGS = [ "-O2" "-DNDEBUG" ]; + + enableParallelBuilding = true; + + doInstallCheck = true; + installCheckTarget = "check"; + preInstallCheck = '' + export LD_LIBRARY_PATH="$out/lib" + ''; + + # 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 ]) + }' + ''; + + meta = with stdenv.lib; { + description = "Caching DNS resolver, from .cz domain registry"; + homepage = https://knot-resolver.cz; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.vcunat /* upstream developer */ ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e1a5dec32cb..0fc8fbb9c622 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10328,6 +10328,7 @@ with pkgs; jetty = callPackage ../servers/http/jetty { }; knot-dns = callPackage ../servers/dns/knot-dns { }; + knot-resolver = callPackage ../servers/dns/knot-resolver { }; rdkafka = callPackage ../development/libraries/rdkafka { }; |