summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <spyderous@gentoo.org>2005-11-07 01:31:39 +0000
committerDonnie Berkholz <spyderous@gentoo.org>2005-11-07 01:31:39 +0000
commit26517dfc8616838f327043739373dc692a3db9d7 (patch)
tree9bf71537de91c01d5062c2d6bd72d95583d1a3f3 /sys-cluster/mpich
parentStable on x86 wrt bug #111728. (diff)
downloadgentoo-2-26517dfc8616838f327043739373dc692a3db9d7.tar.gz
gentoo-2-26517dfc8616838f327043739373dc692a3db9d7.tar.bz2
gentoo-2-26517dfc8616838f327043739373dc692a3db9d7.zip
(#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)
Diffstat (limited to 'sys-cluster/mpich')
-rw-r--r--sys-cluster/mpich/ChangeLog12
-rw-r--r--sys-cluster/mpich/files/digest-mpich-1.2.6-r41
-rw-r--r--sys-cluster/mpich/mpich-1.2.6-r4.ebuild149
3 files changed, 161 insertions, 1 deletions
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 <spyderous@gentoo.org>;
+ +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."
+}