--- mpich-3.1.3.ebuild 2016-08-09 16:56:15.671765039 -0600 +++ mpich-3.1.3-r99.ebuild 2016-08-09 16:54:51.255501577 -0600 @@ -6,7 +6,7 @@ FORTRAN_NEEDED=fortran -inherit fortran-2 +inherit fortran-2 multilib-minimal MY_PV=${PV/_/} DESCRIPTION="A high performance and portable MPI implementation" @@ -15,12 +15,12 @@ SLOT="0" LICENSE="mpich" -KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="" IUSE="+cxx doc fortran mpi-threads romio threads" COMMON_DEPEND=" - dev-libs/libaio - >=sys-apps/hwloc-1.9 + >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP}] romio? ( net-fs/nfs-utils )" DEPEND="${COMMON_DEPEND} @@ -33,6 +33,12 @@ S="${WORKDIR}"/${PN}-${MY_PV} +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpicxx.h + /usr/include/mpi.h + /usr/include/opa_config.h +) + pkg_setup() { FORTRAN_STANDARD="77 90" fortran-2_pkg_setup @@ -50,7 +56,7 @@ || die } -src_configure() { +multilib_src_configure() { local c="--enable-shared" # The configure statements can be somewhat confusing, as they @@ -81,7 +87,7 @@ export MPICHLIB_LDFLAGS=${LDFLAGS} unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS - econf ${c} \ + ECONF_SOURCE=${S} econf ${c} \ --with-pm=hydra \ --disable-mpe \ --disable-fast \ @@ -90,17 +96,30 @@ --with-hwloc-prefix=/usr \ $(use_enable romio) \ $(use_enable cxx) \ - $(use_enable fortran f77) \ - $(use_enable fortran fc) + $(multilib_native_use_enable fortran fortran all) } -src_test() { +multilib_src_test() { emake -j1 check } -src_install() { +multilib_src_install() { default + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"/usr/include/mpif* "${T}"/fortran || die + mv "${ED}"/usr/include/*.mod "${T}"/fortran || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/* "${ED}"/usr/include || die + fi + dodir /usr/share/doc/${PF} dodoc README{,.envvar} CHANGES RELEASE_NOTES newdoc src/pm/hydra/README README.hydra