diff --git a/net-mgmt/py-ciscoconfparse/Makefile b/net-mgmt/py-ciscoconfparse/Makefile index 678a02c031a6..39c52cc33f90 100644 --- a/net-mgmt/py-ciscoconfparse/Makefile +++ b/net-mgmt/py-ciscoconfparse/Makefile @@ -1,32 +1,42 @@ PORTNAME= ciscoconfparse -DISTVERSION= 1.9.28 +DISTVERSION= 1.9.52 CATEGORIES= net-mgmt python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= kai@FreeBSD.org COMMENT= Parse, audit, query, build and modify Cisco IOS-style configurations -WWW= http://www.pennington.net/py/ciscoconfparse/ +WWW= https://www.pennington.net/py/ciscoconfparse/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE +DEPRECATED= Upstream repo archived on 5th March 2025. Please use net-mgmt/py-ciscoconfparse2 instead +EXPIRATION_DATE=2026-11-30 + BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.6.1:devel/py-poetry-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=23.0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0.38.4:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}deprecated>=1.2.14:devel/py-deprecated@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dnspython>=2.4.2:dns/py-dnspython@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dnspython>=2.4.2,1<3,1:dns/py-dnspython@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hier-config>=2.2.3<3:net-mgmt/py-hier-config@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}loguru>=0.7.2:devel/py-loguru@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}passlib>=1.7.4:security/py-passlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}passlib>=1.7.4<2:security/py-passlib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}toml>=0.10.2:textproc/py-toml@${PY_FLAVOR} USES= python USE_PYTHON= autoplist pep517 pytest -# Test fails due missing file: fixtures/configs/sample_01.f5 -PYTEST_BROKEN_TESTS= testParse_parse_syntax_f5_as_junos_nofactory_ioscfg_01 +# Test fails due missing files: +# - fixtures/configs/sample_01.{asa,f5,ios,iosxr,junos,nxosf} +PYTEST_BROKEN_TESTS= testIPv6Obj_IPv4_embedded_in_IPv6_04 \ + testParse_parse_syntax_f5_as_junos_nofactory_ioscfg_01 \ + testParse_syntax \ + testVal_JunosCfgLine_child_02 \ + testVal_JunosCfgLine_child_03 \ + testVal_JunosCfgLine_child_04 TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} NO_ARCH= yes .include diff --git a/net-mgmt/py-ciscoconfparse/distinfo b/net-mgmt/py-ciscoconfparse/distinfo index 1f8cd87cc7ba..e1658aa19104 100644 --- a/net-mgmt/py-ciscoconfparse/distinfo +++ b/net-mgmt/py-ciscoconfparse/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1699694157 -SHA256 (ciscoconfparse-1.9.28.tar.gz) = fdb64c57c4c10735a79e12bcb672237362edc83e0836f0f5ae5bb6188a9ead11 -SIZE (ciscoconfparse-1.9.28.tar.gz) = 480572 +TIMESTAMP = 1761990081 +SHA256 (ciscoconfparse-1.9.52.tar.gz) = 28b13af4f12aadf60b4ced921a72cc5e5514ce4a89aceba10a7239e2551d9a0a +SIZE (ciscoconfparse-1.9.52.tar.gz) = 389869 diff --git a/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml b/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml index 7e4fd764c245..8dea2a38ee01 100644 --- a/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml +++ b/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml @@ -1,25 +1,40 @@ -Just use poetry-core and remove directives that are unknown for it. +* Use the more lightweight py-poetry-core. -Avoid the installation of the test suite into the top of Python's site-lib. +* Avoid the installation of the test suite into the top of Python's site-lib. ---- pyproject.toml.orig 2023-10-29 15:08:28 UTC +* Relax some version requirements and set an upper bound for py-hier-config + because the 3.x release contains breaking changes. + +--- pyproject.toml.orig 2024-11-22 10:15:59 UTC +++ pyproject.toml @@ -2,9 +2,8 @@ [build-system] # See -> PEP 517 -requires = ["poetry>=1.5.1", "poetry-core>=1.6.1", "wheel>=0.38.4", "packaging>=23.0"] +requires = ["poetry-core>=1.6.1", "wheel>=0.38.4", "packaging>=23.0"] build-backend = "poetry.core.masonry.api" -requires-python = ">=3.8.0" ############################################################################## # @@ -38,7 +37,6 @@ packages = [ packages = [ # Syntax -> https://python-poetry.org/docs/pyproject/#packages { include = "ciscoconfparse/*" }, - { include = "tests/*" }, ] # See -> https://python-poetry.org/docs/pyproject/#include-and-exclude include = [ +@@ -80,9 +78,9 @@ dnspython = "^2.4.2" + python = ">=3.8,<4.0.0" + passlib = "^1.7.4" + dnspython = "^2.4.2" +-loguru = "0.7.2" ++loguru = ">=0.7.2" + toml = ">=0.10.2" +-hier_config = "2.2.3" ++hier_config = ">=2.2.3,<3" + deprecated = ">=1.2.14" + + [tool.poetry.urls] diff --git a/net-mgmt/py-ciscoconfparse/files/patch-tests_conftest.py b/net-mgmt/py-ciscoconfparse/files/patch-tests_conftest.py new file mode 100644 index 000000000000..bd921d5146d1 --- /dev/null +++ b/net-mgmt/py-ciscoconfparse/files/patch-tests_conftest.py @@ -0,0 +1,15 @@ +* Enable test suite compatibility with py-pytest 9+ + +--- tests/conftest.py.orig 2026-08-21 16:06:50 UTC ++++ tests/conftest.py +@@ -1424,10 +1424,6 @@ def parse_n01_factory(request): + yield parse_n01_factory + + +-@pytest.mark.skipif(sys.version_info[0] >= 3, reason="No Python3 MockSSH support") +-@pytest.mark.skipif( +- "windows" in platform.system().lower(), reason="No Windows MockSSH support" +-) + @pytest.fixture(scope="session") + def cisco_sshd_mocked(request): + """Mock Cisco IOS SSH"""