Hi Stuart, did a quick test with www/puppetboard, works for me.
OK sebastia@ cheers, Sebastian On Thu, Oct 15, 2026 at 2:21 PM Stuart Henderson <[email protected]> wrote: > this is another one of those ports where the distfile name for newer > versions got normalized by pypi, so portroach doesn't find it. > > rather than add deps to fix tests for the additional job stores, > I just disabled those, they're pretty noisy.. I also added tests to > flask-apscheduler locally and they're still happy. > > https://apscheduler.readthedocs.io/en/3.x/versionhistory.html > > ok? > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/py-apscheduler/Makefile,v > diff -u -p -r1.6 Makefile > --- Makefile 16 Mar 2026 22:28:29 -0000 1.6 > +++ Makefile 15 Oct 2026 12:18:43 -0000 > @@ -1,11 +1,14 @@ > COMMENT = schedule Python code > > -MODPY_DISTV = 3.10.4 > -DISTNAME = APScheduler-${MODPY_DISTV} > -PKGNAME = py-${DISTNAME:L} > +MODPY_DISTV = 3.11.3 > +DISTNAME = apscheduler-${MODPY_DISTV} > +PKGNAME = py-${DISTNAME} > CATEGORIES = sysutils > MAINTAINER = Sebastian Reitenbach <[email protected]> > -REVISION = 3 > + > +# https://github.com/agronholm/apscheduler > +# https://apscheduler.readthedocs.io/en/3.x/versionhistory.html > +HOMEPAGE = https://apscheduler.readthedocs.io/en/3.x/ > > # MIT > PERMIT_PACKAGE = Yes > @@ -14,19 +17,15 @@ MODULES = lang/python > MODPY_PI = Yes > MODPY_PYBUILD = setuptools_scm > > -RUN_DEPENDS += devel/py-six \ > - devel/py-tz \ > - devel/py-tzlocal > +RUN_DEPENDS += devel/py-tzlocal > > -# besides skipped tests, tests pass with running redis and mongod > -# 2 errors io_loop caused by pytest-tornado missing in ports > -TEST_DEPENDS = databases/py-mongo \ > - databases/py-redis \ > - databases/py-sqlalchemy \ > - devel/py-gevent \ > - devel/py-test-asyncio \ > - devel/py-test-cov \ > - devel/py-twisted \ > +TEST_DEPENDS = net/py-anyio \ > + devel/py-test-timeout \ > + devel/py-tz \ > www/py-tornado > +# some of the jobstore subtests pass if py-mongo, py-redis, py-sqlalchemy > +# are present, but there are various (quite noisy) failures from unported > +# modules: rethinkdb, etcd, zookeeper. > +MODPY_PYTEST_IGNORE = tests/test_jobstores.py > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /cvs/ports/sysutils/py-apscheduler/distinfo,v > diff -u -p -r1.1.1.1 distinfo > --- distinfo 27 Oct 2023 18:47:00 -0000 1.1.1.1 > +++ distinfo 15 Oct 2026 12:18:43 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (APScheduler-3.10.4.tar.gz) = > 5t8HGyfZvomOSGvHlAp75QtK8unafAjwdEqW1L1M70o= > -SIZE (APScheduler-3.10.4.tar.gz) = 100832 > +SHA256 (apscheduler-3.11.3.tar.gz) = > zS/MkzADmoGliTRyrUn6zyOm1WBMvh2RjINcbeeDTVo= > +SIZE (apscheduler-3.11.3.tar.gz) = 110312 > Index: patches/patch-src_apscheduler_util_py > =================================================================== > RCS file: patches/patch-src_apscheduler_util_py > diff -N patches/patch-src_apscheduler_util_py > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_apscheduler_util_py 15 Oct 2026 12:18:43 -0000 > @@ -0,0 +1,21 @@ > +From 00c880b81d1cf37ce1cc89c8f4b70143c3c8b758 Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <[email protected]> > +Date: Sat, 26 Sep 2026 00:28:27 +0300 > +Subject: [PATCH] Fixed compatibility with pytz 2026.4 > + > +Index: src/apscheduler/util.py > +--- src/apscheduler/util.py.orig > ++++ src/apscheduler/util.py > +@@ -115,7 +115,11 @@ def astimezone(obj): > + if obj.zone: > + return ZoneInfo(obj.zone) > + > +- return timezone(obj._offset) > ++ try: > ++ return timezone(obj._utcoffset) > ++ except AttributeError: # pragma: no cover > ++ # pytz 2626.3 and earlier > ++ return timezone(obj._offset) > + > + return obj > + > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/sysutils/py-apscheduler/pkg/PLIST,v > diff -u -p -r1.4 PLIST > --- pkg/PLIST 23 Oct 2025 13:20:21 -0000 1.4 > +++ pkg/PLIST 15 Oct 2026 12:18:43 -0000 > @@ -28,8 +28,6 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}asyncio.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc > > -lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}base_py3.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > -lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}base_py3.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}debug.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}debug.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}gevent.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -42,7 +40,6 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/${MODPY_PYCACHE}twisted.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/asyncio.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/base.py > -lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/base_py3.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/debug.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/gevent.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/executors/pool.py > @@ -56,6 +53,8 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc > > +lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}etcd.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > +lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}etcd.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}memory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}memory.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}mongodb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -69,6 +68,7 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}zookeeper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/${MODPY_PYCACHE}zookeeper.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/base.py > +lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/etcd.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/memory.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/mongodb.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/jobstores/redis.py > @@ -111,6 +111,8 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc > > +lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}calendarinterval.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > +lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}calendarinterval.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}combining.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}combining.${MODPY_PYC_MAGIC_TAG}pyc > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}date.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -118,6 +120,7 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}interval.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/${MODPY_PYCACHE}interval.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/base.py > > +lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/calendarinterval.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/combining.py > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/cron/ > > > lib/python${MODPY_VERSION}/site-packages/apscheduler/triggers/cron/__init__.py > -- https://buzzdeee.reitenba.ch
