From 23f24edbed75bc632fe66aebf2139428cddbd312 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 7 Aug 2012 15:37:39 -0500
Subject: openmpi 1.6

---
 abs/extra/openmpi/PKGBUILD               | 41 +++++++++++++++++++++-----------
 abs/extra/openmpi/openmpi-hostfile.patch | 12 ++++++++++
 2 files changed, 39 insertions(+), 14 deletions(-)
 create mode 100644 abs/extra/openmpi/openmpi-hostfile.patch

diff --git a/abs/extra/openmpi/PKGBUILD b/abs/extra/openmpi/PKGBUILD
index 7dd1084..3e57dde 100644
--- a/abs/extra/openmpi/PKGBUILD
+++ b/abs/extra/openmpi/PKGBUILD
@@ -1,38 +1,45 @@
-# $Id$
+# $Id: PKGBUILD 159287 2012-05-20 22:11:21Z stephane $
 # Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
 pkgname=openmpi
-pkgver=1.5.3
-pkgrel=4
+pkgver=1.6
+pkgrel=2
 pkgdesc="High performance message passing library (MPI)"
 arch=('i686' 'x86_64')
 url="http://www.open-mpi.org"
 license=('custom')
-depends=('gcc' 'gcc-fortran' 'openssh' 'valgrind' 'libtool' 'hwloc')
-makedepends=('net-tools')
+depends=('gcc-fortran' 'openssh' 'valgrind' 'libltdl' 'hwloc')
+makedepends=('inetutils')
 options=(!libtool)
-source=(http://www.open-mpi.org/software/ompi/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('669565c708deab82ad4069d82675b2020eb0e0c6')
+source=(http://www.open-mpi.org/software/ompi/v1.6/downloads/${pkgname}-${pkgver}.tar.bz2
+        openmpi-hostfile.patch)
+sha1sums=('8b81eea712bb8f8120468003b5f29baecedf2367'
+          'a76da03418a106d57cfd020d0f8d887d7ec9225b')
 
 build() {
    cd "${srcdir}/${pkgname}-${pkgver}"
 
+   # Make sure we use the system ltdl librariry rather than the ones in the tarball
+   rm -r opal/libltdl
+
+   # Search for openmpi-default-hostfile in /etc/openmpi
+   patch -Np1 -i ../openmpi-hostfile.patch
+
    ./configure --prefix=/usr \
                --sysconfdir=/etc/${pkgname} \
                --mandir=/usr/share/man \
                --enable-mpi-f90 \
                --libdir=/usr/lib/${pkgname} \
                --with-threads=posix \
-               --enable-mpi-threads \
                --enable-smp-locks \
                --with-valgrind \
                --enable-memchecker \
                --enable-debug \
                --enable-pretty-print-stacktrace \
                --without-slurm \
-               --with-hwloc=external \
-               --with-libltdl=/usr \
+               --with-hwloc=/usr \
+               --with-libltdl=/usr  \
                FC=/usr/bin/gfortran \
-               LDFLAGS='-Wl,-z,noexecstack'
+               LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
 
    make
 }
@@ -41,13 +48,19 @@ package() {
    cd "${srcdir}/${pkgname}-${pkgver}"
    make DESTDIR="${pkgdir}" install
 
+   # FS#28583
+   install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig
+   for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
+      ln -sf /usr/lib/openmpi/pkgconfig/${i} "${pkgdir}"/usr/lib/pkgconfig/
+   done
+
    # Openmpi's otfinfo conflicts with the one from texlive
-   mv "${pkgdir}"/usr/bin/otfinfo "${pkgdir}"/usr/bin/otfinfompi
+   mv "${pkgdir}"/usr/bin/otfinfo{,mpi}
 
    # Openmpi's otfdump conflicts with the one from libotf
-   mv "${pkgdir}"/usr/bin/otfdump "${pkgdir}"/usr/bin/otfdumpompi
+   mv "${pkgdir}"/usr/bin/otfdump{,ompi}
 
-   # Symlink points to non-existing ortec++.1
+   # Remove dangling symlink
    rm "${pkgdir}"/usr/share/man/man1/orteCC.1
 
    install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d
diff --git a/abs/extra/openmpi/openmpi-hostfile.patch b/abs/extra/openmpi/openmpi-hostfile.patch
new file mode 100644
index 0000000..f637767
--- /dev/null
+++ b/abs/extra/openmpi/openmpi-hostfile.patch
@@ -0,0 +1,12 @@
+diff -up openmpi-1.6/orte/runtime/orte_mca_params.c.hostfile openmpi-1.6/orte/runtime/orte_mca_params.c
+--- openmpi-1.6/orte/runtime/orte_mca_params.c.hostfile	2012-04-24 13:18:21.000000000 -0600
++++ openmpi-1.6/orte/runtime/orte_mca_params.c	2012-05-15 16:35:24.769565442 -0600
+@@ -225,7 +225,7 @@ int orte_register_params(void)
+                                 false, false, 1000, &orte_timeout_usec_per_proc);
+     
+     /* default hostfile */
+-    asprintf(&orte_default_hostfile, "%s/etc/openmpi-default-hostfile", opal_install_dirs.prefix);
++    asprintf(&orte_default_hostfile, "%s/openmpi-default-hostfile", opal_install_dirs.sysconfdir);
+     mca_base_param_reg_string_name("orte", "default_hostfile",
+                                    "Name of the default hostfile (relative or absolute path, \"none\" to ignore environmental or default MCA param setting)",
+                                    false, false, orte_default_hostfile, &orte_default_hostfile);
-- 
cgit v0.12

