(#103218) Overrule mpich's broken build system to get datadir set to /usr/share/mpich...
authorDonnie Berkholz <dberkholz@gentoo.org>
Mon, 7 Nov 2005 01:31:39 +0000 (01:31 +0000)
committerDonnie Berkholz <dberkholz@gentoo.org>
Mon, 7 Nov 2005 01:31:39 +0000 (01:31 +0000)
Package-Manager: portage-2.0.53_rc7

sys-cluster/mpich/ChangeLog
sys-cluster/mpich/Manifest
sys-cluster/mpich/files/digest-mpich-1.2.6-r4 [new file with mode: 0644]
sys-cluster/mpich/mpich-1.2.6-r4.ebuild [new file with mode: 0644]

index 6f96004f55bd207993ea171b2164016eec2c656d..d0a107c4a08b60ef4d087c3c663da1f4f085305a 100644 (file)
@@ -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)
 
index 2eca6fca41f273e3c312c104871d78095fd8f82e..d65a88c8299126fe5e42317b93c8ad6590463949 100644 (file)
@@ -1,17 +1,9 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 cf2a73ff675f1c3d65e2966fcdc089bf mpich-1.2.6-r3.ebuild 3851
-MD5 41664043c4624dedcfeeb07950f08d13 metadata.xml 312
-MD5 8eacbf2545cb734881325949b4917bcb ChangeLog 2878
-MD5 98a487c171803a3afbb88e803d5fb8ff mpich-1.2.5.2.ebuild 3168
+MD5 1901517965a53722a8af01a58db196ad ChangeLog 3301
 MD5 e878381a3b6165630ef1a8b3989076c8 files/1.2.6-fix-romio-sandbox-breakage.patch 690
 MD5 11a56e15994b5f4fe1ae37ebde20fa50 files/digest-mpich-1.2.5.2 67
 MD5 049b041ef984698a3827b0f24e11669e files/digest-mpich-1.2.6-r3 65
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
-
-iD8DBQFDHE1FKtJO8LeSoosRAtyRAJ9p59qBUnzIOsLx23Ijfq8FMyNYmQCfW45h
-s6qlek2TSNgAzTPh35od7kc=
-=flAZ
------END PGP SIGNATURE-----
+MD5 049b041ef984698a3827b0f24e11669e files/digest-mpich-1.2.6-r4 65
+MD5 41664043c4624dedcfeeb07950f08d13 metadata.xml 312
+MD5 98a487c171803a3afbb88e803d5fb8ff mpich-1.2.5.2.ebuild 3168
+MD5 cf2a73ff675f1c3d65e2966fcdc089bf mpich-1.2.6-r3.ebuild 3851
+MD5 76e7f94d8ae8ac8372fc56a14d84333e mpich-1.2.6-r4.ebuild 4058
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 (file)
index 0000000..537b23d
--- /dev/null
@@ -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 (file)
index 0000000..1cb535f
--- /dev/null
@@ -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."
+}