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

110 lines
3.2 KiB

# what it's called on pypi
%global srcname pyzmq
# what it's imported as
%global libname zmq
# name of egg info directory
%global eggname %{srcname}
# package name fragment
%global pkgname %{libname}
%global common_description %{expand:
The 0MQ lightweight messaging kernel is a library which extends the
standard socket interfaces with features traditionally provided by
specialized messaging middle-ware products. 0MQ sockets provide an
abstraction of asynchronous message queues, multiple messaging
patterns, message filtering (subscriptions), seamless access to
multiple transport protocols and more.}
Name: python-%{pkgname}
Version: 22.3.0
Release: %autorelease
Summary: Software library for fast, message-based applications
License: LGPLv3+ and ASL 2.0 and BSD
URL: https://zeromq.org/languages/python/
Source0: %pypi_source
BuildRequires: gcc
BuildRequires: chrpath
BuildRequires: %{_bindir}/pathfix.py
BuildRequires: zeromq-devel
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-tornado
BuildRequires: python%{python3_pkgversion}-gevent
BuildRequires: python%{python3_pkgversion}-numpy
%description %{common_description}
%package -n python%{python3_pkgversion}-%{pkgname}
Summary: %{summary}
License: LGPLv3+
%{?python_provide:%python_provide python%{python3_pkgversion}-%{pkgname}}
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
Provides: python%{python3_pkgversion}-%{srcname} = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{pkgname} %{common_description}
This package contains the python bindings.
%package -n python%{python3_pkgversion}-%{pkgname}-tests
Summary: %{summary}, testsuite
License: LGPLv3+
Requires: python%{python3_pkgversion}-zmq = %{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-%{pkgname}-tests}
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-tests}
Provides: python%{python3_pkgversion}-%{srcname}-tests = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{pkgname}-tests %{common_description}
This package contains the testsuite for the python bindings.
%prep
%setup -q -n %{srcname}-%{version}
# remove bundled libraries
rm -rf bundled
# remove the Cython .c files in order to regenerate them:
find zmq -name "*.c" -delete
# remove shebangs
grep -lr "^#\!/usr/bin/env python" | xargs sed -i "1d"
# remove excecutable bits
find . -type f -executable | xargs chmod -x
%generate_buildrequires
%pyproject_buildrequires
%build
%pyproject_wheel
%install
%global RPATH /zmq/{backend/cython,devices}
%pyproject_install
%pyproject_save_files zmq
%check
# to avoid partially initialized zmq module from cwd
cd %{_topdir}
# test_cython does not seem to work with --pyargs / not from cwd
%pytest --pyargs zmq -k "not test_cython"
%files -n python%{python3_pkgversion}-%{pkgname} -f %{pyproject_files}
%doc README.md
%exclude %{python3_sitearch}/%{libname}/tests
%files -n python%{python3_pkgversion}-%{pkgname}-tests
%{python3_sitearch}/%{libname}/tests
%changelog
%autochangelog