diff options
Diffstat (limited to 'dev-libs/crypto++/crypto++-5.6.1.ebuild')
-rw-r--r-- | dev-libs/crypto++/crypto++-5.6.1.ebuild | 52 |
1 files changed, 52 insertions, 0 deletions
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 000000000000..a1f89c762513 --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.6.1.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.1.ebuild,v 1.1 2010/09/27 16:20:35 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="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="app-arch/unzip" +RDEPEND="" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_build_system.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" +} |