Date: Tuesday, April 10, 2012 @ 16:46:26
  Author: giovanni
Revision: 155987

upgpkg: crypto++ 5.6.1-4

Fixed FS29365 - fixed compile failure against gcc-4.7.0

Added:
  crypto++/trunk/gcc4.7.patch
Modified:
  crypto++/trunk/PKGBUILD

--------------+
 PKGBUILD     |   11 ++++--
 gcc4.7.patch |   97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2012-04-10 19:56:22 UTC (rev 155986)
+++ PKGBUILD    2012-04-10 20:46:26 UTC (rev 155987)
@@ -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 @@
 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  

Added: gcc4.7.patch
===================================================================
--- gcc4.7.patch                                (rev 0)
+++ gcc4.7.patch        2012-04-10 20:46:26 UTC (rev 155987)
@@ -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 <class EC>
+--- 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<EC> &params, 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<EC> &params)
+-              {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>(ec, G, n));}
++              {this->GenerateRandom(rng, DL_GroupParameters_EC<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);
+ 

Reply via email to