Gentoo Archives: gentoo-commits

From: Andrew Ammerlaan <andrewammerlaan@××××××.net>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: sys-cluster/nanos6/
Date: Wed, 21 Apr 2021 07:32:42
Message-Id: 1618967831.2e212dfe252aa630cc55991c053fb2e8d890ee6c.andrewammerlaan@gentoo
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 +}