# # spec file for package python-Pyro4 # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-Pyro4 Version: 4.75 Release: 0 Summary: Distributed object middleware for Python (RPC) License: MIT Group: Development/Languages/Python URL: https://github.com/irmen/Pyro4 Source: https://files.pythonhosted.org/packages/source/P/Pyro4/Pyro4-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-serpent >= 1.27 Requires(post): update-alternatives Requires(postun): update-alternatives Recommends: ca-certificates Recommends: python-cloudpickle >= 0.4.0 Recommends: python-dill >= 0.2.6 Recommends: python-msgpack-python >= 0.5.2 BuildArch: noarch # SECTION test requirements BuildRequires: %{python_module cloudpickle >= 0.4.0} BuildRequires: %{python_module dill >= 0.2.6} BuildRequires: %{python_module msgpack-python >= 0.5.2} BuildRequires: %{python_module pytest} BuildRequires: %{python_module serpent >= 1.27} BuildRequires: ca-certificates BuildRequires: python-selectors34 # /SECTION %ifpython2 Requires: python-selectors34 %endif %python_subpackages %description Pyro means PYthon Remote Objects. It is a library for building applications in which objects can talk to each other over the network. One can use normal Python method calls, with almost every possible parameter and return value type, and Pyro takes care of locating the right object on the right system to execute the method. It also provides a set of features that enable building distributed applications. Pyro is a pure Python library and runs on many different platforms and Python versions. %prep %setup -q -n Pyro4-%{version} %build %python_build %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %python_clone -a %{buildroot}%{_bindir}/pyro4-check-config %python_clone -a %{buildroot}%{_bindir}/pyro4-flameserver %python_clone -a %{buildroot}%{_bindir}/pyro4-httpgateway %python_clone -a %{buildroot}%{_bindir}/pyro4-ns %python_clone -a %{buildroot}%{_bindir}/pyro4-nsc %python_clone -a %{buildroot}%{_bindir}/pyro4-test-echoserver %check # testContextAndSock missing cert fixtures https://github.com/irmen/Pyro4/issues/216 # socket tests require at least lo interface thus skip them skip="testContextAndSock" skip+=" or testGetIP or testAutoClean" skip+=" or testBroadcast or testBCstart" skip+=" or testStartNSfunc or testStartNSfunc" skip+=" or testResolveWrongHmac" skip+=" or testResolveAsymmetricHmacUsage" skip+=" or testResolve" skip+=" or testPyroname" skip+=" or testLookupAndRegister" skip+=" or testBCLookup0000" skip+=" or testRefuseDottedNames" skip+=" or testMulti" skip+=" or testLookupUnixsockParsing" skip+=" or testLookupInvalidHmac" skip+=" or testLookupAndRegister" skip+=" or testDaemonPyroObj" %python_expand PYTHONPATH=%{buildroot}%{$python_sitelib}:./tests/PyroTests py.test-%{$python_bin_suffix} -v -k "not ($skip)" %post %{python_install_alternative pyro4-check-config pyro4-flameserver pyro4-httpgateway pyro4-ns pyro4-nsc pyro4-test-echoserver} %postun %python_uninstall_alternative pyro4-check-config %files %{python_files} %license LICENSE %python_alternative %{_bindir}/pyro4-check-config %python_alternative %{_bindir}/pyro4-flameserver %python_alternative %{_bindir}/pyro4-httpgateway %python_alternative %{_bindir}/pyro4-ns %python_alternative %{_bindir}/pyro4-nsc %python_alternative %{_bindir}/pyro4-test-echoserver %{python_sitelib}/* %changelog