aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/dapl/ChangeLog17
-rw-r--r--sys-cluster/dapl/Manifest6
-rw-r--r--sys-cluster/dapl/dapl-1.2.2-r1.ebuild33
-rw-r--r--sys-cluster/dapl/dapl-2.0.1-r1.ebuild33
-rw-r--r--sys-cluster/dapl/metadata.xml10
-rw-r--r--sys-cluster/empi/ChangeLog7
-rw-r--r--sys-cluster/empi/Manifest6
-rw-r--r--sys-cluster/empi/empi-0.1.ebuild19
-rw-r--r--sys-cluster/empi/empi-0.2.ebuild27
-rw-r--r--sys-cluster/empi/files/README.txt75
-rwxr-xr-xsys-cluster/empi/files/empi326
-rw-r--r--sys-cluster/empi/files/empi-0.2.patch110
-rw-r--r--sys-cluster/hpl/ChangeLog46
-rw-r--r--sys-cluster/hpl/Manifest4
-rw-r--r--sys-cluster/hpl/hpl-1.0-r3.ebuild60
-rw-r--r--sys-cluster/hpl/metadata.xml10
-rw-r--r--sys-cluster/lam-mpi/ChangeLog302
-rw-r--r--sys-cluster/lam-mpi/Manifest8
-rw-r--r--sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch11
-rw-r--r--sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch10
-rw-r--r--sys-cluster/lam-mpi/files/7.1.4-as-needed.patch100
-rw-r--r--sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi7
-rw-r--r--sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild117
-rw-r--r--sys-cluster/lam-mpi/metadata.xml5
-rw-r--r--sys-cluster/libehca/ChangeLog9
-rw-r--r--sys-cluster/libehca/Manifest4
-rw-r--r--sys-cluster/libehca/libehca-1.1.ebuild30
-rw-r--r--sys-cluster/libehca/metadata.xml8
-rw-r--r--sys-cluster/libibcm/ChangeLog16
-rw-r--r--sys-cluster/libibcm/Manifest4
-rw-r--r--sys-cluster/libibcm/libibcm-1.0.1.ebuild28
-rw-r--r--sys-cluster/libibcm/metadata.xml8
-rw-r--r--sys-cluster/libibcommon/ChangeLog16
-rw-r--r--sys-cluster/libibcommon/Manifest4
-rw-r--r--sys-cluster/libibcommon/libibcommon-1.0.5.ebuild28
-rw-r--r--sys-cluster/libibcommon/metadata.xml9
-rw-r--r--sys-cluster/libibmad/ChangeLog16
-rw-r--r--sys-cluster/libibmad/Manifest4
-rw-r--r--sys-cluster/libibmad/libibmad-1.1.2.ebuild29
-rw-r--r--sys-cluster/libibmad/metadata.xml10
-rw-r--r--sys-cluster/libibumad/ChangeLog16
-rw-r--r--sys-cluster/libibumad/Manifest4
-rw-r--r--sys-cluster/libibumad/libibumad-1.1.3.ebuild28
-rw-r--r--sys-cluster/libibumad/metadata.xml10
-rw-r--r--sys-cluster/libibverbs/ChangeLog28
-rw-r--r--sys-cluster/libibverbs/Manifest6
-rw-r--r--sys-cluster/libibverbs/libibverbs-1.0.3.ebuild31
-rw-r--r--sys-cluster/libibverbs/libibverbs-1.1.1.ebuild31
-rw-r--r--sys-cluster/libibverbs/metadata.xml11
-rw-r--r--sys-cluster/libipathverbs/ChangeLog9
-rw-r--r--sys-cluster/libipathverbs/Manifest4
-rw-r--r--sys-cluster/libipathverbs/libipathverbs-1.1.ebuild29
-rw-r--r--sys-cluster/libipathverbs/metadata.xml10
-rw-r--r--sys-cluster/libmthca/ChangeLog16
-rw-r--r--sys-cluster/libmthca/Manifest4
-rw-r--r--sys-cluster/libmthca/libmthca-1.0.4.ebuild29
-rw-r--r--sys-cluster/libmthca/metadata.xml11
-rw-r--r--sys-cluster/librdmacm/ChangeLog14
-rw-r--r--sys-cluster/librdmacm/Manifest4
-rw-r--r--sys-cluster/librdmacm/librdmacm-1.0.3.ebuild32
-rw-r--r--sys-cluster/librdmacm/metadata.xml8
-rw-r--r--sys-cluster/libsdp/ChangeLog9
-rw-r--r--sys-cluster/libsdp/Manifest4
-rw-r--r--sys-cluster/libsdp/libsdp-1.1.ebuild29
-rw-r--r--sys-cluster/libsdp/metadata.xml10
-rw-r--r--sys-cluster/openib-diags/ChangeLog16
-rw-r--r--sys-cluster/openib-diags/Manifest5
-rw-r--r--sys-cluster/openib-diags/files/diags-perfquery.patch55
-rw-r--r--sys-cluster/openib-diags/metadata.xml8
-rw-r--r--sys-cluster/openib-diags/openib-diags-1.3.2.ebuild40
-rw-r--r--sys-cluster/openib-drivers/ChangeLog15
-rw-r--r--sys-cluster/openib-drivers/Manifest8
-rwxr-xr-xsys-cluster/openib-drivers/files/openib792
-rw-r--r--sys-cluster/openib-drivers/files/openib.modprobe12
-rw-r--r--sys-cluster/openib-drivers/metadata.xml8
-rw-r--r--sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild220
-rw-r--r--sys-cluster/openib-drivers/openib-drivers-1.2.ebuild223
-rw-r--r--sys-cluster/openib-files/ChangeLog9
-rw-r--r--sys-cluster/openib-files/Manifest8
-rw-r--r--sys-cluster/openib-files/files/90-ib.rules5
-rwxr-xr-xsys-cluster/openib-files/files/openib243
-rw-r--r--sys-cluster/openib-files/files/openib.conf27
-rw-r--r--sys-cluster/openib-files/files/openib.modprobe12
-rw-r--r--sys-cluster/openib-files/metadata.xml8
-rw-r--r--sys-cluster/openib-files/openib-files-1.1.ebuild39
-rw-r--r--sys-cluster/openib-mvapich2/ChangeLog17
-rw-r--r--sys-cluster/openib-mvapich2/Manifest10
-rw-r--r--sys-cluster/openib-mvapich2/metadata.xml8
-rw-r--r--sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild115
-rw-r--r--sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild115
-rw-r--r--sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild112
-rw-r--r--sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild112
-rw-r--r--sys-cluster/openib-osm/ChangeLog14
-rw-r--r--sys-cluster/openib-osm/Manifest8
-rw-r--r--sys-cluster/openib-osm/files/opensm.conf141
-rwxr-xr-xsys-cluster/openib-osm/files/opensm.init.d28
-rwxr-xr-xsys-cluster/openib-osm/files/opensmd277
-rwxr-xr-xsys-cluster/openib-osm/files/sldd.sh251
-rw-r--r--sys-cluster/openib-osm/metadata.xml10
-rw-r--r--sys-cluster/openib-osm/openib-osm-3.1.5.ebuild46
-rw-r--r--sys-cluster/openib-perf/ChangeLog9
-rw-r--r--sys-cluster/openib-perf/Manifest4
-rw-r--r--sys-cluster/openib-perf/metadata.xml8
-rw-r--r--sys-cluster/openib-perf/openib-perf-1.1.ebuild30
-rw-r--r--sys-cluster/openib-srptools/ChangeLog9
-rw-r--r--sys-cluster/openib-srptools/Manifest4
-rw-r--r--sys-cluster/openib-srptools/metadata.xml11
-rw-r--r--sys-cluster/openib-srptools/openib-srptools-1.1.ebuild32
-rw-r--r--sys-cluster/openib-userspace/ChangeLog18
-rw-r--r--sys-cluster/openib-userspace/Manifest9
-rw-r--r--sys-cluster/openib-userspace/files/opensm.conf.d2
-rwxr-xr-xsys-cluster/openib-userspace/files/opensm.init.d28
-rw-r--r--sys-cluster/openib-userspace/metadata.xml9
-rw-r--r--sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild95
-rw-r--r--sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild86
-rw-r--r--sys-cluster/openib-userspace/openib-userspace-1.2.ebuild85
-rw-r--r--sys-cluster/openib/ChangeLog9
-rw-r--r--sys-cluster/openib/Manifest3
-rw-r--r--sys-cluster/openib/metadata.xml8
-rw-r--r--sys-cluster/openib/openib-1.1.ebuild27
-rw-r--r--sys-cluster/openmpi/ChangeLog78
-rw-r--r--sys-cluster/openmpi/Manifest5
-rw-r--r--sys-cluster/openmpi/files/eselect.mpi.openmpi8
-rw-r--r--sys-cluster/openmpi/metadata.xml5
-rw-r--r--sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild100
125 files changed, 5658 insertions, 0 deletions
diff --git a/sys-cluster/dapl/ChangeLog b/sys-cluster/dapl/ChangeLog
new file mode 100644
index 000000000..a75719e6f
--- /dev/null
+++ b/sys-cluster/dapl/ChangeLog
@@ -0,0 +1,17 @@
+# ChangeLog for sys-cluster/dapl
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*dapl-1.2.2 (27 Nov 2007)
+*dapl-2.0.1 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -dapl-1.1.ebuild: removed
+ +dapl-1.2.2.ebuild, dapl-2.0.1.ebuild: added
+
+*dapl-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/dapl/Manifest b/sys-cluster/dapl/Manifest
new file mode 100644
index 000000000..f2f993efd
--- /dev/null
+++ b/sys-cluster/dapl/Manifest
@@ -0,0 +1,6 @@
+DIST dapl-1.2.2-1.tar.gz 608847 RMD160 734b50a0ee17905b416cd77ae907e84de64c7b33 SHA1 320a1adfe910798a110fc2ecabbd73e5ba7ffe4e SHA256 8c1fe853751be3947add8481184b1693a1d83d672cc3f308e36f20af71473c09
+DIST dapl-2.0.1-1.tar.gz 627831 RMD160 0653c5aac44b967dccdcdeb3d1ef54bebd3b77ed SHA1 16bfa0c6685c04447ecde6aadb90c1a7baaa7f72 SHA256 d3a26feb90fdd1d5606f37675931271393dbf6e405156d2eb431ee9ebf32a40a
+EBUILD dapl-1.2.2-r1.ebuild 679 RMD160 087080f9bc20b66471219ac67834a8345d568560 SHA1 24520fbc79b5d53c5896d53815cccf5328c035d0 SHA256 340d1ba043b96e31347614883d5de56a0fbc2036dc96c6f4eafefb7f8516fb19
+EBUILD dapl-2.0.1-r1.ebuild 679 RMD160 087080f9bc20b66471219ac67834a8345d568560 SHA1 24520fbc79b5d53c5896d53815cccf5328c035d0 SHA256 340d1ba043b96e31347614883d5de56a0fbc2036dc96c6f4eafefb7f8516fb19
+MISC ChangeLog 449 RMD160 82e63d591351bbe22d06ea59d76cb4b8f4339d71 SHA1 9ebbf68b38ca73bffb853f26b4fbe576edd1bb86 SHA256 ef168ff1a660a784c6923aa2ec3b5ffd34f7087e877196c786767ddca719f648
+MISC metadata.xml 424 RMD160 c16767c70c8e51dc14be9351de7163d4fdf745ac SHA1 a3a795c400517aefbca9fa2eea0ee5aeee0ef344 SHA256 ac9d1419598872d9a32ea439ba6dc04425f17c2bf9d096dab8e258eed66b7a4e
diff --git a/sys-cluster/dapl/dapl-1.2.2-r1.ebuild b/sys-cluster/dapl/dapl-1.2.2-r1.ebuild
new file mode 100644
index 000000000..1d8a0bd11
--- /dev/null
+++ b/sys-cluster/dapl/dapl-1.2.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 CPL-1.0 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB - Direct Access Provider Library"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/dapl/${P}-1.tar.gz"
+S="${WORKDIR}/${P}-1"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibverbs
+ sys-cluster/librdmacm"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS
+ docinto doc
+ dodoc doc/dat.conf
+ doman man/*
+}
+
diff --git a/sys-cluster/dapl/dapl-2.0.1-r1.ebuild b/sys-cluster/dapl/dapl-2.0.1-r1.ebuild
new file mode 100644
index 000000000..1d8a0bd11
--- /dev/null
+++ b/sys-cluster/dapl/dapl-2.0.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 CPL-1.0 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB - Direct Access Provider Library"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/dapl/${P}-1.tar.gz"
+S="${WORKDIR}/${P}-1"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibverbs
+ sys-cluster/librdmacm"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS
+ docinto doc
+ dodoc doc/dat.conf
+ doman man/*
+}
+
diff --git a/sys-cluster/dapl/metadata.xml b/sys-cluster/dapl/metadata.xml
new file mode 100644
index 000000000..00fc9ed6a
--- /dev/null
+++ b/sys-cluster/dapl/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+uDAPL is a transport neutral infrastructure that provides RDMA capabilities in
+user space. It is the user space component of DAPL, the Direct Access Provider
+Library for RDMA transports. See http://www.datcollaborative.org/
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/empi/ChangeLog b/sys-cluster/empi/ChangeLog
new file mode 100644
index 000000000..21c63131e
--- /dev/null
+++ b/sys-cluster/empi/ChangeLog
@@ -0,0 +1,7 @@
+# ChangeLog for sys-cluster/empi
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog:
+ Initial import
+
diff --git a/sys-cluster/empi/Manifest b/sys-cluster/empi/Manifest
new file mode 100644
index 000000000..2fe171df5
--- /dev/null
+++ b/sys-cluster/empi/Manifest
@@ -0,0 +1,6 @@
+AUX README.txt 2780 RMD160 18c9057b4a536716ae19d41f153df17021e2c4bf SHA1 29814c97d88d695b1aa3027790a3763806821443 SHA256 693a10fa9eb7ab0ec74f83fdbf326a320e69be979b13ca00b5416a539145073a
+AUX empi 10260 RMD160 696101bbbcf318d152fe10e690af86fd49bbe139 SHA1 d21d0ab2338c3adfbfdd6f4ad059b81018d15051 SHA256 3c344cde5daa717e3cd779cb2792a58e99d098b9da81b6e00604e70528672569
+AUX empi-0.2.patch 4089 RMD160 265c6a4c887c3006294b430bc7c3aa2891e612a4 SHA1 42d90cc6a6aa4b5cfc544a7a98cf55c5f48dffc8 SHA256 4bd20fb11e0fdc4661836b5cf346224875ce7803b43b32fde2e425b3679c27b8
+EBUILD empi-0.1.ebuild 356 RMD160 da691cd5e6d0efa60610e924afdf9f575d0c0af7 SHA1 82158037d357ab1995115606fc6e65ab644846ce SHA256 2e2f296e101e79207e02c55834ee38eb2eb8d375306bce5dc5bef0b8044a9242
+EBUILD empi-0.2.ebuild 467 RMD160 c67402c1eeba84f93319648605a0720184c19cb5 SHA1 1565fa234b6d7beb193df96400264586a792eaa1 SHA256 48c53593c8859beefc475c9f4c6ebe113972a54efe33f6983351c8cd8d8f3f93
+MISC ChangeLog 199 RMD160 d19235676502c09e9970dcade1e6953561bb0de0 SHA1 3a3b206b2e37e8299fca13c4e1b4d7029df9654e SHA256 3e5879a45cb8cf45883aae0fa0a39eae2a3d7b4a82f77ec03bcc264a75d23d27
diff --git a/sys-cluster/empi/empi-0.1.ebuild b/sys-cluster/empi/empi-0.1.ebuild
new file mode 100644
index 000000000..1a8508f8d
--- /dev/null
+++ b/sys-cluster/empi/empi-0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+DESCRIPTION="empi"
+HOMEPAGE="http://dev.gentoo.org/~jsbronder"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+RDEPEND="app-admin/eselect-mpi"
+
+src_install() {
+ dobin "${FILESDIR}"/empi
+ dodoc "${FILESDIR}"/README.txt
+}
+
diff --git a/sys-cluster/empi/empi-0.2.ebuild b/sys-cluster/empi/empi-0.2.ebuild
new file mode 100644
index 000000000..a17388a0a
--- /dev/null
+++ b/sys-cluster/empi/empi-0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+DESCRIPTION="empi"
+HOMEPAGE="http://dev.gentoo.org/~jsbronder"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+RDEPEND="app-admin/eselect-mpi"
+
+src_unpack() {
+ mkdir -p "${S}"
+ cp "${FILESDIR}"/empi "${S}"
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}.patch
+}
+
+src_install() {
+ dobin empi
+ dodoc "${FILESDIR}"/README.txt
+}
diff --git a/sys-cluster/empi/files/README.txt b/sys-cluster/empi/files/README.txt
new file mode 100644
index 000000000..47d93a071
--- /dev/null
+++ b/sys-cluster/empi/files/README.txt
@@ -0,0 +1,75 @@
+= Introduction =
+Empi is basically a reworking of vapier's crossdev script to
+handle installing multiple mpi implementations and applications
+that depend on them. This is done through trickery involving
+adding categories that portage will recognize, moving mpi-enabled
+packages (defined as those using mpi.eclass) to a local overlay
+directory and then emerging these packages using the new
+category.
+
+Empi handles getting mpi application ebuilds into the overlay,
+copying anything in package.{use,keywords}, and wrapping the
+emerge process. The eclass handles putting the package files
+into separate "root" directories based on the category name as
+well as making sure the applications build against the
+appropriate environment.
+
+I also provide eselect-mpi, which unlike every other eselect
+module I've ever used, is designed to manage a users personal
+environment by writing to ${HOME}/.env.d/mpi. This provides a
+quick and easy way for users to experiment with various
+implementations while imposing on any other user's ability to
+use their preferred implementation.
+
+The newly written mpi.eclass should handle empi-based and standard
+emerging of packages in a manner that enables package maintainers
+to quickly port their applications without much knowledge of the
+underlying mechanics. At least, that was my intent, maybe I
+succeeded.
+
+
+= Definitions =
+Implementation: Fake category name used by empi. Must be
+ prefixed with mpi-
+Base Implementation: Actual mpi-implementation package that will
+ provide all mpi functionality to the above.
+
+
+= Instructions =
+
+The following creates an implementation called "mpi-openmpi"
+using sys-cluster/openmpi as the base implementation. We also
+set some USE flags and make sure to unmask the appropriate
+version of sys-cluster/openmpi. Long options and full package
+atoms are used, but not required.
+
+1.) Sync the overlay located at rsync://cold-front.ath.cx/mpi
+
+2.) Emerge empi
+
+3.) Setup /etc/portage/package stuff.
+ # echo ">=sys-cluster/openmpi-1.2.5-r1 pbs fortran romio smp" >> /etc/portage/package.use
+ # echo ">=sys-cluster/openmpi-1.2.5-r1" >> /etc/portage/package.keywords
+
+4.) Create the implementation.
+ # empi --create --implementation mpi-openmpi =sys-cluster/openmpi-1.2.5-r1
+
+5.) Add packages.
+ # empi --add --implementation mpi-openmpi hpl mpi-examples
+
+6.) Setup your user.
+ $ eselect mpi set mpi-openmpi
+ $ echo <<-EOF >> .bash_profile
+for i in $(ls ${HOME}/.env.d/*); do
+ source ${HOME}/.env.d/${i}
+done
+EOF
+ $ source .bash_profile
+
+7.) Do stuff, or decide this is all worthless and cleanup the mess.
+ # empi --delete mpi-openmpi
+
+
+= Links =
+http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO
+http://archives.gentoo.org/gentoo-cluster/msg_f29032b0d85f7f47d9e52940e9322d91.xml
diff --git a/sys-cluster/empi/files/empi b/sys-cluster/empi/files/empi
new file mode 100755
index 000000000..839e41c34
--- /dev/null
+++ b/sys-cluster/empi/files/empi
@@ -0,0 +1,326 @@
+#!/bin/bash
+
+source /etc/init.d/functions.sh
+#[ -f /etc/empi.conf ] && source /etc/empi.conf
+MPI_IMPS="openmpi lam-mpi"
+MPI_ALL_IMPS="mpich mpich2 openmpi lam-mpi"
+VERBOSE=0
+
+[[ -z ${MPI_PORTDIR} ]] \
+ && MPI_PORTDIR="$(portageq portdir_overlay)" \
+ && MPI_PORTDIR="${MPI_PORTDIR%% *}" \
+
+[[ -z ${COMPILER} ]] && COMPILER=gcc
+# imp (category) Implementation we're installing for. mpi-*
+# targets Packages to run action on. When creating, the implementation to use.
+# action create, add, update, remove.
+
+die(){
+ if [ -n "${1}" ]; then
+ echo; eerror $1; echo
+ fi
+ exit 1
+}
+
+usage(){
+ local rc=${1:-0}
+ shift
+cat <<-EOF
+Usage: ${HILITE}empi${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}--implementation IMPLEMENTATION pkgspec${NORMAL}
+
+Options:
+ ${GOOD}-c, --create${NORMAL} (Re)Initialize setup for implementation.
+ ${GOOD}-a, --add${NORMAL} pkgspec(s) Add packages using specified implementation.
+ ${GOOD}-i, --implementation${NORMAL} imp Implementation to use.
+ ${GOOD}-l, --list${NORMAL} List installed implementations.
+ ${GOOD}-t, --tree${NORMAL} path Path to portage tree to use ebuilds from.
+ ${GOOD}-d, --delete${NORMAL} imp Remove everything related to specified implementation.
+
+pkgspec is specified by a package string. Without a version, the best_visible is used.
+ openmpi, sys-cluster/openmpi, =sys-cluster/openmpi-1.2.5
+implementation (-i) is user defined but must be prefixed with "mpi-"
+
+EOF
+ [[ -n $* ]] && echo && eerror "Error: $*"
+ exit ${rc}
+}
+
+imp_is_valid() {
+ [[ -z ${imp} ]] && usage 1 "No implementation defined."
+ [[ ${imp} != mpi-* ]] && usage 1 "Implementations must be prefixed with mpi-"
+ [[ ${imp//./} != ${imp} ]] && usage 1 "Implementations cannot contain . (period)"
+}
+
+is_imp_category() {
+ local i
+ for i in $(eselect mpi list -p); do
+ [[ ${1} == ${i} ]] && return 0
+ done
+ return 1
+}
+
+split_atom() {
+ local cpv c pf pn pv
+ cpv=$(portageq best_visible / ${1})
+ if [[ -z ${cpv} || ${rc} -ne 0 ]]; then
+ cpv=$(portageq best_visible / =${1})
+ [[ -z ${cpv} || ${rc} -ne 0 ]] && return 1
+ fi
+ c=${cpv%/*}; pf=${cpv#${c}/}; pn=${pf%%-[0-9]*}; pv=${pf#${pn}-}
+ echo "${c} ${pn} ${pv}"
+}
+
+parse_pkgspecs() {
+ local atom i
+ for ((i=0; i<${#targets[@]}; i++)); do
+ atom=($(split_atom ${targets[i]}))
+ if [[ $? -ne 0 ]]; then
+ eerror "Unable to find a unique package or valid version for ${targets[i]}"
+ eerror "Is the package unmasked and unblocked normally?"
+ die ""
+ fi
+ targets[i]=${atom[0]}/${atom[1]}-${atom[2]}
+ done
+}
+
+# handle_etc_portage package_spec
+# parses /etc/portage/package.{keywords,use}. If ${imp}/${pn} is seen, we don't
+# do a thing. Otherwise copy any lines that have ${cat}/${pn} inserting them again
+# with the new category.
+handle_etc_portage() {
+ local atom=( $(split_atom ${1}) )
+ local ext line gfiles f
+
+ for ext in "keywords" "use"; do
+ if [ -d /etc/portage/package.${ext} ]; then
+ gfiles="/etc/portage/package.${ext}/*"
+ f=/etc/portage/package.${ext}/${imp}
+ else
+ gfiles="/etc/portage/package.${ext}"
+ f=/etc/portage/package.${ext}
+ fi
+
+ if ! grep "[>=<]*${imp}/${atom[1]}" ${gfiles} &>/dev/null; then
+ grep "[>=<]*${atom[0]}/${atom[1]}" ${gfiles} \
+ | sed "s,${atom[0]},${imp}," \
+ | while read line; do
+ echo "${line}" >> ${f}
+ [[ ${VERBOSE} -ne 0 ]] \
+ && einfo "Addition to ${f}: ${line}"
+ done
+ elif [[ ${VERBOSE} -ne 0 ]]; then
+ ewarn "Keys for ${imp}/${atom[1]} already exist in ${f}. Will not replicate them."
+ fi
+ done
+}
+
+
+
+get_ebuild_dir() {
+ local d a
+ local want_uses_mpi=${2:-0}
+ local found=0
+
+ a=($(split_atom ${1}))
+ [[ $? -ne 0 ]] && die "Unable to find a unique package or valid version for ${1}."
+ is_imp_category ${a[0]} && die "It makes no sense to build a new mpi-implementation from a current one."
+
+ if [[ -z ${portage_tree} ]]; then
+ for d in $(portageq portdir_overlay) $(portageq portdir); do
+ if [[ ${want_uses_mpi} -ne 0 ]]; then
+ [[ -f "${d}/${a[0]}/${a[1]}/${a[1]}-${a[2]}.ebuild" ]] \
+ && ebuild_uses_mpi ${d}/${a[0]}/${a[1]} ${a[1]}-${a[2]} \
+ && found=1
+ else
+ [[ -f "${d}/${a[0]}/${a[1]}/${a[1]}-${a[2]}.ebuild" ]] && found=1
+ fi
+ [[ ${found} -ne 0 ]] && break
+ done
+ if [[ ${found} -ne 0 ]]; then
+ portage_tree=${d}
+ else
+ die "Could not find an ebuild for ${a[0]}/${a[1]}-${a[2]}."
+ fi
+ fi
+
+ ebuild_dir="${portage_tree}/${a[0]}/${a[1]}"
+}
+
+ebuild_uses_mpi() {
+ grep 'inherit .*mpi' "${1}/${2##*/}.ebuild" &>/dev/null
+}
+
+setup_portage_vars() {
+ export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)"
+ export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}"
+}
+
+link_ebuild_dir() {
+ ln -snf "${ebuild_dir}" "${MPI_PORTDIR}"/${imp}/${ebuild_dir##*/} \
+ || die "Failed to link ${ebuild_dir} to ${MPI_PORTDIR}/${imp}/${ebuild_dir##*/}"
+}
+
+do_emerge() {
+ ebegin "Emerging $*"
+ setup_portage_vars
+ emerge ${emerge_opts} $* || die "emerge failed!"
+ eend
+}
+
+# We should have only one target here.
+create_implementation() {
+ local mpi_imp_pkg d mpi_imp_pn
+
+ [[ ${#targets[@]} -ne 1 ]] && die "Can only create one implementation at a time."
+
+ # Prevent laziness
+ [[ ${targets[0]} == ${targets[0]##*/} ]] \
+ && targets[0]="sys-cluster/${targets[0]}"
+
+ parse_pkgspecs
+ get_ebuild_dir ${targets[0]} 1
+ mpi_imp_pn=${ebuild_dir##*/}
+ mpi_imp_pkg=${targets[0]}
+ handle_etc_portage ${targets[0]}
+ targets[0]="=${imp}/${targets[0]##*/}"
+
+ # Refuse to break systems. If there is already an implementation
+ # installed in that directory, we're not going to add another one as
+ # the eclass doesn't fix one problem just to introduce a bigger one.
+ for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l);do
+ d=${d##*/}
+ [[ ${d} == ${mpi_imp_pn} ]] && continue
+ for i in ${MPI_ALL_IMPS}; do
+ [[ ${i} == ${d} ]] \
+ && die "${imp} already has MPI implementation ${d}, refusing to add ${mpi_imp_pn}"
+ done
+ done
+
+ if [[ -d "${MPI_PORTDIR}"/${imp} ]]; then
+ [[ ${VERBOSE} -ne 0 ]] && ewarn "${imp} has already been created."
+ else
+ mkdir -p ${MPI_PORTDIR}/${imp}
+ link_ebuild_dir
+ fi
+ if ! grep "^${imp}$" /etc/portage/categories &>/dev/null; then
+ echo "${imp}" >> /etc/portage/categories
+ fi
+
+
+cat << EOF
+Creating ${HILITE}${imp}${NORMAL}
+ Implementation: ${GOOD}${imp}${NORMAL}
+ MPI Package: ${GOOD}${mpi_imp_pkg}${NORMAL}
+ Source: ${GOOD}${ebuild_dir}${NORMAL}
+ Destination: ${GOOD}${MPI_PORTDIR}/${imp}${NORMAL}
+EOF
+ do_emerge ${targets[0]}
+}
+
+
+add_packages(){
+ local i j deps
+
+ [[ -d "${MPI_PORTDIR}"/${imp} ]] || die "Implementation ${imp} has not been created yet."
+ [[ ${#targets[@]} -lt 1 ]] && die "You need to specify at least one package"
+
+ parse_pkgspecs
+ for ((i=0;i<${#targets[@]};i++)); do
+ get_ebuild_dir ${targets[i]}
+ if ebuild_uses_mpi ${ebuild_dir} ${targets[i]}; then
+ link_ebuild_dir
+ handle_etc_portage ${targets[i]}
+ targets[i]="=${imp}/${targets[i]##*/}"
+ else
+ targets[i]="=${targets[i]}"
+ fi
+
+ # I don't know about this, but do you have a better idea?
+ deps="$(emerge --color=n --onlydeps -p --quiet ${targets[i]})"
+ if [[ $? -ne 0 ]]; then
+ emerge --onlydeps -p ${targets[i]}
+ die "Unable to calculate deps for ${targets[i]}"
+ fi
+ deps=( $(echo ${deps} | sed -e 's:\[[a-z]* [A-Z] \] :=:g') )
+ for ((j=0;j<${#deps[@]};j++)); do
+ get_ebuild_dir ${deps[j]}
+ if ebuild_uses_mpi ${deps[i]}; then
+ link_ebuild_dir
+ fi
+ done
+ done
+cat << EOF
+Adding packages to ${HILIGHT}${imp}${NORMAL}
+ Packages: ${GOOD}${targets[@]}${NORMAL}
+EOF
+ do_emerge ${targets[@]}
+}
+
+
+delete_implementation() {
+ local pkgs=( $(ls /var/db/pkg/${imp}/) )
+ local ext d i
+ [[ -d "${MPI_PORTDIR}"/${imp} ]] || die "Implementation ${imp} has not been created yet."
+
+ for (( i=0; i<${#pkgs[@]}; i++)); do
+ pkgs[i]="=${imp}/${pkgs[i]}"
+ done
+
+ if ! emerge -C ${emerge_opts/-u/} ${pkgs[@]}; then
+ die "Failed to unmerge ${pkgs[@]}"
+ fi
+
+ for ext in "keywords" "use"; do
+ if [ -d /etc/portage/package.${ext} ]; then
+ rm /etc/portage/package.${ext}/${imp} &>/dev/null
+ else
+ sed -i -e "/${imp}\//d" /etc/portage/package.${ext}
+ fi
+ done
+ sed -i -e "/^${imp}$/d" /etc/portage/categories
+
+ for d in $(ls "${MPI_PORTDIR}"/${imp}/); do
+ rm "${MPI_PORTDIR}"/${imp}/${d}
+ done
+ rmdir "${MPI_PORTDIR}"/${imp}
+ rmdir /var/db/pkg/${imp}
+}
+
+
+[[ ${UID} -ne 0 ]] && die "You must be root."
+targets=""
+emerge_opts="-u -a -v"
+portage_tree=""
+action=""
+while [[ $# -gt 0 ]]; do
+ case $1 in
+ -h|--help)
+ usage;;
+ -c|--create)
+ action="${action}create";;
+ -a|--add)
+ action="${action}add";;
+ -d|--delete)
+ action="${action}delete"
+ shift; imp=${1};;
+ -i|--implementation)
+ shift; imp=${1};;
+ -t|--tree)
+ shift; portage_tree=${1};;
+ -v|--verbose)
+ VERBOSE=1;;
+ -*)
+ emerge_opts="${emerge_opts} ${1}";;
+ *)
+ targets=( $(echo ${targets[@]}) ${1} );;
+ esac
+ shift
+done
+
+[[ -z ${action} ]] && usage 1 "No action defined."
+[[ -z ${imp} ]] && usage 1 "No implementation defined."
+imp_is_valid
+
+[[ ${action} == *create* ]] && create_implementation
+[[ ${action} == *add* ]] && add_packages
+[[ ${action} == *delete* ]] && delete_implementation
diff --git a/sys-cluster/empi/files/empi-0.2.patch b/sys-cluster/empi/files/empi-0.2.patch
new file mode 100644
index 000000000..6076034fd
--- /dev/null
+++ b/sys-cluster/empi/files/empi-0.2.patch
@@ -0,0 +1,110 @@
+diff -urN a/empi b/empi
+--- a/empi 2008-03-10 19:52:32.000000000 -0400
++++ b/empi 2008-03-10 19:53:31.000000000 -0400
+@@ -1,16 +1,8 @@
+ #!/bin/bash
+
+ source /etc/init.d/functions.sh
+-#[ -f /etc/empi.conf ] && source /etc/empi.conf
+-MPI_IMPS="openmpi lam-mpi"
+-MPI_ALL_IMPS="mpich mpich2 openmpi lam-mpi"
+ VERBOSE=0
+
+-[[ -z ${MPI_PORTDIR} ]] \
+- && MPI_PORTDIR="$(portageq portdir_overlay)" \
+- && MPI_PORTDIR="${MPI_PORTDIR%% *}" \
+-
+-[[ -z ${COMPILER} ]] && COMPILER=gcc
+ # imp (category) Implementation we're installing for. mpi-*
+ # targets Packages to run action on. When creating, the implementation to use.
+ # action create, add, update, remove.
+@@ -32,9 +24,9 @@
+ ${GOOD}-c, --create${NORMAL} (Re)Initialize setup for implementation.
+ ${GOOD}-a, --add${NORMAL} pkgspec(s) Add packages using specified implementation.
+ ${GOOD}-i, --implementation${NORMAL} imp Implementation to use.
+- ${GOOD}-l, --list${NORMAL} List installed implementations.
+ ${GOOD}-t, --tree${NORMAL} path Path to portage tree to use ebuilds from.
+ ${GOOD}-d, --delete${NORMAL} imp Remove everything related to specified implementation.
++ ${GOOD}-o, --overlaydir${NORMAL} path Directory to use for the empi portage overlay.
+
+ pkgspec is specified by a package string. Without a version, the best_visible is used.
+ openmpi, sys-cluster/openmpi, =sys-cluster/openmpi-1.2.5
+@@ -150,11 +142,6 @@
+ grep 'inherit .*mpi' "${1}/${2##*/}.ebuild" &>/dev/null
+ }
+
+-setup_portage_vars() {
+- export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)"
+- export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}"
+-}
+-
+ link_ebuild_dir() {
+ ln -snf "${ebuild_dir}" "${MPI_PORTDIR}"/${imp}/${ebuild_dir##*/} \
+ || die "Failed to link ${ebuild_dir} to ${MPI_PORTDIR}/${imp}/${ebuild_dir##*/}"
+@@ -162,7 +149,6 @@
+
+ do_emerge() {
+ ebegin "Emerging $*"
+- setup_portage_vars
+ emerge ${emerge_opts} $* || die "emerge failed!"
+ eend
+ }
+@@ -172,7 +158,11 @@
+ local mpi_imp_pkg d mpi_imp_pn
+
+ [[ ${#targets[@]} -ne 1 ]] && die "Can only create one implementation at a time."
+-
++
++ for d in $(eselect mpi list -p); do
++ [ "${d}" == "${imp}" ] && die "${imp} has already been created."
++ done
++
+ # Prevent laziness
+ [[ ${targets[0]} == ${targets[0]##*/} ]] \
+ && targets[0]="sys-cluster/${targets[0]}"
+@@ -187,7 +177,7 @@
+ # Refuse to break systems. If there is already an implementation
+ # installed in that directory, we're not going to add another one as
+ # the eclass doesn't fix one problem just to introduce a bigger one.
+- for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l);do
++ for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l 2>/dev/null);do
+ d=${d##*/}
+ [[ ${d} == ${mpi_imp_pn} ]] && continue
+ for i in ${MPI_ALL_IMPS}; do
+@@ -197,7 +187,7 @@
+ done
+
+ if [[ -d "${MPI_PORTDIR}"/${imp} ]]; then
+- [[ ${VERBOSE} -ne 0 ]] && ewarn "${imp} has already been created."
++ [[ ${VERBOSE} -ne 0 ]] && ewarn "Overlay for ${imp} has already been created."
+ else
+ mkdir -p ${MPI_PORTDIR}/${imp}
+ link_ebuild_dir
+@@ -307,6 +297,8 @@
+ shift; imp=${1};;
+ -t|--tree)
+ shift; portage_tree=${1};;
++ -o|--overlaydir)
++ shift; MPI_PORTDIR=${1};;
+ -v|--verbose)
+ VERBOSE=1;;
+ -*)
+@@ -317,6 +309,18 @@
+ shift
+ done
+
++if [ -z "${MPI_PORTDIR}" ]; then
++ MPI_PORTDIR="$(portageq portdir_overlay)"
++ MPI_PORTDIR="${MPI_PORTDIR%% *}"
++fi
++
++if [ ! -d "${MPI_PORTDIR}" ]; then
++ mkdir -p "${MPI_PORTDIR}" || die "Failed to mkdir ${MPI_PORTDIR}"
++fi
++
++export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)"
++export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}"
++
+ [[ -z ${action} ]] && usage 1 "No action defined."
+ [[ -z ${imp} ]] && usage 1 "No implementation defined."
+ imp_is_valid
diff --git a/sys-cluster/hpl/ChangeLog b/sys-cluster/hpl/ChangeLog
new file mode 100644
index 000000000..7033a849a
--- /dev/null
+++ b/sys-cluster/hpl/ChangeLog
@@ -0,0 +1,46 @@
+# ChangeLog for sys-cluster/hpl
+# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpl/ChangeLog,v 1.11 2007/04/26 06:04:44 dberkholz Exp $
+
+ 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog:
+ Use mpi.eclass for empi support. Add ~amd64
+
+ 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml:
+ Update for cluster herd split to hp-cluster and ha-cluster.
+
+ 09 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Regenerate digest in Manifest2 format.
+
+ 28 Jan 2006; Simon Stelling <blubb@gentoo.org>
+ -files/Make.gentoo_hpl_cblas_x86.diff.bz2:
+ remove unneeded files
+
+ 21 Nov 2005; Michael Imhof <tantive@gentoo.org> -hpl-1.0.ebuild,
+ -hpl-1.0-r1.ebuild:
+ Cleaned out old ebuilds.
+
+ 17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog:
+ Converted to UTF-8, fixed encoding screwups
+
+*hpl-1.0-r2 (01 Sep 2005)
+
+ 01 Sep 2005; Peter Bienstman <pbienst@gentoo.org> +hpl-1.0-r2.ebuild:
+ Move to virtual/blas and virtual/lapack.
+
+*hpl-1.0-r1 (06 Jul 2005)
+
+ 06 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> +hpl-1.0-r1.ebuild:
+ Update hpl build to work with virtual/mpi including fixing it to compile via
+ mpicc so it works with lam-mpi. Also include parameters to /usr/share/hpl
+ and force the user to copy them instead of polluting /usr/bin.
+
+ 28 Dec 2004; Olivier Fisette <ribosome@gentoo.org> hpl-1.0.ebuild:
+ Dependency update: dev-libs/atlas -> sci-libs/atlas.
+
+ 27 Apr 2004; Aron Griffis <agriffis@gentoo.org> hpl-1.0.ebuild:
+ Add inherit eutils
+
+*hpl-1.0 (26 Mar 2004)
+
+ 26 Mar 2004; Michael Imhof <tantive@gentoo.org> hpl-1.0.ebuild:
+ Initial release. Made with the help of Kristian Jerpetjøn <unsolo@sysrq.no>.
diff --git a/sys-cluster/hpl/Manifest b/sys-cluster/hpl/Manifest
new file mode 100644
index 000000000..521421514
--- /dev/null
+++ b/sys-cluster/hpl/Manifest
@@ -0,0 +1,4 @@
+DIST hpl.tgz 523139 RMD160 3a2baecfe746d8ab5b5a9d6e1579a1aa5d249294 SHA1 42ae3b5173b22be41282568effccf46041079c1c SHA256 c0a08079a4c54e0ac32901d68d135fe17fffc3df322c95fbd9b23cb5d400827e
+EBUILD hpl-1.0-r3.ebuild 1930 RMD160 ee1f0b3a4f13baeb6c92ca762909f65b343ffff6 SHA1 af28d2fc34b5327b3d9e69216134111e7ac21fff SHA256 8f1c4ca7dd00540ff741fb680fe82c6e2fc6ad444c0370bb4a68064220e10e52
+MISC ChangeLog 1750 RMD160 5b22e29ff7cc0dbfd43a3508b0f37dbdfa6a54c3 SHA1 02f432ba400ec04eff6fbe8b305fb3d35aa7b1bf SHA256 a058874be27eee0c726d4a0dfada6ffd4b6711aab277a6195f5f09a075940d9d
+MISC metadata.xml 315 RMD160 12fe02dce4baa2046922f5865314c98555bd4132 SHA1 14bfa132c839c12f26e4ac1106227d2303c69e43 SHA256 d95f6835d819d4bf1bb74ac46c8259d1db23b0cfb8cd49a2a436b601f8953bd5
diff --git a/sys-cluster/hpl/hpl-1.0-r3.ebuild b/sys-cluster/hpl/hpl-1.0-r3.ebuild
new file mode 100644
index 000000000..bd0ac0056
--- /dev/null
+++ b/sys-cluster/hpl/hpl-1.0-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpl/hpl-1.0-r2.ebuild,v 1.1 2005/09/01 11:59:18 pbienst Exp $
+
+inherit eutils mpi
+
+DESCRIPTION="HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers"
+HOMEPAGE="http://www.netlib.org/benchmark/hpl/"
+SRC_URI="http://www.netlib.org/benchmark/hpl/hpl.tgz"
+LICENSE="HPL"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+S="${WORKDIR}/${PN}"
+
+DEPEND="$(mpi_pkg_deplist)
+ virtual/blas
+ virtual/lapack"
+
+src_unpack() {
+ local mpicc_path="$(get_eselect_var MPI_CC)"
+ unpack ${A}
+ cd ${S}
+
+ cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86
+ sed -i \
+ -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \
+ -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \
+ -e '/^MPdir\>/s,= .*,=,' \
+ -e '/^MPlib\>/s,= .*,=,' \
+ -e "/^LAlib\>/s,= .*,= /usr/$(get_libdir)/libblas.so /usr/$(get_libdir)/liblapack.so," \
+ -e "/^LINKER\>/s,= .*,= ${mpicc_path}," \
+ -e "/^CC\>/s,= .*,= ${mpicc_path}," \
+ Make.gentoo_hpl_fblas_x86
+
+}
+
+src_compile() {
+ # do NOT use emake here
+ mpi_make_cmd="make"
+ mpi_make_args="arch=gentoo_hpl_fblas_x86"
+ HOME=${WORKDIR} mpi_do_make || die
+}
+
+src_install() {
+ local d=$(get_mpi_dir)
+ mpi_dobin bin/gentoo_hpl_fblas_x86/xhpl || die "Failed to install bins"
+ mpi_dolib.a lib/gentoo_hpl_fblas_x86/libhpl.a || die "Failed to install lib"
+ mpi_dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \
+ bin/gentoo_hpl_fblas_x86/HPL.dat
+ mpi_dohtml -r www/*
+ mpi_doman man/man3/*.3
+}
+
+pkg_postinst() {
+ einfo "Remember to copy $(get_mpi_dir)/usr/share/doc/${PF}/HPL.dat to your working directory first!"
+ einfo "For mpich, run linpack by executing this in your working directory"
+ einfo "\"mpirun -np 4 /usr/bin/xhpl\""
+ einfo "where -np specifies the number of processes."
+ einfo "Other methods are needed lam-mpi etc."
+}
diff --git a/sys-cluster/hpl/metadata.xml b/sys-cluster/hpl/metadata.xml
new file mode 100644
index 000000000..8123ac072
--- /dev/null
+++ b/sys-cluster/hpl/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>hp-cluster</herd>
+<maintainer>
+ <email>tantive@gentoo.org</email>
+ <name>Michael Imhof</name>
+ <description>Release manager, patch manager</description>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/lam-mpi/ChangeLog b/sys-cluster/lam-mpi/ChangeLog
new file mode 100644
index 000000000..22ec4c8e2
--- /dev/null
+++ b/sys-cluster/lam-mpi/ChangeLog
@@ -0,0 +1,302 @@
+# ChangeLog for sys-cluster/lam-mpi
+# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/lam-mpi/ChangeLog,v 1.65 2008/01/31 07:07:18 dberkholz Exp $
+
+ 29 Feb 2008; Jeff Gardner <je_fro@gentoo.org> Manifest:
+ fix manifest
+
+ 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog:
+ Use mpi.eclass for empi support. Fix the docdir fixes.
+
+ 31 Jan 2008; Donnie Berkholz <dberkholz@gentoo.org>;
+ -lam-mpi-7.0.6.ebuild:
+ Clean up.
+
+*lam-mpi-7.1.4 (17 Jan 2008)
+
+ 17 Jan 2008; Justin Bronder <jsbronder@gentoo.org> +lam-mpi-7.1.4.ebuild:
+ Version bump (Bug #199932). Add romio, examples to IUSE. Depend on Torque as
+ it's the only pbs imp in the tree. Fix license. Add warning lam-mpi is not
+ being developed. Fix USE=pbs (Bug #177065) and remove other unneeded boot
+ modules.
+
+ 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> lam-mpi-7.1.2.ebuild:
+ (QA) RESTRICT clean up.
+
+ 21 May 2007; Jeroen Roovers <jer@gentoo.org> lam-mpi-7.1.2.ebuild:
+ Stable for HPPA (bug #178510).
+
+ 18 May 2007; Raúl Porcel <armin76@gentoo.org> lam-mpi-7.1.2.ebuild:
+ ia64 stable
+
+ 27 Apr 2007; Jeroen Roovers <jer@gentoo.org> lam-mpi-7.1.2.ebuild:
+ Marked ~hppa.
+
+ 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml:
+ Update for cluster herd split to hp-cluster and ha-cluster.
+
+ 06 Apr 2007; Tobias Scherbaum <dertobi123@gentoo.org>
+ lam-mpi-7.1.2.ebuild:
+ ppc stable, bug #157799
+
+ 31 Mar 2007; Raúl Porcel <armin76@gentoo.org> lam-mpi-7.1.2.ebuild:
+ Add ~ia64
+
+ 22 Feb 2007; Markus Ullmann <jokey@gentoo.org> ChangeLog:
+ Redigest for Manifest2
+
+ 10 Feb 2007; Steve Dibb <beandog@gentoo.org> lam-mpi-7.1.2.ebuild:
+ amd64 stable, bug 157799
+
+ 28 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> lam-mpi-7.1.2.ebuild:
+ Stable on sparc wrt #157799
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild:
+ Stop PROVIDEing mpi virtual, we're on a new-style virtual now.
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.0.4.ebuild,
+ lam-mpi-7.0.6.ebuild, lam-mpi-7.1.2.ebuild:
+ Block all MPI providers.
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/lam-mpi-7.1.1-shared-romio.patch, -lam-mpi-7.0.4-r1.ebuild,
+ -lam-mpi-7.1.ebuild, -lam-mpi-7.1.1-r3.ebuild:
+ Clean up.
+
+ 03 Dec 2006; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.2.ebuild:
+ Stable on ppc64
+
+ 26 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild:
+ Stable on x86.
+
+ 26 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/7.1.2-liblam-use-extra-libs.patch, lam-mpi-7.1.2.ebuild:
+ Fix for -Wl,--as-needed.
+
+ 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ lam-mpi-7.1.1-r3.ebuild, lam-mpi-7.1.2.ebuild:
+ Look in /usr/$(get_libdir)/pbs/lib instead of /usr/lib/pbs.
+
+ 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild:
+ (#119480) Add USE=xmpi to build support for the external XMPI GUI utility.
+
+ 31 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/7.1.2-lam_prog_f77.m4.patch:
+ (#141152) Add missing patch.
+
+*lam-mpi-7.1.2 (20 Jul 2006)
+
+ 20 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +lam-mpi-7.1.2.ebuild:
+ (#140725) Bump (Eric Thibodeau). (#135168) Add gcc-4 fix. (#136071) rsh
+ should boot now.
+
+ 03 Oct 2005; Christian Zoffoli <xmerlin@gentoo.org> lam-mpi-7.1.1-r3.ebuild:
+ fixed bug #106443.
+
+*lam-mpi-7.1.1-r3 (15 Aug 2005)
+
+ 15 Aug 2005; Danny van Dyk <kugelfang@gentoo.org>
+ files/lam-mpi-7.1.1-shared-romio.patch, -lam-mpi-7.1.1.ebuild,
+ -lam-mpi-7.1.1-r1.ebuild, -lam-mpi-7.1.1-r2.ebuild,
+ +lam-mpi-7.1.1-r3.ebuild:
+ Fixed BUG #88110 (finally). Removed obsolete versions of 7.1.1.
+
+ 03 Aug 2005; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.1.1-r2.ebuild:
+ Add ~sparc keyword. Builds without incident (with ssh interface)
+ and seems to be fine.
+
+ 12 Jul 2005; Robin H. Johnson <robbat2@gentoo.org>
+ lam-mpi-7.1.1-r2.ebuild:
+ Move where fortran_pkg_setup runs, as it is not needed for merging a binary
+ package in pkg_setup.
+
+ 07 Jul 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1-r2.ebuild:
+ added ~ppc64
+
+ 06 Jul 2005; Robin H. Johnson <robbat2@gentoo.org>
+ lam-mpi-7.1.1-r2.ebuild:
+ Update ebuild to actually use functionality from fortran.eclass.
+
+*lam-mpi-7.1.1-r2 (05 Jul 2005)
+
+ 05 Jul 2005; Robin H. Johnson <robbat2@gentoo.org>
+ +lam-mpi-7.1.1-r2.ebuild:
+ Implement virtual/mpi. Bug #96537: examples. Bug #96543: documentation
+ location. Bug #97417: Fix fortran support.
+
+*lam-mpi-7.1.1-r1 (06 Jul 2005)
+
+ 06 Jul 2005; Danny van Dyk <kugelfang@gentoo.org> lam-mpi-7.1.1-r1.ebuild:
+ Bumped to circumvent my broken romio patch. Sorry :-/
+
+ 24 May 2005; Donnie Berkholz <spyderous@gentoo.org>;
+ files/lam-mpi-7.1.1-shared-romio.patch:
+ (#92832) Fix misformatted patch.
+
+ 18 May 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1.ebuild:
+ Stable on ppc64
+
+ 15 May 2005; Danny van Dyk <kugelfang@gentoo.org> lam-mpi-7.1.1.ebuild:
+ Marked stable on amd64.
+
+ 15 May 2005; Danny van Dyk <kugelfang@gentoo.org>
+ +files/lam-mpi-7.1.1-shared-romio.patch, lam-mpi-7.1.1.ebuild:
+ Fixed BUG #88110. liblammpio will now be built as static and shared library.
+
+ 06 May 2005; David Holm <dholm@gentoo.org> lam-mpi-7.1.1.ebuild:
+ Readded to ~ppc. Please don't remove it without filing a proper bug report.
+
+ 09 Apr 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1.ebuild:
+ Added ~ppc64 to KEYWORDS
+
+*lam-mpi-7.1.1 (21 Feb 2005)
+
+ 21 Feb 2005; Donnie Berkholz <spyderous@gentoo.org>;
+ +lam-mpi-7.1.1.ebuild:
+ Version bump. (#66291) Build Fortran stuff. (#62561) Check for Fortran
+ compiler.
+
+ 07 Feb 2005; Jeremy Huddleston <eradicator@gentoo.org> lam-mpi-7.1.ebuild:
+ Adding ~amd64 as it was mistakenly removed.
+
+ 05 Oct 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.1.ebuild:
+ Add ~sparc keyword. (Runs lamtests-7.1.1 (configured 2x3), pyMPI (2x2),
+ hardened, with USE='crypt' (=ssh).)
+
+ 04 Oct 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.6.ebuild:
+ Stable for sparc.
+
+ 23 Sep 2004; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.6.ebuild:
+ x86.
+
+*lam-mpi-7.1 (23 Sep 2004)
+
+ 23 Sep 2004; Donnie Berkholz <spyderous@gentoo.org>; +lam-mpi-7.1.ebuild:
+ Bump. See HISTORY in source tarball for changes.
+
+ 19 Sep 2004; Michael Imhof <tantive@gentoo.org> lam-mpi-7.0.4-r1.ebuild:
+ Added local use flag for f77.
+
+ 19 Sep 2004; Michael Imhof <tantive@gentoo.org> -lam-mpi-6.5.6-r1.ebuild,
+ -lam-mpi-6.5.9-r1.ebuild, -lam-mpi-7.0.2.ebuild, -lam-mpi-7.0.3.ebuild:
+ Cleaned out old ebuilds.
+
+ 02 Sep 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.6.ebuild:
+ Add ~sparc keyword. Builds for sparc and runs lamtests-7.0.6 in a cluster
+ of 2 smp systems (2xSMP(2)), with USE=crypt (ssh).
+
+*lam-mpi-7.0.4-r1 (13 Jul 2004)
+
+ 13 Jul 2004; Michael Imhof <tantive@gentoo.org> +lam-mpi-7.0.4-r1.ebuild:
+ Fixed the ebuild. Added more config options. Closes #55046.
+
+*lam-mpi-7.0.6 (13 Jul 2004)
+
+ 13 Jul 2004; Michael Imhof <tantive@gentoo.org> +lam-mpi-7.0.6.ebuild:
+ Version bumped. Closes #55047.
+
+ 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org>
+ lam-mpi-6.5.6-r1.ebuild, lam-mpi-6.5.9-r1.ebuild, lam-mpi-7.0.2.ebuild,
+ lam-mpi-7.0.3.ebuild, lam-mpi-7.0.4.ebuild:
+ virtual/glibc -> virtual/libc
+
+ 15 Jun 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ lam-mpi-6.5.6-r1.ebuild, lam-mpi-6.5.9-r1.ebuild, lam-mpi-7.0.2.ebuild,
+ lam-mpi-7.0.3.ebuild, lam-mpi-7.0.4.ebuild:
+ PROVIDE is for virtuals
+
+ 24 Apr 2004; Tom Gall <tgall@gentoo.org> lam-mpi-7.0.4.ebuild:
+ Marked stable for ppc64
+
+ 16 Apr 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.4.ebuild:
+ Mark stable for sparc
+
+ 02 Apr 2004; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.4.ebuild:
+ Move mpich from DEPEND to RDEPEND.
+
+ 24 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ lam-mpi-6.5.9-r1.ebuild:
+ don't use deprecated ? : use syntax
+
+ 04 Mar 2004; Patrick Kursawe <phosphan@gentoo.org> lam-mpi-7.0.4.ebuild:
+ Added ~ppc and ~sparc since older versions were ok, bumped others to stable
+
+*lam-mpi-7.0.4 (04 Mar 2004)
+
+ 04 Mar 2004; Michael Imhof <tantive@gentoo.org> lam-mpi-7.0.4.ebuild:
+ Version bumped.
+
+ 17 Feb 2004; Aron Griffis <agriffis@gentoo.org> lam-mpi-7.0.3.ebuild:
+ add ~alpha
+
+*lam-mpi-6.5.6-r1 (07 Jan 2004)
+
+ 07 Jan 2004; Jason Wever <weeve@gentoo.org> lam-mpi-6.5.6-r1.ebuild:
+ Added 6.5.6-r1 back into the repository as it was the last stable version for
+ sparc and broke dependencies by being removed.
+
+*lam-mpi-7.0.3 (07 Jan 2004)
+
+ 07 Jan 2004; Olivier Crete <tester@gentoo.org> lam-mpi-7.0.3.ebuild:
+ Version bump as reported by JFMuggs on irc
+
+ 14 Nov 2003; Brad House <brad_mssw@gentoo.org> lam-mpi-7.0.2.ebuild:
+ add ~amd64 flag
+
+*lam-mpi-7.0.2 (02 Nov 2003)
+
+ 02 Nov 2003; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.2.ebuild,
+ metadata.xml:
+ Bump to close bug #31288. Added metadata.xml for cluster herd.
+
+ 07 Jul 2003; George Shapovalov <george@gentoo.org> :
+ moved from dev-libs into sys-cluster
+
+*lam-mpi-6.5.9-r1 (03 Jun 2003)
+
+ 03 Jun 2003; Michael Imhof <imhofml@gentoo.org> lam-mpi-6.5.9-r1.ebuild, files/digest-lam-mpi-6.5.9-r1 :
+ corrected ebuild submitted by Marc St-Pierre <marc@cyberlogic.ca>
+
+*lam-mpi-6.5.7.ebuild (23 Mar 2003)
+
+ 23 Mar 2003; George Shapovalov <george@gentoo.org> lam-mpi-6.5.9.ebuild, files/digest-lam-mpi-6.5.9 :
+ new version
+
+ 20 Jan 2003; Jon Nall <nall@gentoo.org> lam-mpi-6.5.7.ebuild :
+ added ~ppc
+
+ 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
+
+*lam-mpi-6.5.7.ebuild (08 Nov 2002)
+
+ 08 Nov 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.7.ebuild, files/digest-lam-mpi-6.5.7 :
+ new version
+
+*lam-mpi-6.5.6-r1.ebuild (21 Oct 2002)
+
+ 21 Oct 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6-r1.ebuild, files/digest-lam-mpi-6.5.6-r1 :
+ upped the revision number, because Chad persuaded me, that the previous fix (by 18 Oct) was
+ important enugh to forse a rebuild.
+
+*lam-mpi-6.5.6.ebuild (29 Jul 2002)
+
+ 18 Oct 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6.ebuild :
+ fix to make mpi++.h a local symlink (seems to happen with newver binutils?),
+ see #9236 for detail.
+ Thanks Chad Schmutzer for report.
+
+ 29 Jul 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6.ebuild :
+
+ Initial release (and rework of submitted ebuild)
+
+ form the web site:
+ LAM (Local Area Multicomputer) is an MPI programming environment and development
+ system for heterogeneous computers on a network. With LAM, a dedicated cluster
+ or an existing network computing infrastructure can act as one parallel
+ computer solving one problem.
+ LAM features extensive debugging support in the application development cycle
+ and peak performance for production applications. LAM features a full
+ implementation of the MPI communication standard.
+
+ ebuild submitted by Tibor Rudas <tibi@mdy.univie.ac.at>
diff --git a/sys-cluster/lam-mpi/Manifest b/sys-cluster/lam-mpi/Manifest
new file mode 100644
index 000000000..b5373b6c2
--- /dev/null
+++ b/sys-cluster/lam-mpi/Manifest
@@ -0,0 +1,8 @@
+AUX 7.1.2-lam_prog_f77.m4.patch 529 RMD160 1693107a9e2fa7fbef0e6b59f082ab8082a61522 SHA1 263b63c1ca7a32621338e54bcf98cee8e4345eb6 SHA256 5164b1f5d6abffc93f1ec113ca1711e34938246d9d3f43318375ecc90201bf9b
+AUX 7.1.2-liblam-use-extra-libs.patch 490 RMD160 f52c0c3490a5d7dd9fa3993032c64c5fd7ef4295 SHA1 dad163d483a8a35cf4cb3a5cb7c572e7f21fabf8 SHA256 580a84ef0364d9ea9bf204024906d18b7b00338e48cfafdc04f2d82d9c4b6870
+AUX 7.1.4-as-needed.patch 3702 RMD160 ba3dd579d482d67ec47721a764ebe5cf9c12de6f SHA1 635660a50dcd4bb176fd62a234895383e37ebcb4 SHA256 8e2792244742180ca5f9e829c16597ad9a85e955f8fd512a81515c304ed4e2cf
+AUX eselect.mpi.lam-mpi 201 RMD160 bd458925228222b1109f6d8902132348c6e32571 SHA1 9b36f2b9ea10d578d183f3388fd0e149957f8bc9 SHA256 42aeba404585d0da00948029735239fe3fab30549f0ec9f99ae07ec0b73d3319
+DIST lam-7.1.4.tar.bz2 7865813 RMD160 6c9c6338391472d4cd2572c409cb92360e7fd799 SHA1 ce8a983004f31d5960d34efe3ed9ac489e9dfc9d SHA256 d66c205f57d9ffc38dbfb81faef8b586ef2b9e08853034c0472ef4ae45803d2e
+EBUILD lam-mpi-7.1.4-r1.ebuild 3542 RMD160 bbf24f2d3ece58be628644c57f66608adec4e5f5 SHA1 b4828c2018f1a34bb68481fef6c5a6c5bc39ef05 SHA256 87d31157927a5c62effe68bf7be95630e9a6ab2e18a559ebe0c481467ed1091d
+MISC ChangeLog 10977 RMD160 eadf368276a0ed6d576ce2080077758cfa3e987b SHA1 b705af310367ef6392fba64e5dd91aa4f4c08df0 SHA256 2dd08fc6ef549ff67a48f1fe892e5737e6cdf07a507f01f411063ea738afcbda
+MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3
diff --git a/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch b/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch
new file mode 100644
index 000000000..79969846a
--- /dev/null
+++ b/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch
@@ -0,0 +1,11 @@
+--- lam-7.1.2.orig/config/lam_prog_f77.m4 2006-07-19 22:43:12.000000000 -0700
++++ lam-7.1.2/config/lam_prog_f77.m4 2006-07-19 22:43:18.000000000 -0700
+@@ -58,7 +58,7 @@
+
+ # If the user did not specify one, look for all the common names
+
+- AC_CHECK_PROGS(F77, [g77 f77 fort77 f90], no)
++ AC_CHECK_PROGS(F77, [gfortran g77 f77 fort77 f90], no)
+ if test -z "$F77" -o "$F77" = "no"; then
+ AC_MSG_WARN([*** Could not find FORTRAN compiler. Either use])
+ AC_MSG_WARN([*** --with-fc to specify the FORTRAN compiler, or])
diff --git a/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch b/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch
new file mode 100644
index 000000000..9b4b722ee
--- /dev/null
+++ b/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch
@@ -0,0 +1,10 @@
+--- lam-7.1.2.orig/share/liblam/Makefile.am 2006-09-25 22:52:17.000000000 -0700
++++ lam-7.1.2/share/liblam/Makefile.am 2006-09-25 22:52:04.000000000 -0700
+@@ -35,5 +35,6 @@
+ $(top_builddir)/share/ssi/libssi_lam.la \
+ $(top_builddir)/share/threads/liblamthreads.la \
+ $(top_builddir)/share/trillium/liblamtrillium.la \
+- $(top_builddir)/share/tstdio/liblamtstdio.la
++ $(top_builddir)/share/tstdio/liblamtstdio.la \
++ $(LIBLAM_EXTRA_LIBS)
+ liblam_la_LDFLAGS = $(EXTRA_LDFLAGS)
diff --git a/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch b/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch
new file mode 100644
index 000000000..6050f1a7b
--- /dev/null
+++ b/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch
@@ -0,0 +1,100 @@
+diff -urN lam-7.1.4/configure.in lam-7.1.4-patched/configure.in
+--- lam-7.1.4/configure.in 2006-06-24 16:42:47.000000000 -0400
++++ lam-7.1.4-patched/configure.in 2008-03-11 00:03:26.000000000 -0400
+@@ -2482,6 +2482,7 @@
+
+ share/libmpi/Makefile
+ share/liblam/Makefile
++ share/liblamf77mpi/Makefile
+
+ share/dynamic-ssi/Makefile
+ share/dynamic-ssi/boot/Makefile
+diff -urN lam-7.1.4/share/liblamf77mpi/Makefile.am lam-7.1.4-patched/share/liblamf77mpi/Makefile.am
+--- lam-7.1.4/share/liblamf77mpi/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ lam-7.1.4-patched/share/liblamf77mpi/Makefile.am 2008-03-11 00:37:26.000000000 -0400
+@@ -0,0 +1,32 @@
++# -*- makefile -*-
++#
++# Copyright (c) 2001-2003 The Trustees of Indiana University.
++# All rights reserved.
++# Copyright (c) 1998-2001 University of Notre Dame.
++# All rights reserved.
++# Copyright (c) 1994-1998 The Ohio State University.
++# All rights reserved.
++#
++# This file is part of the LAM/MPI software package. For license
++# information, see the LICENSE file in the top level directory of the
++# LAM/MPI source distribution.
++#
++# $Id: Makefile.am,v 1.1 2003/11/15 14:09:55 jsquyres Exp $
++#
++
++include $(top_srcdir)/config/Makefile.options
++
++if WANT_FORTRAN
++fortran_lib = liblamf77mpi.la
++else
++fortran_lib =
++endif
++
++lib_LTLIBRARIES = $(fortran_lib)
++
++liblamf77mpi_la_SOURCES =
++liblamf77mpi_la_LIBADD = \
++ $(top_builddir)/share/libmpi/libmpi.la \
++ $(top_builddir)/share/liblam/liblam.la \
++ $(top_builddir)/share/mpi/f77/liblamf77mpi.la
++liblamf77mpi_la_LDFLAGS = $(EXTRA_LDFLAGS)
+diff -urN lam-7.1.4/share/libmpi/Makefile.am lam-7.1.4-patched/share/libmpi/Makefile.am
+--- lam-7.1.4/share/libmpi/Makefile.am 2006-06-24 16:42:43.000000000 -0400
++++ lam-7.1.4-patched/share/libmpi/Makefile.am 2008-03-11 00:12:32.000000000 -0400
+@@ -42,5 +42,6 @@
+ $(top_builddir)/share/mpi/libmpiextra.la \
+ $(top_builddir)/share/ssi/libssi_mpi.la \
+ $(top_builddir)/share/memory/libmemory.la \
++ $(top_builddir)/share/liblam/liblam.la \
+ $(impi_lib) $(pmpi_lib)
+ libmpi_la_LDFLAGS = $(EXTRA_LDFLAGS)
+diff -urN lam-7.1.4/share/Makefile.am lam-7.1.4-patched/share/Makefile.am
+--- lam-7.1.4/share/Makefile.am 2006-06-24 16:42:43.000000000 -0400
++++ lam-7.1.4-patched/share/Makefile.am 2008-03-10 23:32:04.000000000 -0400
+@@ -24,4 +24,4 @@
+ SUBDIRS = include args boot etc freq kreq impi memory mpi \
+ $(LIBLTDL_SUBDIR) nreq pmpi rreq ssi \
+ threads $(TOTALVIEW_DLL_DIR) trillium tstdio \
+- liblam libmpi dynamic-ssi
++ liblam libmpi liblamf77mpi dynamic-ssi
+diff -urN lam-7.1.4/share/mpi/f77/Makefile.am lam-7.1.4-patched/share/mpi/f77/Makefile.am
+--- lam-7.1.4/share/mpi/f77/Makefile.am 2006-06-24 16:42:35.000000000 -0400
++++ lam-7.1.4-patched/share/mpi/f77/Makefile.am 2008-03-10 23:41:30.000000000 -0400
+@@ -16,6 +16,8 @@
+
+ include $(top_srcdir)/config/Makefile.options
+
++noinst_LTLIBRARIES = liblamf77mpi.la
++
+ # This kinda sucks. The "ar" command in IRIX 6.5 has a upper limit
+ # on the total number of characters in its arguments. If we include
+ # all these fortran files in making libmpi.a, with all the
+@@ -34,12 +36,6 @@
+ # no extra subdirectories, so it doesn't run into the same character
+ # limit with ar. Ugh.
+
+-if WANT_FORTRAN
+-fortran_lib = liblamf77mpi.la
+-else
+-fortran_lib =
+-endif
+-
+
+ # Files with stubs of MPI functions that LAM has not yet implemented.
+ # These are here because the default action is to *not* compile them
+@@ -61,8 +57,6 @@
+ mpi_stub_sources =
+ endif
+
+-
+-lib_LTLIBRARIES = $(fortran_lib)
+ liblamf77mpi_la_SOURCES = \
+ $(mpi_stub_sources) \
+ abort_f.c \
diff --git a/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi b/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi
new file mode 100644
index 000000000..848fc0daf
--- /dev/null
+++ b/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi
@@ -0,0 +1,7 @@
+MPI_CC=@ROOT@/usr/bin/mpicc
+MPI_CXX=@ROOT@/usr/bin/mpic++
+MPI_F77=@ROOT@/usr/bin/mpif77
+MPI_BUILT_WITH=@BUILT_WITH@
+PATH=@ROOT@/usr/bin
+MANPATH=@ROOT@/usr/share/man
+LD_LIBRARY_PATH=@ROOT@/usr/@LIBDIR@
diff --git a/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild
new file mode 100644
index 000000000..ce6db4ca9
--- /dev/null
+++ b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit autotools eutils fortran flag-o-matic multilib portability mpi
+
+IUSE="crypt pbs fortran xmpi romio examples"
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="the LAM MPI parallel computing environment"
+SRC_URI="http://www.lam-mpi.org/download/files/${MY_P}.tar.bz2"
+HOMEPAGE="http://www.lam-mpi.org"
+DEPEND="pbs? ( sys-cluster/torque )
+ $(mpi_imp_deplist)"
+RDEPEND="${DEPEND}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )"
+
+SLOT="6"
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="lam-mpi"
+
+src_unpack() {
+ local docdir=${D}$(get_mpi_dir)/usr/share/doc/${PF}
+ unpack ${A}
+
+ cd "${S}"
+ sed -i \
+ "s|docdir=\"\$datadir/lam/doc\"|docdir=\"${docdir}\"|" \
+ romio/util/romioinstall.in
+
+ sed -i "s|^\(docdir.*= \)\$(datadir)/lam/doc|\1\"${docdir#${D}}\"|" \
+ share/memory/{ptmalloc,ptmalloc2,darwin7}/Makefile.am
+
+ epatch "${FILESDIR}"/7.1.2-lam_prog_f77.m4.patch
+ epatch "${FILESDIR}"/7.1.2-liblam-use-extra-libs.patch
+ epatch "${FILESDIR}"/7.1.4-as-needed.patch
+ # Isn't needed yet, but is probably the right place to look.
+ # sed -i 's:^\(WRAPPER_EXTRA_LDFLAGS=.*\)":\1 -Wl,--no-as-needed":' configure.in
+ eautoreconf
+}
+
+pkg_setup() {
+ MPI_ESELECT_FILE="eselect.mpi.lam-mpi"
+ einfo
+ elog "LAM/MPI is now in a maintenance mode. Bug fixes and critical patches"
+ elog "are still being applied, but little real new work is happening in"
+ elog "LAM/MPI. This is a direct result of the LAM/MPI Team spending the"
+ elog "vast majority of their time working on our next-generation MPI"
+ elog "implementation, http://www.openmpi.org"
+ elog " ---From the lam-mpi hompage. Please consider upgrading."
+ einfo
+
+ # fortran_pkg_setup should -not- be run here.
+ mpi_pkg_setup
+}
+
+src_compile() {
+ if use crypt; then
+ mpi_conf_args="${mpi_conf_args} --with-rsh=ssh"
+ else
+ mpi_conf_args="${mpi_conf_args} --with-rsh=rsh"
+ fi
+
+ if ! use pbs; then
+ # See: http://www.lam-mpi.org/MailArchives/lam/2006/05/12445.php
+ rm -rf "${S}"/share/ssi/boot/tm
+ elif has_version "<=sys-cluster/torque-2.1.6"; then
+ # Newer versions dropped the conflicting names and can
+ # be installed to nice directories.
+ append-ldflags -L/usr/$(get_libdir)/pbs/lib
+ fi
+
+ # Following the above post to the mailing list, we'll get
+ # rid of bproc, globus and slurm as well, none of which are
+ # in the current tree.
+ rm -rf "${S}"/share/ssi/boot/{bproc,globus,slurm}
+
+ if use fortran; then
+ fortran_pkg_setup
+ # this is NOT in pkg_setup as it is NOT needed for RDEPEND right away it
+ # can be installed after merging from binary, and still have things fine
+ mpi_conf_args="${mpi_conf_args} --with-fc=${FORTRANC}"
+ else
+ mpi_conf_args="${mpi_conf_args} --without-fc"
+ fi
+
+ mpi_conf_args="
+ $(use_with xmpi trillium)
+ --enable-shared
+ --with-threads=posix
+ $(use_with romio)
+ ${mpi_conf_args}"
+ mpi_src_compile
+}
+
+src_install () {
+ mpi_src_install
+
+ # There are a bunch more tex docs we could make and install too,
+ # but they are replicated in the pdfs!
+ mpi_dodoc README HISTORY VERSION
+ mpi_dodoc "${S}"/doc/{user,install}.pdf
+
+ # It's your fault if you install lam-mpi multiple times and keep this
+ # flag turned on, there's -a lot- of examples.
+ if use examples; then
+ cd "${S}"/examples
+ mpi_dodir /usr/share/${P}/examples
+ find -name README -or -iregex '.*\.[chf][c]?$' >"${T}"/testlist
+ while read p; do
+ treecopy $p "${D}"/$(get_mpi_dir)/usr/share/${P}/examples ;
+ done < "${T}"/testlist
+ fi
+}
diff --git a/sys-cluster/lam-mpi/metadata.xml b/sys-cluster/lam-mpi/metadata.xml
new file mode 100644
index 000000000..8f0aa7fc4
--- /dev/null
+++ b/sys-cluster/lam-mpi/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>hp-cluster</herd>
+</pkgmetadata>
diff --git a/sys-cluster/libehca/ChangeLog b/sys-cluster/libehca/ChangeLog
new file mode 100644
index 000000000..e287278ad
--- /dev/null
+++ b/sys-cluster/libehca/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/libehca
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libehca-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libehca/Manifest b/sys-cluster/libehca/Manifest
new file mode 100644
index 000000000..41b58f85d
--- /dev/null
+++ b/sys-cluster/libehca/Manifest
@@ -0,0 +1,4 @@
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD libehca-1.1.ebuild 725 RMD160 b1e2552a954b16991f8afa40861238559c2b173b SHA1 419db972d441e5967fb175ec3b91973bbc940441 SHA256 2fab921ce8aee966d21c5f850d027e82dbdaaef69b2c8b8656fcbc7e0ab9ebc1
+MISC ChangeLog 229 RMD160 173e2eff9d2a5ba2fd18f0c2aecefe9b419807cb SHA1 053146edc98cc780a118e4e76fbdff073988f0d7 SHA256 b2fbf14c1bf32db3c57560f8d7f0fca6911eb7b8ac42b67ccb6781dddc147e43
+MISC metadata.xml 268 RMD160 b9ad624fa453134e7070265231890b5834717483 SHA1 093332fd523364fdfed959f2ed828b59e92db471 SHA256 375ee8b5598c7090139d3c272fb75276ee2f9cecd2c87e08b667914de8f69693
diff --git a/sys-cluster/libehca/libehca-1.1.ebuild b/sys-cluster/libehca/libehca-1.1.ebuild
new file mode 100644
index 000000000..ace63ff51
--- /dev/null
+++ b/sys-cluster/libehca/libehca-1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB - IBM eServer eHCA Infiniband device driver for Linux on
+POWER"
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}"
+
+IUSE=""
+
+DEPEND="=sys-cluster/libibverbs-${PV}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc COPYING
+}
+
diff --git a/sys-cluster/libehca/metadata.xml b/sys-cluster/libehca/metadata.xml
new file mode 100644
index 000000000..3276c6fdb
--- /dev/null
+++ b/sys-cluster/libehca/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB - IBM eServer eHCA Infiniband device driver for Linux on POWER.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libibcm/ChangeLog b/sys-cluster/libibcm/ChangeLog
new file mode 100644
index 000000000..4b8f29cb2
--- /dev/null
+++ b/sys-cluster/libibcm/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/libibcm
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libibcm-1.0.1 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -libibcm-1.1.ebuild: removed
+ +libibcm-1.0.1.ebuild: added
+
+*libibcm-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libibcm/Manifest b/sys-cluster/libibcm/Manifest
new file mode 100644
index 000000000..474b46f22
--- /dev/null
+++ b/sys-cluster/libibcm/Manifest
@@ -0,0 +1,4 @@
+DIST libibcm-1.0.1.tar.gz 318991 RMD160 c263fa1cdb9b2ea7dced2d2d9bdf5181c83479e3 SHA1 ba613a74de6f6c49aeb937aec31f4eb022e9b19e SHA256 a8b7f7bbc43dafb39bc00f1e1e1b333ae34b88ec568e9d91746cebcd86518ffd
+EBUILD libibcm-1.0.1.ebuild 578 RMD160 3f843f78be00d1f09bcb52263e4f8b4929a04aea SHA1 a1cbd0d10fb82562b4fcdb078bf2878119071230 SHA256 9768c12e4cc1c5636e913868bcba1f132dde81f48e1e82443504fb6b9233909b
+MISC ChangeLog 419 RMD160 09fe652bda5f5c5d4714a2dadd2251c8508a60bc SHA1 d7782089527ddab7e1de34e9dd4430b5b978af1a SHA256 e03799619c4ba6b7adb4672bcbf8fef7ca1ed6a041607b335511a95e6863af51
+MISC metadata.xml 225 RMD160 b67ae9b3dfb94a62234aa189d57ce40e5c46b0b0 SHA1 96710bdc512030840adf0958a5409afb6d9a8474 SHA256 f967801055d7bdf11aa1a121654a256cd74c3c5699302138a9120963b3960dac
diff --git a/sys-cluster/libibcm/libibcm-1.0.1.ebuild b/sys-cluster/libibcm/libibcm-1.0.1.ebuild
new file mode 100644
index 000000000..9b61d7967
--- /dev/null
+++ b/sys-cluster/libibcm/libibcm-1.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB Userspace CM library"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/rdmacm/${P}.tar.gz"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibverbs"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS ChangeLog
+}
+
diff --git a/sys-cluster/libibcm/metadata.xml b/sys-cluster/libibcm/metadata.xml
new file mode 100644
index 000000000..d6f4b8601
--- /dev/null
+++ b/sys-cluster/libibcm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB Userspace CM library
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libibcommon/ChangeLog b/sys-cluster/libibcommon/ChangeLog
new file mode 100644
index 000000000..1d6dbc38a
--- /dev/null
+++ b/sys-cluster/libibcommon/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/libibcommon
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libibcommon-1.0.5 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -libibcommon-1.1.ebuild: removed
+ +libibcommon-1.0.5.ebuild: added
+
+*libibcommon-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libibcommon/Manifest b/sys-cluster/libibcommon/Manifest
new file mode 100644
index 000000000..b91d8c155
--- /dev/null
+++ b/sys-cluster/libibcommon/Manifest
@@ -0,0 +1,4 @@
+DIST libibcommon-1.0.5.tar.gz 326920 RMD160 3601e2f90de744f59662ce58b8b88537dd24358b SHA1 a9b001701ff8dd3fb1f8c3bcf1377dc777860e2d SHA256 984e3c31551081742e2c188840e2d9d69b25e9dc3580dab300887d1919456d5a
+EBUILD libibcommon-1.0.5.ebuild 627 RMD160 c3f9c18e567393a5facd31f4568d1b62aa0314e1 SHA1 9fddfcf38578621db786c4927d50500cae3600cc SHA256 576a2e0fe9322202df838fc0c16c7e4c9b4ea5f057c83cdb370c20d8d5ac6861
+MISC ChangeLog 439 RMD160 4fa39424513481cb912c622fc30f6a92e460c484 SHA1 e417eea2608ea7739036cf0285cdffaa41bbfa16 SHA256 4cc745442519f1faf035782f6b5e581dcd173542ab06b5260838c1ab6a2315ba
+MISC metadata.xml 294 RMD160 77f1de3facb664ac1013b3111ecab082fbe47d9a SHA1 54c68a26e5636f2a476a5b9307466d3736898aa7 SHA256 5bb76f6e785f99b3a0ef6683660008d37d49fd13b64742c7945565d14b3ea23e
diff --git a/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild b/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild
new file mode 100644
index 000000000..c98bcf016
--- /dev/null
+++ b/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB library that provides common utility functions for the IB diagnostic and management tools"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !sys-cluster/openib-userspace"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+}
+
diff --git a/sys-cluster/libibcommon/metadata.xml b/sys-cluster/libibcommon/metadata.xml
new file mode 100644
index 000000000..e53757b72
--- /dev/null
+++ b/sys-cluster/libibcommon/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB library that provides common utility functions for the IB diagnostic and
+management tools
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libibmad/ChangeLog b/sys-cluster/libibmad/ChangeLog
new file mode 100644
index 000000000..89b08bbba
--- /dev/null
+++ b/sys-cluster/libibmad/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/libibmad
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libibmad-1.1.2 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -libibmad-1.1.ebuild: removed
+ +libibmad-1.1.2.ebuild: added
+
+*libibmad-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libibmad/Manifest b/sys-cluster/libibmad/Manifest
new file mode 100644
index 000000000..efd28d4b9
--- /dev/null
+++ b/sys-cluster/libibmad/Manifest
@@ -0,0 +1,4 @@
+DIST libibmad-1.1.2.tar.gz 352898 RMD160 039e9d83407a2222814501ba5e55aaebf67875bd SHA1 3832b38b76872abdf1c618263674e8c6754cdb3a SHA256 f942436a8c4d81039f4fb5a04c1b23cbe04e8e4c48702aa16ca3d97c746064e7
+EBUILD libibmad-1.1.2.ebuild 711 RMD160 68131c48101e0c732483d765fbcf9deea8c6438b SHA1 0e41332f38a6958ca81bbd29629ddcafb17097ee SHA256 7d0fd816efdb92f5ab529dec4de378e3ad2e4596b78424c1ba544ff2ab83529b
+MISC ChangeLog 424 RMD160 9e11020cfc613987e062ea999aea7db29c56c7f9 SHA1 ad3b37826fe6543d3a191df9760f9da7c72ef02b SHA256 a1a167a306c17281add94fc9d53fa49e2ab93b816e07900939b67f6dbafce7f7
+MISC metadata.xml 361 RMD160 c9e07faec64931dfdbcae2c0e0736d351da10073 SHA1 bb009860a1a59bd35a7558a41be11d6983f45978 SHA256 4a424c126404f43935a79b2c4097c40a8e5f9d8b8edb39ecd6e4b07c37a61451
diff --git a/sys-cluster/libibmad/libibmad-1.1.2.ebuild b/sys-cluster/libibmad/libibmad-1.1.2.ebuild
new file mode 100644
index 000000000..637334cff
--- /dev/null
+++ b/sys-cluster/libibmad/libibmad-1.1.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB library that provides low layer IB functions for use by the IB diagnostic and management programs. These include MAD, SA, SMP, and other basic IB functions."
+
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibcommon
+ sys-cluster/libibumad"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+}
+
diff --git a/sys-cluster/libibmad/metadata.xml b/sys-cluster/libibmad/metadata.xml
new file mode 100644
index 000000000..dbc9d5578
--- /dev/null
+++ b/sys-cluster/libibmad/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB library that provides low layer IB functions for use by the IB diagnostic
+and management programs. These include MAD, SA, SMP, and other basic IB
+functions.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libibumad/ChangeLog b/sys-cluster/libibumad/ChangeLog
new file mode 100644
index 000000000..5318bb407
--- /dev/null
+++ b/sys-cluster/libibumad/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/libibumad
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libibumad-1.1.3 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -libibumad.1.1.ebuild: removed
+ +libibumad.1.1.3.ebuild: added
+
+*libibumad-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libibumad/Manifest b/sys-cluster/libibumad/Manifest
new file mode 100644
index 000000000..e819ccd60
--- /dev/null
+++ b/sys-cluster/libibumad/Manifest
@@ -0,0 +1,4 @@
+DIST libibumad-1.1.3.tar.gz 340580 RMD160 712c72056db0b2c6e2e63a8308115c79ee4e731c SHA1 be355182905a6f8c660f915838d953da295b4fed SHA256 0074006750f49f8cd6fbdf00c1bfe881435ea4d96e194b24514dcd4caf702444
+EBUILD libibumad-1.1.3.ebuild 691 RMD160 6c64987f46d13e1629861627faddcf65c10d71de SHA1 72c9102cf4834eda6519593bbf86f822394a36e2 SHA256 b6d2aaab60a8268ad811cbfaa995814400c36f33a42c2d0fdb5bc2a2d7f05db9
+MISC ChangeLog 429 RMD160 46fe44232cb3fdede41007fa42d66dda03bfc49a SHA1 b8d89cffe0efbe00548b170c336eaaa4444c34ff SHA256 25de6c69b51ce53a8971bcb5172a3e9df47c90c360c52ffcc97cd1959477edb8
+MISC metadata.xml 364 RMD160 b8bcb6c91bc52a35c0ba1d2f63d1eb14120bb216 SHA1 efad3cefe8ed0c8058ecffee15b901d06807e34f SHA256 114ee13c84a4f6aa6cc13f8cd91216d9bac7d504795ee4fd7b8f4598b1f82a5d
diff --git a/sys-cluster/libibumad/libibumad-1.1.3.ebuild b/sys-cluster/libibumad/libibumad-1.1.3.ebuild
new file mode 100644
index 000000000..bc6579d37
--- /dev/null
+++ b/sys-cluster/libibumad/libibumad-1.1.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB User MAD library functions which sit on top of the user MAD modules in the kernel. These are used by the IB diagnostic and management tools, including OpenSM."
+
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibcommon"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+}
+
diff --git a/sys-cluster/libibumad/metadata.xml b/sys-cluster/libibumad/metadata.xml
new file mode 100644
index 000000000..4d5e933a1
--- /dev/null
+++ b/sys-cluster/libibumad/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB User MAD library functions which sit on top of the user MAD modules in
+the kernel. These are used by the IB diagnostic and management tools, including
+OpenSM.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libibverbs/ChangeLog b/sys-cluster/libibverbs/ChangeLog
new file mode 100644
index 000000000..048e671eb
--- /dev/null
+++ b/sys-cluster/libibverbs/ChangeLog
@@ -0,0 +1,28 @@
+# ChangeLog for sys-cluster/libibverbs
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libibverbs-1.1.1 (26 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov>
+ +libibverbs-1.1.1.ebuild: version bump to 1.1.1.
+ -libibverbs-1.1.ebuild: removed
+ libibverbs-1.0.3.ebuild:
+ Accounted for mutually exclusive openib-userspace
+ ebuild.
+
+*libibverbs-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov>
+ +libibverbs-1.1.ebuild ChangeLog, -libibverbs-1.1_rc6.ebuild:
+ added ebuild for ofed-1.1. Fixed 'LICENSE' and 'HOMEPAGE'.
+
+ 03 Oct 2006; Bryan Green <bryan.d.green@nasa.gov>
+ -libibverbs-1.0.9999.ebuild, -libibverbs-1.1.9999.ebuild:
+ Removed live ebuilds
+
+ 27 Sep 2006; Bryan Green <bgreen@nas.nasa.gov>
+ +libibverbs-1.0.3.ebuild, +libibverbs-1.0.9999.ebuild,
+ +libibverbs-1.1.9999.ebuild, +libibverbs-1.1_rc6.ebuild:
+ Initial import
+
diff --git a/sys-cluster/libibverbs/Manifest b/sys-cluster/libibverbs/Manifest
new file mode 100644
index 000000000..924460726
--- /dev/null
+++ b/sys-cluster/libibverbs/Manifest
@@ -0,0 +1,6 @@
+DIST libibverbs-1.0.3.tar.gz 349439 RMD160 e0c836ee000cf1cc833dcdab1136933d5305131a SHA1 211809c8e03bbad42dd124e6f4cd5150373da576 SHA256 9b9e26d690f53d5a7f914944acdc7ba5da50c85baced5847db06ccffac92e9bf
+DIST libibverbs-1.1.1.tar.gz 384743 RMD160 8c2c703c8563f86fb00d07837ef5a2f8a5fb543e SHA1 eac666bf1080deef6e0d52810c83aa5611683828 SHA256 e42b2acbd394f3922298598f3121f32eea81dfb50f12ae8693ca963076a23d88
+EBUILD libibverbs-1.0.3.ebuild 714 RMD160 e9b38b518b88b7dc35132893f06eb2bf9ed122c1 SHA1 2bf30c7627d58a94fb2030edc918139c2a48c56f SHA256 cbd898f41b435857d8062fd39ff8fe71e04a51acc18588576e2db9df3c73173f
+EBUILD libibverbs-1.1.1.ebuild 714 RMD160 e9b38b518b88b7dc35132893f06eb2bf9ed122c1 SHA1 2bf30c7627d58a94fb2030edc918139c2a48c56f SHA256 cbd898f41b435857d8062fd39ff8fe71e04a51acc18588576e2db9df3c73173f
+MISC ChangeLog 914 RMD160 3b9e0260d1b5afd6d26b7ba0b45f9c84b3efb166 SHA1 356a8c491eedb971017d0176057d389f81c3174a SHA256 4e10f442c41918abfc3665e2d6e0a4c223d24a14d6c72f7974afc6ea575c126c
+MISC metadata.xml 426 RMD160 9bf509ead397955652dcc89a9cff5370ccaee9bd SHA1 38090b6e7d9e6677943062b81b8ea6a29b5f698d SHA256 041eeefa57c81b2cef7450e96ead60e4d999570cfe9d62cfc4252ff904e18719
diff --git a/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild b/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild
new file mode 100644
index 000000000..5a44b8697
--- /dev/null
+++ b/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="a library that allows programs to use InfiniBand 'verbs' for direct access to IB hardware from userspace"
+SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz"
+HOMEPAGE="http://www.openfabrics.org/"
+
+IUSE=""
+
+DEPEND="sys-fs/sysfsutils"
+RDEPEND="${DEPEND}
+ !sys-cluster/openib-userspace"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS ChangeLog
+ docinto examples
+ dodoc examples/*.[ch]
+}
+
diff --git a/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild b/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild
new file mode 100644
index 000000000..5a44b8697
--- /dev/null
+++ b/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="a library that allows programs to use InfiniBand 'verbs' for direct access to IB hardware from userspace"
+SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz"
+HOMEPAGE="http://www.openfabrics.org/"
+
+IUSE=""
+
+DEPEND="sys-fs/sysfsutils"
+RDEPEND="${DEPEND}
+ !sys-cluster/openib-userspace"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS ChangeLog
+ docinto examples
+ dodoc examples/*.[ch]
+}
+
diff --git a/sys-cluster/libibverbs/metadata.xml b/sys-cluster/libibverbs/metadata.xml
new file mode 100644
index 000000000..f32cc6d6c
--- /dev/null
+++ b/sys-cluster/libibverbs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+libibverbs is a library that allows programs to use InfiniBand "verbs"
+for direct access to IB hardware from userspace. For more information
+on verbs, see the InfiniBand Architecture Specification vol. 1,
+especially chapter 11.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libipathverbs/ChangeLog b/sys-cluster/libipathverbs/ChangeLog
new file mode 100644
index 000000000..98ee8256e
--- /dev/null
+++ b/sys-cluster/libipathverbs/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/libipathverbs
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libipathverbs-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libipathverbs/Manifest b/sys-cluster/libipathverbs/Manifest
new file mode 100644
index 000000000..f97858d98
--- /dev/null
+++ b/sys-cluster/libipathverbs/Manifest
@@ -0,0 +1,4 @@
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD libipathverbs-1.1.ebuild 728 RMD160 5afa5f2d0f7cdc7b0955a559f73d626978b0e4ca SHA1 810a6bec35cdac7d41b921903b262283cf561704 SHA256 fa6bff4c58607abb4ee1e89d9461136d70f3f32663e8596c07563390fbf9513a
+MISC ChangeLog 241 RMD160 df275dd4d22024e08360999447284075477c96b8 SHA1 35a23daebefbfac545d2026cd51de2f78f5d0550 SHA256 49ea1dbc4f932f974784066d5098de24e119e601efb3b1f2fa704d4f4cbb0bd7
+MISC metadata.xml 421 RMD160 114e8aecda6d8cc32b5e5d6e20706a752acfb247 SHA1 61db2054e6c0443a599c36d23994c71bf4795c46 SHA256 9082167e78422f279b2fa3a85ffd8a795fee49f0726f5a3f34688056eb9818b7
diff --git a/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild b/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild
new file mode 100644
index 000000000..77ff0516e
--- /dev/null
+++ b/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB userspace driver for the PathScale InfiniBand HCAs"
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}"
+
+IUSE=""
+
+DEPEND="=sys-cluster/libibverbs-${PV}"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS COPYING
+}
+
diff --git a/sys-cluster/libipathverbs/metadata.xml b/sys-cluster/libipathverbs/metadata.xml
new file mode 100644
index 000000000..1cce96be7
--- /dev/null
+++ b/sys-cluster/libipathverbs/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+libipathverbs is a userspace driver for QLogic InfiniBand HCAs. It works as a
+plug-in module for libibverbs that allows programs to use QLogic HCAs directly
+from userspace. See the libibverbs package for more information.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libmthca/ChangeLog b/sys-cluster/libmthca/ChangeLog
new file mode 100644
index 000000000..0dbf2cc44
--- /dev/null
+++ b/sys-cluster/libmthca/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/libmthca
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libmthca-1.0.4 (26 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ replaced old -userspace version with standalone version.
+ -libmthca-1.1.ebuild: removed
+ +libmthca-1.0.4.ebuild: added
+
+*libmthca-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial import
+
diff --git a/sys-cluster/libmthca/Manifest b/sys-cluster/libmthca/Manifest
new file mode 100644
index 000000000..4e81fc696
--- /dev/null
+++ b/sys-cluster/libmthca/Manifest
@@ -0,0 +1,4 @@
+DIST libmthca-1.0.4.tar.gz 338319 RMD160 1d084ab1d76fc8f1fffdb2f01ff9b09eb04958d6 SHA1 4ef250cd1f7db8386458c47a874b9ffaca3dfabf SHA256 dcc695bf88f72eaaa77058fd7676a6b49bd40ed81a07d5c1f306620498d87f38
+EBUILD libmthca-1.0.4.ebuild 626 RMD160 5556164e3c0e0717f084cbdbeb01700a81840fcb SHA1 cbe57b5cae0eae858ee7d4a8fdb616f4498b6d18 SHA256 65e2a018d7ca9e868d40e62b50955cc38e1b004c0d8aad9b55e6969544a2de45
+MISC ChangeLog 449 RMD160 f5b544f16a16a1fde662df0fb18bc79489d5012e SHA1 919f268441723eeb2348b38907f74e26f02f4305 SHA256 a3ebb71d4a4d53f738256e77b04166921d9f7d484629a29f89241dc2bfc0cf48
+MISC metadata.xml 426 RMD160 9bf509ead397955652dcc89a9cff5370ccaee9bd SHA1 38090b6e7d9e6677943062b81b8ea6a29b5f698d SHA256 041eeefa57c81b2cef7450e96ead60e4d999570cfe9d62cfc4252ff904e18719
diff --git a/sys-cluster/libmthca/libmthca-1.0.4.ebuild b/sys-cluster/libmthca/libmthca-1.0.4.ebuild
new file mode 100644
index 000000000..e37162e73
--- /dev/null
+++ b/sys-cluster/libmthca/libmthca-1.0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB userspace driver for Mellanox InfiniBand HCAs"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz"
+
+IUSE=""
+
+DEPEND="sys-cluster/libibverbs"
+RDEPEND="${DEPEND}
+ !sys-cluster/openib-userspace"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS ChangeLog
+}
+
diff --git a/sys-cluster/libmthca/metadata.xml b/sys-cluster/libmthca/metadata.xml
new file mode 100644
index 000000000..f32cc6d6c
--- /dev/null
+++ b/sys-cluster/libmthca/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+libibverbs is a library that allows programs to use InfiniBand "verbs"
+for direct access to IB hardware from userspace. For more information
+on verbs, see the InfiniBand Architecture Specification vol. 1,
+especially chapter 11.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/librdmacm/ChangeLog b/sys-cluster/librdmacm/ChangeLog
new file mode 100644
index 000000000..4bf9c5ab2
--- /dev/null
+++ b/sys-cluster/librdmacm/ChangeLog
@@ -0,0 +1,14 @@
+# ChangeLog for sys-cluster/librdmacm
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*librdmacm-1.0.3 (26 Nov 2007)
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov>
+ -librdmacm-1.1.ebuild: removed
+ +librdmacm-1.0.3.ebuild: added
+
+*librdmacm-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/librdmacm/Manifest b/sys-cluster/librdmacm/Manifest
new file mode 100644
index 000000000..e261eda58
--- /dev/null
+++ b/sys-cluster/librdmacm/Manifest
@@ -0,0 +1,4 @@
+DIST librdmacm-1.0.3.tar.gz 345649 RMD160 fe66cd702ce0c36fbb6ce48d46bbd7f365a5013b SHA1 3b194f054bf653ea7c70183bab146a78a0ad6dd9 SHA256 045a07b853922f4f2d24e6d88c2be2b406cbdab1858591362fccfc9a5e13735c
+EBUILD librdmacm-1.0.3.ebuild 691 RMD160 c760d567ef769248d33119edd06e625077303986 SHA1 e56d209182f66cb7abf64cec3c1ab8e921ed7fe8 SHA256 dea2464afd3032ec3756293d4e44bf98726bc86e63ab247e16c9dfe3ee63746b
+MISC ChangeLog 383 RMD160 0d6ebfe52a57c7a99a19e6ba5adc00a8cbfbe109 SHA1 32169eb531785e6b0365490e04d9c433556b3048 SHA256 ca82f8d9e93f82a9d8353d4174dad69188e0503fc9a941b4e72bb4fcf694d685
+MISC metadata.xml 231 RMD160 4e683cf1e4e98e12f6827c19be6b1507c66d6bc2 SHA1 4cc03d85daa352f1d0b36d7a031765ee30c9ea2e SHA256 dc582f05fc10f90c08881f52d8434a939bf12da38a73004ba0327e5b1bc0bc9d
diff --git a/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild b/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild
new file mode 100644
index 000000000..54b227afe
--- /dev/null
+++ b/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB userspace RDMA CM library"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/rdmacm/${P}.tar.gz"
+#S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !sys-cluster/openib-userspace"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README AUTHORS ChangeLog
+ docinto examples
+ dodoc examples/*.[ch]
+}
+
diff --git a/sys-cluster/librdmacm/metadata.xml b/sys-cluster/librdmacm/metadata.xml
new file mode 100644
index 000000000..67da2f26d
--- /dev/null
+++ b/sys-cluster/librdmacm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB userspace RDMA CM library.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libsdp/ChangeLog b/sys-cluster/libsdp/ChangeLog
new file mode 100644
index 000000000..e75d3c41d
--- /dev/null
+++ b/sys-cluster/libsdp/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/libsdp
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*libsdp-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/libsdp/Manifest b/sys-cluster/libsdp/Manifest
new file mode 100644
index 000000000..319f1b283
--- /dev/null
+++ b/sys-cluster/libsdp/Manifest
@@ -0,0 +1,4 @@
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD libsdp-1.1.ebuild 734 RMD160 ee03e1a94a5995a0eedf7176faac51024bb32d4b SHA1 918af8cad061728fb5f8cc8c67fe44425fcc7839 SHA256 6d1cb6c448879d10c86026abf6799df6eb491e772811994baa042ebc6ff189c9
+MISC ChangeLog 227 RMD160 ea12439169664618bd712a981feb0de855cda568 SHA1 be617fb6c000f3c3b97f4f614ef0d746961fc81e SHA256 2317e20e4cf5fb078ce72d5273af596ee7cf76a26f1f1a6faf171a8548f0ef5d
+MISC metadata.xml 394 RMD160 7b931750b94fec4eb68e8af81367a330572e65cc SHA1 99bba2f1b65d3bb0c9acb110b1f094910f3211b4 SHA256 ee18115d70440110f81c65f3220beaf2dc625049875515b2716a6e31093dbb12
diff --git a/sys-cluster/libsdp/libsdp-1.1.ebuild b/sys-cluster/libsdp/libsdp-1.1.ebuild
new file mode 100644
index 000000000..fbd123344
--- /dev/null
+++ b/sys-cluster/libsdp/libsdp-1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB library that enables Socket Direct Protocol for unmodified applications"
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}"
+
+IUSE=""
+
+DEPEND="virtual/libc"
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README COPYING ChangeLog
+}
+
diff --git a/sys-cluster/libsdp/metadata.xml b/sys-cluster/libsdp/metadata.xml
new file mode 100644
index 000000000..ff86e9832
--- /dev/null
+++ b/sys-cluster/libsdp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+libsdp is a LD_PRELOAD-able library that can be used to migrate existing
+applications use InfiniBand Sockets Direct Protocol (SDP) instead of TCP
+sockets, transparently and without recompilations.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-diags/ChangeLog b/sys-cluster/openib-diags/ChangeLog
new file mode 100644
index 000000000..744f3000b
--- /dev/null
+++ b/sys-cluster/openib-diags/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/openib-diags
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-diags-1.3.2 (27 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -openib-diags-1.1.ebuild: removed
+ +openib-diags-1.3.2.ebuild: added
+
+*openib-diags-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-diags/Manifest b/sys-cluster/openib-diags/Manifest
new file mode 100644
index 000000000..80395dde0
--- /dev/null
+++ b/sys-cluster/openib-diags/Manifest
@@ -0,0 +1,5 @@
+AUX diags-perfquery.patch 2183 RMD160 350d53985e32c2edd57a98594a05d39ef4fe59e9 SHA1 74bf519e8f81a412145b94c2c017996bc220195e SHA256 99d0e054f6aeea58e96c329bab255eacd4c738fdabc5ba8fd4d34abab5fd8199
+DIST infiniband-diags-1.3.2.tar.gz 408445 RMD160 ea2adb3837d50de5c96313ec4b833d3ebbaf3695 SHA1 cf7af097f402073d67e54be70667a5f2f0567220 SHA256 60d5be95007c76c2a7c685fbc6d51ba27f865cc7b2736f3ab1806c6436a7c55e
+EBUILD openib-diags-1.3.2.ebuild 825 RMD160 187ac83521bda217f0527e43579589da75db5096 SHA1 4ed1f09975f142a11b8f872cc8e094771d1a53eb SHA256 4cb4d70334b5476f28e91c77a05df9e128d6e3b160b1a3c133eea3dcc8f467e1
+MISC ChangeLog 444 RMD160 4adc95bedc2a64b9305e5e5755724e227d11b20e SHA1 76d2840ec676a2c35c3ec931cc27d64c6ab12eb8 SHA256 3bf5e5dfe13043af3e3fbac566ddbea7b1b44193bfa79b75b540bfa7998f61c9
+MISC metadata.xml 269 RMD160 313528b9b250be3cefa43fe1e6ae748c039d23ff SHA1 2b1efb89864ecc3dc8688cfff7c17cfe450a9c8b SHA256 84569c739f3fca7d8afe1d90bc7c700cd5435f3101ae16800e1a8af3a4711eee
diff --git a/sys-cluster/openib-diags/files/diags-perfquery.patch b/sys-cluster/openib-diags/files/diags-perfquery.patch
new file mode 100644
index 000000000..12817c184
--- /dev/null
+++ b/sys-cluster/openib-diags/files/diags-perfquery.patch
@@ -0,0 +1,55 @@
+--- src/perfquery.c.orig 2007-11-27 17:05:08.000000000 -0800
++++ src/perfquery.c 2007-11-27 17:10:01.000000000 -0800
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (c) 2004-2007 Voltaire Inc. All rights reserved.
++ * Copyright (c) 2007 Xsigo Systems Inc. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses. You may choose to be licensed under the terms of the GNU
+@@ -96,8 +97,11 @@
+ int udebug = 0;
+ char *ca = 0;
+ int ca_port = 0;
+- int extended = 0;
+ uint16_t cap_mask, *pc2;
++ int allports = 0;
++ int node_type, num_ports;
++ uint8_t data[IB_SMP_DATA_SIZE];
++ int extended = 0;
+
+ static char const str_opts[] = "C:P:s:t:dGearRVhu";
+ static const struct option long_opts[] = {
+@@ -190,6 +194,32 @@
+ /* PerfMgt ClassPortInfo is a required attribute */
+ if (!perf_classportinfo_query(pc, &portid, port, timeout))
+ IBERROR("classportinfo query");
++ if (!(cap_mask & 0x100)) /* bit 8 is AllPortSelect */
++ if (port == 255) {
++ allports = 1;
++ IBWARN("AllPortSelect not supported");
++ }
++
++ if (allports == 1) {
++
++ /*
++ * Simulate all ports support in PMA
++ * Determine node type, number of (physical) ports,
++ * and, if switch, whether SP0 is enhanced
++ * to determine first and last port to query
++ */
++
++ /* For now, support single port CAs */
++ if (smp_query(data, &portid, IB_ATTR_NODE_INFO, 0, 0) < 0)
++ IBERROR("smp query nodeinfo failed");
++ node_type = mad_get_field(data, 0, IB_NODE_TYPE_F);
++ if (node_type != IB_NODE_CA) /* NodeType other than CA ? */
++ IBERROR("smp query nodeinfo: Node type not CA");
++ mad_decode_field(data, IB_NODE_NPORTS_F, &num_ports);
++ if (num_ports != 1)
++ IBERROR("smp query nodeinfo: %d ports; only 1 supported currently", num_ports);
++ port = num_ports;
++ }
+
+ if (reset_only)
+ goto do_reset;
diff --git a/sys-cluster/openib-diags/metadata.xml b/sys-cluster/openib-diags/metadata.xml
new file mode 100644
index 000000000..95dca1aae
--- /dev/null
+++ b/sys-cluster/openib-diags/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB diagnostic programs and scripts needed to diagnose an IB subnet.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild b/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild
new file mode 100644
index 000000000..b58b6a255
--- /dev/null
+++ b/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB diagnostic programs and scripts needed to diagnose an IB subnet."
+
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/management/infiniband-diags-${PV}.tar.gz"
+S="${WORKDIR}/infiniband-diags-${PV}"
+
+IUSE=""
+
+RDEPEND="sys-cluster/libibcommon
+ sys-cluster/libibumad
+ sys-cluster/libibmad
+ sys-cluster/openib-osm"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+ epatch "${FILESDIR}/diags-perfquery.patch"
+}
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+}
+
diff --git a/sys-cluster/openib-drivers/ChangeLog b/sys-cluster/openib-drivers/ChangeLog
new file mode 100644
index 000000000..bd8393101
--- /dev/null
+++ b/sys-cluster/openib-drivers/ChangeLog
@@ -0,0 +1,15 @@
+# ChangeLog for sys-cluster/openib-drivers
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-drivers-1.2 (24 Oct 2007)
+
+ 24 Oct 2007; Bryan Green <bryan.d.green@nasa.gov>
+ +openib-drivers-1.2.ebuild: version bump
+ -openib-drivers-1.1.ebuild: removed
+
+*openib-drivers-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-drivers/Manifest b/sys-cluster/openib-drivers/Manifest
new file mode 100644
index 000000000..88352917d
--- /dev/null
+++ b/sys-cluster/openib-drivers/Manifest
@@ -0,0 +1,8 @@
+AUX openib 26021 RMD160 2507367b5b588e1ef95b91ec7a2a362f592c8e15 SHA1 b043dcd891d5cef100ad4b633dc73f12ace45072 SHA256 cf26003e726832a2c48bb9a3597f1319cb0fbd3d554e0b8ab10065b3cef1976e
+AUX openib.modprobe 350 RMD160 a40e8656ee1bdfc26a86b65aa3eaf5553a93b7b8 SHA1 623adbeccde3e88ce2c39d113a409c4d14091f0d SHA256 32054c7ee7caffc21ed320a9be5d0c2cd85e51295c0515521373d658f55ee68e
+DIST OFED-1.2.5.1.tgz 46256516 RMD160 b19f1917b32b7b15db75aace6ed433d57dc98fc5 SHA1 9a1ff30c97c94352f70e52d7cc31328013bea1b7 SHA256 41c6408135d8707d05bef8aa0a4ec548ae64ec010224e3b38746ab6f5c1e9b78
+DIST OFED-1.2.tgz 45785235 RMD160 22abc8ea493c01f18a5ca93f24645c0b3de81f49 SHA1 e179640b8f700b6dff9cc747910d786bba986175 SHA256 05ac6c3a96902388b40b05c6af0f0ce80059fc51980a039d53bfc94874166144
+EBUILD openib-drivers-1.2.5.1.ebuild 6398 RMD160 e646bbb1e5476421bed3bee5ca5919fd31f31104 SHA1 e3b8a65ac10deb5bbc37bdc99280139bdb6037f1 SHA256 417612887dd7bc0ebd1938c8cd079b0870431f5cfc71e2107efc70d3950ae012
+EBUILD openib-drivers-1.2.ebuild 6490 RMD160 2fc8f1dbff3d96459e83d9262f454dc20daa5c25 SHA1 570f2ab5fff121923e8b934929c7314893680bb3 SHA256 25348d02dd82e3886fde2d326de6ed2f6d5401ee245cffbf21fc4023bb50b404
+MISC ChangeLog 416 RMD160 92a08a60b26f3086385142f1d32a9611e975db36 SHA1 0be0f7931add17769c4b9e654bc5866a2cf0e9d3 SHA256 d116dec293fa3016429d977ecca7feeb61715f0a506cc84cafb218807d106f40
+MISC metadata.xml 220 RMD160 d33d570d49f634b36df8f6c179b8385e25562a56 SHA1 fffa23cb3edea7fe576a0d0e470df5750547f1cb SHA256 50078f776034343d365347ef90d5a0eb49faf851ed7f46e12cf9ce71e4cb5ea7
diff --git a/sys-cluster/openib-drivers/files/openib b/sys-cluster/openib-drivers/files/openib
new file mode 100755
index 000000000..759c0ff1d
--- /dev/null
+++ b/sys-cluster/openib-drivers/files/openib
@@ -0,0 +1,792 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-drivers/files/openib,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $
+
+# Based on openibd script from openfabrics.org,
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after coldplug hotplug
+ before net # init openib before starting any ipoib interfaces
+}
+
+OPENIB_CONFDIR=${OPENIB_CONFDIR:-/etc/infiniband}
+
+if [[ -r ${OPENIB_CONFDIR}/openib.conf ]] ; then
+ . ${OPENIB_CONFDIR}/openib.conf
+fi
+
+max_ports_num_in_hca=0
+
+count_ib_ports()
+{
+ local cnt=0
+ local ports_in_hca=0
+ sysdir=/sys/class/infiniband
+ hcas=$(/bin/ls -1 ${sysdir} 2> /dev/null)
+ for hca in $hcas
+ do
+ ports_in_hca=$(/bin/ls -1 ${sysdir}/${hca}/ports 2> /dev/null | wc -l)
+ if [ $ports_in_hca -gt $max_ports_num_in_hca ]; then
+ max_ports_num_in_hca=$ports_in_hca
+ fi
+ cnt=$[ $cnt + $ports_in_hca ]
+ done
+
+ return $cnt
+}
+
+# Setting OpenIB start parameters
+POST_LOAD_MODULES=""
+
+if [ "X${SDP_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_sdp"
+ IPOIB_LOAD="yes"
+fi
+
+IPOIB=0
+IPOIB_MTU=${IPOIB_MTU:-65520}
+if [ "X${IPOIB_LOAD}" == "Xyes" ]; then
+ IPOIB=1
+fi
+
+if [ "X${SRP_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp"
+fi
+
+if [ "X${VNIC_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_vnic"
+fi
+
+if [ "X${SRP_TARGET_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp_target"
+fi
+
+if [ "X${RDMA_CM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_cm"
+fi
+
+if [ "X${UCM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_ucm"
+fi
+
+if [ "X${RDS_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES rds"
+fi
+
+if [ "X${ISER_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_iser"
+fi
+
+if [ "X${RDMA_UCM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_ucm"
+fi
+
+UNLOAD_MODULES="ib_ipoib ib_madeye ib_rds rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_vnic"
+UNLOAD_MODULES="$UNLOAD_MODULES ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex"
+UNLOAD_MODULES="$UNLOAD_MODULES ib_sa ib_uverbs ib_umad ib_mthca ib_ipath ipath_core ib_ehca ib_mad ib_core"
+
+STATUS_MODULES="rdma_ucm ib_rds rds ib_srp ib_vnic ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ehca ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core"
+
+ipoib_ha_pidfile=/var/run/ipoib_ha.pid
+srp_daemon_pidfile=/var/run/srp_daemon.pid
+
+get_interfaces()
+{
+ count_ib_ports
+ ports_num=$?
+
+ interfaces=""
+ for (( i=0 ; i < $ports_num ; i++ ))
+ do
+ interfaces="$interfaces ib${i}"
+ done
+}
+
+# If module $1 is loaded return - 0 else - 1
+is_module()
+{
+ local RC
+
+ /sbin/lsmod | grep -w "$1" > /dev/null 2>&1
+ RC=$?
+
+ return $RC
+}
+
+get_sw_fw_info()
+{
+ INFO=/etc/infiniband/info
+ OFEDHOME="/usr/local"
+ if [ -x ${INFO} ]; then
+ OFEDHOME=$(${INFO} | grep -w prefix | cut -d '=' -f 2)
+ fi
+ MREAD=$(which mread 2> /dev/null)
+
+ # Get OFED Build id
+ if [ -r ${OFEDHOME}/BUILD_ID ]; then
+ echo "Software"
+ echo "-------------------------------------"
+ printf "Build ID:\n"
+ cat ${OFEDHOME}/BUILD_ID
+ echo "-------------------------------------"
+ fi
+
+ # Get FW version
+ if [ ! -x ${MREAD} ]; then
+ return 1
+ fi
+
+ vendor="15b3"
+ slots=$(lspci -n -d "${vendor}:" 2> /dev/null | grep -v "5a46" | cut -d ' ' -f 1)
+ for mst_device in $slots
+ do
+ major=$($MREAD ${mst_device} 0x82478 2> /dev/null | cut -d ':' -f 2)
+ subminor__minor=$($MREAD ${mst_device} 0x8247c 2> /dev/null | cut -d ':' -f 2)
+ ftime=$($MREAD ${mst_device} 0x82480 2> /dev/null | cut -d ':' -f 2)
+ fdate=$($MREAD ${mst_device} 0x82484 2> /dev/null | cut -d ':' -f 2)
+
+ major=$(echo -n $major | cut -d x -f 2 | cut -b 4)
+ subminor__minor1=$(echo -n $subminor__minor | cut -d x -f 2 | cut -b 3,4)
+ subminor__minor2=$(echo -n $subminor__minor | cut -d x -f 2 | cut -b 5,6,7,8)
+ echo
+ echo "Device ${mst_device} Info:"
+ echo "Firmware:"
+
+ printf "\tVersion:"
+ printf "\t$major.$subminor__minor1.$subminor__minor2\n"
+
+ day=$(echo -n $fdate | cut -d x -f 2 | cut -b 7,8)
+ month=$(echo -n $fdate | cut -d x -f 2 | cut -b 5,6)
+ year=$(echo -n $fdate | cut -d x -f 2 | cut -b 1,2,3,4)
+ hour=$(echo -n $ftime | cut -d x -f 2 | cut -b 5,6)
+ min=$(echo -n $ftime | cut -d x -f 2 | cut -b 3,4)
+ sec=$(echo -n $ftime | cut -d x -f 2 | cut -b 1,2)
+
+ printf "\tDate:"
+ printf "\t$day/$month/$year $hour:$min:$sec\n"
+ done
+}
+
+# Create debug info
+get_debug_info()
+{
+ trap '' 2 9 15
+ DEBUG_INFO=/tmp/ib_debug_info.log
+ /bin/rm -f $DEBUG_INFO
+ touch $DEBUG_INFO
+ echo "Hostname: `hostname -s`" >> $DEBUG_INFO
+ test -e /etc/issue && echo "OS: `cat /etc/issue`" >> $DEBUG_INFO
+ echo "Current kernel: `uname -r`" >> $DEBUG_INFO
+ echo "Architecture: `uname -m`" >> $DEBUG_INFO
+ echo "GCC version: `gcc --version`" >> $DEBUG_INFO
+ echo "CPU: `cat /proc/cpuinfo | /bin/grep -E \"model name|arch\" | head -1`" >> $DEBUG_INFO
+ echo "`cat /proc/meminfo | /bin/grep \"MemTotal\"`" >> $DEBUG_INFO
+ echo "Chipset: `/sbin/lspci 2> /dev/null | head -1 | cut -d ':' -f 2-`" >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ get_sw_fw_info >> $DEBUG_INFO
+ echo >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# LSPCI ##############" >> $DEBUG_INFO
+ /sbin/lspci 2> /dev/null >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# LSPCI -N ##############" >> $DEBUG_INFO
+ /sbin/lspci -n 2> /dev/null >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# LSMOD ##############" >> $DEBUG_INFO
+ /sbin/lsmod >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# DMESG ##############" >> $DEBUG_INFO
+ /bin/dmesg >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# Messages ##############" >> $DEBUG_INFO
+ tail -50 /var/log/messages >> $DEBUG_INFO
+
+ echo >> $DEBUG_INFO
+ echo "############# Running Processes ##############" >> $DEBUG_INFO
+ /bin/ps -ef >> $DEBUG_INFO
+ echo "##############################################" >> $DEBUG_INFO
+
+ eerror
+ eerror "Please open an issue in the http://openib.org/bugzilla and attach $DEBUG_INFO"
+ eerror
+}
+
+errata_58()
+{
+# Check AMD chipset issue Errata #58
+if test -x /sbin/lspci && test -x /sbin/setpci; then
+ if ( /sbin/lspci -nd 1022:1100 2> /dev/null | grep "1100" > /dev/null ) &&
+ ( /sbin/lspci -nd 1022:7450 2> /dev/null | grep "7450" > /dev/null ) &&
+ ( /sbin/lspci -nd 15b3:5a46 2> /dev/null | grep "5a46" > /dev/null ); then
+
+ if ! ( grep FIX_AMD_8131_ERR58 $CONFIG > /dev/null ); then
+ echo >> $CONFIG
+ echo "# Set FIX_AMD_8131_ERR58=YES to apply AMD-8131 Errata #58 workaround" >> $CONFIG
+ echo "FIX_AMD_8131_ERR58=\"YES\"" >> $CONFIG
+ fi
+
+ # Set default value for FIX_AMD_8131_ERR58
+ if [ -z "$FIX_AMD_8131_ERR58" ]; then
+ FIX_AMD_8131_ERR58="YES"
+ fi
+
+ CURVAL=`/sbin/setpci -d 1022:1100 69`
+
+ for val in $CURVAL
+ do
+ if [ "${val}" != "c0" ]; then
+ if [ "$FIX_AMD_8131_ERR58" == "YES" ]; then
+ /sbin/setpci -d 1022:1100 69=c0
+ if [ $? -eq 0 ]; then
+ # echo "AMD-8131 Errata #58 workaround applied"
+ break
+ else
+ echo "Failed to apply AMD-8131 Errata #58 workaround"
+ fi
+ else
+ echo
+ echo "Invalid configuration found for PCI-X chipset AMD-8131 (Errata #58)"
+ echo
+ if [ "$RUNMODE" == "manual" ]; then
+ read -p "Do you wish to continue anyway? [y/N]:"
+ if [[ "$REPLY" != "y" && "$REPLY" != "yes" ]]; then
+ exit 1
+ fi
+ break
+ else
+ exit 1
+ fi
+ fi
+ fi
+ done
+
+ fi
+fi
+
+}
+
+errata_56()
+{
+# Check AMD chipset issue Errata #56
+if test -x /sbin/lspci && test -x /sbin/setpci; then
+ if ( /sbin/lspci -nd 1022:1100 2> /dev/null | grep "1100" > /dev/null ) &&
+ ( /sbin/lspci -nd 1022:7450 2> /dev/null | grep "7450" > /dev/null ) &&
+ ( /sbin/lspci -nd 15b3:5a46 2> /dev/null | grep "5a46" > /dev/null ); then
+
+ if ! ( grep FIX_AMD_8131_ERR56 $CONFIG > /dev/null ); then
+ echo >> $CONFIG
+ echo "# Set FIX_AMD_8131_ERR56=YES to apply AMD-8131 Errata #56 workaround" >> $CONFIG
+ echo "FIX_AMD_8131_ERR56=\"YES\"" >> $CONFIG
+ fi
+
+ # Set default value for FIX_AMD_8131_ERR56
+ if [ -z "$FIX_AMD_8131_ERR56" ]; then
+ FIX_AMD_8131_ERR56="YES"
+ fi
+
+ bus=""
+
+ # Look for devices AMD-8131
+ for amd_dev in `/sbin/setpci -v -f -d 1022:7450 19 | cut -d':' -f1,2`
+ do
+
+ bus=`/sbin/setpci -s $amd_dev 19`
+ rev=`/sbin/setpci -s $amd_dev 8`
+
+
+ # Look for Tavor attach to secondary bus of this devices
+ for device in `/sbin/setpci -f -s $bus: -d 15b3:5a46 19`
+ do
+ if [ $rev -lt 13 ]; then
+ if [ "$FIX_AMD_8131_ERR56" == "YES" ]; then
+ /sbin/setpci -d 15b3:5a44 72=14
+ if [ $? -eq 0 ]; then
+ # echo "AMD-8131 Errata #56 workaround applied"
+ break
+ else
+ echo "Failed to apply AMD-8131 Errata #56 workaround"
+ fi
+ else
+ echo
+ echo "Invalid configuration found for PCI-X chipset AMD-8131 (Errata #56)"
+ echo
+
+ if [ "$RUNMODE" == "manual" ]; then
+ read -p "Do you wish to continue anyway? [y/N]:"
+ if [[ "$REPLY" != "y" && "$REPLY" != "yes" ]]; then
+ exit 1
+ fi
+ break
+ else
+ exit 1
+ fi
+ fi
+
+ else
+ continue
+ fi
+
+ # If more than one device is on the bus the issue a
+ # warning
+ num=`/sbin/setpci -f -s $bus: 0 | wc -l | sed 's/\ *//g'`
+
+ if [ $num -gt 1 ]; then
+ echo "Warning: your current PCI-X configuration might be incorrect."
+ echo "see AMD-8131 Errata 56 for more details."
+ fi
+
+ done
+ done
+
+ fi
+fi
+}
+
+rotate_log()
+{
+ local log=$1
+ if [ -s ${log} ]; then
+ cat ${log} >> ${log}.$(date +%Y-%m-%d)
+ /bin/rm -f ${log}
+ fi
+ touch ${log}
+}
+
+set_ipoib_cm()
+{
+ local i=$1
+ shift
+
+ if [ ! -e /sys/class/net/${i}/mode ]; then
+ echo "Failed to configure IPoIB connected mode for ${i}"
+ return 1
+ fi
+
+ echo connected > /sys/class/net/${i}/mode
+ /sbin/ifconfig ${i} mtu ${IPOIB_MTU}
+}
+
+bring_up()
+{
+ local i=$1
+ shift
+
+ /etc/init.d/net.$i start
+
+ if [ "X${SET_IPOIB_CM}" == "Xyes" ]; then
+ set_ipoib_cm ${i}
+ fi
+
+ return $?
+}
+
+####
+PRE_UNLOAD_MODULES="ib_rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex"
+
+# W/A for unloading modules
+POST_UNLOAD_MODULES="$PRE_UNLOAD_MODULES ib_ipoib ib_sa ib_uverbs ib_umad"
+# ib_mthca ib_ipath - dont unload unless they are in openib.conf
+[[ "${MTHCA_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mthca"
+[[ "${IPATH_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_ipath ipath_core"
+
+[[ "${MTHCA_LOAD}" == "yes" || "${IPATH_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mad ib_core"
+
+#STATUS_MODULES="rdma_ucm ib_rds ib_srp ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core"
+
+unload()
+{
+ # Unload module $1
+ if is_module $mod; then
+ /sbin/modprobe -r $mod > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ # Try rmmod if modprobe failed: case that previous installation included more IB modules.
+ /sbin/rmmod $mod > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ ewarn "Failed to unload $mod"
+ return 1
+ fi
+ fi
+ fi
+}
+
+start() {
+ local RC=0
+ ebegin "Initializing Infiniband"
+ eindent
+
+ # Load Mellanox HCA driver if explicitly requested
+ # (however, it should be loaded automatically by udev)
+
+ errata_58
+
+ einfo "Loading HCA and Access Layer drivers"
+
+ eindent
+ if [[ "${MTHCA_LOAD}" == "yes" ]]; then
+ ebegin "modprobe ib_mthca"
+ /sbin/modprobe ib_mthca > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $?
+ fi
+ if [[ "${IPATH_LOAD}" == "yes" ]]; then
+ ebegin "modprobe ib_ipath"
+ /sbin/modprobe ib_ipath > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $?
+ fi
+ if [[ "${EHCA_LOAD}" == "yes" ]]; then
+ ebegin "modprobe ib_ehca"
+ /sbin/modprobe ib_ehca > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $?
+ fi
+ eoutdent
+
+ # Add node description to sysfs
+ IBSYSDIR="/sys/class/infiniband"
+ if [ -d ${IBSYSDIR} ]; then
+ declare -i hca_id=1
+ for hca in ${IBSYSDIR}/*; do
+ if [ -e ${hca}/node_desc ]; then
+ echo -n "$(hostname -s) HCA-${hca_id}" >> ${hca}/node_desc
+ fi
+ let hca_id++
+ done
+ fi
+
+ eindent
+ if [ $RC -eq 0 ]; then
+ ebegin "modprobe ib_umad"
+ /sbin/modprobe ib_umad > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $RC
+ fi
+ if [ $RC -eq 0 ]; then
+ ebegin "modprobe ib_uverbs"
+ /sbin/modprobe ib_uverbs > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $RC
+ fi
+ eoutdent
+
+ if [ $RC -eq 0 ] && [ $IPOIB -eq 1 ]; then
+ # this section is not necessary if all ip-over-ib devices are
+ # aliased properly in /etc/modules.d/openib
+ ebegin "modprobe ib_ipoib"
+ /sbin/modprobe ib_ipoib > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ eend $?
+ fi
+
+ if [ $RC -ne 0 ]; then
+ eerror "Loading HCA driver and Access Layer: "
+ get_debug_info
+ eoutdent
+ eend $RC
+ return
+ fi
+
+ if [ $IPOIB -eq 1 ]; then
+ # start the ipoib devices automatically...
+ # this is probably a bad idea (the concept is taken from the
+ # original SUSE/Redhat-based initscript), and should be removed.
+ # But it works, and is not enabled by default. So I leave it here
+ # for second opinions.
+ get_interfaces
+ for i in $interfaces
+ do
+ if [ -e /etc/init.d/net.$i ]; then
+ einfo "starting ipoib device $i"
+ bring_up $i
+ fi
+ done
+
+ # leaving out the "Bring up child interfaces if configured" section.
+
+ if [ "X${IPOIBHA_ENABLE}" == "Xyes" ]; then
+ ipoib_ha_log="/var/log/ipoib_ha.log"
+ rotate_log ${ipoib_ha_log}
+ # Added sleep in order to wait for IPoIB interfaces to be UP
+ sleep 1
+ if [ ! -z "${PRIMARY_IPOIB_DEV}" ] && [ ! -z "${SECONDARY_IPOIB_DEV}" ]; then
+ ipoib_ha.pl -p ${PRIMARY_IPOIB_DEV} -s ${SECONDARY_IPOIB_DEV} --with-arping --with-multicast -v > ${ipoib_ha_log} 2>&1 &
+ else
+ ipoib_ha.pl --with-arping --with-multicast -v > ${ipoib_ha_log} 2>&1 &
+ fi
+ ipoib_ha_pid=$!
+ echo ${ipoib_ha_pid} > ${ipoib_ha_pidfile}
+ elif [ "X${IPOIBBOND_ENABLE}" == "Xyes" ]; then
+ if ( test ! -z $IPOIB_BONDS && which ib-bond &>/dev/null ) ; then
+ echo Setting up bonding interfaces:
+ for bond in $(echo $IPOIB_BONDS|tr , " ") ; do
+ eval bond_ip=\$${bond}_IP
+ if [ -z $bond_ip ]; then
+ echo No IP address defined for $bond
+ continue
+ fi
+ eval bond_slaves=\$${bond}_SLAVES
+ if [ -z $bond_slaves ]; then
+ echo No slaves defined for $bond
+ continue
+ fi
+ ib-bond --bond-name $bond --bond-ip $bond_ip --slaves $bond_slaves
+ RC=$?
+ if [ $RC -eq 0 ] ; then
+ einfo "Bringing up interface $bond"
+ else
+ eerror "Bringing up interface $bond"
+ fi
+ if [ "X${SET_IPOIB_CM}" == "Xyes" ]; then
+ for slave in $(echo $bond_slaves|tr , " ") ; do
+ set_ipoib_cm ${slave}
+ done
+ /sbin/ifconfig $bond mtu ${IPOIB_MTU}
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Devices for ib_umad and ib_uverbs should now have been created.
+ if [ ! -d /dev/infiniband/ ]; then
+ eerror "udev failed to create '/dev/infiniband/' devices"
+ RC=1
+ fi
+
+ # Load configured modules
+ if [ "$POST_LOAD_MODULES" != "" ]; then
+ for mod in $POST_LOAD_MODULES
+ do
+ case $mod in
+ ib_iser)
+ # Voltaire requirement
+ /sbin/modprobe --force-modversion $mod > /dev/null 2>&1
+ ;;
+ ib_srp)
+ /sbin/modprobe $mod > /dev/null 2>&1
+ if [ "X${SRPHA_ENABLE}" == "Xyes" ]; then
+ if [ ! -x /sbin/multipath ]; then
+ ewarn "/sbin/multipath is required to enable SRP HA."
+ else
+ # Create 91-srp.rules file
+ mkdir -p /etc/udev/rules.d
+ if [ "$DISTRIB" == "SuSE" ]; then
+ cat > /etc/udev/rules.d/91-srp.rules << EOF
+ACTION=="add", KERNEL=="sd*[!0-9]", RUN+="/sbin/multipath %M:%m"
+EOF
+ fi
+ /sbin/modprobe dm_multipath > /dev/null 2>&1
+ srp_daemon.sh &
+ srp_daemon_pid=$!
+ echo ${srp_daemon_pid} > ${srp_daemon_pidfile}
+ fi
+ fi
+ ;;
+ *)
+ /sbin/modprobe $mod > /dev/null 2>&1
+ ;;
+ esac
+ RC=$?
+ [ $RC -ne 0 ] && eerror "Failed to load $mod"
+ done
+ fi
+
+ errata_56
+ sleep 1
+
+ # skipping udevstart stuff from ofed_scripts/openibd
+
+ # Create vnic interfaces. This needs to be done after udevstart
+ if [ "X${VNIC_LOAD}" == "Xyes" ]; then
+ if [[ ! -e /dev/infiniband/umad0 && ! -e /dev/infiniband/umad1 ]]; then
+ echo "/dev/infiniband/umad0 or /dev/infiniband/umad1 not present."
+ echo "Cannot create VNIC interfaces."
+ eerror "Bringing up VNIC interfaces"
+ elif is_module ib_vnic; then
+ echo "Setting up VNIC interfaces..."
+ vnic_parser.pl -v > /dev/null 2>&1
+ res=$?
+ if [ $res != 0 ]; then
+ if [ $res == 2 ]; then
+ echo "Created VNIC interfaces but with errors. Please refer to /var/log/messages."
+ eerror "Bringing up VNIC interfaces"
+ else
+ echo "Error in parsing VNIC configuration file. Please refer to /var/log/messages."
+ eerror "Bringing up VNIC interfaces"
+ fi
+ else
+ einfo "Bringing up VNIC interfaces"
+ fi
+ else
+ echo "Module ib_vnic not loaded."
+ eerror "Bringing up VNIC interfaces"
+ fi
+ fi
+
+ if [ X${RENICE_IB_MAD} == "Xyes" ]; then
+ # Set max_ports_num_in_hca variable
+ count_ib_ports
+ ports_num=$?
+ list_of_ibmads=""
+ for (( i=1 ; $i <= ${max_ports_num_in_hca} ; i++ ))
+ do
+ list_of_ibmads="${list_of_ibmads} ib_mad${i}"
+ done
+
+ ib_mad_pids=($(pidof ${list_of_ibmads} 2> /dev/null))
+ num_of_root_ibmad_procs=$(/bin/ps h -o user -p ${ib_mad_pids[*]} | grep -w root | wc -l)
+ get_pid_retries=0
+ while [ ${num_of_root_ibmad_procs} -lt $ports_num ]
+ do
+ # Wait maximum for 5 sec to get ib_mad process pid
+ if [ $get_pid_retries -gt 10 ]; then
+ echo Failed to get $ports_num ib_mad PIDs to renice. Got ${num_of_root_ibmad_procs}.
+ break
+ fi
+ usleep 500000
+ ib_mad_pids=($(pidof ${list_of_ibmads} 2> /dev/null))
+ num_of_root_ibmad_procs=$(/bin/ps h -o user -p ${ib_mad_pids[*]} | grep -w root | wc -l)
+ let get_pid_retries++
+ done
+ for ib_mad_pid in ${ib_mad_pids[*]}
+ do
+ if [ "$(/bin/ps -p ${ib_mad_pid} h -o user 2> /dev/null)" == "root" ]; then
+ renice -19 ${ib_mad_pid} > /dev/null 2>&1
+ fi
+ done
+ fi
+
+ eoutdent
+ eend $RC
+}
+
+unload()
+{
+ # Unload module $1
+ local mod=$1
+ local unload_log
+ if is_module $mod; then
+ /sbin/modprobe -r $mod > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ # Try rmmod if modprobe failed: case that previous installation included more IB modules.
+ unload_log=`/sbin/rmmod $mod 2>&1`
+ if [ $? -ne 0 ]; then
+ eerror "Unloading $mod"
+ if [ ! -z "${unload_log}" ]; then
+ echo $unload_log
+ fi
+ # get_debug_info
+ [ ! -z $2 ] && echo $2
+ exit 1
+ fi
+ fi
+ fi
+
+}
+
+stop() {
+ ebegin "Stopping Infiniband"
+ local RC=0
+
+ # Check if applications which use infiniband are running
+ local apps="opensm osmtest ibbs ibns"
+ local pid
+
+ for app in $apps
+ do
+ if ( ps -ef | grep $app | grep -v grep > /dev/null 2>&1 ); then
+ eerror "Please stop $app and all applications running over InfiniBand"
+ eend 1
+ return
+ fi
+ done
+
+ if ! is_module ib_core; then
+ einfo "HCA driver is not loaded"
+ eend 0
+ return
+ fi
+
+ # Stop IPoIB HA daemon if running
+ if [ -f $ipoib_ha_pidfile ]; then
+ local line p
+ read line < $ipoib_ha_pidfile
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && ipoib_ha_pids="$ipoib_ha_pids $p"
+ done
+ /bin/rm -f $ipoib_ha_pidfile
+ fi
+
+ if [ -n "${ipoib_ha_pids:-}" ]; then
+ kill -9 ${ipoib_ha_pids} > /dev/null 2>&1
+ mcastpid=$(pidof -x mcasthandle)
+ if [ -n "${mcastpid:-}" ]; then
+ kill -9 ${mcastpid} > /dev/null 2>&1
+ fi
+ fi
+
+ # Down all bond interfaces
+ if ( which ib-bond &>/dev/null ) ; then
+ ib-bond --stop-all
+ fi
+
+ # Stop SRP HA daemon if running
+ if [ -f $srp_daemon_pidfile ]; then
+ local line p
+ read line < $srp_daemon_pidfile
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && srp_daemon_pids="$srp_daemon_pids $p"
+ done
+ /bin/rm -f $srp_daemon_pidfile
+ fi
+
+ if [ -n "${srp_daemon_pids:-}" ]; then
+ kill -15 ${srp_daemon_pids} > /dev/null 2>&1
+ fi
+
+ if [ "X${SRPHA_ENABLE}" == "Xyes" ]; then
+ /bin/rm -f /etc/udev/rules.d/91-srp.rules > /dev/null 2>&1
+ mpath_pids=$(pidof -x multipath)
+ if [ -n "${mpath_pids:-}" ]; then
+ kill -9 ${mpath_pids} > /dev/null 2>&1
+ fi
+
+ if is_module ib_srp; then
+ for f in `/bin/ls /sys/class/scsi_host`
+ do
+ if [ -f /sys/class/scsi_host/$f/local_ib_port ]; then
+ for i in `/bin/ls -d /sys/class/scsi_host/$f/device/target*/*/block* | awk -F: '{print $NF}'`
+ do
+ mdev=`/sbin/scsi_id -g -s /block/$i 2> /dev/null`
+ if [ -n "${mdev}" ]; then
+ /sbin/multipath -f $mdev > /dev/null 2>&1
+ fi
+ done
+ fi
+ done
+ fi
+ fi
+
+ # Unload modules
+ if [ "$UNLOAD_MODULES" != "" ]; then
+ for mod in $UNLOAD_MODULES
+ do
+ unload $mod
+ done
+ fi
+
+ eend $RC
+}
+
diff --git a/sys-cluster/openib-drivers/files/openib.modprobe b/sys-cluster/openib-drivers/files/openib.modprobe
new file mode 100644
index 000000000..52828fb3b
--- /dev/null
+++ b/sys-cluster/openib-drivers/files/openib.modprobe
@@ -0,0 +1,12 @@
+# Setup aliases from ip-over-ib devices to the ip-over-ib kernel module.
+# Add to this list if you have more infiniband ports. Or you can set
+# IPOIB_LOAD=yes to have the ip-over-ib interfaces brought up by init.d/openib
+alias ib0 ib_ipoib
+alias ib1 ib_ipoib
+alias ib2 ib_ipoib
+alias ib3 ib_ipoib
+
+alias net-pf-27 ib_sdp
+
+#options ib_mthca msi_x=1
+
diff --git a/sys-cluster/openib-drivers/metadata.xml b/sys-cluster/openib-drivers/metadata.xml
new file mode 100644
index 000000000..ec06e5682
--- /dev/null
+++ b/sys-cluster/openib-drivers/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB kernel modules.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild b/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild
new file mode 100644
index 000000000..6dbef4850
--- /dev/null
+++ b/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit rpm linux-mod
+
+DESCRIPTION="OpenIB kernel modules"
+HOMEPAGE="http://www.openfabrics.org/"
+SHORT_PV=${PV%\.[^.]}
+SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz"
+MY_P="OFED-${PV}"
+S="${WORKDIR}/ofa_kernel-${PV}"
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="memtrack hpage-patch srp ipath iser ehca rds madeye vnic cxgb3 debug"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ virtual/linux-sources
+ !sys-cluster/openib-files"
+
+pkg_setup() {
+
+ CONFIG_CHECK="!INFINIBAND PCI"
+ ERROR_INFINIBAND="Infiniband is already compiled into the kernel."
+ ERROR_PCI="PCI must be enabled in the kernel."
+
+ linux-mod_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A} || die "unpack failed"
+ rpm_unpack ${MY_P}/SRPMS/ofa_kernel-${PV}-0.src.rpm
+ tar xzf ofa_kernel-${PV}.tgz
+}
+
+make_target() {
+ local myARCH="${ARCH}" myABI="${ABI}"
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+
+ emake HOSTCC=$(tc-getBUILD_CC) CC=$(get-KERNEL_CC) $@ \
+ || die "Unable to run emake $@"
+
+ ARCH="${myARCH}"
+ ABI="${myABI}"
+}
+
+src_compile() {
+ convert_to_m Makefile
+
+ export CONFIG_INFINIBAND="m"
+ export CONFIG_INFINIBAND_IPOIB="m"
+ export CONFIG_INFINIBAND_SDP="m"
+ export CONFIG_INFINIBAND_SRP="m"
+
+ export CONFIG_INFINIBAND_USER_MAD="m"
+ export CONFIG_INFINIBAND_USER_ACCESS="m"
+ export CONFIG_INFINIBAND_ADDR_TRANS="y"
+ export CONFIG_INFINIBAND_MTHCA="m"
+ export CONFIG_INFINIBAND_IPATH="m"
+
+ CONF_PARAMS="--prefix=${ROOT}usr --kernel-version=${KV_FULL}
+ --with-core-mod
+ --with-ipoib-mod
+ --with-ipoib-cm
+ --with-sdp-mod
+ --with-user_mad-mod
+ --with-user_access-mod
+ --with-addr_trans-mod
+ --with-mthca-mod"
+ CONF_PARAMS="$CONF_PARAMS
+ $(use_with srp)-mod
+ $(use_with ipath)_inf-mod
+ $(use_with iser)-mod
+ $(use_with ehca)-mod
+ $(use_with rds)-mod
+ $(use_with madeye)-mod
+ $(use_with vnic)-mod
+ $(use_with cxgb3)-mod"
+ if use debug; then
+ CONF_PARAMS="$CONF_PARAMS
+ --with-mthca_debug-mod
+ --with-ipoib_debug-mod
+ --with-sdp_debug-mod
+ $(use_with srp)_debug-mod
+ $(use_with rds)_debug-mod
+ $(use_with vnic)_debug-mod
+ $(use_with cxgb3)_debug-mod"
+ else
+ CONF_PARAMS="$CONF_PARAMS
+ --without-mthca_debug-mod
+ --without-ipoib_debug-mod
+ --without-sdp_debug-mod"
+ fi
+ ebegin "Configuring"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+ ./configure ${CONF_PARAMS} ${EXTRA_ECONF} \
+ || die "configure failed with options: ${CONF_PARAMS}"
+ ARCH="${myARCH}"
+ ABI="${myABI}"
+ eend
+
+ #sed -i '/DEPMOD.*=.*depmod/s/=.*/= :/' ./Makefile
+ #grep DEPMOD Makefile
+
+ make_target
+}
+
+src_install() {
+
+ make_target DESTDIR="${D}" install
+
+ insinto /usr/include/rdma
+ doins "${S}/include/rdma/*.h"
+ insinto /usr/include/scsi
+ doins "${S}/include/scsi/*.h"
+
+ insinto /etc/udev/rules.d
+ newins "${S}/ofed_scripts/90-ib.rules" 40-ib.rules
+ insinto /etc/modules.d
+ newins "${FILESDIR}/openib.modprobe" openib
+ insinto /etc/infiniband
+
+ doinitd "${FILESDIR}/openib"
+
+ # build openib.conf based on ofed_scripts/ofa_kernel.spec
+ build_ipoib=1
+ build_sdp=1
+ cp "${S}/ofed_scripts/openib.conf" "${T}"
+ IB_CONF_DIR=${T}
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf
+ echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf
+
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf
+ echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ if use ipath; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf
+ echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use ehca; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf
+ echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if (( build_ipoib )); then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf
+ echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf
+ # from ofa_user.spec:
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf
+ echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf
+ echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf
+ echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if (( build_sdp )); then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load SDP module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SDP_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use srp; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ # from ofa_user.spec:
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf
+
+ fi
+ if use iser; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load ISER module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#ISER_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use rds; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use vnic; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load VNIC module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#VNIC_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+
+ doins "${T}/openib.conf"
+}
+
+pkg_postinst() {
+
+ linux-mod_pkg_postinst
+
+ einfo "Configuration file installed in /etc/infiniband/openib.conf"
+ einfo "To automatically initialize infiniband on boot, add openib to your"
+ einfo "start-up scripts, like so:"
+ einfo "\`rc-update add openib default\`"
+
+}
diff --git a/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild b/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild
new file mode 100644
index 000000000..0ce00957d
--- /dev/null
+++ b/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit rpm linux-mod
+
+DESCRIPTION="OpenIB kernel modules"
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/builds/ofed-${PV}/OFED-${PV}.tgz"
+MY_P="OFED-${PV}"
+S="${WORKDIR}/ofa_kernel-${PV}"
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="memtrack hpage-patch srp ipath iser ehca rds madeye vnic cxgb3 debug"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ virtual/linux-sources
+ !sys-cluster/openib-files"
+
+pkg_setup() {
+
+ CONFIG_CHECK="!INFINIBAND PCI"
+ ERROR_INFINIBAND="Infiniband is already compiled into the kernel."
+ ERROR_PCI="PCI must be enabled in the kernel."
+
+ linux-mod_pkg_setup
+
+ if kernel_is ge 2 6 22; then
+ ewarn "This version of OFED is known to fail during compilation with this kernel version".
+ fi
+}
+
+src_unpack() {
+ unpack ${A} || die "unpack failed"
+ rpm_unpack ${MY_P}/SRPMS/ofa_kernel-${PV}-0.src.rpm
+ tar xzf ofa_kernel-${PV}.tgz
+}
+
+make_target() {
+ local myARCH="${ARCH}" myABI="${ABI}"
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+
+ emake HOSTCC=$(tc-getBUILD_CC) CC=$(get-KERNEL_CC) $@ \
+ || die "Unable to run emake $@"
+
+ ARCH="${myARCH}"
+ ABI="${myABI}"
+}
+
+src_compile() {
+ convert_to_m Makefile
+
+ export CONFIG_INFINIBAND="m"
+ export CONFIG_INFINIBAND_IPOIB="m"
+ export CONFIG_INFINIBAND_SDP="m"
+ export CONFIG_INFINIBAND_SRP="m"
+
+ export CONFIG_INFINIBAND_USER_MAD="m"
+ export CONFIG_INFINIBAND_USER_ACCESS="m"
+ export CONFIG_INFINIBAND_ADDR_TRANS="y"
+ export CONFIG_INFINIBAND_MTHCA="m"
+ export CONFIG_INFINIBAND_IPATH="m"
+
+ CONF_PARAMS="--prefix=${ROOT}usr --kernel-version=${KV_FULL}
+ --with-core-mod
+ --with-ipoib-mod
+ --with-ipoib-cm
+ --with-sdp-mod
+ --with-user_mad-mod
+ --with-user_access-mod
+ --with-addr_trans-mod
+ --with-mthca-mod"
+ CONF_PARAMS="$CONF_PARAMS
+ $(use_with srp)-mod
+ $(use_with ipath)_inf-mod
+ $(use_with iser)-mod
+ $(use_with ehca)-mod
+ $(use_with rds)-mod
+ $(use_with madeye)-mod
+ $(use_with vnic)-mod
+ $(use_with cxgb3)-mod"
+ if use debug; then
+ CONF_PARAMS="$CONF_PARAMS
+ --with-mthca_debug-mod
+ --with-ipoib_debug-mod
+ --with-sdp_debug-mod
+ $(use_with srp)_debug-mod
+ $(use_with rds)_debug-mod
+ $(use_with vnic)_debug-mod
+ $(use_with cxgb3)_debug-mod"
+ else
+ CONF_PARAMS="$CONF_PARAMS
+ --without-mthca_debug-mod
+ --without-ipoib_debug-mod
+ --without-sdp_debug-mod"
+ fi
+ ebegin "Configuring"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+ ./configure ${CONF_PARAMS} ${EXTRA_ECONF} \
+ || die "configure failed with options: ${CONF_PARAMS}"
+ ARCH="${myARCH}"
+ ABI="${myABI}"
+ eend
+
+ #sed -i '/DEPMOD.*=.*depmod/s/=.*/= :/' ./Makefile
+ #grep DEPMOD Makefile
+
+ make_target
+}
+
+src_install() {
+
+ make_target DESTDIR="${D}" install
+
+ insinto /usr/include/rdma
+ doins "${S}/include/rdma/*.h"
+ insinto /usr/include/scsi
+ doins "${S}/include/scsi/*.h"
+
+ insinto /etc/udev/rules.d
+ newins "${S}/ofed_scripts/90-ib.rules" 40-ib.rules
+ insinto /etc/modules.d
+ newins "${FILESDIR}/openib.modprobe" openib
+ insinto /etc/infiniband
+
+ doinitd "${FILESDIR}/openib"
+
+ # build openib.conf based on ofed_scripts/ofa_kernel.spec
+ build_ipoib=1
+ build_sdp=1
+ cp "${S}/ofed_scripts/openib.conf" "${T}"
+ IB_CONF_DIR=${T}
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf
+ echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf
+ echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf
+
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf
+ echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ if use ipath; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf
+ echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use ehca; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf
+ echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if (( build_ipoib )); then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf
+ echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf
+ # from ofa_user.spec:
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf
+ echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf
+ echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf
+ echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if (( build_sdp )); then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load SDP module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SDP_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use srp; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ # from ofa_user.spec:
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf
+ echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf
+
+ fi
+ if use iser; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load ISER module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#ISER_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use rds; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf
+ fi
+ if use vnic; then
+ echo >> ${IB_CONF_DIR}/openib.conf
+ echo "# Load VNIC module" >> ${IB_CONF_DIR}/openib.conf
+ echo "#VNIC_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf
+ fi
+
+ doins "${T}/openib.conf"
+}
+
+pkg_postinst() {
+
+ linux-mod_pkg_postinst
+
+ einfo "Configuration file installed in /etc/infiniband/openib.conf"
+ einfo "To automatically initialize infiniband on boot, add openib to your"
+ einfo "start-up scripts, like so:"
+ einfo "\`rc-update add openib default\`"
+
+}
diff --git a/sys-cluster/openib-files/ChangeLog b/sys-cluster/openib-files/ChangeLog
new file mode 100644
index 000000000..167ed06e9
--- /dev/null
+++ b/sys-cluster/openib-files/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/openib-files
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-files-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-files/Manifest b/sys-cluster/openib-files/Manifest
new file mode 100644
index 000000000..6a34e5290
--- /dev/null
+++ b/sys-cluster/openib-files/Manifest
@@ -0,0 +1,8 @@
+AUX 90-ib.rules 232 RMD160 13aeac8b6ee3bb486257d1e43ce3ab73383816e9 SHA1 df6bde030ba8916eb5872b936fe816cebd189005 SHA256 c44d4937d60bb5b02d2b73d0a0e59a6b094555b060e31f2193c546dfe146f5d3
+AUX openib 6872 RMD160 4ae1cd16d54f38cd5cf8fdc8ab5b1e52ebcc9ea4 SHA1 0bce1d0384751d94d89f620b87bb4c553d205a58 SHA256 ba5d3071f6afe729fd1c6da25036c548c1c22d7eba3aa7fbf81cdbfd2eda1bcb
+AUX openib.conf 498 RMD160 4f8ebd6e32feade5927331561f15411bb8d7f9fe SHA1 2a1edc293445b94b27aec85acdfba22e9b73ceec SHA256 8c12ebe735d32f75c1bd4b66077e2642fa26a015cfc7992594066d7feb9fa962
+AUX openib.modprobe 350 RMD160 a40e8656ee1bdfc26a86b65aa3eaf5553a93b7b8 SHA1 623adbeccde3e88ce2c39d113a409c4d14091f0d SHA256 32054c7ee7caffc21ed320a9be5d0c2cd85e51295c0515521373d658f55ee68e
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD openib-files-1.1.ebuild 1019 RMD160 949c2e69dae6c07ed8494bc9c5315f7262d00c7d SHA1 02658aafc045d29692ac06b69236711b77d4dd20 SHA256 af41b2cfcda95d1beacbe213dd320000eb70ff71dbb8ffbb38afb3036239e549
+MISC ChangeLog 239 RMD160 316d2d52c157d25f13ee81ac816f5613f59e8c1d SHA1 b7334c4c17bf6e0f07017db185e36a3572631bed SHA256 caf09772e04067e351ba3e541093dbde95258003e4c33f59a520e2691eaabfd6
+MISC metadata.xml 231 RMD160 064e6234f88fbb875c0c8fcc15c6b94dac933543 SHA1 cf668e559ad68beff6f02f857375242b7dd31754 SHA256 c41922d8d18696ec022ac5d34af8583bbb4b6eff6698ae5f0aa9c87631d112d7
diff --git a/sys-cluster/openib-files/files/90-ib.rules b/sys-cluster/openib-files/files/90-ib.rules
new file mode 100644
index 000000000..789668486
--- /dev/null
+++ b/sys-cluster/openib-files/files/90-ib.rules
@@ -0,0 +1,5 @@
+KERNEL=="umad*", NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+KERNEL=="uverbs*", NAME="infiniband/%k", MODE="0666"
+KERNEL=="ucm*", NAME="infiniband/%k", MODE="0666"
+KERNEL=="rdma_cm", NAME="infiniband/%k", MODE="0666"
diff --git a/sys-cluster/openib-files/files/openib b/sys-cluster/openib-files/files/openib
new file mode 100755
index 000000000..895f34be5
--- /dev/null
+++ b/sys-cluster/openib-files/files/openib
@@ -0,0 +1,243 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# Based on openibd script from openfabrics.org,
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after coldplug hotplug
+ before net # init openib before starting any ipoib interfaces
+}
+
+OPENIB_CONFDIR=${OPENIB_CONFDIR:-/etc/infiniband}
+
+if [[ -r ${OPENIB_CONFDIR}/openib.conf ]] ; then
+ . ${OPENIB_CONFDIR}/openib.conf
+fi
+
+# Setting OpenIB start parameters
+POST_LOAD_MODULES=""
+
+if [ "X${SDP_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_sdp"
+ IPOIB_LOAD="yes"
+fi
+
+IPOIB=0
+if [ "X${IPOIB_LOAD}" == "Xyes" ]; then
+ IPOIB=1
+fi
+
+if [ "X${SRP_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp"
+fi
+
+if [ "X${SRP_TARGET_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp_target"
+fi
+
+if [ "X${RDMA_CM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_cm"
+fi
+
+if [ "X${UCM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_ucm"
+fi
+
+if [ "X${RDS_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_rds"
+fi
+
+if [ "X${ISER_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES ib_iser"
+fi
+
+if [ "X${RDMA_UCM_LOAD}" == "Xyes" ]; then
+ POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_ucm"
+fi
+
+PRE_UNLOAD_MODULES="ib_rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex"
+
+# W/A for unloading modules
+POST_UNLOAD_MODULES="$PRE_UNLOAD_MODULES ib_ipoib ib_sa ib_uverbs ib_umad"
+# ib_mthca ib_ipath - don't unload unless they are in openib.conf
+[[ "${MTHCA_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mthca"
+[[ "${IPATH_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_ipath ipath_core"
+
+[[ "${MTHCA_LOAD}" == "yes" || "${IPATH_LOAD}" == "yes" ]] && \
+ POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mad ib_core"
+
+#STATUS_MODULES="rdma_ucm ib_rds ib_srp ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core"
+
+
+# If module $1 is loaded return - 0 else - 1
+is_module()
+{
+ local RC
+
+ /sbin/lsmod | grep -w "$1" > /dev/null 2>&1
+ RC=$?
+
+ return $RC
+}
+
+unload()
+{
+ # Unload module $1
+ if is_module $mod; then
+ /sbin/modprobe -r $mod > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ # Try rmmod if modprobe failed: case that previous installation included more IB modules.
+ /sbin/rmmod $mod > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ ewarn "Failed to unload $mod"
+ return 1
+ fi
+ fi
+ fi
+}
+
+start() {
+ local RC=0
+ ebegin "Initializing Infiniband"
+ eindent
+
+ # Load Mellanox HCA driver if explicitly requested
+ # (however, it should be loaded automatically by udev)
+
+ einfo "Loading HCA and Access Layer drivers"
+
+ if [[ "${MTHCA_LOAD}" == "yes" ]]; then
+ /sbin/modprobe ib_mthca > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ fi
+ if [[ "${IPATH_LOAD}" == "yes" ]]; then
+ /sbin/modprobe ib_ipath > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ fi
+
+ # Add node description to sysfs
+ IBSYSDIR="/sys/class/infiniband"
+ if [ -d ${IBSYSDIR} ]; then
+ declare -i hca_id=1
+ for hca in ${IBSYSDIR}/*; do
+ if [ -e ${hca}/node_desc ]; then
+ echo -n "$(hostname -s) HCA-${hca_id}" >> ${hca}/node_desc
+ fi
+ let hca_id++
+ done
+ fi
+ /sbin/modprobe ib_umad > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ /sbin/modprobe ib_uverbs > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+
+ if [ $IPOIB -eq 1 ]; then
+ # this section is not necessary if all ib-over-ib devices are
+ # aliased properly in /etc/modules.d/openib
+ einfo "loading ib_ipoib module"
+ /sbin/modprobe ib_ipoib > /dev/null 2>&1
+ RC=$[ $RC + $? ]
+ if (( ! RC )); then
+ # start the ipoib devices automatically...
+ # this is probably a bad idea (the concept is taken from the
+ # original SUSE/Redhat-based initscript), and should be removed.
+ # But it works, and is not enabled by default. So I leave it here
+ # for second opinions.
+ local ibdevs=`rc-status -u -nc |egrep 'net\.ib[0-9a-zA-Z]+.*stopped' | awk '{print $1}'`
+ if [ -n "$ibdevs" ] ; then
+ einfo "starting ipoib devices"
+ for ibdev in $ibdevs; do
+ /etc/init.d/$ibdev start
+ done
+ fi
+ fi
+ fi
+
+ # Devices for ib_umad and ib_uverbs should now have been created.
+ if [ ! -d /dev/infiniband/ ]; then
+ eerror "udev failed to create '/dev/infiniband/' devices"
+ RC=1
+ fi
+
+ # Load configured modules
+ if [ "$POST_LOAD_MODULES" != "" ]; then
+ for mod in $POST_LOAD_MODULES
+ do
+ case $mod in
+ ib_iser)
+ # Voltaire requirement
+ /sbin/modprobe --force-modversion $mod > /dev/null 2>&1
+ ;;
+ *)
+ /sbin/modprobe $mod > /dev/null 2>&1
+ ;;
+ esac
+ RC=$?
+ [ $RC -ne 0 ] && eerror "Failed to load $mod"
+ done
+ fi
+
+ eoutdent
+ eend $RC
+}
+
+stop() {
+ ebegin "Stopping Infiniband"
+ local RC=0
+
+ # Check if applications which use infiniband are running
+ local apps="opensm osmtest ibbs ibns"
+ local pid
+
+ for app in $apps
+ do
+ if ( ps -ef | grep $app | grep -v grep > /dev/null 2>&1 ); then
+ eerror "Please stop $app and all applications running over InfiniBand"
+ eend 1
+ return
+ fi
+ done
+
+ if ! is_module ib_core; then
+ einfo "HCA driver is not loaded"
+ eend 0
+ return
+ fi
+
+ # Unload ULPs modules
+
+ if [ "$PRE_UNLOAD_MODULES" != "" ]; then
+ for mod in $PRE_UNLOAD_MODULES
+ do
+ unload $mod || { eend 1; return; }
+ done
+ fi
+
+ # Remove srp_presistant_bind.sh before removing ib_srp module
+ PID_SCRPT_TO_KILL=`ps -efww | grep srp_persistent | grep -v grep | awk '{print $2}'`
+ if ! [ "$PID_SCRPT_TO_KILL" == "" ]; then
+ PID_SLEEP_TO_KILL=`ps -efww | grep $PID_SCRPT_TO_KILL | grep sleep | awk '{print $2}'`
+ kill -9 $PID_SCRPT_TO_KILL
+ fi
+ if ! [ "$PID_SLEEP_TO_KILL" == "" ]; then
+ kill -9 $PID_SLEEP_TO_KILL
+ fi
+
+ # Unload OpenIB modules
+
+ if [ "$POST_UNLOAD_MODULES" != "" ]; then
+ for mod in $POST_UNLOAD_MODULES
+ do
+ unload $mod || RC=1
+ done
+ fi
+
+ eend $RC
+}
+
diff --git a/sys-cluster/openib-files/files/openib.conf b/sys-cluster/openib-files/files/openib.conf
new file mode 100644
index 000000000..9b4eb2928
--- /dev/null
+++ b/sys-cluster/openib-files/files/openib.conf
@@ -0,0 +1,27 @@
+# uncomment to load ib_ipoib module
+#IPOIB_LOAD=yes
+
+# uncomment to load ib_sdp module (implies IPOIB_LOAD=yes)
+#SDP_LOAD=yes
+
+# uncomment to load ib_srp module
+#SRP_LOAD=yes
+
+# uncomment to load ib_srp_target module
+#SRP_TARGET_LOAD=yes
+
+# uncomment to load rdma_cm module
+#RDMA_CM_LOAD=yes
+
+# uncomment to load ib_ucm module
+#UCM_LOAD=yes
+
+# uncomment to load ib_rds module
+#RDS_LOAD=yes
+
+# uncomment to load ib_iser module
+#ISER_LOAD=yes
+
+# uncomment to load rdma_ucm module
+#RDMA_UCM_LOAD=yes
+
diff --git a/sys-cluster/openib-files/files/openib.modprobe b/sys-cluster/openib-files/files/openib.modprobe
new file mode 100644
index 000000000..52828fb3b
--- /dev/null
+++ b/sys-cluster/openib-files/files/openib.modprobe
@@ -0,0 +1,12 @@
+# Setup aliases from ip-over-ib devices to the ip-over-ib kernel module.
+# Add to this list if you have more infiniband ports. Or you can set
+# IPOIB_LOAD=yes to have the ip-over-ib interfaces brought up by init.d/openib
+alias ib0 ib_ipoib
+alias ib1 ib_ipoib
+alias ib2 ib_ipoib
+alias ib3 ib_ipoib
+
+alias net-pf-27 ib_sdp
+
+#options ib_mthca msi_x=1
+
diff --git a/sys-cluster/openib-files/metadata.xml b/sys-cluster/openib-files/metadata.xml
new file mode 100644
index 000000000..32075071c
--- /dev/null
+++ b/sys-cluster/openib-files/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB system files and examples.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-files/openib-files-1.1.ebuild b/sys-cluster/openib-files/openib-files-1.1.ebuild
new file mode 100644
index 000000000..4848236f0
--- /dev/null
+++ b/sys-cluster/openib-files/openib-files-1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB system files and examples"
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/examples"
+
+IUSE=""
+
+DEPEND=""
+
+src_install() {
+ docinto examples/aio
+ dodoc aio/*
+ insinto /etc/udev/rules.d
+ doins ${FILESDIR}/90-ib.rules
+ doinitd ${FILESDIR}/openib
+ insinto /etc/infiniband
+ doins ${FILESDIR}/openib.conf
+ insinto /etc/modules.d
+ newins ${FILESDIR}/openib.modprobe openib
+}
+
+pkg_postinst() {
+ /sbin/modules-update
+ einfo "Configuration file installed in /etc/infiniband/openib.conf"
+ einfo "To automatically initialize infiniband on boot, add openib to your"
+ einfo "start-up scripts, like so:"
+ einfo "\`rc-update add openib default\`"
+}
+
diff --git a/sys-cluster/openib-mvapich2/ChangeLog b/sys-cluster/openib-mvapich2/ChangeLog
new file mode 100644
index 000000000..8677663c2
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/ChangeLog
@@ -0,0 +1,17 @@
+# ChangeLog for sys-cluster/openib-mvapich2
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-mvapich2-1.0.1 (26 Nov 2007)
+*openib-mvapich2-1.0 (26 Nov 2007)
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Version bump to 1.0.1
+ +openib-mvapich2-1.0.ebuild: added
+ +openib-mvapich2-1.0.1.ebuild: added
+
+*openib-mvapich2-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-mvapich2/Manifest b/sys-cluster/openib-mvapich2/Manifest
new file mode 100644
index 000000000..68915f562
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/Manifest
@@ -0,0 +1,10 @@
+DIST mvapich2-0.9.5.tar.gz 13873 RMD160 56e146c80be3cd7b5f1e1469f20e2c17549b15d7 SHA1 4026f5d3b32fc279a1480842599f0dd1a04b4621 SHA256 1dcd75956f8d947c5cbdeed39d7d39440d9cb0132aa3607042452514ca922d8f
+DIST mvapich2-0.9.6.tar.gz 13873 RMD160 56e146c80be3cd7b5f1e1469f20e2c17549b15d7 SHA1 4026f5d3b32fc279a1480842599f0dd1a04b4621 SHA256 1dcd75956f8d947c5cbdeed39d7d39440d9cb0132aa3607042452514ca922d8f
+DIST mvapich2-1.0.1.tar.gz 14062480 RMD160 da9e4dd07998d82ead0276e8b264a487c4d4fe79 SHA1 3edc9720251f8060e0f9c8cc58800a45a66cc7ae SHA256 a20fb87ed674bec3b2de87c47cc3965c33248e00b37f7eb08ba40d0bab07ca5e
+DIST mvapich2-1.0.tar.gz 14061056 RMD160 ba57d0d51bbdd3956dce446575d2ecbed4fe5b2f SHA1 b2f6ecf3e3b06c63b443bbcc55c2043f6d683f67 SHA256 30c0849dc7e8d4581cfee16a824f5e384e8198b60b7f54f880f4e25da7d1c143
+EBUILD openib-mvapich2-0.9.5.ebuild 3222 RMD160 e0b6bc33447310ae3a399ec1b4c863608b0e2d56 SHA1 23177acf2877974819632521e268b032af23d5be SHA256 6824f36f6017c2b25180b60255f00ae217249bf053f64d5d762f5432d8db62ee
+EBUILD openib-mvapich2-0.9.6.ebuild 3222 RMD160 f0ebda625161eb96f3b10273fdaa79db32b96f80 SHA1 3b6c16795f0c11be899a53c65df7d59e67d473d3 SHA256 9631de54a42fb009d5d7deb31a3b0e942da6a8bb2d52239d07291ab49e55387b
+EBUILD openib-mvapich2-1.0.1.ebuild 3124 RMD160 a7ac3beae7fbb6e5b8b188eb597ccf80e937b3a1 SHA1 dc1f83357d0d8e151a51897ce666972db6e9bf3a SHA256 831c25b8e13607b6171fd09b7705eb92aef30209c34107337fb49046891fa902
+EBUILD openib-mvapich2-1.0.ebuild 3124 RMD160 a7ac3beae7fbb6e5b8b188eb597ccf80e937b3a1 SHA1 dc1f83357d0d8e151a51897ce666972db6e9bf3a SHA256 831c25b8e13607b6171fd09b7705eb92aef30209c34107337fb49046891fa902
+MISC ChangeLog 482 RMD160 510c7ea0092869a20c5a0b4b331bee81eff6fc58 SHA1 7359ad77ba4cc10fba307d22212fded8736950dc SHA256 7eba1c1d9c260c8c7b2477e13aff03e1cc6d266aab5ab0e3c1b2ce34d6aa4ed4
+MISC metadata.xml 262 RMD160 2e8cfe97bd1a25814de0657adb7f9ab7f2861895 SHA1 e8a4f573ce01738445befdd0a3e597a79385c0cb SHA256 c54bb4a2708874d3875753c62b071b05f08f6947f71767ac26a4063ad3e4871a
diff --git a/sys-cluster/openib-mvapich2/metadata.xml b/sys-cluster/openib-mvapich2/metadata.xml
new file mode 100644
index 000000000..537c22a0e
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild
new file mode 100644
index 000000000..185418af5
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# WARNING: this script is interactive - it requires user-input once to verify
+# the type of HCA to configure for. This needs to be fixed to take out the
+# interactivity.
+
+SLOT="0"
+LICENSE="BSD"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB."
+
+HOMEPAGE="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/"
+SRC_URI="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/download-mvapich2/mvapich2-$PV.tar.gz"
+
+S="${WORKDIR}/mvapich2-$PV"
+
+IUSE="threads debug medium-cluster large-cluster"
+
+DEPEND="
+ || ( sys-cluster/libibverbs
+ sys-cluster/openib-userspace )
+ || ( sys-cluster/librdmacm
+ sys-cluster/openib-userspace )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ ARCH=
+ VCLUSTER=_SMALL_CLUSTER
+ HAVE_MPD_RING="-DUSE_MPD_RING"
+
+ if use amd64; then
+ if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then
+ ARCH=_EM64T_
+ else
+ ARCH=_X86_64_
+ fi
+ elif use x86; then
+ ARCH=_IA32_
+ elif use ia64; then
+ ARCH=_IA64_
+ elif use ppc64; then
+ ARCH=_PPC64_
+ else
+ die "unsupported architecture"
+ fi
+}
+
+src_compile() {
+ if use large-cluster; then
+ VCLUSTER=_LARGE_CLUSTER
+ elif use medium-cluster; then
+ VCLUSTER=_MEDIUM_CLUSTER
+ fi
+
+ source "${S}/make.mvapich2.detect"
+
+ # Check if SRQ is valid. for this platform.
+ ENABLE_SRQ="-DSRQ"
+
+ if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then
+ ENABLE_SRQ=""
+ fi
+
+ export LIBS="-libverbs -lpthread"
+ export CFLAGS="${CFLAGS} -D${ARCH} \
+ -DUSE_INLINE -D_SMP_ -DADAPTIVE_RDMA_FAST_PATH \
+ -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \
+ -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \
+ ${HAVE_MPD_RING} -D${VCLUSTER}"
+
+ local myconf
+ use debug && myconf="$myconf --enable-g=all --enable-debuginfo"
+ if [ $(use threads) ]; then
+ myconf="$myconf --enable-threads=multiple"
+ else
+ : # myconf="$myconf --enable-threads=serialized"
+ fi
+ sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
+ -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ./Makefile.in
+ sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ./src/pm/mpd/Makefile.in
+ ./configure \
+ --prefix=/opt/mvapich2-gen2 \
+ --host=${CHOST} \
+ --infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \
+ --disable-romio --without-mpe \
+ $myconf ${EXTRA_ECONF} \
+ || die "could not configure"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ doenvd "${FILESDIR}/99openib-mvapich2"
+ dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
+ README* RELEASE_NOTES*
+}
+
+pkg_postinst() {
+ einfo "To allow normal users to use infiniband, it is necessary to"
+ einfo "increase the system limits on locked memory."
+ einfo "You must increase the kernel.shmmax sysctl value, and increase"
+ einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
+ echo
+ einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
+ einfo "echo 512000000 > /proc/sys/kernel/shmmax"
+ einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
+}
+
diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild
new file mode 100644
index 000000000..292f6e9ec
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# WARNING: this script is interactive - it requires user-input once to verify
+# the type of HCA to configure for. This needs to be fixed to take out the
+# interactivity.
+
+SLOT="0"
+LICENSE="BSD"
+
+KEYWORDS="-amd64"
+
+DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB."
+
+HOMEPAGE="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/"
+SRC_URI="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/download-mvapich2/mvapich2-$PV.tar.gz"
+
+S="${WORKDIR}/mvapich2-$PV"
+
+IUSE="threads debug medium-cluster large-cluster"
+
+DEPEND="
+ || ( sys-cluster/libibverbs
+ sys-cluster/openib-userspace )
+ || ( sys-cluster/librdmacm
+ sys-cluster/openib-userspace )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ ARCH=
+ VCLUSTER=_SMALL_CLUSTER
+ HAVE_MPD_RING="-DUSE_MPD_RING"
+
+ if use amd64; then
+ if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then
+ ARCH=_EM64T_
+ else
+ ARCH=_X86_64_
+ fi
+ elif use x86; then
+ ARCH=_IA32_
+ elif use ia64; then
+ ARCH=_IA64_
+ elif use ppc64; then
+ ARCH=_PPC64_
+ else
+ die "unsupported architecture"
+ fi
+}
+
+src_compile() {
+ if use large-cluster; then
+ VCLUSTER=_LARGE_CLUSTER
+ elif use medium-cluster; then
+ VCLUSTER=_MEDIUM_CLUSTER
+ fi
+
+ source "${S}/make.mvapich2.detect"
+
+ # Check if SRQ is valid. for this platform.
+ ENABLE_SRQ="-DSRQ"
+
+ if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then
+ ENABLE_SRQ=""
+ fi
+
+ export LIBS="-libverbs -lpthread"
+ export CFLAGS="${CFLAGS} -D${ARCH} \
+ -DUSE_INLINE -D_SMP_ -DADAPTIVE_RDMA_FAST_PATH \
+ -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \
+ -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \
+ ${HAVE_MPD_RING} -D${VCLUSTER}"
+
+ local myconf
+ use debug && myconf="$myconf --enable-g=all --enable-debuginfo"
+ if [ $(use threads) ]; then
+ myconf="$myconf --enable-threads=multiple"
+ else
+ : # myconf="$myconf --enable-threads=serialized"
+ fi
+ sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
+ -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ./Makefile.in
+ sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ./src/pm/mpd/Makefile.in
+ ./configure \
+ --prefix=/opt/mvapich2-gen2 \
+ --host=${CHOST} \
+ --infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \
+ --disable-romio --without-mpe \
+ $myconf ${EXTRA_ECONF} \
+ || die "could not configure"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ doenvd "${FILESDIR}/99openib-mvapich2"
+ dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
+ README* RELEASE_NOTES*
+}
+
+pkg_postinst() {
+ einfo "To allow normal users to use infiniband, it is necessary to"
+ einfo "increase the system limits on locked memory."
+ einfo "You must increase the kernel.shmmax sysctl value, and increase"
+ einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
+ echo
+ einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
+ einfo "echo 512000000 > /proc/sys/kernel/shmmax"
+ einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
+}
+
diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild
new file mode 100644
index 000000000..73ad86918
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# WARNING: this script is interactive - it requires user-input once to verify
+# the type of HCA to configure for. This needs to be fixed to take out the
+# interactivity.
+
+SLOT="0"
+LICENSE="BSD"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB."
+
+HOMEPAGE="http://mvapich.cse.ohio-state.edu/"
+SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tar.gz"
+
+S="${WORKDIR}/mvapich2-${PV/_/-}"
+
+IUSE="threads debug medium-cluster large-cluster rdma"
+
+RDEPEND="
+ || ( ( sys-cluster/libibverbs
+ sys-cluster/libibumad
+ sys-cluster/libibmad
+ rdma? ( sys-cluster/librdmacm ) )
+ sys-cluster/openib-userspace )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ ARCH=
+ VCLUSTER=_SMALL_CLUSTER
+ HAVE_MPD_RING="-DUSE_MPD_RING"
+
+ if use amd64; then
+ if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then
+ ARCH=_EM64T_
+ else
+ ARCH=_X86_64_
+ fi
+ elif use x86; then
+ ARCH=_IA32_
+ elif use ia64; then
+ ARCH=_IA64_
+ elif use ppc64; then
+ ARCH=_PPC64_
+ else
+ die "unsupported architecture"
+ fi
+}
+
+src_compile() {
+ if use large-cluster; then
+ VCLUSTER=_LARGE_CLUSTER
+ elif use medium-cluster; then
+ VCLUSTER=_MEDIUM_CLUSTER
+ fi
+
+ source ${S/-beta2/}/make.mvapich2.detect
+
+ # Check if SRQ is valid. for this platform.
+ ENABLE_SRQ="-DSRQ"
+
+ if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then
+ ENABLE_SRQ=""
+ fi
+
+ export LIBS="-libverbs -lpthread -libumad -libmad"
+ if use rdma; then
+ export LIBS="${LIBS} -lrdmacm"
+ export CFLAGS="${CFLAGS} -DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM"
+ fi
+ export CFLAGS="${CFLAGS} -D${ARCH} \
+ -DUSE_INLINE -D_SMP_ \
+ -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \
+ -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \
+ ${HAVE_MPD_RING} -D${VCLUSTER}"
+
+ local myconf
+ use debug && myconf="$myconf --enable-g=all --enable-debuginfo"
+ use threads && myconf="$myconf --enable-threads=multiple"
+
+ sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
+ -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ${S/-beta2/}/Makefile.in
+ sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in
+ cd ${S/-beta2/}
+ econf \
+ --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \
+ --disable-romio --without-mpe \
+ $myconf ${EXTRA_ECONF} \
+ || die "could not configure"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
+ README* RELEASE_NOTES*
+}
+
+pkg_postinst() {
+ einfo "To allow normal users to use infiniband, it is necessary to"
+ einfo "increase the system limits on locked memory."
+ einfo "You must increase the kernel.shmmax sysctl value, and increase"
+ einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
+ echo
+ einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
+ einfo "echo 512000000 > /proc/sys/kernel/shmmax"
+ einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
+}
+
diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild
new file mode 100644
index 000000000..73ad86918
--- /dev/null
+++ b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# WARNING: this script is interactive - it requires user-input once to verify
+# the type of HCA to configure for. This needs to be fixed to take out the
+# interactivity.
+
+SLOT="0"
+LICENSE="BSD"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB."
+
+HOMEPAGE="http://mvapich.cse.ohio-state.edu/"
+SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tar.gz"
+
+S="${WORKDIR}/mvapich2-${PV/_/-}"
+
+IUSE="threads debug medium-cluster large-cluster rdma"
+
+RDEPEND="
+ || ( ( sys-cluster/libibverbs
+ sys-cluster/libibumad
+ sys-cluster/libibmad
+ rdma? ( sys-cluster/librdmacm ) )
+ sys-cluster/openib-userspace )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ ARCH=
+ VCLUSTER=_SMALL_CLUSTER
+ HAVE_MPD_RING="-DUSE_MPD_RING"
+
+ if use amd64; then
+ if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then
+ ARCH=_EM64T_
+ else
+ ARCH=_X86_64_
+ fi
+ elif use x86; then
+ ARCH=_IA32_
+ elif use ia64; then
+ ARCH=_IA64_
+ elif use ppc64; then
+ ARCH=_PPC64_
+ else
+ die "unsupported architecture"
+ fi
+}
+
+src_compile() {
+ if use large-cluster; then
+ VCLUSTER=_LARGE_CLUSTER
+ elif use medium-cluster; then
+ VCLUSTER=_MEDIUM_CLUSTER
+ fi
+
+ source ${S/-beta2/}/make.mvapich2.detect
+
+ # Check if SRQ is valid. for this platform.
+ ENABLE_SRQ="-DSRQ"
+
+ if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then
+ ENABLE_SRQ=""
+ fi
+
+ export LIBS="-libverbs -lpthread -libumad -libmad"
+ if use rdma; then
+ export LIBS="${LIBS} -lrdmacm"
+ export CFLAGS="${CFLAGS} -DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM"
+ fi
+ export CFLAGS="${CFLAGS} -D${ARCH} \
+ -DUSE_INLINE -D_SMP_ \
+ -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \
+ -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \
+ ${HAVE_MPD_RING} -D${VCLUSTER}"
+
+ local myconf
+ use debug && myconf="$myconf --enable-g=all --enable-debuginfo"
+ use threads && myconf="$myconf --enable-threads=multiple"
+
+ sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
+ -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ${S/-beta2/}/Makefile.in
+ sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in
+ cd ${S/-beta2/}
+ econf \
+ --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \
+ --disable-romio --without-mpe \
+ $myconf ${EXTRA_ECONF} \
+ || die "could not configure"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
+ README* RELEASE_NOTES*
+}
+
+pkg_postinst() {
+ einfo "To allow normal users to use infiniband, it is necessary to"
+ einfo "increase the system limits on locked memory."
+ einfo "You must increase the kernel.shmmax sysctl value, and increase"
+ einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
+ echo
+ einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
+ einfo "echo 512000000 > /proc/sys/kernel/shmmax"
+ einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
+}
+
diff --git a/sys-cluster/openib-osm/ChangeLog b/sys-cluster/openib-osm/ChangeLog
new file mode 100644
index 000000000..6021c853e
--- /dev/null
+++ b/sys-cluster/openib-osm/ChangeLog
@@ -0,0 +1,14 @@
+# ChangeLog for sys-cluster/openib-osm
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ converted to standalone package
+ -openib-osm-1.1.ebuild: removed
+ +openib-osm-3.1.5.ebuild: added
+
+*openib-osm-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-osm/Manifest b/sys-cluster/openib-osm/Manifest
new file mode 100644
index 000000000..02984caf2
--- /dev/null
+++ b/sys-cluster/openib-osm/Manifest
@@ -0,0 +1,8 @@
+AUX opensm.conf 4489 RMD160 aeae8d7a83810d566cdee9e88c0a1f1955e75220 SHA1 c23f628bbd8249593b8ba411f8ebc0f4dd0f735f SHA256 ce257b09663a7cb621fb8ad4193d6831bf7532a57190b38e33e769e0d4890828
+AUX opensm.init.d 710 RMD160 eb102bc124c47d9c4be97fc67eff50034d888b4f SHA1 0b2e6a65310106c578f52792f9b9e424fb32cbaf SHA256 bda65963eed6ec5899db8695a26f5b3849c66f1cf91782ff6f07d7c6ceb696d9
+AUX opensmd 6040 RMD160 740decb4755c133bbccfde897350bda6f92bfb59 SHA1 4d0994a84f55a512e54f403c102789eae8eec673 SHA256 d010b5840632ed8e5f0706bcff8c431a1a147b259d3d15200bbddac2fba045c3
+AUX sldd.sh 6999 RMD160 3df5e20bfda04dc850d1968ead1761e683ae8940 SHA1 ee398a5faf55c0165f9fd04ac8675bd22588e7dc SHA256 3b59effb22f8138c2a12e7115949ca336a19a076cbd0d6690641f55d1d49b5cf
+DIST opensm-3.1.5.tar.gz 1168944 RMD160 0ef1ce5a19cd9a8800106cd19c699a2d06e6d8de SHA1 80427c3350855b4a071a0b020a0a69a5bd7b153d SHA256 b716ab05e0b8e81609733c00b43e74bfa2b07b9444866e032d706cc9568dc0e4
+EBUILD openib-osm-3.1.5.ebuild 1185 RMD160 8401feabe3e2848b62fa47ce9e1b71368f8c5fca SHA1 0061caf4a7912633b90bb46f0baf7a7432d9b69a SHA256 27d79a20efb49eaa622f8cbc2868468a5773ccce181fade32155d4f925160a3e
+MISC ChangeLog 401 RMD160 0fe62469623e5996f315a37109068c5b7ef43c80 SHA1 f06ecdbc32524f81c7eaf0967f03b9a9ea9ab5eb SHA256 f0236a9615410318497e3c58d47d899a9df057babe18bf270713f2d99841c0e6
+MISC metadata.xml 419 RMD160 f9b6f7b72f595559b5fdbf3c2bf6cad3490b5900 SHA1 be8a65515c13b833f49766db58e9486961c65078 SHA256 e33518d9908c9e6ee2629959038228160a7215b5b7e04cab593a9734c40df34b
diff --git a/sys-cluster/openib-osm/files/opensm.conf b/sys-cluster/openib-osm/files/opensm.conf
new file mode 100644
index 000000000..58880400d
--- /dev/null
+++ b/sys-cluster/openib-osm/files/opensm.conf
@@ -0,0 +1,141 @@
+# DEBUG mode
+# This option specifies a debug option.
+# These options are not normally needed.
+# The number following -d selects the debug
+# option to enable as follows:
+# OPT Description
+# --- -----------------
+# 0 - Ignore other SM nodes.
+# 1 - Force single threaded dispatching.
+# 2 - Force log flushing after each log message.
+# 3 - Disable multicast support.
+# 4 - Put OpenSM in memory tracking mode.
+# 10.. Put OpenSM in testability mode.
+# none, no debug options are enabled.
+DEBUG=none
+
+# LMC
+# This option specifies the subnet's LMC value.
+# The number of LIDs assigned to each port is 2^LMC.
+# The LMC value must be in the range 0-7.
+# LMC values > 0 allow multiple paths between ports.
+# LMC values > 0 should only be used if the subnet
+# topology actually provides multiple paths between
+# ports, i.e. multiple interconnects between switches.
+# OpenSM defaults to LMC = 0, which allows
+# one path between any two ports.
+LMC=0
+
+# MAXSMPS
+# This option specifies the number of VL15 SMP MADs
+# allowed on the wire at any one time.
+# Specifying -maxsmps 0 allows unlimited outstanding SMPs.
+# Without -maxsmps, OpenSM defaults to a maximum of
+# one outstanding SMP.
+MAXSMPS=0
+
+# REASSIGN_LIDS
+# This option causes OpenSM to reassign LIDs to all
+# end nodes. Specifying "REASSIGN_LIDS=yes" on a running subnet
+# may disrupt subnet traffic.
+# With "REASSIGN_LIDS=no", OpenSM attempts to preserve existing
+# LID assignments resolving multiple use of same LID.
+REASSIGN_LIDS="no"
+
+# SWEEP
+# This option specifies the number of seconds between
+# subnet sweeps. Specifying SWEEP=0 disables sweeping.
+# OpenSM defaults to a sweep interval of 10 seconds.
+SWEEP=10
+
+# TIMEOUT
+# This option specifies the time in milliseconds
+# used for transaction timeouts.
+# Specifying -t 0 disables timeouts.
+# Without -t, OpenSM defaults to a timeout value of
+# 100 milliseconds.
+TIMEOUT=200
+
+
+# OSM_LOG
+# This option defines the log to be the given file.
+# By default the log goes to /tmp/osm.log.
+# For the log to go to standard output use OSM_LOG=stdout.
+OSM_LOG=/tmp/osm.log
+
+# VERBOSE
+# This option increases the log verbosity level.
+# The "-v" option may be specified multiple times
+# to further increase the verbosity level.
+# "-V" option sets the maximum verbosity level and
+# forces log flushing.
+# The "-V" is equivalent to "-vf 0xFF -d 2".
+VERBOSE="none"
+
+# UPDN
+# This option activate UPDN algorithm instead of Min Hop
+# algorithm (default).
+# To switch on UPDN algorithm set UPDN="on"
+UPDN="off"
+
+
+# GUID_FILE
+# This option only allowed when UPDN algorithm is activated
+# It specifies the guid list file from which to fetch the guid list
+# The file contain in each line only one valid guid
+GUID_FILE="none"
+
+# This option specifies the local port GUID value
+# with which OpenSM should bind. OpenSM may be
+# bound to 1 port at a time.
+# If GUID given is 0, opensmd use PORT_NUM parameter.
+# Without -g (GUID="none"), OpenSM trys to use the default port.
+GUID=0
+
+# OSM_HOSTS
+# The list of all SM's IP addresses in InfiniBand subnet
+# Used to handover mechanism
+OSM_HOSTS=""
+
+# OSM_CACHE_DIR
+OSM_CACHE_DIR=/var/cache/osm
+
+# CACHE_OPTIONS
+# Cache the given command line options into the file
+# /var/cache/osm/opensm.opts for use next invocation
+# The cache directory can be changed by the environment
+# variable OSM_CACHE_DIR
+# Set to '--cache-options' or '-c' in order to enable
+CACHE_OPTIONS="none"
+
+# HONORE_GUID2LID
+# This option forces OpenSM to honor the guid2lid file,
+# when it comes out of Standby state, if such file exists
+# under OSM_CACHE_DIR, and is valid.
+# Set to '--honor_guid2lid' or '-x' to enable.
+# By default this is FALSE. Will be set automatically to '--honor_guid2lid'
+# if OSM_HOSTS includes list of more then one IP addresses.
+HONORE_GUID2LID="none"
+
+# RCP
+# This option osed by SLDD daemon for handover mechanism
+# to copy local cache file to remote computer
+RCP=/usr/bin/scp
+
+# RSH
+# This option osed by SLDD daemon for handover mechanism
+# to execute commands on remote computer
+RSH=/usr/bin/ssh
+
+# RESCAN_TIME
+# This option osed by SLDD daemon for handover mechanism
+# Time between sweep of sldd daemon in seconds
+RESCAN_TIME=60
+
+# PORT_NUM
+# This option defines HCA's port number which OpenSM should bind
+PORT_NUM=1
+
+# ONBOOT
+# To start OpenSM automatically set ONBOOT=yes
+ONBOOT=no
diff --git a/sys-cluster/openib-osm/files/opensm.init.d b/sys-cluster/openib-osm/files/opensm.init.d
new file mode 100755
index 000000000..72a46652f
--- /dev/null
+++ b/sys-cluster/openib-osm/files/opensm.init.d
@@ -0,0 +1,28 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# Based on opensm script from openfabrics.org,
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need openib
+ after net # ip net seems to be needed to perform management.
+}
+
+prog=/usr/bin/opensm
+
+start() {
+ ebegin "Starting OpenSM Infiniband Subnet Manager"
+ start-stop-daemon --start --background --exec $prog -- $OPTIONS
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping OpenSM Infiniband Subnet Manager"
+ start-stop-daemon --stop --exec $prog
+ eend $?
+}
+
diff --git a/sys-cluster/openib-osm/files/opensmd b/sys-cluster/openib-osm/files/opensmd
new file mode 100755
index 000000000..19b63066b
--- /dev/null
+++ b/sys-cluster/openib-osm/files/opensmd
@@ -0,0 +1,277 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# Based on opensmd script from openfabrics.org,
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need openib
+ after net # ip net seems to be needed to perform management.
+}
+
+if [ -r /etc/opensm.conf ]; then
+ . /etc/opensm.conf
+fi
+
+prog=/usr/bin/opensm
+bin=${prog##*/}
+
+# Handover daemon for updating guid2lid cache file
+sldd_prog=/usr/bin/sldd.sh
+sldd_bin=${sldd_prog##*/}
+sldd_pid_file=/var/run/sldd.pid
+
+# Setting OpenSM start parameters
+PID_FILE=/var/run/${bin}.pid
+
+if [[ -z $DEBUG || "$DEBUG" == "none" ]]; then
+ DEBUG_FLAG=""
+else
+ DEBUG_FLAG="-d ${DEBUG}"
+fi
+
+if [[ -z $LMC || "$LMC" == "0" ]]; then
+ LMC_FLAG=""
+else
+ LMC_FLAG="-l ${LMC}"
+fi
+
+if [[ -z $MAXSMPS || "$MAXSMPS" == "0" ]]; then
+ MAXSMPS_FLAG=""
+else
+ MAXSMPS_FLAG="-maxsmps ${MAXSMPS}"
+fi
+
+if [[ -z $REASSIGN_LIDS || "$REASSIGN_LIDS" == "no" ]]; then
+ REASSIGN_LIDS_FLAG=""
+else
+ REASSIGN_LIDS_FLAG="-r"
+fi
+
+if [[ -z $SWEEP || "$SWEEP" == "10" ]]; then
+ SWEEP_FLAG=""
+else
+ SWEEP_FLAG="-s ${SWEEP}"
+fi
+
+if [[ -z $TIMEOUT || "$TIMEOUT" == "100" ]]; then
+ TIMEOUT_FLAG=""
+else
+ TIMEOUT_FLAG="-t ${TIMEOUT}"
+fi
+
+if [[ -z $OSM_LOG || "$OSM_LOG" == "/tmp/osm.log" ]]; then
+ OSM_LOG_FLAG=""
+else
+ OSM_LOG_FLAG="-f ${OSM_LOG}"
+fi
+
+if [[ -z $VERBOSE || "$VERBOSE" == "none" ]]; then
+ VERBOSE_FLAG=""
+else
+ VERBOSE_FLAG="${VERBOSE}"
+fi
+
+if [[ -z $UPDN || "$UPDN" == "off" ]]; then
+ UPDN_FLAG=""
+else
+ UPDN_FLAG="-u"
+fi
+
+if [[ -z $GUID_FILE || "$GUID_FILE" == "none" ]]; then
+ GUID_FILE_FLAG=""
+else
+ GUID_FILE_FLAG="-a ${GUID_FILE}"
+fi
+
+if [[ -z $GUID || "$GUID" == "none" ]]; then
+ GUID_FLAG=""
+else
+ GUID_FLAG="-g ${GUID}"
+fi
+
+if [[ -z $HONORE_GUID2LID || "$HONORE_GUID2LID" == "none" ]]; then
+ HONORE_GUID2LID_FLAG=""
+else
+ HONORE_GUID2LID_FLAG="--honor_guid2lid"
+fi
+
+if [[ -n "${OSM_HOSTS}" && $(echo -n ${OSM_HOSTS} | wc -w | tr -d '[:space:]') -gt 1 ]]; then
+ HONORE_GUID2LID_FLAG="--honor_guid2lid"
+fi
+
+
+if [[ -z $CACHE_OPTIONS || "$CACHE_OPTIONS" == "none" ]]; then
+ CACHE_OPTIONS_FLAG=""
+else
+ CACHE_OPTIONS_FLAG="--cache-options"
+fi
+
+
+if [ -z $PORT_NUM ]; then
+ PORT_FLAG=1
+else
+ PORT_FLAG="${PORT_NUM}"
+fi
+
+# Check if $pid (could be plural) are running
+checkpid() {
+ local i
+
+ for i in $* ; do
+ [ -d "/proc/$i" ] || return 1
+ done
+ return 0
+}
+
+start_sldd()
+{
+ if [ -f $sldd_pid_file ]; then
+ local line p
+ read line < $sldd_pid_file
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && sldd_pid="$sldd_pid $p"
+ done
+ fi
+
+ if [ -z "$sldd_pid" ]; then
+ sldd_pid=`pidof -x $sldd_bin`
+ fi
+
+ if [ -n "${sldd_pid:-}" ] ; then
+ kill -9 ${sldd_pid} > /dev/null 2>&1
+ fi
+
+ einfo "starting sldd daemon"
+ $sldd_prog > /dev/null 2>&1 &
+ sldd_pid=$!
+
+ echo ${sldd_pid} > $sldd_pid_file
+ # Sleep is needed in order to update local gid2lid cache file before running opensm
+ sleep 3
+}
+
+stop_sldd()
+{
+ if [ -f $sldd_pid_file ]; then
+ local line p
+ read line < $sldd_pid_file
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && sldd_pid="$sldd_pid $p"
+ done
+ fi
+
+ if [ -z "$sldd_pid" ]; then
+ sldd_pid=`pidof -x $sldd_bin`
+ fi
+
+ if [ -n "${sldd_pid:-}" ] ; then
+ einfo "killing sldd daemon"
+ kill -15 ${sldd_pid} > /dev/null 2>&1
+ fi
+
+}
+
+start() {
+ ebegin "Starting OpenSM Infiniband Subnet Manager"
+ eindent
+
+ local OSM_PID=
+ local RC=0
+
+ if [ -f $PID_FILE ]; then
+ local line p
+ read line < $PID_FILE
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
+ done
+ fi
+
+ if [ -z "$pid" ]; then
+ pid=`pidof -o $$ -o $PPID -o %PPID -x $bin`
+ fi
+
+ if [ -n "${pid:-}" ] ; then
+ ewarn $"${bin} (pid $pid) is already running..."
+ else
+ if [ -n "${HONORE_GUID2LID_FLAG}" ]; then
+ # Run sldd daemod
+ start_sldd
+ fi
+
+ # Start opensm
+ local START_FLAGS=""
+ for flag in "$DEBUG_FLAG" "$LMC_FLAG" "$MAXSMPS_FLAG" "$REASSIGN_LIDS_FLAG" "$SWEEP_FLAG" "$TIMEOUT_FLAG" "$OSM_LOG_FLAG" "$VERBOSE_FLAG" "$UPDN_FLAG" "$GUID_FILE_FLAG" "$GUID_FLAG" "$HONORE_GUID2LID_FLAG" "$CACHE_OPTIONS_FLAG"
+ do
+ [ ! -z "$flag" ] && START_FLAGS="$START_FLAGS $flag"
+ done
+
+ echo $PORT_FLAG | $prog $START_FLAGS > /dev/null 2>&1 &
+ OSM_PID=$!
+ echo $OSM_PID > $PID_FILE
+ sleep 1
+ checkpid $OSM_PID
+ RC=$?
+ fi
+
+ eoutdent
+ eend $RC
+}
+
+stop() {
+ ebegin "Stopping OpenSM Infiniband Subnet Manager"
+ local RC=0
+ local pid=
+ local pid1=
+ local pid2=
+
+ # Stop sldd daemon
+ stop_sldd
+
+ if [ -f $PID_FILE ]; then
+ local line p
+ read line < $PID_FILE
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid1="$pid1 $p"
+ done
+ fi
+
+ pid2=`pidof -o $$ -o $PPID -o %PPID -x $bin`
+
+ pid=`echo "$pid1 $pid2" | sed -e 's/\ /\n/g' | sort -n | uniq | sed -e 's/\n/\ /g'`
+
+ if [ -n "${pid:-}" ] ; then
+ # Kill opensm
+ kill -15 $pid > /dev/null 2>&1
+ cnt=0
+ while [ $cnt -lt 6 ]; do
+ #echo -n ".";
+ sleep 1; let cnt++
+ done
+
+ for p in $pid
+ do
+ while checkpid $p ; do
+ kill -KILL $p > /dev/null 2>&1
+ #echo -n "."
+ sleep 1
+ done
+ done
+ checkpid $pid
+ RC=$?
+ [ $RC -eq 0 ] && eerror "$bin shutdown failed"
+ RC=$((! $RC))
+ else
+ ewarn "$bin does not appear to be running"
+ RC=1
+ fi
+
+ # Remove pid file if any.
+ rm -f $PID_FILE
+
+ eend $RC
+}
+
diff --git a/sys-cluster/openib-osm/files/sldd.sh b/sys-cluster/openib-osm/files/sldd.sh
new file mode 100755
index 000000000..9604b848f
--- /dev/null
+++ b/sys-cluster/openib-osm/files/sldd.sh
@@ -0,0 +1,251 @@
+#!/bin/bash
+#
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+# $Id: sldd.sh 7779 2006-06-07 12:05:46Z vlad $
+#
+
+# OpenSM found to have the following problem
+# when handover is performed:
+# If some of the cluster nodes are rebooted during the handover they loose their LID assignment.
+# The reason for it is that the standby SM does not obey its own Guid to LID table
+# and simply uses the discovered LIDs. If some nodes are not available for it
+# their previous LID assignment is lost forever.
+
+# The idea is to use an external daemon that will distribute
+# the semi-static LID assignment table from the master SM to all standby SMs.
+# A standby SM, becoming a master . needs to obey the copied semi static LID assignment table.
+
+# config: /etc/opensm.conf
+
+CONFIG=/etc/opensm.conf
+
+SLDD_DEBUG=${SLDD_DEBUG:-0}
+
+if [ ! -f ${CONFIG} ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "${CONFIG} not found."
+ exit 0
+fi
+
+. ${CONFIG}
+
+CACHE_FILE=${CACHE_FILE:-/var/cache/osm/guid2lid}
+CACHE_DIR=$(dirname ${CACHE_FILE})
+tmp_cache=${CACHE_FILE}.tmp
+
+PING='ping -w 1 -c 1'
+
+RCP=${RCP:-/usr/bin/scp}
+RSH=${RSH:-/usr/bin/ssh}
+IFCONFIG=${IFCONFIG:-'/sbin/ifconfig -a'}
+
+declare -i SLDD_DEBUG
+RESCAN_TIME=${RESCAN_TIME:-60}
+
+if [ -z "${OSM_HOSTS}" ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "No OpenSM servers (OSM_HOSTS) configured for the IB subnet."
+ exit 0
+fi
+
+
+declare -a arr_OSM_HOSTS
+arr_OSM_HOSTS=(${OSM_HOSTS})
+
+num_of_osm_hosts=${#arr_OSM_HOSTS[@]}
+
+if [ ${num_of_osm_hosts} -eq 1 ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "One OpenSM server configured in the IB subnet." &&
+ echo "Nothing to be done for SLDD"
+
+ exit 0
+fi
+
+trap 'trap_handler' 15
+
+trap_handler()
+{
+ logger -i "SLDD: Exiting."
+ exit 0
+}
+
+is_alive()
+{
+ $PING $1 > /dev/null 2>&1
+ return $?
+}
+
+is_local()
+{
+ $IFCONFIG | grep -w "$1" > /dev/null 2>&1
+ return $?
+}
+
+update_remote_cache()
+{
+ /bin/rm -f ${CACHE_FILE}.upd
+ /bin/cp -a ${CACHE_FILE} ${CACHE_FILE}.upd
+
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Updating remote cache file"
+
+ for host in ${OSM_HOSTS}
+ do
+ # Skip local host update
+ if [ "${host}" == "${local_host}" ]; then
+ continue
+ fi
+
+ if is_alive $host; then
+ stat=$($RSH $host "/bin/mkdir -p ${CACHE_DIR} > /dev/null 2>&1; /bin/rm -f ${CACHE_FILE}.${local_host} > /dev/null 2>&1; echo \$?" | tr -d '[:space:]')
+ if [ "X${stat}" == "X0" ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Updating $host"
+ logger -i "SLDD: updating $host with ${CACHE_FILE}"
+ $RCP ${CACHE_FILE}.upd ${host}:${CACHE_FILE}.${local_host}
+ /bin/cp ${CACHE_FILE}.upd ${CACHE_FILE}.${host}
+ else
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "$RSH to $host failed."
+ logger -i "SLDD: Failed to update $host with ${CACHE_FILE}. $RSH without password should be enabled"
+ exit 5
+ fi
+ else
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "$host is down."
+ continue
+ fi
+ done
+}
+
+get_latest_remote_cache()
+{
+ # Find most updated remote cache file (the suffix should be like ip address: *.*.*.*)
+ echo -n "$(/bin/ls -1t ${CACHE_FILE}.*.* 2> /dev/null | head -1)"
+}
+
+get_largest_remote_cache()
+{
+ # Find largest (size) remote cache file (the suffix should be like ip address: *.*.*.*)
+ echo -n "$(/bin/ls -1S ${CACHE_FILE}.*.* 2> /dev/null | head -1)"
+}
+
+swap_cache_files()
+{
+ /bin/rm -f ${CACHE_FILE}.old
+ /bin/mv ${CACHE_FILE} ${CACHE_FILE}.old
+ /bin/cp ${largest_remote_cache} ${CACHE_FILE}
+ touch ${CACHE_FILE}.tmp
+}
+
+# Find local host in the osm hosts list
+local_host=""
+for host in ${OSM_HOSTS}
+do
+ if is_local $host; then
+ local_host=${host}
+ fi
+done
+
+# Get cache file info
+declare -i new_size=0
+declare -i last_size=0
+declare -i largest_remote_cache_size=0
+
+if [ -e ${CACHE_FILE} ]; then
+ last_size=$(du -b ${CACHE_FILE} | awk '{print$1}' | tr -d '[:space:]')
+else
+ touch ${CACHE_FILE} ${CACHE_FILE}.tmp
+fi
+
+# if [ ${last_size} -gt 0 ]; then
+# # First time update
+# update_remote_cache
+# fi
+
+while true
+do
+ if [ -s "${CACHE_FILE}" ]; then
+ new_size=$(du -b ${CACHE_FILE} | awk '{print$1}' | tr -d '[:space:]')
+ # Check if local cache file grew from its last version or the time stamp changed
+ if [ ${new_size} -gt ${last_size} ] ||
+ [ "$(/bin/ls -1t ${CACHE_FILE} ${CACHE_FILE}.tmp 2> /dev/null | head -1)" != "${CACHE_FILE}.tmp" ]; then
+ largest_remote_cache=$(get_largest_remote_cache)
+ if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then
+ largest_remote_cache_size=$(du -b ${largest_remote_cache} 2> /dev/null | awk '{print$1}' | tr -d '[:space:]')
+ else
+ largest_remote_cache_size=0
+ fi
+
+ # Check if local cache file larger than remote chache file
+ if [ ${new_size} -gt ${largest_remote_cache_size} ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Local cache file larger then remote. Update remote cache files"
+ last_size=${new_size}
+ update_remote_cache
+ continue
+ fi
+ fi
+
+ largest_remote_cache=$(get_largest_remote_cache)
+ if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then
+ largest_remote_cache_size=$(du -b ${largest_remote_cache} 2> /dev/null | awk '{print$1}' | tr -d '[:space:]')
+ else
+ largest_remote_cache_size=0
+ fi
+
+ # Update local cache file from remote
+ if [ ${largest_remote_cache_size} -gt ${new_size} ]; then
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Local cache file shorter then remote. Use ${largest_remote_cache}"
+ logger -i "SLDD: updating local cache file with ${largest_remote_cache}"
+ swap_cache_files
+ last_size=${largest_remote_cache_size}
+ fi
+
+ else # The local cache file is empty
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "${CACHE_FILE} is empty"
+
+ largest_remote_cache=$(get_largest_remote_cache)
+ if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then
+ # Copy it to the current cache
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Local cache file is empty. Use ${largest_remote_cache}"
+ logger -i "SLDD: updating local cache file with ${largest_remote_cache}"
+ swap_cache_files
+ fi
+
+ fi
+
+ [ $SLDD_DEBUG -eq 1 ] &&
+ echo "Sleeping ${RESCAN_TIME} seconds."
+ sleep ${RESCAN_TIME}
+
+done
diff --git a/sys-cluster/openib-osm/metadata.xml b/sys-cluster/openib-osm/metadata.xml
new file mode 100644
index 000000000..aa628f31d
--- /dev/null
+++ b/sys-cluster/openib-osm/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenSM provides an implementation for an InfiniBand Subnet Manager and
+Administrator. Such a software entity is required to run for in order to
+initialize the InfiniBand hardware (at least one per each InfiniBand subnet).
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild b/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild
new file mode 100644
index 000000000..0340c1c11
--- /dev/null
+++ b/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenSM - InfiniBand Subnet Manager and Administration for OpenIB"
+
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/downloads/management/opensm-${PV}.tar.gz"
+S="${WORKDIR}/opensm-${PV}"
+
+IUSE=""
+
+DEPEND="sys-cluster/libibmad"
+RDEPEND="$DEPEND
+ sys-cluster/openib-files
+ net-misc/iputils" # for 'ping'
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc AUTHORS README NEWS ChangeLog
+ doman man/*
+ newconfd "${S}/scripts/opensm.sysconfig" opensm
+ newinitd "${FILESDIR}/opensm.init.d" opensm
+ insinto /etc/logrotate.d
+ newins "${S}/scripts/opensm.logrotate" opensm
+ insinto /etc
+ doins "${S}/scripts/opensm.conf"
+ dobin "${S}/scripts/sldd.sh"
+}
+
+pkg_postinst() {
+ einfo "To automatically configure the infiniband subnet manager on boot,"
+ einfo "edit /etc/opensm.conf and add opensm to your start-up scripts:"
+ einfo "\`rc-update add opensm default\`"
+}
+
diff --git a/sys-cluster/openib-perf/ChangeLog b/sys-cluster/openib-perf/ChangeLog
new file mode 100644
index 000000000..783ae46e8
--- /dev/null
+++ b/sys-cluster/openib-perf/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/openib-perf
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-perf-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-perf/Manifest b/sys-cluster/openib-perf/Manifest
new file mode 100644
index 000000000..a2a94d480
--- /dev/null
+++ b/sys-cluster/openib-perf/Manifest
@@ -0,0 +1,4 @@
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD openib-perf-1.1.ebuild 658 RMD160 146e960636c62d9e1ded2b4f0ee3b823e376b1c3 SHA1 fbd2a393e9a5954af211db2e3972e0d011584eaf SHA256 bd075b8ac6489074f79538595dde016e44e05b048b88684fe4faf41349b04b93
+MISC ChangeLog 237 RMD160 9903f61ec8fe25a53a49acefd357ca0cf9853eda SHA1 29d01f6cf36cc52d85a6df0bfc4b71d1bc7fb8c0 SHA256 8b2ec8ca18c27a8d1a47ceb20b1837c7f3d0fb63aaf953423fe4536b94231df2
+MISC metadata.xml 229 RMD160 e1401ca7c2210ebd7f7951139300cb05b871720c SHA1 847c1c0aca9c9a309fc80aa1345fa6b9df91c5c1 SHA256 30506429bac849161d32a0e3960a93cfacd4e931f8b6cb986965e3a4239ac8c0
diff --git a/sys-cluster/openib-perf/metadata.xml b/sys-cluster/openib-perf/metadata.xml
new file mode 100644
index 000000000..32ace613a
--- /dev/null
+++ b/sys-cluster/openib-perf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenIB uverbs micro-benchmarks.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-perf/openib-perf-1.1.ebuild b/sys-cluster/openib-perf/openib-perf-1.1.ebuild
new file mode 100644
index 000000000..4c209f24d
--- /dev/null
+++ b/sys-cluster/openib-perf/openib-perf-1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB uverbs micro-benchmarks"
+
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/perftest"
+
+IUSE=""
+
+DEPEND="=sys-cluster/libibverbs-${PV}
+ =sys-cluster/librdmacm-${PV}"
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ dodoc README Copying runme
+ dobin ib_*
+}
+
diff --git a/sys-cluster/openib-srptools/ChangeLog b/sys-cluster/openib-srptools/ChangeLog
new file mode 100644
index 000000000..4c7fa6619
--- /dev/null
+++ b/sys-cluster/openib-srptools/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/openib-srptools
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-srptools-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib-srptools/Manifest b/sys-cluster/openib-srptools/Manifest
new file mode 100644
index 000000000..15dc6eaa7
--- /dev/null
+++ b/sys-cluster/openib-srptools/Manifest
@@ -0,0 +1,4 @@
+DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a
+EBUILD openib-srptools-1.1.ebuild 861 RMD160 5637869dc2ecc9eec2f584ce3f05bbe29ba971bb SHA1 0b0e6e2636d20a2a99b04187a1a941f1906cb5be SHA256 7e1dbefd2c7f5047b9765047613bde75cb0cc0edac69907f48b89d07bb38bf14
+MISC ChangeLog 245 RMD160 944ef84b05e3ada98b5107e2267f078f99d680a5 SHA1 aa7984a555d04472232d24f6704bc93456aa0029 SHA256 a287706d448d9fb7753f990e1180a56f5c8ab9bcd5b91775cc8948d2f05954e7
+MISC metadata.xml 429 RMD160 3b6d065ac43345b5e65c5a181afd399664a11f20 SHA1 215bb27b90f91a8f1ea7c64443f18b1bdc2bb2f4 SHA256 0eb38e83ed8571c48d07c71e2fabf00b3c3bca279342c6796a41b9c24437a1a6
diff --git a/sys-cluster/openib-srptools/metadata.xml b/sys-cluster/openib-srptools/metadata.xml
new file mode 100644
index 000000000..27d6ce8d1
--- /dev/null
+++ b/sys-cluster/openib-srptools/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+srptools is a package of tools for discovering and connecting to SRP
+SCSI targets on InfiniBand fabrics. These targets can be accessed
+with the InfiniBand SRP initiator module, "ib_srp," included in Linux
+kernels 2.6.15 and newer.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild b/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild
new file mode 100644
index 000000000..291e02634
--- /dev/null
+++ b/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BSD-2 )"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenIB tools for discovering and connecting to SRP CSI targets on
+InfiniBand fabrics. These targets can be accessed with the InfiniBand SRP
+initiator module, 'ib_srp,' included in Linux kernels 2.6.15 and newer."
+
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz"
+S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}"
+
+IUSE=""
+
+DEPEND=""
+
+src_compile() {
+ econf || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc README Copying Changelog NEWS
+}
+
diff --git a/sys-cluster/openib-userspace/ChangeLog b/sys-cluster/openib-userspace/ChangeLog
new file mode 100644
index 000000000..86ed84c2f
--- /dev/null
+++ b/sys-cluster/openib-userspace/ChangeLog
@@ -0,0 +1,18 @@
+# ChangeLog for sys-cluster/openib-userspace
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 03 Jan 2008; Bryan Green <bryan.d.green@nasa.gov>
+ openib-userspace-1.2.5.1-r1.ebuild: removed openib-mvapich2 blocker
+
+ 02 Jan 2008; Bryan Green <bryan.d.green@nasa.gov>
+ openib-userspace-1.2.5.1-r1.ebuild: added -j1 to emake, per bug #203817
+
+ 29 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ fixed opensm configuration files.
+
+*openib-userspace-1.2 (24 Oct 2007)
+
+ 24 Oct 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import; All-inclusive userspace libs/tools
+
diff --git a/sys-cluster/openib-userspace/Manifest b/sys-cluster/openib-userspace/Manifest
new file mode 100644
index 000000000..239193551
--- /dev/null
+++ b/sys-cluster/openib-userspace/Manifest
@@ -0,0 +1,9 @@
+AUX opensm.conf.d 69 RMD160 b828bbee03a1ce5155719d1f2ecf4eed5125fd4e SHA1 ca2c9ff5da8775fcd9be6bf9a5b2e2904edf813d SHA256 3852877c73799b7b5524006dca058564f555947ccbdabb0c9909af5b1ac51425
+AUX opensm.init.d 835 RMD160 645d929c491f26d5615c536e40cf5b54b8b7369a SHA1 d7520f02564f1f4cfa280dd0fb8872cd2346bb56 SHA256 71c5ec02ea9e17b61ed94a6938c8a390e027c11469d52a0baa933ae5d32eb591
+DIST OFED-1.2.5.1.tgz 46256516 RMD160 b19f1917b32b7b15db75aace6ed433d57dc98fc5 SHA1 9a1ff30c97c94352f70e52d7cc31328013bea1b7 SHA256 41c6408135d8707d05bef8aa0a4ec548ae64ec010224e3b38746ab6f5c1e9b78
+DIST OFED-1.2.tgz 45785235 RMD160 22abc8ea493c01f18a5ca93f24645c0b3de81f49 SHA1 e179640b8f700b6dff9cc747910d786bba986175 SHA256 05ac6c3a96902388b40b05c6af0f0ce80059fc51980a039d53bfc94874166144
+EBUILD openib-userspace-1.2.5.1-r1.ebuild 2965 RMD160 7c1109a56b1a29bfd7e3f7a0c957bd4f0eb3c7ff SHA1 0638fe4d5f9cc798bde51cadfe17745e9ea764de SHA256 ce9346aab72748f1c61c67abd08e31ff3c8f480ca2b0540b3796d709c21f2a65
+EBUILD openib-userspace-1.2.5.1.ebuild 2647 RMD160 bff3207d537ecf4546f3aca7c6b0cbd51d7c5a86 SHA1 1dc2c7fe38a78fcf02449e6e615c58707828187e SHA256 eefb18277b653f671bed6eb9354ba013144d2130a10876202a15b4edba9a9bce
+EBUILD openib-userspace-1.2.ebuild 2610 RMD160 1639b6976d1346332959a3527b537ab3e525cabc SHA1 5e06fbfe408985e9159a99416a9a8bc98b014a40 SHA256 7d950b8a93c41d57cf11b264a8c03198464963fa2552e9ec0b34d78439095d52
+MISC ChangeLog 633 RMD160 3c2942b78073bceebabcc077a4188068032625b3 SHA1 79eac41708d83d8cc1d60710dadc22ead7246c2c SHA256 7e57ec93eb7cbaf7d4b34f53bc3df090a48e78ebce7f6cd8c83d84516a2c0496
+MISC metadata.xml 290 RMD160 8deacc2efb676788b32b4961d7f30b1b968e057c SHA1 3a6a067aef6960a9d8ddc5f26d12a5d7653cb19d SHA256 86cfc299f76b8bdda514e8817c8ef3a4d49de1938ccc79bdcb98a73dcbc4d6a3
diff --git a/sys-cluster/openib-userspace/files/opensm.conf.d b/sys-cluster/openib-userspace/files/opensm.conf.d
new file mode 100644
index 000000000..d3fba93ca
--- /dev/null
+++ b/sys-cluster/openib-userspace/files/opensm.conf.d
@@ -0,0 +1,2 @@
+# If you want to pass any options to OpenSM, set them here.
+OPTIONS=
diff --git a/sys-cluster/openib-userspace/files/opensm.init.d b/sys-cluster/openib-userspace/files/opensm.init.d
new file mode 100755
index 000000000..2b38b84bb
--- /dev/null
+++ b/sys-cluster/openib-userspace/files/opensm.init.d
@@ -0,0 +1,28 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/files/opensm.init.d,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $
+
+# Based on opensm script from openfabrics.org,
+# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need openib
+ after net # ip net seems to be needed to perform management.
+}
+
+prog=/usr/bin/opensm
+
+start() {
+ ebegin "Starting OpenSM Infiniband Subnet Manager"
+ start-stop-daemon --start --background --exec $prog -- $OPTIONS
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping OpenSM Infiniband Subnet Manager"
+ start-stop-daemon --stop --exec $prog
+ eend $?
+}
+
diff --git a/sys-cluster/openib-userspace/metadata.xml b/sys-cluster/openib-userspace/metadata.xml
new file mode 100644
index 000000000..d79dcfd92
--- /dev/null
+++ b/sys-cluster/openib-userspace/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+OpenFabrics Userspace libraries and tools. Infiniband for Linux.
+See 'www.openfabrics.org'.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild
new file mode 100644
index 000000000..0bba8c778
--- /dev/null
+++ b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $
+
+inherit rpm
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an
+all-inclusive alternative to the openib metapackage and dependencies"
+
+HOMEPAGE="http://www.openfabrics.org/"
+SHORT_PV=${PV%\.[^.]}
+SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz"
+MY_P="OFED-${PV}"
+S="${WORKDIR}/ofa_user-${PV}"
+OSM="${S}/src/userspace/management/osm"
+
+IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !<=sys-cluster/openib-drivers-1.2
+ !sys-cluster/libibverbs
+ !sys-cluster/libmthca
+ !sys-cluster/libipathverbs
+ !sys-cluster/librdmacm
+ !sys-cluster/libsdp
+ !sys-cluster/dapl
+ !sys-cluster/libehca
+ !sys-cluster/libibcm
+ !sys-cluster/libibcommon
+ !sys-cluster/libibmad
+ !sys-cluster/libibumad
+ !sys-cluster/openib-diags
+ !sys-cluster/openib-files
+ !sys-cluster/openib-osm
+ !sys-cluster/openib-perf
+ !sys-cluster/openib-srptools
+ !sys-cluster/openib"
+
+src_unpack() {
+ unpack ${A} || die "unpack failed"
+ rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm
+ tar xzf ofa_user-${PV}.tgz
+}
+
+src_compile() {
+ myconf="--with-libibverbs --with-libmthca"
+ if use ipath ; then myconf="$myconf --with-libipathverbs"; fi
+ if use ehca ; then myconf="$myconf --with-libehca"; fi
+ if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi
+ myconf="$myconf --with-libibcm"
+ myconf="$myconf --with-libsdp"
+ myconf="$myconf --with-librdmacm"
+ myconf="$myconf $(use_with dapl)"
+ if use opensm ; then myconf="$myconf --with-management-libs"; fi
+ myconf="$myconf $(use_with opensm)"
+ myconf="$myconf --with-openib-diags"
+ myconf="$myconf --with-perftest"
+ myconf="$myconf $(use_with srptools)"
+ myconf="$myconf --with-ipoibtools"
+ myconf="$myconf $(use_with qlvnictools)"
+ myconf="$myconf $(use_with tvflash)"
+ myconf="$myconf $(use_with mstflint)"
+ myconf="$myconf --with-sdpnetstat"
+ #econf ${myconf} || die "configure failed"
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ ${myconf} ${EXTRA_ECONF} || die "configure failed"
+ emake -j1
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc "${WORKDIR}/${MY_P}/README.txt"
+ dodoc "${WORKDIR}/${MY_P}/docs/*"
+ if use opensm ; then
+ newconfd "${OSM}/scripts/opensm.sysconfig" opensm
+ newinitd "${FILESDIR}/opensm.init.d" opensm
+ insinto /etc
+ doins "${S}/ofed_scripts/opensm.conf"
+ dobin "${S}/ofed_scripts/sldd.sh"
+ fi
+}
+
+pkg_postinst() {
+ einfo "To automatically configure the infiniband subnet manager on boot,"
+ einfo "edit /etc/opensm.conf and add opensm to your start-up scripts:"
+ einfo "\`rc-update add opensm default\`"
+}
+
diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild
new file mode 100644
index 000000000..d37f50d4c
--- /dev/null
+++ b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $
+
+inherit rpm
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an
+all-inclusive alternative to the openib metapackage and dependencies"
+
+HOMEPAGE="http://www.openfabrics.org/"
+SHORT_PV=${PV%\.[^.]}
+SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz"
+MY_P="OFED-${PV}"
+S="${WORKDIR}/ofa_user-${PV}"
+
+IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !<=sys-cluster/openib-drivers-1.2
+ !sys-cluster/libibverbs
+ !sys-cluster/libmthca
+ !sys-cluster/libipathverbs
+ !sys-cluster/librdmacm
+ !sys-cluster/libsdp
+ !sys-cluster/dapl
+ !sys-cluster/libehca
+ !sys-cluster/libibcm
+ !sys-cluster/libibcommon
+ !sys-cluster/libibmad
+ !sys-cluster/libibumad
+ !sys-cluster/openib-diags
+ !sys-cluster/openib-files
+ !sys-cluster/openib-mvapich2
+ !sys-cluster/openib-osm
+ !sys-cluster/openib-perf
+ !sys-cluster/openib-srptools
+ !sys-cluster/openib"
+
+src_unpack() {
+ unpack ${A} || die "unpack failed"
+ rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm
+ tar xzf ofa_user-${PV}.tgz
+}
+
+src_compile() {
+ myconf="--with-libibverbs --with-libmthca"
+ if use ipath ; then myconf="$myconf --with-libipathverbs"; fi
+ if use ehca ; then myconf="$myconf --with-libehca"; fi
+ if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi
+ myconf="$myconf --with-libibcm"
+ myconf="$myconf --with-libsdp"
+ myconf="$myconf --with-librdmacm"
+ myconf="$myconf $(use_with dapl)"
+ if use opensm ; then myconf="$myconf --with-management-libs"; fi
+ myconf="$myconf $(use_with opensm)"
+ myconf="$myconf --with-openib-diags"
+ myconf="$myconf --with-perftest"
+ myconf="$myconf $(use_with srptools)"
+ myconf="$myconf --with-ipoibtools"
+ myconf="$myconf $(use_with qlvnictools)"
+ myconf="$myconf $(use_with tvflash)"
+ myconf="$myconf $(use_with mstflint)"
+ myconf="$myconf --with-sdpnetstat"
+ #econf ${myconf} || die "configure failed"
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ ${myconf} ${EXTRA_ECONF} || die "configure failed"
+ emake
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc "${WORKDIR}/${MY_P}/README.txt"
+ dodoc "${WORKDIR}/${MY_P}/docs/*"
+ if use opensm ; then
+ newconfd "${FILESDIR}/opensm.conf.d" opensm
+ newinitd "${FILESDIR}/opensm.init.d" opensm
+ fi
+}
+
diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild
new file mode 100644
index 000000000..f853f9116
--- /dev/null
+++ b/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $
+
+inherit rpm
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an
+all-inclusive alternative to the openib metapackage and dependencies"
+
+HOMEPAGE="http://www.openfabrics.org/"
+SRC_URI="http://www.openfabrics.org/builds/ofed-${PV}/OFED-${PV}.tgz"
+MY_P="OFED-${PV}"
+S="${WORKDIR}/ofa_user-${PV}"
+
+IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-cluster/openib-drivers-1.2
+ !sys-cluster/libibverbs
+ !sys-cluster/libmthca
+ !sys-cluster/libipathverbs
+ !sys-cluster/librdmacm
+ !sys-cluster/libsdp
+ !sys-cluster/dapl
+ !sys-cluster/libehca
+ !sys-cluster/libibcm
+ !sys-cluster/libibcommon
+ !sys-cluster/libibmad
+ !sys-cluster/libibumad
+ !sys-cluster/openib-diags
+ !sys-cluster/openib-files
+ !sys-cluster/openib-mvapich2
+ !sys-cluster/openib-osm
+ !sys-cluster/openib-perf
+ !sys-cluster/openib-srptools
+ !sys-cluster/openib"
+
+src_unpack() {
+ unpack ${A} || die "unpack failed"
+ rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm
+ tar xzf ofa_user-${PV}.tgz
+}
+
+src_compile() {
+ myconf="--with-libibverbs --with-libmthca"
+ if use ipath ; then myconf="$myconf --with-libipathverbs"; fi
+ if use ehca ; then myconf="$myconf --with-libehca"; fi
+ if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi
+ myconf="$myconf --with-libibcm"
+ myconf="$myconf --with-libsdp"
+ myconf="$myconf --with-librdmacm"
+ myconf="$myconf $(use_with dapl)"
+ if use opensm ; then myconf="$myconf --with-management-libs"; fi
+ myconf="$myconf $(use_with opensm)"
+ myconf="$myconf --with-openib-diags"
+ myconf="$myconf --with-perftest"
+ myconf="$myconf $(use_with srptools)"
+ myconf="$myconf --with-ipoibtools"
+ myconf="$myconf $(use_with qlvnictools)"
+ myconf="$myconf $(use_with tvflash)"
+ myconf="$myconf $(use_with mstflint)"
+ myconf="$myconf --with-sdpnetstat"
+ #econf ${myconf} || die "configure failed"
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ ${myconf} ${EXTRA_ECONF} || die "configure failed"
+ emake
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+ dodoc "${WORKDIR}/${MY_P}/README.txt"
+ dodoc "${WORKDIR}/${MY_P}/docs/*"
+ if use opensm ; then
+ newconfd "${FILESDIR}/opensm.conf.d" opensm
+ newinitd "${FILESDIR}/opensm.init.d" opensm
+ fi
+}
+
diff --git a/sys-cluster/openib/ChangeLog b/sys-cluster/openib/ChangeLog
new file mode 100644
index 000000000..09308fe5f
--- /dev/null
+++ b/sys-cluster/openib/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/openib
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openib-1.1 (26 Oct 2006)
+
+ 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog:
+ Initial Import
+
diff --git a/sys-cluster/openib/Manifest b/sys-cluster/openib/Manifest
new file mode 100644
index 000000000..4595c3a0a
--- /dev/null
+++ b/sys-cluster/openib/Manifest
@@ -0,0 +1,3 @@
+EBUILD openib-1.1.ebuild 716 RMD160 35311bb449592471d4c51c4b0fa203b55d1e7943 SHA1 8ec1e5dbfc4cbe668a0fe29df6ed6b202666ae05 SHA256 9c9339b5b9c6c6cc2a8be0e703731aa6da0377be1dbac50a7e716d474235d45b
+MISC ChangeLog 227 RMD160 272de05f7053af64dcef6c66bbffce3f8b4de312 SHA1 aeb6186bbba6cc78252f2b6796a7f9a12ce5f851 SHA256 c53a801f8ad3e2772997b476b16fc76dd844f9f3c9f8edb9ecce02514ec610f6
+MISC metadata.xml 273 RMD160 19db7de67d8f6f506a22dd8adc8cd2e2a562b6bb SHA1 e9d1b4bb8fb0323553f656b2d11cc1cf2a900196 SHA256 8c90385fd9c444052c28524c0d9a29397513de5e72444efabcdf196e76f1e50d
diff --git a/sys-cluster/openib/metadata.xml b/sys-cluster/openib/metadata.xml
new file mode 100644
index 000000000..d904018fd
--- /dev/null
+++ b/sys-cluster/openib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+Meta package for OpenIB. Infiniband for Linux. See 'www.openfabrics.org'.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openib/openib-1.1.ebuild b/sys-cluster/openib/openib-1.1.ebuild
new file mode 100644
index 000000000..8d2b294d6
--- /dev/null
+++ b/sys-cluster/openib/openib-1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+LICENSE="|| ( GPL-2 BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="Meta package OpenIB"
+HOMEPAGE="http://www.openfabrics.org/"
+#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz"
+SRC_URI=""
+
+IUSE="ipath opensm dapl"
+
+DEPEND="=sys-cluster/libibverbs-${PV}
+ =sys-cluster/openib-files-${PV}
+ =sys-cluster/libsdp-${PV}
+ =sys-cluster/libmthca-${PV}
+ ipath? ( =sys-cluster/libipathverbs-${PV} )
+ opensm? ( =sys-cluster/openib-osm-${PV} \
+ =sys-cluster/openib-diags-${PV} )
+ =sys-cluster/openib-perf-${PV}
+ dapl? ( =sys-cluster/dapl-${PV} )"
+RDEPEND="${DEPEND}"
+
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog
new file mode 100644
index 000000000..f8f777c65
--- /dev/null
+++ b/sys-cluster/openmpi/ChangeLog
@@ -0,0 +1,78 @@
+# ChangeLog for sys-cluster/openmpi
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.13 2008/01/31 06:57:45 dberkholz Exp $
+
+ 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog:
+ Use mpi.eclass for empi support. Fix an as-needed bug.
+
+ 31 Jan 2008; Donnie Berkholz <dberkholz@gentoo.org>;
+ -openmpi-1.1.1.ebuild, -openmpi-1.1.2.ebuild, -openmpi-1.2.4.ebuild,
+ -openmpi-1.2.4-r1.ebuild:
+ Clean up.
+
+*openmpi-1.2.5 (17 Jan 2008)
+
+ 17 Jan 2008; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.2.5.ebuild:
+ Version bump. Remove slurm USE flag as slurm isn't in the tree. Let
+ configure find libtorque via pbs-config.
+
+ 13 Dec 2007; Justin Bronder <jsbronder@gentoo.org> openmpi-1.2.4.ebuild:
+ Minor fixes to sys-cluster/openmpi-1.2.4, thanks to dberkholz for pointing
+ them out.
+
+*openmpi-1.2.4 (13 Dec 2007)
+
+ 13 Dec 2007; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.2.4.ebuild:
+ Bump sys-cluster/openmpi-1.2.4 (Bug #166787). Change virtual/pbs to
+ sys-cluster/torque. Add use flags nocxx romio slurm heterogeneous smp and
+ ipv6. Disable xgrid support (OS X). Include /usr/include by default with
+ gfortran and mpif77.
+
+ 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml:
+ Update for cluster herd split to hp-cluster and ha-cluster.
+
+ 06 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.2.ebuild:
+ Fix miscalled use_enable(). This would result in Fortran not being enabled
+ as expected (Aaron Tygart).
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild,
+ openmpi-1.1.2.ebuild:
+ Stop PROVIDEing mpi virtual, we're on a new-style virtual now.
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild,
+ openmpi-1.1.2.ebuild:
+ Can't do that with new-style virtuals, block on other providers instead.
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild,
+ openmpi-1.1.2.ebuild:
+ Block virtual/mpi (Aaron Tygart).
+
+ 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild,
+ openmpi-1.1.2.ebuild:
+ Explicitly set DEPEND to RDEPEND.
+
+*openmpi-1.1.2 (23 Nov 2006)
+
+ 23 Nov 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +openmpi-1.1.2.ebuild:
+ (#153968) Bump. Interesting changes include correctness and performance
+ fixes for heterogenous nodes as well as TCP updates to support non-uniform
+ TCP environments. More info at
+ http://www.open-mpi.org/community/lists/announce/2006/10/0008.php.
+
+ 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild:
+ Add MPI to the description, drop some capital letters.
+
+*openmpi-1.1.1 (25 Sep 2006)
+
+ 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; +metadata.xml,
+ +openmpi-1.1.1.ebuild:
+ (#126295) Add Open MPI ebuild from the science overlay (Sebastien Fabbro,
+ Eric Thibodeau). I removed the compiler-based slotting mechanism because
+ portage lacks support for multiple slots of the same version -- the SLOT
+ file in /var/db/pkg just gets overwritten and it loses track of the others,
+ amongst other issues. Removed USE=static, that's used to compile static
+ binaries, not to also build static libraries. Changed SLOT to 0 from 6 in
+ the overlay. Removed the hack for PGI compilers, that needs to happen in
+ fortran.eclass. Use epause() from eutils.eclass rather than sleep.
+
diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
new file mode 100644
index 000000000..96d9b553f
--- /dev/null
+++ b/sys-cluster/openmpi/Manifest
@@ -0,0 +1,5 @@
+AUX eselect.mpi.openmpi 231 RMD160 a3f09385b6f2c4872398758f8195c156e07b3921 SHA1 660be0ad7d06a386173c714942bca32b01908aa9 SHA256 363bd1efd2bf2593ee34145cc9e6f0c9705c204368c380d07088ba0d041b446d
+DIST openmpi-1.2.5.tar.bz2 3554443 RMD160 609a2070d69bbcde883d2f0d1d6364c5903ae59f SHA1 c217798453782cb9e25d58daf845aa6fdc62fcbf SHA256 3c3aed872c17165131c77bd7a12fe8aec776cb23da946b7d12840db93ab79322
+EBUILD openmpi-1.2.5-r1.ebuild 2566 RMD160 de3dfa4f26b56dbe986f2dabe3bfb86599c6bddc SHA1 ed0788ea913c90ee1066c6f49c87bb3aeb874baa SHA256 3f3e00767829686095a6dbd5c190b2eec34b0a644cf6405658021edc890c04c5
+MISC ChangeLog 3407 RMD160 22e4c4a7a1d5438ec4990c8a452ddbed01068c29 SHA1 47f21280d9b5dc2c0419f0a670ecc9e7eaf412a0 SHA256 46c753e31a0119ef4e69798347d7a0178f36b6912405c8be4bfdfa7344f4e63c
+MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3
diff --git a/sys-cluster/openmpi/files/eselect.mpi.openmpi b/sys-cluster/openmpi/files/eselect.mpi.openmpi
new file mode 100644
index 000000000..d1d2131a1
--- /dev/null
+++ b/sys-cluster/openmpi/files/eselect.mpi.openmpi
@@ -0,0 +1,8 @@
+MPI_CC=@ROOT@/usr/bin/mpicc
+MPI_CXX=@ROOT@/usr/bin/mpic++
+MPI_F77=@ROOT@/usr/bin/mpif77
+MPI_F90=@ROOT@/usr/bin/mpif90
+MPI_BUILT_WITH=@BUILT_WITH@
+PATH=@ROOT@/usr/bin
+MANPATH=@ROOT@/usr/share/man
+LD_LIBRARY_PATH=@ROOT@/usr/@LIBDIR@
diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml
new file mode 100644
index 000000000..8f0aa7fc4
--- /dev/null
+++ b/sys-cluster/openmpi/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>hp-cluster</herd>
+</pkgmetadata>
diff --git a/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild
new file mode 100644
index 000000000..201e51479
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.4.ebuild,v 1.2 2007/12/13 22:39:53 jsbronder Exp $
+
+inherit eutils multilib flag-o-matic toolchain-funcs fortran mpi
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v1.2/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="pbs fortran nocxx threads romio heterogeneous smp ipv6"
+RDEPEND="pbs? ( sys-cluster/torque )
+ $(mpi_imp_deplist)"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ MPI_ESELECT_FILE="eselect.mpi.openmpi"
+ mpi_pkg_setup
+ if use threads; then
+ ewarn
+ ewarn "WARNING: use of threads is still disabled by default in"
+ ewarn "upstream builds."
+ ewarn "You may stop now and set USE=-threads"
+ ewarn
+ epause 5
+ fi
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+
+ if use fortran; then
+ FORTRAN="g77 gfortran ifc"
+ fortran_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+
+ # Fix --as-needed problems with f77 and f90.
+ sed -i 's:^libs=:libs=-Wl,--no-as-needed :' \
+ ompi/tools/wrappers/mpif{77,90}-wrapper-data.txt.in
+}
+
+src_compile() {
+ mpi_conf_args="
+ --without-xgrid
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --without-slurm"
+
+ if use threads; then
+ mpi_conf_args="${mpi_conf_args}
+ --enable-mpi-threads
+ --with-progress-threads
+ --with-threads=posix"
+ fi
+
+ if use fortran; then
+ if [[ "${FORTRANC}" = "g77" ]]; then
+ mpi_conf_args="${mpi_conf_args} --disable-mpi-f90"
+ elif [[ "${FORTRANC}" = "gfortran" ]]; then
+ # Because that's just a pain in the butt.
+ mpi_conf_args="${mpi_conf_args} --with-wrapper-fflags=-I/usr/include"
+ elif [[ "${FORTRANC}" = if* ]]; then
+ # Enabled here as gfortran compile times are huge with this enabled.
+ mpi_conf_args="${mpi_conf_args} --with-mpi-f90-size=medium"
+ fi
+ else
+ mpi_conf_args="${mpi_conf_args}
+ --disable-mpi-f90
+ --disable-mpi-f77"
+ fi
+
+ mpi_conf_args="
+ ${mpi_conf_args}
+ $(use_enable !nocxx mpi-cxx)
+ $(use_enable romio romio-io)
+ $(use_enable smp smp-locks)
+ $(use_enable heterogeneous)
+ $(use_with pbs tm)
+ $(use_enable ipv6)"
+ mpi_src_compile
+
+}
+
+src_install () {
+ mpi_src_install
+ mpi_dodoc README AUTHORS NEWS VERSION
+}
+