aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-03-31 15:26:17 +0200
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-03-31 15:27:34 +0200
commit2fab982d9e5137ed3d3be9ce9165dbab7bf686ed (patch)
tree1f0fc1ab79167f8be7258f9d975711bea1aff692 /sys-cluster/nanos6/nanos6-2.7.ebuild
parentsys-cluster/libi: export AR (diff)
downloadguru-2fab982d9e5137ed3d3be9ce9165dbab7bf686ed.tar.gz
guru-2fab982d9e5137ed3d3be9ce9165dbab7bf686ed.tar.bz2
guru-2fab982d9e5137ed3d3be9ce9165dbab7bf686ed.zip
sys-cluster/nanos6: add 2.7
Bug: https://bugs.gentoo.org/800995 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sys-cluster/nanos6/nanos6-2.7.ebuild')
-rw-r--r--sys-cluster/nanos6/nanos6-2.7.ebuild120
1 files changed, 120 insertions, 0 deletions
diff --git a/sys-cluster/nanos6/nanos6-2.7.ebuild b/sys-cluster/nanos6/nanos6-2.7.ebuild
new file mode 100644
index 000000000..23c6b0160
--- /dev/null
+++ b/sys-cluster/nanos6/nanos6-2.7.ebuild
@@ -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"
+}