CVS commit: pkgsrc/devel/py-greenlet
"Adam Ciarcinski" <[email protected]> Fri, 7 Aug 2026 18:51:43 +0000
| Newsgroups | gmane.os.netbsd.devel.pkgsrc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Module Name: pkgsrc
Committed By: adam
Date: Fri Aug 7 18:51:43 UTC 2026
Modified Files:
pkgsrc/devel/py-greenlet: Makefile PLIST distinfo
Log Message:
py-greenlet: updated to 3.5.4
3.5.4 (2026-07-22)
- Fix a crash (segfault) on free-threaded builds of Python 3.14 and
later when the garbage collector runs while a greenlet that was
started from a non-empty C-stack-reference state is active.
See `issue 515
<https://github.com/python-greenlet/greenlet/issues/515>`_.
Thanks to ddorian and Kumar Aditya.
- Fix a potential use-after-free on free-threaded builds of Python 3.14
and later when the garbage collector runs while a greenlet is
suspended holding a ``_PyCStackRef`` (for example, mid attribute
resolution). See
`issue 515 <https://github.com/python-greenlet/greenlet/issues/515>`_.
Thanks to ddorian and Kumar Aditya.
- Fix a deadlock on free-threaded builds when a greenlet switch happened
while a ``PyCriticalSection`` was held -- for example inside asyncio's
``Task.__step``, which holds one on the running task for the duration of
the step. See `PR 519 <https://github.com/python-greenlet/greenlet/pull/519/>`.
Thanks to ddorian and Kumar Aditya.
.. note::
Binary 3.15 wheels are now built with Python 3.15b4. These may not
be compatible with earlier or later versions of 3.15. Binary
3.15 wheels of greenlet from previous releases (e.g., 3.5.3)
may not be compatible with Python 3.15b4.
To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 pkgsrc/devel/py-greenlet/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/devel/py-greenlet/PLIST
cvs rdiff -u -r1.41 -r1.42 pkgsrc/devel/py-greenlet/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed)
(text/x-diff, 3.5 KB)
Modified files:
Index: pkgsrc/devel/py-greenlet/Makefile
diff -u pkgsrc/devel/py-greenlet/Makefile:1.43 pkgsrc/devel/py-greenlet/Makefile:1.44
--- pkgsrc/devel/py-greenlet/Makefile:1.43 Mon Jun 29 05:29:34 2026
+++ pkgsrc/devel/py-greenlet/Makefile Fri Aug 7 18:51:43 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.43 2026/06/29 05:29:34 adam Exp $
+# $NetBSD: Makefile,v 1.44 2026/08/07 18:51:43 adam Exp $
-DISTNAME= greenlet-3.5.3
+DISTNAME= greenlet-3.5.4
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=g/greenlet/}
Index: pkgsrc/devel/py-greenlet/PLIST
diff -u pkgsrc/devel/py-greenlet/PLIST:1.10 pkgsrc/devel/py-greenlet/PLIST:1.11
--- pkgsrc/devel/py-greenlet/PLIST:1.10 Mon Feb 23 15:02:57 2026
+++ pkgsrc/devel/py-greenlet/PLIST Fri Aug 7 18:51:43 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2026/02/23 15:02:57 adam Exp $
+@comment $NetBSD: PLIST,v 1.11 2026/08/07 18:51:43 adam Exp $
${PYINC}/greenlet/greenlet.h
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -78,6 +78,9 @@ ${PYSITELIB}/greenlet/tests/_test_extens
${PYSITELIB}/greenlet/tests/_test_extension.so
${PYSITELIB}/greenlet/tests/_test_extension_cpp.cpp
${PYSITELIB}/greenlet/tests/_test_extension_cpp.so
+${PYSITELIB}/greenlet/tests/fail_c_stack_refs_suspended_gc.py
+${PYSITELIB}/greenlet/tests/fail_c_stack_refs_suspended_gc.pyc
+${PYSITELIB}/greenlet/tests/fail_c_stack_refs_suspended_gc.pyo
${PYSITELIB}/greenlet/tests/fail_clearing_run_switches.py
${PYSITELIB}/greenlet/tests/fail_clearing_run_switches.pyc
${PYSITELIB}/greenlet/tests/fail_clearing_run_switches.pyo
@@ -87,9 +90,15 @@ ${PYSITELIB}/greenlet/tests/fail_cpp_exc
${PYSITELIB}/greenlet/tests/fail_initialstub_already_started.py
${PYSITELIB}/greenlet/tests/fail_initialstub_already_started.pyc
${PYSITELIB}/greenlet/tests/fail_initialstub_already_started.pyo
+${PYSITELIB}/greenlet/tests/fail_issue_515_freethread_gc.py
+${PYSITELIB}/greenlet/tests/fail_issue_515_freethread_gc.pyc
+${PYSITELIB}/greenlet/tests/fail_issue_515_freethread_gc.pyo
${PYSITELIB}/greenlet/tests/fail_slp_switch.py
${PYSITELIB}/greenlet/tests/fail_slp_switch.pyc
${PYSITELIB}/greenlet/tests/fail_slp_switch.pyo
+${PYSITELIB}/greenlet/tests/fail_switch_critical_section.py
+${PYSITELIB}/greenlet/tests/fail_switch_critical_section.pyc
+${PYSITELIB}/greenlet/tests/fail_switch_critical_section.pyo
${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets.py
${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets.pyc
${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets.pyo
Index: pkgsrc/devel/py-greenlet/distinfo
diff -u pkgsrc/devel/py-greenlet/distinfo:1.41 pkgsrc/devel/py-greenlet/distinfo:1.42
--- pkgsrc/devel/py-greenlet/distinfo:1.41 Mon Jun 29 05:29:34 2026
+++ pkgsrc/devel/py-greenlet/distinfo Fri Aug 7 18:51:43 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.41 2026/06/29 05:29:34 adam Exp $
+$NetBSD: distinfo,v 1.42 2026/08/07 18:51:43 adam Exp $
-BLAKE2s (greenlet-3.5.3.tar.gz) = b80be61d2e5422f596dcf11545338977754c066cfa9dc68bc2773ad90e4ae64a
-SHA512 (greenlet-3.5.3.tar.gz) = a6c2d188c0edc71e3820baa43f130b87d902c9b4dcc4e1f8bc627c0198266d088d6e9a635ff5c1ad939ee5ac019704c5abd7ecdd73f6e54bf08ccb86518b7fed
-Size (greenlet-3.5.3.tar.gz) = 200270 bytes
+BLAKE2s (greenlet-3.5.4.tar.gz) = b7beeb148f35087a294166592879c1c9c77303ebdad8ad416ff87d18526c8fc0
+SHA512 (greenlet-3.5.4.tar.gz) = c7681567f21533eff0fbc235c212f036b8547c05f846d599f8942fa37b2c15e6cff45bc4aa5986d885aa15158a1f6cd8a628bb58056351364edb106fef27a7e0
+Size (greenlet-3.5.4.tar.gz) = 206538 bytes