void-packages/srcpkgs/openmpi/template
Andrew J. Hesford f0fc355310 openmpi: backport AVX improvements, make mca_op_avx work
Closes: #29049 [via git-merge-pr]
2021-02-26 08:11:25 -05:00

67 lines
1.9 KiB
Bash

# Template file for 'openmpi'
pkgname=openmpi
version=4.1.0
revision=3
build_style=gnu-configure
configure_args="--enable-ipv6 --with-hwloc=${XBPS_CROSS_BASE}/usr"
hostmakedepends="gcc-fortran libgomp-devel perl pkg-config automake libtool"
makedepends="libgfortran-devel libgomp-devel libhwloc-devel zlib-devel libevent-devel"
conf_files="
/etc/openmpi-default-hostfile
/etc/openmpi-mca-params.conf
/etc/openmpi-totalview.tcl"
short_desc="High Performance Message Passing Library"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.open-mpi.org/"
distfiles="${homepage}/software/ompi/v${version%.*}/downloads/${pkgname}-${version}.tar.bz2"
checksum=73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5
nocross="configure attempts to run target binaries"
lib32disabled=yes
post_extract() {
vsed -e 's,sys/unistd.h,unistd.h,g' -i opal/include/opal/sys/cma.h
vsed -e '1i#include <unistd.h>' -i opal/mca/pmix/pmix3x/pmix/include/pmix_server.h
}
pre_configure() {
./autogen.pl --force
# 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"
}
post_install() {
vlicense LICENSE
# https://github.com/void-linux/void-packages/pull/28996#issuecomment-784255185
mv "${DESTDIR}/usr/lib/ompi_monitoring_prof.so" "${DESTDIR}/usr/lib/openmpi"
}
libopenmpi_package() {
short_desc+=" - runtime libraries"
pkg_install() {
vmove usr/lib/*.so.*
}
}
openmpi-devel_package() {
depends="libopenmpi-${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove usr/share/man/man3
vmove "usr/lib/*.so"
}
}