From ab7a55e53fc209fd3cf355db3dc0d9b5a6685298 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 Apr 2012 00:01:12 +0000 Subject: Thu Apr 12 00:01:12 UTC 2012 --- extra/crypto++/PKGBUILD | 13 ++++-- extra/crypto++/gcc4.7.patch | 97 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 extra/crypto++/gcc4.7.patch (limited to 'extra/crypto++') diff --git a/extra/crypto++/PKGBUILD b/extra/crypto++/PKGBUILD index c1869b9de..8cebe45ec 100644 --- a/extra/crypto++/PKGBUILD +++ b/extra/crypto++/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 143721 2011-11-28 17:06:53Z giovanni $ +# $Id: PKGBUILD 155988 2012-04-10 20:46:54Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Alexander Rødseth # Contributor: Andrea Scarpino @@ -8,7 +8,7 @@ pkgname=crypto++ pkgver=5.6.1 _srcver=561 -pkgrel=3 +pkgrel=4 pkgdesc="A free C++ class library of cryptographic schemes" arch=('i686' 'x86_64') url="http://www.cryptopp.com/" @@ -16,13 +16,18 @@ license=('custom') depends=('gcc-libs') makedepends=('unzip') source=("http://www.cryptopp.com/cryptopp${_srcver}.zip" - 'libcrypto++.pc') + 'libcrypto++.pc' + 'gcc4.7.patch') md5sums=('96cbeba0907562b077e26bcffb483828' - '2337c6edbc552d9142cae8e0854715e7') + '2337c6edbc552d9142cae8e0854715e7' + 'cf26a783d9432e7f9ab7f14d3db3f196') build() { cd ${srcdir} + # Fix gcc 4.7 build + patch -Np1 -i "${srcdir}/gcc4.7.patch" + sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC" make -f GNUmakefile diff --git a/extra/crypto++/gcc4.7.patch b/extra/crypto++/gcc4.7.patch new file mode 100644 index 000000000..55d5a0a0a --- /dev/null +++ b/extra/crypto++/gcc4.7.patch @@ -0,0 +1,97 @@ +--- a/algebra.cpp 2010-08-06 18:44:32.000000000 +0200 ++++ b/algebra.cpp 2012-04-10 13:16:53.000000000 +0200 +@@ -58,7 +58,7 @@ + Element g[3]={b, a}; + unsigned int i0=0, i1=1, i2=2; + +- while (!Equal(g[i1], this->Identity())) ++ while (!this->Equal(g[i1], this->Identity())) + { + g[i2] = Mod(g[i0], g[i1]); + unsigned int t = i0; i0 = i1; i1 = i2; i2 = t; +--- a/eccrypto.cpp 2010-08-06 18:44:28.000000000 +0200 ++++ b/eccrypto.cpp 2012-04-10 13:19:36.000000000 +0200 +@@ -435,7 +435,7 @@ + StringSource ssG(param.g, true, new HexDecoder); + Element G; + bool result = GetCurve().DecodePoint(G, ssG, (size_t)ssG.MaxRetrievable()); +- SetSubgroupGenerator(G); ++ this->SetSubgroupGenerator(G); + assert(result); + + StringSource ssN(param.n, true, new HexDecoder); +@@ -591,7 +591,7 @@ + if (level >= 2 && pass) + { + const Integer &q = GetSubgroupOrder(); +- Element gq = gpc ? gpc->Exponentiate(this->GetGroupPrecomputation(), q) : ExponentiateElement(g, q); ++ Element gq = gpc ? gpc->Exponentiate(this->GetGroupPrecomputation(), q) : this->ExponentiateElement(g, q); + pass = pass && IsIdentity(gq); + } + return pass; +@@ -629,7 +629,7 @@ + typename EC::Point P; + if (!this->GetGroupParameters().GetCurve().DecodePoint(P, bt, size)) + BERDecodeError(); +- SetPublicElement(P); ++ this->SetPublicElement(P); + } + + template +--- a/eccrypto.h 2010-08-06 18:46:24.000000000 +0200 ++++ b/eccrypto.h 2012-04-10 13:23:09.000000000 +0200 +@@ -43,7 +43,7 @@ + void Initialize(const EllipticCurve &ec, const Point &G, const Integer &n, const Integer &k = Integer::Zero()) + { + this->m_groupPrecomputation.SetCurve(ec); +- SetSubgroupGenerator(G); ++ this->SetSubgroupGenerator(G); + m_n = n; + m_k = k; + } +@@ -145,9 +145,9 @@ + typedef typename EC::Point Element; + + void Initialize(const DL_GroupParameters_EC ¶ms, const Element &Q) +- {this->AccessGroupParameters() = params; SetPublicElement(Q);} ++ {this->AccessGroupParameters() = params; this->SetPublicElement(Q);} + void Initialize(const EC &ec, const Element &G, const Integer &n, const Element &Q) +- {this->AccessGroupParameters().Initialize(ec, G, n); SetPublicElement(Q);} ++ {this->AccessGroupParameters().Initialize(ec, G, n); this->SetPublicElement(Q);} + + // X509PublicKey + void BERDecodePublicKey(BufferedTransformation &bt, bool parametersPresent, size_t size); +@@ -166,9 +166,9 @@ + void Initialize(const EC &ec, const Element &G, const Integer &n, const Integer &x) + {this->AccessGroupParameters().Initialize(ec, G, n); this->SetPrivateExponent(x);} + void Initialize(RandomNumberGenerator &rng, const DL_GroupParameters_EC ¶ms) +- {GenerateRandom(rng, params);} ++ {this->GenerateRandom(rng, params);} + void Initialize(RandomNumberGenerator &rng, const EC &ec, const Element &G, const Integer &n) +- {GenerateRandom(rng, DL_GroupParameters_EC(ec, G, n));} ++ {this->GenerateRandom(rng, DL_GroupParameters_EC(ec, G, n));} + + // PKCS8PrivateKey + void BERDecodePrivateKey(BufferedTransformation &bt, bool parametersPresent, size_t size); +--- a/secblock.h 2012-04-10 13:25:40.000000000 +0200 ++++ b/secblock.h 2012-04-10 13:25:52.000000000 +0200 +@@ -88,7 +88,7 @@ + + pointer allocate(size_type n, const void * = NULL) + { +- CheckSize(n); ++ this->CheckSize(n); + if (n == 0) + return NULL; + +--- a/panama.cpp 2010-08-09 14:22:42.000000000 +0200 ++++ b/panama.cpp 2012-04-10 13:50:12.000000000 +0200 +@@ -422,7 +422,7 @@ + { + this->ThrowIfInvalidTruncatedSize(size); + +- PadLastBlock(this->BLOCKSIZE, 0x01); ++ this->PadLastBlock(this->BLOCKSIZE, 0x01); + + HashEndianCorrectedBlock(this->m_data); + -- cgit v1.2.3-54-g00ecf