Initial import (fedora#2168929).
This commit is contained in:
parent
6cb9ccaec9
commit
73ea57b61d
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/0.8.0.tar.gz
|
110
liboqs.spec
Normal file
110
liboqs.spec
Normal file
@ -0,0 +1,110 @@
|
||||
%global oqs_version 0.8.0
|
||||
Name: liboqs
|
||||
Version: %{oqs_version}
|
||||
Release: 1%{?dist}
|
||||
Summary: liboqs is an open source C library for quantum-safe cryptographic algorithms.
|
||||
|
||||
#liboqs uses MIT license by itself but includes several files licensed under different terms.
|
||||
#src/common/crypto/sha3/xkcp_low/.../KeccakP-1600-AVX2.s : BSD-like CRYPTOGAMS license
|
||||
#src/common/rand/rand_nist.c: See file
|
||||
#see https://github.com/open-quantum-safe/liboqs/blob/main/README.md#license for more details
|
||||
License: MIT AND Apache 2.0 AND BSD 3-Clause AND (BSD-3-Clause OR GPL-1.0-or-later) AND CC0-1.0 AND Unlicense
|
||||
URL: https://github.com/open-quantum-safe/liboqs.git
|
||||
Source: https://github.com/open-quantum-safe/liboqs/archive/refs/tags/0.8.0.tar.gz
|
||||
#Source: liboqs-0.8.0-dev.tar.gz
|
||||
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: astyle
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-pytest-xdist
|
||||
BuildRequires: unzip
|
||||
BuildRequires: xsltproc
|
||||
#BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: python3-yaml
|
||||
BuildRequires: valgrind
|
||||
|
||||
%description
|
||||
liboqs provides:
|
||||
- a collection of open source implementations of quantum-safe key encapsulation mechanism (KEM) and digital signature algorithms; the full list can be found below
|
||||
- a common API for these algorithms
|
||||
- a test harness and benchmarking routines
|
||||
liboqs is part of the Open Quantum Safe (OQS) project led by Douglas Stebila and Michele Mosca, which aims to develop and integrate into applications quantum-safe cryptography to facilitate deployment and testing in real world contexts. In particular, OQS provides prototype integrations of liboqs into TLS and SSH, through OpenSSL and OpenSSH.
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries for liboqs
|
||||
Requires: liboqs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Header and Library files for doing development with liboqs.
|
||||
|
||||
%prep
|
||||
%setup -T -b 0 -q -n liboqs-%{oqs_version}
|
||||
%autopatch -p1
|
||||
#hobble
|
||||
rm -rf src/kem/bike
|
||||
rm -rf src/kem/bike/additional_r4
|
||||
rm -rf src/kem/classic_mceliece
|
||||
rm -rf src/kem/frodokem
|
||||
rm -rf src/kem/hqc
|
||||
rm -rf src/kem/ntruprime
|
||||
#CC0-licensed code, we don't have exception for it - need to check later
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-128f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-128s-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-192f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-192s-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-256f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-sha2-256s-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-128f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-128s-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-192f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-192s-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-256f-simple_avx2/
|
||||
rm -rf /src/sig/sphincs/pqclean_sphincs-shake-256s-simple_avx2/
|
||||
|
||||
|
||||
%build
|
||||
%cmake -GNinja -DBUILD_SHARED_LIBS=ON -DOQS_USE_AES_OPENSSL=ON -DOQS_USE_AES_INSTRUCTIONS=OFF -DOQS_DIST_BUILD=ON -DOQS_ALGS_ENABLED=STD -DOQS_USE_SHA3_OPENSSL=ON -DCMAKE_BUILD_TYPE=Debug -LAH ..
|
||||
%cmake_build
|
||||
#ninja gen_docs
|
||||
|
||||
%check
|
||||
#TODO tests
|
||||
cd "%{_vpath_builddir}"
|
||||
ninja run_tests
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
for i in liboqsTargets.cmake liboqsTargets-debug.cmake
|
||||
do
|
||||
cp $RPM_BUILD_ROOT/%{_libdir}/cmake/liboqs/$i /tmp/$i
|
||||
sed -e "s;$RPM_BUILD_ROOT;;g" /tmp/$i > $RPM_BUILD_ROOT/%{_libdir}/cmake/liboqs/$i
|
||||
rm /tmp/$i
|
||||
done
|
||||
|
||||
%files
|
||||
%license LICENSE.txt
|
||||
%{_libdir}/liboqs.so.%{oqs_version}
|
||||
%{_libdir}/liboqs.so.3
|
||||
|
||||
%files devel
|
||||
%{_libdir}/liboqs.so
|
||||
%dir %{_includedir}/oqs
|
||||
%{_includedir}/oqs/*
|
||||
%dir %{_libdir}/cmake/liboqs
|
||||
%{_libdir}/cmake/liboqs/liboqsTargets.cmake
|
||||
%{_libdir}/cmake/liboqs/liboqsTargets-debug.cmake
|
||||
%{_libdir}/cmake/liboqs/liboqsConfig.cmake
|
||||
%{_libdir}/cmake/liboqs/liboqsConfigVersion.cmake
|
||||
%{_libdir}/pkgconfig/liboqs.pc
|
||||
#%dir %%{_datadir}/doc/oqs
|
||||
#%doc %%{_datadir}/doc/oqs/html/*
|
||||
#%doc %%{_datadir}/doc/oqs/xml/*
|
||||
|
||||
%changelog
|
||||
* Mon Feb 13 2023 Dmitry Belyavskiy - 0.8.0-1
|
||||
- Initial build of liboqs for Fedora
|
||||
|
Loading…
Reference in New Issue
Block a user