|
|
|
# Copyright 1999-2013 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
DESCRIPTION="The Massively Parallel Quantum Chemistry Program"
|
|
|
|
HOMEPAGE="http://www.mpqc.org/"
|
|
|
|
SRC_URI="mirror://sourceforge/mpqc/${P}.tar.bz2"
|
|
|
|
|
|
|
|
LICENSE="GPL-2"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64 ppc ppc64 x86"
|
|
|
|
IUSE="doc threads tk"
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
virtual/blas
|
|
|
|
virtual/lapack
|
|
|
|
tk? ( dev-lang/tk )"
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
dev-lang/perl
|
|
|
|
sys-devel/flex
|
|
|
|
sys-apps/sed
|
|
|
|
virtual/pkgconfig
|
|
|
|
doc? (
|
|
|
|
app-doc/doxygen
|
|
|
|
media-gfx/graphviz )"
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
unpack ${A}
|
|
|
|
cd "${S}"
|
|
|
|
|
|
|
|
# do not install tkmolrender if not requested
|
|
|
|
if ! use tk; then
|
|
|
|
sed \
|
|
|
|
-e "s:.*/bin/molrender/tkmolrender.*::" \
|
|
|
|
-e "s:.*\$(INSTALLBINOPT) tkmolrender.*::" \
|
|
|
|
-e "s:/bin/rm -f tkmolrender::" \
|
|
|
|
-i "./src/bin/molrender/Makefile" \
|
|
|
|
|| die "failed to disable tkmolrender"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
|
|
|
# Only shared will work on ppc64 - bug #62124
|
|
|
|
# But we always want shared libraries
|
|
|
|
econf \
|
|
|
|
$(use_enable threads) \
|
|
|
|
--enable-shared \
|
|
|
|
${myconf}
|
|
|
|
|
|
|
|
sed \
|
|
|
|
-e "s:^CFLAGS =.*$:CFLAGS=${CFLAGS}:" \
|
|
|
|
-e "s:^FFLAGS =.*$:FFLAGS=${FFLAGS:- -O2}:" \
|
|
|
|
-e "s:^CXXFLAGS =.*$:CXXFLAGS=${CXXFLAGS}:" \
|
|
|
|
lib/LocalMakefile
|
|
|
|
emake || die "emake failed"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_test() {
|
|
|
|
cd "${S}"/src/bin/mpqc/validate
|
|
|
|
|
|
|
|
# we'll only run the small test set, since the
|
|
|
|
# medium and large ones take >10h and >24h on my
|
|
|
|
# 1.8Ghz P4M
|
|
|
|
emake -j1 check0 || die "failed in test routines"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
emake -j1 installroot="${D}" install install_devel install_inc \
|
|
|
|
|| die "install failed"
|
|
|
|
|
|
|
|
dodoc CHANGES CITATION README || die "failed to install docs"
|
|
|
|
|
|
|
|
# make extended docs
|
|
|
|
if use doc; then
|
|
|
|
cd "${S}"/doc
|
|
|
|
emake -j1 all || die "failed to generate documentation"
|
|
|
|
doman man/man1/* man/man3/* || \
|
|
|
|
die "failed to install man pages"
|
|
|
|
dohtml -r html/
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
echo
|
|
|
|
einfo "MPQC can be picky with regard to compilation flags."
|
|
|
|
einfo "If during mpqc runs you have trouble converging or "
|
|
|
|
einfo "experience oscillations during SCF interations, "
|
|
|
|
einfo "consider recompiling with less aggressive CFLAGS/CXXFLAGS."
|
|
|
|
einfo "Particularly, replacing -march=pentium4 by -march=pentium3"
|
|
|
|
einfo "might help if you encounter problems with correlation "
|
|
|
|
einfo "consistent basis sets."
|
|
|
|
echo
|
|
|
|
}
|