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

Reply via email to