summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/open-mx')
-rw-r--r--sys-cluster/open-mx/Manifest1
-rw-r--r--sys-cluster/open-mx/files/omxoed.initd46
-rw-r--r--sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch14
-rw-r--r--sys-cluster/open-mx/metadata.xml9
-rw-r--r--sys-cluster/open-mx/open-mx-1.5.2-r1.ebuild79
5 files changed, 149 insertions, 0 deletions
diff --git a/sys-cluster/open-mx/Manifest b/sys-cluster/open-mx/Manifest
new file mode 100644
index 000000000000..2ff1f19fe2aa
--- /dev/null
+++ b/sys-cluster/open-mx/Manifest
@@ -0,0 +1 @@
+DIST open-mx-1.5.2.tar.gz 1079065 SHA256 baa6a09864e8d2d70ea02ed33d0816d53d704ea54d9236dd28863153b8d64c89 SHA512 6cdd3289ad2515f9d627fb6a40e2d0a6be6084e40f5361f2905d75222e386539149d1748302767d00eaf5862f4ec0ef77cbe7c53e6c77ffbd0771e855480c444 WHIRLPOOL 43653c152a7a41d613cb325861618936894bab01d64dcc7fac6e29b8a6c81dea32631883b9019d27d9cc98b58d32b7964719a2f51bafce358da90d005fee963b
diff --git a/sys-cluster/open-mx/files/omxoed.initd b/sys-cluster/open-mx/files/omxoed.initd
new file mode 100644
index 000000000000..7a0e972ff0ea
--- /dev/null
+++ b/sys-cluster/open-mx/files/omxoed.initd
@@ -0,0 +1,46 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+checksystem() {
+ if [ -c /dev/open-mx ]; then
+ einfo "Open-MX module already loaded"
+ return 0
+ else
+ einfo "Checking if Open-MX module present"
+ if [ "x$(modprobe -l open-mx | grep open-mx)" == "x" ]; then
+ eerror "open-mx not found!"
+ return 1
+ fi
+ fi
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checksystem || return 1
+ if [ ! -c /dev/open-mx ]; then
+ ebegin "Loading open-mx module"
+ modprobe -q open-mx
+ fi
+ start-stop-daemon --start --exec /usr/bin/omxoed \
+ --background --make-pidfile \
+ --pidfile /var/run/omeoed.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec /usr/bin/omxoed \
+ --pidfile /var/run/omeoed.pid
+ eend $?
+}
+
+status() {
+ ebegin "Showing current active Open-MX peers"
+ omx_info -q
+}
diff --git a/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch
new file mode 100644
index 000000000000..e082865c235a
--- /dev/null
+++ b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch
@@ -0,0 +1,14 @@
+--- Makefile.am 2011-07-15 02:42:53.000000000 +0400
++++ Makefile.am 2011-07-15 02:43:02.000000000 +0400
+@@ -20,11 +20,6 @@
+
+ SUBDIRS =
+
+-# Driver
+-if OMX_BUILD_DRIVER
+- SUBDIRS += driver/linux
+-endif
+-
+ # Library
+ if OMX_BUILD_LIBRARY
+ SUBDIRS += libopen-mx tools tests tests/mx
diff --git a/sys-cluster/open-mx/metadata.xml b/sys-cluster/open-mx/metadata.xml
new file mode 100644
index 000000000000..a64f2d240d92
--- /dev/null
+++ b/sys-cluster/open-mx/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>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/open-mx/open-mx-1.5.2-r1.ebuild b/sys-cluster/open-mx/open-mx-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..740f7b11aab8
--- /dev/null
+++ b/sys-cluster/open-mx/open-mx-1.5.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils linux-mod multilib toolchain-funcs udev
+
+DESCRIPTION="Open-MX - Myrinet Express over Generic Ethernet Hardware"
+HOMEPAGE="http://open-mx.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/30245/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug modules static-libs"
+
+DEPEND="
+ sys-apps/hwloc
+ virtual/linux-sources
+ virtual/pkgconfig"
+RDEPEND="
+ sys-apps/hwloc
+ virtual/modutils"
+
+MODULE_NAMES="open-mx(misc:${S}/driver/linux)"
+BUILD_TARGETS="all"
+BUILD_PARAMS="KDIR=${KERNEL_DIR}"
+
+pkg_setup() {
+ einfo "You can set desired mtu by setting OPEN_MX_MTU in make.conf"
+ linux-mod_pkg_setup
+}
+
+src_prepare() {
+ # We still want to configure driver but dont want to build it at all
+ epatch "${FILESDIR}/open-mx-1.4.0-driver.patch"
+ # We dont want tests
+ sed -e 's:tests/mx::g' \
+ -e 's:tests::g' \
+ -i Makefile.am || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-mtu=${OPEN_MX_MTU:-9000} \
+ --with-linux="${KERNEL_DIR}" \
+ --with-linux-release=${KV_FULL} \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_compile() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_compile || die "failed to build driver"
+ fi
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.*a' -exec rm {} +
+ # Drop init scripts
+ rm -rf "${ED}/usr/sbin" || die
+ rm "${ED}/usr/bin/omx_check"
+ # install udev rules
+ udev_dorules "${ED}/etc/open-mx/10-open-mx.rules"
+ dodoc "${ED}/usr/share/open-mx/FAQ.html"
+ # Drop misc stuff
+ rm "${ED}/etc/open-mx/10-open-mx.rules" || die
+ rm -rf "${ED}/usr/share/open-mx" || die
+ newinitd "${FILESDIR}/omxoed.initd" omxoed
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_install || die "failed to install driver"
+ fi
+}