about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-06-19 00:54:41 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-06-19 00:54:41 -0700
commit6f4fbcc9817c8c69a8339a269c2aca9d5db22233 (patch)
treea5d5e47ce3f3512ec8b1de4038796bed4037d4bc
parentbe9a0a8943282140520522c8910755b30959dae2 (diff)
downloadnixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar.gz
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar.bz2
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar.lz
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar.xz
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.tar.zst
nixlib-6f4fbcc9817c8c69a8339a269c2aca9d5db22233.zip
dnsmasq: Fix build
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix35
1 files changed, 25 insertions, 10 deletions
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 8883334fe6d7..7752338c6bb2 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,5 +1,15 @@
-{ pkgconfig, dbus_libs, nettle, stdenv, fetchurl }:
-
+{ stdenv, fetchurl, pkgconfig, dbus_libs, nettle, libidn, libnetfilter_conntrack }:
+
+with stdenv.lib;
+let
+  copts = concatStringsSep " " ([
+    "-DHAVE_DBUS"
+    "-DHAVE_IDN"
+    "-DHAVE_DNSSEC"
+  ] ++ optionals stdenv.isLinux [
+    "-DHAVE_CONNTRACK"
+  ]);
+in
 stdenv.mkDerivation rec {
   name = "dnsmasq-2.73";
 
@@ -8,13 +18,16 @@ stdenv.mkDerivation rec {
     sha256 = "1xnqfaw2l78f4zw4z9sgr9nl9yc233gxc3sd7hxapz2k7q883zqb";
   };
 
-  # Can't rely on make flags because of space in one of the parameters
-  buildPhase = ''
-    make COPTS="-DHAVE_DNSSEC -DHAVE_DBUS"
+  preBuild = ''
+    makeFlagsArray=("COPTS=${copts}")
   '';
 
-  # make flags used for installation only
-  makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
+  makeFlags = [
+    "DESTDIR="
+    "BINDIR=$(out)/bin"
+    "MANDIR=$(out)/man"
+    "LOCALEDIR=$(out)/share/locale"
+  ];
 
   postInstall = ''
     install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
@@ -24,15 +37,17 @@ stdenv.mkDerivation rec {
     cat <<END > $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service
     [D-BUS Service]
     Name=uk.org.thekelleys.dnsmasq
-    Exec=$out/sbin/dnsmasq -k -1
+    Exec=$out/bin/dnsmasq -k -1
     User=root
     SystemdService=dnsmasq.service
     END
   '';
 
-  buildInputs = [ pkgconfig dbus_libs nettle ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ dbus_libs nettle libidn ]
+    ++ optional stdenv.isLinux libnetfilter_conntrack;
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = licenses.gpl2;