From: Stuart Henderson Subject: NEW: devel/py-icalendar-searcher, for py-caldav update To: ports Date: Tue, 3 Feb 2026 16:32:06 +0000 newer py-caldav has split off the "icalendar-searcher" piece to a separate project. ok to import it + its BDEP? tar includes: devel/py-icalendar-searcher devel/py-poetry-dynamic-versioning and also needs the python.port.mk diff below. I also included the py-caldav update if anyone wants to try that (it does have tests which exercise some of the icalendar-searcher code). Index: lang/python/3/python.port.mk =================================================================== RCS file: /cvs/ports/lang/python/3/python.port.mk,v diff -u -p -r1.21 python.port.mk --- lang/python/3/python.port.mk 1 Feb 2026 20:57:09 -0000 1.21 +++ lang/python/3/python.port.mk 3 Feb 2026 16:26:22 -0000 @@ -136,6 +136,9 @@ BUILD_DEPENDS += devel/py-pbr \ devel/py-wheel . elif ${MODPY_PYBUILD} == pdm BUILD_DEPENDS += devel/py-pdm-backend +. elif ${MODPY_PYBUILD} == poetry-dynamic-versioning +BUILD_DEPENDS += devel/py-poetry-dynamic-versioning +_MODPY_EXPECTED_BACKEND = poetry_dynamic_versioning . elif ${MODPY_PYBUILD} == poetry-core BUILD_DEPENDS += py3-poetry-core->=2.2.0:devel/py-poetry-core _MODPY_EXPECTED_BACKEND = poetry.core Index: productivity/py-caldav/Makefile =================================================================== RCS file: /cvs/ports/productivity/py-caldav/Makefile,v diff -u -p -r1.6 Makefile --- productivity/py-caldav/Makefile 11 Nov 2025 08:30:50 -0000 1.6 +++ productivity/py-caldav/Makefile 3 Feb 2026 16:29:52 -0000 @@ -1,15 +1,15 @@ COMMENT= caldav client library for Python # N.B. https://github.com/python-caldav/caldav/issues/530 -# 2.x.0 releases are expected to done using "requests" as a dep -# 2.x.1 releases are expected to done using "niquests" -# niquests depends on urllib3-future which *overrides* urllib3 in -# a default install. either stick to py-caldav versions using -# "requests", or if porting niquests, be sure to set the env var -# during urllib3-future build to stop it overriding urllib3. +# some 2.x releases are done using "requests" as a dep, some using +# "niquests". check CHANGELOG.md to see which, we only want ones with +# "requests" for now. +# sthen has wip ports of niquests+deps but there are segfaults in +# some of the new deps (and a hidden gotcha in urllib3-future with a +# var to set to avoid it _overriding_ requests if installed). # -# python-caldav 3.x hoping to move to httpx, avoiding these problems -MODPY_DISTV= 2.1.0 +# python-caldav 3.x may move to httpx, which would avoid these problems +MODPY_DISTV= 2.2.4 GH_ACCOUNT= python-caldav GH_PROJECT= caldav GH_TAGNAME= v${MODPY_DISTV} @@ -26,10 +26,14 @@ MODPY_PYBUILD= hatch-vcs # yes, even though it's hatch MAKE_ENV= SETUPTOOLS_SCM_PRETEND_VERSION=${MODPY_DISTV} -RUN_DEPENDS= devel/py-icalendar \ +RUN_DEPENDS= textproc/py-lxml \ + www/py-requests \ productivity/py-recurring-ical-events \ - textproc/py-lxml \ - www/py-requests + devel/py-icalendar \ + devel/py-icalendar-searcher<2 \ + net/py-dnspython \ + devel/py-dateutil \ + textproc/py-yaml TEST_DEPENDS= devel/py-tzlocal \ textproc/py-vobject Index: productivity/py-caldav/distinfo =================================================================== RCS file: /cvs/ports/productivity/py-caldav/distinfo,v diff -u -p -r1.3 distinfo --- productivity/py-caldav/distinfo 11 Nov 2025 08:30:50 -0000 1.3 +++ productivity/py-caldav/distinfo 3 Feb 2026 16:29:52 -0000 @@ -1,2 +1,2 @@ -SHA256 (caldav-2.1.0.tar.gz) = BCQiVKeZI/GGZrIkBazS9ImT0AXTVaebUXbLed+BDNU= -SIZE (caldav-2.1.0.tar.gz) = 180647 +SHA256 (caldav-2.2.4.tar.gz) = A/T+hc8aeDm4BTCXTnmXQdtbIzJoscgATWm5fi0JauY= +SIZE (caldav-2.2.4.tar.gz) = 254643 Index: productivity/py-caldav/pkg/PLIST =================================================================== RCS file: /cvs/ports/productivity/py-caldav/pkg/PLIST,v diff -u -p -r1.5 PLIST --- productivity/py-caldav/pkg/PLIST 23 Oct 2025 13:20:09 -0000 1.5 +++ productivity/py-caldav/pkg/PLIST 3 Feb 2026 16:29:52 -0000 @@ -25,10 +25,14 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}davclient.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}davobject.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}davobject.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}discovery.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}discovery.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}objects.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}objects.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}requests.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}requests.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/caldav/_version.py lib/python${MODPY_VERSION}/site-packages/caldav/calendarobjectresource.py lib/python${MODPY_VERSION}/site-packages/caldav/collection.py @@ -36,6 +40,7 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/caldav/config.py lib/python${MODPY_VERSION}/site-packages/caldav/davclient.py lib/python${MODPY_VERSION}/site-packages/caldav/davobject.py +lib/python${MODPY_VERSION}/site-packages/caldav/discovery.py lib/python${MODPY_VERSION}/site-packages/caldav/elements/ lib/python${MODPY_VERSION}/site-packages/caldav/elements/__init__.py lib/python${MODPY_VERSION}/site-packages/caldav/elements/${MODPY_PYCACHE}/ @@ -79,3 +84,4 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/caldav/objects.py lib/python${MODPY_VERSION}/site-packages/caldav/py.typed lib/python${MODPY_VERSION}/site-packages/caldav/requests.py +lib/python${MODPY_VERSION}/site-packages/caldav/search.py