diff --git a/.gitignore b/.gitignore index e69de29..26b3ad6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pyzmq-0.1.20100725git18f5d06.tar.xz diff --git a/python-zmq-os-walk.patch b/python-zmq-os-walk.patch new file mode 100644 index 0000000..34929e5 --- /dev/null +++ b/python-zmq-os-walk.patch @@ -0,0 +1,30 @@ +commit 12bca65badafebf0d45864b2011c32543be271d4 +Author: Thomas Spura +Date: Tue Aug 3 12:56:54 2010 +0200 + + s/os.path.walk/os.walk/g in python 3 + + When running python3, there is no os.path.walk() anymore. + It's renamed as os.walk(), so prefer the later and fall back to the + first. + + Signed-off-by: Thomas Spura + +diff --git a/setup.py b/setup.py +index 6c765a6..2fe9055 100644 +--- a/setup.py ++++ b/setup.py +@@ -30,7 +30,12 @@ from distutils.extension import Extension + + from unittest import TextTestRunner, TestLoader + from glob import glob +-from os.path import splitext, basename, join as pjoin, walk ++from os.path import splitext, basename, join as pjoin ++ ++try: ++ from os import walk ++except ImportError: ++ from os.path import walk + + + #----------------------------------------------------------------------------- diff --git a/python-zmq.spec b/python-zmq.spec new file mode 100644 index 0000000..f13ab3c --- /dev/null +++ b/python-zmq.spec @@ -0,0 +1,178 @@ +%if 0%{?fedora} > 12 || 0%{?rhel} > 6 +%global with_python3 1 +%endif + + +%global _use_internal_dependency_generator 0 +%global __find_provides %{_rpmconfigdir}/find-provides | grep -v _zmq.so + +%global checkout 18f5d061558a176f5496aa8e049182c1a7da64f6 + +%global srcname pyzmq + +Name: python-zmq +Version: 0.1.20100725git18f5d06 +Release: 3%{?dist} +Summary: Software library for fast, message-based applications + +Group: Development/Libraries +License: LGPLv3+ and ASL 2.0 +URL: http://www.zeromq.org/bindings:python +# VCS: git:http://github.com/zeromq/pyzmq.git +# git checkout with the commands: +# git clone http://github.com/zeromq/pyzmq.git pyzmq.git +# cd pyzmq.git +# git archive --format=tar --prefix=pyzmq-%%{version}/ %%{checkout} | xz -z --force - > pyzmq-%%{version}.tar.xz +Source0: %{srcname}-%{version}.tar.xz +Patch0: python-zmq-os-walk.patch + +BuildRequires: python2-devel +BuildRequires: python-setuptools +BuildRequires: zeromq-devel +BuildRequires: python-nose + +%if 0%{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +# needed for 2to3 +BuildRequires: python-tools +# not yet build +#BuildRequires: python3-nose +%endif + +%description +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. + +This package contains the python bindings. + + +%if 0%{?with_python3} +%package -n python3-zmq +Summary: Software library for fast, message-based applications +Group: Development/Libraries +License: LGPLv3+ +%description -n python3-zmq +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. + +This package contains the python bindings. +%endif + + +%prep +%setup -q -n %{srcname}-%{version} +%patch0 -p1 +# 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/kernel/frontend.py +chmod -x examples/pubsub/topics_pub.py +chmod -x examples/kernel/kernel.py +chmod -x examples/pubsub/topics_sub.py + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' +rm -r %{py3dir}/examples +2to3 --write --nobackups %{py3dir} +%endif + + +%build +CFLAGS="%{optflags}" %{__python} setupegg.py build + +%if 0%{?with_python3} +pushd %{py3dir} +CFLAGS="%{optflags}" %{__python3} setupegg.py build +popd +%endif # with_python3 + + + +%install +# Must do the python3 install first because the scripts in /usr/bin are +# overwritten with every setup.py install (and we want the python2 version +# to be the default for now). +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setupegg.py install --skip-build --root $RPM_BUILD_ROOT + +# remove tests doesn't work here, do that after running the tests + +popd +%endif # with_python3 + + +%{__python} setupegg.py install -O1 --skip-build --root %{buildroot} + +# remove tests doesn't work here, do that after running the tests + + + +%check +rm zmq/__* +pushd zmq +PYTHONPATH=%{buildroot}%{python_sitearch} nosetests +popd +rm -r %{buildroot}%{python_sitearch}/zmq/tests + +%if 0%{?with_python3} +# there is no python3-nose yet +pushd %{py3dir} + rm zmq/__* + pushd zmq + #PYTHONPATH=%{buildroot}%{python3_sitearch} nosetests + popd + rm -r %{buildroot}%{python3_sitearch}/zmq/tests +popd +%endif + + +%files +%defattr(-,root,root,-) +%doc README.rst COPYING.LESSER examples/ +%{python_sitearch}/%{srcname}-*.egg-info +%{python_sitearch}/zmq + + +%if 0%{?with_python3} +%files -n python3-zmq +%defattr(-,root,root,-) +%doc README.rst COPYING.LESSER +# examples/ +%{python3_sitearch}/%{srcname}-*.egg-info +%{python3_sitearch}/zmq +%endif + + +%changelog +* Thu Aug 5 2010 Thomas Spura - 0.1.20100725git18f5d06-3 +- add missing BR for 2to3 + +* Tue Aug 3 2010 Thomas Spura - 0.1.20100725git18f5d06-2 +- build python3 subpackage +- rename to from pyzmq to python-zmq +- change license + +* Sun Jul 25 2010 Thomas Spura - 0.1.20100725git18f5d06-1 +- renew git snapshot +- start from version 0.1 like upstream (not the version from zeromq) +- remove buildroot / %%clean + +* Sat Jun 12 2010 Thomas Spura