dc908e
%bcond_without fips
dc908e
dc908e
Name:           nettle
dc908e
Version:        3.4.1
007cfe
Release:        7%{?dist}
dc908e
Summary:        A low-level cryptographic library
dc908e
dc908e
Group:          Development/Libraries
dc908e
License:        LGPLv3+ or GPLv2+
dc908e
URL:            http://www.lysator.liu.se/~nisse/nettle/
dc908e
Source0:	%{name}-%{version}-hobbled.tar.xz
dc908e
#Source0:        http://www.lysator.liu.se/~nisse/archive/%{name}-%{version}.tar.gz
dc908e
Patch0:		nettle-3.3-remove-ecc-testsuite.patch
dc908e
Patch1:		nettle-3.4-annocheck.patch
dc908e
Patch2:		nettle-3.4.1-enable-intel-cet.patch
e986cc
# https://lists.lysator.liu.se/pipermail/nettle-bugs/2021/009458.html
e986cc
Patch3:		nettle-3.4.1-ecdsa-verify.patch
e986cc
Patch4:		nettle-3.4.1-powerpc64-aes-asm.patch
e986cc
Patch5:		nettle-3.4.1-powerpc64-ghash-asm.patch
007cfe
Patch6:		nettle-3.4.1-rsa-decrypt.patch
dc908e
dc908e
BuildRequires:  gcc
dc908e
BuildRequires:  gmp-devel, m4
dc908e
BuildRequires:	libtool, automake, autoconf, gettext-devel
dc908e
%if %{with fips}
dc908e
BuildRequires:  fipscheck
dc908e
%endif
dc908e
dc908e
Requires(post): info
dc908e
Requires(preun): info
dc908e
dc908e
dc908e
%package devel
dc908e
Summary:        Development headers for a low-level cryptographic library
dc908e
Group:          Development/Libraries
dc908e
Requires:       %{name} = %{version}-%{release}
dc908e
Requires:       gmp-devel%{?_isa}
dc908e
dc908e
%description
dc908e
Nettle is a cryptographic library that is designed to fit easily in more
dc908e
or less any context: In crypto toolkits for object-oriented languages
dc908e
(C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in
dc908e
kernel space.
dc908e
dc908e
%description devel
dc908e
Nettle is a cryptographic library that is designed to fit easily in more
dc908e
or less any context: In crypto toolkits for object-oriented languages
dc908e
(C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in
dc908e
kernel space.  This package contains the files needed for developing 
dc908e
applications with nettle.
dc908e
dc908e
dc908e
%prep
dc908e
%setup -q
dc908e
# Disable -ggdb3 which makes debugedit unhappy
dc908e
sed s/ggdb3/g/ -i configure
dc908e
sed 's/ecc-192.c//g' -i Makefile.in
dc908e
sed 's/ecc-224.c//g' -i Makefile.in
dc908e
%patch0 -p1
dc908e
%patch1 -p1
dc908e
%patch2 -p1
e986cc
%patch3 -p1
e986cc
%patch4 -p1
e986cc
%patch5 -p1
007cfe
%patch6 -p1
dc908e
dc908e
%build
dc908e
autoreconf -ifv
dc908e
%configure --enable-shared --enable-fat
dc908e
make %{?_smp_mflags}
dc908e
dc908e
%if %{with fips}
dc908e
%define __spec_install_post \
dc908e
	%{?__debug_package:%{__debug_install_post}} \
dc908e
	%{__arch_install_post} \
dc908e
	%{__os_install_post} \
dc908e
	fipshmac -d $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libdir}/libnettle.so.6.* \
dc908e
	fipshmac -d $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libdir}/libhogweed.so.4.* \
dc908e
	file=`basename $RPM_BUILD_ROOT%{_libdir}/libnettle.so.6.*.hmac` && mv $RPM_BUILD_ROOT%{_libdir}/$file $RPM_BUILD_ROOT%{_libdir}/.$file && ln -s .$file $RPM_BUILD_ROOT%{_libdir}/.libnettle.so.6.hmac \
dc908e
	file=`basename $RPM_BUILD_ROOT%{_libdir}/libhogweed.so.4.*.hmac` && mv $RPM_BUILD_ROOT%{_libdir}/$file $RPM_BUILD_ROOT%{_libdir}/.$file && ln -s .$file $RPM_BUILD_ROOT%{_libdir}/.libhogweed.so.4.hmac \
dc908e
%{nil}
dc908e
%endif
dc908e
dc908e
%install
dc908e
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
dc908e
make install-shared DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
dc908e
mkdir -p $RPM_BUILD_ROOT%{_infodir}
dc908e
install -p -m 644 nettle.info $RPM_BUILD_ROOT%{_infodir}/
dc908e
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
dc908e
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
dc908e
rm -f $RPM_BUILD_ROOT%{_bindir}/nettle-lfib-stream
dc908e
rm -f $RPM_BUILD_ROOT%{_bindir}/pkcs1-conv
dc908e
rm -f $RPM_BUILD_ROOT%{_bindir}/sexp-conv
dc908e
rm -f $RPM_BUILD_ROOT%{_bindir}/nettle-hash
dc908e
rm -f $RPM_BUILD_ROOT%{_bindir}/nettle-pbkdf2
dc908e
dc908e
chmod 0755 $RPM_BUILD_ROOT%{_libdir}/libnettle.so.6.*
dc908e
chmod 0755 $RPM_BUILD_ROOT%{_libdir}/libhogweed.so.4.*
dc908e
dc908e
%check
dc908e
make check
dc908e
dc908e
%files
dc908e
%doc AUTHORS NEWS README TODO
dc908e
%license COPYINGv2 COPYING.LESSERv3
dc908e
%{_infodir}/nettle.info.gz
dc908e
%{_libdir}/libnettle.so.6
dc908e
%{_libdir}/libnettle.so.6.*
dc908e
%{_libdir}/libhogweed.so.4
dc908e
%{_libdir}/libhogweed.so.4.*
dc908e
%if %{with fips}
dc908e
%{_libdir}/.libhogweed.so.*.hmac
dc908e
%{_libdir}/.libnettle.so.*.hmac
dc908e
%endif
dc908e
dc908e
%files devel
dc908e
%doc descore.README nettle.html nettle.pdf
dc908e
%{_includedir}/nettle
dc908e
%{_libdir}/libnettle.so
dc908e
%{_libdir}/libhogweed.so
dc908e
%{_libdir}/pkgconfig/hogweed.pc
dc908e
%{_libdir}/pkgconfig/nettle.pc
dc908e
dc908e
%post
dc908e
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
dc908e
/sbin/ldconfig
dc908e
dc908e
%preun
dc908e
if [ $1 = 0 ]; then
dc908e
  /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
dc908e
fi
dc908e
dc908e
%postun -p /sbin/ldconfig
dc908e
dc908e
dc908e
dc908e
%changelog
007cfe
* Wed Jul 14 2021 Daiki Ueno <dueno@redhat.com> - 3.4.1-7
007cfe
- Backport CVE-2021-3580 from upstream 3.7.3 release (#1967990)
007cfe
007cfe
* Wed Jul 14 2021 Daiki Ueno <dueno@redhat.com> - 3.4.1-6
007cfe
- Enable CTR mode optimization when the block size is 16
007cfe
e986cc
* Wed Jun 30 2021 Daiki Ueno <dueno@redhat.com> - 3.4.1-5
e986cc
- Backport powerpc64 optimization patches from upstream (#1855228)
e986cc
  Patch from Christopher M. Riedl.
e986cc
e986cc
* Wed Apr  7 2021 Daiki Ueno <dueno@redhat.com> - 3.4.1-4
e986cc
- Fix patch application
e986cc
e986cc
* Tue Mar 30 2021 Daiki Ueno <dueno@redhat.com> - 3.4.1-3
e986cc
- Port fixes for potential miscalculation in ecdsa_verify (#1942925)
e986cc
dc908e
* Fri May 15 2020 Anderson Sasaki <ansasaki@redhat.com> - 3.4.1-2
dc908e
- Enable Intel CET support (#1737542)
dc908e
dc908e
* Tue Dec 11 2018 Daiki Ueno <dueno@redhat.com> - 3.4.1-1
dc908e
- New upstream release
dc908e
dc908e
* Tue Oct 16 2018 Tomáš Mráz <tmraz@redhat.com> - 3.4-4
dc908e
- Cover the gaps in annotation coverage for assembler sources
dc908e
- Add .hmac checksums for FIPS mode integrity checking
dc908e
dc908e
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-2
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
dc908e
dc908e
* Mon Nov 20 2017 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.4-1
dc908e
- New upstream release
dc908e
dc908e
* Wed Aug 09 2017 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.3-5
dc908e
- Removed executables from the library to allow parallel installation
dc908e
  of x86-64 and x86 packages. The executables had testing purpose, and
dc908e
  may be re-introduced in a separate package if needed.
dc908e
dc908e
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-4
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
dc908e
dc908e
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-3
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
dc908e
dc908e
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-2
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
dc908e
dc908e
* Tue Jul 19 2016 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.3-1
dc908e
- New upstream release
dc908e
- Allow arm neon instructions (they are enabled via fat builds)
dc908e
dc908e
* Tue Jul 19 2016 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.2-3
dc908e
- Backported a fix for more cache silence on RSA and DSA.
dc908e
dc908e
* Thu Feb 18 2016 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.2-2
dc908e
- Enabled fat builds by default
dc908e
dc908e
* Wed Feb  3 2016 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.2-1
dc908e
- updated to 3.2 (#1301310)
dc908e
- Fixed CVE-2015-8803 secp256r1 calculation bug (#1304305)
dc908e
dc908e
* Wed Dec  9 2015 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.1.1-6
dc908e
- Made version.h architecture independent (#1289938)
dc908e
dc908e
* Wed Dec  2 2015 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.1.1-5
dc908e
- Disabled arm-neon unconditionally (#1287298)
dc908e
dc908e
* Thu Oct 22 2015 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.1.1-4
dc908e
- Fixed SHA3 implementation to conform to published version (#1252935)
dc908e
dc908e
* Sun Aug  2 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.1.1-3
dc908e
- No need to ship license in devel too
dc908e
- Drop ChangeLog as details are in NEWS
dc908e
dc908e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.1-2
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
dc908e
dc908e
* Thu Apr 30 2015 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.1.1-1
dc908e
- Updated to nettle 3.1.1
dc908e
dc908e
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 2.7.1-6
dc908e
- Rebuilt for Fedora 23 Change
dc908e
  https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
dc908e
dc908e
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.1-5
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
dc908e
dc908e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.1-4
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
dc908e
dc908e
* Fri Jan 10 2014 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.7.1-3
dc908e
- Corrected bug number in previous comment.
dc908e
dc908e
* Fri Dec 13 2013 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.7.1-2
dc908e
- Added patch nettle-tmpalloc.patch to solve #1051455
dc908e
dc908e
* Mon Nov 25 2013 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.7.1-1
dc908e
- Updated to nettle 2.7.1
dc908e
dc908e
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6-3
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
dc908e
dc908e
* Wed Feb  6 2013 Tomáš Mráz <tmraz@redhat.com> - 2.6-2
dc908e
- nettle includes use gmp.h
dc908e
dc908e
* Tue Feb  5 2013 Tomáš Mráz <tmraz@redhat.com> - 2.6-1
dc908e
- New upstream release
dc908e
dc908e
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-4
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
dc908e
dc908e
* Thu Jul 05 2012 David Woodhouse <dwmw2@infradead.org> - 2.4-3
dc908e
- Remove explicit buildroot handling and defattr.
dc908e
dc908e
* Wed Jul 04 2012 David Woodhouse <dwmw2@infradead.org> - 2.4-2
dc908e
- Review feedback
dc908e
dc908e
* Mon Jun 18 2012 David Woodhouse <dwmw2@infradead.org> - 2.4-1
dc908e
- Revive package (GnuTLS needs it), disable static, update to current release 2.4
dc908e
dc908e
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.15-7
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
dc908e
dc908e
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.15-6
dc908e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
dc908e
dc908e
* Thu Apr 10 2008 Ian Weller <ianweller@gmail.com> 1.15-5
dc908e
- Moved static lib to -static
dc908e
dc908e
* Mon Mar 24 2008 Ian Weller <ianweller@gmail.com> 1.15-4
dc908e
- Added libraries and ldconfig
dc908e
dc908e
* Mon Feb 18 2008 Ian Weller <ianweller@gmail.com> 1.15-3
dc908e
- Added provides -static to -devel
dc908e
dc908e
* Sun Feb 17 2008 Ian Weller <ianweller@gmail.com> 1.15-2
dc908e
- Removed redundant requires
dc908e
- Removed redundant documentation between packages
dc908e
- Fixed license tag
dc908e
- Fixed -devel description
dc908e
- Added the static library back to -devel
dc908e
- Added make clean
dc908e
dc908e
* Fri Feb 08 2008 Ian Weller <ianweller@gmail.com> 1.15-1
dc908e
- First package build.