From: 
Subject: Debian changes

The Debian packaging of python-serialx is maintained in git, using a workflow
similar to the one described in dgit-maint-merge(7).
The Debian delta is represented by this one combined patch; there isn't a
patch queue that can be represented as a quilt series.

A detailed breakdown of the changes is available from their canonical
representation -- git commits in the packaging repository.
For example, to see the changes made by the Debian maintainer in the first
upload of upstream version 1.2.3, you could use:

    % git clone https://git.dgit.debian.org/python-serialx
    % cd python-serialx
    % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'

(If you have dgit, use `dgit clone python-serialx`, rather than plain `git clone`.)

We don't use debian/source/options single-debian-patch because it has bugs.
Therefore, NMUs etc. may nevertheless have made additional patches.

---

diff --git a/Cargo.toml b/Cargo.toml
index c500bc0..d199e1f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,11 +12,3 @@ pyo3 = { version = ">=0.23,<0.30", features = [
   "extension-module",
   "abi3-py310",
 ] }
-
-[target.'cfg(target_os = "macos")'.dependencies]
-core-foundation = "0.10"
-core-foundation-sys = "0.8"
-io-kit-sys = "0.4"
-
-[target.'cfg(target_os = "windows")'.dependencies]
-serialport = { version = "4", features = ["usbportinfo-interface"] }
diff --git a/tests/test_async_lifecycle.py b/tests/test_async_lifecycle.py
index 14ac3e9..5e7dd2c 100644
--- a/tests/test_async_lifecycle.py
+++ b/tests/test_async_lifecycle.py
@@ -797,10 +797,17 @@ def test_lifecycle_close_without_wait_closed_no_warnings(
         try:
             loop.run_until_complete(main())
         finally:
-            loop.close()
+            try:
+                loop.run_until_complete(loop.shutdown_asyncgens())
+                # close() releases serial fds in the default executor. Wait for
+                # those syscalls before closing the loop and checking for leaks.
+                loop.run_until_complete(loop.shutdown_default_executor())
+            finally:
+                loop.close()
 
         # Force GC so Task.__del__ runs and any "destroyed but pending" diagnostic
         # reaches the exception handler before we check.
         gc.collect()
 
     assert not caught_warnings
+    assert not handler_calls
