summaryrefslogtreecommitdiff
path: root/dev-libs/crypto++
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-libs/crypto++
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-libs/crypto++')
-rw-r--r--dev-libs/crypto++/Manifest2
-rw-r--r--dev-libs/crypto++/crypto++-8.9.0.ebuild88
-rw-r--r--dev-libs/crypto++/metadata.xml15
3 files changed, 105 insertions, 0 deletions
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
new file mode 100644
index 000000000000..efe260be1d24
--- /dev/null
+++ b/dev-libs/crypto++/Manifest
@@ -0,0 +1,2 @@
+DIST cryptopp890.zip 9288053 BLAKE2B 95fe0585cff826587a301dd3df863c39cba889d407bb70ae7b35a4f9a0f7f5fef83b1c65cb95923a05f8ae91f18ed20e88738e8bb081a3f9c8c49c2d67d44ecc SHA512 903970c4c0312272e93bae0cc3477be66b273dd38c9329fda9f7157ec44e247a3bc16b9d2b4ad625f258af0eaf2dc2c4210d4d14829b455f180983859a5c4b41
+DIST cryptopp890.zip.sig 659 BLAKE2B 741ec10a01a444573fbcf749258e26461ff131935fede8f47b3f2dd8c51f3b43a9af894e0e31f9ad925baf451bdd747b7e22cc8b178992e4190bba503f9bf648 SHA512 4891cf446a47000453884f36f4f8db2da254e11b573c02690fd5e1de604f01498a479847a732abaf0f75b1cdf3cd5bc104f6be240d0de6c7184a3651c674ac95
diff --git a/dev-libs/crypto++/crypto++-8.9.0.ebuild b/dev-libs/crypto++/crypto++-8.9.0.ebuild
new file mode 100644
index 000000000000..9dc8966442dc
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-8.9.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/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
+ https://github.com/weidai11/cryptopp/releases/download/CRYPTOPP_${PV//./_}/cryptopp${PV//.}.zip
+ verify-sig? (
+ https://cryptopp.com/cryptopp${PV//.}.zip.sig
+ https://github.com/weidai11/cryptopp/releases/download/CRYPTOPP_${PV//./_}/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 ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
+IUSE="+asm openmp 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
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+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
+
+ # https://github.com/cryfs/cryfs/issues/369#issuecomment-1030678487
+ use openmp && append-flags -fopenmp
+
+ # 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
+}
diff --git a/dev-libs/crypto++/metadata.xml b/dev-libs/crypto++/metadata.xml
new file mode 100644
index 000000000000..0947d5cfed4c
--- /dev/null
+++ b/dev-libs/crypto++/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:cryptopp:crypto\\+\\+</remote-id>
+ </upstream>
+ <slots>
+ <subslots>so version</subslots>
+ </slots>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>