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

134 lines
3.6 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.}
%global run_tests 0
Name: python-%{pkgname}
Version: 19.0.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
# For some tests
# czmq currently FTBFS, so enable it some time later
#BuildRequires: czmq-devel
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-Cython
%if 0%{?run_tests}
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-tornado
%endif
%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
# 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
%if 0%{?run_tests}
# Make sure we import from the install directory
#rm zmq/__*.py
PYTHONPATH=%{buildroot}%{python3_sitearch} \
%{__python3} setup.py test
%endif
%files -n python%{python3_pkgversion}-%{pkgname}
%license COPYING.*
%doc README.md
# examples/
%{python3_sitearch}/%{eggname}-%{version}-py%{python3_version}.egg-info
%{python3_sitearch}/%{libname}
%exclude %{python3_sitearch}/%{libname}/tests
%files -n python%{python3_pkgversion}-%{pkgname}-tests
%{python3_sitearch}/%{libname}/tests
%changelog
%autochangelog