%define debug_package %{nil}
Summary: aws sdk for c++
Group: Development/Libraries
Name: aws-sdk-cpp
Version: 1.11.117
Release: 3%{?dist}
Vendor: VMware, Inc.
Distribution: Photon
License: Apache 2.0
URL: https://github.com/aws/aws-sdk-cpp
# Steps to create source tarball
# Download the tag from github, extract it
# Then run `prefetch_crt_dependency.sh` script to get all dependencies
# Example:
# wget https://github.com/aws/aws-sdk-cpp/archive/refs/tags/1.10.20.tar.gz
# tar xf 1.10.20.tar.gz
# cd aws-sdk-cpp-1.10.20 && ./prefetch_crt_dependency.sh && cd -
# tar -I 'gzip -9' -cpf aws-sdk-cpp-1.10.20.tar.gz aws-sdk-cpp-1.10.20
Source0: https://github.com/aws/aws-sdk-cpp/archive/refs/tags/%{name}-%{version}.tar.gz
%define sha512 %{name}=c398d2e5176d7369ea571aaa58ac240876929d5f97226de17282baeaadc0d7e20a3f2e8d4d348fbd3eaa365e09ad55631c0f6bb0d52b8a38c3ac935def5165c6
Requires: openssl-devel
Requires: curl-devel
Requires: zlib-devel
Requires: aws-sdk-core = %{version}-%{release}
Requires: aws-sdk-kinesis = %{version}-%{release}
Requires: aws-sdk-s3 = %{version}-%{release}
Requires: aws-crt-cpp = %{version}-%{release}
BuildRequires: cmake
BuildRequires: curl-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel
%description
The AWS SDK for C++ provides a modern C++ (version C++ 11 or later) interface for Amazon Web Services (AWS).
%package -n aws-sdk-core
Summary: aws sdk core
Group: Development/Libraries
Requires: aws-core-libs = %{version}-%{release}
Requires: aws-crt-cpp = %{version}-%{release}
%description -n aws-sdk-core
aws sdk cpp core
%package -n aws-core-libs
Summary: aws core libs
Group: Development/Libraries
Requires: openssl-devel
Requires: curl-devel
Requires: zlib-devel
%description -n aws-core-libs
aws core libs
%package -n aws-sdk-kinesis
Summary: aws sdk kinesis
Group: Development/Libraries
Requires: aws-sdk-core = %{version}-%{release}
Requires: aws-kinesis-libs = %{version}-%{release}
Requires: aws-crt-cpp = %{version}-%{release}
%description -n aws-sdk-kinesis
aws sdk cpp for kinesis
%package -n aws-kinesis-libs
Summary: aws kinesis libs
Group: Development/Libraries
Requires: aws-core-libs = %{version}-%{release}
%description -n aws-kinesis-libs
aws kinesis libs
%package -n aws-sdk-s3
Summary: aws sdk s3
Group: Development/Libraries
Requires: aws-sdk-core = %{version}-%{release}
Requires: aws-s3-libs = %{version}-%{release}
Requires: aws-crt-cpp = %{version}-%{release}
%description -n aws-sdk-s3
aws sdk cpp for s3
%package -n aws-s3-libs
Summary: aws s3 libs
Group: Development/Libraries
Requires: aws-core-libs = %{version}-%{release}
%description -n aws-s3-libs
aws s3 libs
%package -n aws-crt-cpp
Summary: aws crt cpp
Group: Development/Libraries
%description -n aws-crt-cpp
C++ wrapper around the aws-c-* libraries.
Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
%prep
%autosetup -p1
%build
# TODO: try to remove -Wno-stringop-truncation flag in future version upgrades
export CXXFLAGS="%{optflags} -Wno-stringop-truncation"
%{cmake} \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_LIBDIR=%{_libdir}
cd %{__cmake_builddir}
pushd ./src/aws-cpp-sdk-core
%make_build
popd
pushd ./crt/aws-crt-cpp/
%make_build
popd
for component in "kinesis" "s3"; do
pushd ./generated/src/aws-cpp-sdk-${component}
%make_build
popd
done
%install
cd %{__cmake_builddir}
pushd ./src/aws-cpp-sdk-core
%make_install %{?_smp_mflags}
popd
pushd ./crt/aws-crt-cpp/
%make_install %{?_smp_mflags}
popd
for component in "kinesis" "s3"; do
pushd ./generated/src/aws-cpp-sdk-${component}
%make_install %{?_smp_mflags}
popd
done
rm -rf %{buildroot}%{_libdir}/cmake
%clean
rm -rf %{buildroot}/*
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
%files
%defattr(-,root,root,0755)
%files -n aws-sdk-core
%defattr(-,root,root,0755)
%{_includedir}/aws/core/*
%{_includedir}/smithy/*
%{_libdir}/pkgconfig/aws-cpp-sdk-core.pc
%files -n aws-core-libs
%defattr(-,root,root,0755)
%{_libdir}/libaws-cpp-sdk-core.so
%files -n aws-sdk-kinesis
%defattr(-,root,root,0755)
%{_includedir}/aws/kinesis/*
%{_libdir}/pkgconfig/aws-cpp-sdk-kinesis.pc
%files -n aws-kinesis-libs
%defattr(-,root,root,0755)
%{_libdir}/libaws-cpp-sdk-kinesis.so
%files -n aws-sdk-s3
%defattr(-,root,root,0755)
%{_includedir}/aws/s3/*
%{_libdir}/pkgconfig/aws-cpp-sdk-s3.pc
%files -n aws-s3-libs
%defattr(-,root,root,0755)
%{_libdir}/libaws-cpp-sdk-s3.so
%files -n aws-crt-cpp
%defattr(-,root,root,0755)
%{_includedir}/aws/auth/*
%{_includedir}/aws/cal/*
%{_includedir}/aws/checksums/*
%{_includedir}/aws/common/*
%{_includedir}/aws/compression/*
%{_includedir}/aws/crt/*
%{_includedir}/aws/event-stream/*
%{_includedir}/aws/http/*
%{_includedir}/aws/io/*
%{_includedir}/aws/iot/*
%{_includedir}/aws/mqtt/*
%{_includedir}/aws/sdkutils/*
%{_includedir}/aws/testing/*
%{_includedir}/s2n.h
%{_includedir}/s2n/*
%{_libdir}/aws-c-auth/cmake/*
%{_libdir}/aws-c-cal/cmake/*
%{_libdir}/aws-c-common/cmake/*
%{_libdir}/aws-c-compression/cmake/*
%{_libdir}/aws-c-event-stream/cmake/*
%{_libdir}/aws-c-http/cmake/*
%{_libdir}/aws-c-io/cmake/*
%{_libdir}/aws-c-mqtt/cmake/*
%{_libdir}/aws-c-s3/cmake/*
%{_libdir}/aws-c-sdkutils/cmake/*
%{_libdir}/aws-checksums/cmake/*
%{_libdir}/aws-crt-cpp/cmake/*
%{_libdir}/s2n/cmake/*
%exclude %{_libdir}/*.a
%changelog
* Sun Nov 19 2023 Shreenidhi Shedi <sshedi@vmware.com> 1.11.117-3
- Bump version as a part of openssl upgrade
* Sat Aug 26 2023 Shreenidhi Shedi <sshedi@vmware.com> 1.11.117-2
- Build CRT deps
* Wed Jul 12 2023 Shreenidhi Shedi <sshedi@vmware.com> 1.11.117-1
- Upgrade to v1.11.117
* Fri Apr 14 2023 Shreenidhi Shedi <sshedi@vmware.com> 1.10.30-2
- Bump version as a part of zlib upgrade
* Thu Dec 15 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.10.30-1
- Upgrade to v1.10.30
* Thu Dec 01 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.10.20-1
- Upgrade to v1.10.20
* Mon Sep 19 2022 Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> 1.4.33-6
- Fix build with latest toolchain
* Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.4.33-5
- Use cmake macros for build and install
* Wed Aug 04 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 1.4.33-4
- Bump up release for openssl
* Tue Sep 29 2020 Satya Naga Vasamsetty <svasamsetty@vmware.com> 1.4.33-3
- openssl 1.1.1
* Fri Apr 03 2020 Alexey Makhalov <amakhalov@vmware.com> 1.4.33-2
- Fix compilation issue with gcc-8.4.0
* Thu Aug 30 2018 Anish Swaminathan <anishs@vmware.com> 1.4.33-1
- Initial build. First version