Initialize for libnettle
This commit is contained in:
commit
7cff8b8809
11 changed files with 1347 additions and 0 deletions
164
libnettle.spec
Normal file
164
libnettle.spec
Normal file
|
@ -0,0 +1,164 @@
|
|||
#
|
||||
# spec file for package libnettle
|
||||
#
|
||||
# Copyright (c) 2022-2023 ZhuningOS
|
||||
#
|
||||
|
||||
|
||||
%define soname 8
|
||||
%define hogweed_soname 6
|
||||
Name: libnettle
|
||||
Version: 3.8.1
|
||||
Release: 150500.2.25
|
||||
Summary: Cryptographic Library
|
||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: https://www.lysator.liu.se/~nisse/nettle/
|
||||
Source0: https://ftp.gnu.org/gnu/nettle/nettle-%{version}.tar.gz
|
||||
Source1: https://ftp.gnu.org/gnu/nettle/nettle-%{version}.tar.gz.sig
|
||||
Source2: %{name}.keyring
|
||||
Source3: baselibs.conf
|
||||
Source4: %{name}-rpmlintrc
|
||||
#PATCH-FIX-UPSTREAM jsc#PED-546 POWER10 performance enhancements for cryptography
|
||||
Patch0: libnettle-PowerPC-Implement-Poly1305-single-block-update-based.patch
|
||||
Patch1: libnettle-PowerPC-Use-defined-structure-constants-of-P1305-in.patch
|
||||
Patch2: libnettle-Workaround-for-qemu-bug-affecting-the-ppc-intruction.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: fipscheck
|
||||
BuildRequires: gmp-devel >= 6.1.0
|
||||
BuildRequires: m4
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
%description
|
||||
Nettle is a cryptographic library that is designed to fit easily in more or
|
||||
less any context: In crypto toolkits for object-oriented languages (C++,
|
||||
Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.
|
||||
|
||||
%package -n libnettle%{soname}
|
||||
Summary: Cryptographic Library
|
||||
License: LGPL-2.1-or-later
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libnettle%{soname}
|
||||
Nettle is a cryptographic library that is designed to fit easily in more or
|
||||
less any context: In crypto toolkits for object-oriented languages (C++,
|
||||
Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.
|
||||
|
||||
%package -n libhogweed%{hogweed_soname}
|
||||
Summary: Cryptographic Library for Public Key Algorithms
|
||||
License: LGPL-2.1-or-later
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libhogweed%{hogweed_soname}
|
||||
Nettle is a cryptographic library that is designed to fit easily in more or
|
||||
less any context: In crypto toolkits for object-oriented languages (C++,
|
||||
Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.
|
||||
|
||||
The libhogweed library contains public key algorithms to use with libnettle.
|
||||
|
||||
%package -n libnettle-devel
|
||||
Summary: Cryptographic Library
|
||||
License: LGPL-2.1-or-later
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: glibc-devel
|
||||
Requires: gmp-devel
|
||||
Requires: libhogweed%{hogweed_soname} = %{version}
|
||||
Requires: libnettle%{soname} = %{version}
|
||||
|
||||
%description -n libnettle-devel
|
||||
Nettle is a cryptographic library that is designed to fit easily in more or
|
||||
less any context: In crypto toolkits for object-oriented languages (C++,
|
||||
Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.
|
||||
|
||||
%package -n nettle
|
||||
Summary: Cryptographic Tools
|
||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
Group: Productivity/Security
|
||||
|
||||
%description -n nettle
|
||||
Nettle is a cryptographic library that is designed to fit easily in more or
|
||||
less any context: In crypto toolkits for object-oriented languages (C++,
|
||||
Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.
|
||||
|
||||
This package contains a few command-line tools to perform cryptographic
|
||||
operations using the nettle library.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n nettle-%{version}
|
||||
|
||||
%build
|
||||
autoreconf -fiv
|
||||
%configure \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--enable-fat \
|
||||
%ifarch s390x
|
||||
--enable-s390x-vf \
|
||||
--enable-s390x-msa \
|
||||
%endif
|
||||
%{nil}
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
chmod 0755 %{buildroot}%{_libdir}/libnettle.so.%{soname}
|
||||
chmod 0755 %{buildroot}%{_libdir}/libhogweed.so.%{hogweed_soname}
|
||||
|
||||
# the hmac hashes:
|
||||
#
|
||||
# this is a hack that re-defines the __os_install_post macro
|
||||
# for a simple reason: the macro strips the binaries and thereby
|
||||
# invalidates a HMAC that may have been created earlier.
|
||||
# solution: create the hashes _after_ the macro runs.
|
||||
#
|
||||
# this shows up earlier because otherwise the %%expand of
|
||||
# the macro is too late.
|
||||
# remark: This is the same as running
|
||||
# openssl dgst -sha256 -hmac 'orboDeJITITejsirpADONivirpUkvarP'
|
||||
%{expand:%%global __os_install_post {%__os_install_post
|
||||
%{_bindir}/fipshmac %{buildroot}%{_libdir}/libnettle.so.%{soname}
|
||||
%{_bindir}/fipshmac %{buildroot}%{_libdir}/libhogweed.so.%{hogweed_soname}
|
||||
}}
|
||||
|
||||
%post -n libnettle%{soname} -p /sbin/ldconfig
|
||||
%postun -n libnettle%{soname} -p /sbin/ldconfig
|
||||
%post -n libhogweed%{hogweed_soname} -p /sbin/ldconfig
|
||||
%postun -n libhogweed%{hogweed_soname} -p /sbin/ldconfig
|
||||
|
||||
%check
|
||||
%make_build check
|
||||
|
||||
%files -n libnettle%{soname}
|
||||
%license COPYING*
|
||||
%{_libdir}/libnettle.so.%{soname}
|
||||
%{_libdir}/libnettle.so.%{soname}.*
|
||||
%{_libdir}/.libnettle.so.%{soname}.hmac
|
||||
|
||||
%files -n libhogweed%{hogweed_soname}
|
||||
%license COPYING*
|
||||
%{_libdir}/libhogweed.so.%{hogweed_soname}
|
||||
%{_libdir}/libhogweed.so.%{hogweed_soname}.*
|
||||
%{_libdir}/.libhogweed.so.%{hogweed_soname}.hmac
|
||||
|
||||
%files -n libnettle-devel
|
||||
%license COPYING*
|
||||
%doc AUTHORS ChangeLog NEWS README
|
||||
%{_includedir}/nettle
|
||||
%{_libdir}/libnettle.so
|
||||
%{_libdir}/libhogweed.so
|
||||
%{_infodir}/nettle.info%{?ext_info}
|
||||
%{_libdir}/pkgconfig/hogweed.pc
|
||||
%{_libdir}/pkgconfig/nettle.pc
|
||||
|
||||
%files -n nettle
|
||||
%license COPYING*
|
||||
%doc AUTHORS ChangeLog NEWS README
|
||||
%{_bindir}/nettle-lfib-stream
|
||||
%{_bindir}/nettle-pbkdf2
|
||||
%{_bindir}/pkcs1-conv
|
||||
%{_bindir}/sexp-conv
|
||||
%{_bindir}/nettle-hash
|
||||
|
||||
%changelog
|
Loading…
Add table
Add a link
Reference in a new issue