# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake-multilib DESCRIPTION="The C++ Actor Framework (CAF)" HOMEPAGE="https://www.actor-framework.org/" SRC_URI="https://github.com/actor-framework/actor-framework/archive/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/actor-framework-${PV}" LICENSE="BSD" SLOT="0/0.18.5" KEYWORDS="~amd64 ~x86" IUSE="debug doc examples +openssl static-libs test" RESTRICT="!test? ( test )" RDEPEND=" openssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP},static-libs?] ) examples? ( net-misc/curl:= dev-libs/protobuf:= )" DEPEND="${RDEPEND}" BDEPEND="doc? ( app-text/doxygen[dot] dev-python/sphinx dev-python/sphinx-rtd-theme )" PATCHES=( "${FILESDIR}"/${P}-use-stable-version.patch "${FILESDIR}"/${P}-cstdint.patch ) DOCS=( CHANGELOG.md README.md ) multilib_src_configure() { local mycmakeargs=( -DBUILD_SHARED_LIBS=$(usex static-libs no yes) -DCAF_ENABLE_ACTOR_PROFILER=$(usex debug) -DCAF_ENABLE_OPENSSL_MODULE=$(usex openssl) -DCAF_ENABLE_RUNTIME_CHECKS=$(usex debug) -DCAF_ENABLE_UTILITY_TARGETS=$(usex debug) -DCAF_LOG_LEVEL=$(usex debug DEBUG QUIET) -DLIBRARY_OUTPUT_PATH="$(get_libdir)" ) if multilib_is_native_abi; then mycmakeargs+=( -DCAF_ENABLE_CURL_EXAMPLES=$(usex examples) -DCAF_ENABLE_EXAMPLES=$(usex examples) -DCAF_ENABLE_PROTOBUF_EXAMPLES=$(usex examples) -DCAF_ENABLE_TESTING=$(usex test) ) else mycmakeargs+=( -DCAF_ENABLE_CURL_EXAMPLES=no -DCAF_ENABLE_EXAMPLES=no -DCAF_ENABLE_PROTOBUF_EXAMPLES=no -DCAF_ENABLE_TESTING=no ) fi cmake_src_configure } multilib_src_compile() { cmake_src_compile if multilib_is_native_abi && use doc; then doxygen "${S}"/Doxyfile || die "doxygen failed" sphinx-build "${S}"/manual "${S}"/manual/html || die "sphinx failed" fi } multilib_src_test() { multilib_is_native_abi && cmake_src_test } multilib_src_install() { cmake_src_install if multilib_is_native_abi && use doc; then docinto api dodoc -r html/* docinto manual dodoc -r "${S}"/manual/html/* fi }