|
|
|
@ -1,5 +1,10 @@
|
|
|
|
|
# The gevent tests are automatically skipped when gevent is not installed.
|
|
|
|
|
# When bootstrapping new Python versions, gevent is often not available until
|
|
|
|
|
# very late. This bcond allows to ship zmq without gevent when needed.
|
|
|
|
|
%bcond gevent 1
|
|
|
|
|
|
|
|
|
|
Name: python-zmq
|
|
|
|
|
Version: 19.0.2
|
|
|
|
|
Version: 22.3.0
|
|
|
|
|
Release: %autorelease
|
|
|
|
|
Summary: Python bindings for zeromq
|
|
|
|
|
|
|
|
|
@ -11,7 +16,7 @@ Summary: Python bindings for zeromq
|
|
|
|
|
# under MPLv2 or BSD. This backend has been completely replaced in pyzmq 26,
|
|
|
|
|
# and the new implementation is fully licensed under BSD-3-Clause, so pyzmq
|
|
|
|
|
# is now under a single license.
|
|
|
|
|
# Since this package is currently at 19.0.0, the entire source is BSD-3-Clause
|
|
|
|
|
# Since this package is currently at 22.3.0, the entire source is BSD-3-Clause
|
|
|
|
|
# (LICENSE.BSD), except:
|
|
|
|
|
# - Some core files (the low-level Cython bindings) are LGPL-3.0-or-later
|
|
|
|
|
# (LICENSE.LESSER); based on comments in file headers, this is:
|
|
|
|
@ -27,7 +32,6 @@ Summary: Python bindings for zeromq
|
|
|
|
|
# * zmq/eventloop/minitornado/platform/posix.py
|
|
|
|
|
# * zmq/eventloop/minitornado/stack_context.py
|
|
|
|
|
# * zmq/eventloop/zmqstream.py
|
|
|
|
|
# - zmq/utils/sixcerpt.py, which is derived from python3dist(six), is MIT
|
|
|
|
|
# Additionally, the following do not affect the license of the binary RPMs:
|
|
|
|
|
# - tools/run_with_env.cmd is CC0-1.0; for distribution in the source RPM, it
|
|
|
|
|
# is covered by “Existing uses of CC0-1.0 on code files in Fedora packages
|
|
|
|
@ -48,8 +52,7 @@ License: %{shrink:
|
|
|
|
|
BSD-3-Clause AND
|
|
|
|
|
LGPL-3.0-or-later AND
|
|
|
|
|
LGPL-2.1-or-later AND
|
|
|
|
|
Apache-2.0 AND
|
|
|
|
|
MIT
|
|
|
|
|
Apache-2.0
|
|
|
|
|
}
|
|
|
|
|
URL: https://zeromq.org/languages/python/
|
|
|
|
|
Source0: %{pypi_source pyzmq}
|
|
|
|
@ -58,12 +61,8 @@ Source0: %{pypi_source pyzmq}
|
|
|
|
|
Source1: https://www.apache.org/licenses/LICENSE-2.0.txt#/LICENSE.Apache-2.0
|
|
|
|
|
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
|
|
|
|
|
BuildRequires: zeromq-devel
|
|
|
|
|
|
|
|
|
|
BuildRequires: pkgconfig(libzmq)
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-Cython
|
|
|
|
|
|
|
|
|
|
%global common_description %{expand:
|
|
|
|
|
This package contains Python bindings for ZeroMQ. ØMQ is a lightweight and fast
|
|
|
|
@ -74,34 +73,37 @@ messaging implementation.}
|
|
|
|
|
|
|
|
|
|
%package -n python%{python3_pkgversion}-zmq
|
|
|
|
|
Summary: %{summary}
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-zmq}
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-pyzmq}
|
|
|
|
|
Provides: python%{python3_pkgversion}-pyzmq = %{version}-%{release}
|
|
|
|
|
%py_provides python%{python3_pkgversion}-pyzmq
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-zmq %{common_description}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package -n python%{python3_pkgversion}-zmq-tests
|
|
|
|
|
Summary: Test suite for Python bindings for zeromq
|
|
|
|
|
Summary: %{summary}, testsuite
|
|
|
|
|
# This subpackage does not contain any of the files that are under other
|
|
|
|
|
# licenses; see the comment above the main License tag.
|
|
|
|
|
License: BSD-3-Clause
|
|
|
|
|
|
|
|
|
|
Requires: python%{python3_pkgversion}-zmq%{?_isa} = %{version}-%{release}
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-zmq-tests}
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-pyzmq-tests}
|
|
|
|
|
Provides: python%{python3_pkgversion}-pyzmq-tests = %{version}-%{release}
|
|
|
|
|
%py_provides python%{python3_pkgversion}-pyzmq-tests
|
|
|
|
|
|
|
|
|
|
# Tests in zmq/tests/mypy.py require mypy, but see:
|
|
|
|
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
|
|
|
|
|
#
|
|
|
|
|
# Some tests in zmq/tests/test_context.py and zmq/tests/test_socket.py require
|
|
|
|
|
# pyczmq, which is not packaged and has not been updated in a decade.
|
|
|
|
|
#
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-pytest
|
|
|
|
|
Requires: python%{python3_pkgversion}-pytest
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-tornado
|
|
|
|
|
Requires: python%{python3_pkgversion}-tornado
|
|
|
|
|
# Some tests in zmq/tests/test_context.py and zmq/tests/test_socket.py require
|
|
|
|
|
# pyczmq, which is not packaged and has not been updated in a decade.
|
|
|
|
|
#
|
|
|
|
|
# Enable more tests in zmq/tests/test_message.py:
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-numpy
|
|
|
|
|
Requires: python%{python3_pkgversion}-numpy
|
|
|
|
|
%if %{with gevent}
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-gevent
|
|
|
|
|
Requires: python%{python3_pkgversion}-gevent
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-zmq-tests %{common_description}
|
|
|
|
|
|
|
|
|
@ -109,19 +111,17 @@ This package contains the test suite for the Python bindings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -n pyzmq-%{version}
|
|
|
|
|
%autosetup -p1 -n pyzmq-%{version}
|
|
|
|
|
|
|
|
|
|
# remove bundled libraries
|
|
|
|
|
rm -rv bundled/
|
|
|
|
|
|
|
|
|
|
# forcibly regenerate the Cython-generated .c files:
|
|
|
|
|
find zmq -name '*.c' -delete
|
|
|
|
|
# Remove any Cython-generated .c files in order to regenerate them:
|
|
|
|
|
find zmq -name '*.c' -print -delete
|
|
|
|
|
|
|
|
|
|
# Remove useless shebangs in files that will be installed without executable
|
|
|
|
|
# permission. The pattern of selecting files before modifying them with sed
|
|
|
|
|
# keeps us from unnecessarily discarding the original mtimes on unmodified
|
|
|
|
|
# files.
|
|
|
|
|
find zmq -type f -name '*.py' \
|
|
|
|
|
# Remove shebangs from non-script sources. The find-then-modify pattern
|
|
|
|
|
# preserves mtimes on sources that did not need to be modified.
|
|
|
|
|
find 'src' -type f -name '*.py' \
|
|
|
|
|
-exec gawk '/^#!/ { print FILENAME }; { nextfile }' '{}' '+' |
|
|
|
|
|
xargs -r sed -r -i '1{/^#!/d}'
|
|
|
|
|
|
|
|
|
@ -130,13 +130,17 @@ find zmq -type f -name '*.py' \
|
|
|
|
|
cp -p '%{SOURCE1}' .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%generate_buildrequires
|
|
|
|
|
%pyproject_buildrequires
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%{python3} setup.py cython
|
|
|
|
|
%py3_build
|
|
|
|
|
%pyproject_wheel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%py3_install
|
|
|
|
|
%pyproject_install
|
|
|
|
|
%pyproject_save_files -l zmq
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
@ -154,21 +158,14 @@ k="${k-}${k+ and }not test_draft"
|
|
|
|
|
# don’t put any effort into figuring out how to make it work.
|
|
|
|
|
k="${k-}${k+ and }not test_cython"
|
|
|
|
|
|
|
|
|
|
# These hang; TODO: why?
|
|
|
|
|
k="${k-}${k+ and }not (TestAsyncioAuthentication and test_blacklist)"
|
|
|
|
|
k="${k-}${k+ and }not (TestAsyncioAuthentication and test_curve)"
|
|
|
|
|
k="${k-}${k+ and }not (TestAsyncioAuthentication and test_plain)"
|
|
|
|
|
|
|
|
|
|
%pytest -k "${k-}" -v -rs zmq/tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-zmq
|
|
|
|
|
%license COPYING.*
|
|
|
|
|
%files -n python%{python3_pkgversion}-zmq -f %{pyproject_files}
|
|
|
|
|
%doc README.md
|
|
|
|
|
%{python3_sitearch}/pyzmq-%{version}-py%{python3_version}.egg-info
|
|
|
|
|
%{python3_sitearch}/zmq/
|
|
|
|
|
%exclude %{python3_sitearch}/zmq/tests/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-zmq-tests
|
|
|
|
|
%{python3_sitearch}/zmq/tests/
|
|
|
|
|
|
|
|
|
|