diff options
Diffstat (limited to 'sys-cluster/mpich/mpich-1.2.6-r3.ebuild')
-rw-r--r-- | sys-cluster/mpich/mpich-1.2.6-r3.ebuild | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/sys-cluster/mpich/mpich-1.2.6-r3.ebuild b/sys-cluster/mpich/mpich-1.2.6-r3.ebuild new file mode 100644 index 000000000000..033d980a1d07 --- /dev/null +++ b/sys-cluster/mpich/mpich-1.2.6-r3.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich/mpich-1.2.6-r3.ebuild,v 1.1 2005/09/05 13:48:40 tantive Exp $ + +inherit eutils + +# Set the MPICH_CONFIGURE_OPTS environment variable to change the signal +# mpich listens on or any other custom options (#38207). +# The default USR1 conflicts with pthreads. Options include SIGUSR2 and SIGBUS. +# For example: MPICH_CONFIGURE_OPTS="--with-device=ch_p4:-listener_sig=SIGBUS" + +DESCRIPTION="MPICH - A portable MPI implementation" +HOMEPAGE="http://www-unix.mcs.anl.gov/mpi/mpich" +SRC_URI="ftp://ftp.mcs.anl.gov/pub/mpi/${P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~x86 ~ppc ~amd64 ~ppc64" +IUSE="doc crypt" + +PROVIDE="virtual/mpi" +DEPEND="virtual/libc + sys-devel/autoconf + sys-devel/automake + sys-devel/libtool" +RDEPEND="${DEPEND} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh ) + !virtual/mpi" + +pkg_setup() { + if [ -n "${MPICH_CONFIGURE_OPTS}" ]; then + einfo "Custom configure options are ${MPICH_CONFIGURE_OPTS}." + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + grep -FrlZ '$(P) ' . | xargs -0 sed -i -e 's/\$(P)//' + + # Fix broken romio + epatch ${FILESDIR}/${PV}-fix-romio-sandbox-breakage.patch + cd ${S}/romio + rm configure + autoreconf --install --verbose +} + +src_compile() { + local RSHCOMMAND + + if use crypt; then + RSHCOMMAND="ssh -x" + else + RSHCOMMAND="rsh" + fi + + export RSHCOMMAND + + local myconf="${myconf} ${MPICH_CONFIGURE_OPTS}" + + ./configure \ + ${myconf} \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --datadir=/usr/share/mpich || die + make || die +} + +src_install() { + dodir /usr/sbin + + # mpich install process is really weird, need to do some hand work perhaps + + # to skip installation of man pages, uncomment following line + # export MPIINSTALL_OPTS=-noman + + ./bin/mpiinstall -echo -prefix=${D}/usr || die + + if use doc; then + dodir /usr/share/doc/${PF} + mv ${D}/usr/doc/* ${D}/usr/share/doc/${PF} + fi + rm -rf ${D}/usr/doc/ + + dodir /etc/mpich + mv ${D}/usr/etc/* ${D}/etc/mpich/ + rmdir ${D}/usr/etc/ + + dodir /usr/share/${PN} + mv ${D}/usr/examples ${D}/usr/share/${PN}/examples1 + mv ${D}/usr/share/examples ${D}/usr/share/${PN}/examples2 + + # rm -rf ${D}/usr/local + rm -f ${D}/usr/man/mandesc + + mv ${D}/usr/share/{machines*,jumpshot-3,Makefile.sample,upshot} ${D}/usr/share/${PN} + + dodoc COPYRIGHT README + use doc && \ + mv ${D}/usr/www ${D}/usr/share/doc/${PF}/html || \ + rm -rf ${D}/usr/www + + # Dont let users deinstall without portage + rm ${D}/usr/sbin/mpiuninstall + + # We dont have a real DESTDIR, so we have to fix all the files + dosed /usr/bin/mpirun /usr/bin/mpiman /usr/sbin/tstmachines + dosed /usr/sbin/chkserv /usr/sbin/chp4_servs + dosed /usr/bin/clog2TOslog2 /usr/bin/clog2print + dosed /usr/bin/clogTOslog2 /usr/bin/clogprint + dosed /usr/bin/jumpshot /usr/bin/logconvertor + dosed /usr/bin/mpicc /usr/bin/mpiCC /usr/bin/logviewer + dosed /usr/bin/mpicxx + dosed /usr/bin/mpireconfig /usr/bin/mpireconfig.dat + dosed /usr/bin/mpereconfig /usr/bin/mpereconfig.dat + dosed /usr/bin/rlogTOslog2 /usr/bin/rlogprint + dosed /usr/bin/slog2navigator /usr/bin/slog2print + + dosed /usr/share/mpich/examples1/Makefile + dosed /usr/share/mpich/examples2/Makefile + dosed /usr/share/mpich/jumpshot-3/bin/jumpshot + dosed /usr/share/mpich/jumpshot-3/bin/slog_print + dosed /usr/share/mpich/Makefile.sample + dosed /usr/share/mpich/upshot/bin/upshot + + # those are dangling symlinks + rm -f \ + ${D}/usr/share/mpich/examples1/mpirun \ + ${D}/usr/share/mpich/examples2/mpirun + + mv ${D}/usr/man ${D}/usr/share/man + prepallman + + #FIXME: Here, we should either clean the empty directories + # or use keepdir to make sure they stick around. +} + +pkg_postinst() { + einfo "The data directory has moved from /usr/share" + einfo "to /usr/share/mpich." + einfo "Remeber to move your machines.* files." +} |