comms/py-pymodbus: Add new port

Pymodbus is a full Modbus protocol implementation offering
asynchronous communications. It can also be used without any
third party dependencies (aside from pyserial) if a more
lightweight project is needed.

PR:		251614
This commit is contained in:
Christian Ullrich 2023-01-17 18:29:54 +01:00 committed by Mikael Urankar
parent dd74e44d9f
commit f665aa3933
5 changed files with 57 additions and 0 deletions

View File

@ -137,6 +137,7 @@
SUBDIR += py-hidapi
SUBDIR += py-libimobiledevice
SUBDIR += py-libscrc
SUBDIR += py-pymodbus
SUBDIR += py-pyserial
SUBDIR += py-pyserial-asyncio
SUBDIR += py-xmodem

View File

@ -0,0 +1,38 @@
PORTNAME= pymodbus
DISTVERSION= 3.1.0
CATEGORIES= comms python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= chris@chrullrich.net
COMMENT= Implementation of the Modbus protocol
WWW= https://github.com/pymodbus-dev/pymodbus/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= python:3.8+
USE_PYTHON= autoplist distutils
OPTIONS_DEFINE= REPL SERIAL DATASTORE_REDIS DATASTORE_SQL
OPTIONS_DEFAULT=REPL
REPL_DESC= Interactive REPL console
SERIAL_DESC= Support serial port
DATASTORE_REDIS_DESC= Use Redis for server data
DATASTORE_SQL_DESC= Use database for server data (via SQLAlchemy)
REPL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>=3.8.1:www/py-aiohttp@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prompt-toolkit>=3.0.8:devel/py-prompt-toolkit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typer>=0.6.1:devel/py-typer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}
REPL_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-NO_REPL
SERIAL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyserial>=3.5:comms/py-pyserial@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyserial-asyncio>=0.6:comms/py-pyserial-asyncio@${PY_FLAVOR}
DATASTORE_REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}redis>0:databases/py-redis@${PY_FLAVOR}
DATASTORE_SQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>0:databases/py-sqlalchemy14@${PY_FLAVOR}
NO_ARCH= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1673787533
SHA256 (pymodbus-3.1.0.tar.gz) = eeba02c86b13b1f885c0acc50adf4611df24ab85066ff54daa37c2d883c32525
SIZE (pymodbus-3.1.0.tar.gz) = 177256

View File

@ -0,0 +1,11 @@
--- setup.cfg.orig 2023-01-14 21:23:03.797249800 +0000
+++ setup.cfg 2023-01-15 13:13:52.728391000 +0000
@@ -46,8 +46,6 @@
[options.entry_points]
console_scripts =
- pymodbus.console = pymodbus.repl.client.main:main
- pymodbus.server = pymodbus.repl.server.main:app
pymodbus.simulator = pymodbus.server.simulator.main:main
[options.packages.find]

View File

@ -0,0 +1,4 @@
Pymodbus is a full Modbus protocol implementation offering
asynchronous communications. It can also be used without any
third party dependencies (aside from pyserial) if a more
lightweight project is needed.