summary refs log tree commit diff
path: root/pkgs/servers/dns
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien@users.noreply.github.com>2022-08-20 18:09:23 +0000
committerGitHub <noreply@github.com>2022-08-20 18:09:23 +0000
commite941a9d43306f86c690b370812f2d34632ce5d35 (patch)
tree5d43759ef4575144afa55b967368103dbb5529b8 /pkgs/servers/dns
parentcb89ef26369cc1dfb48ba5b9c28e0635af647f6d (diff)
parent28116cfd9b4101867790e245f16b193e4167aea4 (diff)
Merge pull request #186652 from peterhoeg/u/http-dns
nixos/https-dns-proxy: bump version and add support for OpenDNS
Diffstat (limited to 'pkgs/servers/dns')
-rw-r--r--pkgs/servers/dns/https-dns-proxy/default.nix31
1 files changed, 24 insertions, 7 deletions
diff --git a/pkgs/servers/dns/https-dns-proxy/default.nix b/pkgs/servers/dns/https-dns-proxy/default.nix
index 5e2efae8a2878..12793747e8610 100644
--- a/pkgs/servers/dns/https-dns-proxy/default.nix
+++ b/pkgs/servers/dns/https-dns-proxy/default.nix
@@ -1,24 +1,40 @@
 { lib, stdenv, fetchFromGitHub, cmake, gtest, c-ares, curl, libev }:
 
+let
+  # https-dns-proxy supports HTTP3 if curl has support, but as of 2022-08 curl doesn't work with that enabled
+  # curl' = (curl.override { http3Support = true; });
+  curl' = curl;
+
+in
 stdenv.mkDerivation rec {
   pname = "https-dns-proxy";
   # there are no stable releases (yet?)
-  version = "unstable-2021-03-29";
+  version = "unstable-2022-05-05";
 
   src = fetchFromGitHub {
     owner = "aarond10";
     repo = "https_dns_proxy";
-    rev = "bbd9ef272dcda3ead515871f594768af13192af7";
-    sha256 = "sha256-r+IpDklI3vITK8ZlZvIFm3JdDe2r8DK2ND3n1a/ThrM=";
+    rev = "d310a378795790350703673388821558163944de";
+    hash = "sha256-On4SKUeltPhzM/x+K9aKciKBw5lmVySxnmLi2tnKr3Y=";
   };
 
+  postPatch = ''
+    substituteInPlace https_dns_proxy.service.in \
+      --replace "\''${CMAKE_INSTALL_PREFIX}/" ""
+    substituteInPlace munin/https_dns_proxy.plugin \
+      --replace '--unit https_dns_proxy.service' '--unit https-dns-proxy.service'
+  '';
+
   nativeBuildInputs = [ cmake gtest ];
 
-  buildInputs = [ c-ares curl libev ];
+  buildInputs = [ c-ares curl' libev ];
 
-  installPhase = ''
-    install -Dm555 -t $out/bin https_dns_proxy
-    install -Dm444 -t $out/share/doc/${pname} ../{LICENSE,README}.*
+  postInstall = ''
+    install -Dm444 -t $out/share/doc/${pname} ../{LICENSE,*.md}
+    install -Dm444 -t $out/share/${pname}/munin ../munin/*
+    # the systemd service definition is garbage, and we use our own with NixOS
+    mv $out/lib/systemd $out/share/${pname}
+    rmdir $out/lib
   '';
 
   # upstream wants to add tests and the gtest framework is in place, so be ready
@@ -30,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
+    mainProgram = "https_dns_proxy";
   };
 }