about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/dns/powerdns/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/dns/powerdns/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/dns/powerdns/default.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/dns/powerdns/default.nix b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
new file mode 100644
index 000000000000..f9f94f002a36
--- /dev/null
+++ b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, pkgconfig
+, boost, libyamlcpp, libsodium, sqlite, protobuf, botan2
+, mysql57, postgresql, lua, openldap, geoip, curl, opendbx, unixODBC
+}:
+
+stdenv.mkDerivation rec {
+  name = "powerdns-${version}";
+  version = "4.1.5";
+
+  src = fetchurl {
+    url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
+    sha256 = "12jgkdsh6hzaznq6y9y7hfdpjhnn7ar2qn7x706k9iyqcq55faf3";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    boost mysql57.connector-c postgresql lua openldap sqlite protobuf geoip
+    libyamlcpp libsodium curl opendbx unixODBC botan2
+  ];
+
+  patches = [
+    # checksum type not found, maybe a dependency is to old?
+    ./skip-sha384-test.patch
+  ];
+
+  # nix destroy with-modules arguments, when using configureFlags
+  preConfigure = ''
+    configureFlagsArray=(
+      "--with-modules=bind gmysql geoip godbc gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote"
+      --with-sqlite3
+      --with-socketdir=/var/lib/powerdns
+      --enable-libsodium
+      --enable-botan
+      --enable-tools
+      --disable-dependency-tracking
+      --disable-silent-rules
+      --enable-reproducible
+      --enable-unit-tests
+    )
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Authoritative DNS server";
+    homepage = https://www.powerdns.com;
+    platforms = platforms.linux;
+    # cannot find postgresql libs on macos x
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ mic92 disassembler ];
+  };
+}