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.5.4-r3.ebuild ChangeLog openmpi-1.5.4-r2.ebuild
Date: Fri, 03 Feb 2012 22:12:12
Message-Id: 20120203215552.EAE17200CF@flycatcher.gentoo.org
1 jsbronder 12/02/03 21:55:52
2
3 Modified: ChangeLog
4 Added: openmpi-1.5.4-r3.ebuild
5 Removed: openmpi-1.5.4-r2.ebuild
6 Log:
7 cleanup
8
9 (Portage version: 2.1.10.11/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.98 sys-cluster/openmpi/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?rev=1.98&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?rev=1.98&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/ChangeLog?r1=1.97&r2=1.98
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v
21 retrieving revision 1.97
22 retrieving revision 1.98
23 diff -u -r1.97 -r1.98
24 --- ChangeLog 3 Feb 2012 20:44:18 -0000 1.97
25 +++ ChangeLog 3 Feb 2012 21:55:52 -0000 1.98
26 @@ -1,6 +1,12 @@
27 # ChangeLog for sys-cluster/openmpi
28 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.97 2012/02/03 20:44:18 jsbronder Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.98 2012/02/03 21:55:52 jsbronder Exp $
31 +
32 +*openmpi-1.5.4-r3 (03 Feb 2012)
33 +
34 + 03 Feb 2012; Justin Bronder <jsbronder@g.o> -openmpi-1.5.4-r2.ebuild,
35 + +openmpi-1.5.4-r3.ebuild:
36 + cleanup
37
38 *openmpi-1.4.4 (03 Feb 2012)
39
40
41
42
43 1.1 sys-cluster/openmpi/openmpi-1.5.4-r3.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.5.4-r3.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/openmpi/openmpi-1.5.4-r3.ebuild?rev=1.1&content-type=text/plain
47
48 Index: openmpi-1.5.4-r3.ebuild
49 ===================================================================
50 # Copyright 1999-2012 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.5.4-r3.ebuild,v 1.1 2012/02/03 21:55:52 jsbronder Exp $
53
54 EAPI=4
55 inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs
56
57 MY_P=${P/-mpi}
58 S=${WORKDIR}/${MY_P}
59
60 DESCRIPTION="A high-performance message passing library (MPI)"
61 HOMEPAGE="http://www.open-mpi.org"
62 SRC_URI="http://www.open-mpi.org/software/ompi/v${P%.*}/downloads/${MY_P}.tar.bz2"
63 LICENSE="BSD"
64 SLOT="0"
65 KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux"
66 IUSE="+cxx elibc_FreeBSD fortran heterogeneous infiniband ipv6 knem mpi-threads
67 +numa open-mx pbs psm romio sctp slurm threads vt"
68
69 REQUIRED_USE="slurm? ( !pbs )
70 pbs? ( !slurm )
71 psm? ( infiniband )"
72
73 RDEPEND="
74 elibc_FreeBSD? ( dev-libs/libexecinfo )
75 fortran? ( virtual/fortran )
76 infiniband? ( sys-infiniband/openib )
77 knem? ( sys-cluster/knem )
78 numa? ( sys-process/numactl )
79 open-mx? ( sys-cluster/open-mx )
80 pbs? ( sys-cluster/torque )
81 psm? ( sys-infiniband/infinipath-psm )
82 sctp? ( net-misc/lksctp-tools )
83 vt? (
84 !dev-libs/libotf
85 !app-text/lcdf-typetools
86 )
87 >=sys-apps/hwloc-1.3
88 !sys-cluster/mpich
89 !sys-cluster/lam-mpi
90 !sys-cluster/mpich2
91 !sys-cluster/mpiexec"
92 DEPEND="${RDEPEND}"
93
94 pkg_setup() {
95 use fortran && fortran-2_pkg_setup
96 if use mpi-threads; then
97 echo
98 ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
99 ewarn "default and officially unsupported by upstream."
100 ewarn "You may stop now and set USE=-mpi-threads"
101 echo
102 fi
103
104 echo
105 elog "OpenMPI has an overwhelming count of configuration options."
106 elog "Don't forget the EXTRA_ECONF environment variable can let you"
107 elog "specify configure options if you find them necessary."
108 echo
109 }
110
111 src_prepare() {
112 # Necessary for scalibility, see
113 # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
114 if use threads; then
115 echo 'oob_tcp_listen_mode = listen_thread' \
116 >> opal/etc/openmpi-mca-params.conf
117 fi
118
119 epatch "${FILESDIR}"/openmpi-r24328.patch
120 }
121
122 src_configure() {
123 local myconf=(
124 --sysconfdir="${EPREFIX}/etc/${PN}"
125 --enable-pretty-print-stacktrace
126 --enable-orterun-prefix-by-default
127 --with-hwloc="${EPREFIX}/usr"
128 )
129
130 if use mpi-threads; then
131 myconf+=(--enable-mpi-thread-multiple
132 --enable-opal-multi-threads
133 )
134 fi
135
136 if use fortran; then
137 if [[ $(tc-getFC) =~ g77 ]]; then
138 myconf+=(--disable-mpi-f90)
139 elif [[ $(tc-getFC) =~ if ]]; then
140 # Enabled here as gfortran compile times are huge with this enabled.
141 myconf+=(--with-mpi-f90-size=medium)
142 fi
143 else
144 myconf+=(--disable-mpi-f90 --disable-mpi-f77)
145 fi
146
147 ! use vt && myconf+=(--enable-contrib-no-build=vt)
148
149 use numa && myconf+=( --with-libnuma="${EPREFIX}/usr" )
150 use infiniband && myconf+=( --with-openib="${EPREFIX}/usr" )
151 use open-mx && myconf+=( --with-mx="${EPREFIX}/usr" )
152 use psm && myconf+=( --with-psm="${EPREFIX}/usr" )
153 use knem && myconf+=( --with-knem="${EPREFIX}/usr" )
154
155 econf "${myconf[@]}" \
156 $(use_enable cxx mpi-cxx) \
157 $(use_enable romio io-romio) \
158 $(use_enable heterogeneous) \
159 $(use_enable ipv6) \
160 $(use_with infiniband openib "${EPREFIX}"/usr) \
161 $(use_with knem knem "${EPREFIX}"/usr) \
162 $(use_with numa libnuma "${EPREFIX}"/usr) \
163 $(use_with open-mx mx "${EPREFIX}"/usr) \
164 $(use_with pbs tm) \
165 $(use_with psm psm "${EPREFIX}"/usr) \
166 $(use_with sctp sctp) \
167 $(use_with slurm)
168 }
169
170 src_install () {
171 emake DESTDIR="${D}" install || die "make install failed"
172 # From USE=vt see #359917
173 rm "${ED}"/usr/share/libtool &> /dev/null
174 dodoc README AUTHORS NEWS VERSION || die
175 }
176
177 src_test() {
178 # Doesn't work with the default src_test as the dry run (-n) fails.
179 emake -j1 check || die "emake check failed"
180 }