git: ad1bcf1ac938 - main - comms/py-pyserial-asyncio-fast: New port: async pyserial with improved performance
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Feb 2026 08:38:31 UTC
The branch main has been updated by samm:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ad1bcf1ac9380b573e868f223efd40a1b7bfe44c
commit ad1bcf1ac9380b573e868f223efd40a1b7bfe44c
Author: Oleksii Samorukov <samm@FreeBSD.org>
AuthorDate: 2026-02-10 08:31:53 +0000
Commit: Oleksii Samorukov <samm@FreeBSD.org>
CommitDate: 2026-02-10 08:32:22 +0000
comms/py-pyserial-asyncio-fast: New port: async pyserial with improved performance
---
comms/Makefile | 1 +
comms/py-pyserial-asyncio-fast/Makefile | 28 ++++++++++++++++++++++
comms/py-pyserial-asyncio-fast/distinfo | 3 +++
.../files/patch-pyproject.toml | 15 ++++++++++++
comms/py-pyserial-asyncio-fast/pkg-descr | 4 ++++
5 files changed, 51 insertions(+)
diff --git a/comms/Makefile b/comms/Makefile
index 4ea53334d9c9..2defa1b3938c 100644
--- a/comms/Makefile
+++ b/comms/Makefile
@@ -150,6 +150,7 @@
SUBDIR += py-pyocd-pemicro
SUBDIR += py-pyserial
SUBDIR += py-pyserial-asyncio
+ SUBDIR += py-pyserial-asyncio-fast
SUBDIR += py-sdm_modbus
SUBDIR += py-spsdk
SUBDIR += py-streamdeck
diff --git a/comms/py-pyserial-asyncio-fast/Makefile b/comms/py-pyserial-asyncio-fast/Makefile
new file mode 100644
index 000000000000..cb212c7e7894
--- /dev/null
+++ b/comms/py-pyserial-asyncio-fast/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= pyserial-asyncio-fast
+DISTVERSION= 0.16
+CATEGORIES= comms python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= samm@freebsd.org
+COMMENT= Async I/O extension package for the Python Serial Port Extension
+WWW= https://github.com/home-assistant-libs/pyserial-asyncio-fast
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyserial>=3.1.1:comms/py-pyserial@${PY_FLAVOR}
+
+USES= python shebangfix
+USE_GITHUB= yes
+GH_ACCOUNT= home-assistant-libs
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+do-test:
+ ${SETENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} \
+ ${PYTHON_CMD} ${WRKSRC}/test/test_asyncio.py
+
+.include <bsd.port.mk>
diff --git a/comms/py-pyserial-asyncio-fast/distinfo b/comms/py-pyserial-asyncio-fast/distinfo
new file mode 100644
index 000000000000..2f5d761bc1ac
--- /dev/null
+++ b/comms/py-pyserial-asyncio-fast/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1770710068
+SHA256 (home-assistant-libs-pyserial-asyncio-fast-0.16_GH0.tar.gz) = d1eaba255c20b7faf6c7154237819a46b8bb95e8a66f00e234615cc53127e849
+SIZE (home-assistant-libs-pyserial-asyncio-fast-0.16_GH0.tar.gz) = 32558
diff --git a/comms/py-pyserial-asyncio-fast/files/patch-pyproject.toml b/comms/py-pyserial-asyncio-fast/files/patch-pyproject.toml
new file mode 100644
index 000000000000..ac4655b9357d
--- /dev/null
+++ b/comms/py-pyserial-asyncio-fast/files/patch-pyproject.toml
@@ -0,0 +1,15 @@
+--- pyproject.toml.orig 2025-03-27 02:34:12 UTC
++++ pyproject.toml
+@@ -1,11 +1,9 @@
+ [build-system]
+ build-backend = "setuptools.build_meta"
+-requires = ["setuptools>=77.0"]
++requires = ["setuptools"]
+
+ [project]
+ name = "pyserial-asyncio-fast"
+-license = "BSD-3-Clause"
+-license-files = ["LICENSE.txt", "CREDITS.rst"]
+ description = "Python Serial Port Extension - Asynchronous I/O support"
+ readme = "README.rst"
+ authors = [{ name = "pySerial-team" }]
diff --git a/comms/py-pyserial-asyncio-fast/pkg-descr b/comms/py-pyserial-asyncio-fast/pkg-descr
new file mode 100644
index 000000000000..ab346173fa7c
--- /dev/null
+++ b/comms/py-pyserial-asyncio-fast/pkg-descr
@@ -0,0 +1,4 @@
+This module provides asynchronous I/O on serial ports, extending the
+pyserial module. This version implements eager writes like cpython asyncio
+selector_events does. This can significantly reduce overhead since the asyncio
+writer is no longer added and removed frequently.