## START: Set by rpmautospec
## (rpmautospec version 0.6.0)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 3;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%global srcname ducc0
%global stable 1
#%%global commit 4a007f4bacf4d8b7e8cc5523f4d7dd515d7dc19f
#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
#%%global date 20230208

Name:           python-%{srcname}
%if "%{?stable}"
Version:        0.34.0
%else
Version:        0.28.0^%{date}%{shortcommit}
%endif
Release:        %autorelease
Summary:        Programming tools for numerical computation

License:        GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-3-Clause)
URL:            https://pypi.python.org/pypi/%{srcname}
%if "%{?stable}"
Source0:        %{pypi_source}
%else
Source0:        https://github.com/mreineck/ducc/archive/%{commit}/ducc-%{commit}.tar.gz
%endif

# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch:    %{ix86}

BuildRequires:  gcc-c++
BuildRequires:  python3-devel
BuildRequires:  python3dist(pytest)

%global _description %{expand:
This is a collection of basic programming tools for numerical computation,
including Fast Fourier Transforms, Spherical Harmonic Transforms,
non-equispaced Fourier transforms, as well as some concrete applications
like 4pi convolution on the sphere and gridding/degridding of radio
interferometry data.
The code is written in C++17, but provides a simple and comprehensive
Python interface.}

%description %_description


%package -n     python3-%{srcname}
Summary:        %{summary}

# Importable module is named ducc
%py_provides python3-ducc

%description -n python3-%{srcname} %_description


%prep
%if "%{?stable}"
%autosetup -p1 -n %{srcname}-%{version}
# Remove egg files from source
rm -rf %{srcname}.egg-info
%else
%autosetup -p1 -n ducc-%{commit}
%endif

# there's no other way to disable ducc to inject custom C flags
sed -i 's|extra_compile_args=extra_compile_args|extra_compile_args=\[\]|g' setup.py
sed -i 's|extra_link_args=python_module_link_args|extra_link_args=\[\]|g' setup.py

%generate_buildrequires
%pyproject_buildrequires


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files ducc0


%check
%pyproject_check_import
%pytest -q python/test


%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.md


%changelog
## START: Generated by rpmautospec
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.34.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 0.34.0-2
- Rebuilt for Python 3.13

* Thu Apr 25 2024 Mattia Verga <mattia.verga@proton.me> - 0.34.0-1
- Update to 0.34.0 (fedora#2275278)

* Sat Jan 27 2024 Mattia Verga <mattia.verga@proton.me> - 0.33.0-1
- Update to 0.33.0 (fedora#2258035)

* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.32.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.32.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sat Oct 21 2023 Mattia Verga <mattia.verga@proton.me> - 0.32.0-1
- Update to 0.32.0 (fedora#2244412)

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.31.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sat Jul 15 2023 Mattia Verga <mattia.verga@proton.me> - 0.31.0-1
- Update to 0.31.0 (fedora#2222017)

* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.30.0-2
- Rebuilt for Python 3.12

* Sun Apr 23 2023 Mattia Verga <mattia.verga@proton.me> - 0.30.0-1
- Update to 0.30.0 (fedora#2188272)

* Sat Feb 18 2023 Mattia Verga <mattia.verga@proton.me> - 0.29.0-1
- Update to 0.29.0 (fedora#2170471)
- Re-enable builds on aarch64 and s390x

* Wed Jan 25 2023 Mattia Verga <mattia.verga@proton.me> - 0.28.0-1
- Update to 0.28.0 (fedora#2163799)

* Wed Jan 25 2023 Mattia Verga <mattia.verga@proton.me> - 0.27.0-3
- Update license tag to SPDX

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.27.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Sat Oct 29 2022 Mattia Verga <mattia.verga@proton.me> - 0.27.0-1
- Update to 0.27.0 (fedora#2138366)

* Sat Oct 01 2022 Mattia Verga <mattia.verga@proton.me> - 0.26.0-2
- Do not update on s390x and aarch64 until tests pass again

* Sat Oct 01 2022 Mattia Verga <mattia.verga@proton.me> - 0.26.0-1
- Update to 0.26.0 (fedora#2117652)

* Sat Aug 13 2022 Mattia Verga <mattia.verga@proton.me> - 0.25.0-1
- Update to 0.25.0 (fedora#2117652)
- Exclude build on ix86 arches

* Mon Aug 08 2022 Mattia Verga <mattia.verga@proton.me> - 0.24.0-5
- Temporarily disable tests on i686

* Thu Aug 04 2022 Mattia Verga <mattia.verga@proton.me> - 0.24.0-4
- Fix build failure (fedora#2113621)

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Sun Jun 26 2022 Mattia Verga <mattia.verga@proton.me> - 0.24.0-2
- Enable pytest tests

* Sun Jun 26 2022 Mattia Verga <mattia.verga@proton.me> - 0.24.0-1
- Upgrade to 0.24.0 (fedora#2100047)

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.23.0-2
- Rebuilt for Python 3.11

* Tue Apr 12 2022 Mattia Verga <mattia.verga@protonmail.com> - 0.23.0-1
- Update to 0.23.0 (fedora#2074206)

* Tue Apr 05 2022 Mattia Verga <mattia.verga@protonmail.com> - 0.22.1-1
- Bugfix release 0.22.1

* Wed Feb 02 2022 Mattia Verga <mattia.verga@protonmail.com> - 0.22.0-1
- Initial import (fedora#2048258)
## END: Generated by rpmautospec