sys-cluster/nanos6: new package

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-04-21 01:26:09 +02:00
parent ae1126b867
commit 2e212dfe25
3 changed files with 144 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST nanos6-2.5.1.tar.gz 744260 BLAKE2B 6b294391ebb18806da76b4bc73aaf6f7082ab4a61693ab300e130f04942bf50c1da884e5271765465bedab863cb1ce545a43ac09727152c0a52d69852e60e373 SHA512 c7da862aa41fb0be1a992f4fde7306a02c4159c05a89055f0144bf6a815c10ff5f7e7ee11b4afaa4c468afdd538a99b3b5971a896221b20928805b45d35e0335

View File

@@ -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>

View File

@@ -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"
}