commit:     c58d432c327f513f0d7a2e56acac6670c1f05ca7
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun Jul 11 09:50:01 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sun Jul 11 09:50:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c58d432c

sys-cluster/muster: initial import

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/muster/Manifest            |  1 +
 sys-cluster/muster/metadata.xml        | 32 +++++++++++++++++++++
 sys-cluster/muster/muster-1.0.1.ebuild | 51 ++++++++++++++++++++++++++++++++++
 3 files changed, 84 insertions(+)

diff --git a/sys-cluster/muster/Manifest b/sys-cluster/muster/Manifest
new file mode 100644
index 000000000..f570446a4
--- /dev/null
+++ b/sys-cluster/muster/Manifest
@@ -0,0 +1 @@
+DIST muster-1.0.1.tar.gz 117835 BLAKE2B 
e20e80acc7d3b8ba407d8949d5b5d1cc4562d4db13c4fa24de264446eb79de6cc3a669d61740b12fd1a8198e44453acede4cf0eaa46a38b9b92ff7506d5c234f
 SHA512 
71a07bd9771e8cbeff9f288ec5f6b77bc2ce97a2227f52de202b0b3d9ff709a716cd32f55bfc5b2567cca929057b083138494532986f8cd97c6e3336732d3640

diff --git a/sys-cluster/muster/metadata.xml b/sys-cluster/muster/metadata.xml
new file mode 100644
index 000000000..b0b36c18f
--- /dev/null
+++ b/sys-cluster/muster/metadata.xml
@@ -0,0 +1,32 @@
+<?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>
+  <upstream>
+    <remote-id type="github">LLNL/muster</remote-id>
+  </upstream>
+  <longdescription lang="en">
+The Muster library provides implementations of serial and parallel K-Medoids 
+clustering algorithms.  It is intended as a general framework for parallel 
+cluster analysis, particularly for performance data analysis on systems with 
+very large numbers of processes.
+
+The parallel implementations in the Muster are designed to perform well even
+in environments where the data to be clustered is entirely distributed.  For
+example, many performance tools need to analyze one data element from each
+process in a system.  To analyze this data efficiently, clustering algorithms 
+that move as little data as possible are required.  In Muster, we exploit 
+sampled clustering algorithms to realize this efficiency.
+
+The parallel algorithms in Muster are implemented using the Message Passing 
+Interface (MPI), making them suitable for use on many of the world's largest 
+supercomputers.  They should, however, also run efficiently on your laptop.
+  </longdescription>
+  <use>
+    <flag name="pmpi">Build with PMPI bindings</flag>
+    <flag name="tests">Build and install test programs</flag>
+  </use>
+</pkgmetadata>

diff --git a/sys-cluster/muster/muster-1.0.1.ebuild 
b/sys-cluster/muster/muster-1.0.1.ebuild
new file mode 100644
index 000000000..eeab7486e
--- /dev/null
+++ b/sys-cluster/muster/muster-1.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cmake
+
+DESCRIPTION="Massively Scalable Clustering"
+HOMEPAGE="https://github.com/LLNL/muster";
+SRC_URI="https://github.com/LLNL/muster/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc pmpi tests"
+
+RDEPEND="
+       dev-libs/boost:=
+       virtual/mpi
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-doc/doxygen )"
+
+src_prepare() {
+       sed -e "s|DESTINATION lib|DESTINATION $(get_libdir)|g" -i 
src/CMakeLists.txt || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DINSTALL_TESTS=$(usex tests test)
+               -DMUSTER_USE_PMPI=$(usex pmpi)
+       )
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+       if use doc; then
+               doxygen || die
+       fi
+}
+
+src_install() {
+       cmake_src_install
+       use doc && dodoc -r doc/html
+       if use tests; then
+               mkdir -p "${ED}/usr/libexec/${PN}/" || die
+               mv "${ED}"/usr/bin/*-test "${ED}/usr/libexec/${PN}/" || die
+       fi
+}

Reply via email to