summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-06-26 14:49:44 +0000
committerMike Frysinger <vapier@gentoo.org>2012-06-26 14:49:44 +0000
commita156d6d3c11c98fed86f4a38c3d25d028f7093c9 (patch)
tree242996fae5ec98cea65c8128925fa8bca28a5912 /dev-libs/crypto++
parenthttp://my.opera.com/desktopteam/blog/2012/06/26/html5-dnd-fixes-for-12-01 (diff)
downloadgentoo-2-a156d6d3c11c98fed86f4a38c3d25d028f7093c9.tar.gz
gentoo-2-a156d6d3c11c98fed86f4a38c3d25d028f7093c9.tar.bz2
gentoo-2-a156d6d3c11c98fed86f4a38c3d25d028f7093c9.zip
Add fix from upstream tracker for building with gcc-4.7 #403197 by Kacper Kowalik.
(Portage version: 2.2.0_alpha112/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/crypto++')
-rw-r--r--dev-libs/crypto++/ChangeLog8
-rw-r--r--dev-libs/crypto++/crypto++-5.6.1-r3.ebuild8
-rw-r--r--dev-libs/crypto++/files/crypto++-5.6.1-gcc-4.7.patch120
3 files changed, 131 insertions, 5 deletions
diff --git a/dev-libs/crypto++/ChangeLog b/dev-libs/crypto++/ChangeLog
index da07578d548e..c9fd3c1e1035 100644
--- a/dev-libs/crypto++/ChangeLog
+++ b/dev-libs/crypto++/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-libs/crypto++
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/ChangeLog,v 1.74 2012/01/30 16:06:14 c1pher Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/ChangeLog,v 1.75 2012/06/26 14:49:44 vapier Exp $
+
+ 26 Jun 2012; Mike Frysinger <vapier@gentoo.org>
+ +files/crypto++-5.6.1-gcc-4.7.patch, crypto++-5.6.1-r3.ebuild:
+ Add fix from upstream tracker for building with gcc-4.7 #403197 by Kacper
+ Kowalik.
*crypto++-5.6.1-r3 (30 Jan 2012)
@@ -307,4 +312,3 @@
24 Nov 2003; Ryan Phillips <rphillips@gentoo.org> crypto++-5.1.ebuild:
Initial Import. Thanks to Marc Bevand. Fixes #33685
-
diff --git a/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild b/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild
index 5583bfd88b3e..38f93ef571d6 100644
--- a/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild
+++ b/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild,v 1.1 2012/01/30 16:06:14 c1pher Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.6.1-r3.ebuild,v 1.2 2012/06/26 14:49:44 vapier Exp $
EAPI="3"
@@ -21,8 +21,10 @@ RDEPEND=""
S="${WORKDIR}"
src_prepare() {
- epatch "${FILESDIR}/${PF}-fix_build_system.patch" \
- "${FILESDIR}/${P}-rijndael.patch"
+ epatch \
+ "${FILESDIR}"/${PF}-fix_build_system.patch \
+ "${FILESDIR}"/${P}-rijndael.patch \
+ "${FILESDIR}"/${P}-gcc-4.7.patch
}
src_compile() {
diff --git a/dev-libs/crypto++/files/crypto++-5.6.1-gcc-4.7.patch b/dev-libs/crypto++/files/crypto++-5.6.1-gcc-4.7.patch
new file mode 100644
index 000000000000..cd6147aebf20
--- /dev/null
+++ b/dev-libs/crypto++/files/crypto++-5.6.1-gcc-4.7.patch
@@ -0,0 +1,120 @@
+https://bugs.gentoo.org/403197
+http://sourceforge.net/apps/trac/cryptopp/ticket/14
+http://sourceforge.net/apps/trac/cryptopp/attachment/ticket/14/gcc4.7.diff
+
+diff --git a/algebra.cpp b/algebra.cpp
+index 78c3947..d4bfc57 100644
+--- a/algebra.cpp
++++ b/algebra.cpp
+@@ -58,7 +58,7 @@ template <class T> const T& AbstractEuclideanDomain<T>::Gcd(const Element &a, co
+ 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;
+@@ -74,7 +74,7 @@ template <class T> const typename QuotientRing<T>::Element& QuotientRing<T>::Mul
+ Element y;
+ unsigned int i0=0, i1=1, i2=2;
+
+- while (!Equal(g[i1], Identity()))
++ while (!this->Equal(g[i1], Identity()))
+ {
+ // y = g[i0] / g[i1];
+ // g[i2] = g[i0] % g[i1];
+diff --git a/eccrypto.cpp b/eccrypto.cpp
+index fd8462f..922104c 100644
+--- a/eccrypto.cpp
++++ b/eccrypto.cpp
+@@ -435,7 +435,7 @@ template <class EC> void DL_GroupParameters_EC<EC>::Initialize(const OID &oid)
+ 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 @@ bool DL_GroupParameters_EC<EC>::ValidateElement(unsigned int level, const Elemen
+ 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 @@ void DL_PublicKey_EC<EC>::BERDecodePublicKey(BufferedTransformation &bt, bool pa
+ typename EC::Point P;
+ if (!this->GetGroupParameters().GetCurve().DecodePoint(P, bt, size))
+ BERDecodeError();
+- SetPublicElement(P);
++ this->SetPublicElement(P);
+ }
+
+ template <class EC>
+diff --git a/eccrypto.h b/eccrypto.h
+index b359e03..3530455 100644
+--- a/eccrypto.h
++++ b/eccrypto.h
+@@ -43,7 +43,7 @@ public:
+ 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 @@ public:
+ 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 @@ public:
+ 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);
+diff --git a/panama.cpp b/panama.cpp
+index 09b1708..a1a37d6 100644
+--- a/panama.cpp
++++ b/panama.cpp
+@@ -422,7 +422,7 @@ void PanamaHash<B>::TruncatedFinal(byte *hash, size_t size)
+ {
+ this->ThrowIfInvalidTruncatedSize(size);
+
+- PadLastBlock(this->BLOCKSIZE, 0x01);
++ this->PadLastBlock(this->BLOCKSIZE, 0x01);
+
+ HashEndianCorrectedBlock(this->m_data);
+
+diff --git a/secblock.h b/secblock.h
+index 24b9fc0..40cce33 100644
+--- a/secblock.h
++++ b/secblock.h
+@@ -88,7 +88,7 @@ public:
+
+ pointer allocate(size_type n, const void * = NULL)
+ {
+- CheckSize(n);
++ this->CheckSize(n);
+ if (n == 0)
+ return NULL;
+