From 00757bf15f0eb42661625ed16888d00af9a79561 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 27 Jun 2023 01:33:47 +0100 Subject: gentoo auto-resync : 27:06:2023 - 01:33:47 --- dev-libs/crypto++/crypto++-8.6.0-r1.ebuild | 74 ++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 dev-libs/crypto++/crypto++-8.6.0-r1.ebuild (limited to 'dev-libs/crypto++/crypto++-8.6.0-r1.ebuild') diff --git a/dev-libs/crypto++/crypto++-8.6.0-r1.ebuild b/dev-libs/crypto++/crypto++-8.6.0-r1.ebuild new file mode 100644 index 000000000000..384ec31277f3 --- /dev/null +++ b/dev-libs/crypto++/crypto++-8.6.0-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/crypto++.asc +inherit flag-o-matic toolchain-funcs verify-sig + +DESCRIPTION="C++ class library of cryptographic schemes" +HOMEPAGE="https://cryptopp.com" +SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip" +SRC_URI+=" verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )" +S="${WORKDIR}" + +LICENSE="Boost-1.0" +# ABI notes: +# - Bumped to 8.5 in 8.5.0 out of caution +# subslot is so version (was broken in 8.3.0, check on bumps!) +# Seems to be broken in 8.6 again too +# +# - See https://cryptopp.com/#news, but releases usually say +# "recompile of programs required". Even if it doesn't, +# verify with abidiff! +SLOT="0/${PV}" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos" +IUSE="+asm static-libs" + +BDEPEND=" + app-arch/unzip + verify-sig? ( sec-keys/openpgp-keys-crypto++ ) +" + +PATCHES=( + "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch" +) + +config_uncomment() { + sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die +} + +src_prepare() { + default + + use asm || config_uncomment CRYPTOPP_DISABLE_ASM + + # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS + [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM +} + +src_configure() { + export CXX="$(tc-getCXX)" + export LIBDIR="${EPREFIX}/usr/$(get_libdir)" + export PREFIX="${EPREFIX}/usr" + tc-export AR RANLIB + + # Long history of correctness bugs: + # https://github.com/weidai11/cryptopp/issues/1134 + # https://github.com/weidai11/cryptopp/issues/1141 + # https://github.com/weidai11/cryptopp/pull/1147 + append-flags -fno-strict-aliasing + filter-lto + + default +} + +src_compile() { + emake -f GNUmakefile all shared libcryptopp.pc +} + +src_install() { + default + + use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a +} -- cgit v1.2.3