2024-04-27 04:42:18 by Ryo ONODERA | Files touched by this commit (3) |
Log message: net/py-zmq: Fix build under NetBSD at least Wheel invokes cmake and it has no CMAKE_CONFIGURE_ARGS. Then _zmq.so was reported as problematic RPATH. Define CMAKE_SKIP_RPATH in CMakeLists.txt to fix this failure. |
2024-04-24 14:50:28 by Adam Ciarcinski | Files touched by this commit (5) | |
Log message: py-zmq: updated to 26.0.2 26.0.2 - When bundling libsodium, download from libsodium's releases on GitHub instead \ of download.libsodium.org, which appears to error frequently. 26.0.1 - Fix install from source with cmake \< 3.21 26.0.0 pyzmq 26 is a small release, but with some big changes _hopefully_ nobody will \ notice, except for some users (especially on Windows) where pyzmq releases did not work. The highlights are: - The Cython backend has been rewritten using Cython 3's pure Python mode. - The build system has been rewritten to use CMake via [scikit-build-core] \ instead of setuptools (setup.py is gone!). - Bundled libzmq is updated to 4.3.5, which changes its license from LGPL to MPL. This means: 1. Cython >=3.0 is now a build requirement (if omitted, source distributions \ _should_ still build from Cython-generated .c files without any Cython present) 1. pyzmq's Cython backend is a single extension module, which should improve \ install size, import time, compile time, etc. 1. pyzmq's Cython backend is now BSD-licensed, matching the rest of pyzmq. 1. The license of the libzmq library (included in pyzmq wheels) starting with \ 4.3.5 is now Mozilla Public License 2.0 (MPL-2.0). 1. when building pyzmq from source and it falls back on bundled libzmq, libzmq \ and libsodium are built as static libraries using their own build systems (CMake \ for libzmq, autotools for libsodium except on Windows where it uses msbuild) rather than bundling libzmq with tweetnacl as a Python Extension. Since the new build system uses libzmq and libsodium's own build systems, \ evaluated at install time, building pyzmq with bundled libzmq from source should \ be much more likely to succeed on a variety of platforms than the previous \ method, where their build system was skipped and approximated as a Python \ extension. But I would also be _very_ surprised if I didn't break anything in the process \ of replacing 14 years of setup.py from scratch, especially cases like \ cross-compiling. Please [report](https://github.com/zeromq/pyzmq/issues/new) any issues you \ encounter building pyzmq. See [build docs](building-pyzmq) for more info. __New__: - Experimental support for wheels on windows-arm64 - `Socket.bind('tcp://ip:0')` can be used as a context manager to bind to a \ random port. The resulting URL can be retrieved as `socket.last_endpoint`. - Add `SyncSocket` and `SyncContext` type aliases for the default Socket/Context \ implementations, since the base classes are Generics, type-wise. These are type aliases only to be used in type checking, not actual classes. __Enhancements__: - `repr(Frame)` now produces a nice repr, summarizing Frame contents (without \ getting too large), e.g. `<zmq.Frame(b'abcdefghijkl'...52B)>` __Breaking changes__: - `str(Frame)` no longer returns the whole frame contents interpreted as utf8-bytes. Instead, it returns the new summarized repr, which produces more logical results with `print`, etc. `bytes(Frame)` remains unchanged, and utf-8 text strings can still be produced \ with: `bytes(Frame).decode("utf8")`, which works in all versions of pyzmq and does the same thing. - Stop building Python 3.7 wheels for manylinux1, which reached EOL in January, \ 2022. The new build system doesn't seem to be able to find cmake in that \ environment. |
2023-12-05 19:20:01 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-zmq: updated to 25.1.2 25.1.2 - Fix builds with some recent compilers and bundled libzmq - Fix builds with upcoming Cython 3.1 |
2023-10-11 10:32:21 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-zmq: updated to 25.1.1 25.1.1 is the first stable release with Python 3.12 wheels. Changes: - Allow Cython 0.29.35 to build Python 3.12 wheels (no longer require Cython 3) Bugs fixed: - Fix builds on Solaris by including generated platform.hpp - Cleanup futures in `Socket.poll()` that are cancelled and never return - Fix builds with `-j` when numpy is present in the build env 25.1.0 pyzmq 25.1 mostly changes some packaging details of pyzmq, including support for \ installation from source on Python 3.12 beta 1. Enhancements: - Include address in error message when bind/connect fail. Packaging changes: - Fix inclusion of some test files in source distributions. - Add Cython as a build-time dependency in `build-system.requires` metadata, \ following current [recommendations][cython-build-requires] of the Cython \ maintainers. We still ship generated Cython sources in source distributions, so it is not a \ _strict_ dependency for packagers using `--no-build-isolation`, but pip will \ install Cython as part of building pyzmq from source. This makes it more likely that past pyzmq releases will install on future \ Python releases, which often require an update to Cython but not pyzmq itself. For Python 3.12, Cython >=3.0.0b3 is required. 25.0.2 - Fix handling of shadow sockets in ZMQStream when the original sockets have \ been closed. A regression in 25.0.0, seen with jupyter-client 7. 25.0.1 Tiny bugfix release that should only affect users of {class}`~.PUBHandler` or \ pyzmq repackagers. - Fix handling of custom Message types in {class}`~.PUBHandler` - Small lint fixes to satisfy changes in mypy - License files have been renamed to more standard LICENSE.BSD, LICENSE.LESSER \ to appease some license auto-detect tools. 25.0.0 New: - Added `socket_class` argument to {func}`zmq.Context.socket` - Support shadowing sockets with socket objects, not just via address, e.g. `zmq.asyncio.Socket(other_socket)`. Shadowing an object preserves a reference to the original, unlike shadowing via address. - in {mod}`zmq.auth`, CredentialsProvider callbacks may now be async. - {class}`~.zmq.eventloop.zmqstream.ZMQStream` callbacks may now be async. - Add {class}`zmq.ReconnectStop` draft constants. - Add manylinux_2_28 wheels for x86_64 CPython 3.10, 3.11, and PyPy 3.9 (these \ are _in addition to_ not _instead of_ the manylinux_2014 wheels). Fixed: - When {class}`~.zmq.eventloop.zmqstream.ZMQStream` is given an async socket, it now warns and hooks up events correctly with the underlying socket, so the \ callback gets the received message, instead of sending the callback the incorrect arguments. - Fixed toml parse error in `pyproject.toml`, when installing from source with very old pip. - Removed expressed dependency on `py` when running with pypy, which hasn't been used in some time. Deprecated: - {class}`zmq.auth.ioloop.IOLoopAuthenticator` is deprecated in favor of \ {class}`zmq.auth.asyncio.AsyncioAuthenticator` - As part of migrating toward modern pytest, {class}`zmq.tests.BaseZMQTestCase` \ is deprecated and should not be used outside pyzmq. - `python setup.py test` is deprecated as a way to launch the tests. Just use `pytest`. Removed: - Bundled subset of tornado's IOLoop (deprecated since pyzmq 17) is removed, so ZMQStream cannot be used without an actual install of tornado. - Remove support for tornado 4, meaning tornado is always assumed to run on asyncio. |
2022-11-21 21:09:01 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-zmq: updated to 24.0.1 24.0.1 - Fix several possible resource warnings and deprecation warnings when cleaning up contexts and sockets, especially in pyzmq's own tests and when implicit teardown of objects is \ happening during process teardown. 24.0.0 pyzmq 24 has two breaking changes (one only on Windows), though they are not \ likely to affect most users. Breaking changes: - Due to a libzmq bug causing unavoidable crashes for some users, Windows wheels no longer bundle libzmq with AF_UNIX support. In order to enable AF_UNIX on Windows, pyzmq must be built from source, linking an appropriate build of libzmq (e.g. `libzmq-v142`). AF_UNIX support will be re-enabled in pyzmq wheels when libzmq published fixed releases. - Using a {class}`zmq.Context` as a context manager or deleting a context \ without closing it now calls {meth}`zmq.Context.destroy` at exit instead of \ {meth}`zmq.Context.term`. This will have little effect on most users, but changes what happens when user bugs result in a context being _implicitly_ \ destroyed while sockets are left open. In almost all cases, this will turn what used to be a hang into a warning. However, there may be some cases where sockets are actively used in threads, which could result in a crash. To use sockets across threads, it is critical to properly and explicitly close \ your contexts and sockets, which will always avoid this issue. |
2022-08-18 18:51:37 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-zmq: updated to 23.2.1 23.2.1 Improvements: - First release with wheels for Python 3.11 (thanks cibuildwheel!). - linux aarch64 wheels now bundle the same libzmq (4.3.4) as all other builds, thanks to switching to native arm builds on CircleCI. Fixes: - Some type annotation fixes in devices. |
2022-07-02 11:31:44 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-zmq: updated to 23.2.0 23.2.0 Improvements: - Use `zmq.Event` enums in `parse_monitor_message` for nicer reprs Fixes: - Fix building bundled libzmq with `ZMQ_DRAFT_API=1` - Fix subclassing `zmq.Context` with additional arguments in the constructor. Subclasses may now have full control over the signature, rather than purely adding keyword-only arguments - Typos and other small fixes |
2022-06-11 15:26:59 by Makoto Fujiwara | Files touched by this commit (1) |
Log message: (net/py-zmq) Fix build, +DEPENDS+= py-packaging |