File libmceliece.spec of Package libmceliece
#
# spec file for package libmceliece
#
# Copyright (c) 2025 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 sover 1
Name: libmceliece
Version: 20250507
Release: 0
Summary: Classic McEliece microlibrary with simple stateless API based on the SUPERCOP API
# FIXME: Select a correct license from https://github.com/openSUSE/spec-cleaner#spdx-licenses
License: MIT
Group: Development/Libraries/C and C++
URL: https://libmceliece.cr.yp.to/
Source: https://libmceliece.cr.yp.to/libmceliece-%{version}.tar.gz
# PATCH-FIX-SUSE: Ignore not recognized configure arguments and fix installation paths
Patch1: fix-configure.patch
# PATCH-FIX-SUSE: Change shebang interpreter
Patch2: python3-env-interpret.patch
BuildRequires: gcc
BuildRequires: python3
BuildRequires: valgrind-devel
BuildRequires: libcpucycles-devel
BuildRequires: librandombytes-devel
BuildRequires: python3-capstone
%description
libmceliece is a Classic McEliece microlibrary. libmceliece has a very simple stateless API based on the SUPERCOP API, with wire-format inputs and outputs for the mceliece6960119 KEM.
%package -n libmceliece%{sover}
Summary: Classic McEliece microlibrary with simple stateless API based on the SUPERCOP API
Group: Development/Libraries/C and C++
%description -n libmceliece%{sover}
libmceliece is a Classic McEliece microlibrary. libmceliece has a very simple stateless API based on the SUPERCOP API, with wire-format inputs and outputs for the mceliece6960119 KEM.
%package devel
Summary: Development files for libmceliece library
Group: Development/Languages/C and C++
Requires: libmceliece%{sover} = %{version}
%description devel
Development files for libmceliece - a Classic McEliece microlibrary
with wire-format inputs and outputs for the mceliece6960119 KEM.
%package tools
Summary: Cli tools from libmceliece
Group: Development/Languages/C and C++
Requires: libmceliece%{sover} = %{version}
%description tools
CLI tool for libmceliece - a Classic McEliece microlibrary
with wire-format inputs and outputs for the mceliece6960119 KEM.
%package docs
Summary: Documentation for libmceliece and libmceliece-tools
Group: Development/Languages/C and C++
Requires: libmceliece%{sover} = %{version}
BuildArch: noarch
%description docs
Documentation tool for libmceliece and libmceliece-tools - a Classic McEliece microlibrary. libmceliece has a very simple stateless API based on the SUPERCOP API,
with wire-format inputs and outputs for the mceliece6960119 KEM.
%prep
%autosetup -p1
%build
%configure
%make_build
%install
%make_install
chmod +x %{buildroot}%{_libdir}/libmceliece.so.%{sover}
%check
%post -n libmceliece%{sover} -p /sbin/ldconfig
%postun -n libmceliece%{sover} -p /sbin/ldconfig
%files -n libmceliece%{sover}
%license doc/license.md
%{_libdir}/libmceliece.so.%{sover}
%files devel
%{_includedir}/mceliece.h
%{_libdir}/libmceliece.so
%files tools
%{_bindir}/mceliece-fulltest
%{_bindir}/mceliece-speed
%{_bindir}/mceliece-test
%{_bindir}/mceliece348864-dec
%{_bindir}/mceliece348864-enc
%{_bindir}/mceliece348864-keypair
%{_bindir}/mceliece348864f-keypair
%{_bindir}/mceliece348864pc-dec
%{_bindir}/mceliece348864pc-enc
%{_bindir}/mceliece348864pc-keypair
%{_bindir}/mceliece348864pcf-keypair
%{_bindir}/mceliece460896-dec
%{_bindir}/mceliece460896-enc
%{_bindir}/mceliece460896-keypair
%{_bindir}/mceliece460896f-keypair
%{_bindir}/mceliece460896pc-dec
%{_bindir}/mceliece460896pc-enc
%{_bindir}/mceliece460896pc-keypair
%{_bindir}/mceliece460896pcf-keypair
%{_bindir}/mceliece6688128-dec
%{_bindir}/mceliece6688128-enc
%{_bindir}/mceliece6688128-keypair
%{_bindir}/mceliece6688128f-keypair
%{_bindir}/mceliece6688128pc-dec
%{_bindir}/mceliece6688128pc-enc
%{_bindir}/mceliece6688128pc-keypair
%{_bindir}/mceliece6688128pcf-keypair
%{_bindir}/mceliece6960119-dec
%{_bindir}/mceliece6960119-enc
%{_bindir}/mceliece6960119-keypair
%{_bindir}/mceliece6960119f-keypair
%{_bindir}/mceliece6960119pc-dec
%{_bindir}/mceliece6960119pc-enc
%{_bindir}/mceliece6960119pc-keypair
%{_bindir}/mceliece6960119pcf-keypair
%{_bindir}/mceliece8192128-dec
%{_bindir}/mceliece8192128-enc
%{_bindir}/mceliece8192128-keypair
%{_bindir}/mceliece8192128f-keypair
%{_bindir}/mceliece8192128pc-dec
%{_bindir}/mceliece8192128pc-enc
%{_bindir}/mceliece8192128pc-keypair
%{_bindir}/mceliece8192128pcf-keypair
%files docs
%{_mandir}/man1/mceliece-fulltest.1.gz
%{_mandir}/man1/mceliece-speed.1.gz
%{_mandir}/man1/mceliece-test.1.gz
%{_mandir}/man1/mceliece.1.gz
%{_mandir}/man1/mceliece348864-dec.1.gz
%{_mandir}/man1/mceliece348864-enc.1.gz
%{_mandir}/man1/mceliece348864-keypair.1.gz
%{_mandir}/man1/mceliece348864.1.gz
%{_mandir}/man1/mceliece348864f-keypair.1.gz
%{_mandir}/man1/mceliece348864f.1.gz
%{_mandir}/man1/mceliece348864pc-dec.1.gz
%{_mandir}/man1/mceliece348864pc-enc.1.gz
%{_mandir}/man1/mceliece348864pc-keypair.1.gz
%{_mandir}/man1/mceliece348864pc.1.gz
%{_mandir}/man1/mceliece348864pcf-keypair.1.gz
%{_mandir}/man1/mceliece348864pcf.1.gz
%{_mandir}/man1/mceliece460896-dec.1.gz
%{_mandir}/man1/mceliece460896-enc.1.gz
%{_mandir}/man1/mceliece460896-keypair.1.gz
%{_mandir}/man1/mceliece460896.1.gz
%{_mandir}/man1/mceliece460896f-keypair.1.gz
%{_mandir}/man1/mceliece460896f.1.gz
%{_mandir}/man1/mceliece460896pc-dec.1.gz
%{_mandir}/man1/mceliece460896pc-enc.1.gz
%{_mandir}/man1/mceliece460896pc-keypair.1.gz
%{_mandir}/man1/mceliece460896pc.1.gz
%{_mandir}/man1/mceliece460896pcf-keypair.1.gz
%{_mandir}/man1/mceliece460896pcf.1.gz
%{_mandir}/man1/mceliece6688128-dec.1.gz
%{_mandir}/man1/mceliece6688128-enc.1.gz
%{_mandir}/man1/mceliece6688128-keypair.1.gz
%{_mandir}/man1/mceliece6688128.1.gz
%{_mandir}/man1/mceliece6688128f-keypair.1.gz
%{_mandir}/man1/mceliece6688128f.1.gz
%{_mandir}/man1/mceliece6688128pc-dec.1.gz
%{_mandir}/man1/mceliece6688128pc-enc.1.gz
%{_mandir}/man1/mceliece6688128pc-keypair.1.gz
%{_mandir}/man1/mceliece6688128pc.1.gz
%{_mandir}/man1/mceliece6688128pcf-keypair.1.gz
%{_mandir}/man1/mceliece6688128pcf.1.gz
%{_mandir}/man1/mceliece6960119-dec.1.gz
%{_mandir}/man1/mceliece6960119-enc.1.gz
%{_mandir}/man1/mceliece6960119-keypair.1.gz
%{_mandir}/man1/mceliece6960119.1.gz
%{_mandir}/man1/mceliece6960119f-keypair.1.gz
%{_mandir}/man1/mceliece6960119f.1.gz
%{_mandir}/man1/mceliece6960119pc-dec.1.gz
%{_mandir}/man1/mceliece6960119pc-enc.1.gz
%{_mandir}/man1/mceliece6960119pc-keypair.1.gz
%{_mandir}/man1/mceliece6960119pc.1.gz
%{_mandir}/man1/mceliece6960119pcf-keypair.1.gz
%{_mandir}/man1/mceliece6960119pcf.1.gz
%{_mandir}/man1/mceliece8192128-dec.1.gz
%{_mandir}/man1/mceliece8192128-enc.1.gz
%{_mandir}/man1/mceliece8192128-keypair.1.gz
%{_mandir}/man1/mceliece8192128.1.gz
%{_mandir}/man1/mceliece8192128f-keypair.1.gz
%{_mandir}/man1/mceliece8192128f.1.gz
%{_mandir}/man1/mceliece8192128pc-dec.1.gz
%{_mandir}/man1/mceliece8192128pc-enc.1.gz
%{_mandir}/man1/mceliece8192128pc-keypair.1.gz
%{_mandir}/man1/mceliece8192128pc.1.gz
%{_mandir}/man1/mceliece8192128pcf-keypair.1.gz
%{_mandir}/man1/mceliece8192128pcf.1.gz
%{_mandir}/man3/mceliece.3.gz
%{_mandir}/man3/mceliece348864.3.gz
%{_mandir}/man3/mceliece348864_dec.3.gz
%{_mandir}/man3/mceliece348864_enc.3.gz
%{_mandir}/man3/mceliece348864_keypair.3.gz
%{_mandir}/man3/mceliece348864f.3.gz
%{_mandir}/man3/mceliece348864f_dec.3.gz
%{_mandir}/man3/mceliece348864f_enc.3.gz
%{_mandir}/man3/mceliece348864f_keypair.3.gz
%{_mandir}/man3/mceliece348864pc.3.gz
%{_mandir}/man3/mceliece348864pc_dec.3.gz
%{_mandir}/man3/mceliece348864pc_enc.3.gz
%{_mandir}/man3/mceliece348864pc_keypair.3.gz
%{_mandir}/man3/mceliece348864pcf.3.gz
%{_mandir}/man3/mceliece348864pcf_dec.3.gz
%{_mandir}/man3/mceliece348864pcf_enc.3.gz
%{_mandir}/man3/mceliece348864pcf_keypair.3.gz
%{_mandir}/man3/mceliece460896.3.gz
%{_mandir}/man3/mceliece460896_dec.3.gz
%{_mandir}/man3/mceliece460896_enc.3.gz
%{_mandir}/man3/mceliece460896_keypair.3.gz
%{_mandir}/man3/mceliece460896f.3.gz
%{_mandir}/man3/mceliece460896f_dec.3.gz
%{_mandir}/man3/mceliece460896f_enc.3.gz
%{_mandir}/man3/mceliece460896f_keypair.3.gz
%{_mandir}/man3/mceliece460896pc.3.gz
%{_mandir}/man3/mceliece460896pc_dec.3.gz
%{_mandir}/man3/mceliece460896pc_enc.3.gz
%{_mandir}/man3/mceliece460896pc_keypair.3.gz
%{_mandir}/man3/mceliece460896pcf.3.gz
%{_mandir}/man3/mceliece460896pcf_dec.3.gz
%{_mandir}/man3/mceliece460896pcf_enc.3.gz
%{_mandir}/man3/mceliece460896pcf_keypair.3.gz
%{_mandir}/man3/mceliece6688128.3.gz
%{_mandir}/man3/mceliece6688128_dec.3.gz
%{_mandir}/man3/mceliece6688128_enc.3.gz
%{_mandir}/man3/mceliece6688128_keypair.3.gz
%{_mandir}/man3/mceliece6688128f.3.gz
%{_mandir}/man3/mceliece6688128f_dec.3.gz
%{_mandir}/man3/mceliece6688128f_enc.3.gz
%{_mandir}/man3/mceliece6688128f_keypair.3.gz
%{_mandir}/man3/mceliece6688128pc.3.gz
%{_mandir}/man3/mceliece6688128pc_dec.3.gz
%{_mandir}/man3/mceliece6688128pc_enc.3.gz
%{_mandir}/man3/mceliece6688128pc_keypair.3.gz
%{_mandir}/man3/mceliece6688128pcf.3.gz
%{_mandir}/man3/mceliece6688128pcf_dec.3.gz
%{_mandir}/man3/mceliece6688128pcf_enc.3.gz
%{_mandir}/man3/mceliece6688128pcf_keypair.3.gz
%{_mandir}/man3/mceliece6960119.3.gz
%{_mandir}/man3/mceliece6960119_dec.3.gz
%{_mandir}/man3/mceliece6960119_enc.3.gz
%{_mandir}/man3/mceliece6960119_keypair.3.gz
%{_mandir}/man3/mceliece6960119f.3.gz
%{_mandir}/man3/mceliece6960119f_dec.3.gz
%{_mandir}/man3/mceliece6960119f_enc.3.gz
%{_mandir}/man3/mceliece6960119f_keypair.3.gz
%{_mandir}/man3/mceliece6960119pc.3.gz
%{_mandir}/man3/mceliece6960119pc_dec.3.gz
%{_mandir}/man3/mceliece6960119pc_enc.3.gz
%{_mandir}/man3/mceliece6960119pc_keypair.3.gz
%{_mandir}/man3/mceliece6960119pcf.3.gz
%{_mandir}/man3/mceliece6960119pcf_dec.3.gz
%{_mandir}/man3/mceliece6960119pcf_enc.3.gz
%{_mandir}/man3/mceliece6960119pcf_keypair.3.gz
%{_mandir}/man3/mceliece8192128.3.gz
%{_mandir}/man3/mceliece8192128_dec.3.gz
%{_mandir}/man3/mceliece8192128_enc.3.gz
%{_mandir}/man3/mceliece8192128_keypair.3.gz
%{_mandir}/man3/mceliece8192128f.3.gz
%{_mandir}/man3/mceliece8192128f_dec.3.gz
%{_mandir}/man3/mceliece8192128f_enc.3.gz
%{_mandir}/man3/mceliece8192128f_keypair.3.gz
%{_mandir}/man3/mceliece8192128pc.3.gz
%{_mandir}/man3/mceliece8192128pc_dec.3.gz
%{_mandir}/man3/mceliece8192128pc_enc.3.gz
%{_mandir}/man3/mceliece8192128pc_keypair.3.gz
%{_mandir}/man3/mceliece8192128pcf.3.gz
%{_mandir}/man3/mceliece8192128pcf_dec.3.gz
%{_mandir}/man3/mceliece8192128pcf_enc.3.gz
%{_mandir}/man3/mceliece8192128pcf_keypair.3.gz
%changelog