diff options
author | 2011-08-22 20:01:59 +0100 | |
---|---|---|
committer | 2011-08-22 20:01:59 +0100 | |
commit | be1a2fd0c77f5919dcadfc60b3f85d19d869a5d0 (patch) | |
tree | 36f3553c1d36c6f93c0c2097ad784b038d800c8d /sci-libs/mpiblacs | |
parent | added xblas (diff) | |
download | sci-be1a2fd0c77f5919dcadfc60b3f85d19d869a5d0.tar.gz sci-be1a2fd0c77f5919dcadfc60b3f85d19d869a5d0.tar.bz2 sci-be1a2fd0c77f5919dcadfc60b3f85d19d869a5d0.zip |
added mpiblacs
Diffstat (limited to 'sci-libs/mpiblacs')
-rw-r--r-- | sci-libs/mpiblacs/ChangeLog | 21 | ||||
-rw-r--r-- | sci-libs/mpiblacs/Manifest | 6 | ||||
-rw-r--r-- | sci-libs/mpiblacs/metadata.xml | 12 | ||||
-rw-r--r-- | sci-libs/mpiblacs/mpiblacs-1.1.ebuild | 111 |
4 files changed, 150 insertions, 0 deletions
diff --git a/sci-libs/mpiblacs/ChangeLog b/sci-libs/mpiblacs/ChangeLog new file mode 100644 index 000000000..0d9c79081 --- /dev/null +++ b/sci-libs/mpiblacs/ChangeLog @@ -0,0 +1,21 @@ +# ChangeLog for sci-libs/mpiblacs +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 22 Aug 2011; Sébastien Fabbro <bicatali@gentoo.org> +mpiblacs-1.1.ebuild, + +metadata.xml: + Imported from bicatali overlay + + 01 Jun 2011; Sébastien Fabbro <bicatali@gentoo.org> mpiblacs-1.1.ebuild: + Switched to EAPI4. Create a static include makefile with big sed. Fixed + linking. + + 23 Feb 2011; Sébastien Fabbro <bicatali@gentoo.org> mpiblacs-1.1.ebuild: + Switched to alternatives-2 framework + +*mpiblacs-1.1 (06 Dec 2010) + + 06 Dec 2010; Sébastien Fabbro <bicatali@gentoo.org> +mpiblacs-1.1.ebuild, + +metadata.xml: + Initial import + diff --git a/sci-libs/mpiblacs/Manifest b/sci-libs/mpiblacs/Manifest new file mode 100644 index 000000000..f5596ca38 --- /dev/null +++ b/sci-libs/mpiblacs/Manifest @@ -0,0 +1,6 @@ +DIST blacstester.tgz 81937 RMD160 bfee4918d04f6577ea021bc466cd16d6d007ac1d SHA1 d85ebb1cb2bad051242609504d27773e54c4ae00 SHA256 7e5a67b703f74f05435055dd314a7196007d9a273e6bb46058a19be71d3ba197 +DIST mpiblacs-patch03.tgz 30505 RMD160 582cd4d13bda97edefedc0e67b1ab5d00c7024f2 SHA1 d3f136b07df2b208a11c96fa55e39030e4702b39 SHA256 92dfba8a462a2f23102000a10532c00a9a5203b79ccad5a87f44ce83eb6bc7ed +DIST mpiblacs.tgz 152823 RMD160 bac03b82dc7f1daef632ca6869f077f64c18ad8e SHA1 b9503a2fddd4136a2b7ce3f5a9cd97dd5ec0d6b6 SHA256 88dd7265d412022948debb7a2737226cd53a3bf73b0b62fc55ceb3ccc8a598f7 +EBUILD mpiblacs-1.1.ebuild 3089 RMD160 855c120935fe584a5bb1f8fcc3bc9c39e095dee2 SHA1 a83b058f9b75f8b672b3be37d5ef00c0a3bd65ca SHA256 b8118abf5c1e8c8675746e290d7fb0a1752636fa1f9e3667b63d1e2d9fddbbc4 +MISC ChangeLog 665 RMD160 05d141299da3608644c540daa0c707560ff45f51 SHA1 8fa63d98ed9f38bd9cb2f79562f2c223e69fb3ab SHA256 55e3d22aa9f1b03ce9ef1705a8dbcc0fba0d2d7900c320d00b3c6b81907779ac +MISC metadata.xml 491 RMD160 642fdba0aaec7ab2f26183b0b2c3a9a86dbc826c SHA1 6012e8c37ec9f077437f9dcebc0841e19a2746e6 SHA256 92e3b64a3520d1adfdc948c5fb823c1c5e2d1d8af5b6fce6ab05535de52bbf49 diff --git a/sci-libs/mpiblacs/metadata.xml b/sci-libs/mpiblacs/metadata.xml new file mode 100644 index 000000000..6c41f800e --- /dev/null +++ b/sci-libs/mpiblacs/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> + The BLACS (Basic Linear Algebra Communication Subprograms) + project is an ongoing investigation whose purpose is to create + a linear algebra oriented message passing interface + that may be implemented efficiently and uniformly across + a large range of distributed memory platforms. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/mpiblacs/mpiblacs-1.1.ebuild b/sci-libs/mpiblacs/mpiblacs-1.1.ebuild new file mode 100644 index 000000000..d1f45e155 --- /dev/null +++ b/sci-libs/mpiblacs/mpiblacs-1.1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 +inherit eutils toolchain-funcs versionator alternatives-2 + +DESCRIPTION="Basic Linear Algebra Communication Subprograms with MPI" +HOMEPAGE="http://www.netlib.org/blacs/" +SRC_URI="${HOMEPAGE}/${PN}.tgz + ${HOMEPAGE}/${PN}-patch03.tgz + test? ( ${HOMEPAGE}/blacstester.tgz )" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="static-libs test" + +RDEPEND="virtual/mpi[fortran] + virtual/blas" +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +S="${WORKDIR}/BLACS" + +make_shared_lib() { + local libstatic=${1} + local soname=$(basename "${1%.a}").so.$(get_major_version) + shift + einfo "Making ${soname}" + ${LINK:-$(tc-getCC)} ${LDFLAGS} \ + -shared -Wl,-soname="${soname}" \ + -Wl,--whole-archive "${libstatic}" -Wl,--no-whole-archive \ + "$@" -o $(dirname "${libstatic}")/"${soname}" || die "${soname} failed" + ln -s "${soname}" $(dirname "${libstatic}")/"${soname%.*}" +} + +src_prepare() { + find . -name Makefile -exec sed -i -e 's:make:$(MAKE):g' '{}' \; + + sed -e "s:\(SHELL\s*=\).*:\1$(type -P sh):" \ + -e "s:\(BTOPdir\s*=\).*:\1${S}:" \ + -e "s:\(BLACSFINIT\s*=\).*:\1\$(BLACSdir)/lib${PN}F77init.a:" \ + -e "s:\(BLACSCINIT\s*=\).*:\1\$(BLACSdir)/lib${PN}Cinit.a:" \ + -e "s:\(BLACSLIB\s*=\).*:\1\$(BLACSdir)/lib${PN}.a:" \ + -e "s:\(MPIINCdir\s*=\).*:\1${EPREFIX}/usr/include:" \ + -e "s:\(MPILIB\s*=\).*:\1:" \ + -e '/SYSINC.*=/d' \ + -e 's:\(INTFACE\s*=\).*:\1-DAdd_:' \ + -e 's:\(TRANSCOMM\s*=\).*:\1-DUseMpi2:' \ + -e "s:\(F77\s*=\).*:\1mpif77:" \ + -e "s:\(F77NO_OPTFLAGS\s*=\).*:\1-O0:" \ + -e "s:\(F77FLAGS\s*=\).*:\1${FFLAGS}:" \ + -e "s:\(F77LOADFLAGS\s*=\).*:\1${LDFLAGS}:" \ + -e "s:\(CC\s*=\).*:\1mpicc:" \ + -e "s:\(CCFLAGS\s*=\).*:\1${CFLAGS}:" \ + -e "s:\(CCLOADFLAGS\s*=\).*:\1${LDFLAGS}:" \ + -e "s:\(ARCH\s*=\).*:\1$(tc-getAR):" \ + -e "s:\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \ + BMAKES/Bmake.MPI-LINUX > Bmake.inc || die +} + +src_compile() { + emake \ + F77NO_OPTFLAGS="-O0 -fPIC" \ + F77FLAGS="${FFLAGS} -fPIC" \ + CCFLAGS="${CFLAGS} -fPIC" \ + mpi + cd LIB + LINK=mpif77 make_shared_lib lib${PN}.a + LINK=mpicc make_shared_lib lib${PN}Cinit.a -L. -l${PN} + LINK=mpif77 make_shared_lib lib${PN}F77init.a -L. -l${PN} + cd "${S}" + if use static-libs; then + emake clean -C SRC/MPI && rm -f LIB/*.a + emake mpi + fi +} + +src_test() { + emake tester + cd TESTING/EXE + local x + # do not die because we are expecting an abort + for x in ./x*; do + mpirun -np 4 $x 2>&1 | tee $x.log + grep -q "\*\*\*" $x.log && die "$x failed" + done +} + +src_install() { + cd LIB + dolib.so lib*.so* + use static-libs && dolib.a lib*.a + cat <<-EOF > ${PN}.pc + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Libs: -L\${libdir} -l${PN} -l${PN}Cinit -l${PN}F77init -lm + Cflags: -I\${includedir}/${PN} + Requires: blas + EOF + insinto /usr/$(get_libdir)/pkgconfig + doins ${PN}.pc || die + alternatives_for blacs ${PN} 0 \ + "/usr/$(get_libdir)/pkgconfig/blacs.pc" "${PN}.pc" +} |