1 |
commit: 2e212dfe252aa630cc55991c053fb2e8d890ee6c |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Apr 20 23:26:09 2021 +0000 |
4 |
Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> |
5 |
CommitDate: Wed Apr 21 01:17:11 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2e212dfe |
7 |
|
8 |
sys-cluster/nanos6: new package |
9 |
|
10 |
Package-Manager: Portage-3.0.18, Repoman-3.0.3 |
11 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
12 |
|
13 |
sys-cluster/nanos6/Manifest | 1 + |
14 |
sys-cluster/nanos6/metadata.xml | 29 +++++++++ |
15 |
sys-cluster/nanos6/nanos6-2.5.1.ebuild | 114 +++++++++++++++++++++++++++++++++ |
16 |
3 files changed, 144 insertions(+) |
17 |
|
18 |
diff --git a/sys-cluster/nanos6/Manifest b/sys-cluster/nanos6/Manifest |
19 |
new file mode 100644 |
20 |
index 000000000..783a17df8 |
21 |
--- /dev/null |
22 |
+++ b/sys-cluster/nanos6/Manifest |
23 |
@@ -0,0 +1 @@ |
24 |
+DIST nanos6-2.5.1.tar.gz 744260 BLAKE2B 6b294391ebb18806da76b4bc73aaf6f7082ab4a61693ab300e130f04942bf50c1da884e5271765465bedab863cb1ce545a43ac09727152c0a52d69852e60e373 SHA512 c7da862aa41fb0be1a992f4fde7306a02c4159c05a89055f0144bf6a815c10ff5f7e7ee11b4afaa4c468afdd538a99b3b5971a896221b20928805b45d35e0335 |
25 |
|
26 |
diff --git a/sys-cluster/nanos6/metadata.xml b/sys-cluster/nanos6/metadata.xml |
27 |
new file mode 100644 |
28 |
index 000000000..d72d9ec64 |
29 |
--- /dev/null |
30 |
+++ b/sys-cluster/nanos6/metadata.xml |
31 |
@@ -0,0 +1,29 @@ |
32 |
+<?xml version="1.0" encoding="UTF-8"?> |
33 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
34 |
+<pkgmetadata> |
35 |
+ <maintainer type="person"> |
36 |
+ <email>lssndrbarbieri@×××××.com</email> |
37 |
+ <name>Alessandro Barbieri</name> |
38 |
+ </maintainer> |
39 |
+ <upstream> |
40 |
+ <bugs-to>https://github.com/bsc-pm/nanos6/issues</bugs-to> |
41 |
+ <remote-id type="github">bsc-pm/nanos6</remote-id> |
42 |
+ </upstream> |
43 |
+ <use> |
44 |
+ <!--<flag name="chrono-arch">use an architecture-dependent chrono for timing instead of the default one</flag>--> |
45 |
+ <flag name="cluster">Enable OmpSs@Cluster support. This requires an MPI version that supports MPI_THREAD_MULTIPLE to be present in your environment</flag> |
46 |
+ <!--<flag name="cuda">enable CUDA</flag>--> |
47 |
+ <flag name="debug">enable extra assertions and checks in debug - may cause significant slowdown</flag> |
48 |
+ <flag name="dlb">enable dynamic management and sharing of computing resources</flag> |
49 |
+ <flag name="embed-code-changes">embed into the runtime any code changes present in the source</flag> |
50 |
+ <flag name="execution-workflow">Enable execution using the Execution Workflow</flag> |
51 |
+ <!--<flag name="extrae">to generate execution traces for offline performance analysis with paraver</flag>--> |
52 |
+ <!--<flag name="jemalloc">use jemalloc as the default memory allocator, providing better performance than the default glibc implementation</flag>--> |
53 |
+ <!--<flag name="k1om">specify the installation prefix of the k1om GNU compilers</flag>--> |
54 |
+ <!--<flag name="memkind">specify the installation prefix of memkind</flag>--> |
55 |
+ <!--<flag name="mercurium">specify the installation prefix of the Nanos6 Mercurium compiler</flag>--> |
56 |
+ <flag name="papi">enable <pkg>dev-libs/papi</pkg> support</flag> |
57 |
+ <!--<flag name="pqos"> to generate real-time statistics of hardware counters</flag>--> |
58 |
+ <flag name="unwind">to generate sample-based profiling</flag> |
59 |
+ </use> |
60 |
+</pkgmetadata> |
61 |
|
62 |
diff --git a/sys-cluster/nanos6/nanos6-2.5.1.ebuild b/sys-cluster/nanos6/nanos6-2.5.1.ebuild |
63 |
new file mode 100644 |
64 |
index 000000000..a49c3601a |
65 |
--- /dev/null |
66 |
+++ b/sys-cluster/nanos6/nanos6-2.5.1.ebuild |
67 |
@@ -0,0 +1,114 @@ |
68 |
+# Copyright 2019-2021 Gentoo Authors |
69 |
+# Distributed under the terms of the GNU General Public License v2 |
70 |
+ |
71 |
+EAPI=7 |
72 |
+ |
73 |
+inherit autotools |
74 |
+ |
75 |
+DESCRIPTION="runtime that implements the OmpSs-2 parallel programming model" |
76 |
+HOMEPAGE="https://github.com/bsc-pm/nanos6" |
77 |
+SRC_URI="https://github.com/bsc-pm/nanos6/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz" |
78 |
+ |
79 |
+LICENSE="GPL-3" |
80 |
+SLOT="0" |
81 |
+KEYWORDS="~amd64" |
82 |
+IUSE="cluster debug dlb doc embed-code-changes execution-workflow git papi unwind" |
83 |
+#chrono-arch build fail |
84 |
+#jemalloc require custom stuff |
85 |
+#TODO: cuda pqos mercurium memkind k1om extrae |
86 |
+RDEPEND=" |
87 |
+ >=dev-libs/boost-1.59:= |
88 |
+ sys-apps/hwloc |
89 |
+ sys-process/numactl |
90 |
+ virtual/libelf |
91 |
+ |
92 |
+ cluster? ( virtual/mpi ) |
93 |
+ dlb? ( sys-cluster/dlb ) |
94 |
+ embed-code-changes? ( dev-vcs/git ) |
95 |
+ papi? ( dev-libs/papi ) |
96 |
+ unwind? ( sys-libs/libunwind ) |
97 |
+" |
98 |
+#extrae? ( sys-cluster/extrae[nanos] ) |
99 |
+DEPEND="${RDEPEND}" |
100 |
+BDEPEND="doc? ( app-doc/doxygen )" |
101 |
+REQUIRED_USE="cluster? ( execution-workflow )" |
102 |
+S="${WORKDIR}/${PN}-version-${PV}" |
103 |
+ |
104 |
+src_prepare() { |
105 |
+ default |
106 |
+ eautoreconf |
107 |
+} |
108 |
+ |
109 |
+src_configure() { |
110 |
+ local myconf=( |
111 |
+ --disable-chrono-arch |
112 |
+ --disable-openacc |
113 |
+ --disable-static |
114 |
+ |
115 |
+ --enable-shared |
116 |
+ |
117 |
+ --with-boost="${EPREFIX}/usr" |
118 |
+ --with-libnuma="${EPREFIX}/usr" |
119 |
+ --with-pic |
120 |
+ |
121 |
+ --without-k1om |
122 |
+ --without-nanos6-clang |
123 |
+ --without-nanos6-mercurium |
124 |
+ --without-pgi |
125 |
+ |
126 |
+ $(use_enable cluster) |
127 |
+ $(use_enable doc doxygen-doc) |
128 |
+ $(use_enable doc doxygen-dot) |
129 |
+ $(use_enable doc doxygen-html) |
130 |
+ $(use_enable doc doxygen-man) |
131 |
+ $(use_enable doc doxygen-pdf) |
132 |
+ $(use_enable doc doxygen-ps) |
133 |
+ $(use_enable debug extra-debug) |
134 |
+ $(use_enable embed-code-changes) |
135 |
+ $(use_enable execution-workflow) |
136 |
+ ) |
137 |
+ |
138 |
+ if use dlb; then |
139 |
+ myconf+=( "--with-dlb=${EPREFIX}/usr" ) |
140 |
+ else |
141 |
+ myconf+=( "--without-dlb" ) |
142 |
+ fi |
143 |
+ if use embed-code-changes; then |
144 |
+ myconf+=( "--with-git=${EPREFIX}/usr" ) |
145 |
+ else |
146 |
+ myconf+=( "--without-git" ) |
147 |
+ fi |
148 |
+# if use extrae; then |
149 |
+# myconf+=( "--with-extrae=${EPREFIX}/usr/$(get_libdir)/extrae" ) |
150 |
+# else |
151 |
+ myconf+=( "--without-extrae" ) |
152 |
+# fi |
153 |
+ if use papi; then |
154 |
+ myconf+=( "--with-papi=${EPREFIX}/usr" ) |
155 |
+ else |
156 |
+ myconf+=( "--without-papi" ) |
157 |
+ fi |
158 |
+ if use unwind; then |
159 |
+ myconf+=( "--with-libunwind=${EPREFIX}/usr" ) |
160 |
+ else |
161 |
+ myconf+=( "--without-libunwind" ) |
162 |
+ fi |
163 |
+ |
164 |
+ econf "${myconf[@]}" |
165 |
+} |
166 |
+# --without-pqos |
167 |
+# --without-jemalloc |
168 |
+# --without-cuda |
169 |
+# --without-memkind |
170 |
+ |
171 |
+src_install() { |
172 |
+ default |
173 |
+ |
174 |
+ docompress -x "/usr/share/doc/${PF}/paraver-cfg" |
175 |
+ docompress -x "/usr/share/doc/${PF}/scripts" |
176 |
+} |
177 |
+ |
178 |
+pkg_postinst() { |
179 |
+ elog "install media-gfx/graphviz and app-text/pdfjam or >=app-text/texlive-core-2021 to generate graphical representations of the dependency graph" |
180 |
+ elog "install sys-process/parallel to generate the graph representation in parallel" |
181 |
+} |