From 26517dfc8616838f327043739373dc692a3db9d7 Mon Sep 17 00:00:00 2001 From: Donnie Berkholz Date: Mon, 7 Nov 2005 01:31:39 +0000 Subject: (#103218) Overrule mpich's broken build system to get datadir set to /usr/share/mpich. Also, add dependency on libX11 or virtual/x11 for cxgraphics and cpi_anim. I'm open to patches to stop building them and prevent the X dependency. In addition, change 'make' to 'emake' to allow parallel builds. (Portage version: 2.0.53_rc7) --- sys-cluster/mpich/ChangeLog | 12 ++- sys-cluster/mpich/files/digest-mpich-1.2.6-r4 | 1 + sys-cluster/mpich/mpich-1.2.6-r4.ebuild | 149 ++++++++++++++++++++++++++ 3 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 sys-cluster/mpich/files/digest-mpich-1.2.6-r4 create mode 100644 sys-cluster/mpich/mpich-1.2.6-r4.ebuild (limited to 'sys-cluster') diff --git a/sys-cluster/mpich/ChangeLog b/sys-cluster/mpich/ChangeLog index 6f96004f55bd..d0a107c4a08b 100644 --- a/sys-cluster/mpich/ChangeLog +++ b/sys-cluster/mpich/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-cluster/mpich # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich/ChangeLog,v 1.21 2005/09/05 13:48:40 tantive Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich/ChangeLog,v 1.22 2005/11/07 01:31:39 spyderous Exp $ + +*mpich-1.2.6-r4 (07 Nov 2005) + + 07 Nov 2005; Donnie Berkholz ; + +mpich-1.2.6-r4.ebuild: + (#103218) Overrule mpich's broken build system to get datadir set to + /usr/share/mpich. Also, add dependency on libX11 or virtual/x11 for + cxgraphics and cpi_anim. I'm open to patches to stop building them and + prevent the X dependency. In addition, change 'make' to 'emake' to allow + parallel builds. *mpich-1.2.6-r3 (05 Sep 2005) diff --git a/sys-cluster/mpich/files/digest-mpich-1.2.6-r4 b/sys-cluster/mpich/files/digest-mpich-1.2.6-r4 new file mode 100644 index 000000000000..537b23d89d79 --- /dev/null +++ b/sys-cluster/mpich/files/digest-mpich-1.2.6-r4 @@ -0,0 +1 @@ +MD5 dbf6ea0b5717bbf88851e5bd36aed644 mpich-1.2.6.tar.gz 15248688 diff --git a/sys-cluster/mpich/mpich-1.2.6-r4.ebuild b/sys-cluster/mpich/mpich-1.2.6-r4.ebuild new file mode 100644 index 000000000000..1cb535fa0e50 --- /dev/null +++ b/sys-cluster/mpich/mpich-1.2.6-r4.ebuild @@ -0,0 +1,149 @@ +# 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-r4.ebuild,v 1.1 2005/11/07 01:31:39 spyderous 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 + || ( x11-libs/libX11 + virtual/x11 )" + +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 + emake || 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 + + # Fix datadir; mpich's build system screws it up even though we pass it + grep -rl 'datadir=.*' ${D} \ + | xargs sed -i -e "s:datadir=.*:datadir=/usr/share/mpich:g" + + # 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." +} -- cgit v1.2.3-65-gdbad