Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 1ABCD85359 for ; Sun, 29 Oct 2023 16:56:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 7WND3cJV0f6c for ; Sun, 29 Oct 2023 16:56:42 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id D330E84CE3 for ; Sun, 29 Oct 2023 16:56:42 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id CC8AAFADC; Sun, 29 Oct 2023 16:56:42 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1698598602143590" MIME-Version: 1.0 Date: Sun, 29 Oct 2023 16:56:42 +0000 From: "Thomas Klausner" Subject: CVS commit: pkgsrc/devel/py-greenlet To: pkgsrc-changes@NetBSD.org Approved: commit_and_comment Reply-To: wiz@netbsd.org X-Mailer: log_accum Message-Id: <20231029165642.CC8AAFADC@cvs.NetBSD.org> This is a multi-part message in MIME format. --_----------=_1698598602143590 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: wiz Date: Sun Oct 29 16:56:42 UTC 2023 Modified Files: pkgsrc/devel/py-greenlet: Makefile PLIST distinfo Removed Files: pkgsrc/devel/py-greenlet/patches: patch-src_greenlet_slp__platformselect.h Log Message: py-greenlet: update to 3.0.1. Switch to wheel.mk. 3.0.1 (2023-10-25) ================== - Fix a potential crash on Python 3.8 at interpreter shutdown time. This was a regression from earlier 3.0.x releases. Reported by Matt Wozniski in `issue 376 `_. 3.0.0 (2023-10-02) ================== - No changes from 3.0rc3 aside from the version number. 3.0.0rc3 (2023-09-12) ===================== - Fix an intermittent error during process termination on some platforms (GCC/Linux/libstdc++). 3.0.0rc2 (2023-09-09) ===================== - Fix some potential bugs (assertion failures and memory leaks) in previously-untested error handling code. In some cases, this means that the process will execute a controlled ``abort()`` after severe trouble when previously the process might have continued for some time with a corrupt state. It is unlikely those errors occurred in practice. - Fix some assertion errors and potential bugs with re-entrant switches. - Fix a potential crash when certain compilers compile greenlet with high levels of optimization. The symptom would be that switching to a greenlet for the first time immediately crashes. - Fix a potential crash when the callable object passed to the greenlet constructor (or set as the ``greenlet.run`` attribute) has a destructor attached to it that switches. Typically, triggering this issue would require an unlikely subclass of ``greenlet.greenlet``. - Python 3.11+: Fix rare switching errors that could occur when a garbage collection was triggered during the middle of a switch, and Python-level code in ``__del__`` or weakref callbacks switched to a different greenlet and ultimately switched back to the original greenlet. This often manifested as a ``SystemError``: "switch returned NULL without an exception set." For context on the fixes, see `gevent issue #1985 `_. 3.0.0rc1 (2023-09-01) ===================== - Windows wheels are linked statically to the C runtime in an effort to prevent import errors on systems without the correct C runtime installed. It's not clear if this will make the situation better or worse, so please share your experiences in `issue 346 `_. Note that this only applies to the binary wheels found on PyPI. Building greenlet from source defaults to the shared library. Set the environment variable ``GREENLET_STATIC_RUNTIME=1`` at build time to change that. - Build binary wheels for Python 3.12 on macOS. - Fix compiling greenlet on a debug build of CPython 3.12. There is `one known issue `_ that leads to an interpreter crash on debug builds. - Python 3.12: Fix walking the frame stack of suspended greenlets. Previously accessing ``glet.gr_frame.f_back`` would crash due to `changes in CPython's undocumented internal frame handling `_. Platforms --------- - Now, greenlet *may* compile and work on Windows ARM64 using llvm-mingw, but this is untested and unsupported. See `PR `_ by Adrian Vladu. - Now, greenlet *may* compile and work on LoongArch64 Linux systems, but this is untested and unsupported. See `PR 257 `_ by merore. Known Issues ------------ - There may be (very) subtle issues with tracing on Python 3.12, which has redesigned the entire tracing infrastructure. 3.0.0a1 (2023-06-21) ==================== - Build binary wheels for S390x Linux. See `PR 358 `_ from Steven Silvester. - Fix a rare crash on shutdown seen in uWSGI deployments. See `issue 330 `_ and `PR 356 `_ from Andrew Wason. - Make the platform-specific low-level C/assembly snippets stop using the ``register`` storage class. Newer versions of standards remove this storage class, and it has been generally ignored by many compilers for some time. See `PR 347 `_ from Khem Raj. - Add initial support for Python 3.12. See `issue `_ and `PR `_; thanks go to (at least) Michael Droettboom, Andreas Motl, Thomas A Caswell, raphaelauv, Hugo van Kemenade, Mark Shannon, and Petr Viktorin. - Remove support for end-of-life Python versions, including Python 2.7, Python 3.5 and Python 3.6. - Require a compiler that supports ``noinline`` directives. See `issue 271 `_. - Require a compiler that supports C++11. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 pkgsrc/devel/py-greenlet/Makefile cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/py-greenlet/PLIST cvs rdiff -u -r1.19 -r1.20 pkgsrc/devel/py-greenlet/distinfo cvs rdiff -u -r1.1 -r0 \ pkgsrc/devel/py-greenlet/patches/patch-src_greenlet_slp__platformselect.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1698598602143590 Content-Disposition: inline Content-Length: 6254 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/devel/py-greenlet/Makefile diff -u pkgsrc/devel/py-greenlet/Makefile:1.20 pkgsrc/devel/py-greenlet/Makefile:1.21 --- pkgsrc/devel/py-greenlet/Makefile:1.20 Fri Sep 1 10:44:59 2023 +++ pkgsrc/devel/py-greenlet/Makefile Sun Oct 29 16:56:42 2023 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.20 2023/09/01 10:44:59 nia Exp $ +# $NetBSD: Makefile,v 1.21 2023/10/29 16:56:42 wiz Exp $ -DISTNAME= greenlet-2.0.2 +DISTNAME= greenlet-3.0.1 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= devel python MASTER_SITES= ${MASTER_SITE_PYPI:=g/greenlet/} @@ -10,6 +10,8 @@ HOMEPAGE= https://github.com/python-gree COMMENT= Lightweight in-process concurrent programming LICENSE= mit +TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools +TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel TEST_DEPENDS+= ${PYPKGPREFIX}-objgraph-[0-9]*:../../graphics/py-objgraph USE_LANGUAGES= c c++ @@ -22,8 +24,9 @@ USE_CXX_FEATURES+= c++11 PYTHON_VERSIONS_INCOMPATIBLE= 27 -do-test: - cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHONBIN} -m unittest discover greenlet.tests +# no tests included +#do-test: +# cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHONBIN} -m unittest discover greenlet.tests -.include "../../lang/python/egg.mk" +.include "../../lang/python/wheel.mk" .include "../../mk/bsd.pkg.mk" Index: pkgsrc/devel/py-greenlet/PLIST diff -u pkgsrc/devel/py-greenlet/PLIST:1.3 pkgsrc/devel/py-greenlet/PLIST:1.4 --- pkgsrc/devel/py-greenlet/PLIST:1.3 Mon Nov 21 11:28:21 2022 +++ pkgsrc/devel/py-greenlet/PLIST Sun Oct 29 16:56:42 2023 @@ -1,11 +1,21 @@ -@comment $NetBSD: PLIST,v 1.3 2022/11/21 11:28:21 adam Exp $ +@comment $NetBSD: PLIST,v 1.4 2023/10/29 16:56:42 wiz Exp $ ${PYINC}/greenlet/greenlet.h -${PYSITELIB}/${EGG_INFODIR}/PKG-INFO -${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt -${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt -${PYSITELIB}/${EGG_INFODIR}/not-zip-safe -${PYSITELIB}/${EGG_INFODIR}/requires.txt -${PYSITELIB}/${EGG_INFODIR}/top_level.txt +${PYSITELIB}/${WHEEL_INFODIR}/AUTHORS +${PYSITELIB}/${WHEEL_INFODIR}/LICENSE +${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.PSF +${PYSITELIB}/${WHEEL_INFODIR}/METADATA +${PYSITELIB}/${WHEEL_INFODIR}/RECORD +${PYSITELIB}/${WHEEL_INFODIR}/WHEEL +${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt +${PYSITELIB}/greenlet/TBrokenGreenlet.cpp +${PYSITELIB}/greenlet/TExceptionState.cpp +${PYSITELIB}/greenlet/TGreenlet.cpp +${PYSITELIB}/greenlet/TGreenletGlobals.cpp +${PYSITELIB}/greenlet/TMainGreenlet.cpp +${PYSITELIB}/greenlet/TPythonState.cpp +${PYSITELIB}/greenlet/TStackState.cpp +${PYSITELIB}/greenlet/TThreadStateDestroy.cpp +${PYSITELIB}/greenlet/TUserGreenlet.cpp ${PYSITELIB}/greenlet/__init__.py ${PYSITELIB}/greenlet/__init__.pyc ${PYSITELIB}/greenlet/__init__.pyo @@ -14,6 +24,7 @@ ${PYSITELIB}/greenlet/greenlet.cpp ${PYSITELIB}/greenlet/greenlet.h ${PYSITELIB}/greenlet/greenlet_allocator.hpp ${PYSITELIB}/greenlet/greenlet_compiler_compat.hpp +${PYSITELIB}/greenlet/greenlet_cpython_add_pending.hpp ${PYSITELIB}/greenlet/greenlet_cpython_compat.hpp ${PYSITELIB}/greenlet/greenlet_exceptions.hpp ${PYSITELIB}/greenlet/greenlet_greenlet.hpp @@ -36,6 +47,7 @@ ${PYSITELIB}/greenlet/platform/switch_ar ${PYSITELIB}/greenlet/platform/switch_arm64_masm.obj ${PYSITELIB}/greenlet/platform/switch_arm64_msvc.h ${PYSITELIB}/greenlet/platform/switch_csky_gcc.h +${PYSITELIB}/greenlet/platform/switch_loongarch64_linux.h ${PYSITELIB}/greenlet/platform/switch_m68k_gcc.h ${PYSITELIB}/greenlet/platform/switch_mips_unix.h ${PYSITELIB}/greenlet/platform/switch_ppc64_aix.h @@ -61,6 +73,27 @@ ${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_clearing_run_switches.py +${PYSITELIB}/greenlet/tests/fail_clearing_run_switches.pyc +${PYSITELIB}/greenlet/tests/fail_clearing_run_switches.pyo +${PYSITELIB}/greenlet/tests/fail_cpp_exception.py +${PYSITELIB}/greenlet/tests/fail_cpp_exception.pyc +${PYSITELIB}/greenlet/tests/fail_cpp_exception.pyo +${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_slp_switch.py +${PYSITELIB}/greenlet/tests/fail_slp_switch.pyc +${PYSITELIB}/greenlet/tests/fail_slp_switch.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 +${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets2.py +${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets2.pyc +${PYSITELIB}/greenlet/tests/fail_switch_three_greenlets2.pyo +${PYSITELIB}/greenlet/tests/fail_switch_two_greenlets.py +${PYSITELIB}/greenlet/tests/fail_switch_two_greenlets.pyc +${PYSITELIB}/greenlet/tests/fail_switch_two_greenlets.pyo ${PYSITELIB}/greenlet/tests/leakcheck.py ${PYSITELIB}/greenlet/tests/leakcheck.pyc ${PYSITELIB}/greenlet/tests/leakcheck.pyo Index: pkgsrc/devel/py-greenlet/distinfo diff -u pkgsrc/devel/py-greenlet/distinfo:1.19 pkgsrc/devel/py-greenlet/distinfo:1.20 --- pkgsrc/devel/py-greenlet/distinfo:1.19 Mon Jan 30 12:53:24 2023 +++ pkgsrc/devel/py-greenlet/distinfo Sun Oct 29 16:56:42 2023 @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.19 2023/01/30 12:53:24 adam Exp $ +$NetBSD: distinfo,v 1.20 2023/10/29 16:56:42 wiz Exp $ -BLAKE2s (greenlet-2.0.2.tar.gz) = cba51da6ed4c9b2ee0310cecf28f77969c800bacbb9c54b79621b110f0f10f5a -SHA512 (greenlet-2.0.2.tar.gz) = 03d0b2764c52524c97930a7bd856a432360a96ddbe3d1f2352ec49750994e6811fd28378f83b96cac91520234d0a6e9e56232ff688c71ff57f6340d3d182635b -Size (greenlet-2.0.2.tar.gz) = 164980 bytes -SHA1 (patch-src_greenlet_slp__platformselect.h) = ada2dd34b7fe0847526188aa9242e93732b4bc37 +BLAKE2s (greenlet-3.0.1.tar.gz) = 9370ae981e0dabf949ac8a32bac1e0b6f44b6212cbba608fc1c7f0b1a30c88ad +SHA512 (greenlet-3.0.1.tar.gz) = 67d74352802331642eba0917550a75e9bc2a7d223bc0ce4ee7993d05197b4d0650813439e7c495baf2309303740cd21e60a157e634aafff470332a685603ffec +Size (greenlet-3.0.1.tar.gz) = 174825 bytes --_----------=_1698598602143590--