Up to [cvs.NetBSD.org] / pkgsrc / net / py-gevent
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
py-gevent: updated to 24.2.1 24.2.1 (2024-02-14) Bugfixes -------- - Add support for Python patch releases 3.11.8 and 3.12.2, which changed internal details of threading. As a result of these changes, note that it is no longer possible to change the ``__class__`` of a ``gevent.threading._DummyThread`` object on those versions. See :issue:`2020`. Other ----- Other updates for compatibility with the standard library include: - Errors raised from ``subprocess.Popen`` may not have a filename set. - ``SSLSocket.recv_into`` and ``SSLSocket.read`` no longer require the buffer to implement ``len`` and now work with buffers whose size is not 1. - gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close flaw. In addition: - Drop ``setuptools`` to a soft test dependency. - Drop support for very old versions of CFFI. - Update bundled c-ares from 1.19.1 to 1.26.0. - Locks created by gevent, but acquired from multiple different threads (not recommended), no longer spin to implement timeouts and interruptible blocking. Instead, they use the native functionality of the Python 3 lock. This may improve some scenarios. See :issue:`2013`.
py-gevent: updated to 23.9.1 23.9.1 (2023-09-12) Bugfixes Require greenlet 3.0 on Python 3.11 and Python 3.12; greenlet 3.0 is recommended for all platforms. This fixes a number of obscure crashes on all versions of Python, as well as fixing a fairly common problem on Python 3.11+ that could manifest as either a crash or as a SystemError. 23.9.0.post1 (2023-09-02) Fix Windows wheel builds. Fix macOS wheel builds. 23.9.0 (2023-09-01) Bugfixes Make gevent.select.select accept arbitrary iterables, not just sequences. That is, you can now pass in a generator of file descriptors instead of a realized list. Internally, arbitrary iterables are copied into lists. This better matches what the standard library does. Thanks to David Salvisberg. On Python 3.11 and newer, opt out of Cython’s fast exception manipulation, which may be causing problems in certain circumstances when combined with greenlets. On all versions of Python, adjust some error handling in the default C-based loop. This fixes several assertion failures on debug versions of CPython. Hopefully it has a positive impact under real conditions. Make gevent.pywsgi comply more closely with the HTTP specification for chunked transfer encoding. In particular, we are much stricter about trailers, and trailers that are invalid (too long or featuring disallowed characters) forcibly close the connection to the client after the results have been sent.
py-gevent: updated to 23.7.0 23.7.0 (2023-07-11) =================== Features -------- - Add preliminary support for Python 3.12, using greenlet 3.0a1. This is somewhat tricky to build from source at this time, and there is one known issue: On Python 3.12b3, dumping tracebacks of greenlets is not available. :issue:`1969`. - Update the bundled c-ares version to 1.19.1. See :issue:`1947`. Bugfixes -------- - Fix an edge case connecting a non-blocking ``SSLSocket`` that could result in an AttributeError. In a change to match the standard library, calling ``sock.connect_ex()`` on a subclass of ``socket`` no longer calls the subclass's ``connect`` method. Initial fix by Priyankar Jain. See :issue:`1932`. - Make gevent's ``FileObjectThread`` (mostly used on Windows) implement ``readinto`` cooperatively. PR by Kirill Smelkov. See :issue:`1948`. - Work around an ``AttributeError`` during cyclic garbage collection when Python finalizers (``__del__`` and the like) attempt to use gevent APIs. This is not a recommended practice, and it is unclear if catching this ``AttributeError`` will fix any problems or just shift them. (If we could determine the root situation that results in this cycle, we might be able to solve it.) See :issue:`1961`. Deprecations and Removals ------------------------- - Remove support for obsolete Python versions. This is everything prior to 3.8. Related changes include: - Stop using ``pkg_resources`` to find entry points (plugins). Instead, use ``importlib.metadata``. - Honor ``sys.unraisablehook`` when a callback function produces an exception, and handling the exception in the hub *also* produces an exception. In older versions, these would be simply printed. - ``setup.py`` no longer includes the ``setup_requires`` keyword. Installation with a tool that understands ``pyproject.toml`` is recommended. - The bundled tblib has been updated to version 2.0.
py-gevent: updated to 22.10.2 22.10.2 (2022-10-31) ==================== Bugfixes -------- - Update to greenlet 2.0. This fixes a deallocation issue that required a change in greenlet's ABI. The design of greenlet 2.0 is intended to prevent future fixes and enhancements from requiring an ABI change, making it easier to update gevent and greenlet independently. .. caution:: greenlet 2.0 requires a modern-ish C++ compiler. This may mean certain older platforms are no longer supported. See :issue:`1909`.
py-gevent: updated to 22.10.1 22.10.1 (2022-10-14) ==================== Features -------- - Update bundled libuv to 1.44.2. 22.08.0 (2022-10-08) ==================== Features -------- - Windows: Test and provide binary wheels for PyPy3.7. Note that there may be issues with subprocesses, signals, and it may be slow. - Upgrade embedded c-ares to 1.18.1. - Upgrade bundled libuv to 1.42.0 from 1.40.0. - Added preliminary support for Python 3.11 (rc2 and later). Some platforms may or may not have binary wheels at this time. .. important:: Support for legacy versions of Python, including 2.7 and 3.6, will be ending soon. The maintenance burden has become too great and the maintainer's time is too limited. Ideally, there will be a release of gevent compatible with a final release of greenlet 2.0 that still supports those legacy versions, but that may not be possible; this may be the final release to support them. :class:`gevent.threadpool.ThreadPool` can now optionally expire idle threads. This is used by default in the implicit thread pool used for DNS requests and other user-submitted tasks; other uses of a thread-pool need to opt-in to this. Bugfixes -------- - Truly disable the effects of compiling with ``-ffast-math``.
py-gevent: updated to 21.12.0 21.12.0 (2021-12-11) ==================== Features -------- - Update autoconf files for Apple Silicon Macs. Note that while there are reports of compiling gevent on Apple Silicon Macs now, this is *not* a tested configuration. There may be some remaining issues with CFFI on some systems as well. See :issue:`1721`. - Build and upload CPython 3.10 binary manylinux wheels. Unfortunately, this required us to stop building and uploading CPython 2.7 binary manylinux wheels. Binary wheels for 2.7 continue to be available for Windows and macOS. See :issue:`1822`. - Test and distribute musllinux_1_1 wheels. See :issue:`1837`. - Update the tested versions of PyPy2 and PyPy3. For PyPy2, there should be no user visible changes, but for PyPy3, support has moved from Python 3.6 to Python 3.7. See :issue:`1843`. Bugfixes -------- - Try to avoid linking to two different Python runtime DLLs on Windows. See :issue:`1814`. - Stop compiling manylinux wheels with ``-ffast-math.`` This was implicit in ``-Ofast``, but could alter the global state of the process. Analysis and fix thanks to Ilya Konstantinov. See :issue:`1820`. - Fix hanging the interpreter on shutdown if gevent monkey patching occurred on a non-main thread in Python 3.9.8 and above. (Note that this is not a recommended practice.) See :issue:`1839`.
net: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes Not committed (merge conflicts...): net/radsecproxy/distinfo The following distfiles could not be fetched (fetched conditionally?): ./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz ./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch ./net/djbdns/distinfo djbdns-1.05-test28.diff.xz ./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch ./net/djbdns/distinfo djbdns-1.05-multiip.diff ./net/djbdns/distinfo djbdns-cachestats.patch
net: Remove SHA1 hashes for distfiles
py-gevent: update to 21.8.0 Adds python 3.9 support.
py-gevent: updated to 1.4.0 1.4.0: - Build with Cython 0.29 in '3str' mode. - Test with PyPy 6.0 on Windows. - Add support for application-wide callbacks when Greenlet objects are started. - Fix consuming a single ready object using next(gevent.iwait(objs)). Previously such a construction would hang because iter was not called. - Make gevent.iwait return an iterator that can now also be used as a context manager. If you'll only be consuming part of the iterator, use it in a with block to avoid leaking resources. - Fix semaphores to immediately notify links if they are ready and rawlink() is called. This behaves like Event and AsyncEvent. Note that the order in which semaphore links are called is not specified. - Improve safety of handling exceptions during interpreter shutdown. - Remove the deprecated ability to specify GEVENT_RESOLVER and other importable settings as a path/to/a/package.module.item. This had race conditions and didn't work with complicated resolver implementations. Place the required package or module on sys.path first. - Reduce the chances that using the blocking monitor functionality could result in apparently random SystemError: Objects/tupleobject.c: bad argument to internal function. - Refactored the gevent test runner and test suite to make them more reusable. In particular, the tests are now run with python -m gevent.tests. - Make a monkey-patched socket.getaddrinfo return socket module enums instead of plain integers for the socket type and address family on Python 3. - Make gevent's pywsgi server set the non-standard environment value wsgi.input_terminated to True. - Make gevent.util.assert_switches produce more informative messages when the assertion fails. - Python 2: If a gevent.socket was closed asynchronously (in a different greenlet or a hub callback), AttributeError could result if the socket was already in use. Now the correct socket.error should be raised. - Fix :meth:gevent.threadpool.ThreadPool.join raising a UserWarning when using the libuv backend. - Fix FileObjectPosix.seek raising OSError when it should have been IOError on Python 2. - Upgrade libuv from 1.23.2 to 1.24.0.
py-gevent: updated to 1.3.7 1.3.7: - Formatting run info no longer includes gevent.local.local objects that have no value in the greenlet. - Fixed negative length in pywsgi's Input read functions for non chunked body. - Upgrade libuv from 1.22.0 to 1.23.2. - Fix opening files in text mode in CPython 2 on Windows by patching libuv.
py-gevent: updated to 1.3.6 1.3.6: - gevent now depends on greenlet 0.4.14 or above. gevent binary wheels for 1.3.5 and below must have greenlet 0.4.13 installed on Python 3.7 or they will crash. - :class:gevent.local.local subclasses correctly supports @staticmethod functions. 1.3.5: - Update the bundled libuv from 1.20.1 to 1.22.0. - Test Python 3.7 on Appveyor. Fix the handling of Popen's close_fds argument on 3.7. - Update Python versions tested on Travis, including PyPy to 6.0. - :mod:gevent.queue imports _PySimpleQueue instead of SimpleQueue so that it doesn't block the event loop. :func:gevent.monkey.patch_all makes this same substitution in :mod:queue. This fixes issues with :class:concurrent.futures.ThreadPoolExecutor as well. - :meth:gevent.socket.socket.connect doesn't pass the port (service) to :func:socket.getaddrinfo when it resolves an AF_INET or AF_INET6 address. (The standard library doesn't either.) This fixes an issue on Solaris. - :meth:gevent.socket.socket.connect works with more address families, notably AF_TIPC, AF_NETLINK, AF_BLUETOOTH, AF_ALG and AF_VSOCK.
py-gevent: updated to 1.3.4 1.3.4: Be more careful about issuing MonkeyPatchWarning for ssl imports. Now, we only issue it if we detect the one specific condition that is known to lead to RecursionError. This may produce false negatives, but should reduce or eliminate false positives. Based on measurements and discussion in issue 1233, adjust the way gevent.pywsgi generates HTTP chunks. This is intended to reduce network overhead, especially for smaller chunk sizes. Additional slight performance improvements in gevent.pywsgi. 1.3.3: gevent.sleep() updates the loop’s notion of the current time before sleeping so that sleep duration corresponds more closely to elapsed (wall clock) time. gevent.Timeout does the same. Fix an UnboundLocalError in SSL servers when wrapping a socket throws an error. 1.3.2.post0: Fix a packaging error in manylinux binary wheels that prevented some imports from working. 1.3.2: Allow weak refeneces to gevent.queue.Queue. 1.3.1: Allow weak references to gevent.event.Event. Fix embedded uses of gevent.Greenlet.spawn(), especially under uwsgi. Fix gevent.os.nb_write() and gevent.os.nb_read() not always closing the IO event they opened in the event of an exception. This would be a problem especially for libuv. 1.3.0: Python 3.7 passes the automated memory leak checks. Update autoconf’s config.guess and config.sub to the latest versions for c-ares and libev. gevent.local.local subclasses that mix-in ABCs can be instantiated.
1.2.2: - Testing on Python 3.5 now uses Python 3.5.3 due to SSL changes. See :issue:`943`. - Linux CI has been updated from Ubuntu 12.04 to Ubuntu 14.04 since the former has reached EOL. - Linux CI now tests on PyPy2 5.7.1, updated from PyPy2 5.6.0. - Linux CI now tests on PyPy3 3.5-5.7.1-beta, updated from PyPy3 3.3-5.5-alpha. - Python 2 sockets are compatible with the ``SOCK_CLOEXEC`` flag found on Linux. They no longer pass the socket type or protocol to ``getaddrinfo`` when ``connect`` is called. Reported in :issue:`944` by Bernie Hackett. - Replace ``optparse`` module with ``argparse``. See :issue:`947`. - Update to version 1.3.1 of ``tblib`` to fix :issue:`954`, reported by ml31415. - Fix the name of the ``type`` parameter to :func:`gevent.socket.getaddrinfo` to be correct on Python 3. This would cause callers using keyword arguments to raise a :exc:`TypeError`. Reported in :issue:`960` by js6626069. Likewise, correct the argument names for ``fromfd`` and ``socketpair`` on Python 2, although they cannot be called with keyword arguments under CPython. .. note:: The ``gethost*`` functions take different argument names under CPython and PyPy. gevent follows the CPython convention, although these functions cannot be called with keyword arguments on CPython. - The previously-singleton exception objects ``FileObjectClosed`` and ``cancel_wait_ex`` were converted to classes. On Python 3, an exception object is stateful, including references to its context and possibly traceback, which could lead to objects remaining alive longer than intended. - Make sure that ``python -m gevent.monkey <script>`` runs code in the global scope, not the scope of the ``main`` function.
Update py-gevent to 1.0.2: Tests don't run through because of ===> Testing for py27-gevent-1.0.2 Traceback (most recent call last): File "testrunner.py", line 2, in <module> import six File "/scratch/net/py-gevent/work/gevent-1.0.2/greentest/six.py", line 2, in <module> from gevent.hub import PY3 ImportError: No module named gevent.hub *** Error code 1 Release 1.0.2 ------------- - Fix LifoQueue.peek() to return correct element. PR #456. Patch by Christine Spang. - Upgrade to libev 4.19 - Remove SSL3 entirely as default TLS protocol - Import socket on Windows (closes #459) - Fix C90 syntax error (PR #449) - Add compatibility with Python 2.7.9's SSL changes. Issue #477.
Add SHA512 digests for distfiles for net category Problems found with existing digests: Package haproxy distfile haproxy-1.5.14.tar.gz 159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded] da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated] Problems found locating distfiles: Package bsddip: missing distfile bsddip-1.02.tar.Z Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2 Package djbdns: missing distfile djbdns-cachestats.patch Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch Package gated: missing distfile gated-3-5-11.tar.gz Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz Package poink: missing distfile poink-1.6.tar.gz Package ra-rtsp-proxy: missing distfile rtspd-src-1.0.0.0.tar.gz Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch Package waste: missing distfile waste-source.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
Use __builtin_unreachable on Clang instead of the broken C11 hack.
Import py27-gevent-1.0.1 as net/py-gevent. gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop.