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

%global         srcname     google-cloud-data-fusion
%global         reponame    google-cloud-python

Name:           python-%{srcname}
Version:        1.8.3
Release:        %autorelease
Summary:        Python SDK for Google Cloud Data Fusion API

License:        Apache-2.0
URL:            https://github.com/googleapis/google-cloud-python
Source0:        %{url}/archive/refs/tags/%{srcname}-v%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytest-asyncio)
%endif

%global _description %{expand:
Cloud Data Fusion: helps users build scalable, distributed data lakes on
Google Cloud by integrating data from siloed on-premises platforms.}

%description %{_description}


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

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


%prep
# Upstream buries the package into a subdirectory. 😭
%setup -c -T
tar xzf %{SOURCE0} --strip-components=3 \
    %{reponame}-%{srcname}-v%{version}/packages/%{srcname}

# Allow a slightly older protobuf.
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/' setup.py

# Replace mock imports with unittest.mock.
grep -rl "^[[:space:]]*import mock" tests | \
    xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'


%generate_buildrequires
%pyproject_buildrequires -r


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files google


%check
%pyproject_check_import

%if %{with tests}
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
# Thanks to churchyard for the fix.
PYTHONUSERBASE=%{buildroot}%{_prefix} \
    %pytest tests/unit
%endif


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


%changelog
* Tue Sep 19 2023 Major Hayden <major@redhat.com> - 1.8.3-1
- Update to 1.8.3

* Tue Sep 19 2023 Major Hayden <major@redhat.com> - 1.8.2-3
- Add packit config

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

* Thu Jul 06 2023 Major Hayden <major@redhat.com> - 1.8.2-1
- Update to 1.8.2 rhbz#2219900

* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 1.8.1-2
- Rebuilt for Python 3.12

* Mon Mar 27 2023 Major Hayden <major@redhat.com> - 1.8.1-1
- Update to 1.8.1 rhbz#2182115

* Wed Mar 01 2023 Major Hayden <major@redhat.com> - 1.8.0-1
- Update to 1.8.0 rhbz#2173825

* Tue Feb 21 2023 Major Hayden <major@redhat.com> - 1.7.1-1
- Update to 1.7.1

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

* Wed Oct 19 2022 Major Hayden <major@redhat.com> - 1.5.3-1
- Update to 1.5.3 rhbz#2131101

* Tue Aug 16 2022 Major Hayden <major@redhat.com> - 1.5.1-1
- Update to 1.5.1 rhbz#2118797

* Wed Jul 27 2022 Major Hayden <major@redhat.com> - 1.5.0-1
- Update to 1.5.0 rhbz#2108129

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

* Tue Jun 28 2022 Python Maint <python-maint@redhat.com> - 1.4.2-2
- Rebuilt for Python 3.11

* Mon Jun 13 2022 Major Hayden <major@redhat.com> - 1.4.2-1
- Update to 1.4.2

* Mon Mar 07 2022 Major Hayden <major@mhtx.net> - 1.4.0-2
- Add samples to %%doc

* Mon Mar 07 2022 Major Hayden <major@mhtx.net> - 1.4.0-1
- Initial import (#2012989)