pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/py-zmq py-zmq: updated to 22.3.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/47aad4663a31
branches:  trunk
changeset: 769415:47aad4663a31
user:      adam <adam%pkgsrc.org@localhost>
date:      Sun Nov 14 20:17:08 2021 +0000

description:
py-zmq: updated to 22.3.0

22.3.0
======

Fixes:

- Fix `strlcpy` compilation issues on alpine, freebsd.
  Adds new build-time dependency on `packaging`.
- In event-loop integration: warn instead of raise when triggering callback on a socket whose context has been closed.
- Bundled libzmq in wheels backport a patch to avoid crashes
  due to inappropriate closing of libsodium's random generator
  when using CurveZMQ.

Changes:

- New ResourceWarnings when contexts and sockets are closed by garbage collection,
  which can be a source of hangs and leaks (matches open files)

22.2.1
======

Fix bundling of wepoll on Windows.

22.2.0
======

New features:

- IPC support on Windows:
  where available (64bit Windows wheels and bundled libzmq when compiling from source, via wepoll),
  IPC should work on appropriate Windows versions.
- Nicer reprs of contexts and sockets
- Memory allocated by `recv(copy=False)` is no longer read-only
- asyncio: Always reference current loop instead of attaching to the current loop at instantiation time.
  This fixes e.g. contexts and/or sockets instantiated prior to a call to `asyncio.run`.
- ssh: `$PYZMQ_PARAMIKO_HOST_KEY_POLICY` can be used to set the missing host key policy,
  e.g. `AutoAdd`.

Fixes:

- Fix memory corruption in gevent integration
- Fix `memoryview(zmq.Frame)` with cffi backend
- Fix threadsafety issue when closing sockets

Changes:

- pypy Windows wheels are 64b-only, following an update in cibuildwheel 2.0
- deprecate `zmq.utils.jsonapi` and remove support for non-stdlib json implementations in `send/recv_json`.
  Custom serialization methods should be used instead.


22.1.0
======

New features:

- asyncio: experimental support for Proactor eventloop if tornado 6.1 is available
  by running a selector in a background thread.

Fixes:

- Windows: fix type of `socket.FD` option in win-amd64
- asyncio: Cancel timers when using HWM with async Sockets

Other changes:

- Windows: update bundled libzmq dll URLs for Windows.
  Windows wheels no longer include concrt140.dll.
- adopt pre-commit for formatting, linting



22.0.3
======

- Fix fork-safety bug in garbage collection thread (regression in 20.0)
  when using subprocesses.
- Start uploading universal wheels for ARM Macs.

22.0.2
======

- Add workaround for bug in DLL loading for Windows wheels with conda Python >= 3.8

22.0.1
======

- Fix type of ``Frame.bytes`` for non-copying recvs with CFFI backend (regression in 21.0)
- Add manylinux wheels for pypy

22.0.0
======

This is a major release due to changes in wheels and building on Windows.
Code changes from 21.0 are minimal.

- Some typing fixes
- Bump bundled libzmq to 4.3.4
- Strip unused symbols in manylinux wheels, resulting in dramatically smaller binaries.
  This matches behavior in v20 and earlier.
- Windows CPython wheels bundle public libzmq binary builds,
  instead of building libzmq as a Python Extension.
  This means they include libsodium for the first time.
- Our own implementation of bundling libzmq into pyzmq on Windows is removed,
  instead relying on delvewheel (or installations putting dlls on %PATH%) to bundle dependency dlls.
- The (new in 21.0) Windows wheels for PyPy likely require the Windows vcredist package.
  This may have always been the case, but the delvewheel approach doesn't seem to work.
- Windows + PyPy is now the only remaining case where a wheel has libzmq built as an Extension.
  All other builds ship libzmq built using its own tooling,
  which should result in better, more stable builds.

21.0.2
======

- Fix wheels on macOS older than 10.15 (sets MACOSX_DEPLOYMENT_TARGET to 10.9, matching wheel ABI tag).

21.0.1
======

pyzmq-21.0.1 only changes CI configuration for Windows wheels (built with VS2017 instead of VS2019),
fixing compatibility with some older Windows on all Pythons
and removing requirement of VC++ redistributable package on latest Windows and Python < 3.8.

There still appears to be a compatibility issue with Windows 7 that will be fixed ASAP.
Until then, you can pin ``pip install pyzmq<21``.

There are no changes from 21.0.0 for other platforms.

21.0
====

pyzmq 21 is a major version bump because of dropped support for old Pythons and some changes in packaging.
CPython users should not face major compatibility issues if installation works at all :)
PyPy users may see issues with the new implementation of send/recv.
If you do, please report them!

The big changes are:

- drop support for Python 3.5. Python >= 3.6 is required
- mypy type stubs, which should improve static analysis of pyzmq,
  especially for dynamically defined attributes such as zmq constants.
  These are new! Let us know if you find any issues.
- support for zero-copy and sending bufferables with cffi backend.
  This is experimental! Please report issues.
- More wheels!
    - linux-aarch64 on Python 3.7-3.9
    - wheels for pypy36, 37 on Linux and Windows (previously just mac)

We've totally redone the wheel-building setup, so let us know if you start seeing instalation issues!

Packaging updates:

- Require Python >= 3.6, required for good type annotation support
- Wheels for macOS no longer build libzmq as a Python Extension,
  instead 'real' libzmq is built and linked to libsodium,
  bundled with delocate.
  This matches the longstanding behavior of Linux wheels,
  and should result in better performance.
- Add manylinux wheels for linux-aarch64. These bundle an older version of libzmq than the rest.
- Build wheels for python3.8, 3.9 with manylinux2010 instead of manylinux1.
  Wheels for older Pythons will still be built on manylinux1.
- rework cffi backend in setup.py
- All wheels are built on GitHub Actions (most with cibuildwheel) instead of Min's laptop (finally!).

New features:

- zero-copy support in CFFI backend (``send(copy=False)`` now does something).
- Support sending any buffer-interface-providing objects in CFFI backend.

Bugs fixed:

- Errors during teardown of asyncio Sockets
- Missing MSVCP140.dll in Python 3.9 wheels on Windows,
  causing vcruntime-redist package to be required to use the Python 3.9 wheels for pyzmq 20.0

20.0
====

20.0 is a major version bump because of dropped support for old Pythons and some changes in packaging,
but there are only small changes for users with relatively recent versions of Python.

Packaging updates:

- Update bundled libzmq to 4.3.3
- Drop support for Python < 3.5 (all versions of Python < 3.6 are EOL at time of release)
- Require setuptools to build from source
- Require Cython 0.29 to build from version control (sdists still ship .c files, so will never need Cython)
- Respect $PKG_CONFIG env for finding libzmq when building from source


New features:

- :meth:`.Socket.bind` and :meth:`.Socket.connect` can now be used as context managers.

Fixes:

- Better error when libzmq is bundled and fails to be loaded.
- Hold GIL while calling ``zmq_curve_`` functions, which may fix apparent threadsafety issues.

diffstat:

 net/py-zmq/Makefile                           |  12 +++---
 net/py-zmq/PLIST                              |  49 +++++++++++++-------------
 net/py-zmq/distinfo                           |  12 +++---
 net/py-zmq/patches/patch-buildutils_detect.py |  10 ++--
 net/py-zmq/patches/patch-setup.py             |  17 ++++----
 5 files changed, 50 insertions(+), 50 deletions(-)

diffs (237 lines):

diff -r 5218dd26209d -r 47aad4663a31 net/py-zmq/Makefile
--- a/net/py-zmq/Makefile       Sun Nov 14 20:15:45 2021 +0000
+++ b/net/py-zmq/Makefile       Sun Nov 14 20:17:08 2021 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.31 2020/08/03 13:41:49 adam Exp $
+# $NetBSD: Makefile,v 1.32 2021/11/14 20:17:08 adam Exp $
 
-DISTNAME=      pyzmq-19.0.2
+DISTNAME=      pyzmq-22.3.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/^py//}
 CATEGORIES=    net python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pyzmq/}
@@ -11,14 +11,14 @@
 LICENSE=       gnu-lgpl-v3 AND modified-bsd
 
 DEPENDS+=      ${PYPKGPREFIX}-cython-[0-9]*:../../devel/py-cython
-
-PYTHON_VERSIONED_DEPENDENCIES= test:test
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
 
 USE_TOOLS+=    pkg-config
 
+PYTHON_VERSIONS_INCOMPATIBLE=  27
+
 PYSETUPBUILDARGS+=     --zmq=${BUILDLINK_PREFIX.zeromq:Q}
 
-.include "../../lang/python/distutils.mk"
-.include "../../lang/python/versioned_dependencies.mk"
+.include "../../lang/python/egg.mk"
 .include "../../net/zeromq/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 5218dd26209d -r 47aad4663a31 net/py-zmq/PLIST
--- a/net/py-zmq/PLIST  Sun Nov 14 20:15:45 2021 +0000
+++ b/net/py-zmq/PLIST  Sun Nov 14 20:17:08 2021 +0000
@@ -1,21 +1,27 @@
-@comment $NetBSD: PLIST,v 1.13 2020/04/14 12:50:02 adam Exp $
-${PYSITELIB}/${EGG_FILE}
+@comment $NetBSD: PLIST,v 1.14 2021/11/14 20:17:08 adam Exp $
+${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}/zmq/__init__.pxd
 ${PYSITELIB}/zmq/__init__.py
 ${PYSITELIB}/zmq/__init__.pyc
+${PYSITELIB}/zmq/__init__.pyi
 ${PYSITELIB}/zmq/__init__.pyo
 ${PYSITELIB}/zmq/_future.py
 ${PYSITELIB}/zmq/_future.pyc
 ${PYSITELIB}/zmq/_future.pyo
-${PLIST.py3x}${PYSITELIB}/zmq/asyncio/__init__.py
-${PLIST.py3x}${PYSITELIB}/zmq/asyncio/__init__.pyc
-${PLIST.py3x}${PYSITELIB}/zmq/asyncio/__init__.pyo
+${PYSITELIB}/zmq/asyncio.py
+${PYSITELIB}/zmq/asyncio.pyc
+${PYSITELIB}/zmq/asyncio.pyo
 ${PYSITELIB}/zmq/auth/__init__.py
 ${PYSITELIB}/zmq/auth/__init__.pyc
 ${PYSITELIB}/zmq/auth/__init__.pyo
-${PLIST.py3x}${PYSITELIB}/zmq/auth/asyncio/__init__.py
-${PLIST.py3x}${PYSITELIB}/zmq/auth/asyncio/__init__.pyc
-${PLIST.py3x}${PYSITELIB}/zmq/auth/asyncio/__init__.pyo
+${PYSITELIB}/zmq/auth/asyncio.py
+${PYSITELIB}/zmq/auth/asyncio.pyc
+${PYSITELIB}/zmq/auth/asyncio.pyo
 ${PYSITELIB}/zmq/auth/base.py
 ${PYSITELIB}/zmq/auth/base.pyc
 ${PYSITELIB}/zmq/auth/base.pyo
@@ -30,18 +36,15 @@
 ${PYSITELIB}/zmq/auth/thread.pyo
 ${PYSITELIB}/zmq/backend/__init__.py
 ${PYSITELIB}/zmq/backend/__init__.pyc
+${PYSITELIB}/zmq/backend/__init__.pyi
 ${PYSITELIB}/zmq/backend/__init__.pyo
 ${PYSITELIB}/zmq/backend/cffi/__init__.py
 ${PYSITELIB}/zmq/backend/cffi/__init__.pyc
 ${PYSITELIB}/zmq/backend/cffi/__init__.pyo
 ${PYSITELIB}/zmq/backend/cffi/_cdefs.h
-${PYSITELIB}/zmq/backend/cffi/_cffi.py
-${PYSITELIB}/zmq/backend/cffi/_cffi.pyc
-${PYSITELIB}/zmq/backend/cffi/_cffi.pyo
 ${PYSITELIB}/zmq/backend/cffi/_poll.py
 ${PYSITELIB}/zmq/backend/cffi/_poll.pyc
 ${PYSITELIB}/zmq/backend/cffi/_poll.pyo
-${PYSITELIB}/zmq/backend/cffi/_verify.c
 ${PYSITELIB}/zmq/backend/cffi/constants.py
 ${PYSITELIB}/zmq/backend/cffi/constants.pyc
 ${PYSITELIB}/zmq/backend/cffi/constants.pyo
@@ -63,6 +66,7 @@
 ${PYSITELIB}/zmq/backend/cffi/utils.py
 ${PYSITELIB}/zmq/backend/cffi/utils.pyc
 ${PYSITELIB}/zmq/backend/cffi/utils.pyo
+${PYSITELIB}/zmq/backend/constants.pyi
 ${PYSITELIB}/zmq/backend/cython/__init__.pxd
 ${PYSITELIB}/zmq/backend/cython/__init__.py
 ${PYSITELIB}/zmq/backend/cython/__init__.pyc
@@ -194,6 +198,7 @@
 ${PYSITELIB}/zmq/log/handlers.py
 ${PYSITELIB}/zmq/log/handlers.pyc
 ${PYSITELIB}/zmq/log/handlers.pyo
+${PYSITELIB}/zmq/py.typed
 ${PYSITELIB}/zmq/ssh/__init__.py
 ${PYSITELIB}/zmq/ssh/__init__.pyc
 ${PYSITELIB}/zmq/ssh/__init__.pyo
@@ -205,12 +210,14 @@
 ${PYSITELIB}/zmq/ssh/tunnel.pyo
 ${PYSITELIB}/zmq/sugar/__init__.py
 ${PYSITELIB}/zmq/sugar/__init__.pyc
+${PYSITELIB}/zmq/sugar/__init__.pyi
 ${PYSITELIB}/zmq/sugar/__init__.pyo
 ${PYSITELIB}/zmq/sugar/attrsettr.py
 ${PYSITELIB}/zmq/sugar/attrsettr.pyc
 ${PYSITELIB}/zmq/sugar/attrsettr.pyo
 ${PYSITELIB}/zmq/sugar/constants.py
 ${PYSITELIB}/zmq/sugar/constants.pyc
+${PYSITELIB}/zmq/sugar/constants.pyi
 ${PYSITELIB}/zmq/sugar/constants.pyo
 ${PYSITELIB}/zmq/sugar/context.py
 ${PYSITELIB}/zmq/sugar/context.pyc
@@ -236,18 +243,12 @@
 ${PYSITELIB}/zmq/tests/__init__.py
 ${PYSITELIB}/zmq/tests/__init__.pyc
 ${PYSITELIB}/zmq/tests/__init__.pyo
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/__init__.py
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/__init__.pyc
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/__init__.pyo
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/_test_asyncio.py
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/_test_asyncio.pyc
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/_test_asyncio.pyo
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/test_asyncio.py
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/test_asyncio.pyc
-${PLIST.py3x}${PYSITELIB}/zmq/tests/asyncio/test_asyncio.pyo
 ${PYSITELIB}/zmq/tests/conftest.py
 ${PYSITELIB}/zmq/tests/conftest.pyc
 ${PYSITELIB}/zmq/tests/conftest.pyo
+${PYSITELIB}/zmq/tests/test_asyncio.py
+${PYSITELIB}/zmq/tests/test_asyncio.pyc
+${PYSITELIB}/zmq/tests/test_asyncio.pyo
 ${PYSITELIB}/zmq/tests/test_auth.py
 ${PYSITELIB}/zmq/tests/test_auth.pyc
 ${PYSITELIB}/zmq/tests/test_auth.pyo
@@ -305,6 +306,9 @@
 ${PYSITELIB}/zmq/tests/test_multipart.py
 ${PYSITELIB}/zmq/tests/test_multipart.pyc
 ${PYSITELIB}/zmq/tests/test_multipart.pyo
+${PYSITELIB}/zmq/tests/test_mypy.py
+${PYSITELIB}/zmq/tests/test_mypy.pyc
+${PYSITELIB}/zmq/tests/test_mypy.pyo
 ${PYSITELIB}/zmq/tests/test_pair.py
 ${PYSITELIB}/zmq/tests/test_pair.pyc
 ${PYSITELIB}/zmq/tests/test_pair.pyo
@@ -369,9 +373,6 @@
 ${PYSITELIB}/zmq/utils/monitor.pyo
 ${PYSITELIB}/zmq/utils/mutex.h
 ${PYSITELIB}/zmq/utils/pyversion_compat.h
-${PYSITELIB}/zmq/utils/sixcerpt.py
-${PYSITELIB}/zmq/utils/sixcerpt.pyc
-${PYSITELIB}/zmq/utils/sixcerpt.pyo
 ${PYSITELIB}/zmq/utils/strtypes.py
 ${PYSITELIB}/zmq/utils/strtypes.pyc
 ${PYSITELIB}/zmq/utils/strtypes.pyo
diff -r 5218dd26209d -r 47aad4663a31 net/py-zmq/distinfo
--- a/net/py-zmq/distinfo       Sun Nov 14 20:15:45 2021 +0000
+++ b/net/py-zmq/distinfo       Sun Nov 14 20:17:08 2021 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.25 2021/10/26 11:06:46 nia Exp $
+$NetBSD: distinfo,v 1.26 2021/11/14 20:17:08 adam Exp $
 
-BLAKE2s (pyzmq-19.0.2.tar.gz) = 6ecccd0ef01c6f3b73a3ffa9836d2542c639f5acc4d7cb3e4c26b0bd3aff1500
-SHA512 (pyzmq-19.0.2.tar.gz) = aca37b54e07fe6c3c16be56aa5bd856bbf0f4d7bebd11bd9fdecc6e74b7f996572f1dc52e32ae94562c5a63391975a1caeb04d3c0af9f82f780dbee37aae1a9f
-Size (pyzmq-19.0.2.tar.gz) = 1156195 bytes
-SHA1 (patch-buildutils_detect.py) = 74e061f716b308a3a8965d10fdbf18aca4b814f4
-SHA1 (patch-setup.py) = e03b101b23f2dd61bdd82743b7abeb57520898da
+BLAKE2s (pyzmq-22.3.0.tar.gz) = ab7fd4f2a1284759cc11ef22347ff4e250385fdf6116ad1dc75598c762b11b90
+SHA512 (pyzmq-22.3.0.tar.gz) = a822262ce70e822ea7ac31f458357f61d53b6c24e3482b7f8d222b8c3ace54e4bdb04aff787be07791670f295d6c40d8482fd1a05b87cfe658bf5562da41dcf5
+Size (pyzmq-22.3.0.tar.gz) = 1243520 bytes
+SHA1 (patch-buildutils_detect.py) = 8d96f50e057b7b42d5f05c9c09c6665fac5bd4a5
+SHA1 (patch-setup.py) = be1d04bae34f1c6df97c52b03163bb7871767422
diff -r 5218dd26209d -r 47aad4663a31 net/py-zmq/patches/patch-buildutils_detect.py
--- a/net/py-zmq/patches/patch-buildutils_detect.py     Sun Nov 14 20:15:45 2021 +0000
+++ b/net/py-zmq/patches/patch-buildutils_detect.py     Sun Nov 14 20:17:08 2021 +0000
@@ -1,17 +1,17 @@
-$NetBSD: patch-buildutils_detect.py,v 1.2 2018/02/22 10:03:25 adam Exp $
+$NetBSD: patch-buildutils_detect.py,v 1.3 2021/11/14 20:17:08 adam Exp $
 
 Let compiler decide what's best.
 
---- buildutils/detect.py.orig  2018-02-10 13:02:35.000000000 +0000
+--- buildutils/detect.py.orig  2021-09-16 07:32:51.000000000 +0000
 +++ buildutils/detect.py
-@@ -47,11 +47,6 @@ def test_compilation(cfile, compiler=Non
+@@ -49,11 +49,6 @@ def test_compilation(cfile, compiler=Non
          else:
              # allow for missing UB arch, since it will still work:
              lpreargs = ['-undefined', 'dynamic_lookup']
 -    if sys.platform == 'sunos5':
--        if platform.architecture()[0]=='32bit':
+-        if platform.architecture()[0] == '32bit':
 -            lpreargs = ['-m32']
--        else: 
+-        else:
 -            lpreargs = ['-m64']
      extra = compiler_attrs.get('extra_compile_args', None)
      extra_link = compiler_attrs.get('extra_link_args', [])
diff -r 5218dd26209d -r 47aad4663a31 net/py-zmq/patches/patch-setup.py
--- a/net/py-zmq/patches/patch-setup.py Sun Nov 14 20:15:45 2021 +0000
+++ b/net/py-zmq/patches/patch-setup.py Sun Nov 14 20:17:08 2021 +0000
@@ -1,19 +1,18 @@
-$NetBSD: patch-setup.py,v 1.3 2017/02/02 11:53:58 fhajny Exp $
+$NetBSD: patch-setup.py,v 1.4 2021/11/14 20:17:08 adam Exp $
 
 Let compiler decide what's best.
 
---- setup.py.orig      2016-11-22 12:41:00.000000000 +0000
+--- setup.py.orig      2021-09-16 07:32:51.000000000 +0000
 +++ setup.py
-@@ -203,12 +203,6 @@ def settings_from_prefix(prefix=None, bu
+@@ -282,11 +282,6 @@ def settings_from_prefix(prefix=None):
          if sys.platform.startswith('freebsd'):
              settings['libraries'].append('pthread')
  
 -        if sys.platform.startswith('sunos'):
--          if platform.architecture()[0] == '32bit':
--            settings['extra_link_args'] += ['-m32']
--          else:
--            settings['extra_link_args'] += ['-m64']
--
+-            if platform.architecture()[0] == '32bit':
+-                settings['extra_link_args'] += ['-m32']
+-            else:
+-                settings['extra_link_args'] += ['-m64']
+ 
          if prefix:
              settings['libraries'].append('zmq')
- 



Home | Main Index | Thread Index | Old Index