add python-execnet

This commit is contained in:
Keke Ming
2026-02-22 20:06:25 +08:00
commit ab4166311b

75
python-execnet.spec Normal file
View File

@@ -0,0 +1,75 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: Jvle <keke.oerv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0
%global srcname execnet
%bcond doc 0
Name: python-%{srcname}
Version: 2.1.2
Release: %autorelease
Summary: Distributed Python deployment and communication
License: MIT AND GPLv2+
URL: http://codespeak.net/execnet
#!RemoteAsset
Source0: https://files.pythonhosted.org/packages/source/e/%{srcname}/%{srcname}-%{version}.tar.gz
BuildArch: noarch
BuildSystem: pyproject
BuildOption(install): -l %{srcname}
BuildRequires: procps-ng
BuildRequires: pkgconfig(python3)
%if %{with doc}
BuildRequires: make
BuildRequires: sphinx-build
%endif
BuildRequires: python3-pytest
Provides: python3-%{srcname}
%python_provide python3-%{srcname}
%description
execnet provides a share-nothing model with channel-send/receive
communication for distributing execution across many Python
interpreters across version, platform and network barriers. It has a
minimal and fast API targetting the following uses:
* distribute tasks to (many) local or remote CPUs
* write and deploy hybrid multi-process applications
* write scripts to administer multiple environments
%prep -a
# remove shebangs and fix permissions
find . -type f -a \( -name '*.py' -o -name 'py.*' \) \
-exec sed -i '1{/^#!/d}' {} \; \
-exec chmod u=rw,go=r {} \;
%generate_buildrequires
%pyproject_buildrequires
%build -p
SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
%build -a
%if %{with doc}
make -C doc html PYTHONPATH=$(pwd)/src
# remove hidden file
rm doc/_build/html/.buildinfo
%endif
%install -p
SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
%check
%pytest -k "not gevent and not eventlet and not test_dont_write_bytecode" testing
%files -f %{pyproject_files}
%doc README.rst
%license LICENSE
%changelog
%{?autochangelog}