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

124 lines
3.8 KiB

Name: python-zmq
Version: 19.0.0
Release: %autorelease
Summary: Python bindings for zeromq
12 years ago
License: LGPLv3+ and ASL 2.0 and BSD
URL: https://zeromq.org/languages/python/
Source0: %{pypi_source pyzmq}
BuildRequires: gcc
11 years ago
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: 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}
11 years ago
# remove bundled libraries
rm -rv bundled
11 years ago
# 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
11 years ago
%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 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
9 years ago
%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