diff options
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/crypto++/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-5.6.4.ebuild | 69 |
2 files changed, 70 insertions, 0 deletions
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest index dfd907ca44eb..ac28a090aef2 100644 --- a/dev-libs/crypto++/Manifest +++ b/dev-libs/crypto++/Manifest @@ -1 +1,2 @@ DIST cryptopp562.zip 1137964 SHA256 5cbfd2fcb4a6b3aab35902e2e0f3b59d9171fee12b3fc2b363e1801dfec53574 SHA512 016ca7ebad1091d67ad0bc5ccb7549d96d4af6b563d9d5a612cae27b3d1a3514c41b954e319fed91c820e8c701e3aa43da186e0864bf959ce4afd1539248ebbe WHIRLPOOL e31203da48a31b09e6ea48a75aa64fe5fd27fd370a1a609c4387526f09daab7582716563b688c0c81a8c3b200b8ffa7bdb2b981e5911640e5f1c172d6027f6ac +DIST cryptopp564.zip 4214797 SHA256 be430377b05c15971d5ccb6e44b4d95470f561024ed6d701fe3da3a188c84ad7 SHA512 d9f0ce92f5f95794b5a43d5ae865bfe7bae555f1565210dd4fd9fa9d44b2f801d947e216042099f7d40dd83e3d385a6346343b05431f05bf04276ba85b7ff63f WHIRLPOOL 344354e2b4a822eb1f431137678067f6a042e710c13ab70e53dca2523f29b8bcf2227e6973f67e69079ddde789f1af764c0913a0e73808e784cec195ef722ce4 diff --git a/dev-libs/crypto++/crypto++-5.6.4.ebuild b/dev-libs/crypto++/crypto++-5.6.4.ebuild new file mode 100644 index 000000000000..c632e0003cfb --- /dev/null +++ b/dev-libs/crypto++/crypto++-5.6.4.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="C++ class library of cryptographic schemes" +HOMEPAGE="http://cryptopp.com" +SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip" + +LICENSE="Boost-1.0" +SLOT="0/5.6" # subslot is so version +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x64-macos" +IUSE="static-libs" + +DEPEND="app-arch/unzip" + +S="${WORKDIR}" + +src_configure() { + cp config.recommend config.h || die +} + +src_compile() { + # higher optimizations cause problems + replace-flags -O3 -O2 + # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS + [[ ${CHOST} == *-darwin* ]] && append-flags -DCRYPTOPP_DISABLE_X86ASM + + CXX="$(tc-getCXX)" \ + emake -f GNUmakefile \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + PREFIX="${EPREFIX}/usr" \ + all shared +} + +src_test() { + # ensure that all test vectors have Unix line endings + local file + for file in TestVectors/* ; do + edos2unix "${file}" + done + + if ! CXX="$(tc-getCXX)" emake 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="${ED}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + install + + # remove leftovers as build system sucks + rm -fr "${ED}"/usr/bin "${ED}"/usr/share/cryptopp + use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a + + # compatibility + dosym cryptopp "${EPREFIX}"/usr/include/crypto++ + for f in "${ED}${EPREFIX}"/usr/$(get_libdir)/*; do + ln -s "$(basename "${f}")" "$(echo "${f}" | sed 's/cryptopp/crypto++/')" || die + done +} |