summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/knem/knem-9999.ebuild')
-rw-r--r--sys-cluster/knem/knem-9999.ebuild76
1 files changed, 76 insertions, 0 deletions
diff --git a/sys-cluster/knem/knem-9999.ebuild b/sys-cluster/knem/knem-9999.ebuild
new file mode 100644
index 000000000000..846b974924eb
--- /dev/null
+++ b/sys-cluster/knem/knem-9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools linux-mod linux-info toolchain-funcs udev multilib
+
+DESCRIPTION="High-Performance Intra-Node MPI Communication"
+HOMEPAGE="http://runtime.bordeaux.inria.fr/knem/"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://gforge.inria.fr/git/knem/knem.git"
+ inherit git-2
+ KEYWORDS=""
+else
+ SRC_URI="http://runtime.bordeaux.inria.fr/knem/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+IUSE="debug modules"
+
+DEPEND="
+ sys-apps/hwloc
+ virtual/linux-sources"
+RDEPEND="
+ sys-apps/hwloc
+ virtual/modutils"
+
+MODULE_NAMES="knem(misc:${S}/driver/linux)"
+BUILD_TARGETS="all"
+BUILD_PARAMS="KDIR=${KERNEL_DIR}"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ linux-mod_pkg_setup
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+}
+
+src_prepare() {
+ sed 's:driver/linux::g' -i Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-hwloc \
+ --with-linux="${KERNEL_DIR}" \
+ --with-linux-release=${KV_FULL} \
+ $(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
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_install || die "failed to install driver"
+ fi
+
+ # Drop funny unneded stuff
+ rm "${ED}/usr/sbin/knem_local_install" || die
+ rmdir "${ED}/usr/sbin" || die
+ # install udev rules
+ udev_dorules "${FILESDIR}/45-knem.rules"
+ rm "${ED}/etc/10-knem.rules" || die
+}