## START: Set by rpmautospec
## (rpmautospec version 0.2.5)
%define autorelease(e:s:pb:) %{?-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*}}%{?dist}
## END: Set by rpmautospec

%bcond_without  tests

%global         srcname         google-api-core
%global         forgeurl        https://github.com/googleapis/python-api-core
Version:        2.3.2
%global         tag             v%{version}
%forgemeta

Name:           python-%{srcname}
Release:        %autorelease
Summary:        Core Library for Google Client Libraries

License:        ASL 2.0
URL:            %forgeurl
Source0:        %forgesource
Patch0:         use-unittest-mock-builtin.patch

BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(google-auth)
BuildRequires:  python3dist(googleapis-common-protos)
BuildRequires:  python3dist(grpcio)
BuildRequires:  python3dist(grpcio-gcp)
BuildRequires:  python3dist(protobuf)
BuildRequires:  python3dist(proto-plus)
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytz)
BuildRequires:  python3dist(requests)
BuildRequires:  python3dist(six)
%endif

BuildArch:      noarch

%global _description %{expand:This library is not meant to stand-alone.
Instead it defines common helpers used by all Google API clients.}

%description
%{_description}


%package -n python3-%{srcname}
Summary:        %{summary}
# Extras
Requires:       %{py3_dist grpcio}
Requires:       %{py3_dist grpcio-gcp}

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

%pyproject_extras_subpkg -n python3-%{srcname} grpc
%pyproject_extras_subpkg -n python3-%{srcname} grpcgcp
%pyproject_extras_subpkg -n python3-%{srcname} grpcio-gcp

%prep
%forgeautosetup -p1


%generate_buildrequires
%pyproject_buildrequires -r


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files google


%check
%if %{with tests}
# Work around an usual pytest/PEP 420 issue where pytest can't import the
# installed module. Thanks to mhroncok for the help!
mv google{,_}
%pytest --disable-warnings tests/unit \
    -k "not test_wrap_unary_errors \
        and not test_wrap_stream_errors_invocation \
        and not test_wrap_stream_errors_iterator_initialization \
        and not test_wrap_stream_errors_during_iteration \
        and not test_exception_with_error_code \
        and not Test_StreamingResponseIterator"
mv google{_,}
%endif


%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.rst CHANGELOG.md SECURITY.md
%{python3_sitelib}/google_api_core-%{version}-py%{python3_version}-nspkg.pth


%changelog
* jeu. déc. 16 2021 Major Hayden <major@redhat.com> 2.3.2-1
- Update to 2.3.2

* mer. déc. 15 2021 Major Hayden <major@redhat.com> 2.3.1-1
- Update to 2.3.1

* mer. déc. 08 2021 Major Hayden <major@redhat.com> 2.3.0-1
- Update to 2.3.0

* mer. nov. 03 2021 Major Hayden <major@redhat.com> 2.2.2-1
- Update to 2.2.2

* jeu. oct. 28 2021 Major Hayden <major@redhat.com> 2.2.1-1
- Update to 2.2.1

* mar. oct. 26 2021 Major Hayden <major@mhtx.net> 2.2.0-1
- Update to 2.2.0

* lun. oct. 25 2021 Major Hayden <major@mhtx.net> 2.1.1-2
- Use python3-devel as BuildRequires

* jeu. oct. 14 2021 Major Hayden <major@mhtx.net> 2.1.1-1
- Update to 2.1.0

* mer. oct. 06 2021 Major Hayden <major@mhtx.net> 2.1.0-1
- Update to 2.1.0

* ven. sept. 17 2021 Major Hayden <major@mhtx.net> 2.0.1-3
- Fix tests with PEP 420 workaround

* jeu. sept. 09 2021 Major Hayden <major@mhtx.net> 2.0.1-2
- Move to rpmautospec

* mer. sept. 01 2021 Major Hayden <major@mhtx.net> 2.0.1-1
- Update to 2.0.1

* lun. août 23 2021 Major Hayden <major@mhtx.net> 2.0.0-2
- Add proto-plus dependency for tests

* lun. août 23 2021 Major Hayden <major@mhtx.net> 2.0.0-1
- Update to 2.0.0

* mar. juil. 27 2021 Major Hayden <major@mhtx.net> 1.31.1-2
- Use correct path for extracted sources

* mar. juil. 27 2021 Major Hayden <major@mhtx.net> 1.31.1-1
- Update to 1.31.1

* ven. juil. 23 2021 Fedora Release Engineering <releng@fedoraproject.org> 1.31.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* jeu. juil. 15 2021 Major Hayden <major@mhtx.net> 1.31.0-2
- Add grpc, grpcgcp, and grpcio-gcp extras packages

* ven. juil. 09 2021 Major Hayden <major@mhtx.net> 1.31.0-1
- Update to 1.31.0

* mar. juin 15 2021 Major Hayden <major@mhtx.net> 1.30.0-3
- Get the right sources this time

* mar. juin 15 2021 Major Hayden <major@mhtx.net> 1.30.0-2
- Include patch in new sources

* mar. juin 15 2021 Major Hayden <major@mhtx.net> 1.30.0-1
- Update to v1.3.0

* ven. juin 04 2021 Python Maint <python-maint@redhat.com> 1.29.0-2
- Rebuilt for Python 3.10

* jeu. juin 03 2021 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.29.0-1
- Update to 1.29.0

* mer. janv. 27 2021 Fedora Release Engineering <releng@fedoraproject.org> 1.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* lun. août 17 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.17.0-2
- Temporarily disable tests

* jeu. août 13 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.17.0-1
- Rebuild

* sam. août 01 2020 Fedora Release Engineering <releng@fedoraproject.org> 1.21.0-3
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* mer. juil. 29 2020 Fedora Release Engineering <releng@fedoraproject.org> 1.21.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* ven. juin 19 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.21.0-1
- Update to 1.21.0

* ven. juin 05 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.17.0-1
- Revert to 1.17.0 until grpc is updated

* ven. juin 05 2020 Mohamed El Morabity <melmorabity@fedoraproject.org> 1.19.0-1
- First import