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

132 lines
3.8 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: chrpath
BuildRequires: %{_bindir}/pathfix.py
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
%setup -q -n pyzmq-%{version}
# remove bundled libraries
rm -rf bundled
# forcibly regenerate the Cython-generated .c files:
find zmq -name "*.c" -delete
%{__python3} setup.py cython
# remove shebangs
for lib in zmq/eventloop/*.py; do
sed '/\/usr\/bin\/env/d' $lib > $lib.new &&
touch -r $lib $lib.new &&
mv $lib.new $lib
done
# remove excecutable bits
chmod -x examples/pubsub/topics_pub.py
chmod -x examples/pubsub/topics_sub.py
# delete hidden files
#find examples -name '.*' | xargs rm -v
%build
%py3_build
%install
%global RPATH /zmq/{backend/cython,devices}
%py3_install
pathfix.py -pn -i %{__python3} %{buildroot}%{python3_sitearch}
%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