Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/nanos6/
Date: Thu, 31 Mar 2022 13:27:40
Message-Id: 1648733254.2fab982d9e5137ed3d3be9ce9165dbab7bf686ed.Alessandro-Barbieri@gentoo
1 commit: 2fab982d9e5137ed3d3be9ce9165dbab7bf686ed
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Thu Mar 31 13:26:17 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Thu Mar 31 13:27:34 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2fab982d
7
8 sys-cluster/nanos6: add 2.7
9
10 Bug: https://bugs.gentoo.org/800995
11 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
12
13 sys-cluster/nanos6/Manifest | 1 +
14 sys-cluster/nanos6/metadata.xml | 1 +
15 sys-cluster/nanos6/nanos6-2.7.ebuild | 120 +++++++++++++++++++++++++++++++++++
16 3 files changed, 122 insertions(+)
17
18 diff --git a/sys-cluster/nanos6/Manifest b/sys-cluster/nanos6/Manifest
19 index 6ef8d525e..0a41d553c 100644
20 --- a/sys-cluster/nanos6/Manifest
21 +++ b/sys-cluster/nanos6/Manifest
22 @@ -1 +1,2 @@
23 DIST nanos6-2.6.tar.gz 739246 BLAKE2B 4a5cb079b09fe2eaa40ee4064307dfc8facf1515801c6ddfe34b301b6c48df167a3603435e3998f28511738709e53d7245421bcdda69829268b7f86748d3de87 SHA512 af6e95f2d523a22b033f380efd4c36d44d85708b7852f692dc700c89dcca12405882d09437d672f06ffd0dbe429bc1e2f52f86e148882d254f7a3d8f8221b222
24 +DIST nanos6-2.7.tar.gz 738537 BLAKE2B f95906c848b96c9bc8d03b9fa43440e7cf7b5df0d64183b28e0cac3eae45af8b1504b29696931c9ded48f345eaeae0c447715a87f2fec6bfee8254941628f376 SHA512 4e1bb8bfdab888f7f68b30fb7d69a30f6d2b03577e7bfe2d85631c644ba7ac628918dff6b87100c16a3603fade5cdb511575575ee01a5bc1b1782c46a75cadca
25
26 diff --git a/sys-cluster/nanos6/metadata.xml b/sys-cluster/nanos6/metadata.xml
27 index 586d1fd6f..c7b355e4e 100644
28 --- a/sys-cluster/nanos6/metadata.xml
29 +++ b/sys-cluster/nanos6/metadata.xml
30 @@ -13,6 +13,7 @@
31 <flag name="ctf2prv">Build ctf2prv fast converter</flag>
32 <!--<flag name="cuda">enable CUDA</flag>-->
33 <flag name="debug">enable extra assertions and checks in debug - may cause significant slowdown</flag>
34 + <flag name="dependency-delayed-operations">Delay dependency update operations</flag>
35 <flag name="dlb">enable dynamic management and sharing of computing resources</flag>
36 <flag name="execution-workflow">Enable execution using the Execution Workflow</flag>
37 <flag name="extrae">to generate execution traces for offline performance analysis with paraver</flag>
38
39 diff --git a/sys-cluster/nanos6/nanos6-2.7.ebuild b/sys-cluster/nanos6/nanos6-2.7.ebuild
40 new file mode 100644
41 index 000000000..23c6b0160
42 --- /dev/null
43 +++ b/sys-cluster/nanos6/nanos6-2.7.ebuild
44 @@ -0,0 +1,120 @@
45 +# Copyright 2019-2022 Gentoo Authors
46 +# Distributed under the terms of the GNU General Public License v2
47 +
48 +EAPI=8
49 +
50 +inherit autotools
51 +
52 +DESCRIPTION="runtime that implements the OmpSs-2 parallel programming model"
53 +HOMEPAGE="https://github.com/bsc-pm/nanos6"
54 +SRC_URI="https://github.com/bsc-pm/nanos6/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz"
55 +S="${WORKDIR}/${PN}-version-${PV}"
56 +
57 +LICENSE="GPL-3"
58 +SLOT="0"
59 +KEYWORDS="~amd64"
60 +IUSE="ctf2prv debug +dependency-delayed-operations dlb execution-workflow extrae mercurium papi pqos test unwind"
61 +#jemalloc require custom jemalloc
62 +#TODO: cuda
63 +#TODO: llvm-libunwind
64 +
65 +RDEPEND="
66 + >=dev-libs/boost-1.59:=
67 + sys-apps/hwloc
68 + sys-process/numactl
69 + virtual/libelf
70 +
71 + ctf2prv? ( dev-util/babeltrace2 )
72 + dlb? ( sys-cluster/dlb )
73 + extrae? ( sys-cluster/extrae[nanos] )
74 + mercurium? ( sys-cluster/mcxx[ompss2] )
75 + papi? ( dev-libs/papi )
76 + pqos? ( sys-apps/intel-cmt-cat )
77 + unwind? ( sys-libs/libunwind )
78 +"
79 +DEPEND="${RDEPEND}"
80 +
81 +RESTRICT="!test? ( test )"
82 +REQUIRED_USE="test? ( !mercurium )" # https://github.com/bsc-pm/nanos6/issues/3
83 +
84 +# debug and lint variant add custom cflags
85 +QA_FLAGS_IGNORED="
86 + libnanos6-debug-*.so*
87 + libnanos6-optimized-*-lint.so*
88 +"
89 +
90 +src_prepare() {
91 + default
92 + eautoreconf
93 +}
94 +
95 +src_configure() {
96 + local myconf=(
97 + --disable-embed-code-changes
98 + --disable-openacc
99 + --disable-static
100 +
101 + --enable-shared
102 +
103 + --with-boost="${EPREFIX}/usr"
104 + --with-libnuma="${EPREFIX}/usr"
105 +
106 + --without-git
107 + --without-k1om
108 + --without-nanos6-clang
109 + --without-pgi
110 +
111 + $(use_enable debug extra-debug)
112 + $(use_enable dependency-delayed-operations)
113 + )
114 +
115 + # https://github.com/bsc-pm/nanos6/issues/6
116 + use ctf2prv && myconf+=( "--with-babeltrace2=${EPREFIX}/usr" )
117 + use dlb && myconf+=( "--with-dlb=${EPREFIX}/usr" )
118 + use pqos && myconf+=( "--with-pqos=${EPREFIX}/usr" )
119 +
120 + if use extrae; then
121 + myconf+=( "--with-extrae=${EPREFIX}/usr" )
122 + else
123 + myconf+=( "--without-extrae" )
124 + fi
125 +# if use jemalloc; then
126 +# myconf+=( "--with-jemalloc=${EPREFIX}/usr" )
127 +# else
128 +# myconf+=( "--without-jemalloc" )
129 +# fi
130 + if use mercurium; then
131 + myconf+=( "--with-nanos6-mercurium=${EPREFIX}/usr" )
132 + else
133 + myconf+=( "--without-nanos6-mercurium" )
134 + fi
135 + if use papi; then
136 + myconf+=( "--with-papi=${EPREFIX}/usr" )
137 + else
138 + myconf+=( "--without-papi" )
139 + fi
140 + if use unwind; then
141 + myconf+=( "--with-libunwind=${EPREFIX}/usr" )
142 + else
143 + myconf+=( "--without-libunwind" )
144 + fi
145 +
146 + econf "${myconf[@]}"
147 +}
148 +
149 +src_install() {
150 + default
151 + dodoc CHANGELOG.md
152 + rm -r docs/Doxyfile* || die
153 + dodoc -r docs/.
154 +
155 + docompress -x "/usr/share/doc/${PF}/paraver-cfg"
156 + docompress -x "/usr/share/doc/${PF}/scripts"
157 +
158 + find "${ED}" -name '*.la' -delete || die
159 +}
160 +
161 +pkg_postinst() {
162 + elog "install media-gfx/graphviz and app-text/pdfjam or >=app-text/texlive-core-2021 to generate graphical representations of the dependency graph"
163 + elog "install sys-process/parallel to generate the graph representation in parallel"
164 +}