blob: 22ec573993979f3e831540b98c0b4ead376e5231 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=0
MY_PN=${PN#osc-}
DESCRIPTION="replacement for mpirun, integrates MPI with PBS"
SRC_URI="http://www.osc.edu/~djohnson/mpiexec/${MY_PN}-${PV}.tgz"
HOMEPAGE="http://www.osc.edu/~djohnson/mpiexec/index.php"
DEPEND="sys-cluster/torque"
RDEPEND="${DEPEND}
net-misc/openssh"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~ppc x86"
IUSE=""
S="${WORKDIR}"/${MY_PN}-${PV}
RESTRICT="test"
# The test suite that is included with the source requires
# the ability to qsub a number of jobs. Such behavior
# obviously does not belong in the ebuild.
src_compile() {
local c="--with-default-comm=mpich-p4
--with-pbs=/usr/
--with-mpicc=/usr/bin/mpicc
--with-mpif77=/usr/bin/mpif77"
# The following at the recommendation of README, Cray specific.
c="${c} --disable-mpich-rai"
econf ${c} || die
emake || die "compile failed"
}
src_install() {
local f
emake DESTDIR="${D}" install || die
# And the following so that osc-mpiexec doesn't conflict with
# the packaged mpiexec's that all the MPI-2 implementations have.
for f in $(find "${D}" -name 'mpiexec*'); do
mv ${f} $(dirname ${f})/osc-$(basename ${f}) \
|| die "Failed to prefix binary ${f} with osc-"
done
dodoc README README.lam ChangeLog
}
pkg_postinst() {
elog "The OSC Mpiexec package typically installs it's binaries"
elog "and manpages as 'mpiexec'. However, this ebuild renames"
elog "those to be prefixed with 'osc-' in order to avoid blocking"
elog "against the exact packages that osc-mpiexec is meant to"
elog "work with."
elog
elog "The default communication device has been set to mpich-p4"
elog "(ethernet). If you wish to use another communication"
elog "device, either set MPIEXEC_COMM in your environment or use"
elog "the --comm argument to mpiexec."
}
|