aboutsummaryrefslogtreecommitdiffstats
path: root/testing/openmpi/APKBUILD
blob: 6244e937a976ccd05f511e23645c0e9c12d8b0b0 (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
# Maintainer: Daniel Sabogal <dsabogalcc@gmail.com>
pkgname=openmpi
pkgver=3.1.1
pkgrel=2
pkgdesc="Message passing library for high-performance computing"
url="https://www.open-mpi.org/"
# disable ppc64le until opal_fifo test can be fixed
arch="all"
license="BSD"
makedepends="perl gfortran hwloc-dev libevent-dev libgomp"
subpackages="$pkgname-dev:_dev $pkgname-doc"
source="https://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/$pkgname-$pkgver.tar.bz2"
builddir="$srcdir/$pkgname-$pkgver"

build() {
	cd "$builddir"

	local disable_atomics=""
        case "$CARCH" in
		ppc64le) disable_atomics="--disable-builtin-atomics";;
	esac

	./configure \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--sysconfdir=/etc/$pkgname \
		--enable-ipv6 \
		--with-threads=posix \
		--with-hwloc=/usr \
		$disable_atomics
	make
}

check() {
	make -C "$builddir" check
}

package() {
	make -C "$builddir" DESTDIR="$pkgdir" install
}

_dev() {
	default_dev

	local bins="mpiCC mpic++ mpicc mpicxx mpif77 mpif90 mpifort
		ortecc opal_wrapper oshCC oshc++ oshcc oshcxx oshfort
		shmemCC shmemc++ shmemcc shmemcxx shmemfort"

	mkdir -p "$subpkgdir"/usr/bin
	local i; for i in $bins; do
		mv "$pkgdir"/usr/bin/$i "$subpkgdir"/usr/bin
	done
}

sha512sums="d0e16676727fdc69cbd732be8475ffe2a9142a2b69b41d51d1da30c245d4ad1912c26029a1305d4221781d2b8dfb89edbb84185fefc65b9070727ed85133f117  openmpi-3.1.1.tar.bz2"