commit: 2fab982d9e5137ed3d3be9ce9165dbab7bf686ed Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Thu Mar 31 13:26:17 2022 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Thu Mar 31 13:27:34 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2fab982d
sys-cluster/nanos6: add 2.7 Bug: https://bugs.gentoo.org/800995 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/nanos6/Manifest | 1 + sys-cluster/nanos6/metadata.xml | 1 + sys-cluster/nanos6/nanos6-2.7.ebuild | 120 +++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+) diff --git a/sys-cluster/nanos6/Manifest b/sys-cluster/nanos6/Manifest index 6ef8d525e..0a41d553c 100644 --- a/sys-cluster/nanos6/Manifest +++ b/sys-cluster/nanos6/Manifest @@ -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 diff --git a/sys-cluster/nanos6/metadata.xml b/sys-cluster/nanos6/metadata.xml index 586d1fd6f..c7b355e4e 100644 --- a/sys-cluster/nanos6/metadata.xml +++ b/sys-cluster/nanos6/metadata.xml @@ -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> 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" +}
