From 3451f1d173fe92f53238493af14569bf3916ff7b Mon Sep 17 00:00:00 2001 From: jsbronder Date: Wed, 5 Nov 2008 05:00:38 +0000 Subject: Updated mpi.eclass to handle packages with blockers and mpich2 git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@1336 32389bae-6d03-0410-99cf-db05cde120eb --- eclass/mpi.eclass | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'eclass/mpi.eclass') diff --git a/eclass/mpi.eclass b/eclass/mpi.eclass index cfc03153b..3692a0313 100644 --- a/eclass/mpi.eclass +++ b/eclass/mpi.eclass @@ -86,19 +86,35 @@ # mpi_do_make_install: Same as above but for installing. +# Variables: +# MPI_ESELECT_FILE: Name of the eselect file in ${FILESDIR} +# MPI_NOEMPI_BLOCKERS: String of packages we should block against if not using +# empi. See mpich2 and mpd. +# MPI_EMPI_COMPAT: String of all base implementations that this package +# works with. See __MPI_EMPI_COMPAT, this is a list of +# [><=]${PN}-${PVR} put into DEPEND with ||. + inherit multilib flag-o-matic -MPI_EMPI_COMPAT="openmpi-1.2.5-r1 lam-mpi-7.1.4-r1 openib-mvapich2-1.0.1-r1" +__MPI_EMPI_COMPAT=" + >=openmpi-1.2.5-r1 + >=lam-mpi-7.1.4-r1 + >=openib-mvapich2-1.0.1-r1 + >=mpich2-1.0.8" MPI_ALL_IMPS="mpich mpich2 openmpi lam-mpi openib-mvapich2" +MPI_EMPI_COMPAT="${MPI_EMPI_COMPAT:-${__MPI_EMPI_COMPAT}}" #TODO: doc mpi_pkg_deplist() { local i ver if [ -z "$(get_imp)" ]; then ver="virtual/mpi" + for i in ${MPI_NOEMPI_BLOCKERS}; do + ver="${ver} !${i}" + done else for i in ${MPI_EMPI_COMPAT}; do - ver="${ver} >=${CATEGORY}/${i}" + ver="${ver} ${CATEGORY}/${i}" done ver="|| (${ver} ) app-admin/eselect-mpi" fi @@ -111,6 +127,9 @@ mpi_imp_deplist() { for i in ${MPI_ALL_IMPS}; do [ "${i}" != "${PN}" ] && ver="${ver} !sys-cluster/${i}" done + for i in ${MPI_NOEMPI_BLOCKERS}; do + ver="${ver} !${i}" + done else ver="app-admin/eselect-mpi" fi -- cgit v1.2.3-18-g5258