commit: a89b7b4b8916b53d8e518b2de0f76405b314008c Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Tue Jul 13 11:07:27 2021 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> CommitDate: Tue Jul 13 11:13:55 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a89b7b4b
sys-cluster/mrnet: initial import Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/mrnet/Manifest | 1 + sys-cluster/mrnet/metadata.xml | 56 +++++++++++++++++++ sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild | 74 ++++++++++++++++++++++++++ 3 files changed, 131 insertions(+) diff --git a/sys-cluster/mrnet/Manifest b/sys-cluster/mrnet/Manifest new file mode 100644 index 000000000..e0d53f35e --- /dev/null +++ b/sys-cluster/mrnet/Manifest @@ -0,0 +1 @@ +DIST mrnet-5.0.1_p20180510.tar.gz 809277 BLAKE2B c3465db9977f133994d9d8aa619d50e8bbf03f4d17b04ed4f0bdfdbd185fbf9b3c74f63de458cfebc79493228a9243c08c95333ae30ef2a19c01625c77e94408 SHA512 e190cf0b291a0fdebd7ff8449ea1cf0ef5bbda4c1ec4af8341db18fdcd1407ace428dc2a527d004987dc4171a82b4db2cfa34534695e3ec67c519523058915a2 diff --git a/sys-cluster/mrnet/metadata.xml b/sys-cluster/mrnet/metadata.xml new file mode 100644 index 000000000..e2be8a693 --- /dev/null +++ b/sys-cluster/mrnet/metadata.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Alessandro Barbieri</name> + </maintainer> + <longdescription lang="en"> +MRNet is a customizable, high-performance software infrastructure for +building scalable tools and applications. It supports efficient +multicast and data aggregation functionality using a tree of processes +between the tool's front-end and back-ends. MRNet-based tools may use +these internal processes to distribute many important tool activities, +for example to reduce data analysis time and keep tool front-end loads +manageable. + +MRNet-based tool components communicate across logical channels called +streams. At MRNet internal processes, filters are bound to these streams to +synchronize and aggregate dataflows. Using filters, MRNet can efficiently +compute averages, sums, and other more complex aggregations and analyses +on tool data. MRNet also supports facilities that allow tool developers +dynamically load new tool-specific filters into the system. + +Features: +* Flexible tool organization: MRNet does not dictate the organization of +MRNet and tool processes, so MRNet-based tools can tailor MRNet's +configuration to the requirements of the tool and its target environment. + +* Scalable, flexible data aggregation: MRNet provides a set of built-in +filters for traditional data aggregation operations like averages, sums, +and data concatenation. MRNet also supports custom, dynamically-loaded +filters for tool-specific aggregations. + +* High-bandwidth communication: Internally, MRNet transfers data using an +efficient, packed binary representation. Zero-copy data paths are used +whenever possible to reduce data transfer latency. + +* Scalable multicast: MRNet supports efficient multicast to reduce the cost +of delivering tool control messages to tool back-ends. + +* Multiple concurrent data channels: MRNet supports multiple logical +channels of data between tool components. Multiple aggregation and +multicast operations may be in progress simultaneously. + +* Open source licensing. + </longdescription> + <use> + <!--<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>--> + <flag name="threadsafe">Build threasafe version of lightweight MRNet and XPlat libraries</flag> + <!--<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>--> + </use> + <upstream> + <bugs-to>https://github.com/dyninst/mrnet/issues</bugs-to> + <remote-id type="github">dyninst/mrnet</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild new file mode 100644 index 000000000..abd8faaf5 --- /dev/null +++ b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild @@ -0,0 +1,74 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +COMMIT="7375ba5bb0df87c68e58ad15e9e5e351ae020c08" + +DESCRIPTION="A Multicast/Reduction Network" +HOMEPAGE="http://www.paradyn.org/mrnet" +SRC_URI="https://github.com/dyninst/mrnet/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="threadsafe" #launchmon libi slurm + +DEPEND="dev-libs/boost:=" +DEPEND=" + ${RDEPEND} +" +# slurm? ( sys-cluster/slurm ) + +#REQUIRED_USE="slurm? ( libi )" + +src_prepare() { + rm -r external || die + default +} + +src_configure() { + local myconf=( + --enable-shared + --enable-verbosebuild + --with-boost="${EPREFIX}/usr" + + $(use_enable threadsafe ltwt-threadsafe) + ) + +#expat seems to be used only on cray +# if use expat; then +# myconf+=( "--with-expat=${EPREFIX}/usr" ) +# else +# myconf+=( "--without-expat" ) +# fi +# if use launchmon; then +# myconf+=( "--with-launchmon=${EPREFIX}/usr" ) +# else +# myconf+=( "--without-launchmon" ) +# fi +# if use libi; then +# myconf+=( "--with-libi=${EPREFIX}/usr" ) +# myconf+=( "--with-startup=libi" ) +# use slurm && myconf+=( "--with-libi-startup=slurm" ) +# else +# myconf+=( "--without-libi" ) +# myconf+=( "--with-startup=ssh" ) +# fi + + econf "${myconf[@]}" +} + +src_compile() { + MAKEOPTS="-j1" emake +} + +src_install() { + dolib.so build/*/lib/*.so* + dobin build/*/bin/* + insinto /usr/include + doins -r xplat/include/* + doins -r include/* + dodoc README ACKNOWLEDGMENTS +}
