File aws-sdk-cpp.spec of Package aws-sdk-cpp

#
# spec file for package aws-sdk-cpp
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define         soversion 1
%define         soversion_full 1_0_0

Name:           aws-sdk-cpp
Version:        1.11.382
Release:        0
Summary:        AWS SDK for C++
License:        Apache-2.0
Group:          Development/Languages/Other
URL:            https://github.com/aws/aws-sdk-cpp
Source:         %{name}-%{version}.tar.gz
BuildRequires:  cmake >= 3.20.0
BuildRequires:  fdupes
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  libstdc++-devel
BuildRequires:  pkgconfig
BuildRequires:  python-devel
BuildRequires:  python3
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libssl)
BuildRequires:  pkgconfig(zlib)

%description
The AWS SDK for C++ provides a modern C++ (version C++ 11 or later) interface for
Amazon Web Services (AWS). It is meant to be performant and fully functioning with
low- and high-level SDKs, while minimizing dependencies and providing platform
portability (Windows, OSX, Linux, and mobile).


%package devel
Summary:        Development headers for %{name}
Group:          Development/Libraries/C and C++

%description devel
This package provides development headers for %{name}.

#
#
#

%package -n     libaws-c-auth%{soversion_full}
Summary:        Shared library libaws-c-auth

%description -n libaws-c-auth%{soversion_full}
Shared library libaws-c-auth%{soversion_full} version %{soversion_full}

%package -n     libaws-c-cal%{soversion_full}
Summary:        Shared library libaws-c-cal

%description -n libaws-c-cal%{soversion_full}
Shared library libaws-c-cal%{soversion_full} version %{soversion_full}

%package -n     libaws-c-compression%{soversion_full}
Summary:        Shared library libaws-c-compression

%description -n libaws-c-compression%{soversion_full}
Shared library libaws-c-compression%{soversion_full} version %{soversion_full}

%package -n     libaws-c-event-stream%{soversion_full}
Summary:        Shared library libaws-c-event-stream

%description -n libaws-c-event-stream%{soversion_full}
Shared library libaws-c-event-stream%{soversion_full} version %{soversion_full}

%package -n     libaws-c-http%{soversion_full}
Summary:        Shared library libaws-c-http

%description -n libaws-c-http%{soversion_full}
Shared library libaws-c-http%{soversion_full} version %{soversion_full}

%package -n     libaws-c-io%{soversion_full}
Summary:        Shared library libaws-c-io

%description -n libaws-c-io%{soversion_full}
Shared library libaws-c-io%{soversion_full} version %{soversion_full}

%package -n     libaws-c-mqtt%{soversion_full}
Summary:        Shared library libaws-c-mqtt

%description -n libaws-c-mqtt%{soversion_full}
Shared library libaws-c-mqtt%{soversion_full} version %{soversion_full}

%package -n     libaws-c-sdkutils%{soversion_full}
Summary:        Shared library libaws-c-sdkutils

%description -n libaws-c-sdkutils%{soversion_full}
Shared library libaws-c-sdkutils%{soversion_full} version %{soversion_full}

%package -n     libaws-checksums%{soversion_full}
Summary:        Shared library libaws-checksums

%description -n libaws-checksums%{soversion_full}
Shared library libaws-checksums%{soversion_full} version %{soversion_full}

# soversion, not soversion_full

%package -n     libaws-c-common%{soversion}
Summary:        Shared library libaws-c-common

%description -n libaws-c-common%{soversion}
Shared library libaws-c-common%{soversion} version %{soversion}

%package -n     libs2n%{soversion}
Summary:        Shared library libs2n

%description -n libs2n%{soversion}
Shared library libs2n%{soversion} version %{soversion}

# apparently unversioned

%package -n     libaws-c-s3-0unstable
Summary:        Shared library libaws-c-s3-0unstable

%description -n libaws-c-s3-0unstable
Shared library libaws-c-s3-0unstable

#
#
#

%prep
%autosetup -p 1

%build
%cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
    -DCMAKE_INSTALL_PREFIX=%{_prefix} \
    -DBUILD_ONLY="s3;transfer"
%cmake_build

%install
%cmake_install
%fdupes -s %{buildroot}%{_libdir}/cmake

#
# post
#
%post -n libaws-c-auth%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-cal%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-compression%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-event-stream%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-http%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-io%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-mqtt%{soversion_full}
/sbin/ldconfig

%post -n libaws-c-sdkutils%{soversion_full}
/sbin/ldconfig

%post -n libaws-checksums%{soversion_full}
/sbin/ldconfig

# soversion, not soversion_full

%post -n libaws-c-common%{soversion}
/sbin/ldconfig

%post -n libs2n%{soversion}
/sbin/ldconfig

# apparently unversioned

%post -n libaws-c-s3-0unstable
/sbin/ldconfig

#
# postun
#
%postun -n libaws-c-auth%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-cal%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-compression%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-event-stream%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-http%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-io%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-mqtt%{soversion_full}
/sbin/ldconfig

%postun -n libaws-c-sdkutils%{soversion_full}
/sbin/ldconfig

%postun -n libaws-checksums%{soversion_full}
/sbin/ldconfig

# soversion, not soversion_full

%postun -n libaws-c-common%{soversion}
/sbin/ldconfig

%postun -n libs2n%{soversion}
/sbin/ldconfig

# apparently unversioned

%postun -n libaws-c-s3-0unstable
/sbin/ldconfig

%files
%doc README.md
%license LICENSE LICENSE.txt

%files devel
%exclude %{_libdir}/lib*.so.*
%{_includedir}/aws/
%{_includedir}/s2n.h
%{_includedir}/s2n/
%{_includedir}/smithy/
%{_libdir}/aws*
%{_libdir}/cmake/
%{_libdir}/libaws*
%{_libdir}/libs2n*
%{_libdir}/libtesting-resources.so
%{_libdir}/pkgconfig/aws-cpp-sdk-core.pc
%{_libdir}/pkgconfig/aws-cpp-sdk-s3.pc
%{_libdir}/pkgconfig/aws-cpp-sdk-transfer.pc
%{_libdir}/pkgconfig/testing-resources.pc
%{_libdir}/s2n/

#
#
#

%files -n libaws-c-auth%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-auth.so.*

%files -n libaws-c-cal%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-cal.so.*

%files -n libaws-c-compression%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-compression.so.*

%files -n libaws-c-event-stream%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-event-stream.so.*

%files -n libaws-c-http%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-http.so.*

%files -n libaws-c-io%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-io.so.*

%files -n libaws-c-mqtt%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-mqtt.so.*

%files -n libaws-c-sdkutils%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-sdkutils.so.*

%files -n libaws-checksums%{soversion_full}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-checksums.so.*

# soversion, not soversion_full

%files -n libaws-c-common%{soversion}
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-common.so.*

%files -n libs2n%{soversion}
%license LICENSE LICENSE.txt
%{_libdir}/libs2n.so.*

# apparently unversioned

%files -n libaws-c-s3-0unstable
%license LICENSE LICENSE.txt
%{_libdir}/libaws-c-s3.so.*

#
#
#

%changelog
openSUSE Build Service is sponsored by