Path to this page:
Subject: CVS commit: pkgsrc/net/py-zmq
From: Adam Ciarcinski
Date: 2024-04-24 14:50:28
Message id: 20240424125029.0EF81FA2C@cvs.NetBSD.org
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.
Files: