Gentoo Archives: gentoo-commits

From: "Justin Bronder (jsbronder)" <jsbronder@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-cluster/openmpi: openmpi-1.6.5-r1.ebuild openmpi-1.8.3-r1.ebuild ChangeLog openmpi-1.7.5-r1.ebuild openmpi-1.8.4-r1.ebuild
Date: Wed, 04 Feb 2015 21:46:37
Message-Id: 20150204214632.813E311102@oystercatcher.gentoo.org
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 }