commit:     2e212dfe252aa630cc55991c053fb2e8d890ee6c
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Tue Apr 20 23:26:09 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Wed Apr 21 01:17:11 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2e212dfe

sys-cluster/nanos6: new package

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/nanos6/Manifest            |   1 +
 sys-cluster/nanos6/metadata.xml        |  29 +++++++++
 sys-cluster/nanos6/nanos6-2.5.1.ebuild | 114 +++++++++++++++++++++++++++++++++
 3 files changed, 144 insertions(+)

diff --git a/sys-cluster/nanos6/Manifest b/sys-cluster/nanos6/Manifest
new file mode 100644
index 000000000..783a17df8
--- /dev/null
+++ b/sys-cluster/nanos6/Manifest
@@ -0,0 +1 @@
+DIST nanos6-2.5.1.tar.gz 744260 BLAKE2B 
6b294391ebb18806da76b4bc73aaf6f7082ab4a61693ab300e130f04942bf50c1da884e5271765465bedab863cb1ce545a43ac09727152c0a52d69852e60e373
 SHA512 
c7da862aa41fb0be1a992f4fde7306a02c4159c05a89055f0144bf6a815c10ff5f7e7ee11b4afaa4c468afdd538a99b3b5971a896221b20928805b45d35e0335

diff --git a/sys-cluster/nanos6/metadata.xml b/sys-cluster/nanos6/metadata.xml
new file mode 100644
index 000000000..d72d9ec64
--- /dev/null
+++ b/sys-cluster/nanos6/metadata.xml
@@ -0,0 +1,29 @@
+<?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>
+               <bugs-to>https://github.com/bsc-pm/nanos6/issues</bugs-to>
+               <remote-id type="github">bsc-pm/nanos6</remote-id>
+       </upstream>
+       <use>
+               <!--<flag name="chrono-arch">use an architecture-dependent 
chrono for timing instead of the default one</flag>-->
+               <flag name="cluster">Enable OmpSs@Cluster support. This 
requires an MPI version that supports MPI_THREAD_MULTIPLE to be present in your 
environment</flag>
+               <!--<flag name="cuda">enable CUDA</flag>-->
+               <flag name="debug">enable extra assertions and checks in debug 
- may cause significant slowdown</flag>
+               <flag name="dlb">enable dynamic management and sharing of 
computing resources</flag>
+               <flag name="embed-code-changes">embed into the runtime any code 
changes present in the source</flag>
+               <flag name="execution-workflow">Enable execution using the 
Execution Workflow</flag>
+               <!--<flag name="extrae">to generate execution traces for 
offline performance analysis with paraver</flag>-->
+               <!--<flag name="jemalloc">use jemalloc as the default memory 
allocator, providing better performance than the default glibc 
implementation</flag>-->
+               <!--<flag name="k1om">specify the installation prefix of the 
k1om GNU compilers</flag>-->
+               <!--<flag name="memkind">specify the installation prefix of 
memkind</flag>-->
+               <!--<flag name="mercurium">specify the installation prefix of 
the Nanos6 Mercurium compiler</flag>-->
+               <flag name="papi">enable <pkg>dev-libs/papi</pkg> support</flag>
+               <!--<flag name="pqos"> to generate real-time statistics of 
hardware counters</flag>-->
+               <flag name="unwind">to generate sample-based profiling</flag>
+       </use>
+</pkgmetadata>

diff --git a/sys-cluster/nanos6/nanos6-2.5.1.ebuild 
b/sys-cluster/nanos6/nanos6-2.5.1.ebuild
new file mode 100644
index 000000000..a49c3601a
--- /dev/null
+++ b/sys-cluster/nanos6/nanos6-2.5.1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="runtime that implements the OmpSs-2 parallel programming model"
+HOMEPAGE="https://github.com/bsc-pm/nanos6";
+SRC_URI="https://github.com/bsc-pm/nanos6/archive/refs/tags/version-${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cluster debug dlb doc embed-code-changes execution-workflow git papi 
unwind"
+#chrono-arch build fail
+#jemalloc require custom stuff
+#TODO: cuda pqos mercurium memkind k1om extrae
+RDEPEND="
+       >=dev-libs/boost-1.59:=
+       sys-apps/hwloc
+       sys-process/numactl
+       virtual/libelf
+
+       cluster? ( virtual/mpi )
+       dlb? ( sys-cluster/dlb )
+       embed-code-changes? ( dev-vcs/git )
+       papi? ( dev-libs/papi )
+       unwind? ( sys-libs/libunwind )
+"
+#extrae? ( sys-cluster/extrae[nanos] )
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-doc/doxygen )"
+REQUIRED_USE="cluster? ( execution-workflow )"
+S="${WORKDIR}/${PN}-version-${PV}"
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --disable-chrono-arch
+               --disable-openacc
+               --disable-static
+
+               --enable-shared
+
+               --with-boost="${EPREFIX}/usr"
+               --with-libnuma="${EPREFIX}/usr"
+               --with-pic
+
+               --without-k1om
+               --without-nanos6-clang
+               --without-nanos6-mercurium
+               --without-pgi
+
+               $(use_enable cluster)
+               $(use_enable doc doxygen-doc)
+               $(use_enable doc doxygen-dot)
+               $(use_enable doc doxygen-html)
+               $(use_enable doc doxygen-man)
+               $(use_enable doc doxygen-pdf)
+               $(use_enable doc doxygen-ps)
+               $(use_enable debug extra-debug)
+               $(use_enable embed-code-changes)
+               $(use_enable execution-workflow)
+       )
+
+       if use dlb; then
+               myconf+=( "--with-dlb=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-dlb" )
+       fi
+       if use embed-code-changes; then
+               myconf+=( "--with-git=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-git" )
+       fi
+#      if use extrae; then
+#              myconf+=( "--with-extrae=${EPREFIX}/usr/$(get_libdir)/extrae" )
+#      else
+               myconf+=( "--without-extrae" )
+#      fi
+       if use papi; then
+               myconf+=( "--with-papi=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-papi" )
+       fi
+       if use unwind; then
+               myconf+=( "--with-libunwind=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-libunwind" )
+       fi
+
+       econf "${myconf[@]}"
+}
+#              --without-pqos
+#              --without-jemalloc
+#              --without-cuda
+#              --without-memkind
+
+src_install() {
+       default
+
+       docompress -x "/usr/share/doc/${PF}/paraver-cfg"
+       docompress -x "/usr/share/doc/${PF}/scripts"
+}
+
+pkg_postinst() {
+       elog "install media-gfx/graphviz and app-text/pdfjam or 
>=app-text/texlive-core-2021 to generate graphical representations of the 
dependency graph"
+       elog "install sys-process/parallel to generate the graph representation 
in parallel"
+}

Reply via email to