# # spec file for package libnettle # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %define soname 6 %define hogweed_soname 4 Name: libnettle Version: 3.1.1 Release: 55.4 Summary: Cryptographic Library License: LGPL-2.1+ and GPL-2.0+ Group: System/Libraries Url: http://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 BuildRequires: gmp-devel BuildRequires: makeinfo BuildRequires: pkgconfig Requires(post): %{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build %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+ 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+ 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+ 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: LGPL-2.1+ and GPL-2.0+ 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 %setup -q -n nettle-%{version} %build %configure \ --enable-static make %{?_smp_mflags} %install make DESTDIR=%{buildroot} install %{?_smp_mflags} %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 %post -n libnettle-devel %install_info --info-dir="%{_infodir}" "%{_infodir}"/nettle.info%{ext_info} %postun -n libnettle-devel %install_info_delete --info-dir="%{_infodir}" "%{_infodir}"/nettle.info%{ext_info} %check make check %{?_smp_mflags} %files -n libnettle%{soname} %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING* NEWS README TODO %{_libdir}/libnettle.so.%{soname} %{_libdir}/libnettle.so.%{soname}.* %files -n libhogweed%{hogweed_soname} %defattr(-,root,root) %{_libdir}/libhogweed.so.%{hogweed_soname} %{_libdir}/libhogweed.so.%{hogweed_soname}.* %files -n libnettle-devel %defattr(-,root,root) %{_includedir}/nettle %{_libdir}/libnettle.so %{_libdir}/libhogweed.so %{_libdir}/lib*.a %{_infodir}/nettle.info%{ext_info} %{_libdir}/pkgconfig/hogweed.pc %{_libdir}/pkgconfig/nettle.pc %files -n nettle %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING* NEWS README TODO %{_bindir}/nettle-lfib-stream %{_bindir}/nettle-pbkdf2 %{_bindir}/pkcs1-conv %{_bindir}/sexp-conv %{_bindir}/nettle-hash %changelog * Mon Jun 22 2015 tchvatal@suse.com - Remove off-by-one-test-suite.patch as it was fixed by upstream differently * Sun Apr 26 2015 astieger@suse.com - nettle 3.1.1 Non-critical bugfix release, binary compatible to 3.1 * By accident, nettle-3.1 disabled the assembly code for the secp_224r1 and secp_521r1 elliptic curves on all x86_64 configurations, making signature operations on those curves 10%%-30%% slower. This code is now re-enabled. * The x86_64 assembly implementation of gcm hashing has been fixed to work with the Sun/Oracle assembler. * Thu Apr 23 2015 vpereira@suse.com added patch: off-by-one-test-suite.patch - Address Sanitizer, found a off-by-one error in the test suite (bnc#928328) * Sat Apr 11 2015 astieger@suse.com - nettle 3.1 (libnettle6, libhogweed4) - bug fixes in 3.1: * Fixed a missing include of , which made the camellia implementation fail on all 64-bit non-x86 platforms. * Eliminate out-of-bounds reads in the C implementation of memxor (related to valgrind's --partial-loads-ok flag). [bso#926745) - interface changes in 3.1: * Declarations of many internal functions are moved from ecc.h to ecc-internal.h. - interface changes in 3.0: * contains developer relevant incompatible interface changes - Removed features: * nettle_next_prime, use GMP's mpz_nextprime * Deleted the RSAREF compatibility - New features in 3.1: * Support for curve25519 and for EdDSA25519 signatures. * Support for "fat builds" on x86_64 and arm (not enabled) * Support for building the hogweed library (public key support) using "mini-gmp" (not enabled) * The shared libraries are now built with versioned symbols. * Support for "URL-safe" base64 encoding and decoding - New features in 3.0: * new DSA, AES, Camellia interfaces * Support for Poly1305-AES MAC. * Support for the ChaCha stream cipher and EXPERIMENTAL support for the ChaCha-Poly1305 AEAD mode. * Support for EAX mode. * Support for CCM mode. * Additional variants of SHA512 with output size of 224 and 256 bits * New interface, struct nettle_aead, for mechanisms providing authenticated encryption with associated data (AEAD). * DSA: Support a wider range for the size of q and a wider range for the digest size. * New command line tool nettle-pbkdf2. - Optimizations in 3.1: * New x86_64 implementation of AES, using the "aesni" instructions - Optimizations in 3.0: * New x86_64 assembly for GCM and MD5. Modest speedups on the order of 10%%-20%%. * Fri Mar 13 2015 tchvatal@suse.com - Add url to the spec * Thu Mar 5 2015 mpluskal@suse.com - Revert back to 2.7 * Tue May 13 2014 tchvatal@suse.com - Cleanup with spec-cleaner - Paralelize test run * Thu Dec 19 2013 meissner@suse.com - also build baselibs for libnettle-devel (for wine 32bit development) * Tue Jun 25 2013 meissner@suse.com - Update to version 2.7.1 * Fixed ecc_modp_mul call, to avoid invalid overlap of arguments to mpn_mul_n. Problem tracked down by Magnus Holmgren. * ARM fixes. - reference gpg signatures and keyring. checking not enabled as to avoid cycles. * Thu May 16 2013 idonmez@suse.com - Update to version 2.7 * Support for the GOST R 34.11-94 hash algorithm * Support for SHA3 * Support for PKCS #5 PBKDF2 * Fixed a small memory leak in nettle_realloc and nettle_xrealloc. * x86_64 assembly for SHA256, SHA512, and SHA3 * ARM assembly code for several additional algorithms, including AES, Salsa20, and the SHA family of hash functions. * Support for 12-round salsa20, "salsa20r12", as specified by eSTREAM. * Support for UMAC, including x86_64 and ARM assembly. * Support for ECDSA signatures. Elliptic curve operations over the following curves: secp192r1, secp224r1, secp256r1, secp384r1 and secp521r1, including x86_64 and ARM assembly for the most important primitives. - Depend on makeinfo for info file generation. - Don't disable static libs, they are needed at build time. * Sun Nov 25 2012 andreas.stieger@gmx.de - upgrade to 2.5: * removed some internal undocumented functions * pkcs1_signature_prefix renamed to _pkcs1_signature_prefix with slightly different behavior * nettle-internal.c is no longer included * Support for the salsa20 block cipher * Tentative interface for timing-resistant RSA functions * A more general interface for PKCS#1 signatures * Documentation, example programs for the base16 and base64 * Use an additional table to avoid GF2^8 multiplications in aes_invert_key (mainly used by aes_set_decrypt_key). Also tabulate round constants in aes_set_encrypt_key. - configure --enable-shared now default, no longer required * Tue Jan 31 2012 jengelh@medozas.de - Remove redundant tags/sections per specfile guideline suggestions * Sat Sep 24 2011 crrodriguez@opensuse.org - BuildRequire pkgconfig to fix rpmlint warning * Mon Sep 19 2011 crrodriguez@opensuse.org - Update to version 2.4 only two important changes * ripemd160 was broken on all big endian machines * add pkgconfig files * Mon Aug 29 2011 coolo@novell.com - use original source - add baselibs.conf - drop licenses * Wed Aug 17 2011 crrodriguez@opensuse.org - Fix licenses [bnc#712616] - run make check * Tue Aug 16 2011 crrodriguez@opensuse.org - Update to version 2.2, bump sonames accordingly - Fix build in factory - Fix -devel package dependencies - Tune up spec file in order to submit package to factory as is needed for gnutls version 3.x * Tue Jan 5 2010 pascal.bleser@opensuse.org - initial package (2.0)