summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2019-07-03 21:58:19 +0300
committerAlon Bar-Lev <alonbl@gentoo.org>2019-07-03 21:58:58 +0300
commitac1362559f5f84d43e121b0899927e8b9a15b741 (patch)
tree718bffe882a04fad03f5cb05c4d2afec2af2aab8 /dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
parentwww-client/chromium: add patch to fix random crash in stable channel (diff)
downloadgentoo-ac1362559f5f84d43e121b0899927e8b9a15b741.tar.gz
gentoo-ac1362559f5f84d43e121b0899927e8b9a15b741.tar.bz2
gentoo-ac1362559f5f84d43e121b0899927e8b9a15b741.zip
dev-libs/crypto++: fix amd64 asm
Closes: https://bugs.gentoo.org/show_bug.cgi?id=689162 Signed-off-by: Alon Bar-Lev <alonbl@gentoo.org> Package-Manager: Portage-2.3.66, Repoman-2.3.11
Diffstat (limited to 'dev-libs/crypto++/crypto++-8.2.0-r2.ebuild')
-rw-r--r--dev-libs/crypto++/crypto++-8.2.0-r2.ebuild60
1 files changed, 60 insertions, 0 deletions
diff --git a/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild b/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
new file mode 100644
index 00000000000..41b85ded021
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="C++ class library of cryptographic schemes"
+HOMEPAGE="https://cryptopp.com"
+SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
+
+LICENSE="Boost-1.0"
+SLOT="0/8" # subslot is so version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x64-macos"
+IUSE="+asm cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_pclmul cpu_flags_x86_sha cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3 static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+)
+
+config_add() {
+ sed -i -e "/Important Settings/a#define $1 1" config.h || die
+}
+
+pkg_setup() {
+ export CXX="$(tc-getCXX)"
+ export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+}
+
+src_prepare() {
+ default
+
+ use asm || config_add CRYPTOPP_DISABLE_ASM
+ use cpu_flags_x86_aes || config_add CRYPTOPP_DISABLE_AESNI
+ use cpu_flags_x86_avx || config_add CRYPTOPP_DISABLE_AVX
+ use cpu_flags_x86_avx2 || config_add CRYPTOPP_DISABLE_AVX2
+ use cpu_flags_x86_pclmul || config_add CRYPTOPP_DISABLE_CLMUL
+ use cpu_flags_x86_sha || config_add CRYPTOPP_DISABLE_SHANI
+ use cpu_flags_x86_sse2 || config_add CRYPTOPP_DISABLE_SSE2
+ use cpu_flags_x86_sse4_2 || config_add CRYPTOPP_DISABLE_SSE4
+ use cpu_flags_x86_ssse3 || config_add CRYPTOPP_DISABLE_SSSE3
+
+ # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
+ [[ ${CHOST} == *-darwin* ]] && config_add CRYPTOPP_DISABLE_ASM
+}
+
+src_compile() {
+ emake -f GNUmakefile all shared libcryptopp.pc
+}
+
+src_install() {
+ default
+
+ use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a
+}