sys-cluster/nanos6: add 2.7

Bug: https://bugs.gentoo.org/800995
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-03-31 15:26:17 +02:00
parent 30d294a030
commit 2fab982d9e
3 changed files with 122 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST nanos6-2.6.tar.gz 739246 BLAKE2B 4a5cb079b09fe2eaa40ee4064307dfc8facf1515801c6ddfe34b301b6c48df167a3603435e3998f28511738709e53d7245421bcdda69829268b7f86748d3de87 SHA512 af6e95f2d523a22b033f380efd4c36d44d85708b7852f692dc700c89dcca12405882d09437d672f06ffd0dbe429bc1e2f52f86e148882d254f7a3d8f8221b222
DIST nanos6-2.7.tar.gz 738537 BLAKE2B f95906c848b96c9bc8d03b9fa43440e7cf7b5df0d64183b28e0cac3eae45af8b1504b29696931c9ded48f345eaeae0c447715a87f2fec6bfee8254941628f376 SHA512 4e1bb8bfdab888f7f68b30fb7d69a30f6d2b03577e7bfe2d85631c644ba7ac628918dff6b87100c16a3603fade5cdb511575575ee01a5bc1b1782c46a75cadca

View File

@@ -13,6 +13,7 @@
<flag name="ctf2prv">Build ctf2prv fast converter</flag>
<!--<flag name="cuda">enable CUDA</flag>-->
<flag name="debug">enable extra assertions and checks in debug - may cause significant slowdown</flag>
<flag name="dependency-delayed-operations">Delay dependency update operations</flag>
<flag name="dlb">enable dynamic management and sharing of computing resources</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>

View File

@@ -0,0 +1,120 @@
# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
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"
S="${WORKDIR}/${PN}-version-${PV}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="ctf2prv debug +dependency-delayed-operations dlb execution-workflow extrae mercurium papi pqos test unwind"
#jemalloc require custom jemalloc
#TODO: cuda
#TODO: llvm-libunwind
RDEPEND="
>=dev-libs/boost-1.59:=
sys-apps/hwloc
sys-process/numactl
virtual/libelf
ctf2prv? ( dev-util/babeltrace2 )
dlb? ( sys-cluster/dlb )
extrae? ( sys-cluster/extrae[nanos] )
mercurium? ( sys-cluster/mcxx[ompss2] )
papi? ( dev-libs/papi )
pqos? ( sys-apps/intel-cmt-cat )
unwind? ( sys-libs/libunwind )
"
DEPEND="${RDEPEND}"
RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( !mercurium )" # https://github.com/bsc-pm/nanos6/issues/3
# debug and lint variant add custom cflags
QA_FLAGS_IGNORED="
libnanos6-debug-*.so*
libnanos6-optimized-*-lint.so*
"
src_prepare() {
default
eautoreconf
}
src_configure() {
local myconf=(
--disable-embed-code-changes
--disable-openacc
--disable-static
--enable-shared
--with-boost="${EPREFIX}/usr"
--with-libnuma="${EPREFIX}/usr"
--without-git
--without-k1om
--without-nanos6-clang
--without-pgi
$(use_enable debug extra-debug)
$(use_enable dependency-delayed-operations)
)
# https://github.com/bsc-pm/nanos6/issues/6
use ctf2prv && myconf+=( "--with-babeltrace2=${EPREFIX}/usr" )
use dlb && myconf+=( "--with-dlb=${EPREFIX}/usr" )
use pqos && myconf+=( "--with-pqos=${EPREFIX}/usr" )
if use extrae; then
myconf+=( "--with-extrae=${EPREFIX}/usr" )
else
myconf+=( "--without-extrae" )
fi
# if use jemalloc; then
# myconf+=( "--with-jemalloc=${EPREFIX}/usr" )
# else
# myconf+=( "--without-jemalloc" )
# fi
if use mercurium; then
myconf+=( "--with-nanos6-mercurium=${EPREFIX}/usr" )
else
myconf+=( "--without-nanos6-mercurium" )
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[@]}"
}
src_install() {
default
dodoc CHANGELOG.md
rm -r docs/Doxyfile* || die
dodoc -r docs/.
docompress -x "/usr/share/doc/${PF}/paraver-cfg"
docompress -x "/usr/share/doc/${PF}/scripts"
find "${ED}" -name '*.la' -delete || die
}
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"
}