diff options
author | Marcelo Góes <vanquirius@gentoo.org> | 2006-01-27 02:32:59 +0000 |
---|---|---|
committer | Marcelo Góes <vanquirius@gentoo.org> | 2006-01-27 02:32:59 +0000 |
commit | ae622f25d173358bbcbd7f02bd27f6617d815d63 (patch) | |
tree | a8996bc6222de49059ff8e1419b995a4cf205884 /dev-libs/crypto++ | |
parent | Version bump. (diff) | |
download | historical-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++/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/crypto++/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.2.1.ebuild | 12 | ||||
-rw-r--r-- | dev-libs/crypto++/files/crypto++-5.2.1-ubuntu-gcc4.patch | 149 |
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:
|