summaryrefslogtreecommitdiff
path: root/extra/crypto++
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-13 11:58:27 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-13 11:58:27 -0300
commit8e5c27c1b5d01d353df2542166d50f9f456b2597 (patch)
tree227eed66652cffc0e872b75e7fe601cb23214cdb /extra/crypto++
parent394988e4c3a3ab21e5d79481ac3f3295045af987 (diff)
parent7ff5465d0386f06bea97ef956397c305d6f7e07f (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/smalltalk/PKGBUILD extra/crypto++/PKGBUILD extra/libpciaccess/PKGBUILD extra/postfix/PKGBUILD extra/samba/PKGBUILD extra/xorg-server/PKGBUILD libre/gstreamer0.10-bad-libre/PKGBUILD multilib/gcc-multilib/PKGBUILD multilib/lib32-libpciaccess/PKGBUILD
Diffstat (limited to 'extra/crypto++')
-rw-r--r--extra/crypto++/PKGBUILD21
-rw-r--r--extra/crypto++/gcc4.7.patch97
2 files changed, 112 insertions, 6 deletions
diff --git a/extra/crypto++/PKGBUILD b/extra/crypto++/PKGBUILD
index c18fe9cde..198137f1f 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 <giovanni@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
@@ -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' 'mips64el')
url="http://www.cryptopp.com/"
@@ -17,16 +17,25 @@ depends=('gcc-libs')
makedepends=('unzip')
source=("http://www.cryptopp.com/cryptopp${_srcver}.zip"
'libcrypto++.pc'
- 'GNUmakefile.parabola')
+ 'GNUmakefile.parabola'
+ 'gcc4.7.patch')
md5sums=('96cbeba0907562b077e26bcffb483828'
'2337c6edbc552d9142cae8e0854715e7'
- 'c95b2134a8c0a35b173ede32001870d2')
+ 'c95b2134a8c0a35b173ede32001870d2'
+ 'cf26a783d9432e7f9ab7f14d3db3f196')
build() {
cd ${srcdir}
- cp "${srcdir}/GNUmakefile.parabola" GNUmakefile
- make -f GNUmakefile
+# cp "${srcdir}/GNUmakefile.parabola" GNUmakefile
+# make -f GNUmakefile
+
+ # 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
make libcryptopp.so
}
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 <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);
+