1 |
jsbronder 15/02/04 21:46:32 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: openmpi-1.6.5-r1.ebuild openmpi-1.8.3-r1.ebuild |
5 |
openmpi-1.7.5-r1.ebuild openmpi-1.8.4-r1.ebuild |
6 |
Log: |
7 |
Use system libltdl #273108 |
8 |
|
9 |
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 4D7043C9) |
10 |
|
11 |
Revision Changes Path |
12 |
1.130 sys-cluster/openmpi/ChangeLog |
13 |
|
14 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?rev=1.130&view=markup |
15 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?rev=1.130&content-type=text/plain |
16 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?r1=1.129&r2=1.130 |
17 |
|
18 |
Index: ChangeLog |
19 |
=================================================================== |
20 |
RCS file: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v |
21 |
retrieving revision 1.129 |
22 |
retrieving revision 1.130 |
23 |
diff -u -r1.129 -r1.130 |
24 |
--- ChangeLog 4 Feb 2015 05:12:16 -0000 1.129 |
25 |
+++ ChangeLog 4 Feb 2015 21:46:32 -0000 1.130 |
26 |
@@ -1,6 +1,16 @@ |
27 |
# ChangeLog for sys-cluster/openmpi |
28 |
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 |
29 |
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.129 2015/02/04 05:12:16 jsbronder Exp $ |
30 |
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.130 2015/02/04 21:46:32 jsbronder Exp $ |
31 |
+ |
32 |
+*openmpi-1.8.4-r1 (04 Feb 2015) |
33 |
+*openmpi-1.8.3-r1 (04 Feb 2015) |
34 |
+*openmpi-1.7.5-r1 (04 Feb 2015) |
35 |
+*openmpi-1.6.5-r1 (04 Feb 2015) |
36 |
+ |
37 |
+ 04 Feb 2015; Justin Bronder <jsbronder@g.o> +openmpi-1.6.5-r1.ebuild, |
38 |
+ +openmpi-1.7.5-r1.ebuild, +openmpi-1.8.3-r1.ebuild, +openmpi-1.8.4-r1.ebuild, |
39 |
+ +files/openmpi-ltdl.patch: |
40 |
+ Use system libltdl #273108 |
41 |
|
42 |
04 Feb 2015; Justin Bronder <jsbronder@g.o> -openmpi-1.8.ebuild, |
43 |
-openmpi-1.8.1.ebuild: |
44 |
|
45 |
|
46 |
|
47 |
1.1 sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild |
48 |
|
49 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild?rev=1.1&view=markup |
50 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild?rev=1.1&content-type=text/plain |
51 |
|
52 |
Index: openmpi-1.6.5-r1.ebuild |
53 |
=================================================================== |
54 |
# Copyright 1999-2015 Gentoo Foundation |
55 |
# Distributed under the terms of the GNU General Public License v2 |
56 |
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $ |
57 |
|
58 |
EAPI=5 |
59 |
|
60 |
FORTRAN_NEEDED=fortran |
61 |
|
62 |
inherit autotools eutils fortran-2 multilib flag-o-matic toolchain-funcs versionator |
63 |
|
64 |
MY_P=${P/-mpi} |
65 |
S=${WORKDIR}/${MY_P} |
66 |
|
67 |
IUSE_OPENMPI_FABRICS=" |
68 |
openmpi_fabrics_dapl |
69 |
openmpi_fabrics_ofed |
70 |
openmpi_fabrics_knem |
71 |
openmpi_fabrics_open-mx |
72 |
openmpi_fabrics_psm |
73 |
openmpi_fabrics_sctp" |
74 |
|
75 |
IUSE_OPENMPI_RM=" |
76 |
openmpi_rm_pbs |
77 |
openmpi_rm_slurm" |
78 |
|
79 |
IUSE_OPENMPI_OFED_FEATURES=" |
80 |
openmpi_ofed_features_control-hdr-padding |
81 |
openmpi_ofed_features_connectx-xrc |
82 |
openmpi_ofed_features_rdmacm |
83 |
openmpi_ofed_features_dynamic-sl |
84 |
openmpi_ofed_features_failover |
85 |
" |
86 |
|
87 |
DESCRIPTION="A high-performance message passing library (MPI)" |
88 |
HOMEPAGE="http://www.open-mpi.org" |
89 |
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" |
90 |
LICENSE="BSD" |
91 |
SLOT="0" |
92 |
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" |
93 |
IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt |
94 |
${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" |
95 |
|
96 |
REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) |
97 |
openmpi_rm_pbs? ( !openmpi_rm_slurm ) |
98 |
openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) |
99 |
openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) |
100 |
openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) |
101 |
openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) |
102 |
openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) |
103 |
openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" |
104 |
|
105 |
RDEPEND=" |
106 |
!sys-cluster/mpich |
107 |
!sys-cluster/mpich2 |
108 |
!sys-cluster/mpiexec |
109 |
>=sys-apps/hwloc-1.3 |
110 |
dev-libs/libltdl:0 |
111 |
elibc_FreeBSD? ( dev-libs/libexecinfo ) |
112 |
openmpi_fabrics_dapl? ( sys-infiniband/dapl ) |
113 |
openmpi_fabrics_ofed? ( sys-infiniband/ofed ) |
114 |
openmpi_fabrics_knem? ( sys-cluster/knem ) |
115 |
openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) |
116 |
openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm ) |
117 |
openmpi_fabrics_sctp? ( net-misc/lksctp-tools ) |
118 |
openmpi_rm_pbs? ( sys-cluster/torque ) |
119 |
openmpi_rm_slurm? ( sys-cluster/slurm ) |
120 |
openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm ) |
121 |
vt? ( |
122 |
!dev-libs/libotf |
123 |
!app-text/lcdf-typetools |
124 |
) |
125 |
" |
126 |
DEPEND="${RDEPEND}" |
127 |
# TODO: Newer releases of Vampir use otf2 which would resolve the above blockers. |
128 |
|
129 |
pkg_setup() { |
130 |
fortran-2_pkg_setup |
131 |
if use mpi-threads; then |
132 |
echo |
133 |
ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" |
134 |
ewarn "default and officially unsupported by upstream." |
135 |
ewarn "You may stop now and set USE=-mpi-threads" |
136 |
echo |
137 |
fi |
138 |
|
139 |
echo |
140 |
elog "OpenMPI has an overwhelming count of configuration options." |
141 |
elog "Don't forget the EXTRA_ECONF environment variable can let you" |
142 |
elog "specify configure options if you find them necessary." |
143 |
echo |
144 |
|
145 |
} |
146 |
|
147 |
src_prepare() { |
148 |
# Necessary for scalibility, see |
149 |
# http://www.open-mpi.org/community/lists/users/2008/09/6514.php |
150 |
if use threads; then |
151 |
echo 'oob_tcp_listen_mode = listen_thread' \ |
152 |
>> opal/etc/openmpi-mca-params.conf |
153 |
fi |
154 |
|
155 |
# https://svn.open-mpi.org/trac/ompi/ticket/3649 |
156 |
# https://svn.open-mpi.org/trac/ompi/ticket/3648 |
157 |
epatch "${FILESDIR}"/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch |
158 |
|
159 |
# https://github.com/open-mpi/ompi/issues/163 |
160 |
epatch "${FILESDIR}"/openmpi-ltdl.patch |
161 |
|
162 |
AT_M4DIR="config opal/config orte/config ompi/config" eautoreconf |
163 |
} |
164 |
|
165 |
src_configure() { |
166 |
local myconf=( |
167 |
--sysconfdir="${EPREFIX}/etc/${PN}" |
168 |
--enable-pretty-print-stacktrace |
169 |
--enable-orterun-prefix-by-default |
170 |
--with-hwloc="${EPREFIX}/usr" |
171 |
--with-libltdl=external |
172 |
) |
173 |
|
174 |
if use mpi-threads; then |
175 |
myconf+=( |
176 |
--enable-mpi-thread-multiple |
177 |
--enable-opal-multi-threads |
178 |
) |
179 |
fi |
180 |
|
181 |
if use fortran; then |
182 |
if [[ $(tc-getFC) =~ g77 ]]; then |
183 |
myconf+=(--disable-mpi-f90) |
184 |
elif [[ $(tc-getFC) =~ if ]]; then |
185 |
# Enabled here as gfortran compile times are huge with this enabled. |
186 |
myconf+=(--with-mpi-f90-size=medium) |
187 |
fi |
188 |
else |
189 |
myconf+=(--disable-mpi-f90 --disable-mpi-f77) |
190 |
fi |
191 |
|
192 |
! use vt && myconf+=(--enable-contrib-no-build=vt) |
193 |
|
194 |
econf "${myconf[@]}" \ |
195 |
$(use_enable cxx mpi-cxx) \ |
196 |
$(use_enable romio io-romio) \ |
197 |
$(use_enable heterogeneous) \ |
198 |
$(use_enable ipv6) \ |
199 |
$(use_with openmpi_fabrics_dapl udapl "${EPREFIX}"/usr) \ |
200 |
$(use_with openmpi_fabrics_ofed openib "${EPREFIX}"/usr) \ |
201 |
$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ |
202 |
$(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ |
203 |
$(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ |
204 |
$(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ |
205 |
$(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ |
206 |
$(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ |
207 |
$(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ |
208 |
$(use_enable openmpi_ofed_features_failover btl-openib-failover) \ |
209 |
$(use_with openmpi_fabrics_sctp sctp) \ |
210 |
$(use_with openmpi_rm_pbs tm) \ |
211 |
$(use_with openmpi_rm_slurm slurm) |
212 |
} |
213 |
|
214 |
src_install () { |
215 |
emake DESTDIR="${D}" install || die "make install failed" |
216 |
# From USE=vt see #359917 |
217 |
rm "${ED}"/usr/share/libtool &> /dev/null |
218 |
dodoc README AUTHORS NEWS VERSION || die |
219 |
} |
220 |
|
221 |
src_test() { |
222 |
# Doesn't work with the default src_test as the dry run (-n) fails. |
223 |
emake -j1 check || die "emake check failed" |
224 |
} |
225 |
|
226 |
|
227 |
|
228 |
1.1 sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild |
229 |
|
230 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild?rev=1.1&view=markup |
231 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild?rev=1.1&content-type=text/plain |
232 |
|
233 |
Index: openmpi-1.8.3-r1.ebuild |
234 |
=================================================================== |
235 |
# Copyright 1999-2015 Gentoo Foundation |
236 |
# Distributed under the terms of the GNU General Public License v2 |
237 |
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $ |
238 |
|
239 |
EAPI=5 |
240 |
|
241 |
FORTRAN_NEEDED=fortran |
242 |
|
243 |
inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator |
244 |
|
245 |
MY_P=${P/-mpi} |
246 |
S=${WORKDIR}/${MY_P} |
247 |
|
248 |
IUSE_OPENMPI_FABRICS=" |
249 |
openmpi_fabrics_ofed |
250 |
openmpi_fabrics_knem |
251 |
openmpi_fabrics_open-mx |
252 |
openmpi_fabrics_psm" |
253 |
|
254 |
IUSE_OPENMPI_RM=" |
255 |
openmpi_rm_pbs |
256 |
openmpi_rm_slurm" |
257 |
|
258 |
IUSE_OPENMPI_OFED_FEATURES=" |
259 |
openmpi_ofed_features_control-hdr-padding |
260 |
openmpi_ofed_features_connectx-xrc |
261 |
openmpi_ofed_features_udcm |
262 |
openmpi_ofed_features_rdmacm |
263 |
openmpi_ofed_features_dynamic-sl |
264 |
openmpi_ofed_features_failover" |
265 |
|
266 |
DESCRIPTION="A high-performance message passing library (MPI)" |
267 |
HOMEPAGE="http://www.open-mpi.org" |
268 |
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" |
269 |
LICENSE="BSD" |
270 |
SLOT="0" |
271 |
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" |
272 |
IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt |
273 |
${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" |
274 |
|
275 |
REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) |
276 |
openmpi_rm_pbs? ( !openmpi_rm_slurm ) |
277 |
openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) |
278 |
openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) |
279 |
openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) |
280 |
openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) |
281 |
openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) |
282 |
openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) |
283 |
openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" |
284 |
|
285 |
MPI_UNCLASSED_DEP_STR=" |
286 |
vt? ( |
287 |
!dev-libs/libotf |
288 |
!app-text/lcdf-typetools |
289 |
)" |
290 |
|
291 |
RDEPEND=" |
292 |
!sys-cluster/mpich |
293 |
!sys-cluster/mpich2 |
294 |
!sys-cluster/mpiexec |
295 |
dev-libs/libevent |
296 |
dev-libs/libltdl:0 |
297 |
>=sys-apps/hwloc-1.7.2 |
298 |
sys-libs/zlib |
299 |
cuda? ( dev-util/nvidia-cuda-toolkit ) |
300 |
elibc_FreeBSD? ( dev-libs/libexecinfo ) |
301 |
openmpi_fabrics_ofed? ( sys-infiniband/ofed ) |
302 |
openmpi_fabrics_knem? ( sys-cluster/knem ) |
303 |
openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) |
304 |
openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm ) |
305 |
openmpi_rm_pbs? ( sys-cluster/torque ) |
306 |
openmpi_rm_slurm? ( sys-cluster/slurm ) |
307 |
openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm ) |
308 |
" |
309 |
DEPEND="${RDEPEND}" |
310 |
|
311 |
pkg_setup() { |
312 |
fortran-2_pkg_setup |
313 |
|
314 |
if use mpi-threads; then |
315 |
echo |
316 |
ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" |
317 |
ewarn "default and officially unsupported by upstream." |
318 |
ewarn "You may stop now and set USE=-mpi-threads" |
319 |
echo |
320 |
fi |
321 |
|
322 |
echo |
323 |
elog "OpenMPI has an overwhelming count of configuration options." |
324 |
elog "Don't forget the EXTRA_ECONF environment variable can let you" |
325 |
elog "specify configure options if you find them necessary." |
326 |
echo |
327 |
} |
328 |
|
329 |
src_prepare() { |
330 |
# Necessary for scalibility, see |
331 |
# http://www.open-mpi.org/community/lists/users/2008/09/6514.php |
332 |
if use threads; then |
333 |
echo 'oob_tcp_listen_mode = listen_thread' \ |
334 |
>> opal/etc/openmpi-mca-params.conf |
335 |
fi |
336 |
|
337 |
# https://github.com/open-mpi/ompi/issues/163 |
338 |
epatch "${FILESDIR}"/openmpi-ltdl.patch |
339 |
|
340 |
AT_M4DIR=config eautoreconf |
341 |
} |
342 |
|
343 |
src_configure() { |
344 |
local myconf=( |
345 |
--sysconfdir="${EPREFIX}/etc/${PN}" |
346 |
--enable-pretty-print-stacktrace |
347 |
--enable-orterun-prefix-by-default |
348 |
--with-hwloc="${EPREFIX}/usr" |
349 |
--with-libltdl=external |
350 |
) |
351 |
|
352 |
if use mpi-threads; then |
353 |
myconf+=(--enable-mpi-threads |
354 |
--enable-opal-multi-threads) |
355 |
fi |
356 |
|
357 |
if use fortran; then |
358 |
myconf+=(--enable-mpi-fortran=all) |
359 |
else |
360 |
myconf+=(--enable-mpi-fortran=no) |
361 |
fi |
362 |
|
363 |
! use vt && myconf+=(--enable-contrib-no-build=vt) |
364 |
|
365 |
econf "${myconf[@]}" \ |
366 |
$(use_enable cxx mpi-cxx) \ |
367 |
$(use_with cma) \ |
368 |
$(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ |
369 |
$(use_enable romio io-romio) \ |
370 |
$(use_enable heterogeneous) \ |
371 |
$(use_enable ipv6) \ |
372 |
$(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ |
373 |
$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ |
374 |
$(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ |
375 |
$(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ |
376 |
$(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ |
377 |
$(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ |
378 |
$(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ |
379 |
$(use_enable openmpi_ofed_features_udcm openib-udcm) \ |
380 |
$(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ |
381 |
$(use_enable openmpi_ofed_features_failover btl-openib-failover) \ |
382 |
$(use_with openmpi_rm_pbs tm) \ |
383 |
$(use_with openmpi_rm_slurm slurm) |
384 |
} |
385 |
|
386 |
src_install () { |
387 |
emake DESTDIR="${D}" install |
388 |
|
389 |
# From USE=vt see #359917 |
390 |
rm "${ED}"/usr/share/libtool &> /dev/null |
391 |
|
392 |
# Avoid collisions with libevent |
393 |
rm -rf "${ED}"/usr/include/event2 &> /dev/null |
394 |
|
395 |
# Remove la files, no static libs are installed and we have pkg-config |
396 |
find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete |
397 |
|
398 |
dodoc README AUTHORS NEWS VERSION || die |
399 |
} |
400 |
|
401 |
src_test() { |
402 |
# Doesn't work with the default src_test as the dry run (-n) fails. |
403 |
emake -j1 check |
404 |
} |
405 |
|
406 |
|
407 |
|
408 |
1.1 sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild |
409 |
|
410 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild?rev=1.1&view=markup |
411 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild?rev=1.1&content-type=text/plain |
412 |
|
413 |
Index: openmpi-1.7.5-r1.ebuild |
414 |
=================================================================== |
415 |
# Copyright 1999-2015 Gentoo Foundation |
416 |
# Distributed under the terms of the GNU General Public License v2 |
417 |
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $ |
418 |
|
419 |
EAPI=5 |
420 |
|
421 |
FORTRAN_NEEDED=fortran |
422 |
|
423 |
inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator |
424 |
|
425 |
MY_P=${P/-mpi} |
426 |
S=${WORKDIR}/${MY_P} |
427 |
|
428 |
IUSE_OPENMPI_FABRICS=" |
429 |
openmpi_fabrics_ofed |
430 |
openmpi_fabrics_knem |
431 |
openmpi_fabrics_open-mx |
432 |
openmpi_fabrics_psm" |
433 |
|
434 |
IUSE_OPENMPI_RM=" |
435 |
openmpi_rm_pbs |
436 |
openmpi_rm_slurm" |
437 |
|
438 |
IUSE_OPENMPI_OFED_FEATURES=" |
439 |
openmpi_ofed_features_control-hdr-padding |
440 |
openmpi_ofed_features_connectx-xrc |
441 |
openmpi_ofed_features_rdmacm |
442 |
openmpi_ofed_features_dynamic-sl |
443 |
openmpi_ofed_features_failover" |
444 |
|
445 |
DESCRIPTION="A high-performance message passing library (MPI)" |
446 |
HOMEPAGE="http://www.open-mpi.org" |
447 |
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" |
448 |
LICENSE="BSD" |
449 |
SLOT="0" |
450 |
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" |
451 |
IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt |
452 |
${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" |
453 |
|
454 |
REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) |
455 |
openmpi_rm_pbs? ( !openmpi_rm_slurm ) |
456 |
openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) |
457 |
openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) |
458 |
openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) |
459 |
openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) |
460 |
openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) |
461 |
openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" |
462 |
|
463 |
MPI_UNCLASSED_DEP_STR=" |
464 |
vt? ( |
465 |
!dev-libs/libotf |
466 |
!app-text/lcdf-typetools |
467 |
)" |
468 |
|
469 |
RDEPEND=" |
470 |
!sys-cluster/mpich |
471 |
!sys-cluster/mpich2 |
472 |
!sys-cluster/mpiexec |
473 |
dev-libs/libevent |
474 |
dev-libs/libltdl:0 |
475 |
>=sys-apps/hwloc-1.7.2 |
476 |
cuda? ( dev-util/nvidia-cuda-toolkit ) |
477 |
elibc_FreeBSD? ( dev-libs/libexecinfo ) |
478 |
openmpi_fabrics_ofed? ( sys-infiniband/ofed ) |
479 |
openmpi_fabrics_knem? ( sys-cluster/knem ) |
480 |
openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) |
481 |
openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm ) |
482 |
openmpi_rm_pbs? ( sys-cluster/torque ) |
483 |
openmpi_rm_slurm? ( sys-cluster/slurm ) |
484 |
openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm ) |
485 |
" |
486 |
DEPEND="${RDEPEND}" |
487 |
|
488 |
pkg_setup() { |
489 |
fortran-2_pkg_setup |
490 |
|
491 |
if use mpi-threads; then |
492 |
echo |
493 |
ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" |
494 |
ewarn "default and officially unsupported by upstream." |
495 |
ewarn "You may stop now and set USE=-mpi-threads" |
496 |
echo |
497 |
fi |
498 |
|
499 |
echo |
500 |
elog "OpenMPI has an overwhelming count of configuration options." |
501 |
elog "Don't forget the EXTRA_ECONF environment variable can let you" |
502 |
elog "specify configure options if you find them necessary." |
503 |
echo |
504 |
} |
505 |
|
506 |
src_prepare() { |
507 |
# Necessary for scalibility, see |
508 |
# http://www.open-mpi.org/community/lists/users/2008/09/6514.php |
509 |
if use threads; then |
510 |
echo 'oob_tcp_listen_mode = listen_thread' \ |
511 |
>> opal/etc/openmpi-mca-params.conf |
512 |
fi |
513 |
|
514 |
# https://github.com/open-mpi/ompi/issues/163 |
515 |
epatch "${FILESDIR}"/openmpi-ltdl.patch |
516 |
|
517 |
AT_M4DIR=config eautoreconf |
518 |
} |
519 |
|
520 |
src_configure() { |
521 |
local myconf=( |
522 |
--sysconfdir="${EPREFIX}/etc/${PN}" |
523 |
--enable-pretty-print-stacktrace |
524 |
--enable-orterun-prefix-by-default |
525 |
--with-hwloc="${EPREFIX}/usr" |
526 |
--with-libltdl=external |
527 |
) |
528 |
|
529 |
if use mpi-threads; then |
530 |
myconf+=(--enable-mpi-threads |
531 |
--enable-opal-multi-threads) |
532 |
fi |
533 |
|
534 |
if use fortran; then |
535 |
if [[ $(tc-getFC) =~ g77 ]]; then |
536 |
myconf+=(--disable-mpi-f90) |
537 |
elif [[ $(tc-getFC) =~ if ]]; then |
538 |
# Enabled here as gfortran compile times are huge with this enabled. |
539 |
myconf+=(--with-mpi-f90-size=medium) |
540 |
fi |
541 |
else |
542 |
myconf+=(--disable-mpi-f90 --disable-mpi-f77) |
543 |
fi |
544 |
|
545 |
! use vt && myconf+=(--enable-contrib-no-build=vt) |
546 |
|
547 |
econf "${myconf[@]}" \ |
548 |
$(use_enable cxx mpi-cxx) \ |
549 |
$(use_with cma) \ |
550 |
$(use_with cuda cuda "$EPREFIX"/opt/cuda) \ |
551 |
$(use_enable romio io-romio) \ |
552 |
$(use_enable heterogeneous) \ |
553 |
$(use_enable ipv6) \ |
554 |
$(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ |
555 |
$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ |
556 |
$(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ |
557 |
$(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ |
558 |
$(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ |
559 |
$(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ |
560 |
$(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ |
561 |
$(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ |
562 |
$(use_enable openmpi_ofed_features_failover btl-openib-failover) \ |
563 |
$(use_with openmpi_rm_pbs tm) \ |
564 |
$(use_with openmpi_rm_slurm slurm) |
565 |
} |
566 |
|
567 |
src_install () { |
568 |
emake DESTDIR="${D}" install |
569 |
# From USE=vt see #359917 |
570 |
rm "${ED}"/usr/share/libtool &> /dev/null |
571 |
# Avoid collisions with libevent |
572 |
rm -rf "${ED}"/usr/include/event2 &> /dev/null |
573 |
dodoc README AUTHORS NEWS VERSION || die |
574 |
} |
575 |
|
576 |
src_test() { |
577 |
# Doesn't work with the default src_test as the dry run (-n) fails. |
578 |
|
579 |
# Do not override malloc during build. Works around #462602 |
580 |
emake -j1 check |
581 |
} |
582 |
|
583 |
|
584 |
|
585 |
1.1 sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild |
586 |
|
587 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild?rev=1.1&view=markup |
588 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild?rev=1.1&content-type=text/plain |
589 |
|
590 |
Index: openmpi-1.8.4-r1.ebuild |
591 |
=================================================================== |
592 |
# Copyright 1999-2015 Gentoo Foundation |
593 |
# Distributed under the terms of the GNU General Public License v2 |
594 |
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $ |
595 |
|
596 |
EAPI=5 |
597 |
|
598 |
FORTRAN_NEEDED=fortran |
599 |
|
600 |
inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator |
601 |
|
602 |
MY_P=${P/-mpi} |
603 |
S=${WORKDIR}/${MY_P} |
604 |
|
605 |
IUSE_OPENMPI_FABRICS=" |
606 |
openmpi_fabrics_ofed |
607 |
openmpi_fabrics_knem |
608 |
openmpi_fabrics_open-mx |
609 |
openmpi_fabrics_psm" |
610 |
|
611 |
IUSE_OPENMPI_RM=" |
612 |
openmpi_rm_pbs |
613 |
openmpi_rm_slurm" |
614 |
|
615 |
IUSE_OPENMPI_OFED_FEATURES=" |
616 |
openmpi_ofed_features_control-hdr-padding |
617 |
openmpi_ofed_features_connectx-xrc |
618 |
openmpi_ofed_features_udcm |
619 |
openmpi_ofed_features_rdmacm |
620 |
openmpi_ofed_features_dynamic-sl |
621 |
openmpi_ofed_features_failover" |
622 |
|
623 |
DESCRIPTION="A high-performance message passing library (MPI)" |
624 |
HOMEPAGE="http://www.open-mpi.org" |
625 |
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" |
626 |
LICENSE="BSD" |
627 |
SLOT="0" |
628 |
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" |
629 |
IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt |
630 |
${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" |
631 |
|
632 |
REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) |
633 |
openmpi_rm_pbs? ( !openmpi_rm_slurm ) |
634 |
openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) |
635 |
openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) |
636 |
openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) |
637 |
openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) |
638 |
openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) |
639 |
openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) |
640 |
openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" |
641 |
|
642 |
MPI_UNCLASSED_DEP_STR=" |
643 |
vt? ( |
644 |
!dev-libs/libotf |
645 |
!app-text/lcdf-typetools |
646 |
)" |
647 |
|
648 |
RDEPEND=" |
649 |
!sys-cluster/mpich |
650 |
!sys-cluster/mpich2 |
651 |
!sys-cluster/mpiexec |
652 |
dev-libs/libevent |
653 |
dev-libs/libltdl:0 |
654 |
>=sys-apps/hwloc-1.9.1 |
655 |
sys-libs/zlib |
656 |
cuda? ( dev-util/nvidia-cuda-toolkit ) |
657 |
elibc_FreeBSD? ( dev-libs/libexecinfo ) |
658 |
openmpi_fabrics_ofed? ( sys-infiniband/ofed ) |
659 |
openmpi_fabrics_knem? ( sys-cluster/knem ) |
660 |
openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) |
661 |
openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm ) |
662 |
openmpi_rm_pbs? ( sys-cluster/torque ) |
663 |
openmpi_rm_slurm? ( sys-cluster/slurm ) |
664 |
openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm ) |
665 |
" |
666 |
DEPEND="${RDEPEND}" |
667 |
|
668 |
pkg_setup() { |
669 |
fortran-2_pkg_setup |
670 |
|
671 |
if use mpi-threads; then |
672 |
echo |
673 |
ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" |
674 |
ewarn "default and officially unsupported by upstream." |
675 |
ewarn "You may stop now and set USE=-mpi-threads" |
676 |
echo |
677 |
fi |
678 |
|
679 |
echo |
680 |
elog "OpenMPI has an overwhelming count of configuration options." |
681 |
elog "Don't forget the EXTRA_ECONF environment variable can let you" |
682 |
elog "specify configure options if you find them necessary." |
683 |
echo |
684 |
} |
685 |
|
686 |
src_prepare() { |
687 |
# Necessary for scalibility, see |
688 |
# http://www.open-mpi.org/community/lists/users/2008/09/6514.php |
689 |
if use threads; then |
690 |
echo 'oob_tcp_listen_mode = listen_thread' \ |
691 |
>> opal/etc/openmpi-mca-params.conf |
692 |
fi |
693 |
|
694 |
# https://github.com/open-mpi/ompi/issues/163 |
695 |
epatch "${FILESDIR}"/openmpi-ltdl.patch |
696 |
|
697 |
AT_M4DIR=config eautoreconf |
698 |
} |
699 |
|
700 |
src_configure() { |
701 |
local myconf=( |
702 |
--sysconfdir="${EPREFIX}/etc/${PN}" |
703 |
--enable-pretty-print-stacktrace |
704 |
--enable-orterun-prefix-by-default |
705 |
--with-hwloc="${EPREFIX}/usr" |
706 |
--with-libltdl=external |
707 |
) |
708 |
|
709 |
if use mpi-threads; then |
710 |
myconf+=(--enable-mpi-threads |
711 |
--enable-opal-multi-threads) |
712 |
fi |
713 |
|
714 |
if use fortran; then |
715 |
myconf+=(--enable-mpi-fortran=all) |
716 |
else |
717 |
myconf+=(--enable-mpi-fortran=no) |
718 |
fi |
719 |
|
720 |
! use vt && myconf+=(--enable-contrib-no-build=vt) |
721 |
|
722 |
econf "${myconf[@]}" \ |
723 |
$(use_enable cxx mpi-cxx) \ |
724 |
$(use_with cma) \ |
725 |
$(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ |
726 |
$(use_enable romio io-romio) \ |
727 |
$(use_enable heterogeneous) \ |
728 |
$(use_enable ipv6) \ |
729 |
$(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ |
730 |
$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ |
731 |
$(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ |
732 |
$(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ |
733 |
$(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ |
734 |
$(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ |
735 |
$(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ |
736 |
$(use_enable openmpi_ofed_features_udcm openib-udcm) \ |
737 |
$(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ |
738 |
$(use_enable openmpi_ofed_features_failover btl-openib-failover) \ |
739 |
$(use_with openmpi_rm_pbs tm) \ |
740 |
$(use_with openmpi_rm_slurm slurm) |
741 |
} |
742 |
|
743 |
src_install () { |
744 |
emake DESTDIR="${D}" install |
745 |
|
746 |
# From USE=vt see #359917 |
747 |
rm "${ED}"/usr/share/libtool &> /dev/null |
748 |
|
749 |
# Avoid collisions with libevent |
750 |
rm -rf "${ED}"/usr/include/event2 &> /dev/null |
751 |
|
752 |
# Remove la files, no static libs are installed and we have pkg-config |
753 |
find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete |
754 |
|
755 |
dodoc README AUTHORS NEWS VERSION || die |
756 |
} |
757 |
|
758 |
src_test() { |
759 |
# Doesn't work with the default src_test as the dry run (-n) fails. |
760 |
emake -j1 check |
761 |
} |