PKGBUILDs/extra/openmpi/PKGBUILD

76 lines
2.5 KiB
Bash
Raw Normal View History

2017-09-13 19:28:17 +00:00
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
2014-09-19 19:29:48 +00:00
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org
2015-10-27 04:16:37 +00:00
# - only use valgrind with v7/v8
2014-09-19 19:29:48 +00:00
pkgname=openmpi
2019-10-11 00:16:47 +00:00
pkgver=4.0.2
2019-12-23 16:49:20 +00:00
pkgrel=3
2014-09-19 19:29:48 +00:00
pkgdesc='High performance message passing library (MPI)'
2017-09-13 19:28:17 +00:00
url='https://www.open-mpi.org'
2018-01-06 20:24:36 +00:00
arch=('x86_64')
2017-09-13 19:28:17 +00:00
license=('custom:OpenMPI')
2018-05-09 00:37:18 +00:00
depends=('libltdl' 'hwloc' 'openssh' 'zlib' 'libnl')
2017-09-13 19:28:17 +00:00
makedepends=('inetutils' 'gcc-fortran')
makedepends_armv7h=('valgrind')
makedepends_aarch64=('valgrind')
2014-09-19 19:29:48 +00:00
optdepends=('gcc-fortran: fortran support')
2017-09-13 19:28:17 +00:00
options=('staticlibs')
2019-12-23 16:49:20 +00:00
source=(https://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2
openmpi-4.0.2-fix-calculation.patch::https://github.com/open-mpi/ompi/commit/41717c8b7318cedbb9ce070e82613ee0ed0205fc.patch)
sha256sums=('900bf751be72eccf06de9d186f7b1c4b5c2fa9fa66458e53b77778dffdfe4057'
'51b8606151bdc75cf7d34e94846a9213da3c347d3744ad19164917f7fc314166')
sha512sums=('634d45d989f1e0b8848bfb4eb4527c7edd76d4fccd77a5f8d85a46a5822f97ba653adf13df857c87ae56a8117b4ae2d45ec24249c6ee41a562446d4112ddb770'
'9eb105badb1007f61a5c7bc73acb54393dfa4e175f5eb6827000f111a64c9446c1df0e86e46e7442bebb139ce265f540f82fffffe82c7e1836d50e3d2c37d6ba')
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 < ../openmpi-4.0.2-fix-calculation.patch
}
2014-09-19 19:29:48 +00:00
2014-09-29 15:51:13 +00:00
build() {
2017-09-13 19:28:17 +00:00
cd ${pkgname}-${pkgver}
2014-09-19 19:29:48 +00:00
2017-09-13 19:28:17 +00:00
# enable valgrind and memchecker for v7/v8
2015-10-27 04:16:37 +00:00
[[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && CONFIG='--with-valgrind --enable-memchecker'
2014-09-19 19:29:48 +00:00
2017-09-13 19:28:17 +00:00
./configure --prefix=/usr \
--sysconfdir=/etc/${pkgname} \
--enable-mpi-fortran=all \
--libdir=/usr/lib/${pkgname} \
--enable-builtin-atomics \
--enable-mpi-cxx \
--enable-pretty-print-stacktrace \
--without-slurm \
--with-hwloc=/usr \
--with-libltdl=/usr \
FC=/usr/bin/gfortran \
2017-09-14 00:28:46 +00:00
LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack" \
$CONFIG
2017-09-13 19:28:17 +00:00
make
2014-09-19 19:29:48 +00:00
}
2014-09-29 15:51:13 +00:00
check() {
2017-09-13 19:28:17 +00:00
cd ${pkgname}-${pkgver}
make check
2014-09-29 15:51:13 +00:00
}
2014-09-19 19:29:48 +00:00
package() {
2017-09-13 19:28:17 +00:00
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
2014-09-19 19:29:48 +00:00
2017-09-13 19:28:17 +00:00
# FS#28583
install -dm 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
2014-09-19 19:29:48 +00:00
2017-09-13 19:28:17 +00:00
install -dm 755 "${pkgdir}/etc/ld.so.conf.d"
echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
2014-09-19 19:29:48 +00:00
}
2017-09-13 19:28:17 +00:00
# vim: ts=2 sw=2 et: