2025-09-26T18:33:38+0100 Stuart Henderson <[email protected]>:
> On 2025/09/26 16:16, Johannes Thyssen Tishman wrote:
> > Please find below an update for productivity/py-caldav to version 2.0.1.
> > 
> > To update, a port of productivity/py-recurring-ical-events is required,
> > which in turn depends on productivity/py-x-wr-timezone. I've attached
> > tarballs of both ports instead of sending them separately as both are
> > pretty small and straightforward. With these installed, all tests are
> > passing.
> 
> license for py-x-wr-timezone is LGPLv3+ (top of x_wr_timezone.py),
> otherwise ok for that and py-recurring-ical-events

Yep, thanks. By running the tests for py-caldav I also found out that
py-x-wr-timezone needs devel/py-click in RUN_DEPENDS. See diff below
with the changes relative to the tarball I sent.

> py-caldav basically ok but a couple of small things,
> 
> > +# skip tests that require against actual servers that require network and
> > +# additional dependencies, as well as tests for documentation which not
> > +# packaged
> 
> I'd like not to disable tests just because they use network, it's
> usually pretty obvious what's going on and pf rules can be adjusted
> if needed. (But if the network tests are ones which also require
> fiddly extra deps then maybe kill those).

Yeah the additional deps are actual CalDAV servers such as radicale
(ported) and xandikos (not yet ported). See comment from
tests/test_caldav.py:

"""
Tests here communicate with third party servers and/or
internal ad-hoc instances of Xandikos and Radicale, dependent on the
configuration in conf_private.py.
Tests that do not require communication with a working caldav server
belong in test_caldav_unit.py
"""

and comment from conf_private.py:

## PRIVATE CALDAV SERVER(S) TO RUN TESTS TOWARDS
## Make a list of your own servers/accounts that you'd like to run the
## test towards.  Running the test suite towards a personal account
## should generally be safe, it should not mess up with content there
## and it should clean up after itself, but don't sue me if anything
## goes wrong ...

so we'd have to configure a dummy server for these.

> Upstream dropped the vobject dep.

Ah, nice catch. Dropped from RUN_DEPENDS but left it in TEST_DEPENDS as
it is needed for tests. New diff below.

diff -rup productivity/py-x-wr-timezone/Makefile 
/usr/ports/mystuff/productivity/py-x-wr-timezone/Makefile
--- productivity/py-x-wr-timezone/Makefile      Fri Sep 26 17:41:34 2025
+++ /usr/ports/mystuff/productivity/py-x-wr-timezone/Makefile   Fri Sep 26 
20:36:09 2025
@@ -10,7 +10,7 @@ GH_TAGNAME =          v${MODPY_DISTV}
 
 CATEGORIES =           productivity
 
-# LGPLv3
+# LGPLv3+
 PERMIT_PACKAGE =       Yes
 
 MODULES =              lang/python
@@ -18,10 +18,10 @@ MODULES =           lang/python
 MODPY_PYBUILD =                setuptools
 
 RUN_DEPENDS =          devel/py-icalendar \
+                       devel/py-click \
                        devel/py-tzdata
 
-TEST_DEPENDS =         devel/py-click \
-                       devel/py-tz \
+TEST_DEPENDS =         devel/py-tz \
                        ${FULLPKGNAME}:${BUILD_PKGPATH}
 
 # test_readme.py is unnecessary and adds a dependency


Index: Makefile
===================================================================
RCS file: /cvs/ports/productivity/py-caldav/Makefile,v
diff -u -p -r1.4 Makefile
--- Makefile    29 Apr 2025 10:39:40 -0000      1.4
+++ Makefile    26 Sep 2025 18:50:49 -0000
@@ -1,11 +1,10 @@
 COMMENT =              caldav client library for Python
 
-MODPY_DISTV =  1.2.1
+MODPY_DISTV =          2.0.1
 GH_ACCOUNT =           python-caldav
 GH_PROJECT =           caldav
 GH_TAGNAME =           v${MODPY_DISTV}
 PKGNAME =              py-${DISTNAME}
-REVISION =             2
 
 CATEGORIES =           productivity net
 
@@ -14,13 +13,23 @@ PERMIT_PACKAGE =    Yes
 
 MODULES =              lang/python
 
-MODPY_PYBUILD =                setuptools
+MODPY_PYBUILD =                hatch-vcs
 
 RUN_DEPENDS =          devel/py-icalendar \
+                       productivity/py-recurring-ical-events \
                        textproc/py-lxml \
-                       textproc/py-vobject \
                        www/py-requests
 
-TEST_DEPENDS =         devel/py-tzlocal
+TEST_DEPENDS =         devel/py-tzlocal \
+                       textproc/py-vobject
+
+# skip tests that run against actual servers and that require network access
+# and additional dependencies, as well as tests for documentation which is not
+# packaged.
+MODPY_PYTEST_ARGS=     --ignore 'tests/test_caldav.py' \
+                       --ignore 'tests/test_docs.py' \
+                       --ignore 'tests/test_examples.py'
+
+MAKE_ENV=              SETUPTOOLS_SCM_PRETEND_VERSION=${MODPY_DISTV}
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/productivity/py-caldav/distinfo,v
diff -u -p -r1.1.1.1 distinfo
--- distinfo    13 Aug 2023 05:57:00 -0000      1.1.1.1
+++ distinfo    26 Sep 2025 18:50:49 -0000
@@ -1,2 +1,2 @@
-SHA256 (caldav-1.2.1.tar.gz) = ShHZHjhhoMqAmXzTJZAOqUo4ddhpFD6eorBR9EaxHrA=
-SIZE (caldav-1.2.1.tar.gz) = 122700
+SHA256 (caldav-2.0.1.tar.gz) = Us+Qiww05nexrl+v2j9jts3YJBJ/CRVQcxkZuRFyjC8=
+SIZE (caldav-2.0.1.tar.gz) = 169649
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/productivity/py-caldav/pkg/PLIST,v
diff -u -p -r1.3 PLIST
--- pkg/PLIST   29 Apr 2025 10:39:40 -0000      1.3
+++ pkg/PLIST   26 Sep 2025 18:50:49 -0000
@@ -7,18 +7,35 @@ lib/python${MODPY_VERSION}/site-packages
 
lib/python${MODPY_VERSION}/site-packages/caldav-${MODPY_DISTV}.dist-info/licenses/
 
lib/python${MODPY_VERSION}/site-packages/caldav-${MODPY_DISTV}.dist-info/licenses/COPYING.APACHE
 
lib/python${MODPY_VERSION}/site-packages/caldav-${MODPY_DISTV}.dist-info/licenses/COPYING.GPL
-lib/python${MODPY_VERSION}/site-packages/caldav-${MODPY_DISTV}.dist-info/top_level.txt
 lib/python${MODPY_VERSION}/site-packages/caldav/__init__.py
 
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}/
 
lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}calendarobjectresource.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}calendarobjectresource.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}compatibility_hints.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}compatibility_hints.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/python${MODPY_VERSION}/site-packages/caldav/${MODPY_PYCACHE}davclient.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
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}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/_version.py
+lib/python${MODPY_VERSION}/site-packages/caldav/calendarobjectresource.py
+lib/python${MODPY_VERSION}/site-packages/caldav/collection.py
+lib/python${MODPY_VERSION}/site-packages/caldav/compatibility_hints.py
+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/elements/
 lib/python${MODPY_VERSION}/site-packages/caldav/elements/__init__.py
 
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/caldav/elements/${MODPY_PYCACHE}/
@@ -60,4 +77,5 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/caldav/lib/url.py
 lib/python${MODPY_VERSION}/site-packages/caldav/lib/vcal.py
 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

Reply via email to