From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1273468-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id D62CF1382C5
	for <garchives@archives.gentoo.org>; Wed, 21 Apr 2021 01:17:41 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id DBB88E0871;
	Wed, 21 Apr 2021 01:17:39 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id B3246E0871
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Apr 2021 01:17:39 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 3CE99340F94
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Apr 2021 01:17:37 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id C811D673
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Apr 2021 01:17:35 +0000 (UTC)
From: "Alessandro Barbieri" <lssndrbarbieri@gmail.com>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Alessandro Barbieri" <lssndrbarbieri@gmail.com>
Message-ID: <1618967831.2e212dfe252aa630cc55991c053fb2e8d890ee6c.Alessandro-Barbieri@gentoo>
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/nanos6/
X-VCS-Repository: repo/proj/guru
X-VCS-Files: sys-cluster/nanos6/Manifest sys-cluster/nanos6/metadata.xml sys-cluster/nanos6/nanos6-2.5.1.ebuild
X-VCS-Directories: sys-cluster/nanos6/
X-VCS-Committer: Alessandro-Barbieri
X-VCS-Committer-Name: Alessandro Barbieri
X-VCS-Revision: 2e212dfe252aa630cc55991c053fb2e8d890ee6c
X-VCS-Branch: dev
Date: Wed, 21 Apr 2021 01:17:35 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 3a1ebe9a-9df1-4fb4-9df3-1bae2ca52c7a
X-Archives-Hash: 3063d55f021ce05f495ba56f1433edd6

commit:     2e212dfe252aa630cc55991c053fb2e8d890ee6c
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Tue Apr 20 23:26:09 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
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>lssndrbarbieri@gmail.com</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"
+}