From 6f4fbcc9817c8c69a8339a269c2aca9d5db22233 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 19 Jun 2015 00:54:41 -0700 Subject: [PATCH] dnsmasq: Fix build --- pkgs/tools/networking/dnsmasq/default.nix | 33 ++++++++++++++++------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 8883334fe6d..7752338c6bb 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 < $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;