diff options
-rw-r--r-- | libraries/cryptopp/cryptopp-5.6.1-gcc-4.7.0.patch | 97 | ||||
-rw-r--r-- | libraries/cryptopp/cryptopp.SlackBuild | 6 |
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> ¶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<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>(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 |