# Template file for 'openmpi'
pkgname=openmpi
version=3.0.0
revision=1
lib32disabled=yes
build_style=gnu-configure
configure_args="--enable-ipv6 --with-hwloc=${XBPS_CROSS_BASE}/usr"
hostmakedepends="libgomp-devel perl"
makedepends="libgomp-devel libhwloc-devel zlib-devel"
conf_files="
 /etc/openmpi-default-hostfile
 /etc/openmpi-mca-params.conf
 /etc/openmpi-totalview.tcl"
short_desc="A High Performance Message Passing Library"
homepage="https://www.open-mpi.org/"
license="3-clause-BSD"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
distfiles="${homepage}/software/ompi/v${version%.*}/downloads/${pkgname}-${version}.tar.bz2"
checksum=f699bff21db0125d8cccfe79518b77641cd83628725a1e1ed3e45633496a82d7
nocross=yes  # libtool -rpath /usr/lib issue

post_extract() {
	sed -i 's,sys/unistd.h,unistd.h,g' opal/include/opal/sys/cma.h
	sed -i '1i#include <unistd.h>' opal/mca/pmix/pmix2x/pmix/include/pmix_server.h
}
pre_configure() {
	# used wrongly upstream? but nocross anyway
	export CFLAGS="$CFLAGS $LDFLAGS"
	export CXXFLAGS="$CXXFLAGS $LDFLAGS"

	export CC_FOR_BUILD="$CC"
	export CFLAGS_FOR_BUILD="$CFLAGS"
	export CPP_FOR_BUILD="$CPP"
	export CXX_FOR_BUILD="$CXX"
	export CXXFLAGS_FOR_BUILD="$CXXFLAGS"
	export CPPFLAGS_FOR_BUILD="$CPPFLAGS"
	export LDFLAGS_FOR_BUILD="$LDFLAGS"
	export LIBS_FOR_BUILD="$LDFLAGS"
	export LIBS="$LDFLAGS"

	unset FC FC_FOR_BUILD
}
post_install() {
	vlicense LICENSE
}

libopenmpi_package() {
	short_desc+=" - runtime libraries"
	pkg_install() {
		vmove usr/lib/*.so.*
	}
}

openmpi-devel_package() {
	depends="libstdc++-devel zlib-devel lib${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
		vmove usr/share/man/man3
	}
}
