Name: python-zmq Version: 19.0.0 Release: %autorelease Summary: Python bindings for zeromq License: LGPLv3+ and ASL 2.0 and BSD URL: https://zeromq.org/languages/python/ Source0: %{pypi_source pyzmq} BuildRequires: gcc BuildRequires: chrpath BuildRequires: zeromq-devel 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 messaging implementation.} %description %{common_description} %package -n python%{python3_pkgversion}-zmq Summary: %{summary} License: LGPLv3+ %{?python_provide:%python_provide python%{python3_pkgversion}-zmq} %{?python_provide:%python_provide python%{python3_pkgversion}-pyzmq} Provides: python%{python3_pkgversion}-pyzmq = %{version}-%{release} %description -n python%{python3_pkgversion}-zmq %{common_description} %package -n python%{python3_pkgversion}-zmq-tests Summary: %{summary}, testsuite License: LGPLv3+ Requires: python%{python3_pkgversion}-zmq = %{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} 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 %description -n python%{python3_pkgversion}-zmq-tests %{common_description} This package contains the test suite for the Python bindings. %prep %autosetup -n pyzmq-%{version} # remove bundled libraries rm -rv bundled # forcibly regenerate the Cython-generated .c files: find zmq -name '*.c' -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' \ -exec gawk '/^#!/ { print FILENAME }; { nextfile }' '{}' '+' | xargs -r sed -r -i '1{/^#!/d}' %build %{python3} setup.py cython %py3_build %install %global RPATH /zmq/{backend/cython,devices} %py3_install %check # to avoid partially initialized zmq module from cwd mkdir -p _empty cd _empty ln -s %{buildroot}%{python3_sitearch}/zmq/ ../pytest.ini ./ # test_draft seems to get incorrectly run: # https://github.com/zeromq/pyzmq/issues/1853 k="${k-}${k+ and }not test_draft" # Whatever it takes to build the Cython extension tests/cython_ext.pyx that is # *in the tests*, we aren’t doing it. This goes away in later releases, so we # 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.* %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/ %changelog %autochangelog