diff options
author | Sam James <sam@gentoo.org> | 2023-06-26 20:24:02 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-06-26 20:27:27 +0100 |
commit | 98303ab117bd9b246751ee5e3a18b808fef81897 (patch) | |
tree | 3552ea706c72ef20b7fad9bc501b6147e310a283 /dev-libs/crypto++ | |
parent | dev-libs/crypto++: fix miscompilation (diff) | |
download | gentoo-98303ab117bd9b246751ee5e3a18b808fef81897.tar.gz gentoo-98303ab117bd9b246751ee5e3a18b808fef81897.tar.bz2 gentoo-98303ab117bd9b246751ee5e3a18b808fef81897.zip |
dev-libs/crypto++: add 8.8.0
Note that 8.7.0 was deliberately skipped in Gentoo as it was a broken release.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/crypto++')
-rw-r--r-- | dev-libs/crypto++/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/crypto++/crypto++-8.8.0.ebuild | 73 |
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest index a96d06c31610..4cb200a6790e 100644 --- a/dev-libs/crypto++/Manifest +++ b/dev-libs/crypto++/Manifest @@ -1,2 +1,4 @@ DIST cryptopp860.zip 9274149 BLAKE2B c93998e2deb93abf12b801877404f0f82547bfbbbc5aae727e68daffc2407877dda76d7bcd06239d40a48baf21b6f2e29f74e9a97ecbc1b5d4b5bcc50ada71da SHA512 e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03 DIST cryptopp860.zip.sig 659 BLAKE2B 591a535092c61964c0fbb1ba31e44e70fc5f15757b9b56476ff64de0c28d47a13fe99d7f5819cfeb52e514ade1454622451b267bcc751868defcb080ddf79e8c SHA512 6231816b1ccec75cbcdd09daa8895830c5f4c595a4a0aa24dacc3e377832d8db5efa1aeadf815e53db32fc5263b09dd1b249668f34da4bfad5d5cba6f031ce21 +DIST cryptopp880.zip 9279806 BLAKE2B bdce352af83ff148cedbe0233efd3352d5052e6b4ea04484de11e35a8cb5d51cf6bd5aa641ada1bc4535454c1a1afdbfb96f4ae2ef5131d79a7985247810f423 SHA512 3fb1c591735f28dbd1329a6de6de9c495388c88bd5c4f077894c41668398ed313f14121a4553e0d4aa71e552ee8c3b744b770711748528ade71043ecc6159c80 +DIST cryptopp880.zip.sig 659 BLAKE2B a7d46e43cbe671714c5320b99824a91708058528be46e1a770bc214696b936aa5ba062279475966ce6108af6cacb3a22256df91ad5b9bbb54c81a69b9dcfca7b SHA512 8f3987841ff08f65a28fafed1ba3b0111e2c790d247ad739c28e6edb02a77e076b961007c4ba8684bc9e6c880730244b144ccc5f3416fb5fe57566b8021ee92e diff --git a/dev-libs/crypto++/crypto++-8.8.0.ebuild b/dev-libs/crypto++/crypto++-8.8.0.ebuild new file mode 100644 index 000000000000..e2ee6042f908 --- /dev/null +++ b/dev-libs/crypto++/crypto++-8.8.0.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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 + 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++ ) +" + +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 LDCONF=true all shared libcryptopp.pc +} + +src_install() { + emake DESTDIR="${D}" LDCONF=true install + + use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a +} |