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