8a53470
%global _description %{expand:
8a53470
ppft is a fork of Parallel Python, and is developed as part of pathos:
8a53470
https://github.com/uqfoundation/pathos
8a53470
8a53470
Parallel Python module (pp) provides an easy and efficient way to create
8a53470
parallel-enabled applications for SMP computers and clusters. pp module
8a53470
features cross-platform portability and dynamic load balancing. Thus
8a53470
application written with pp will parallelize efficiently even on heterogeneous
8a53470
and multi-platform clusters (including clusters running other application with
8a53470
variable CPU loads). Visit http://www.parallelpython.com for further
8a53470
information.
8a53470
8a53470
ppft is part of pathos, a python framework for heterogeneous computing. ppft is
8a53470
in active development, so any user feedback, bug reports, comments, or
8a53470
suggestions are highly appreciated. A list of issues is located at
8a53470
https://github.com/uqfoundation/ppft/issues, with a legacy list maintained at
8a53470
https://uqfoundation.github.io/project/pathos/query.}
8a53470
047f8ca
047f8ca
%global forgeurl https://github.com/uqfoundation/ppft/
047f8ca
bd8f1a2
Name:           python-ppft
488a90c
Version:        1.7.6.8
ae6a036
Release:        %autorelease
8a53470
Summary:        Distributed and parallel python
8a53470
488a90c
%global tag %{version}
047f8ca
%forgemeta
047f8ca
488a90c
# spdx
488a90c
License:        BSD-3-Clause
047f8ca
URL:            %{forgeurl}
047f8ca
Source0:        %{forgesource}
8a53470
8a53470
BuildArch:      noarch
8a53470
8a53470
%description %_description
8a53470
bd8f1a2
%package -n python3-ppft
8a53470
Summary:        %{summary}
8a53470
BuildRequires:  python3-devel
3085fda
# For the tests
bd8f1a2
BuildRequires:  %{py3_dist pox}
bd8f1a2
bd8f1a2
# ppft is a drop in replacement of pp
926afcc
Provides:   python3-pp = %{version}-%{release}
bd8f1a2
# Latest build before retirement was 1.6.0-18
bd8f1a2
# https://koji.fedoraproject.org/koji/packageinfo?packageID=5272
bd8f1a2
Obsoletes:  python3-pp < 1.6.0-19
bd8f1a2
bd8f1a2
%description -n python3-ppft %_description
8a53470
8a53470
8a53470
%package doc
8a53470
Summary:        Documentation for %{name}
8a53470
8a53470
%description doc
8a53470
This package provides documentation for %{name}.
8a53470
8a53470
%prep
047f8ca
%forgesetup
bd8f1a2
bd8f1a2
# remove shebangs
8a53470
find . -type f -name "*.py" -exec sed -i '/^#![  ]*\/usr\/bin\/env.*$/ d' {} 2>/dev/null ';'
8a53470
047f8ca
chmod -x ppft/tests/*.py
047f8ca
bd8f1a2
bd8f1a2
%generate_buildrequires
bd8f1a2
%pyproject_buildrequires -r
bd8f1a2
8a53470
%build
bd8f1a2
%pyproject_wheel
8a53470
8a53470
%install
bd8f1a2
%pyproject_install
047f8ca
# generated during build so must be cleaned up here
047f8ca
sed -i '/^#![  ]*\/usr\/bin\/env.*$/ d' %{buildroot}%{python3_sitelib}/ppft/__info__.py
6f3e8fd
%pyproject_save_files -l ppft pp
8a53470
8a53470
%check
3085fda
# run the tests
bd8f1a2
# needs to be run from a directory that does not contain a ppft folder
3085fda
cd ppft/tests
ef6d446
%{py3_test_envvars} %{python3} -m ppft.tests
8a53470
bd8f1a2
%files -n python3-ppft -f %{pyproject_files}
60b2821
%doc README.md CHANGELOG
8a53470
%{_bindir}/ppserver
8a53470
8a53470
%files doc
8a53470
%license COPYING LICENSE
3085fda
%doc ppft/tests
8a53470
8a53470
%changelog
ae6a036
%autochangelog