## 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

%global desc %{expand:
Python bindings for the AWS Common Runtime}


Name:           python-awscrt
Version:        0.18.0
Release:        %autorelease

Summary:        Python bindings for the AWS Common Runtime
# All files are licensed under Apache-2.0, except:
# - crt/aws-c-common/include/aws/common/external/cJSON.h is MIT
# - crt/aws-c-common/source/external/cJSON.c is MIT
# - crt/s2n/pq-crypto/kyber_r3/KeccakP-brg_endian_avx2.h is BSD-3-Clause
License:        Apache-2.0 AND MIT AND BSD-3-Clause
URL:            https://github.com/awslabs/aws-crt-python

Source0:        %{pypi_source awscrt}

# one test requires internet connection, skip it
Patch0:         skip-test-requiring-network.patch

BuildRequires:  python%{python3_pkgversion}-devel

BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  cmake
BuildRequires:  openssl-devel

BuildRequires:  python%{python3_pkgversion}-websockets

# https://bugzilla.redhat.com/show_bug.cgi?id=2180988
ExcludeArch:    s390x


%description
%{desc}


%package -n python%{python3_pkgversion}-awscrt
Summary:        %{summary}


%description -n python%{python3_pkgversion}-awscrt
%{desc}


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


%generate_buildrequires
%pyproject_buildrequires


%build
%ifarch %{ix86}
# disable SSE2 instructions to prevent a crash in aws-c-common thread handling
# probably caused by a compiler bug
export CFLAGS="%{optflags} -mno-sse2"
%endif
export AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files _awscrt awscrt


%check
PYTHONPATH="%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}" %{python3} -m unittest


%files -n python%{python3_pkgversion}-awscrt -f %{pyproject_files}
%doc README.md


%changelog
* Fri Aug 11 2023 Packit <hello@packit.dev> - 0.18.0-1
- [packit] 0.18.0 upstream release

* Thu Jul 27 2023 Packit <hello@packit.dev> - 0.17.0-1
- [packit] 0.17.0 upstream release

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

* Mon Jul 17 2023 Packit <hello@packit.dev> - 0.16.25-1
- [packit] 0.16.25 upstream release

* Mon Jul 10 2023 Packit <hello@packit.dev> - 0.16.24-1
- [packit] 0.16.24 upstream release

* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 0.16.21-2
- Rebuilt for Python 3.12

* Fri Jun 16 2023 Packit <hello@packit.dev> - 0.16.21-1
- [packit] 0.16.21 upstream release

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

* Thu Jun 15 2023 Nikola Forró <nforro@redhat.com> - 0.16.19-3
- Backport a commit improving Python 3.12 compatibility

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

* Wed May 31 2023 Packit <hello@packit.dev> - 0.16.19-1
- [packit] 0.16.19 upstream release

* Wed May 24 2023 Packit <hello@packit.dev> - 0.16.18-1
- [packit] 0.16.18 upstream release

* Fri May 05 2023 Packit <hello@packit.dev> - 0.16.17-1
- [packit] 0.16.17 upstream release

* Wed Apr 26 2023 Nikola Forró <nforro@redhat.com> - 0.16.16-1
- New upstream release 0.16.16

* Wed Mar 22 2023 Nikola Forró <nforro@redhat.com> - 0.16.13-2
- Workaround a crash on %%ix86

* Thu Mar 16 2023 Nikola Forró <nforro@redhat.com> - 0.16.13-1
- Initial package