## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## 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

%bcond tests 1

Name:           python-openapi-schema-validator
Version:        0.6.3
Release:        %autorelease
Summary:        OpenAPI schema validator for Python

License:        BSD-3-Clause
URL:            https://github.com/python-openapi/openapi-schema-validator
# The GitHub tarball contains tests; the PyPI sdist does not.
Source:         %{url}/archive/%{version}/openapi-schema-validator-%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3-devel

%if %{with tests}
# See [tool.poetry.dev-dependencies] in pyproject.toml, which also includes
# coverage/formatter/linter/typechecker type dependencies that we do not need
# or want. Upstream pins a major version of pytest, but we do not have that
# luxury.
BuildRequires:  python3dist(pytest) >= 7
%endif

%global common_description %{expand:
Openapi-schema-validator is a Python library that validates schema against:

  • OpenAPI Schema Specification v3.0 which is an extended subset of the JSON
    Schema Specification Wright Draft 00.
  • OpenAPI Schema Specification v3.1 which is an extended superset of the JSON
    Schema Specification Draft 2020-12.}

%description %{common_description}


%package -n python3-openapi-schema-validator
Summary:        %{summary}

# In retrospect, and conservatively: all of these took effect no later than
# Fedora 38, so they can be removed when Fedora 40 reaches end-of-life.
#
# This extra was removed upstream in 0.4.3.
Obsoletes:      python3-openapi-schema-validator+rfc3339-validator < 0.4.3-0
# These extras were removed upstream in 0.4.2.
Obsoletes:      python3-openapi-schema-validator+strict-rfc3339 < 0.4.2-0
Obsoletes:      python3-openapi-schema-validator+isodate < 0.4.2-0

%description -n python3-openapi-schema-validator %{common_description}


%prep
%autosetup -n openapi-schema-validator-%{version}
# Patch coverage analysis out of [tool.pytest.ini_options]:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
sed -r -i '/^--cov\b/d' pyproject.toml


%generate_buildrequires
%pyproject_buildrequires


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files openapi_schema_validator


%check
%if %{with tests}
%pytest
%else
%pyproject_check_import
%endif


%files -n python3-openapi-schema-validator -f %{pyproject_files}
%license LICENSE
%doc README.rst


%changelog
## START: Generated by rpmautospec
* Wed Jan 15 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 0.6.3-1
- Update to 0.6.3 (close RHBZ#2337009; fix RHBZ#2338302)

* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

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

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

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

* Thu Oct 05 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.6.2-1
- Update to 0.6.2 (close RHBZ#2242290)

* Sat Sep 23 2023 Mattia Verga <mattia.verga@proton.me> - 0.6.1-1
- Update to 0.6.1

* Tue Sep 05 2023 Mattia Verga <mattia.verga@proton.me> - 0.6.0-2
- Avoid using i686 builders

* Tue Sep 05 2023 Mattia Verga <mattia.verga@proton.me> - 0.6.0-1
- Update to 0.6.0

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

* Fri Jul 07 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.3-5
- Use new (rpm 4.17.1+) bcond style

* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 0.4.3-4
- Rebuilt for Python 3.12

* Thu Mar 02 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.3-2
- Update URL for move to python-openapi GitHub organization

* Thu Feb 02 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.3-1
- Update to 0.4.3

* Tue Jan 31 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.2-1
- Update to 0.4.2 (close RHBZ#2165753)

* Thu Jan 26 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.1-1
- Update to 0.4.1 (close RHBZ#2164681)

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

* Fri Jan 13 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.0-1
- Update to 0.4.0 (close RHBZ#2160783)

* Wed Sep 14 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.3.4-1
- Update to 0.3.4 (close RHBZ#2123908)

* Fri Aug 26 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.3.1-1
- Update to 0.3.1 (RHBZ#2121823)

* Fri Aug 26 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.3.0-3
- Update License to SPDX

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

* Wed Jul 06 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.3.0-1
- Initial package (close RHBZ#2095974)
## END: Generated by rpmautospec