You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
python-zmq/python-zmq.spec

122 lines
3.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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: 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: Test suite for Python bindings for zeromq
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
%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 arent doing it. This goes away in later releases, so we
# dont 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