diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile --- a/net-mgmt/Makefile +++ b/net-mgmt/Makefile @@ -335,6 +335,7 @@ SUBDIR += py-pysmi SUBDIR += py-pysnmp SUBDIR += py-pysnmp-mibs + SUBDIR += py-pysnmplib SUBDIR += py-pyzabbix SUBDIR += py-snmp_passpersist SUBDIR += py-snmpclitools diff --git a/net-mgmt/py-pysnmplib/Makefile b/net-mgmt/py-pysnmplib/Makefile new file mode 100644 --- /dev/null +++ b/net-mgmt/py-pysnmplib/Makefile @@ -0,0 +1,75 @@ +PORTNAME= pysnmplib +DISTVERSION= 5.0.23 +CATEGORIES= net-mgmt python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= agh@riseup.net +COMMENT= SNMP framework for Python +WWW= https://github.com/pysnmp/pysnmp + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.rst + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyasn1>0:devel/py-pyasn1@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pycryptodomex>0:security/py-pycryptodomex@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pysmi>0:net-mgmt/py-pysmi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent flavors pep517 + +CONFLICTS_INSTALL= py-pysnmp-lextudio + +DOCSDIR= ${PREFIX}/share/doc/${PYTHON_PKGNAMEPREFIX}${PORTNAME} +EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_PKGNAMEPREFIX}${PORTNAME} + +EXTRACT_AFTER_ARGS= --exclude examples/README.md + +NO_ARCH= yes + +PLIST_FILES= share/man/man1/pysnmp.1.gz +PORTDOCS= * +PORTEXAMPLES= * + +OPTIONS_DEFINE= DOCS EXAMPLES + +DOCS_DESC= Install Python SNMP library documentation + +_DOCS_BUILD_ENV= PYTHONPATH="${PYTHONPATH}:${WRKDIR}${PYTHON_SITELIBDIR}" + +do-build-DOCS-on: + (cd ${WRKSRC}/docs && \ + pip-${PYTHON_VER} install --ignore-installed --isolated \ + --no-deps --root=${WRKDIR} ${WRKSRC}/dist/*.whl && \ + ${SETENV} ${_DOCS_BUILD_ENV} sphinx-build-${PYTHON_VER} \ + -M html source ../build) + +post-build: + (cd ${WRKSRC}/docs && \ + pip-${PYTHON_VER} install --ignore-installed --isolated \ + --no-deps --root=${WRKDIR} ${WRKSRC}/dist/*.whl && \ + ${SETENV} ${_DOCS_BUILD_ENV} sphinx-build-${PYTHON_VER} \ + -M man source ../build) + +do-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/build/html && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} "-not -name .buildinfo -not -regex ^./_sources.*") + ${INSTALL_DATA} ${WRKSRC}/README.md \ + ${STAGEDIR}${DOCSDIR} + +do-install-EXAMPLES-on: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/examples && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) + +post-install: + ${INSTALL_MAN} ${WRKSRC}/build/man/pysnmp.1 \ + ${STAGEDIR}${PREFIX}/share/man/man1 + +.include diff --git a/net-mgmt/py-pysnmplib/distinfo b/net-mgmt/py-pysnmplib/distinfo new file mode 100644 --- /dev/null +++ b/net-mgmt/py-pysnmplib/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1704973131 +SHA256 (pysnmplib-5.0.23.tar.gz) = 4473b0e933d9bcd71a73b291831aaebe729d959725a1b0a5b2812d8e7bd6b527 +SIZE (pysnmplib-5.0.23.tar.gz) = 399080 diff --git a/net-mgmt/py-pysnmplib/pkg-descr b/net-mgmt/py-pysnmplib/pkg-descr new file mode 100644 --- /dev/null +++ b/net-mgmt/py-pysnmplib/pkg-descr @@ -0,0 +1,12 @@ +A pure-Python, fully functional SNMP management engine, and library. +Features: +* Complete SNMP entity implementation +* USM Extended Security Options support (3DES, 192/256-bit AES encryption) +* Extensible network transports framework (UDP/IPv4, UDP/IPv6) +* Asynchronous socket-based IO API support +* Asyncio integration +* PySMI integration for dynamic MIB compilation +* Built-in instrumentation exposing protocol engine operations +* Python eggs and py2exe friendly +* 100% Python, works with Python 2.4 though 3.7 +* MT-safe (if SnmpEngine is thread-local)