From 2fd4cdc16c1cf29e848f9d3fc0bc8bf8cc1cf372 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Sun, 15 Mar 2026 12:40:05 -0700 Subject: [PATCH] python3Packages.threat9-test-bed: fix missing async service loop --- .../threat9-test-bed/asyncio-loop.patch | 18 ++++++++++++++++++ .../threat9-test-bed/default.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch diff --git a/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch b/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch new file mode 100644 index 000000000000..2d2687bfcce4 --- /dev/null +++ b/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch @@ -0,0 +1,18 @@ +diff --git a/threat9_test_bed/telnet_service/telnet_server.py b/threat9_test_bed/telnet_service/telnet_server.py +index 7d29e8f..77f5e48 100644 +--- a/threat9_test_bed/telnet_service/telnet_server.py ++++ b/threat9_test_bed/telnet_service/telnet_server.py +@@ -6,8 +6,11 @@ logger = logging.getLogger(__name__) + + class TelnetServer: + def __init__(self, host: str, port: int, protocol): +- self.loop = asyncio.get_event_loop() +- ++ try: ++ self.loop = asyncio.get_running_loop() ++ except RuntimeError: ++ self.loop = asyncio.new_event_loop() ++ asyncio.set_event_loop(self.loop) + coro = self.loop.create_server(protocol, host, port) + self.server = self.loop.run_until_complete(coro) + diff --git a/pkgs/development/python-modules/threat9-test-bed/default.nix b/pkgs/development/python-modules/threat9-test-bed/default.nix index 32afef3b0aac..c9f4701ea23a 100644 --- a/pkgs/development/python-modules/threat9-test-bed/default.nix +++ b/pkgs/development/python-modules/threat9-test-bed/default.nix @@ -26,6 +26,8 @@ buildPythonPackage rec { hash = "sha256-0YSjMf2gDdrvkDaT77iwfCkiDDXKHnZyI8d7JmBSuCg="; }; + patches = [ ./asyncio-loop.patch ]; + build-system = [ setuptools-scm ]; dependencies = [