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