## START: Set by rpmautospec
## (rpmautospec version 0.6.0)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    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 __python %{__python3}
%global modname marshmallow
%global _docdir_fmt %{name}

Name:           python-%{modname}
Version:        3.21.2
Release:        %autorelease
Summary:        Python library for converting complex datatypes to and from primitive types
License:        MIT
URL:            http://marshmallow.readthedocs.org/
Source0:        https://github.com/marshmallow-code/marshmallow/archive/%{version}/%{modname}-%{version}.tar.gz
Patch0:         ordered_set.patch

BuildArch:      noarch

%global _description \
Marshmallow is a framework-agnostic library for converting complex datatypes,\
such as objects, to and from primitive Python datatypes.\
\
Marshmallow schemas can be used to:\
* Validate input data.\
* Deserialize input data to app-level objects.\
* Serialize app-level objects to primitive Python types. The serialized objects\
  can then be rendered to standard formats such as JSON for use in an HTTP API.

%description %{_description}

%package doc
Summary:        Documentation for %{name}
Provides:       python3-%{modname}-doc = %{version}
Obsoletes:      python3-%{modname}-doc < 2.8.0-1

%description doc
Documentation for %{name}.

%package -n python3-%{modname}
Summary:        %{summary}
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
# for tests
BuildRequires:  python3-pytest
BuildRequires:  python3-pytz
BuildRequires:  python3-ordered-set
BuildRequires:  python3-dateutil
BuildRequires:  python3-simplejson
BuildRequires:  python3-sphinx-issues
Requires:       python3-ordered-set
Recommends:     python3-dateutil
Recommends:     python3-simplejson

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

Python 3 version.

%prep
%autosetup -n %{modname}-%{version} -p1

# remove bundled library
# instead of orderedsett we patch code to usu python-ordered-set
rm -f ./marshmallow/orderedset.py

# unsupported theme option 'donate_url' given
sed -i -e "/donate_url/d" docs/conf.py
# python3-autodocsumm is not in Fedora
# This is needed only for doc subpackage.
# this used to be patch, but this change every release
# and I am sick of change it every time
sed -i '/"autodocsumm",/d' docs/conf.py
sed -i '/"autodocsumm==/d' pyproject.toml
sed -i '/"versionwarning.extension",/d' docs/conf.py
sed -i '/"sphinx-version-warning==/d' pyproject.toml
sed -i '/"sphinx_issues",/d' docs/conf.py
sed -i '/"sphinx-issues==/d' pyproject.toml
sed -i '/version = release = importlib.metadata.version/d' docs/conf.py
# Drop the sphinx version constraint
sed -i 's/"sphinx==[^ ]*"/"sphinx"/' pyproject.toml

%generate_buildrequires
%pyproject_buildrequires -x docs,tests

%build
%pyproject_wheel
sphinx-build -b html docs html

%install
%pyproject_install
%pyproject_save_files %{modname}
rm -rf html/{.buildinfo,.doctrees}


%check
%pyproject_check_import
%{py_test_envvars} py.test-%{python3_version} -v


%files doc
%license LICENSE
%doc html examples


%files -n python3-%{modname}
%license LICENSE
%doc CHANGELOG.rst README.rst
%{python3_sitelib}/%{modname}/
%{python3_sitelib}/%{modname}-%{version}.dist-info/


%changelog
## START: Generated by rpmautospec
* Thu May 02 2024 Packit <hello@packit.dev> - 3.21.2-1
- Update to 3.21.2 upstream release
- Resolves: rhbz#2278613

* Tue Apr 30 2024 Karolina Surma <ksurma@redhat.com> - 3.21.1-11
- Don't pin sphinx' version

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-10
- include dist-info directory

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-9
- do not include egg info

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-8
- define __python to make py_test_envvars macro happy

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-7
- use pyproject_save_files macro

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-6
- do not try to load marshmallow during build time

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-5
- do not require sphinx issues for building doc

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-4
- convert versionwarning-disable.patch to handling during build time

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-3
- upstream uses pyproject instead of setup.py - change build accordingly

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-2
- convert disable-autodocsumm to dynamic handling during build time

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.1-1
- rebase to 3.21.1

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.0-4
- remove obsolete python-provide macro

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.0-3
- remove python2 subpackage

* Wed Mar 06 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.0-2
- use autospec

* Tue Feb 27 2024 Miroslav Suchý <msuchy@redhat.com> - 3.21.0-1
- Update python-marshmallow to 3.21.0-1

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

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

* Thu Nov 16 2023 Miroslav Suchý <msuchy@redhat.com> - 3.19.0-6
- remove issue_repository

* Thu Oct 05 2023 Miroslav Suchý <msuchy@redhat.com> - 3.19.0-5
- setup packit pull-from-upstream automation

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

* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 3.19.0-3
- Rebuilt for Python 3.12

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

* Wed Nov 30 2022 Miroslav Suchý <msuchy@redhat.com> - 3.19.0-1
- Update python-marshmallow to 3.19.0-1

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

* Mon Jun 27 2022 Miroslav Suchý <msuchy@redhat.com> - 3.17.0-1
- Update python-marshmallow to 3.17.0-1

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

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Jul 27 2021 Miroslav Suchý <msuchy@redhat.com> - 3.13.0-1
- Update python-marshmallow to 3.13.0-1

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.11.1-2
- Rebuilt for Python 3.10

* Tue Mar 30 2021 Miroslav Suchý <msuchy@redhat.com> - 3.11.1-1
- Update python-marshmallow to 3.11.1-1

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Sep 16 2020 Miroslav Suchý <msuchy@redhat.com> - 3.8.0-1
- Update python-marshmallow to 3.8.0-1

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue May 26 2020 Miro Hrončok <miro@hroncok.cz> - 3.5.1-2
- Rebuilt for Python 3.9

* Tue Mar 24 2020 Miroslav Suchý <miroslav@suchy.cz> - 3.5.1-1
- Update python-marshmallow to 3.5.1-1

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Sep 26 2019 Pavel Raiskup <praiskup@redhat.com> - 3.1.1-3
- RPMAUTOSPEC: unresolvable merge
## END: Generated by rpmautospec