Name: libpqcrypto Version: 20180314 Release: 2%{?dist} Summary: libpqcrypto is a new cryptographic software library produced by the PQCRYPTO project. License: MIT Source: https://libpqcrypto.org/libpqcrypto-%{version}.tar.gz BuildRequires: gcc BuildRequires: clang BuildRequires: python3 Patch1: keep_debug_symbols.patch %description libpqcrypto is a new cryptographic software library produced by the PQCRYPTO project. PQCRYPTO, working jointly with many other researchers around the world, submitted 22 proposals to NIST's ongoing post-quantum standardization project. Each submission specifies a family of cryptographic systems, offering various tradeoffs between performance and security. Each submission includes software: a (portable) reference C implementation, and in many cases additional (not necessarily portable) implementations providing better performance (often using assembly language or "intrinsics"). libpqcrypto includes software for the following 77 cryptographic systems (50 signature systems and 27 encryption systems) from 19 of the 22 PQCRYPTO submissions: libpqcrypto also integrates some symmetric-crypto software from SUPERCOP, including the AES-256-CTR stream cipher (an OpenSSL wrapper and a separate implementation from Romain Dolbeau), the Salsa20-256 and ChaCha20-256 stream ciphers (implementations from Daniel J. Bernstein, Romain Dolbeau, Martin Goll, Shay Gueron, Ted Krovetz, Tanja Lange, Andrew Moon, Samuel Neves, and Peter Schwabe), the Poly1305 MAC (implementations from Daniel J. Bernstein, Billy Brumley, Andrew Moon, and Peter Schwabe), the SHA-512 hash function (an OpenSSL wrapper, a separate implementation from Daniel J. Bernstein, and a separate implementation from Thomas Pornin via sphlib), portions of the Keccak Code Package (from Guido Bertoni, Joan Daemen, Michaƫl Peeters, Gilles Van Assche, and Ronny Van Keer), and the SHAKE256 hash function (a KCP wrapper and implementations from David Leon Gil). For credits regarding the public-key software, see the individual submission packages to NIST. Beware that the components of libpqcrypto vary in licenses. Some parts are in the public domain, but others are not. %package devel Summary: Development libraries for libpqcrypto Requires: libpqcrypto%{?_isa} = %{version}-%{release} %description devel Header and Library files for doing development with libpqcrypto. %package tools Summary: command line tools for libpqcrypto Requires: libpqcrypto%{?_isa} = %{version}-%{release} %description tools Command line tools for doing pqcrypto operations. %prep %autosetup -N %autopatch -p0 %build mkdir link-build mkdir link-install ./do %install mkdir -p $RPM_BUILD_ROOT/%{_libdir} mkdir -p $RPM_BUILD_ROOT/%{_includedir}/pqcrypto mkdir -p $RPM_BUILD_ROOT/%{_bindir} install link-install/lib/libpqcrypto.so.1 $RPM_BUILD_ROOT/%{_libdir}/libpqcrypto.so.%{version} pushd ${RPM_BUILD_ROOT}/%{_libdir} ln -s libpcrypto.so.%{version} libpqcrypto.so.1 ln -s libpcrypto.so.1 libpqcrypto.so popd pushd link-install/include for i in * do cp $i $RPM_BUILD_ROOT/%{_includedir}/pqcrypto/ done popd pushd link-install/command for i in * do install $i $RPM_BUILD_ROOT/%{_bindir} done popd %files %{_libdir}/libpqcrypto.so.%{version} %files devel %{_libdir}/libpqcrypto.so.1 %{_libdir}/libpqcrypto.so %dir %{_includedir}/pqcrypto %{_includedir}/pqcrypto/* %files tools %{_bindir}/* %changelog *Sun Mar 20 2022 Bob Relyea - 20180314-2 - add tools package *Mon Mar 14 2022 Bob Relyea - 20180314-1 - initial .spec file