diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2016-10-22 20:51:53 +0300 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2016-10-22 20:52:34 +0300 |
commit | fcd7654f92db0c1b8e81bac5e2a44f5a26fb4d1b (patch) | |
tree | 89863cbab348a4565eda618bfc5a350473d66c4c /dev-libs/crypto++/crypto++-5.6.5.ebuild | |
parent | sys-kernel/gentoo-sources: Linux patch 4.8.4 (diff) | |
download | gentoo-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.ebuild | 74 |
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" +} |