summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2016-10-04 01:46:05 +0300
committerAlon Bar-Lev <alonbl@gentoo.org>2016-10-04 01:47:51 +0300
commit86f8b10361ee6fbbb5079703d88d23f009f14dca (patch)
tree84d20aeb635c656a872f249b93863327173e6e36
parentmedia-libs/exiftool: version bump to 10.28 (diff)
downloadgentoo-86f8b10361ee6fbbb5079703d88d23f009f14dca.tar.gz
gentoo-86f8b10361ee6fbbb5079703d88d23f009f14dca.tar.bz2
gentoo-86f8b10361ee6fbbb5079703d88d23f009f14dca.zip
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
-rw-r--r--dev-libs/crypto++/Manifest1
-rw-r--r--dev-libs/crypto++/crypto++-5.6.4.ebuild69
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
+}