]> git.pld-linux.org Git - packages/python-Pyro4.git/commitdiff
- updated to 4.80, added python3- package, doc and tests
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 9 Feb 2021 21:12:53 +0000 (22:12 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 9 Feb 2021 21:12:53 +0000 (22:12 +0100)
python-Pyro4.spec

index 06169fd86bb9d2f2bb8e16f3ddef96474fa415a7..d901d6156cdebf9320844de6d06adde61ae6f2fb 100644 (file)
@@ -1,17 +1,48 @@
+# NOTE: tests spawn >128 processes (ulimit -u 256 is enough)
+#
+# Conditional build:
+%bcond_without doc     # Sphinx documentation
+%bcond_without tests   # unit tests
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+
 %define        module  Pyro4
-Summary:       Distributed object middleware for Python (RPC).
-Summary(pl.UTF-8):     Oprogramowanie umożliwiające dystrybucję objektów w Pythonie (RPC).
+Summary:       Distributed object middleware for Python (RPC)
+Summary(pl.UTF-8):     Oprogramowanie umożliwiające dystrybucję obiektów w Pythonie (RPC)
 Name:          python-%{module}
-Version:       4.14
-Release:       2
+Version:       4.80
+Release:       1
 License:       MIT
 Group:         Development/Languages/Python
-Source0:       http://pypi.python.org/packages/source/P/%{module}/%{module}-%{version}.tar.gz
-# Source0-md5: ad096f8e2d58ecac402a58eb6d10531a
-URL:           http://packages.python.org/Pyro4/
+#Source0Download: https://pypi.org/simple/Pyro4/
+Source0:       https://files.pythonhosted.org/packages/source/P/Pyro4/%{module}-%{version}.tar.gz
+# Source0-md5: e31fc077e06de9fc0bb061e357401954
+URL:           https://pypi.org/project/Pyro4/
+%if %{with python2}
+BuildRequires: python-modules >= 1:2.7
+%if %{with tests}
+BuildRequires: python-cloudpickle
+BuildRequires: python-dill
+BuildRequires: python-selectors2
+BuildRequires: python-serpent >= 1.27
+%endif
+%endif
+%if %{with python3}
+BuildRequires: python3-modules >= 1:3.5
+%if %{with tests}
+BuildRequires: python3-cloudpickle
+BuildRequires: python3-dill
+BuildRequires: python3-serpent >= 1.27
+%endif
+%endif
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.710
-Requires:      python-modules
+BuildRequires: rpmbuild(macros) >= 1.714
+BuildRequires: sed >= 4.0
+%if %{with doc}
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: sphinx-pdg-3 >= 1.5.3
+%endif
+Requires:      python-modules >= 1:2.7
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -21,40 +52,110 @@ powerful Distributed Object Technology system written entirely in
 Python, that is designed to be very easy to use.
 
 %description -l pl.UTF-8
-Pyro jest skrótem od Pythonowe zdalne objekty. Jest zaawasowanym i
-poteżnym systemem zarządania zdalnymi objektami napisanym całkowice w
-Pythonie. Jest zaprojektowany aby być bardzo łatwym w użyciu.
+Pyro jest skrótem od Python Remote Objects (pythonowe zdalne objekty).
+Jest zaawasowanym i poteżnym systemem zarządania zdalnymi obiektami,
+napisanym całkowice w Pythonie. Jest zaprojektowany jako bardzo łatwy
+w użyciu.
+
+%package -n python3-%{module}
+Summary:       Distributed object middleware for Python (RPC)
+Summary(pl.UTF-8):     Oprogramowanie umożliwiające dystrybucję obiektów w Pythonie (RPC)
+Group:         Development/Languages/Python
+Requires:      python3-modules >= 1:3.5
+
+%description -n python3-%{module}
+Pyro is short for Python Remote Objects. It is an advanced and
+powerful Distributed Object Technology system written entirely in
+Python, that is designed to be very easy to use.
+
+%description -n python3-%{module} -l pl.UTF-8
+Pyro jest skrótem od Python Remote Objects (pythonowe zdalne objekty).
+Jest zaawasowanym i poteżnym systemem zarządania zdalnymi obiektami,
+napisanym całkowice w Pythonie. Jest zaprojektowany jako bardzo łatwy
+w użyciu.
 
 %prep
 %setup -q -n %{module}-%{version}
 
+# selectors2 is preferred over selectors34, update egg dependency accordingly
+%{__sed} -i -e 's/selectors34/selectors2/' setup.py
+
 %build
+%if %{with python2}
 %py_build
 
+%if %{with tests}
+cd tests
+PYTHONPATH=$(pwd)/../src \
+%{__python} run_testsuite.py
+cd ..
+%endif
+%endif
+
+%if %{with python3}
+%py3_build
+
+%if %{with tests}
+cd tests
+PYTHONPATH=$(pwd)/../src \
+%{__python3} run_testsuite.py
+cd ..
+%endif
+%endif
+
+%if %{with doc}
+%{__make} -C docs html \
+       SPHINXBUILD=sphinx-build-3
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
+
+%if %{with python2}
 %py_install
 
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+for bin in check-config flameserver httpgateway ns nsc test-echoserver ; do
+       %{__mv} $RPM_BUILD_ROOT%{_bindir}/pyro4-${bin} $RPM_BUILD_ROOT%{_bindir}/pyro4-${bin}-2
+done
+
 %py_postclean
+%endif
+
+%if %{with python3}
+%py3_install
+
+for bin in check-config flameserver httpgateway ns nsc test-echoserver ; do
+       %{__mv} $RPM_BUILD_ROOT%{_bindir}/pyro4-${bin} $RPM_BUILD_ROOT%{_bindir}/pyro4-${bin}-3
+done
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with python2}
 %files
 %defattr(644,root,root,755)
+%doc LICENSE README.md
+%attr(755,root,root) %{_bindir}/pyro4-check-config-2
+%attr(755,root,root) %{_bindir}/pyro4-flameserver-2
+%attr(755,root,root) %{_bindir}/pyro4-httpgateway-2
+%attr(755,root,root) %{_bindir}/pyro4-ns-2
+%attr(755,root,root) %{_bindir}/pyro4-nsc-2
+%attr(755,root,root) %{_bindir}/pyro4-test-echoserver-2
+%{py_sitescriptdir}/%{module}
+%{py_sitescriptdir}/%{module}-%{version}-py*.egg-info
+%endif
 
-%dir %{py_sitescriptdir}/%{module}
-%{py_sitescriptdir}/%{module}/*.py[co]
-%dir %{py_sitescriptdir}/%{module}/socketserver
-%{py_sitescriptdir}/%{module}/socketserver/*.py[co]
-%dir %{py_sitescriptdir}/%{module}/test
-%{py_sitescriptdir}/%{module}/test/*.py[co]
-%dir %{py_sitescriptdir}/%{module}/utils
-%{py_sitescriptdir}/%{module}/utils/*.py[co]
-
-
-%if "%{py_ver}" > "2.4"
-%{py_sitescriptdir}/%{module}-*.egg-info
+%if %{with python3}
+%files -n python3-%{module}
+%defattr(644,root,root,755)
+%doc LICENSE README.md
+%attr(755,root,root) %{_bindir}/pyro4-check-config-3
+%attr(755,root,root) %{_bindir}/pyro4-flameserver-3
+%attr(755,root,root) %{_bindir}/pyro4-httpgateway-3
+%attr(755,root,root) %{_bindir}/pyro4-ns-3
+%attr(755,root,root) %{_bindir}/pyro4-nsc-3
+%attr(755,root,root) %{_bindir}/pyro4-test-echoserver-3
+%{py3_sitescriptdir}/%{module}
+%{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info
 %endif
This page took 0.133329 seconds and 4 git commands to generate.