Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/mrnet/
Date: Tue, 13 Jul 2021 11:14:11
Message-Id: 1626174835.a89b7b4b8916b53d8e518b2de0f76405b314008c.Alessandro-Barbieri@gentoo
1 commit: a89b7b4b8916b53d8e518b2de0f76405b314008c
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Tue Jul 13 11:07:27 2021 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Tue Jul 13 11:13:55 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a89b7b4b
7
8 sys-cluster/mrnet: initial import
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 sys-cluster/mrnet/Manifest | 1 +
13 sys-cluster/mrnet/metadata.xml | 56 +++++++++++++++++++
14 sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild | 74 ++++++++++++++++++++++++++
15 3 files changed, 131 insertions(+)
16
17 diff --git a/sys-cluster/mrnet/Manifest b/sys-cluster/mrnet/Manifest
18 new file mode 100644
19 index 000000000..e0d53f35e
20 --- /dev/null
21 +++ b/sys-cluster/mrnet/Manifest
22 @@ -0,0 +1 @@
23 +DIST mrnet-5.0.1_p20180510.tar.gz 809277 BLAKE2B c3465db9977f133994d9d8aa619d50e8bbf03f4d17b04ed4f0bdfdbd185fbf9b3c74f63de458cfebc79493228a9243c08c95333ae30ef2a19c01625c77e94408 SHA512 e190cf0b291a0fdebd7ff8449ea1cf0ef5bbda4c1ec4af8341db18fdcd1407ace428dc2a527d004987dc4171a82b4db2cfa34534695e3ec67c519523058915a2
24
25 diff --git a/sys-cluster/mrnet/metadata.xml b/sys-cluster/mrnet/metadata.xml
26 new file mode 100644
27 index 000000000..e2be8a693
28 --- /dev/null
29 +++ b/sys-cluster/mrnet/metadata.xml
30 @@ -0,0 +1,56 @@
31 +<?xml version="1.0" encoding="UTF-8"?>
32 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
33 +<pkgmetadata>
34 + <maintainer type="person">
35 + <email>lssndrbarbieri@×××××.com</email>
36 + <name>Alessandro Barbieri</name>
37 + </maintainer>
38 + <longdescription lang="en">
39 +MRNet is a customizable, high-performance software infrastructure for
40 +building scalable tools and applications. It supports efficient
41 +multicast and data aggregation functionality using a tree of processes
42 +between the tool's front-end and back-ends. MRNet-based tools may use
43 +these internal processes to distribute many important tool activities,
44 +for example to reduce data analysis time and keep tool front-end loads
45 +manageable.
46 +
47 +MRNet-based tool components communicate across logical channels called
48 +streams. At MRNet internal processes, filters are bound to these streams to
49 +synchronize and aggregate dataflows. Using filters, MRNet can efficiently
50 +compute averages, sums, and other more complex aggregations and analyses
51 +on tool data. MRNet also supports facilities that allow tool developers
52 +dynamically load new tool-specific filters into the system.
53 +
54 +Features:
55 +* Flexible tool organization: MRNet does not dictate the organization of
56 +MRNet and tool processes, so MRNet-based tools can tailor MRNet's
57 +configuration to the requirements of the tool and its target environment.
58 +
59 +* Scalable, flexible data aggregation: MRNet provides a set of built-in
60 +filters for traditional data aggregation operations like averages, sums,
61 +and data concatenation. MRNet also supports custom, dynamically-loaded
62 +filters for tool-specific aggregations.
63 +
64 +* High-bandwidth communication: Internally, MRNet transfers data using an
65 +efficient, packed binary representation. Zero-copy data paths are used
66 +whenever possible to reduce data transfer latency.
67 +
68 +* Scalable multicast: MRNet supports efficient multicast to reduce the cost
69 +of delivering tool control messages to tool back-ends.
70 +
71 +* Multiple concurrent data channels: MRNet supports multiple logical
72 +channels of data between tool components. Multiple aggregation and
73 +multicast operations may be in progress simultaneously.
74 +
75 +* Open source licensing.
76 + </longdescription>
77 + <use>
78 + <!--<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>-->
79 + <flag name="threadsafe">Build threasafe version of lightweight MRNet and XPlat libraries</flag>
80 + <!--<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>-->
81 + </use>
82 + <upstream>
83 + <bugs-to>https://github.com/dyninst/mrnet/issues</bugs-to>
84 + <remote-id type="github">dyninst/mrnet</remote-id>
85 + </upstream>
86 +</pkgmetadata>
87
88 diff --git a/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild
89 new file mode 100644
90 index 000000000..abd8faaf5
91 --- /dev/null
92 +++ b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild
93 @@ -0,0 +1,74 @@
94 +# Copyright 2019-2021 Gentoo Authors
95 +# Distributed under the terms of the GNU General Public License v2
96 +
97 +EAPI=8
98 +
99 +COMMIT="7375ba5bb0df87c68e58ad15e9e5e351ae020c08"
100 +
101 +DESCRIPTION="A Multicast/Reduction Network"
102 +HOMEPAGE="http://www.paradyn.org/mrnet"
103 +SRC_URI="https://github.com/dyninst/mrnet/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
104 +S="${WORKDIR}/${PN}-${COMMIT}"
105 +
106 +LICENSE="LGPL-2.1+"
107 +SLOT="0"
108 +KEYWORDS="~amd64"
109 +IUSE="threadsafe" #launchmon libi slurm
110 +
111 +DEPEND="dev-libs/boost:="
112 +DEPEND="
113 + ${RDEPEND}
114 +"
115 +# slurm? ( sys-cluster/slurm )
116 +
117 +#REQUIRED_USE="slurm? ( libi )"
118 +
119 +src_prepare() {
120 + rm -r external || die
121 + default
122 +}
123 +
124 +src_configure() {
125 + local myconf=(
126 + --enable-shared
127 + --enable-verbosebuild
128 + --with-boost="${EPREFIX}/usr"
129 +
130 + $(use_enable threadsafe ltwt-threadsafe)
131 + )
132 +
133 +#expat seems to be used only on cray
134 +# if use expat; then
135 +# myconf+=( "--with-expat=${EPREFIX}/usr" )
136 +# else
137 +# myconf+=( "--without-expat" )
138 +# fi
139 +# if use launchmon; then
140 +# myconf+=( "--with-launchmon=${EPREFIX}/usr" )
141 +# else
142 +# myconf+=( "--without-launchmon" )
143 +# fi
144 +# if use libi; then
145 +# myconf+=( "--with-libi=${EPREFIX}/usr" )
146 +# myconf+=( "--with-startup=libi" )
147 +# use slurm && myconf+=( "--with-libi-startup=slurm" )
148 +# else
149 +# myconf+=( "--without-libi" )
150 +# myconf+=( "--with-startup=ssh" )
151 +# fi
152 +
153 + econf "${myconf[@]}"
154 +}
155 +
156 +src_compile() {
157 + MAKEOPTS="-j1" emake
158 +}
159 +
160 +src_install() {
161 + dolib.so build/*/lib/*.so*
162 + dobin build/*/bin/*
163 + insinto /usr/include
164 + doins -r xplat/include/*
165 + doins -r include/*
166 + dodoc README ACKNOWLEDGMENTS
167 +}