diff options
author | Dane Smith <smitdane@gmail.com> | 2011-01-07 21:43:28 -0500 |
---|---|---|
committer | Dane Smith <smitdane@gmail.com> | 2011-01-07 21:43:28 -0500 |
commit | f92a39434d29480f09c12c5fc1ba9ab41da051e8 (patch) | |
tree | 8f32b355622434db67f100082cbb4772c2ca8a00 | |
parent | xca test (diff) | |
download | c1pher-f92a39434d29480f09c12c5fc1ba9ab41da051e8.tar.gz c1pher-f92a39434d29480f09c12c5fc1ba9ab41da051e8.tar.bz2 c1pher-f92a39434d29480f09c12c5fc1ba9ab41da051e8.zip |
Crypto++ test bed
-rw-r--r-- | dev-libs/crypto++/ChangeLog | 245 | ||||
-rw-r--r-- | dev-libs/crypto++/Manifest | 12 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.5.2-r1.ebuild | 57 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.6.0-r1.ebuild | 52 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.6.0.ebuild | 56 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.6.1.ebuild | 55 | ||||
-rw-r--r-- | dev-libs/crypto++/files/crypto++-5.6.0-fix_build_system.patch | 120 | ||||
-rw-r--r-- | dev-libs/crypto++/files/crypto++-5.6.1-fix_build_system.patch | 124 | ||||
-rw-r--r-- | dev-libs/crypto++/files/crypto++-5.6.1-sunos.patch | 19 | ||||
-rw-r--r-- | dev-libs/crypto++/metadata.xml | 8 |
10 files changed, 748 insertions, 0 deletions
diff --git a/dev-libs/crypto++/ChangeLog b/dev-libs/crypto++/ChangeLog new file mode 100644 index 0000000..6702f67 --- /dev/null +++ b/dev-libs/crypto++/ChangeLog @@ -0,0 +1,245 @@ +# ChangeLog for dev-libs/crypto++ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/ChangeLog,v 1.63 2010/12/27 21:41:36 ranger Exp $ + + 27 Dec 2010; Brent Baude <ranger@gentoo.org> crypto++-5.6.1.ebuild: + stable ppc64, bug 343373 + + 04 Nov 2010; Jeroen Roovers <jer@gentoo.org> crypto++-5.6.1.ebuild: + Stable for HPPA (bug #343373). + + 04 Nov 2010; Jeroen Roovers <jer@gentoo.org> crypto++-5.6.1.ebuild, + +files/crypto++-5.6.1-sunos.patch: + Fix building on HPPA (bug #343909). Wrap long lines. Replace spaces with + tabs. + + 04 Nov 2010; Markus Meier <maekke@gentoo.org> crypto++-5.6.1.ebuild: + x86 stable, bug #343373 + +*crypto++-5.6.1 (27 Sep 2010) + + 27 Sep 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + +crypto++-5.6.1.ebuild, +files/crypto++-5.6.1-fix_build_system.patch: + Version bump. + + 25 Apr 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + crypto++-5.6.0-r1.ebuild: + Delete "sse3" USE flag (bug #310791). + + 13 Mar 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + crypto++-5.6.0-r1.ebuild: + Fix tests (bug #308335). + + 07 Mar 2010; Raúl Porcel <armin76@gentoo.org> crypto++-5.6.0-r1.ebuild: + alpha/sparc stable wrt #300763 + + 07 Feb 2010; Markus Meier <maekke@gentoo.org> crypto++-5.6.0-r1.ebuild: + amd64/x86 stable, bug #300763 + + 19 Jan 2010; nixnut <nixnut@gentoo.org> crypto++-5.6.0-r1.ebuild: + ppc stable #300763 + + 14 Jan 2010; Jeroen Roovers <jer@gentoo.org> crypto++-5.6.0-r1.ebuild: + Stable for HPPA (bug #300763). + + 13 Jan 2010; Brent Baude <ranger@gentoo.org> crypto++-5.6.0-r1.ebuild: + stable ppc64, bug 300763 + +*crypto++-5.6.0-r1 (24 Jul 2009) + + 24 Jul 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + +crypto++-5.6.0-r1.ebuild, +files/crypto++-5.6.0-fix_build_system.patch: + Build shared library. + + 07 Jul 2009; Gordon Malm <gengor@gentoo.org> metadata.xml: + Minor grammar/spelling fixes. + +*crypto++-5.6.0 (27 Jun 2009) + + 27 Jun 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + +crypto++-5.6.0.ebuild: + Version bump. + + 30 Aug 2008; Daniel Black <dragonheart@gentoo.org> metadata.xml, + crypto++-5.5.2-r1.ebuild: + change sse2 use flag to sse3 as thats what it really is - bug #235665 thanks + to Radek + +*crypto++-5.5.2-r1 (13 Aug 2008) + + 13 Aug 2008; Raúl Porcel <armin76@gentoo.org> -crypto++-5.5.2.ebuild, + +crypto++-5.5.2-r1.ebuild: + Revbump so ppl get the -O1 limit + + 05 Aug 2008; Raúl Porcel <armin76@gentoo.org> crypto++-5.5.2.ebuild: + Make it compile with -O1, since -O2 gives issues, bug #220102 + + 24 Apr 2008; Alon Bar-Lev <alonbl@gentoo.org> crypto++-5.5.2.ebuild: + Add sse2 USE flag, bug#217907 + + 25 Mar 2008; Jeroen Roovers <jer@gentoo.org> crypto++-5.5.2.ebuild: + Stable for HPPA (bug #213487). + + 20 Mar 2008; Raúl Porcel <armin76@gentoo.org> crypto++-5.5.2.ebuild: + alpha stable + + 29 Jan 2008; Jeroen Roovers <jer@gentoo.org> crypto++-5.5.2.ebuild: + Marked ~hppa (bug #207614). + + 26 Jan 2008; Raúl Porcel <armin76@gentoo.org> crypto++-5.5.2.ebuild: + Add ~alpha + + 02 Jan 2008; Alon Bar-Lev <alonbl@gentoo.org> + -files/crypto++-5.1-amd64.diff, -files/crypto++-5.2.1-ubuntu-gcc4.patch, + -crypto++-5.2.1.ebuild, -crypto++-5.4.ebuild, -crypto++-5.4-r1.ebuild, + -crypto++-5.5.1.ebuild: + Cleanup + + 02 Jan 2008; Christoph Mende <angelos@gentoo.org> crypto++-5.5.2.ebuild: + Stable on amd64 wrt bug #198687 + + 31 Dec 2007; Raúl Porcel <armin76@gentoo.org> crypto++-5.5.2.ebuild: + sparc stable wrt #198687 + + 30 Dec 2007; Markus Meier <maekke@gentoo.org> crypto++-5.5.2.ebuild: + x86 stable, bug #198687 + + 29 Dec 2007; Brent Baude <ranger@gentoo.org> crypto++-5.5.2.ebuild: + Marking crypto++-5.5.2 ppc64 for bug 198687 + + 29 Dec 2007; Brent Baude <ranger@gentoo.org> crypto++-5.5.2.ebuild: + Marking crypto++-5.5.2 ppc for bug 198687 + +*crypto++-5.5.2 (10 Nov 2007) + + 10 Nov 2007; Alon Bar-Lev <alonbl@gentoo.org> +crypto++-5.5.2.ebuild: + Version bump + + 25 Aug 2007; Steve Dibb <beandog@gentoo.org> crypto++-5.4-r1.ebuild: + amd64 stable + + 13 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org> + crypto++-5.4-r1.ebuild: + ppc. stable + +*crypto++-5.5.1 (02 Aug 2007) + + 02 Aug 2007; Alon Bar-Lev <alonbl@gentoo.org> +crypto++-5.5.1.ebuild: + Version bump + + 21 Jul 2007; Tom Gall <tgall@gentoo.org> crypto++-5.4-r1.ebuild: + stable on ppc64 + + 25 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org> + crypto++-5.4-r1.ebuild: + Stable on sparc + + 24 Apr 2007; Raúl Porcel <armin76@gentoo.org> crypto++-5.4-r1.ebuild: + x86 stable + + 14 Feb 2007; Alon Bar-Lev <alonbl@gentoo.org> crypto++-5.4-r1.ebuild: + Removed sse2 disabling, closes bug#166842, thanks to Gustavo Zacarias + +*crypto++-5.4-r1 (03 Feb 2007) + + 03 Feb 2007; Alon Bar-Lev <alonbl@gentoo.org> +crypto++-5.4-r1.ebuild: + Fixed toolchain references, bug#164933, thanks for Wojciech Milkowski + reporting, jacub for reference + +*crypto++-5.4 (31 Jan 2007) + + 31 Jan 2007; Marcelo Goes <vanquirius@gentoo.org> -crypto++-5.2-r1.ebuild, + +crypto++-5.4.ebuild: + Remove old version, 5.4 version bump. + + 05 Aug 2006; Jason Wever <weeve@gentoo.org> crypto++-5.2.1.ebuild: + Stable on SPARC wrt bug #140718. + + 22 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org> + crypto++-5.2.1.ebuild: + ppc stable, bug #140718 + + 15 Jul 2006; Bryan Østergaard <kloeri@gentoo.org> metadata.xml: + Remove rphillips from metadata.xml as he's retired. + + 21 May 2006; Markus Rothe <corsair@gentoo.org> crypto++-5.2.1.ebuild: + Stable on ppc64 + + 16 Apr 2006; Mark Loeser <halcy0n@gentoo.org> + files/crypto++-5.2.1-ubuntu-gcc4.patch: + Update gcc4 patch to fix compilation with gcc-4.1 as well; bug #125679 + + 03 Feb 2006; Markus Rothe <corsair@gentoo.org> crypto++-5.2.1.ebuild: + Added ~ppc64 + + 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. + + 03 Sep 2005; Daniel Black <dragonheart@gentoo.org> crypto++-5.2.1.ebuild: + dropped -mno-sse2 on ppc - bug #104596. Thanks to Daniel Grob + + 17 Aug 2005; <rphillips@gentoo.org> crypto++-5.2.1.ebuild: + Make sure line endings on test vectors are unix + + 22 Apr 2005; Simon Stelling <blubb@gentoo.org> crypto++-5.2.1.ebuild: + stable on amd64 + + 17 Feb 2005; Robin H. Johnson <robbat2@gentoo.org> crypto++-5.2-r1.ebuild, + crypto++-5.2.1.ebuild: + Bug #69831: Ensure unzip is in DEPEND. + + 07 Dec 2004; Daniel Black <dragonheart@gentoo.org> -crypto++-5.1-r1.ebuild, + -crypto++-5.1.ebuild, crypto++-5.2-r1.ebuild, crypto++-5.2.1.ebuild, + -crypto++-5.2.ebuild: + Removed sse2 optimisations due to gcc problems. Bug #64646 and #63922 refer. + Cleaned out old versions. Thanks to Krzysiek Pawlik + <krzysiek.pawlik@people.pl> for the sse2 flag removal ebuild patch + + 04 Nov 2004; Daniel Black <dragonheart@gentoo.org> crypto++-5.1-r1.ebuild, + crypto++-5.1.ebuild, crypto++-5.2-r1.ebuild, crypto++-5.2.1.ebuild, + crypto++-5.2.ebuild: + added app-arch/zip dependancy as per bug #69831 + +*crypto++-5.2.1 (22 Sep 2004) + + 22 Sep 2004; Daniel Black <dragonheart@gentoo.org> metadata.xml, + +crypto++-5.2-r1.ebuild, +crypto++-5.2.1.ebuild: + version bump. modified filter -fomit-frame-pointer. Reintroduced amd64 keyword + as it has been fixed in 5.2+ according to their changelog. Changed maintaince + to crypto herd. All thanks to hoffmajs@gmx.de and others in bug #62376. + 5.2.1 has having some self test issues: i.e. CryptoPP::Exception caught: + Unexpected error during validation test + + 02 Aug 2004; Mike Frysinger <vapier@gentoo.org> crypto++-5.2.ebuild: + Use user specified CXXFLAGS #57846 by Aard Keimpema. + +*crypto++-5.2 (13 Jul 2004) + + 13 Jul 2004; <rphillips@gentoo.org> crypto++-5.2.ebuild: + version bump + + 01 May 2004; Aron Griffis <agriffis@gentoo.org> crypto++-5.1-r1.ebuild: + Add inherit eutils + + 30 Apr 2004; Ryan Phillips <rphillips@gentoo.org> crypto++-5.1-r1.ebuild, + files/crypto++-5.1-amd64.diff: + Added Thomas Weidner's patches for amd64, and gcc 3.4. Fixes #49034 and 49449 + + 29 Mar 2004; David Holm <dholm@gentoo.org> crypto++-5.1-r1.ebuild: + Added to ~ppc. + +*crypto++-5.1-r1 (28 Mar 2004) + + 28 Mar 2004; Ryan Phillips <rphillips@gentoo.org> crypto++-5.1-r1.ebuild: + Added fixes from Jernej Simoncic (bug #45821) to execute the crypto tests + after compilation and force cflags from -O3 to -O2 + +*crypto++-5.1 (24 Nov 2003) + + 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++/Manifest b/dev-libs/crypto++/Manifest new file mode 100644 index 0000000..7f87819 --- /dev/null +++ b/dev-libs/crypto++/Manifest @@ -0,0 +1,12 @@ +AUX crypto++-5.6.0-fix_build_system.patch 4916 RMD160 1d762f637f9dd5cad1ef0fa7edaad9b81f307a67 SHA1 c8968fe8d2dde15e515e43bdc0c78e9bf9720796 SHA256 facbc38cbd310058ed6d9a1d2cc868d00ec6f41b3840267ce701de14abfabe1c +AUX crypto++-5.6.1-fix_build_system.patch 5008 RMD160 df6813be73acddba7aac0e70abd2c9ff75c5a4de SHA1 c514f778c97cb739f9e3a02f2c44ef86dcafa992 SHA256 cc2c823046f38c154f7cc6899ff2cb94bb378bfbbb534662246d378e751f0480 +AUX crypto++-5.6.1-sunos.patch 546 RMD160 69e22a1db8f5fefae1660cf1adbb2cca6600b2d9 SHA1 c21120d904eab8ec3531ebbab68a9663355ac098 SHA256 fb0bc4e48dc55100dd0a454b86a98c949faa79d77967840a9afa0e0ac1ac531c +DIST cryptopp552.zip 992073 RMD160 8929795b654d7186b2b38714d22a57ea01862dbd SHA1 18efe451b3c682f40db75dc2b09cb448a835e7d6 SHA256 078f8deb033e2619582b4e9e462bbac5127b0defbcfea49c3583be31f940a759 +DIST cryptopp560.zip 1049029 RMD160 82e5061ec76f23643ba5477ab28bbee6eebd393a SHA1 b836783ebd72d5bc6a916620ab2b1ecec316fef1 SHA256 b522f0b5f850b50e9917823ea986f855295407380fafbe30f358875c41998bc5 +DIST cryptopp561.zip 1069703 RMD160 a8a5b80c995c5d4ddafba228caf8866425212fbf SHA1 31dbb456c21f50865218c57b7eaf4c955a222ba1 SHA256 98e74d8cb17a38033354519ac8ba9c5d98a6dc00bf5d1ec3c533c2e8ec86f268 +EBUILD crypto++-5.5.2-r1.ebuild 1568 RMD160 e8c94bb517f42784c92e241a47ddce9828152768 SHA1 dfa2265c005c51469e04561f283d55a65531b595 SHA256 4431dbe991dfb53a14b6085dc77edf0268342d87fc030017eb41ad44de231819 +EBUILD crypto++-5.6.0-r1.ebuild 1347 RMD160 b34913fa8cf868895fecffb9da7142b4b0d9d333 SHA1 8e98b5ab98bbb53ea98ba470139fcaa7623e6d53 SHA256 f1054688958d28edb69baebec97c8ba7403c46b2232619cc614dfa3abef2317d +EBUILD crypto++-5.6.0.ebuild 1555 RMD160 95ff21ab9fd6d96380c6e20f15f67790f65e97f4 SHA1 b4ee1ed1f4764301fa974cbf397488e958b065f6 SHA256 fb4a156e13b4226873dd73a141512f5c62e4d79a8bb4d1d0a0e65e88e8f14321 +EBUILD crypto++-5.6.1.ebuild 1389 RMD160 1530eefb9372362bf9892e0290cdb6a5d4ce1112 SHA1 c984c461dd7bff1824e400e4c87dadf2bc5402c4 SHA256 ea2d8aa96c179a14fa3efd97f3a2ad430003a7aa15e5399146bd6da8111218a5 +MISC ChangeLog 8653 RMD160 a3e30576f3750664f4b3ee60b5fd64e937e83e1b SHA1 8cd34de7c4772cfa871e241d171112057766ca9e SHA256 865d1f9b8d89a838401f2f6419f3846a95fb4123e2cca19b49220e8122b17dfe +MISC metadata.xml 251 RMD160 127ab6e8b8dd3f2a743bcd6bfea272c751b268ce SHA1 8d42822867803ce048112d88c0dd0ee9c81b6c2c SHA256 1015b452a49cd5d28354cfdaa180045d6b4c0b59dd7697f335a594438110238d diff --git a/dev-libs/crypto++/crypto++-5.5.2-r1.ebuild b/dev-libs/crypto++/crypto++-5.5.2-r1.ebuild new file mode 100644 index 0000000..b30a9af --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.5.2-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.5.2-r1.ebuild,v 1.2 2008/08/30 02:33:58 dragonheart Exp $ + +inherit flag-o-matic eutils toolchain-funcs multilib + +DESCRIPTION="Crypto++ is a C++ class library of cryptographic schemes" +HOMEPAGE="http://cryptopp.com" +SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip" + +LICENSE="cryptopp" +SLOT="0" +KEYWORDS="" +DEPEND="app-arch/unzip" +RDEPEND="" +IUSE="sse3" + +S="${WORKDIR}" + +src_compile() { + # More than -O1 gives problems + replace-flags -O? -O1 + filter-flags -fomit-frame-pointer + use sse3 || append-flags -DCRYPTOPP_DISABLE_SSE2 + emake -f GNUmakefile \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" || die +} + +src_test() { + # make sure all test vectors have unix line endings + for f in TestVectors/* ; do + edos2unix $f + done + + if ! ./cryptest.exe v; then + eerror "crypto++ self-tests failed" + eerror "Try to remove some optimization flags and re-emerge" + die + fi; +} + +src_install() { + # For consistency across GNU/Linux distributions, + # "crypto++" has been preferred over "crytopp"... + newlib.a libcryptopp.a libcrypto++.a + # ...unbreak programs which don't expect this + dosym libcrypto++.a /usr/$(get_libdir)/libcryptopp.a + insinto /usr/include/crypto++ + doins *.h + # should the .exe extension be removed?? + dobin cryptest.exe + # unbreak programs which expect cryptopp + into /usr/include + dosym crypto++ /usr/include/cryptopp +} diff --git a/dev-libs/crypto++/crypto++-5.6.0-r1.ebuild b/dev-libs/crypto++/crypto++-5.6.0-r1.ebuild new file mode 100644 index 0000000..d303079 --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.6.0-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.6.0-r1.ebuild,v 1.8 2010/04/25 00:53:57 arfrever Exp $ + +EAPI="3" + +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="Crypto++ is a C++ class library of cryptographic schemes" +HOMEPAGE="http://cryptopp.com" +SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip" + +LICENSE="cryptopp" +SLOT="0" +KEYWORDS="" +IUSE="" + +DEPEND="app-arch/unzip" +RDEPEND="" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_build_system.patch" +} + +src_compile() { + # More than -O1 gives problems. + replace-flags -O? -O1 + filter-flags -fomit-frame-pointer + use amd64 && append-flags -DCRYPTOPP_DISABLE_ASM + emake -f GNUmakefile \ + LIBDIR="$(get_libdir)" \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" || die "emake failed" +} + +src_test() { + # Make sure all test vectors have unix line endings. + for file in TestVectors/*; do + edos2unix ${file} + done + + if ! emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" test; then + eerror "Crypto++ self-tests failed." + eerror "Try to remove some optimization flags and reemerge Crypto++." + die "emake test failed" + fi; +} + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install || die "emake install failed" +} diff --git a/dev-libs/crypto++/crypto++-5.6.0.ebuild b/dev-libs/crypto++/crypto++-5.6.0.ebuild new file mode 100644 index 0000000..299cf59 --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.6.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/crypto++/crypto++-5.6.0.ebuild,v 1.1 2009/06/27 20:09:40 arfrever Exp $ + +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="Crypto++ is a C++ class library of cryptographic schemes" +HOMEPAGE="http://cryptopp.com" +SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip" + +LICENSE="cryptopp" +SLOT="0" +KEYWORDS="" +DEPEND="app-arch/unzip" +RDEPEND="" +IUSE="sse3" + +S="${WORKDIR}" + +src_compile() { + # More than -O1 gives problems. + replace-flags -O? -O1 + filter-flags -fomit-frame-pointer + use sse3 || append-flags -DCRYPTOPP_DISABLE_SSE2 + emake -f GNUmakefile \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" || die "emake failed" +} + +src_test() { + # Make sure all test vectors have unix line endings. + for file in TestVectors/*; do + edos2unix ${file} + done + + if ! ./cryptest.exe v; then + eerror "crypto++ self-tests failed" + eerror "Try to remove some optimization flags and re-emerge" + die + fi; +} + +src_install() { + # For consistency across GNU/Linux distributions, + # "crypto++" has been preferred over "cryptopp"... + newlib.a libcryptopp.a libcrypto++.a + # ...unbreak programs which don't expect this + dosym libcrypto++.a /usr/$(get_libdir)/libcryptopp.a + insinto /usr/include/crypto++ + doins *.h + newbin cryptest.exe cryptest + # Unbreak programs which expect cryptopp + into /usr/include + dosym crypto++ /usr/include/cryptopp +} diff --git a/dev-libs/crypto++/crypto++-5.6.1.ebuild b/dev-libs/crypto++/crypto++-5.6.1.ebuild new file mode 100644 index 0000000..6ab0522 --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.6.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2010 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.ebuild,v 1.5 2010/12/27 21:41:36 ranger Exp $ + +EAPI="3" + +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="Crypto++ is a C++ class library of cryptographic schemes" +HOMEPAGE="http://cryptopp.com" +SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip" + +LICENSE="cryptopp" +SLOT="0" +KEYWORDS="" +IUSE="" + +DEPEND="app-arch/unzip" +RDEPEND="" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_build_system.patch" \ + "${FILESDIR}/${P}-sunos.patch" +} + +src_compile() { + # Higher optimizations cause problems. + replace-flags -O? -O1 + filter-flags -fomit-frame-pointer + use amd64 && append-flags -DCRYPTOPP_DISABLE_ASM + + emake -f GNUmakefile CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" \ + LIBDIR="$(get_libdir)" || die "emake failed" +} + +src_test() { + # Ensure that all test vectors have Unix line endings. + local file + for file in TestVectors/*; do + edos2unix ${file} + done + + if ! emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" test; then + eerror "Crypto++ self-tests failed." + eerror "Try to remove some optimization flags and reemerge Crypto++." + die "emake test failed" + fi +} + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install \ + || die "emake install failed" +} diff --git a/dev-libs/crypto++/files/crypto++-5.6.0-fix_build_system.patch b/dev-libs/crypto++/files/crypto++-5.6.0-fix_build_system.patch new file mode 100644 index 0000000..abb07e7 --- /dev/null +++ b/dev-libs/crypto++/files/crypto++-5.6.0-fix_build_system.patch @@ -0,0 +1,120 @@ +--- GNUmakefile ++++ GNUmakefile +@@ -1,3 +1,5 @@ ++LIBTOOL = libtool ++LIBDIR = lib + CXXFLAGS = -DNDEBUG -g -O2 + #CXXFLAGS = -g + # -fPIC is supported. Please report any breakage of -fPIC as a bug. +@@ -7,8 +9,9 @@ + # LDFLAGS += -Wl,--gc-sections + ARFLAGS = -cr # ar needs the dash on OpenBSD + RANLIB = ranlib +-CP = cp ++LN_S = ln -s + MKDIR = mkdir ++INSTALL = install + EGREP = egrep + UNAME = $(shell uname) + ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64") +@@ -98,42 +101,45 @@ + SRCS = $(shell echo *.cpp) + endif + +-OBJS = $(SRCS:.cpp=.o) +-# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?) +-TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o ++OBJS = $(SRCS:.cpp=.lo) ++# test.lo needs to be after bench.lo for cygwin 1.1.4 (possible ld bug?) ++TESTOBJS = bench.lo bench2.lo test.lo validat1.lo validat2.lo validat3.lo adhoc.lo datatest.lo regtest.lo fipsalgt.lo dlltest.lo + LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS)) + + DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp +-DLLOBJS = $(DLLSRCS:.cpp=.export.o) +-LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o) +-TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o) +-DLLTESTOBJS = dlltest.dllonly.o ++DLLOBJS = $(DLLSRCS:.cpp=.export.lo) ++LIBIMPORTOBJS = $(LIBOBJS:.lo=.import.lo) ++TESTIMPORTOBJS = $(TESTOBJS:.lo=.import.lo) ++DLLTESTOBJS = dlltest.dllonly.lo + +-all: cryptest.exe ++all: libcrypto++.la + +-test: cryptest.exe +- ./cryptest.exe v ++test: cryptest ++ ./cryptest v + + clean: +- $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) ++ $(RM) -f .libs cryptest libcrypto++.* libcryptopp.* $(LIBOBJS) $(TESTOBJS) cryptopp.dll cryptest.import dlltest $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) + + install: +- $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin +- $(CP) *.h $(PREFIX)/include/cryptopp +- $(CP) *.a $(PREFIX)/lib +- $(CP) *.exe $(PREFIX)/bin ++ $(MKDIR) -p $(DESTDIR)$(PREFIX)/include/crypto++ $(DESTDIR)$(PREFIX)/$(LIBDIR) ++ $(INSTALL) -m 644 *.h $(DESTDIR)$(PREFIX)/include/crypto++ ++ $(LN_S) crypto++ $(DESTDIR)$(PREFIX)/include/cryptopp ++ $(LIBTOOL) --mode=install $(INSTALL) libcrypto++.la $(DESTDIR)$(PREFIX)/$(LIBDIR) ++ $(LN_S) libcrypto++.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.a ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0 ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0.0.0 + +-libcryptopp.a: $(LIBOBJS) +- $(AR) $(ARFLAGS) $@ $(LIBOBJS) +- $(RANLIB) $@ ++libcrypto++.la: $(LIBOBJS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) $(LDFLAGS) -rpath $(PREFIX)/$(LIBDIR) -o $@ $(LIBOBJS) + +-cryptest.exe: libcryptopp.a $(TESTOBJS) +- $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS) ++cryptest: libcrypto++.la $(TESTOBJS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) $(LDFLAGS) -o $@ $(TESTOBJS) -L. -lcrypto++ $(LDLIBS) + + nolib: $(OBJS) # makes it faster to test changes +- $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) -o ct $(LDFLAGS) $(OBJS) $(LDLIBS) + +-dll: cryptest.import.exe dlltest.exe ++dll: cryptest.import dlltest + + cryptopp.dll: $(DLLOBJS) + $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a +@@ -142,10 +148,10 @@ + $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS) + $(RANLIB) $@ + +-cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) ++cryptest.import: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) + $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS) + +-dlltest.exe: cryptopp.dll $(DLLTESTOBJS) ++dlltest: cryptopp.dll $(DLLTESTOBJS) + $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS) + + adhoc.cpp: adhoc.cpp.proto +@@ -155,14 +161,14 @@ + touch adhoc.cpp + endif + +-%.dllonly.o : %.cpp ++%.dllonly.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@ + +-%.import.o : %.cpp ++%.import.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@ + +-%.export.o : %.cpp ++%.export.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@ + +-%.o : %.cpp +- $(CXX) $(CXXFLAGS) -c $< ++%.lo : %.cpp ++ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(CXXFLAGS) -c $< diff --git a/dev-libs/crypto++/files/crypto++-5.6.1-fix_build_system.patch b/dev-libs/crypto++/files/crypto++-5.6.1-fix_build_system.patch new file mode 100644 index 0000000..829e9bf --- /dev/null +++ b/dev-libs/crypto++/files/crypto++-5.6.1-fix_build_system.patch @@ -0,0 +1,124 @@ +--- GNUmakefile ++++ GNUmakefile +@@ -1,3 +1,5 @@ ++LIBTOOL = libtool ++LIBDIR = lib + CXXFLAGS = -DNDEBUG -g -O2 + #CXXFLAGS = -g + # -fPIC is supported. Please report any breakage of -fPIC as a bug. +@@ -7,8 +9,9 @@ + # LDFLAGS += -Wl,--gc-sections + ARFLAGS = -cr # ar needs the dash on OpenBSD + RANLIB = ranlib +-CP = cp ++LN_S = ln -s + MKDIR = mkdir ++INSTALL = install + EGREP = egrep + UNAME = $(shell uname) + ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64") +@@ -120,46 +123,45 @@ + SRCS = $(shell echo *.cpp) + endif + +-OBJS = $(SRCS:.cpp=.o) +-# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?) +-TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o ++OBJS = $(SRCS:.cpp=.lo) ++# test.lo needs to be after bench.lo for cygwin 1.1.4 (possible ld bug?) ++TESTOBJS = bench.lo bench2.lo test.lo validat1.lo validat2.lo validat3.lo adhoc.lo datatest.lo regtest.lo fipsalgt.lo dlltest.lo + LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS)) + + DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp +-DLLOBJS = $(DLLSRCS:.cpp=.export.o) +-LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o) +-TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o) +-DLLTESTOBJS = dlltest.dllonly.o ++DLLOBJS = $(DLLSRCS:.cpp=.export.lo) ++LIBIMPORTOBJS = $(LIBOBJS:.lo=.import.lo) ++TESTIMPORTOBJS = $(TESTOBJS:.lo=.import.lo) ++DLLTESTOBJS = dlltest.dllonly.lo + +-all: cryptest.exe ++all: libcrypto++.la + +-test: cryptest.exe +- ./cryptest.exe v ++test: cryptest ++ ./cryptest v + + clean: +- $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) ++ $(RM) -f .libs cryptest libcrypto++.* libcryptopp.* $(LIBOBJS) $(TESTOBJS) cryptopp.dll cryptest.import dlltest $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) + + install: +- $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin +- $(CP) *.h $(PREFIX)/include/cryptopp +- $(CP) *.a $(PREFIX)/lib +- $(CP) *.so $(PREFIX)/lib +- $(CP) *.exe $(PREFIX)/bin ++ $(MKDIR) -p $(DESTDIR)$(PREFIX)/include/crypto++ $(DESTDIR)$(PREFIX)/$(LIBDIR) ++ $(INSTALL) -m 644 *.h $(DESTDIR)$(PREFIX)/include/crypto++ ++ $(LN_S) crypto++ $(DESTDIR)$(PREFIX)/include/cryptopp ++ $(LIBTOOL) --mode=install $(INSTALL) libcrypto++.la $(DESTDIR)$(PREFIX)/$(LIBDIR) ++ $(LN_S) libcrypto++.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.a ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0 ++ $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0.0.0 + +-libcryptopp.a: $(LIBOBJS) +- $(AR) $(ARFLAGS) $@ $(LIBOBJS) +- $(RANLIB) $@ +- +-libcryptopp.so: $(LIBOBJS) +- $(CXX) -shared -o $@ $(LIBOBJS) ++libcrypto++.la: $(LIBOBJS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) $(LDFLAGS) -rpath $(PREFIX)/$(LIBDIR) -o $@ $(LIBOBJS) + +-cryptest.exe: libcryptopp.a $(TESTOBJS) +- $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS) ++cryptest: libcrypto++.la $(TESTOBJS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) $(LDFLAGS) -o $@ $(TESTOBJS) -L. -lcrypto++ $(LDLIBS) + + nolib: $(OBJS) # makes it faster to test changes +- $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS) ++ $(LIBTOOL) --tag=CC --mode=link $(CXX) -o ct $(LDFLAGS) $(OBJS) $(LDLIBS) + +-dll: cryptest.import.exe dlltest.exe ++dll: cryptest.import dlltest + + cryptopp.dll: $(DLLOBJS) + $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a +@@ -168,10 +170,10 @@ + $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS) + $(RANLIB) $@ + +-cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) ++cryptest.import: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) + $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS) + +-dlltest.exe: cryptopp.dll $(DLLTESTOBJS) ++dlltest: cryptopp.dll $(DLLTESTOBJS) + $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS) + + adhoc.cpp: adhoc.cpp.proto +@@ -181,14 +183,14 @@ + touch adhoc.cpp + endif + +-%.dllonly.o : %.cpp ++%.dllonly.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@ + +-%.import.o : %.cpp ++%.import.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@ + +-%.export.o : %.cpp ++%.export.lo : %.cpp + $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@ + +-%.o : %.cpp +- $(CXX) $(CXXFLAGS) -c $< ++%.lo : %.cpp ++ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(CXXFLAGS) -c $< diff --git a/dev-libs/crypto++/files/crypto++-5.6.1-sunos.patch b/dev-libs/crypto++/files/crypto++-5.6.1-sunos.patch new file mode 100644 index 0000000..eb3f18e --- /dev/null +++ b/dev-libs/crypto++/files/crypto++-5.6.1-sunos.patch @@ -0,0 +1,19 @@ +--- GNUmakefile.orig 2010-11-04 18:18:03.000000000 +0100 ++++ GNUmakefile 2010-11-04 19:21:29.000000000 +0100 +@@ -102,8 +102,6 @@ + ifeq ($(UNAME),SunOS) + LDLIBS += -lnsl -lsocket + M32OR64 = -m$(shell isainfo -b) +-endif +- + ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler + CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64) + LDFLAGS = +@@ -117,6 +115,7 @@ + CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC + endif + endif ++endif + + SRCS = $(wildcard *.cpp) + ifeq ($(SRCS),) # workaround wildcard function bug in GNU Make 3.77 diff --git a/dev-libs/crypto++/metadata.xml b/dev-libs/crypto++/metadata.xml new file mode 100644 index 0000000..68cf611 --- /dev/null +++ b/dev-libs/crypto++/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>crypto</herd> + <use> + <flag name="sse3">Enable optimizations via sse3 assembly code</flag> + </use> +</pkgmetadata> |