diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/dnsmasq/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/networking/dnsmasq/default.nix | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix index ba17f10e96c7..f4398cdd0393 100644 --- a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix +++ b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix @@ -2,26 +2,26 @@ , libidn, libnetfilter_conntrack, buildPackages , dbusSupport ? stdenv.isLinux , dbus +, nixosTests }: -with lib; let - copts = concatStringsSep " " ([ + copts = lib.concatStringsSep " " ([ "-DHAVE_IDN" "-DHAVE_DNSSEC" - ] ++ optionals dbusSupport [ + ] ++ lib.optionals dbusSupport [ "-DHAVE_DBUS" - ] ++ optionals stdenv.isLinux [ + ] ++ lib.optionals stdenv.isLinux [ "-DHAVE_CONNTRACK" ]); in stdenv.mkDerivation rec { pname = "dnsmasq"; - version = "2.86"; + version = "2.89"; src = fetchurl { url = "https://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz"; - sha256 = "sha256-KNUs/J4gBKxPhSdPUrMuFke028l2G4Ln3h5BxJkH6wg="; + sha256 = "sha256-Ar0jA0bPC51ZCfXhUd8WiycHEDeF62FrVmhYVa3rtgk="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { hardeningEnable = [ "pie" ]; - postBuild = optionalString stdenv.isLinux '' + postBuild = lib.optionalString stdenv.isLinux '' make -C contrib/lease-tools ''; @@ -50,17 +50,17 @@ stdenv.mkDerivation rec { # module can create it in Nix-land? postInstall = '' install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf - '' + optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' install -Dm644 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist \ $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \ --replace "/usr/local/sbin" "$out/bin" - '' + optionalString stdenv.isLinux '' + '' + lib.optionalString stdenv.isLinux '' install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6 - '' + optionalString dbusSupport '' + '' + lib.optionalString dbusSupport '' install -Dm644 dbus/dnsmasq.conf $out/share/dbus-1/system.d/dnsmasq.conf mkdir -p $out/share/dbus-1/system-services cat <<END > $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service @@ -74,10 +74,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ nettle libidn ] - ++ optionals dbusSupport [ dbus ] - ++ optionals stdenv.isLinux [ libnetfilter_conntrack ]; + ++ lib.optionals dbusSupport [ dbus ] + ++ lib.optionals stdenv.isLinux [ libnetfilter_conntrack ]; - meta = { + passthru.tests = { + prometheus-exporter = nixosTests.prometheus-exporters.dnsmasq; + + # these tests use dnsmasq incidentally + inherit (nixosTests) dnscrypt-proxy2; + kubernetes-dns-single = nixosTests.kubernetes.dns-single-node; + kubernetes-dns-multi = nixosTests.kubernetes.dns-multi-node; + }; + + meta = with lib; { description = "An integrated DNS, DHCP and TFTP server for small networks"; homepage = "https://www.thekelleys.org.uk/dnsmasq/doc.html"; license = licenses.gpl2; |