summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Samardzic <asamardzic@matf.bg.ac.yu>2010-05-11 20:00:28 +0200
committerRobby Workman <rworkman@slackbuilds.org>2010-05-11 20:00:28 +0200
commit9ec710502981d083c16a756b8b6f575adc0f5ab4 (patch)
tree8896b03886d9943a855d772a40cac664cf42434a
parent02a4d54beecdba9c3e00c73c1bd084b4bb430317 (diff)
downloadslackbuilds-9ec710502981d083c16a756b8b6f575adc0f5ab4.tar.gz
development/openmpi: Added to 12.0 repository
-rw-r--r--development/openmpi/README20
-rw-r--r--development/openmpi/doinst.sh18
-rw-r--r--development/openmpi/openmpi.SlackBuild68
-rw-r--r--development/openmpi/openmpi.info8
-rw-r--r--development/openmpi/slack-desc19
5 files changed, 133 insertions, 0 deletions
diff --git a/development/openmpi/README b/development/openmpi/README
new file mode 100644
index 0000000000..b315590fbe
--- /dev/null
+++ b/development/openmpi/README
@@ -0,0 +1,20 @@
+The Open MPI Project is an open source MPI-2 implementation that is
+developed and maintained by a consortium of academic, research, and
+industry partners. Open MPI is therefore able to combine the experise,
+technologies, and resources from all across the High Performance
+Computing community in order to build the best MPI library available.
+Open MPI offers advantages for system and software vendors, application
+developers and computer science researchers.
+
+Open MPI represents the merger between three well-known MPI
+implementations:
+ * FT-MPI from the University of Tennessee
+ * LA-MPI from Los Alamos National Laboratory
+ * LAM/MPI from Indiana University
+with contributions from the PACX-MPI team at the University of
+Stuttgart. These four institutions comprise the founding members of the
+Open MPI development team. Each of these MPI implementations excelled
+in one or more areas. The driving motivation behind Open MPI is to
+bring the best ideas and technologies from the individual projects and
+create one world-class open source MPI implementation that excels in all
+areas.
diff --git a/development/openmpi/doinst.sh b/development/openmpi/doinst.sh
new file mode 100644
index 0000000000..7f75f638c4
--- /dev/null
+++ b/development/openmpi/doinst.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/openmpi-totalview.tcl.new
+config etc/openmpi-mca-params.conf.new
+config etc/openmpi-default-hostfile.new
diff --git a/development/openmpi/openmpi.SlackBuild b/development/openmpi/openmpi.SlackBuild
new file mode 100644
index 0000000000..afcaec508b
--- /dev/null
+++ b/development/openmpi/openmpi.SlackBuild
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# Slackware build script for Open MPI
+
+# Written by Aleksandar B. Samardzic (<asamardzic@matf.bg.ac.yu>)
+
+set -e
+
+PRGNAM=openmpi
+VERSION=1.2.3
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar -xjvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+#chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+
+make
+make install DESTDIR=$PKG
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+# Let's not clobber config files
+mv $PKG/etc/openmpi-totalview.tcl $PKG/etc/openmpi-totalview.tcl.new
+mv $PKG/etc/openmpi-mca-params.conf $PKG/etc/openmpi-mca-params.conf.new
+mv $PKG/etc/openmpi-default-hostfile $PKG/etc/openmpi-default-hostfile.new
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS INSTALL LICENSE NEWS README VERSION examples \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/development/openmpi/openmpi.info b/development/openmpi/openmpi.info
new file mode 100644
index 0000000000..cc531b0f6d
--- /dev/null
+++ b/development/openmpi/openmpi.info
@@ -0,0 +1,8 @@
+PRGNAM="openmpi"
+VERSION="1.2.3"
+HOMEPAGE="http://www.open-mpi.org/"
+DOWNLOAD="http://www.open-mpi.org/software/ompi/v1.2/downloads/openmpi-1.2.3.tar.bz2"
+MD5SUM="ae980bb00f9686934a1143701cc041e4"
+MAINTAINER="Aleksandar B. Samardzic"
+EMAIL="asamardzic@matf.bg.ac.yu"
+APPROVED="rworkman"
diff --git a/development/openmpi/slack-desc b/development/openmpi/slack-desc
new file mode 100644
index 0000000000..38832dfe81
--- /dev/null
+++ b/development/openmpi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openmpi: Open MPI (an open source MPI-2 implementation)
+openmpi:
+openmpi: Open MPI is a project combining technologies and resources from
+openmpi: several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI)
+openmpi: in order to build the best Message Passing Interface (MPI)
+openmpi: library available. MPI is highly specialised computer software
+openmpi: that allows many computers to communicate with one another; it
+openmpi: is exclusively used in computer clusters.
+openmpi:
+openmpi: Homepage: http://www.open-mpi.org/
+openmpi: