git: cf8ffc1aada3 - main - sysutils/py-pyinfra: Update 3.3.1 => 3.5, take maintainership

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Fri, 05 Sep 2025 02:06:30 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cf8ffc1aada3066c78f46d54a35191e77acada46

commit cf8ffc1aada3066c78f46d54a35191e77acada46
Author:     Atanu Biswas <atanubiswas484@gmail.com>
AuthorDate: 2025-09-05 01:55:53 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-09-05 02:06:13 +0000

    sysutils/py-pyinfra: Update 3.3.1 => 3.5, take maintainership
    
    Changelogs:
    https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.4
    https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.5
    
    - Switch from GitHub to PyPI as per Python Ports Policy.
    - Switch from distutils to pep517 as per Python Ports Policy.
    - Remove dependency from devel/py-configparser as this backport is only
      relevant to Python <3.
    - Pyinfra dropped configparser as a requirement in v3.5 (no longer
      imported).
    - Remove runtime devel/py-setuptools as the Ports framework no longer
      recommends setuptools as a runtime dependency.
    - Removed PYTEST_BROKEN_TESTS entry for test_sshuserclient. This was
      broken due to Paramiko <3.2 missing PKey.from_type_string. But Port's
      tree now ships Paramiko 3.5.1, so the test passes.
      Also removed the comments as they are no longer relevant.
    
    PR:     289301
---
 sysutils/py-pyinfra/Makefile | 22 ++++++----------------
 sysutils/py-pyinfra/distinfo |  6 +++---
 2 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/sysutils/py-pyinfra/Makefile b/sysutils/py-pyinfra/Makefile
index 0b6bcb519876..0e3711db3eb9 100644
--- a/sysutils/py-pyinfra/Makefile
+++ b/sysutils/py-pyinfra/Makefile
@@ -1,19 +1,19 @@
 PORTNAME=	pyinfra
-DISTVERSIONPREFIX=	v
-DISTVERSION=	3.3.1
+DISTVERSION=	3.5
 CATEGORIES=	sysutils python
+MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	atanubiswas484@gmail.com
 COMMENT=	Automates infrastructure using Python
 WWW=		https://pyinfra.com/
 
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE.md
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}click>2:devel/py-click@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}configparser>0:devel/py-configparser@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}distro>=1.6<2:sysutils/py-distro@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}gevent>=1.5:devel/py-gevent@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}Jinja2>2<4:devel/py-Jinja2@${PY_FLAVOR} \
@@ -21,20 +21,14 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}click>2:devel/py-click@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}paramiko>=2.7<4:security/py-paramiko@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}python-dateutil>2<3:devel/py-python-dateutil@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pywinrm>0:security/py-pywinrm@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}typeguard>0:devel/py-typeguard@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pyyaml>6:devel/py-pyyaml@${PY_FLAVOR}
 
 USES=		pytest python
-USE_GITHUB=	yes
-GH_ACCOUNT=	pyinfra-dev
-USE_PYTHON=	autoplist distutils
+USE_PYTHON=	autoplist pep517
 
-# 'test_sshuserclient' fails because paramiko.PKey doesn't have the 'from_type_string' method
-# which was added in 3.2 and we currently have paramiko==2.x.x
-PYTEST_BROKEN_TESTS=	test_sshuserclient
 # Most of the ignored tests fail because docker is missing.
 # The *_ensure_newline_* ones fail when pyinfra is not installed first.
 PYTEST_IGNORED_TESTS=	test_int_docker_install_package_ubuntu \
@@ -46,10 +40,6 @@ PYTEST_IGNORED_TESTS=	test_int_docker_install_package_ubuntu \
 			test_int_local_line_ensure_newline_true \
 			test_int_local_line_ensure_newline_false
 
-# TestSSHUserConfig.test_missing_hostkey is failing currently, due to an
-# undocumented dependency on code only available in paramiko >= 3.2:
-# https://github.com/pyinfra-dev/pyinfra/issues/1290
-
 NO_ARCH=	yes
 
 .include <bsd.port.pre.mk>
diff --git a/sysutils/py-pyinfra/distinfo b/sysutils/py-pyinfra/distinfo
index 84c79ba0025a..a32290302211 100644
--- a/sysutils/py-pyinfra/distinfo
+++ b/sysutils/py-pyinfra/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747720214
-SHA256 (pyinfra-dev-pyinfra-v3.3.1_GH0.tar.gz) = 6490bba47b0182b0c79b3c915bf1f1058be874af4a7edcb95f1ef990f4a44e22
-SIZE (pyinfra-dev-pyinfra-v3.3.1_GH0.tar.gz) = 364340
+TIMESTAMP = 1757009414
+SHA256 (pyinfra-3.5.tar.gz) = db7f7de7e5e3d2202fb01c089e93e6bef7a5d898d119f3a8964da4b54e123a9c
+SIZE (pyinfra-3.5.tar.gz) = 233210