osc-mpiexec-0.83.ebuild 1.8 KB

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