aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Junghans <kleiner_otti@gmx.de>2010-07-31 14:26:30 +0200
committerChristoph Junghans <kleiner_otti@gmx.de>2010-07-31 14:26:30 +0200
commita5c1c1835b480f8aa6656b158707d5d45f445527 (patch)
treeef9a299ae38a782a09f9bd4de238e0395c571fac
parentmasked gromacs-4.5.9999 (diff)
downloadsci-a5c1c1835b480f8aa6656b158707d5d45f445527.tar.gz
sci-a5c1c1835b480f8aa6656b158707d5d45f445527.tar.bz2
sci-a5c1c1835b480f8aa6656b158707d5d45f445527.zip
[sci-chemistry/gromacs] version bump
(Portage version: 2.1.8.3/git/Linux i686) (Signed Manifest commit)
-rw-r--r--sci-chemistry/gromacs/ChangeLog7
-rw-r--r--sci-chemistry/gromacs/Manifest13
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5.9999.ebuild260
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5_beta1.ebuild260
-rw-r--r--sci-chemistry/gromacs/gromacs-9999.ebuild7
5 files changed, 542 insertions, 5 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog
index 7726449b3..b760e3869 100644
--- a/sci-chemistry/gromacs/ChangeLog
+++ b/sci-chemistry/gromacs/ChangeLog
@@ -2,6 +2,13 @@
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*gromacs-4.5.9999 (31 Jul 2010)
+*gromacs-4.5_beta1 (31 Jul 2010)
+
+ 31 Jul 2010; Christoph Junghans <kleiner_otti@gmx.de>
+ +gromacs-4.5_beta1.ebuild, +gromacs-4.5.9999.ebuild, gromacs-9999.ebuild:
+ Version bump
+
24 Jul 2010; Alexey Shvetsov <alexxy@gentoo.org> gromacs-9999.ebuild:
ffamber officialy shipped with gromacs from now on
diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest
index 8e5c23b01..53a31c9b2 100644
--- a/sci-chemistry/gromacs/Manifest
+++ b/sci-chemistry/gromacs/Manifest
@@ -3,15 +3,18 @@ Hash: SHA1
DIST ffamber_v4.0-doc.tar.gz 7915520 RMD160 aeadb18bd88bcd9e6fc45af22af15c51e32c66a3 SHA1 8d4969fa7eec660b41f769874be9698980b49ed0 SHA256 0b3395570dfe9bf808a297fcb120e1f525f38a91791fbafe6e444d542d7754aa
DIST gmxtest-4.0.4.tgz 14845017 RMD160 c7c583415438bdef4c9996da9064254e9460cf16 SHA1 998179aa2bfbc4f80514f10ed774762f85c854c3 SHA256 6a7f787f4bb7cbecb688115ff0854a5ffd2ef33487d7bce4b031e63848b6f361
+DIST gromacs-4.5-beta1.tar.gz 10210642 RMD160 4fa0788e253f453a6d18fd711b7f3f154faae7d6 SHA1 96c358837d23e09330ffa91db90b3e44df5874e7 SHA256 bee3f72f541ae2a834a4f95c3a2a38c85264c438e6f35c3493b9ca13cf8d71d0
DIST manual-4.0.pdf 2135100 RMD160 b963642f8e1433f11328c3d0c4b1645c9de506da SHA1 8ae951ee15b2a7dc626331fce36511bc8766144c SHA256 646f810477eee2d710de6019c52056550413d0ba77baf9680195c835ddafe80a
EBUILD gromacs-4.0.9999.ebuild 9240 RMD160 8d6f31dcde6297f7d06f410b5d9ee5c321cf3824 SHA1 7ecc1f13330ef172b23a0b36f9047fa38451fc3d SHA256 ed0c4fe69bfa803cb73be3d14a73c6affaa8e175e5b58405dc8f9fa706546eee
-EBUILD gromacs-9999.ebuild 7119 RMD160 06ffdd882fce711e9c3d170d5880993ec62d643f SHA1 83748e3e65eae35a9d9a763444bce097a9b4e9f1 SHA256 6d75d252800b4ab6aea4e2c82b52378a17a66f898d9222b86aa3d687966d67d0
-MISC ChangeLog 4834 RMD160 f8297200737f6b7dd99104d683d671333e52bf4e SHA1 09c76f712a052115f22a38769ac745b775662bce SHA256 de84d0da3b17eae88b6d527ea05b59f686029ff36004528fc9dbfc0ef2923913
+EBUILD gromacs-4.5.9999.ebuild 7415 RMD160 3be5912a28339b0e5743bcd45d0f298955bf5349 SHA1 96799c16a0fbe9df646a107b11e4dec7bb08a214 SHA256 a7c48101f1357c247ca58ecf9a992732b74a5a264e3a3b4c83cf8e143c2a7f09
+EBUILD gromacs-4.5_beta1.ebuild 7407 RMD160 673333dfb5f2013aaade53045f527a4496f73a41 SHA1 161d022a6ba07657185d1fbd81992fe86f8358da SHA256 67eb32a00785db61c6cd568262b40315d1219759376de28144c7246874f0dbb5
+EBUILD gromacs-9999.ebuild 7402 RMD160 ea321f036ded9bd3833fb38d5e286d15151a3b58 SHA1 6fd9a8c4d1252bee8829bdfc84d539f2afb635f3 SHA256 73e44da1ada4e68b566b1a30f1c9ebd6936c0d3adb874f4693dcaed44f1fa9e9
+MISC ChangeLog 5048 RMD160 840395e6185ac71b83baf769d56e8f076a319477 SHA1 7e2dcbbf51adf45d1ba9700678058adca9f43d0d SHA256 aff9243accf69117eb85dbd45c1fafd4e0381b07ff297e968de370d52a577d2c
MISC metadata.xml 643 RMD160 e9ffc42d792f15f3d4438a0de225277ec4814041 SHA1 c83fd4a32d896b7a2586667bc684d46f9daf8693 SHA256 177885ec674e8630a9c9451a0e0a35fc83615b39b387a67002e27f1b0d6b19b2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
-iEYEARECAAYFAkxMnFQACgkQy0OE/ans1/l7dwCfZFEwQj4Re6jIV5haPvomLdtO
-PWkAn3KMtVvQyrfIJBM9tuzTnM7FIOAI
-=lqsP
+iEYEARECAAYFAkxUFnYACgkQy0OE/ans1/laZACfX2JEYNNSSWbC9UAhM4eQgauT
+EGkAn1eOCODQWrrOfIUs1ghC+teDPNye
+=4MLO
-----END PGP SIGNATURE-----
diff --git a/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
new file mode 100644
index 000000000..89d88e999
--- /dev/null
+++ b/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+LIBTOOLIZE="true"
+TEST_PV="4.0.4"
+
+EGIT_REPO_URI="git://git.gromacs.org/gromacs"
+EGIT_BRANCH="release-4-5-patches"
+
+inherit autotools bash-completion eutils fortran git multilib toolchain-funcs
+
+DESCRIPTION="The ultimate molecular dynamics simulation package"
+HOMEPAGE="http://www.gromacs.org/"
+SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
+ doc? ( ftp://ftp.gromacs.org/pub/manual/manual-4.0.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="X blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
+mpi +single-precision static static-libs test +threads +xml zsh-completion"
+
+DEPEND="app-shells/tcsh
+ X? ( x11-libs/libX11
+ x11-libs/libSM
+ x11-libs/libICE )
+ dmalloc? ( dev-libs/dmalloc )
+ blas? ( virtual/blas )
+ fftw? ( sci-libs/fftw:3.0 )
+ gsl? ( sci-libs/gsl )
+ lapack? ( virtual/lapack )
+ mpi? ( virtual/mpi )
+ xml? ( dev-libs/libxml2 )"
+
+RDEPEND="${DEPEND}"
+
+RESTRICT="test"
+
+QA_EXECSTACK="usr/lib/libgmx.so.*
+ usr/lib/libgmx_d.so.*"
+
+use static && QA_EXECSTACK="$QA_EXECSTACK usr/bin/*"
+
+pkg_setup() {
+ if use fkernels; then
+ FORTRAN="g77 gfortran ifc"
+ fortran_pkg_setup
+ else
+ FORTRANC=""
+ fi
+}
+
+src_prepare() {
+
+ ( use single-precision || use double-precision ) || \
+ die "Nothing to compile, enable single-precision and/or double-precision"
+
+ if use mpi && use threads; then
+ elog "mdrun uses only threads OR mpi, and gromacs favours the"
+ elog "use of mpi over threads, so a mpi-version of mdrun will"
+ elog "be compiled. If you want to run mdrun on shared memory"
+ elog "machines only, you can safely disable mpi"
+ fi
+
+ if use static; then
+ use X && die "You cannot compile a static version with X support, disable X or static"
+ use xml && die "You cannot compile a static version with xml support
+ (see bug #306479), disable xml or static"
+ fi
+
+ eautoreconf
+ GMX_DIRS=""
+ use single-precision && GMX_DIRS+=" single"
+ use double-precision && GMX_DIRS+=" double"
+ for x in ${GMX_DIRS}; do
+ mkdir "${S}-${x}" || die
+ use test && cp -r "${WORKDIR}"/gmxtest "${S}-${x}"
+ use mpi || continue
+ mkdir "${S}-${x}_mpi" || die
+ done
+}
+
+src_configure() {
+ local myconf
+ local myconfsingle
+ local myconfdouble
+ local suffixdouble
+
+ #leave all assembly options enabled mdrun is smart enough to deside itself
+ #there so no gentoo on bluegene!
+ myconf="${myconf} --disable-bluegene"
+
+ #from gromacs configure
+ if ! use fftw; then
+ ewarn "WARNING: The built-in FFTPACK routines are slow."
+ ewarn "Are you sure you don\'t want to use FFTW?"
+ ewarn "It is free and much faster..."
+ fi
+
+ if [[ $(gcc-version) == "4.1" ]]; then
+ eerror "gcc 4.1 is not supported by gromacs"
+ eerror "please run test suite"
+ die
+ fi
+
+ #note for gentoo-PREFIX on apple: use --enable-apple-64bit
+
+ #fortran will gone in gromacs 4.1 anyway
+ #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
+ if use fkernels; then
+ ewarn "Fortran kernels are usually not faster than C kernels and assembly"
+ ewarn "I hope, you know what are you doing..."
+ myconf="${myconf} --enable-fortran"
+ else
+ myconf="${myconf} --disable-fortran"
+ fi
+
+ # if we need external blas
+ if use blas; then
+ export LIBS="${LIBS} -lblas"
+ myconf="${myconf} $(use_with blas external-blas)"
+ fi
+
+ # if we need external lapack
+ if use lapack; then
+ export LIBS="${LIBS} -llapack"
+ myconf="${myconf} $(use_with lapack external-lapack)"
+ fi
+
+ # by default its better to have dynamicaly linked binaries
+ if use static; then
+ #gmx build static libs by default
+ myconf="${myconf} --disable-shared $(use_enable static all-static)"
+ else
+ myconf="${myconf} --disable-all-static --enable-shared $(use_enable static-libs static)"
+ fi
+
+ myconf="--datadir="${EPREFIX}"/usr/share \
+ --bindir="${EPREFIX}"/usr/bin \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --docdir="${EPREFIX}"/usr/share/doc/"${PF}" \
+ $(use_with dmalloc) \
+ $(use_with fftw fft fftw3) \
+ $(use_with gsl) \
+ $(use_with X x) \
+ $(use_with xml) \
+ $(use_enable threads) \
+ ${myconf}"
+
+ #if we build single and double - double is suffixed
+ if ( use double-precision && use single-precision ); then
+ suffixdouble="_d"
+ else
+ suffixdouble=""
+ fi
+
+ if use double-precision ; then
+ #from gromacs manual
+ elog
+ elog "For most simulations single precision is accurate enough. In some"
+ elog "cases double precision is required to get reasonable results:"
+ elog
+ elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization"
+ elog " and the calculation and diagonalization of the Hessian "
+ elog "-calculation of the constraint force between two large groups of atoms"
+ elog "-energy conservation: this can only be done without temperature coupling and"
+ elog " without cutoffs"
+ elog
+ fi
+
+ if use mpi ; then
+ elog "You have enabled mpi, only mdrun will make use of mpi, that is why"
+ elog "we configure/compile gromacs twice (with and without mpi) and only"
+ elog "install mdrun with mpi support. In addtion you will get libgmx and"
+ elog "libmd with and without mpi support."
+ fi
+
+ myconfdouble="${myconf} --enable-double --program-suffix='${suffixdouble}'"
+ myconfsingle="${myconf} --enable-float --program-suffix=''"
+ for x in ${GMX_DIRS}; do
+ einfo "Configuring for ${x} precision"
+ cd "${S}-${x}"
+ local p=myconf${x}
+ ECONF_SOURCE="${S}" econf ${!p} --disable-mpi CC="$(tc-getCC)" F77="${FORTRANC}"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ ECONF_SOURCE="${S}" econf ${!p} --enable-mpi CC="$(tc-getCC)" F77="${FORTRANC}"
+ done
+}
+
+src_compile() {
+ for x in ${GMX_DIRS}; do
+ cd "${S}-${x}"
+ einfo "Compiling for ${x} precision"
+ emake || die "emake for ${x} precision failed"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ emake mdrun || die "emake mdrun for ${x} precision failed"
+ done
+}
+
+src_test() {
+ for x in ${GMX_DIRS}; do
+ local oldpath="${PATH}"
+ export PATH="${S}-${x}/src/kernel:${S}-{x}/src/tools:${PATH}"
+ cd "${S}-${x}"
+ emake -j1 tests || die "${x} Precision test failed"
+ export PATH="${oldpath}"
+ done
+}
+
+src_install() {
+ for x in ${GMX_DIRS}; do
+ cd "${S}-${x}"
+ emake DESTDIR="${D}" install || die "emake install for ${x} failed"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ emake DESTDIR="${D}" install-mdrun || die "emake install-mdrun for ${x} failed"
+ done
+
+ sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${ED}"/usr/bin/GMXRC.bash > "${T}/80gromacs"
+ doenvd "${T}/80gromacs"
+ rm -f "${ED}"/usr/bin/GMXRC*
+
+ dobashcompletion "${ED}"/usr/bin/completion.bash ${PN}
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ newins "${ED}"/usr/bin/completion.zsh _${PN}
+ fi
+ rm -f "${ED}"/usr/bin/completion.*
+
+ # Fix typos in a couple of files.
+ sed -e "s:+0f:-f:" -i "${ED}"usr/share/gromacs/tutor/gmxdemo/demo \
+ || die "Failed to fixup demo script."
+
+ cd "${S}"
+ dodoc AUTHORS INSTALL README
+ if use doc; then
+ dodoc "${DISTDIR}/manual-4.0.pdf"
+ dohtml -r "${ED}usr/share/gromacs/html/"
+ fi
+ rm -rf "${ED}usr/share/gromacs/html/"
+}
+
+pkg_postinst() {
+ env-update && source /etc/profile
+ elog
+ elog "Please read and cite:"
+ elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
+ elog "http://dx.doi.org/10.1021/ct700301q"
+ elog
+ bash-completion_pkg_postinst
+ elog
+ elog $(g_luck)
+ elog "For more Gromacs cool quotes (gcq) add luck to your .bashrc"
+ elog
+}
diff --git a/sci-chemistry/gromacs/gromacs-4.5_beta1.ebuild b/sci-chemistry/gromacs/gromacs-4.5_beta1.ebuild
new file mode 100644
index 000000000..c27ad2ed3
--- /dev/null
+++ b/sci-chemistry/gromacs/gromacs-4.5_beta1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+LIBTOOLIZE="true"
+TEST_PV="4.0.4"
+
+inherit autotools bash-completion eutils fortran multilib toolchain-funcs
+
+DESCRIPTION="The ultimate molecular dynamics simulation package"
+HOMEPAGE="http://www.gromacs.org/"
+SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P//_/-}.tar.gz
+ test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
+ doc? ( ftp://ftp.gromacs.org/pub/manual/manual-4.0.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="X blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
+mpi +single-precision static static-libs test +threads +xml zsh-completion"
+
+DEPEND="app-shells/tcsh
+ X? ( x11-libs/libX11
+ x11-libs/libSM
+ x11-libs/libICE )
+ dmalloc? ( dev-libs/dmalloc )
+ blas? ( virtual/blas )
+ fftw? ( sci-libs/fftw:3.0 )
+ gsl? ( sci-libs/gsl )
+ lapack? ( virtual/lapack )
+ mpi? ( virtual/mpi )
+ xml? ( dev-libs/libxml2 )"
+
+RDEPEND="${DEPEND}"
+
+RESTRICT="test"
+
+QA_EXECSTACK="usr/lib/libgmx.so.*
+ usr/lib/libgmx_d.so.*"
+
+S="${WORKDIR}/${P//_/-}"
+
+use static && QA_EXECSTACK="$QA_EXECSTACK usr/bin/*"
+
+pkg_setup() {
+ if use fkernels; then
+ FORTRAN="g77 gfortran ifc"
+ fortran_pkg_setup
+ else
+ FORTRANC=""
+ fi
+}
+
+src_prepare() {
+
+ ( use single-precision || use double-precision ) || \
+ die "Nothing to compile, enable single-precision and/or double-precision"
+
+ if use mpi && use threads; then
+ elog "mdrun uses only threads OR mpi, and gromacs favours the"
+ elog "use of mpi over threads, so a mpi-version of mdrun will"
+ elog "be compiled. If you want to run mdrun on shared memory"
+ elog "machines only, you can safely disable mpi"
+ fi
+
+ if use static; then
+ use X && die "You cannot compile a static version with X support, disable X or static"
+ use xml && die "You cannot compile a static version with xml support
+ (see bug #306479), disable xml or static"
+ fi
+
+ eautoreconf
+ GMX_DIRS=""
+ use single-precision && GMX_DIRS+=" single"
+ use double-precision && GMX_DIRS+=" double"
+ for x in ${GMX_DIRS}; do
+ mkdir "${S}-${x}" || die
+ use test && cp -r "${WORKDIR}"/gmxtest "${S}-${x}"
+ use mpi || continue
+ mkdir "${S}-${x}_mpi" || die
+ done
+}
+
+src_configure() {
+ local myconf
+ local myconfsingle
+ local myconfdouble
+ local suffixdouble
+
+ #leave all assembly options enabled mdrun is smart enough to deside itself
+ #there so no gentoo on bluegene!
+ myconf="${myconf} --disable-bluegene"
+
+ #from gromacs configure
+ if ! use fftw; then
+ ewarn "WARNING: The built-in FFTPACK routines are slow."
+ ewarn "Are you sure you don\'t want to use FFTW?"
+ ewarn "It is free and much faster..."
+ fi
+
+ if [[ $(gcc-version) == "4.1" ]]; then
+ eerror "gcc 4.1 is not supported by gromacs"
+ eerror "please run test suite"
+ die
+ fi
+
+ #note for gentoo-PREFIX on apple: use --enable-apple-64bit
+
+ #fortran will gone in gromacs 4.1 anyway
+ #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
+ if use fkernels; then
+ ewarn "Fortran kernels are usually not faster than C kernels and assembly"
+ ewarn "I hope, you know what are you doing..."
+ myconf="${myconf} --enable-fortran"
+ else
+ myconf="${myconf} --disable-fortran"
+ fi
+
+ # if we need external blas
+ if use blas; then
+ export LIBS="${LIBS} -lblas"
+ myconf="${myconf} $(use_with blas external-blas)"
+ fi
+
+ # if we need external lapack
+ if use lapack; then
+ export LIBS="${LIBS} -llapack"
+ myconf="${myconf} $(use_with lapack external-lapack)"
+ fi
+
+ # by default its better to have dynamicaly linked binaries
+ if use static; then
+ #gmx build static libs by default
+ myconf="${myconf} --disable-shared $(use_enable static all-static)"
+ else
+ myconf="${myconf} --disable-all-static --enable-shared $(use_enable static-libs static)"
+ fi
+
+ myconf="--datadir="${EPREFIX}"/usr/share \
+ --bindir="${EPREFIX}"/usr/bin \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --docdir="${EPREFIX}"/usr/share/doc/"${PF}" \
+ $(use_with dmalloc) \
+ $(use_with fftw fft fftw3) \
+ $(use_with gsl) \
+ $(use_with X x) \
+ $(use_with xml) \
+ $(use_enable threads) \
+ ${myconf}"
+
+ #if we build single and double - double is suffixed
+ if ( use double-precision && use single-precision ); then
+ suffixdouble="_d"
+ else
+ suffixdouble=""
+ fi
+
+ if use double-precision ; then
+ #from gromacs manual
+ elog
+ elog "For most simulations single precision is accurate enough. In some"
+ elog "cases double precision is required to get reasonable results:"
+ elog
+ elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization"
+ elog " and the calculation and diagonalization of the Hessian "
+ elog "-calculation of the constraint force between two large groups of atoms"
+ elog "-energy conservation: this can only be done without temperature coupling and"
+ elog " without cutoffs"
+ elog
+ fi
+
+ if use mpi ; then
+ elog "You have enabled mpi, only mdrun will make use of mpi, that is why"
+ elog "we configure/compile gromacs twice (with and without mpi) and only"
+ elog "install mdrun with mpi support. In addtion you will get libgmx and"
+ elog "libmd with and without mpi support."
+ fi
+
+ myconfdouble="${myconf} --enable-double --program-suffix='${suffixdouble}'"
+ myconfsingle="${myconf} --enable-float --program-suffix=''"
+ for x in ${GMX_DIRS}; do
+ einfo "Configuring for ${x} precision"
+ cd "${S}-${x}"
+ local p=myconf${x}
+ ECONF_SOURCE="${S}" econf ${!p} --disable-mpi CC="$(tc-getCC)" F77="${FORTRANC}"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ ECONF_SOURCE="${S}" econf ${!p} --enable-mpi CC="$(tc-getCC)" F77="${FORTRANC}"
+ done
+}
+
+src_compile() {
+ for x in ${GMX_DIRS}; do
+ cd "${S}-${x}"
+ einfo "Compiling for ${x} precision"
+ emake || die "emake for ${x} precision failed"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ emake mdrun || die "emake mdrun for ${x} precision failed"
+ done
+}
+
+src_test() {
+ for x in ${GMX_DIRS}; do
+ local oldpath="${PATH}"
+ export PATH="${S}-${x}/src/kernel:${S}-{x}/src/tools:${PATH}"
+ cd "${S}-${x}"
+ emake -j1 tests || die "${x} Precision test failed"
+ export PATH="${oldpath}"
+ done
+}
+
+src_install() {
+ for x in ${GMX_DIRS}; do
+ cd "${S}-${x}"
+ emake DESTDIR="${D}" install || die "emake install for ${x} failed"
+ use mpi || continue
+ cd "${S}-${x}_mpi"
+ emake DESTDIR="${D}" install-mdrun || die "emake install-mdrun for ${x} failed"
+ done
+
+ sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${ED}"/usr/bin/GMXRC.bash > "${T}/80gromacs"
+ doenvd "${T}/80gromacs"
+ rm -f "${ED}"/usr/bin/GMXRC*
+
+ dobashcompletion "${ED}"/usr/bin/completion.bash ${PN}
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ newins "${ED}"/usr/bin/completion.zsh _${PN}
+ fi
+ rm -f "${ED}"/usr/bin/completion.*
+
+ # Fix typos in a couple of files.
+ sed -e "s:+0f:-f:" -i "${ED}"usr/share/gromacs/tutor/gmxdemo/demo \
+ || die "Failed to fixup demo script."
+
+ cd "${S}"
+ dodoc AUTHORS INSTALL README
+ if use doc; then
+ dodoc "${DISTDIR}/manual-4.0.pdf"
+ dohtml -r "${ED}usr/share/gromacs/html/"
+ fi
+ rm -rf "${ED}usr/share/gromacs/html/"
+}
+
+pkg_postinst() {
+ env-update && source /etc/profile
+ elog
+ elog "Please read and cite:"
+ elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
+ elog "http://dx.doi.org/10.1021/ct700301q"
+ elog
+ bash-completion_pkg_postinst
+ elog
+ elog $(g_luck)
+ elog "For more Gromacs cool quotes (gcq) add luck to your .bashrc"
+ elog
+}
diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild
index 0dcac3d92..a9e4b1e7b 100644
--- a/sci-chemistry/gromacs/gromacs-9999.ebuild
+++ b/sci-chemistry/gromacs/gromacs-9999.ebuild
@@ -58,6 +58,13 @@ src_prepare() {
( use single-precision || use double-precision ) || \
die "Nothing to compile, enable single-precision and/or double-precision"
+ if use mpi && use threads; then
+ elog "mdrun uses only threads OR mpi, and gromacs favours the"
+ elog "use of mpi over threads, so a mpi-version of mdrun will"
+ elog "be compiled. If you want to run mdrun on shared memory"
+ elog "machines only, you can safely disable mpi"
+ fi
+
if use static; then
use X && die "You cannot compile a static version with X support, disable X or static"
use xml && die "You cannot compile a static version with xml support