summaryrefslogtreecommitdiff
path: root/dev-libs/actor-framework/actor-framework-0.13.2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/actor-framework/actor-framework-0.13.2.ebuild')
-rw-r--r--dev-libs/actor-framework/actor-framework-0.13.2.ebuild113
1 files changed, 113 insertions, 0 deletions
diff --git a/dev-libs/actor-framework/actor-framework-0.13.2.ebuild b/dev-libs/actor-framework/actor-framework-0.13.2.ebuild
new file mode 100644
index 000000000000..49242e511bc0
--- /dev/null
+++ b/dev-libs/actor-framework/actor-framework-0.13.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic cmake-multilib
+
+bench_ref="78c746269bb53ff0b2026e7b1a8fe11fabc69e64"
+cash_ref="847edfb18afa6b755a91a203872bcd66bbeb5868"
+sash_ref="9da5a40793d77e7f6d3afb504cf02c0acb59d35c"
+opencl_ref="91ebbda2986f3f32a873d02ca5eb550f26c6b70d"
+riac_ref="855e725739b7688290f66f592f858149c92375c5"
+nexus_ref="90d42335ff3a2fe67ac4ae41a844f0b245bb123c"
+
+DESCRIPTION="The C++ Actor Framework (CAF)"
+HOMEPAGE="https://actor-framework.org/"
+SRC_URI="https://github.com/actor-framework/actor-framework/archive/${PV}.tar.gz -> ${P}.tar.gz
+ benchmarks? ( https://github.com/actor-framework/benchmarks/archive/${bench_ref}.tar.gz -> CAF_${PV}-benchmarks.tar.gz )
+ cash? ( https://github.com/actor-framework/cash/archive/${cash_ref}.tar.gz -> CAF_${PV}-cash.tar.gz
+ https://github.com/Neverlord/sash/archive/${sash_ref}.tar.gz -> CAF_${PV}-sash_cash.tar.gz )
+ nexus? ( https://github.com/actor-framework/nexus/archive/${nexus_ref}.tar.gz -> CAF_${PV}-nexus.tar.gz )
+ opencl? ( https://github.com/actor-framework/opencl/archive/${opencl_ref}.tar.gz -> CAF_${PV}-opencl.tar.gz )
+ riac? ( https://github.com/actor-framework/riac/archive/${riac_ref}.tar.gz -> CAF_${PV}-riac.tar.gz )"
+LICENSE="|| ( Boost-1.0 BSD )"
+SLOT="0/13.2"
+KEYWORDS="~amd64 ~x86"
+IUSE="boost benchmarks cash debug doc examples +mem_management nexus opencl riac static test"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen
+ dev-texlive/texlive-latex
+ dev-tex/hevea
+ )"
+RDEPEND="boost? ( dev-libs/boost[${MULTILIB_USEDEP}] )
+ net-misc/curl[${MULTILIB_USEDEP}]
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )"
+REQUIRED_USE="cash? ( riac )"
+
+src_unpack() {
+ unpack ${A}
+ for i in cash nexus; do
+ if use ${i}; then
+ mv "${i}"*/* "${S}/${i}/" || die "died copying sources for ${i}"
+ fi
+ done
+ for i in opencl riac; do
+ if use ${i}; then
+ mv "${i}"*/* "${S}/libcaf_${i}/" || die "died copying sources for ${i}"
+ fi
+ done
+ if use cash; then
+ mv sash*/* "${S}/cash/sash/" || die "died copying sources for sash"
+ fi
+ if use benchmarks; then
+ mv "${WORKDIR}/benchmarks-"* "${WORKDIR}/benchmarks" || die "died moving benchmarks"
+ fi
+}
+
+src_prepare() {
+ find "${S}" -name CMakeLists.txt \
+ -exec sed -i 's#\(install(.* DESTINATION \)lib#\1${LIBRARY_OUTPUT_PATH}#g' \{\} + \
+ || die
+ rm examples/CMakeLists.txt || die
+ append-cxxflags "-std=c++11 -pthread -Wextra -Wall -pedantic"
+ append-cflags "-std=c11 -pthread -Wextra -Wall -pedantic"
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCAF_NO_EXAMPLES=ON
+ -DCAF_NO_BENCHMARKS=ON
+ -DCAF_USE_ASIO=$(usex boost)
+ -DCAF_NO_CASH=$(usex cash OFF ON)
+ -DCAF_LOG_LEVEL=$(usex debug 3 0)
+ -DCAF_ENABLE_RUNTIME_CHECKS=$(usex debug)
+ -DCAF_ENABLE_ADDRESS_SANITIZER=$(usex debug)
+ -DCAF_NO_MEM_MANAGEMENT=$(usex mem_management OFF ON)
+ -DCAF_NO_NEXUS=$(usex nexus OFF ON)
+ -DCAF_NO_OPENCL=$(usex opencl OFF ON)
+ -DCAF_NO_RIAC=$(usex riac OFF ON)
+ -DCAF_BUILD_STATIC=$(usex static)
+ -DCAF_NO_UNIT_TESTS=$(usex test OFF ON )
+ -DLIBRARY_OUTPUT_PATH="$(get_libdir)"
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ emake doc
+ emake -C "${S}/manual/build-pdf"
+ emake -C "${S}/manual/build-html"
+ fi
+}
+
+multilib_src_install() {
+ DOCS=( README.md )
+ use examples && DOCS+=( "${S}/examples" )
+ use benchmarks && DOCS+=( "${WORKDIR}/benchmarks/" )
+ if use doc; then
+ HTML_DOCS=( "${S}/html/"* )
+ for i in pdf html; do
+ DOCS+=( "${S}"/manual/build-${i}/manual.${i} )
+ done
+ fi
+
+ cmake-utils_src_install
+}