Commit graph

30 commits

Author SHA1 Message Date
adam
ecd510921e py-zmq: updated to 18.1.0
18.1.0
- Compatibility with Python 3.8 release candidate by regenerating Cython courses with Cython 0.29.13
- bump bundled libzmq to 4.3.2
- handle cancelled futures in asyncio
- make :meth:`zmq.Context.instance` fork-safe
- fix errors in :meth:`zmq.Context.destroy` when opening and closing many sockets
2019-08-09 12:03:06 +00:00
adam
404902bc45 py-zmq: updated to 18.0.2
18.0.2
- Compatibility with Python 3.8 prerelease by regenerating Cython sources
  with Cython 0.29.10.
- Fix language_level=2 in Cython sources, for compatibility with Cython 0.30
- Show missing path for ENOENT errors on ipc connections.
2019-07-02 12:13:02 +00:00
adam
b3119c6505 py-zmq: updated to 18.0.1
18.0.1
Fixes installation from source on non-unicode locales with Python 3.
There are no code changes in this release.
2019-03-08 13:41:09 +00:00
adam
63bc32c701 py-zmq: updated to 18.0.0
18.0.0
Update bundled libzmq to 4.3.1 (fixes CVE-2019-6250)
Added proxy_steerable() and zmq.devices.ProxySteerable
Added bind_{in|out|mon}_to_random_port variants for proxy device methods
Performance improvements for sends with asyncio
Fix sending memoryviews/bytearrays with cffi backend
2019-02-28 13:49:10 +00:00
adam
702a3dfd66 py-zmq: updated to 17.1.2
17.1.2:
Fix possible hang when working with asyncio
Remove some outdated workarounds for old Cython versions
Fix some compilation with custom compilers
Remove unneeded link of libstdc++ on PyPy
2018-08-13 08:00:30 +00:00
adam
6b0c301776 py-zmq: updated to 17.1.0
17.1.0:
- Bump bundled libzmq to 4.2.5
- Improve tornado 5.0 compatibility
  (use :meth:~tornado.ioloop.IOLoop.current instead of :meth:~tornado.ioloop.IOLoop.instance
  to get default loops in :class:.ZMQStream and :class:.IOLoopAuthenticator)
- Add support for :func:.curve_public
- Remove delayed import of json in send/recv_json
- Add :meth:.Authenticator.configure_curve_callback
- Various build fixes
- sdist sources generated with Cython 0.28.3
- Stop building wheels for Python 3.4, start building wheels for Python 3.7
2018-07-14 18:23:00 +00:00
adam
7c5cc3b065 py-zmq: updated to 17.0.0
17.0.0
Add zmq.Socket.send_serialized() and zmq.Socket.recv_serialized() for sending/receiving messages with custom serialization.
Add zmq.Socket.copy_threshold and zmq.COPY_THRESHOLD. Messages smaller than this are always copied, regardless of copy=False, to avoid overhead of zero-copy bookkeeping on small messages.
Added visible deprecation warnings to bundled tornado IOLoop. Tornado eventloop integration shouldn’t be used without a proper tornado install since pyzmq 14.
Allow pyzmq asyncio/tornado integration to run without installing zmq_poll() implementation. The following methods and classes are deprecated and no longer required:
- zmq.eventloop.ioloop.install()
- zmq.eventloop.ioloop.IOLoop
- zmq.asyncio.install()
- zmq.asyncio.ZMQEventLoop
Set RPATH correctly when building on macOS.
Compatibility fixes with tornado 5.0.dev (may not be quite enough for 5.0 final, which is not yet released as of pyzmq 17).
Draft support for CLIENT-SERVER routing_id and group.
2018-02-22 10:03:25 +00:00
adam
f8314e96d9 py-zmq: updated to 16.0.3
16.0.3:
Regenerate Cython sources in sdists with Cython 0.27.2, fixing builds on CPython 3.7.
2017-12-01 10:22:56 +00:00
fhajny
c7de50c376 Add missing Python 3 PLIST entries 2017-02-02 19:05:01 +00:00
fhajny
d8530e9d05 Stop messing with compiler/linker bitness on SunOS. Let pkgsrc and compiler do its job. 2017-02-02 11:53:58 +00:00
fhajny
1bda6f26d8 Update net/py-zmq to 16.0.2.
16.0.2
- Workaround bug in libzmq-4.2.0 causing EINVAL on poll.

16.0.1
- Fix erroneous EAGAIN that could happen on async sockets
- Bundle libzmq 4.1.6

16.0
- Support for Python 2.6 and Python 3.2 is dropped. For old Pythons, use
  :command:`pip install "pyzmq<16"` to get the last version of pyzmq
  that supports these versions.
- Include zmq.h
- Deprecate zmq.Stopwatch. Native Python timing tools can be used
  instead.
- Better support for using pyzmq as a Cython library - bundle zmq.h when
  pyzmq bundles libzmq as an extension - add
  :func:`zmq.get_library_dirs` to find bundled libzmq
- Updates to setup.py for Cython 0.25 compatibility
- Various asyncio/future fixes: - support raw sockets in pollers - allow
  cancelling async sends
- Fix :meth:`IOLoop.current` in :mod:`zmq.green`

15.4
- Load bundled libzmq extension with import rather than CDLL, which
  should fix some manifest issues in certain cases on Windows.
- Avoid installing asyncio sources on Python 2, which confuses some
  tools that run python -m compileall, which reports errors on the
  Python 3-only files.
- Bundle msvcp.dll in Windows wheels on CPython 3.5, which should fix
  wheel compatibility systems without Visual C++ 2015 redistributable.
- :meth:`zmq.Context.instance` is now threadsafe.
- FIX: sync some behavior in zmq_poll and setting LINGER on
  close/destroy with the CFFI backend.
- PERF: resolve send/recv immediately if events are available in async
  Sockets
- Async Sockets (asyncio, tornado) now support send_json, send_pyobj,
  etc.
- add preliminary support for zmq.DRAFT_API reflecting
  ZMQ_BUILD_DRAFT_API, which indicates whether new APIs in prereleases
  are available.

15.3
- Bump bundled libzmq to 4.1.5, using tweetnacl for bundled curve
  support instead of libsodium
- FIX: include .pxi includes in installation for consumers of Cython API
- FIX: various fixes in new async sockets
- Introduce :mod:`zmq.decorators` API for decorating functions to create
  sockets or contexts
- Add :meth:`zmq.Socket.subscribe` and :meth:`zmq.Socket.unsubscribe`
  methods to sockets, so that assignment is no longer needed for
  subscribing. Verbs should be methods! Assignment is still supported for
  backward-compatibility.
- Accept text (unicode) input to z85 encoding, not just bytes
- :meth:`zmq.Context.socket` forwards keyword arguments to the
  :class:`Socket` constructor

15.2
- FIX: handle multiple events in a single register call in
  :mod:`zmq.asyncio`
- FIX: unicode/bytes bug in password prompt in :mod:`zmq.ssh` on Python 3
- FIX: workaround gevent monkeypatches in garbage collection thread
- update bundled minitornado from tornado-4.3.
- improved inspection by setting binding=True in cython compile options
- add asyncio Authenticator implementation in :mod:`zmq.auth.asyncio`
- workaround overflow bug in libzmq preventing receiving messages larger
  than MAX_INT

15.1
- FIX: Remove inadvertant tornado dependency when using
  :mod:`zmq.asyncio`
- FIX: 15.0 Python 3.5 wheels didn't work on Windows
- Add GSSAPI support to Authenticators
- Support new constants defined in upcoming libzmq-4.2.dev

15.0
- PyZMQ 15 adds Future-returning sockets and pollers for both
  :mod:`asyncio` and :mod:`tornado`.
- add :mod:`asyncio` support via :mod:`zmq.asyncio`
- add :mod:`tornado` future support via :mod:`zmq.eventloop.future`
- trigger bundled libzmq if system libzmq is found to be < 3. System
  libzmq 2 can be forced by explicitly requesting --zmq=/prefix/.

14.7.0

Changes:
- Update bundled libzmq to 4.1.2.
- Following the lead of Python 3.5, interrupted system calls will be
  retried.

Fixes:
- Fixes for CFFI backend on Python 3 + support for PyPy 3.
- Verify types of all frames in :meth:`~zmq.Socket.send_multipart`
  before sending, to avoid partial messages.
- Fix build on Windows when both debug and release versions of libzmq
  are found.
- Windows build fixes for Python 3.5.

14.6.0

Changes:
- improvements in :meth:`zmq.Socket.bind_to_random_port`:
- use system to allocate ports by default
- catch EACCES on Windows
- include libsodium when building bundled libzmq on Windows (includes
  wheels on PyPI)
- pyzmq no longer bundles external libzmq when making a bdist. You can
  use delocate to do this.

Bugfixes:
- add missing :attr:`ndim` on memoryviews of Frames
- allow :func:`copy.copy` and :func:`copy.deepcopy` on Sockets, Contexts

14.5.0

Changes:
- use pickle.DEFAULT_PROTOCOL by default in send_pickle
- with the release of pip-6, OS X wheels are only marked as 10.6-intel,
  indicating that they should be installable on any newer or single-arch
  Python.
- raise SSHException on failed check of host key

Bugfixes:
- fix method name in utils.wi32.allow_interrupt
- fork-related fixes in garbage collection thread
- add missing import in zmq.__init__, causing failure to import in some
  circumstances
2017-02-02 10:16:30 +00:00
wiz
57199de455 Switch to MASTER_SITES_PYPI. 2016-06-08 17:43:20 +00:00
agc
203292f73e 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.
2015-11-04 00:34:51 +00:00
obache
0cafd61d33 Update py-zmq to 14.4.1.
14.4.1
======

Bugfixes for 14.4

- SyntaxError on Python 2.6 in zmq.ssh
- Handle possible bug in garbage collection after fork


14.4.0
======

New features:

- Experimental support for libzmq-4.1.0 rc (new constants, plus :func:`zmq.has`).
- Update bundled libzmq to 4.0.5
- Update bundled libsodium to 1.0.0
- Fixes for SSH dialogs when using :mod:`zmq.ssh` to create tunnels
- More build/link/load fixes on OS X and Solaris
- Get Frame metadata via dict access (libzmq 4)
- Contexts and Sockets are context managers (term/close on ``__exit__``)
- Add :class:`zmq.utils.win32.allow_interrupt` context manager for catching SIGINT on Windows

Bugs fixed:

- Bundled libzmq should not trigger recompilation after install on PyPy

14.3.1
======

.. note::

    pyzmq-14.3.1 is the last version to include bdists for Python 3.3

Minor bugfixes to pyzmq 14.3:

- Fixes to building bundled libzmq on OS X < 10.9
- Fixes to import-failure warnings on Python 3.4
- Fixes to tests
- Pull upstream fixes to zmq.ssh for ssh multiplexing
2014-11-15 02:09:46 +00:00
obache
690f952e21 Bump from ABI change of zeromq, libsodium dependency addtion. 2014-07-07 13:05:35 +00:00
rodent
713331912d Simplify PKGNAME regex. CATEGORIES+=python. Updated to latest release,
14.3.0. From docs/source/changelog.rst:

14.3.0
======

- PyZMQ no longer calls :meth:`Socket.close` or :meth:`Context.term` during process cleanup.
  Changes to garbage collection in Python 3.4 make this impossible to do sensibly.
- :meth:`ZMQStream.close` closes its socket immediately, rather than scheduling a timeout.
- Raise the original ImportError when importing zmq fails.
  Should be more informative than `no module cffi...`.

.. warning::

    Users of Python 3.4 should not use pyzmq < 14.3, due to changes in garbage collection.


14.2.0
======

New Stuff
---------

- Raise new ZMQVersionError when a requested method is not supported by the linked libzmq.
  For backward compatibility, this subclasses NotImplementedError.


Bugs Fixed
----------

- Memory leak introduced in pyzmq-14.0 in zero copy.
- OverflowError on 32 bit systems in zero copy.


14.1.0
======

Security
--------

The headline features for 14.1 are adding better support for libzmq's
security features.

- When libzmq is bundled as a Python extension (e.g. wheels, eggs),
  libsodium is also bundled (excluding Windows),
  ensuring that libzmq security is available to users who install from wheels
- New :mod:`zmq.auth`, implementing zeromq's ZAP authentication,
  modeled on czmq zauth.
  For more information, see the `examples <https://github.com/zeromq/pyzmq/tree/master/examples/>`_.


Other New Stuff
---------------

- Add PYZMQ_BACKEND for enabling use of backends outside the pyzmq codebase.
- Add :attr:`~.Context.underlying` property and :meth:`~.Context.shadow`
  method to Context and Socket, for handing off sockets and contexts.
  between pyzmq and other bindings (mainly pyczmq_).
- Add TOS, ROUTER_HANDOVER, and IPC_FILTER constants from libzmq-4.1-dev.
- Add Context option support in the CFFI backend.
- Various small unicode and build fixes, as always.
- :meth:`~.Socket.send_json` and :meth:`~.Socket.recv_json` pass any extra kwargs to ``json.dumps/loads``.


.. _pyczmq: https://github.com/zeromq/pyczmq

Deprecations
------------

- ``Socket.socket_type`` is deprecated, in favor of ``Socket.type``,
  which has been available since 2.1.
2014-06-08 23:58:51 +00:00
obache
210db06f64 Update py-zmq to 14.0.1.
14.0.1
======

Bugfix release

- Update bundled libzmq to current (4.0.3).
- Fix bug in :meth:`.Context.destroy` with no open sockets.
- Threadsafety fixes in the garbage collector.
- Python 3 fixes in :mod:`zmq.ssh`.


14.0.0
======

* Update bundled libzmq to current (4.0.1).
* Backends are now implemented in ``zmq.backend`` instead of ``zmq.core``.
  This has no effect on public APIs.
* Various build improvements for Cython and CFFI backends (PyPy compiles at build time).
* Various GIL-related performance improvements - the GIL is no longer touched from a zmq IO thread.
* Adding a constant should now be a bit easier - only zmq/sugar/constant_names should need updating,
  all other constant-related files should be automatically updated by ``setup.py constants``.
* add support for latest libzmq-4.0.1
  (includes ZMQ_CURVE security and socket event monitoring).

New stuff
---------

- :meth:`.Socket.monitor`
- :meth:`.Socket.get_monitor_socket`
- :func:`zmq.curve_keypair`
- :mod:`zmq.utils.monitor`
- :mod:`zmq.utils.z85`
2014-03-01 08:55:17 +00:00
wiz
aa67e11089 Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
2014-01-25 10:29:56 +00:00
drochner
81976cf85e mark as Python3 ready 2013-07-31 12:16:57 +00:00
rodent
417bd9cb62 Updated to latest stable, 13.1.0. No ChangeLog/NEWS. Include
python/application.mk and REPLACE_PYTHON in a number of files.
2013-07-31 03:20:44 +00:00
obache
34e6f5929e Bump PKGREVISION from zeromq ABI bump. 2013-07-30 01:27:37 +00:00
obache
ec314a0692 Update py-zmq to 2.2.0.1.
================
Changes in PyZMQ
================

2.2.0.1
=======

This is a tech-preview release, to try out some new features.
It is expected to be short-lived, as there are likely to be issues to iron out,
particularly with the new pip-install support.

Experimental New Stuff
----------------------

These features are marked 'experimental', which means that their APIs are not set in stone,
and may be removed or changed in incompatible ways in later releases.


Threadsafe ZMQStream
********************

With the IOLoop inherited from tornado, there is exactly one method that is threadsafe:
:meth:`.IOLoop.add_callback`.  With this release, we are trying an experimental option
to pass all IOLoop calls via this method, so that ZMQStreams can be used from one thread
while the IOLoop runs in another.  To try out a threadsafe stream:

.. sourcecode:: python

    stream = ZMQStream(socket, threadsafe=True)


pip install pyzmq
*****************

PyZMQ should now be pip installable, even on systems without libzmq.
In these cases, when pyzmq fails to find an appropriate libzmq to link against,
it will try to build libzmq as a Python extension.
This work is derived from `pyzmq_static <https://github.com/brandon-rhodes/pyzmq-static>`_.

To this end, PyZMQ source distributions include the sources for libzmq (2.2.0) and libuuid (2.21),
both used under the LGPL.


zmq.green
*********

The excellent `gevent_zeromq <https://github.com/traviscline/gevent_zeromq>`_ socket
subclass which provides `gevent <http://www.gevent.org/>`_ compatibility has been merged as
:mod:`zmq.green`.

.. seealso::

    :ref:`zmq_green`


Bugs fixed
----------

* TIMEO sockopts are properly included for libzmq-2.2.0
* avoid garbage collection of sockets after fork (would cause ``assert (mailbox.cpp:79)``).


2.2.0
=====

Some effort has gone into refining the pyzmq API in this release to make it a model for
other language bindings.  This is principally made in a few renames of objects and methods,
all of which leave the old name for backwards compatibility.

.. note::

    As of this release, all code outside ``zmq.core`` is BSD licensed (where
    possible), to allow more permissive use of less-critical code and utilities.

Name Changes
------------

* The :class:`~.Message` class has been renamed to :class:`~.Frame`, to better match other
  zmq bindings. The old Message name remains for backwards-compatibility.  Wherever pyzmq
  docs say "Message", they should refer to a complete zmq atom of communication (one or
  more Frames, connected by ZMQ_SNDMORE). Please report any remaining instances of
  Message==MessagePart with an Issue (or better yet a Pull Request).

* All ``foo_unicode`` methods are now called ``foo_string`` (``_unicode`` remains for
  backwards compatibility).  This is not only for cross-language consistency, but it makes
  more sense in Python 3, where native strings are unicode, and the ``_unicode`` suffix
  was wedded too much to Python 2.

Other Changes and Removals
--------------------------

* ``prefix`` removed as an unused keyword argument from :meth:`~.Socket.send_multipart`.

* ZMQStream :meth:`~.ZMQStream.send` default has been changed to `copy=True`, so it matches
  Socket :meth:`~.Socket.send`.

* ZMQStream :meth:`~.ZMQStream.on_err` is deprecated, because it never did anything.

* Python 2.5 compatibility has been dropped, and some code has been cleaned up to reflect
  no-longer-needed hacks.

* Some Cython files in :mod:`zmq.core` have been split, to reduce the amount of
  Cython-compiled code.  Much of the body of these files were pure Python, and thus did
  not benefit from the increased compile time.  This change also aims to ease maintaining
  feature parity in other projects, such as
  `pyzmq-ctypes <https://github.com/svpcom/pyzmq-ctypes>`_.


New Stuff
---------

* :class:`~.Context` objects can now set default options when they create a socket. These
  are set and accessed as attributes to the context.  Socket options that do not apply to a
  socket (e.g. SUBSCRIBE on non-SUB sockets) will simply be ignored.

* :meth:`~.ZMQStream.on_recv_stream` has been added, which adds the stream itself as a
  second argument to the callback, making it easier to use a single callback on multiple
  streams.

* A :attr:`~Frame.more` boolean attribute has been added to the :class:`~.Frame` (née
  Message) class, so that frames can be identified as terminal without extra queires of
  :attr:`~.Socket.rcvmore`.


Experimental New Stuff
----------------------

These features are marked 'experimental', which means that their APIs are not
set in stone, and may be removed or changed in incompatible ways in later releases.

* :mod:`zmq.web` added for load-balancing requests in a tornado webapp with zeromq.
2013-01-24 12:37:58 +00:00
obache
37a0ee4310 use http as MASTER_SITES. 2013-01-24 11:18:14 +00:00
asau
e059e7e469 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-23 17:18:07 +00:00
drochner
32eab35bb3 update to 2.1.11
This syncs with the zeromq pkg.
incompatible change regarding IOLoop.READ/WRITE/ERROR constants,
see documentation for details
2012-04-17 17:33:09 +00:00
wiz
c595076396 All supported python versions in pkgsrc support eggs, so remove
${PLIST.eggfile} from PLISTs and support code from lang/python.
2012-04-08 20:21:41 +00:00
wiz
aada88e659 Remove python24 and all traces of it from pkgsrc.
Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
2012-04-08 19:08:44 +00:00
dholland
f9a51fbdbc Doesn't work with python24. (syntax error on "finally:") 2012-03-05 08:12:38 +00:00
apb
d1076b3a4d Patch the setup script to use PREFIX/include and PREFIX/lib.
This should fix a build failure, where it failed to
find the installed version of zmq.  (It worked for me because
I had /usr/pkg/lib in /etc/ld.so.conf.)

Bump PKGREVISION to 1.
2012-03-02 18:44:44 +00:00
apb
125349341d Add py-zmq version 2.1.10
PyZMQ is ostensibly the Python bindings for ZeroMQ, but the project,
following Python's 'batteries included' philosophy, provides more than
just Python methods objects for calling into the ZeroMQ C++ library.
2012-01-21 20:17:27 +00:00