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.2.8.ebuild
Date: Sun, 19 Oct 2008 20:01:01
Message-Id: E1KreSO-0006Iu-M9@stork.gentoo.org
1 jsbronder 08/10/19 20:00:56
2
3 Added: openmpi-1.2.8.ebuild
4 Log:
5 Bump sys-cluster/openmpi-1.2.8
6 (Portage version: 2.1.4.5)
7
8 Revision Changes Path
9 1.1 sys-cluster/openmpi/openmpi-1.2.8.ebuild
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.8.ebuild?rev=1.1&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.8.ebuild?rev=1.1&content-type=text/plain
13
14 Index: openmpi-1.2.8.ebuild
15 ===================================================================
16 # Copyright 1999-2008 Gentoo Foundation
17 # Distributed under the terms of the GNU General Public License v2
18 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.8.ebuild,v 1.1 2008/10/19 20:00:56 jsbronder Exp $
19
20 inherit eutils multilib flag-o-matic toolchain-funcs fortran
21
22 MY_P=${P/-mpi}
23 S=${WORKDIR}/${MY_P}
24
25 DESCRIPTION="A high-performance message passing library (MPI)"
26 HOMEPAGE="http://www.open-mpi.org"
27 SRC_URI="http://www.open-mpi.org/software/ompi/v1.2/downloads/${MY_P}.tar.bz2"
28 LICENSE="BSD"
29 SLOT="0"
30 RESTRICT="mpi-threads? ( test )"
31 KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
32 IUSE="fortran heterogeneous ipv6 mpi-threads nocxx pbs romio threads"
33 RDEPEND="pbs? ( sys-cluster/torque )
34 !sys-cluster/mpich
35 !sys-cluster/lam-mpi
36 !sys-cluster/mpich2"
37 DEPEND="${RDEPEND}"
38
39 pkg_setup() {
40 if use mpi-threads; then
41 ewarn
42 ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
43 ewarn "default and officially unsupported by upstream."
44 ewarn "You may stop now and set USE=-mpi-threads"
45 ewarn
46 epause 5
47 fi
48
49 elog
50 elog "OpenMPI has an overwhelming count of configuration options."
51 elog "Don't forget the EXTRA_ECONF environment variable can let you"
52 elog "specify configure options if you find them necessary."
53 elog
54
55 if use fortran; then
56 FORTRAN="g77 gfortran ifc"
57 fortran_pkg_setup
58 fi
59 }
60
61 src_unpack() {
62 unpack ${A}
63 cd "${S}"
64
65 # Necessary for scalibility, see
66 # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
67 if use threads; then
68 echo 'oob_tcp_listen_mode = listen_thread' \
69 >> opal/etc/openmpi-mca-params.conf
70 fi
71 }
72
73 src_compile() {
74 local myconf="
75 --sysconfdir=/etc/${PN}
76 --without-xgrid
77 --enable-pretty-print-stacktrace
78 --enable-orterun-prefix-by-default
79 --without-slurm"
80
81 if use mpi-threads; then
82 myconf="${myconf}
83 --enable-mpi-threads
84 --with-progress-threads"
85 fi
86
87 if use fortran; then
88 if [[ "${FORTRANC}" = "g77" ]]; then
89 myconf="${myconf} --disable-mpi-f90"
90 elif [[ "${FORTRANC}" = "gfortran" ]]; then
91 # Because that's just a pain in the butt.
92 myconf="${myconf} --with-wrapper-fflags=-I/usr/include"
93 elif [[ "${FORTRANC}" = if* ]]; then
94 # Enabled here as gfortran compile times are huge with this enabled.
95 myconf="${myconf} --with-mpi-f90-size=medium"
96 fi
97 else
98 myconf="${myconf}
99 --disable-mpi-f90
100 --disable-mpi-f77"
101 fi
102
103 econf ${myconf} \
104 $(use_enable !nocxx mpi-cxx) \
105 $(use_enable romio io-romio) \
106 $(use_enable heterogeneous) \
107 $(use_with pbs tm) \
108 $(use_enable ipv6) \
109 || die "econf failed"
110
111 emake || die "emake failed"
112 }
113
114 src_install () {
115 emake DESTDIR="${D}" install || die "make install failed"
116 dodoc README AUTHORS NEWS VERSION
117 }
118
119 src_test() {
120 # Doesn't work with the default src_test as the dry run (-n) fails.
121 cd "${S}"
122 emake -j1 check || die "emake check failed"
123 }