Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates-src > by-pkgid > 6b052260cb1ad9e85f9343c1c9815d0e > files > 8

libcryptopp-5.6.3-1.1.mga5.src.rpm

%define major   6
%define libname %mklibname cryptopp %{major}
%define develname %mklibname -d cryptopp
%define staticname %mklibname -s -d cryptopp
%define fver %(echo %version |sed s/\\\\.//g)

Name:		libcryptopp
Version:	5.6.3
%define subrel	1
Release:	%mkrel 1
Epoch:		0
Summary:	C++ class library of cryptographic schemes
License:	Boost Software License 1.0
Group:		System/Libraries
URL:		http://www.cryptopp.com
Source0:	http://www.cryptopp.com/cryptopp%{fver}.zip
Source1:	cryptopp.pc
Source2:	cryptest.1
Patch0:		cryptopp-autotools.patch
# https://github.com/weidai11/cryptopp/issues/82
Patch1:		cryptopp-data-files-location.patch
Patch2:		cryptopp-fix_the_Rijndael_timing_attack_counter_measure.patch
Patch3:		cryptopp-improve_constant_propagation.patch
BuildRequires:	doxygen

%description
Crypto++ Library is a C++ class library of cryptographic schemes.
Currently the library consists of the following features:

    * AES(Rijndael) and AES candidates: RC6, MARS, Twofish, Serpent,
      CAST-256
    * other symmetric block ciphers: IDEA, DES, Triple-DES (DES-EDE2
      and DES-EDE3), DESX (DES-XEX3), RC2, RC5, Blowfish, TEA, XTEA,
      SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, Skipjack, Camellia,
      SHACAL-2
    * generic block cipher modes: ECB, CBC, CBC ciphertext stealing
      (CTS), CFB, OFB, counter mode (CTR)
    * stream ciphers: Salsa20, Panama, ARC4, SEAL, WAKE, WAKE-OFB,
      BlumBlumShub
    * public-key cryptography: RSA, DSA, ElGamal, Nyberg-Rueppel (NR),
      Rabin, Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of
      DHAES), ESIGN
    * padding schemes for public-key systems: PKCS#1 v2.0, OAEP, PSS,
      PSSR, IEEE P1363 EMSA2 and EMSA5
    * key agreement schemes: Diffie-Hellman (DH), Unified
      Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH
    * elliptic curve cryptography: ECDSA, ECNR, ECIES, ECDH, ECMQV
    * one-way hash functions: SHA-1, MD2, MD4, MD5, HAVAL, RIPEMD-128,
      RIPEMD-256, RIPEMD-160, RIPEMD-320, Tiger, SHA-2 (SHA-224,
      SHA-256, SHA-384, and SHA-512), Panama, WHIRLPOOL
    * message authentication codes: MD5-MAC, HMAC, XOR-MAC, CBC-MAC,
      DMAC, Two-Track-MAC
    * cipher constructions based on hash functions: Luby-Rackoff, MDC
    * pseudo random number generators (PRNG): ANSI X9.17 appendix C,
      PGP's RandPool
    * password based key derivation functions: PBKDF1 and PBKDF2 from
      PKCS #5
    * Shamir's secret sharing scheme and Rabin's information dispersal
      algorithm (IDA)
    * DEFLATE (RFC 1951) compression/decompression with gzip (RFC
      1952) and zlib (RFC 1950) format support
    * fast multi-precision integer (bignum) and polynomial operations,
    * finite field arithmetics, including GF(p) and GF(2^n)
    * prime number generation and verification
    * various miscellaneous modules such as base 64 coding and 32-bit CRC


%package -n %{libname}
Group:		System/Libraries
Summary:	Base shared library part of %{name}
Provides:	%{name} = %{epoch}:%{version}-%{release}

%description -n %{libname}
Crypto++ Library is a free C++ class library of cryptographic schemes.

This package contains the library needed to run programs dynamically
linked with %{name}.

%package -n %{develname}
Summary:	Header files and development documentation for %{name}
Group:		Development/C++
Requires:	%{libname} = %{epoch}:%{version}-%{release}
Provides:	%{name}-devel = %{epoch}:%{version}-%{release}
Provides:	%{_lib}cryptopp-devel = %{epoch}:%{version}-%{release}
Provides:	cryptopp-devel = %{epoch}:%{version}-%{release}
Obsoletes:	%mklibname -d cryptopp 6

%description -n %{develname}
Crypto++ Library is a free C++ class library of cryptographic schemes.

This package contains the header files and development documentation
for %{name}.

%package progs
Summary:	Programs for manipulating %{name} routines
Group:		Development/Other
Provides:	cryptopp-progs = %{epoch}:%{version}-%{release}

%description progs
Crypto++ Library is a free C++ class library of cryptographic schemes.

This package contains programs for manipulating %{name} routines.

%prep
%setup -q -c
%apply_patches

rm -f GNUmakefile

perl -pi -e 's/\r$//g' License.txt Readme.txt

%build
autoreconf -vfi
%configure2_5x --disable-static
%make

doxygen

%install
%makeinstall_std

#we don't want these
find %{buildroot} -name '*.la' -delete

# Install the pkg-config file
install -D -m644 %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/cryptopp.pc

# Install the man page
install -D -m644 %{SOURCE2} %{buildroot}%{_mandir}/man1/cryptest.1

# Fill in the variables
sed -i "s|@PREFIX@|%{_prefix}|g" %{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
sed -i "s|@LIBDIR@|%{_libdir}|g" %{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
sed -i "s|@INCLUDEDIR@|%{_includedir}|g" %{buildroot}%{_libdir}/pkgconfig/cryptopp.pc

mkdir -p %{buildroot}%{_datadir}/cryptopp/TestVectors
mkdir -p %{buildroot}%{_datadir}/cryptopp/TestData
install -m644 TestVectors/* %{buildroot}%{_datadir}/cryptopp/TestVectors
install -m644 TestData/* %{buildroot}%{_datadir}/cryptopp/TestData

rm -f %{buildroot}%{_bindir}/cryptestcwd

%check
./cryptestcwd v

%files -n %{libname}
%doc License.txt Readme.txt
%{_libdir}/*.so.%{major}*

%files -n %{develname}
%{_includedir}/cryptopp
%{_libdir}/*.so
%{_libdir}/pkgconfig/cryptopp.pc

%files progs
%{_mandir}/man1/cryptest.1*
%{_bindir}/cryptest
%{_datadir}/cryptopp


%changelog
* Fri Apr 22 2016 luigiwalser <luigiwalser> 0:5.6.3-1.1.mga5
+ Revision: 1005385
- fix paths of test files
- add cryptest man page from debian
- 5.6.3
- sync patches with fedora
- add patches from fedora to fix CVE-2016-3995
- add patch from fedora to fix CVE-2015-2141

* Wed Oct 15 2014 umeabot <umeabot> 0:5.6.2-4.mga5
+ Revision: 747374
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> 0:5.6.2-3.mga5
+ Revision: 681391
- Mageia 5 Mass Rebuild

* Sat Oct 19 2013 umeabot <umeabot> 0:5.6.2-2.mga4
+ Revision: 528071
- Mageia 4 Mass Rebuild

* Sat Jun 15 2013 wally <wally> 0:5.6.2-1.mga4
+ Revision: 443415
- new version 5.6.2
- sync patches with Fedora
- drop s390 patch as we don't support it
- clean .spec a bit

* Sat Jan 12 2013 umeabot <umeabot> 0:5.6.1-4.mga3
+ Revision: 356933
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Mon Jan 07 2013 tv <tv> 0:5.6.1-3.mga3
+ Revision: 341236
- shrink description

* Mon Jan 07 2013 sander85 <sander85> 0:5.6.1-2.mga3
+ Revision: 341137
- Fix build with GCC 4.7

* Sun May 08 2011 dmorgan <dmorgan> 0:5.6.1-1.mga1
+ Revision: 95944
- New version 5.6.1
- imported package libcryptopp