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
+}

Reply via email to