aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/cryptopp/cryptopp-5.6.1-gcc-4.7.0.patch97
-rw-r--r--libraries/cryptopp/cryptopp.SlackBuild6
2 files changed, 102 insertions, 1 deletions
diff --git a/libraries/cryptopp/cryptopp-5.6.1-gcc-4.7.0.patch b/libraries/cryptopp/cryptopp-5.6.1-gcc-4.7.0.patch
new file mode 100644
index 0000000000000..968dda1854412
--- /dev/null
+++ b/libraries/cryptopp/cryptopp-5.6.1-gcc-4.7.0.patch
@@ -0,0 +1,97 @@
+--- cryptopp/algebra.cpp 2010-08-06 18:44:32.000000000 +0300
++++ cryptopp/algebra.cpp 2012-01-05 03:32:21.337004210 +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;
+--- cryptopp/eccrypto.cpp 2010-08-06 18:44:28.000000000 +0300
++++ cryptopp/eccrypto.cpp 2012-01-05 04:04:08.055499801 +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>
+--- cryptopp/eccrypto.h 2010-08-06 18:46:24.000000000 +0300
++++ cryptopp/eccrypto.h 2012-01-05 04:04:54.672022639 +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);
+--- cryptopp/panama.cpp 2010-08-09 14:22:42.000000000 +0300
++++ cryptopp/panama.cpp 2012-01-05 04:10:36.356525599 +0200
+@@ -422,7 +422,7 @@
+ {
+ this->ThrowIfInvalidTruncatedSize(size);
+
+- PadLastBlock(this->BLOCKSIZE, 0x01);
++ this->PadLastBlock(this->BLOCKSIZE, 0x01);
+
+ HashEndianCorrectedBlock(this->m_data);
+
+--- cryptopp/secblock.h 2012-01-03 23:15:48.287022036 +0200
++++ cryptopp/secblock.h 2012-01-05 03:22:06.097299323 +0200
+@@ -89,7 +89,7 @@
+
+ pointer allocate(size_type n, const void * = NULL)
+ {
+- CheckSize(n);
++ this->CheckSize(n);
+ if (n == 0)
+ return NULL;
+
diff --git a/libraries/cryptopp/cryptopp.SlackBuild b/libraries/cryptopp/cryptopp.SlackBuild
index 88572443eff80..dbf713911711b 100644
--- a/libraries/cryptopp/cryptopp.SlackBuild
+++ b/libraries/cryptopp/cryptopp.SlackBuild
@@ -11,7 +11,7 @@
PRGNAM=cryptopp
VERSION=${VERSION:-5.6.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
# Automatically determine the architecture we're building on:
@@ -64,6 +64,10 @@ sed -i "s%(PREFIX)/lib%(PREFIX)/lib${LIBDIRSUFFIX}%g" GNUmakefile
# Fix Makefile to remove copying of non-existent *.so (else make install will fail)
sed -i "/*.so/d" GNUmakefile
+# Fix gcc-4.7.x builds
+# https://lists.fedoraproject.org/pipermail/devel/2011-December/160723.html
+patch -p1 < $CWD/cryptopp-5.6.1-gcc-4.7.0.patch
+
make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS"
make install PREFIX=$PKG/usr