diff --git a/gnu/local.mk b/gnu/local.mk index 59cad38504d5e8504d208b531c93e82248772aa2..83d2d72ab1cc42b90587efa95b5ae2ac135e847a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1198,6 +1198,7 @@ dist_patch_DATA = \ %D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kmplayer-aarch64.patch \ %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \ + %D%/packages/patches/knot-test_net_shortwrite-ensure-connection.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 8f7374c1474dc33f96a12dac6398cbb562d5450a..0fe047abdb1683e34e380cb2c2e92a8a0ef47fb2 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -816,6 +816,8 @@ (define-public knot (file-name (git-file-name name version)) (sha256 (base32 "0fkvip7n5ihjfwnnivdc3jf44y8p85ifglvq7b0anxvj9cg1m78f")) + (patches + (search-patches "knot-test_net_shortwrite-ensure-connection.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch new file mode 100644 index 0000000000000000000000000000000000000000..8b57ec522e1f218c73df3d588205acfb07f3308e --- /dev/null +++ b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch @@ -0,0 +1,19 @@ +This patch duplicates upstream commit 4144d1e, which helps ensure the +"test_net_shortwrite" test suite can succeed across all platforms by +deepening the pending-connection queue of the server it creates from 0 +to 1. + +See the original report at +https://gitlab.nic.cz/knot/knot-dns/-/issues/693 + +--- a/tests/contrib/test_net_shortwrite.c ++++ b/tests/contrib/test_net_shortwrite.c +@@ -88,7 +88,7 @@ int main(int argc, char *argv[]) + int server = net_bound_socket(SOCK_STREAM, &addr, 0); + ok(server >= 0, "server: bind socket"); + +- r = listen(server, 0); ++ r = listen(server, 1); + ok(r == 0, "server: start listening"); + + struct sockaddr *sa = (struct sockaddr *)&addr;