Name:           s2n-tls
Version:        1.3.51
Release:        1%{?dist}
Summary:        An implementation of the TLS/SSL protocols

License:        Apache-2.0
URL:            https://github.com/aws/s2n-tls
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# Install cmake files in libdir/cmake/s2n-tls rather than
# libdir/s2n-tls/cmake
Patch:          fix-cmake-path.patch

BuildRequires:  cmake
BuildRequires:  gcc
BuildRequires:  openssl-devel

%description
s2n-tls is a C99 implementation of the TLS/SSL protocols that is
designed to be simple, small, fast, and with security as a priority.
It is released and licensed under the Apache License 2.0.

s2n-tls is short for "signal to noise" and is a nod to the almost
magical act of encryption — disguising meaningful signals, like your
critical data, as seemingly random noise.

%package devel
Summary:        s2n-tls development headers
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}

%description devel
Development files and libraries for s2n-tls

%package doc
Summary:        s2n-tls documentation

%description doc
Documentation and example files for s2n-tls


%prep
%autosetup -p1


%build
%cmake -DBUILD_SHARED_LIBS=ON
%cmake_build


%install
%cmake_install
# install documentation
mkdir -p %{buildroot}/%{_docdir}/s2n-tls/docs
mkdir -p %{buildroot}/%{_docdir}/s2n-tls/docs/examples
mkdir -p %{buildroot}/%{_docdir}/s2n-tls/docs/images
install -p -m 644 docs/*.md %{buildroot}/%{_docdir}/s2n-tls/docs/
install -p -m 644 docs/examples/*.c %{buildroot}/%{_docdir}/s2n-tls/docs/examples/
install -p -m 644 docs/images/*.png %{buildroot}/%{_docdir}/s2n-tls/docs/images/
install -p -m 644 docs/images/*.svg %{buildroot}/%{_docdir}/s2n-tls/docs/images/


%check
%ctest

%files
%license LICENSE
%license NOTICE
%doc README.md
%doc VERSIONING.rst
%{_libdir}/libs2n.so.1
%{_libdir}/libs2n.so.1.0.0

%files doc
%license LICENSE
%license NOTICE
%dir %{_docdir}/s2n-tls/docs/
%{_docdir}/s2n-tls/docs/*.md
%dir %{_docdir}/s2n-tls/docs/images/
%{_docdir}/s2n-tls/docs/images/*.png
%{_docdir}/s2n-tls/docs/images/*.svg
%dir %{_docdir}/s2n-tls/docs/examples/
%{_docdir}/s2n-tls/docs/examples/*.c

%files devel
%{_includedir}/s2n.h
%dir %{_includedir}/s2n
%dir %{_includedir}/s2n/unstable
%{_includedir}/s2n/unstable/*.h
%{_libdir}/libs2n.so
%dir %{_libdir}/cmake/s2n
%{_libdir}/cmake/s2n/*.cmake
%dir %{_libdir}/cmake/s2n/modules
%{_libdir}/cmake/s2n/modules/*.cmake
%dir %{_libdir}/cmake/s2n/shared
%{_libdir}/cmake/s2n/shared/*.cmake

%changelog
* Tue Sep 26 2023 Benson Muite <benson_muite@emailplus.org> - 1.3.51-1
- Initial packaging