summaryrefslogtreecommitdiff
path: root/mpich2
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-05-25 13:16:52 +0200
committerErich Eckner <git@eckner.net>2016-05-25 13:16:52 +0200
commit61042e8dc396a608bb32734aeeb07b7707b34872 (patch)
tree7eb98e8e38b939180877c69d43aaa9acf21cc71f /mpich2
parent8b295493fca98b40a60148f2aa7172fea0c66df4 (diff)
downloadarchlinuxewe.git.save-61042e8dc396a608bb32734aeeb07b7707b34872.tar.xz
mpich2 neu
Diffstat (limited to 'mpich2')
-rw-r--r--mpich2/PKGBUILD68
-rw-r--r--mpich2/mpich2.install44
-rw-r--r--mpich2/mpich2.profile2
3 files changed, 114 insertions, 0 deletions
diff --git a/mpich2/PKGBUILD b/mpich2/PKGBUILD
new file mode 100644
index 00000000..f8f9c435
--- /dev/null
+++ b/mpich2/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Erich Eckner <arch at eckner dot net>
+# Contributor: Jonathan Kotta <jpkotta at gmail dot com>
+pkgname=mpich2
+pkgver=1.5
+pkgrel=2
+pkgdesc="An improved implementation of the Message Passing Interface (legacy version)."
+arch=('i686' 'x86_64')
+url="http://mpich.org"
+license=('custom')
+groups=()
+depends=(python2 gcc-fortran libxml2 openssh numactl pciutils)
+makedepends=(libtool make coreutils texlive-core sowing)
+optdepends=(java-environment)
+provides=()
+conflicts=(mpich)
+replaces=()
+backup=()
+options=(!libtool strip)
+install=mpich2.install
+changelog=
+source=(
+ http://www.mpich.org/static/downloads/$pkgver/$pkgname-$pkgver.tar.gz
+ mpich2.install
+ mpich2.profile
+)
+sha512sums=('01ef68accdd60af805705c1c7a144a570eee6f01984939fe151a093f963c956fba366247b1058885ba1a2ff626278d30e928e03d394bd6cf2a4b6dab99586c15'
+ 'b062c4f029454e4a90986a7cbeb9dce533ccbc1aae57fe21334342fe61262d3e18b7d1cee86b03b091c72bc63a128fb066e3ef37e225fd593a8616c0645e3f3a'
+ 'd614d068ef044267597892ca4bbac51740992b011aae1e4a6cb612bff22443fef64be96977b41d2b2faaa5c349bec3c4d4e7ca7bc1ccc5012d0db29549bf0c74')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ unset MAKEFLAGS # -j2 causes trouble, http://trac.mcs.anl.gov/projects/mpich2/ticket/955
+
+ # CFLAGS etc are normally written into the wrapper compilers. This
+ # gives surprising results, e.g. when the user wants to compile their
+ # program without optimization.
+ export MPICH2LIB_CFLAGS="$CFLAGS"; unset CFLAGS
+ export MPICH2LIB_CXXFLAGS="$CXXFLAGS"; unset CXXFLAGS
+ export MPICH2LIB_FFLAGS="$FFLAGS"; unset FFLAGS
+ export MPICH2LIB_F90FLAGS="$F90FLAGS"; unset F90FLAGS
+ export MPICH2LIB_LDFLAGS="$LDFLAGS"; unset LDFLAGS
+
+ ./configure --prefix=/opt/$pkgname --enable-shared --enable-sharedlibs=gcc \
+ --enable-error-checking=runtime --enable-error-messages=all \
+ --enable-timer-type=clock_gettime \
+ --with-pm=hydra:gforker:mpd --with-python=python2 \
+ --disable-rpath \
+ --enable-fc --enable-f77 --enable-cxx
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ ln -sf mpiexec.hydra "${pkgdir}/opt/$pkgname/bin/mpiexec"
+ ln -sf mpiexec "${pkgdir}/opt/$pkgname/bin/mpirun"
+ for pm in hydra mpd gforker; do
+ ln -sf "mpiexec.${pm}" "${pkgdir}/opt/$pkgname/bin/mpirun.${pm}"
+ done
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/COPYRIGHT ${pkgdir}/usr/share/licenses/$pkgname/license.txt
+ install -D -m755 ${srcdir}/${pkgname}.profile ${pkgdir}/etc/profile.d/${pkgname}.sh
+ mkdir -p ${pkgdir}/etc/ld.so.conf.d
+ echo /opt/${pkgname}/lib > ${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/mpich2/mpich2.install b/mpich2/mpich2.install
new file mode 100644
index 00000000..c09f9b08
--- /dev/null
+++ b/mpich2/mpich2.install
@@ -0,0 +1,44 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+pkgname=mpich2
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ echo " *** Installation documentation at /opt/$pkgname/share/doc/mpich/install.pdf"
+ echo " *** /opt/$pkgname/bin is prepended to PATH, see /etc/profile.d/$pkgname.sh"
+ echo " *** Some binary names match versions from Open MPI in /usr, if installed"
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
+# vim:syntax=sh
diff --git a/mpich2/mpich2.profile b/mpich2/mpich2.profile
new file mode 100644
index 00000000..1cf217e1
--- /dev/null
+++ b/mpich2/mpich2.profile
@@ -0,0 +1,2 @@
+export PATH=$PATH:/opt/mpich2/bin
+export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/mpich2/lib/pkgconfig