summary refs log tree commit diff
path: root/pkgs/servers/dns
diff options
context:
space:
mode:
authorVladimír Čunát <vladimir.cunat@nic.cz>2022-08-24 18:14:26 +0200
committerVladimír Čunát <vladimir.cunat@nic.cz>2022-08-25 18:30:22 +0200
commit6d2168c73cf506d5f9e0bac3aed6e2762b6f9d61 (patch)
treefd492b83aa4e61e40c22d8e1991e95edb0811fb0 /pkgs/servers/dns
parent248cf8aca4560be0ec4399244cde4f0490f3d220 (diff)
knot-resolver: patch library loading for darwin
Apparently until now it could never start up on x86_64-darwin :-/
Diffstat (limited to 'pkgs/servers/dns')
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 61f105a62bd44..833be5b534295 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -39,6 +39,13 @@ unwrapped = stdenv.mkDerivation rec {
     # ExecStart can't be overwritten in overrides.
     # We need that to use wrapped executable and correct config file.
     sed '/^ExecStart=/d' -i systemd/kresd@.service.in
+
+    # On x86_64-darwin loading by soname fails to find the libs, surprisingly.
+    # Even though they should already be loaded and they're in RPATH, too.
+    for f in daemon/lua/{kres,zonefile}.lua; do
+      substituteInPlace "$f" \
+        --replace "ffi.load(" "ffi.load('${lib.getLib knot-dns}/lib/' .. "
+    done
   ''
     # some tests have issues with network sandboxing, apparently
   + optionalString doInstallCheck ''