blob: b8de218c1bcf3c4d5c59a579fbec710f5dd1dcdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# $Id: PKGBUILD 159287 2012-05-20 22:11:21Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=openmpi
pkgver=1.6
pkgrel=2
pkgdesc="High performance message passing library (MPI)"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.open-mpi.org"
license=('custom')
depends=('gcc-fortran' 'openssh' 'libltdl' 'hwloc')
[ "$CARCH" = "mips64el" ] || depends+=('valgrind')
makedepends=('inetutils')
options=(!libtool)
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}"
if [ "$CARCH" = "mips64el" ]; then
valgrind="--without-valgrind"
else
valgrind="--with-valgrind"
fi
# 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-smp-locks \
$valgrind \
--enable-memchecker \
--enable-debug \
--enable-pretty-print-stacktrace \
--without-slurm \
--with-hwloc=/usr \
--with-libltdl=/usr \
FC=/usr/bin/gfortran \
LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
make
}
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{,mpi}
# Openmpi's otfdump conflicts with the one from libotf
mv "${pkgdir}"/usr/bin/otfdump{,ompi}
# Remove dangling symlink
rm "${pkgdir}"/usr/share/man/man1/orteCC.1
install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d
echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
|