about summary refs log tree commit diff
path: root/pkgs/servers/dns/knot-dns
diff options
context:
space:
mode:
authorVladimír Čunát <vladimir.cunat@nic.cz>2022-09-08 11:35:43 +0200
committerVladimír Čunát <vladimir.cunat@nic.cz>2022-09-12 12:13:36 +0200
commitf085846ed2b1cec849bd27f88f5edbc03b5f5da6 (patch)
treefc65df07a1471f5622d8c0252b28d9815ed079cb /pkgs/servers/dns/knot-dns
parent98eb447a5320ea4a93ebb92f5d7367e18c3dbbee (diff)
downloadnixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar.gz
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar.bz2
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar.lz
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar.xz
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.tar.zst
nixlib-f085846ed2b1cec849bd27f88f5edbc03b5f5da6.zip
knot-dns: add a test for version-sensitive dependencies
Diffstat (limited to 'pkgs/servers/dns/knot-dns')
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index fc4efcfe56a1..6d46bfb4dce7 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, gnutls, liburcu, lmdb, libcap_ng, libidn2, libunistring
 , systemd, nettle, libedit, zlib, libiconv, libintl, libmaxminddb, libbpf, nghttp2, libmnl
 , ngtcp2-gnutls
-, autoreconfHook, nixosTests, knot-resolver
+, autoreconfHook
+, nixosTests, knot-resolver, knot-dns, runCommandLocal
 , fetchpatch
 }:
 
@@ -65,6 +66,19 @@ stdenv.mkDerivation rec {
     inherit knot-resolver;
   } // lib.optionalAttrs stdenv.isLinux {
     inherit (nixosTests) knot;
+    # Some dependencies are very version-sensitive, so the might get dropped
+    # or embedded after some update, even if the nixPackagers didn't intend to.
+    # For non-linux I don't know a good replacement for `ldd`.
+    deps = runCommandLocal "knot-deps-test"
+      { nativeBuildInputs = [ (lib.getBin stdenv.cc.libc) ]; }
+      ''
+        for libname in libngtcp2 libbpf; do
+          echo "Checking for $libname:"
+          ldd '${knot-dns.bin}/bin/knotd' | grep -F "$libname"
+          echo "OK"
+        done
+        touch "$out"
+      '';
   };
 
   meta = with lib; {