summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2016-10-22 20:51:53 +0300
committerAlon Bar-Lev <alonbl@gentoo.org>2016-10-22 20:52:34 +0300
commitfcd7654f92db0c1b8e81bac5e2a44f5a26fb4d1b (patch)
tree89863cbab348a4565eda618bfc5a350473d66c4c /dev-libs/crypto++/crypto++-5.6.5.ebuild
parentsys-kernel/gentoo-sources: Linux patch 4.8.4 (diff)
downloadgentoo-fcd7654f92db0c1b8e81bac5e2a44f5a26fb4d1b.tar.gz
gentoo-fcd7654f92db0c1b8e81bac5e2a44f5a26fb4d1b.tar.bz2
gentoo-fcd7654f92db0c1b8e81bac5e2a44f5a26fb4d1b.zip
dev-libs/crypto++: version bump
revert cmake build as upstream does not think it is ready Package-Manager: portage-2.3.0
Diffstat (limited to 'dev-libs/crypto++/crypto++-5.6.5.ebuild')
-rw-r--r--dev-libs/crypto++/crypto++-5.6.5.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/dev-libs/crypto++/crypto++-5.6.5.ebuild b/dev-libs/crypto++/crypto++-5.6.5.ebuild
new file mode 100644
index 000000000000..ed51c3cf0893
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-5.6.5.ebuild
@@ -0,0 +1,74 @@
+# 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}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.6.4-nonative.patch"
+)
+
+pkg_setup() {
+ export CXX="$(tc-getCXX)"
+ export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+}
+
+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-cxxflags -DCRYPTOPP_DISABLE_ASM
+
+ emake -f GNUmakefile all shared
+}
+
+src_test() {
+ # ensure that all test vectors have Unix line endings
+ local file
+ for file in TestVectors/* ; do
+ edos2unix "${file}"
+ done
+
+ if ! 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() {
+ default
+
+ # 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
+}
+
+pkg_preinst() {
+ # we switched directory to symlink
+ # make sure portage digests that
+ rm -fr "${EROOT}/usr/include/crypto++"
+ rm -fr "${EROOT}/usr/include/cryptopp"
+}