commit:     86f8b10361ee6fbbb5079703d88d23f009f14dca
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 22:46:05 2016 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 22:47:51 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86f8b103

dev-libs/crypto++: version bump

remove all of our patches as upstream had done some
rework on its properitary build system. this will
probably lead to issues, but better to fix them
than forking upstream again.

this version seems to be compatible with gcc-6
and may resolve other issues.

Bug: 595316
Bug: 570416

Package-Manager: portage-2.3.0

 dev-libs/crypto++/Manifest              |  1 +
 dev-libs/crypto++/crypto++-5.6.4.ebuild | 69 +++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)

diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
index dfd907c..ac28a09 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 00000000..c632e00
--- /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
+}

Reply via email to