summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Góes <vanquirius@gentoo.org>2006-01-27 02:32:59 +0000
committerMarcelo Góes <vanquirius@gentoo.org>2006-01-27 02:32:59 +0000
commitae622f25d173358bbcbd7f02bd27f6617d815d63 (patch)
treea8996bc6222de49059ff8e1419b995a4cf205884 /dev-libs/crypto++
parentVersion bump. (diff)
downloadhistorical-ae622f25d173358bbcbd7f02bd27f6617d815d63.tar.gz
historical-ae622f25d173358bbcbd7f02bd27f6617d815d63.tar.bz2
historical-ae622f25d173358bbcbd7f02bd27f6617d815d63.zip
Add a ported version of Ubuntu's gcc4 patch for bug 117547.
Package-Manager: portage-2.0.54
Diffstat (limited to 'dev-libs/crypto++')
-rw-r--r--dev-libs/crypto++/ChangeLog8
-rw-r--r--dev-libs/crypto++/Manifest5
-rw-r--r--dev-libs/crypto++/crypto++-5.2.1.ebuild12
-rw-r--r--dev-libs/crypto++/files/crypto++-5.2.1-ubuntu-gcc4.patch149
4 files changed, 167 insertions, 7 deletions
diff --git a/dev-libs/crypto++/ChangeLog b/dev-libs/crypto++/ChangeLog
index a542d252d415..e4fdbc6f5bc0 100644
--- a/dev-libs/crypto++/ChangeLog
+++ b/dev-libs/crypto++/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-libs/crypto++
-# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/ChangeLog,v 1.16 2005/11/12 22:23:33 weeve Exp $
+# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/ChangeLog,v 1.17 2006/01/27 02:32:58 vanquirius Exp $
+
+ 27 Jan 2006; Marcelo Goes <vanquirius@gentoo.org>
+ +files/crypto++-5.2.1-ubuntu-gcc4.patch, crypto++-5.2.1.ebuild:
+ Add a ported version of Ubuntu's gcc4 patch for bug 117547.
12 Nov 2005; Jason Wever <weeve@gentoo.org> crypto++-5.2.1.ebuild:
Added ~sparc keyword wrt bug #112330.
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
index ceb7e1219315..4bf8a9b5c6c7 100644
--- a/dev-libs/crypto++/Manifest
+++ b/dev-libs/crypto++/Manifest
@@ -1,7 +1,8 @@
-MD5 e98352d4d8478079e8d91d7286f93dcb ChangeLog 2904
+MD5 1b98698f77ab388fca1b49ec1ebb75ec ChangeLog 3090
MD5 261678f19d5a8837d91c6f15681191fc crypto++-5.2-r1.ebuild 1284
-MD5 03fbb9409ac44e7feb74e7c62604ba1e crypto++-5.2.1.ebuild 1467
+MD5 48f5e86e326a2886e611e4a39f75b5bb crypto++-5.2.1.ebuild 1579
MD5 04a9a9a0aab549dfb7ec96bfe3b82cd6 files/crypto++-5.1-amd64.diff 3070
+MD5 56b38480a2872145c8a47805734eb116 files/crypto++-5.2.1-ubuntu-gcc4.patch 7758
MD5 cf9187d21296c23c480b1086284f5093 files/digest-crypto++-5.2-r1 58
MD5 39a40ab01dfb17bb27e3f00bb247ab69 files/digest-crypto++-5.2.1 61
MD5 41bb16591c5d6df1b1ac6da78a6062e8 metadata.xml 224
diff --git a/dev-libs/crypto++/crypto++-5.2.1.ebuild b/dev-libs/crypto++/crypto++-5.2.1.ebuild
index f15cbb3f1222..d170f7596271 100644
--- a/dev-libs/crypto++/crypto++-5.2.1.ebuild
+++ b/dev-libs/crypto++/crypto++-5.2.1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2005 Gentoo Foundation
+# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.2.1.ebuild,v 1.9 2005/11/12 22:23:33 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.2.1.ebuild,v 1.10 2006/01/27 02:32:58 vanquirius Exp $
inherit flag-o-matic eutils
@@ -15,7 +15,13 @@ DEPEND="app-arch/unzip"
RDEPEND=""
IUSE=""
-S=${WORKDIR}
+S="${WORKDIR}"
+
+src_unpack() {
+ unpack ${A}
+ # bug 117547 - gcc4
+ epatch "${FILESDIR}"/${PN}-5.2.1-ubuntu-gcc4.patch
+}
src_compile() {
# -O3 causes segfaults
diff --git a/dev-libs/crypto++/files/crypto++-5.2.1-ubuntu-gcc4.patch b/dev-libs/crypto++/files/crypto++-5.2.1-ubuntu-gcc4.patch
new file mode 100644
index 000000000000..2d71d3f919be
--- /dev/null
+++ b/dev-libs/crypto++/files/crypto++-5.2.1-ubuntu-gcc4.patch
@@ -0,0 +1,149 @@
+diff --exclude='*~' -Naur crypto.orig/dll.cpp crypto/dll.cpp
+--- crypto.orig/dll.cpp 2006-01-26 23:18:02.000000000 -0200
++++ crypto/dll.cpp 2006-01-27 00:25:42.000000000 -0200
+@@ -1,6 +1,10 @@
+ // dll.cpp - written and placed in the public domain by Wei Dai
+
+-#define CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES
++#if defined( __GNUC__ ) && __GNUC__ > 3
++# undef CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES
++#else
++# define CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES
++#endif
+ #define CRYPTOPP_DEFAULT_NO_DLL
+
+ #include "dll.h"
+@@ -36,6 +40,79 @@
+ CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, CTR_ModePolicy> >;
+ CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain<Integer>;
+ #endif
++
++#if defined(__GNUC__) && __GNUC__ > 3
++template class CRYPTOPP_DLL AbstractEuclideanDomain<Integer>;
++template class CRYPTOPP_DLL AbstractEuclideanDomain<PolynomialMod2>;
++template class CRYPTOPP_DLL AbstractGroup<Integer>;
++template class CRYPTOPP_DLL AbstractGroup<EC2NPoint>;
++template class CRYPTOPP_DLL AbstractGroup<ECPPoint>;
++template class CRYPTOPP_DLL AbstractGroup<PolynomialMod2>;
++template class CRYPTOPP_DLL AbstractPolicyHolder<AdditiveCipherAbstractPolicy, TwoBases<SimpleKeyedTransformation<StreamTransformation>, RandomNumberGenerator> >;
++template class CRYPTOPP_DLL AbstractRing<Integer>;
++template class CRYPTOPP_DLL AbstractRing<PolynomialMod2>;
++template class CRYPTOPP_DLL AdditiveCipherTemplate<>;
++template class CRYPTOPP_DLL AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, CTR_ModePolicy> >;
++template class CRYPTOPP_DLL AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, OFB_ModePolicy> >;
++template class CRYPTOPP_DLL AllocatorWithCleanup<byte>;
++template class CRYPTOPP_DLL AllocatorWithCleanup<word16>;
++template class CRYPTOPP_DLL AllocatorWithCleanup<word32>;
++template class CRYPTOPP_DLL AutoSeededX917RNG<DES_EDE3>;
++template class CRYPTOPP_DLL CFB_CipherTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> >;
++template class CRYPTOPP_DLL CFB_CipherTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, SymmetricCipher> >;
++template class CRYPTOPP_DLL CFB_DecryptionTemplate<>;
++template class CRYPTOPP_DLL CFB_DecryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> >;
++template class CRYPTOPP_DLL CFB_EncryptionTemplate<>;
++template class CRYPTOPP_DLL CFB_EncryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> >;
++template class CRYPTOPP_DLL CipherModeFinalTemplate_ExternalCipher<CBC_CTS_Decryption>;
++template class CRYPTOPP_DLL CipherModeFinalTemplate_ExternalCipher<CBC_CTS_Encryption>;
++template class CRYPTOPP_DLL CipherModeFinalTemplate_ExternalCipher<CBC_Decryption>;
++template class CRYPTOPP_DLL CipherModeFinalTemplate_ExternalCipher<CBC_Encryption>;
++template class CRYPTOPP_DLL CipherModeFinalTemplate_ExternalCipher<ECB_OneWay>;
++template class CRYPTOPP_DLL DH_Domain<DL_GroupParameters_GFP_DefaultSafePrime>;
++template class CRYPTOPP_DLL DL_Algorithm_GDSA<EC2N::Point>;
++template class CRYPTOPP_DLL DL_Algorithm_GDSA<ECP::Point>;
++template class CRYPTOPP_DLL DL_Algorithm_GDSA<Integer>;
++template class CRYPTOPP_DLL DL_FixedBasePrecomputationImpl<EC2N::Point>;
++template class CRYPTOPP_DLL DL_FixedBasePrecomputationImpl<ECPPoint>;
++template class CRYPTOPP_DLL DL_FixedBasePrecomputationImpl<Integer>;
++template class CRYPTOPP_DLL DL_GroupParameters<Integer>;
++template class CRYPTOPP_DLL DL_GroupParameters_EC<EC2N>;
++template class CRYPTOPP_DLL DL_GroupParameters_EC<ECP>;
++template class CRYPTOPP_DLL DL_GroupParameters_IntegerBasedImpl<ModExpPrecomputation>;
++template class CRYPTOPP_DLL DL_GroupPrecomputation<EC2N::Point>;
++template class CRYPTOPP_DLL DL_GroupPrecomputation<ECPPoint>;
++template class CRYPTOPP_DLL DL_PrivateKeyImpl<DL_GroupParameters_EC<EC2N> >;
++template class CRYPTOPP_DLL DL_PrivateKeyImpl<DL_GroupParameters_EC<ECP> >;
++template class CRYPTOPP_DLL DL_PrivateKey_EC<EC2N>;
++template class CRYPTOPP_DLL DL_PrivateKey_EC<ECP>;
++template class CRYPTOPP_DLL DL_PrivateKey_GFP<DL_GroupParameters_DSA>;
++template class CRYPTOPP_DLL DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_EC<EC2N>, ECDSA<EC2N> >;
++template class CRYPTOPP_DLL DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_EC<ECP>, ECDSA<ECP> >;
++template class CRYPTOPP_DLL DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_GFP<DL_GroupParameters_DSA>, DSA>;
++template class CRYPTOPP_DLL DL_PublicKeyImpl<DL_GroupParameters_EC<EC2N> >;
++template class CRYPTOPP_DLL DL_PublicKeyImpl<DL_GroupParameters_EC<ECP> >;
++template class CRYPTOPP_DLL DL_PublicKey_EC<EC2N>;
++template class CRYPTOPP_DLL DL_PublicKey_EC<ECP>;
++template class CRYPTOPP_DLL DL_PublicKey_GFP<DL_GroupParameters_DSA>;
++template class CRYPTOPP_DLL EuclideanDomainOf<PolynomialMod2>;
++template class CRYPTOPP_DLL IteratedHashBase<word32, HashTransformation>;
++template class CRYPTOPP_DLL IteratedHashBase<word32, MessageAuthenticationCode>;
++#ifdef WORD64_AVAILABLE
++template class CRYPTOPP_DLL IteratedHashBase<word64, HashTransformation>;
++template class CRYPTOPP_DLL IteratedHashBase<word64, MessageAuthenticationCode>;
++#endif
++template class CRYPTOPP_DLL OAEP<SHA>;
++#ifdef CRYPTOPP_IS_DLL
++template class CRYPTOPP_DLL PKCS_DigestDecoration<SHA>;
++#endif
++template class CRYPTOPP_DLL QuotientRing<EuclideanDomainOf<PolynomialMod2> >;
++template class CRYPTOPP_DLL SimpleKeyedTransformation<BlockTransformation>;
++template class CRYPTOPP_DLL SimpleKeyedTransformation<HashTransformation>;
++template class CRYPTOPP_DLL SimpleKeyedTransformation<StreamTransformation>;
++template class CRYPTOPP_DLL StringSinkTemplate<std::string>;
++template class CRYPTOPP_DLL TwoBases<SymmetricCipher, RandomNumberGenerator>;
++#endif // __GNUC__ > 3
+
+ template<> const byte PKCS_DigestDecoration<SHA>::decoration[] = {0x30,0x21,0x30,0x09,0x06,0x05,0x2B,0x0E,0x03,0x02,0x1A,0x05,0x00,0x04,0x14};
+ template<> const unsigned int PKCS_DigestDecoration<SHA>::length = sizeof(PKCS_DigestDecoration<SHA>::decoration);
+diff --exclude='*~' -Naur crypto.orig/iterhash.h crypto/iterhash.h
+--- crypto.orig/iterhash.h 2006-01-26 23:18:02.000000000 -0200
++++ crypto/iterhash.h 2006-01-26 23:21:04.000000000 -0200
+@@ -88,7 +88,7 @@
+ : public ClonableImpl<T_Transform, AlgorithmImpl<IteratedHash<T_HashWordType, T_Endianness, T_BlockSize>, T_Transform> >
+ {
+ public:
+- enum {DIGESTSIZE = T_DigestSize};
++ enum GCC4FIX2 {DIGESTSIZE = T_DigestSize};
+ unsigned int DigestSize() const {return DIGESTSIZE;};
+
+ protected:
+diff --exclude='*~' -Naur crypto.orig/lubyrack.h crypto/lubyrack.h
+--- crypto.orig/lubyrack.h 2006-01-26 23:18:02.000000000 -0200
++++ crypto/lubyrack.h 2006-01-26 23:21:39.000000000 -0200
+@@ -38,7 +38,7 @@
+ }
+
+ protected:
+- enum {S=T::DIGESTSIZE};
++ enum GCC4FIX4 {S=T::DIGESTSIZE};
+ unsigned int L; // key length / 2
+ SecByteBlock key;
+
+diff --exclude='*~' -Naur crypto.orig/seckey.h crypto/seckey.h
+--- crypto.orig/seckey.h 2006-01-26 23:18:02.000000000 -0200
++++ crypto/seckey.h 2006-01-26 23:22:33.000000000 -0200
+@@ -21,7 +21,7 @@
+ class FixedBlockSize
+ {
+ public:
+- enum {BLOCKSIZE = N};
++ enum GCC4FIX0 {BLOCKSIZE = N};
+ };
+
+ // ************** rounds ***************
+@@ -31,7 +31,7 @@
+ class FixedRounds
+ {
+ public:
+- enum {ROUNDS = R};
++ enum GCC4FIX1 {ROUNDS = R};
+
+ protected:
+ template <class T>
+@@ -50,7 +50,7 @@
+ class VariableRounds
+ {
+ public:
+- enum {DEFAULT_ROUNDS = D, MIN_ROUNDS = N, MAX_ROUNDS = M};
++ enum GCC4FIX3 {DEFAULT_ROUNDS = D, MIN_ROUNDS = N, MAX_ROUNDS = M};
+ static unsigned int StaticGetDefaultRounds(unsigned int keylength) {return DEFAULT_ROUNDS;}
+
+ protected: