# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpl/hpl-2.0-r2.ebuild,v 1.1 2013/02/27 15:57:37 jlec Exp $ EAPI=5 inherit eutils mpi multilib DESCRIPTION="A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers" HOMEPAGE="http://www.netlib.org/benchmark/hpl/" SRC_URI="http://www.netlib.org/benchmark/hpl/hpl-${PV}.tar.gz" SLOT="0" LICENSE="HPL" KEYWORDS="~x86 ~amd64" IUSE="doc" RDEPEND=" $(mpi_pkg_deplist) virtual/blas virtual/lapack" DEPEND="${DEPEND} virtual/pkgconfig" src_prepare() { local mpicc_path="$(mpi_pkg_cc)" local a="" local locallib="${EPREFIX}/usr/$(get_libdir)/lib" local localblas="$(for i in $($(tc-getPKG_CONFIG) --libs-only-l blas lapack);do a="${a} ${i/-l/${locallib}}.so "; done; echo ${a})" cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 || die sed -i \ -e "/^TOPdir/s,= .*,= ${S}," \ -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \ -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \ -e '/^MPdir\>/s,= .*,=,' \ -e '/^MPlib\>/s,= .*,=,' \ -e "/^LAlib\>/s,= .*,= ${localblas}," \ -e "/^LINKER\>/s,= .*,= ${mpicc_path}," \ -e "/^CC\>/s,= .*,= ${mpicc_path}," \ -e "/^CCFLAGS\>/s|= .*|= \$(HPL_DEFS) ${CFLAGS}|" \ -e "/^LINKFLAGS\>/s|= .*|= ${LDFLAGS}|" \ Make.gentoo_hpl_fblas_x86 || die } src_compile() { mpi_pkg_set_env # parallel make failure bug #321539 HOME=${WORKDIR} emake -j1 arch=gentoo_hpl_fblas_x86 mpi_pkg_restore_env } src_install() { mpi_dobin bin/gentoo_hpl_fblas_x86/xhpl mpi_dolib.a lib/gentoo_hpl_fblas_x86/libhpl.a mpi_dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING mpi_doman man/man3/*.3 if use doc; then mpi_dohtml -r www/* fi insinto $(mpi_root)usr/share/hpl mpi_doins bin/gentoo_hpl_fblas_x86/HPL.dat } pkg_postinst() { local d=$(mpi_root) einfo "Remember to copy $(mpi_root)usr/share/hpl/HPL.dat to your working directory" einfo "before running xhpl. Typically one may run hpl by executing:" einfo "\"mpiexec -np 4 /usr/bin/xhpl\"" einfo "where -np specifies the number of processes." }