summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/gromacs')
-rw-r--r--sci-chemistry/gromacs/ChangeLog6
-rw-r--r--sci-chemistry/gromacs/Manifest19
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild261
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild4
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5.4.ebuild256
5 files changed, 15 insertions, 531 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog
index 31f5e07bf505..66e0b1c35875 100644
--- a/sci-chemistry/gromacs/ChangeLog
+++ b/sci-chemistry/gromacs/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sci-chemistry/gromacs
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.84 2011/04/11 17:55:07 angelos Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.85 2011/05/01 16:49:59 xarthisius Exp $
+
+ 01 May 2011; Kacper Kowalik <xarthisius@gentoo.org> -gromacs-4.5.3-r4.ebuild,
+ -gromacs-4.5.4.ebuild, gromacs-4.5.4-r1.ebuild:
+ ppc64 stable wrt #357017. Drop old.
11 Apr 2011; Christoph Mende <angelos@gentoo.org> gromacs-4.5.4-r1.ebuild:
Stable on amd64 wrt bug #357017
diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest
index 51d22d756349..f080df783197 100644
--- a/sci-chemistry/gromacs/Manifest
+++ b/sci-chemistry/gromacs/Manifest
@@ -1,23 +1,20 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
DIST 0001-Make-stack-non-executable-for-GAS-assembly.patch.gz 3569527 RMD160 862efb96bee960f4bab4ce726d2524529bddde81 SHA1 a1d01348b421a1209d25d558ba6e0d8762c595f0 SHA256 17a948d221b67faeaf635a0b5ee9564067bc261e9279294c0c7c58ae9580ae5f
DIST 0002-Make-stack-non-executable-for-ATT-assembly.patch.gz 3868244 RMD160 1b98ad7a1216b78aaa04f6f83a04d8be94cf234c SHA1 bc2a2ab012e42189710d6a38798add01e7813003 SHA256 af12b3632aaf4e3d0c49ce99e0a4ed5de61c40d293bc592b70f89e08738f2581
DIST gmxtest-4.0.4.tgz 14845017 RMD160 c7c583415438bdef4c9996da9064254e9460cf16 SHA1 998179aa2bfbc4f80514f10ed774762f85c854c3 SHA256 6a7f787f4bb7cbecb688115ff0854a5ffd2ef33487d7bce4b031e63848b6f361
-DIST gromacs-4.5.3.tar.gz 10338471 RMD160 2bb9cab3c611b93c4323e16b0d171c16cd407bf1 SHA1 c4845e5e62d1f53ee443301dad00138feba6d275 SHA256 d298b81b172c2ab36b8fab8f1d3091dc48e283f35a1574bf7f9f0df382074e06
-DIST gromacs-4.5.3_upstream20110217.patch.bz2 595080 RMD160 fb5b5f656018b64980517d9ad1083cb83d45288c SHA1 b1fd6c05ce9333ee86392d1725f64556aa4d4012 SHA256 c3234e0eb331d688e7416302a93c3da4b451fe32459e369e9341bbfd927c9743
DIST gromacs-4.5.4.tar.gz 10353984 RMD160 96065d1a173231f75869764a08eb4feccc1ec597 SHA1 c7b3fbd2f3ddf915bc082e7effe76a8276563726 SHA256 301cc3d790f5036e230e02b1fb03c9b92e0db13df7ac6dbffb2a2fb03d7a1d1c
-DIST gromacs-manual-4.5.3.pdf 2438528 RMD160 07f5ec0db1a773e77806c79554e5bb4fa8533dfd SHA1 7c81fc18e426d1090c485968d81957977ff10fc9 SHA256 6794fca3a2125918a03cd6bae3c031ab9b213c42a5f68a720c955b9107508717
DIST gromacs-manual-4.5.4.pdf 2463242 RMD160 309a1d9bc5f4821076d53f668c36f1c6bfc1714f SHA1 58c0261308212af29fa0c4f4a6d1b81da6d84766 SHA256 dc14504a7072b61e7aa576c48f04df03356824f3a9d9e744dfaf51529ab46252
-EBUILD gromacs-4.5.3-r4.ebuild 8119 RMD160 416df204a948bd7ed224d16827565f6da1446b67 SHA1 18c3836131f570e6378abb61607f5ceb293abb5c SHA256 7b1ba5a26a7f8d7636dfc240c21c4238c0534f78551ebd0b04b376253a7ff46d
-EBUILD gromacs-4.5.4-r1.ebuild 8073 RMD160 077712a29f7d67967348b54b9b565bd5c48e57a6 SHA1 b9e4b9231f2f7e77cdc077e37f1bdcf9a11dc073 SHA256 268269bd39451ba99241c5558e5117465ac011b48a52beabfe0f6c5b90abc02c
-EBUILD gromacs-4.5.4.ebuild 7988 RMD160 3b6fa3eaf3a3bb93b52c7f6be7590f62c6d1b697 SHA1 2d65cb9fe402d68da1d4e9a4fdeff47a09d8c26c SHA256 350a167152abdbd250a1afe6d14d2e4c0bb58c25c8839c6e8ff9885dbf1d2015
-MISC ChangeLog 15186 RMD160 2d79e6b686c1b91a4b1f512290f3ce85b7d76fef SHA1 cf5c01c06c478e2725ddcdd83181775890327aa3 SHA256 4c1b02a026ab1f214531cd0822d52ea87fe48e50544857dce5cc4bf7575b71d9
+EBUILD gromacs-4.5.4-r1.ebuild 8075 RMD160 ef1d4ac0a530f51dd77618c849e1ebd46762ac12 SHA1 cdaff3b637456cfc544ca57879c1f357bf3effe2 SHA256 1ea7a7ae3819a7a883f70e336fd14f6042e64abe62629baa7ce9e3845929ab14
+MISC ChangeLog 15358 RMD160 5618987a811ba9d96f49584ec21e3e15f3423759 SHA1 207a28912f83cf4fb4d387ac3bf4b7a4bf1fa854 SHA256 16dbd9b9f22caefad1c002eff035a26434b3e6598e4e41f4e8c6c9a0099736db
MISC metadata.xml 513 RMD160 88c6449744df9a5ae0711124f2d74b1a49958864 SHA1 47659dbb602c1b591c2d8aef06ef2e2584dab54b SHA256 37f9ba1c2c4d57d7adda4dbc1eba3a1b06a74a2a80f5c7266c4564e197ac9d53
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iF4EAREIAAYFAk2jQG8ACgkQmWq1bYTyC0P1twD/Qn4rr8eKNVC+G7/QCIWXhvNg
-eoojuhIS8qsg1CU4kLQBAMbVo2otin0xzPDtjVy6P+gicqkUgBxXOYzeEASuiwov
-=R13j
+iJwEAQECAAYFAk29j0AACgkQIiMqcbOVdxRB2gQAgqFLLc25Ni+LuHVbkYdO2IdE
+TlUCMMU/xb0ED3ioJakDtvJhsTazjvRFwJ3+oMmbl7ND0jn4zsm4CoDBuik+ThZN
+Lk1zfdixSjv9JahXer12ldCO9gaFK9U6ZRs6xaW80Mn3EpRfbUmEqW/Wn+PdvF8m
+pybJjfd+NFy/UNGc+7k=
+=QGpq
-----END PGP SIGNATURE-----
diff --git a/sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild b/sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild
deleted file mode 100644
index a7ec628091aa..000000000000
--- a/sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild
+++ /dev/null
@@ -1,261 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild,v 1.5 2011/04/02 16:11:59 armin76 Exp $
-
-EAPI="3"
-
-LIBTOOLIZE="true"
-TEST_PV="4.0.4"
-MANUAL_PV="4.5.3"
-
-inherit autotools-utils bash-completion flag-o-matic multilib toolchain-funcs
-
-SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
- doc? (
- http://www.gromacs.org/@api/deki/files/133/=manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
-
-if [ "${PV%9999}" != "${PV}" ]; then
- EGIT_REPO_URI="git://git.gromacs.org/gromacs"
- EGIT_BRANCH="release-4-5-patches"
- inherit git
-else
- PATCHES=( ${WORKDIR}/${P}_upstream20110217.patch )
- SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz
- mirror://gentoo/${P}_upstream20110217.patch.bz2"
-fi
-
-DESCRIPTION="The ultimate molecular dynamics simulation package"
-HOMEPAGE="http://www.gromacs.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="X altivec blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
-mpi +single-precision sse sse2 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:2 )"
-
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
-
-#gromacs has gnu exec stacks for speedup
-QA_EXECSTACK="usr/lib/libgmx.so.*
- usr/lib/libgmx_d.so.*"
-
-src_prepare() {
- 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
-
- autotools-utils_src_prepare || die
-
- sed -e '/AC_INIT/s/4\.5\.3-dev/4.5.3-2011-02-17/' -i configure.ac \
- || die "Failed to change version in configure.ac"
-
- eautoreconf || die
-
- GMX_DIRS=""
- use single-precision && GMX_DIRS+=" float"
- use double-precision && GMX_DIRS+=" double"
- #if neither single-precision nor double-precision is enabled
- #build at least default (single)
- [ -z "$GMX_DIRS" ] && GMX_DIRS+=" float"
-
- for x in ${GMX_DIRS}; do
- mkdir -p "${WORKDIR}/${P}_${x}" || die
- use test && cp -r "${WORKDIR}"/gmxtest "${WORKDIR}/${P}_${x}"
- done
-}
-
-src_configure() {
- #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 5.0 anyway
- #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
- if use fkernels; then
- use threads && eerror "You cannot compile fortran kernel with threads"
- ewarn "Fortran kernels are usually not faster than C kernels and assembly"
- ewarn "I hope, you know what are you doing..."
- 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
-
- # if we need external blas or lapack
- use blas && export LIBS+=" $(pkg-config blas --libs)"
- use lapack && export LIBS+=" $(pkg-config lapack --libs)"
- local sseflag="x86-64-sse"
- use x86 && sseflag="ia32-sse"
-
- #a bug in gromacs autotools
- use sse && append-flags -msse
- use sse2 && append-flags -msse2
-
- for x in ${GMX_DIRS}; do
- local suffix="" sse="sse"
- #if we build single and double - double is suffixed
- use double-precision && use single-precision && \
- [ "${x}" = "double" ] && suffix="_d"
- #double uses sse2, single sse
- [ "${x}" = "double" ] && sse="sse2"
- myeconfargs=(
- --bindir="${EPREFIX}"/usr/bin
- --docdir="${EPREFIX}"/usr/share/doc/"${PF}"
- --enable-"${x}"
- $(use_with dmalloc)
- $(use_with fftw fft fftw3)
- $(use_with gsl)
- $(use_with X x)
- $(use_with xml)
- $(use_enable threads)
- $(use_enable altivec ppc-altivec)
- $(use_enable ia64 ia64-asm)
- $(use_with lapack external-lapack)
- $(use_with blas external-blas)
- $(use_enable fkernels fortran)
- --disable-bluegene
- --disable-la-files
- --disable-power6
- --disable-ia32-sse
- --disable-x86-64-sse
- $(use_enable $sse $sseflag)
- )
- #disable ia32-sse and x86-64-sse and enable what we really need in last line
-
- einfo "Configuring for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}"\
- autotools-utils_src_configure --disable-mpi --program-suffix="${suffix}" \
- CC="$(tc-getCC)" F77="$(tc-getFC)"
- use mpi || continue
- einfo "Configuring for ${x} precision with mpi"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
- autotools-utils_src_configure --enable-mpi --program-suffix="_mpi${suffix}" \
- CC="$(tc-getCC)" F77="$(tc-getFC)"
- done
-}
-
-src_compile() {
- for x in ${GMX_DIRS}; do
- einfo "Compiling for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}"\
- autotools-utils_src_compile
- use mpi || continue
- einfo "Compiling for ${x} precision with mpi"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
- autotools-utils_src_compile mdrun
- done
-}
-
-src_test() {
- for x in ${GMX_DIRS}; do
- local oldpath="${PATH}"
- export PATH="${WORKDIR}/${P}_${x}/src/kernel:${S}-{x}/src/tools:${PATH}"
- cd "${WORKDIR}/${P}_${x}"
- emake -j1 tests || die "${x} Precision test failed"
- export PATH="${oldpath}"
- done
-}
-
-src_install() {
- for x in ${GMX_DIRS}; do
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}" \
- autotools-utils_src_install
- use mpi || continue
- #autotools-utils_src_install does not support args
- #using autotools-utils_src_compile instead
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
- autotools-utils_src_compile install-mdrun DESTDIR="${D}"
-
- #stolen from autotools-utils_src_install see comment above
- local args
- has static-libs ${IUSE//+} && ! use static-libs || args='none'
- remove_libtool_files ${args}
- done
-
- sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${ED}"/usr/bin/GMXRC.bash > "${T}/80gromacs"
- echo "VMD_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" >> "${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
- newdoc "${DISTDIR}/gromacs-manual-${MANUAL_PV}.pdf" "manual-${MANUAL_PV}.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
- elog "Gromacs can use sci-chemistry/vmd to read additional file formats"
- elog
-}
diff --git a/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild b/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild
index baa52e04ca8a..19bb40ecdd7a 100644
--- a/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild
+++ b/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild,v 1.4 2011/04/11 17:55:07 angelos Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild,v 1.5 2011/05/01 16:49:59 xarthisius Exp $
EAPI="4"
@@ -31,7 +31,7 @@ HOMEPAGE="http://www.gromacs.org/"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="alpha amd64 ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="X altivec blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
mpi +single-precision sse2 static-libs test +threads +xml zsh-completion"
REQUIRED_USE="fkernels? ( !threads )"
diff --git a/sci-chemistry/gromacs/gromacs-4.5.4.ebuild b/sci-chemistry/gromacs/gromacs-4.5.4.ebuild
deleted file mode 100644
index 324515fdcb52..000000000000
--- a/sci-chemistry/gromacs/gromacs-4.5.4.ebuild
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-4.5.4.ebuild,v 1.7 2011/04/04 18:46:56 ottxor Exp $
-
-EAPI="4"
-
-LIBTOOLIZE="true"
-TEST_PV="4.0.4"
-MANUAL_PV="4.5.4"
-
-inherit autotools-utils bash-completion flag-o-matic multilib toolchain-funcs
-
-SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
- doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
-
-if [ "${PV%9999}" != "${PV}" ]; then
- EGIT_REPO_URI="git://git.gromacs.org/gromacs"
- EGIT_BRANCH="release-4-5-patches"
- inherit git
-else
- SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz"
-fi
-
-DESCRIPTION="The ultimate molecular dynamics simulation package"
-HOMEPAGE="http://www.gromacs.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="X altivec blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
-mpi +single-precision sse2 static-libs test +threads +xml zsh-completion"
-REQUIRED_USE="fkernels? ( !threads )"
-
-CDEPEND="
- 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:2 )"
-DEPEND="${CDEPEND}
- dev-util/pkgconfig"
-RDEPEND="${CDEPEND}
- app-shells/tcsh"
-
-RESTRICT="test"
-
-#gromacs has gnu exec stacks for speedup
-# - ebuild author
-#it's not legal to hide execstacks in source based packages by QA_ vars,
-#and if this were a binary-only package these libs would be in /opt instead
-# - ssuominen, for the QA team
-#QA_EXECSTACK="usr/$(get_libdir)/libgmx.so.*
-# usr/$(get_libdir)/libgmx_d.so.*"
-
-src_prepare() {
- 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
-
- autotools-utils_src_prepare || die
-
- eautoreconf || die
-
- GMX_DIRS=""
- use single-precision && GMX_DIRS+=" float"
- use double-precision && GMX_DIRS+=" double"
- #if neither single-precision nor double-precision is enabled
- #build at least default (single)
- [ -z "$GMX_DIRS" ] && GMX_DIRS+=" float"
-
- for x in ${GMX_DIRS}; do
- mkdir -p "${WORKDIR}/${P}_${x}" || die
- use test && cp -r "${WORKDIR}"/gmxtest "${WORKDIR}/${P}_${x}"
- done
-}
-
-src_configure() {
- #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 5.0 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..."
- 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
-
- # if we need external blas or lapack
- use blas && export LIBS+=" $(pkg-config blas --libs)"
- use lapack && export LIBS+=" $(pkg-config lapack --libs)"
- local sseflag="x86-64-sse"
- use x86 && sseflag="ia32-sse"
-
- #missing flag in autotools (bug #339837)
- use sse2 && append-flags -msse2
-
- for x in ${GMX_DIRS}; do
- #if we build single and double - double is suffixed
- use double-precision && use single-precision && \
- [ "${x}" = "double" ] && suffix="_d"
- myeconfargs=(
- --bindir="${EPREFIX}"/usr/bin
- --docdir="${EPREFIX}"/usr/share/doc/"${PF}"
- --enable-"${x}"
- $(use_with dmalloc)
- $(use_with fftw fft fftw3)
- $(use_with gsl)
- $(use_with X x)
- $(use_with xml)
- $(use_enable threads)
- $(use_enable altivec ppc-altivec)
- $(use_enable ia64 ia64-asm)
- $(use_with lapack external-lapack)
- $(use_with blas external-blas)
- $(use_enable fkernels fortran)
- --disable-bluegene
- --disable-la-files
- --disable-power6
- --disable-ia32-sse
- --disable-x86-64-sse
- $(use_enable sse2 $sseflag)
- )
- #disable ia32-sse and x86-64-sse and enable what we really need in last line
-
- einfo "Configuring for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}"\
- autotools-utils_src_configure --disable-mpi --program-suffix="${suffix}" \
- CC="$(tc-getCC)" F77="$(tc-getFC)"
- use mpi || continue
- einfo "Configuring for ${x} precision with mpi"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
- autotools-utils_src_configure --enable-mpi --program-suffix="_mpi${suffix}" \
- CC="$(tc-getCC)" F77="$(tc-getFC)"
- done
-}
-
-src_compile() {
- for x in ${GMX_DIRS}; do
- einfo "Compiling for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}"\
- autotools-utils_src_compile
- use mpi || continue
- einfo "Compiling for ${x} precision with mpi"
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
- autotools-utils_src_compile mdrun
- done
-}
-
-src_test() {
- for x in ${GMX_DIRS}; do
- local oldpath="${PATH}"
- export PATH="${WORKDIR}/${P}_${x}/src/kernel:${S}-{x}/src/tools:${PATH}"
- cd "${WORKDIR}/${P}_${x}"
- emake -j1 tests || die "${x} Precision test failed"
- export PATH="${oldpath}"
- done
-}
-
-src_install() {
- for x in ${GMX_DIRS}; do
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}" \
- autotools-utils_src_install
- use mpi || continue
- #autotools-utils_src_install does not support args
- #using autotools-utils_src_compile instead
- AUTOTOOLS_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
- autotools-utils_src_compile install-mdrun DESTDIR="${D}"
-
- #stolen from autotools-utils_src_install see comment above
- local args
- has static-libs ${IUSE//+} && ! use static-libs || args='none'
- remove_libtool_files ${args}
- done
-
- sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${ED}"/usr/bin/GMXRC.bash > "${T}/80gromacs"
- echo "VMD_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" >> "${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
- newdoc "${DISTDIR}/gromacs-manual-${MANUAL_PV}.pdf" "manual-${MANUAL_PV}.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
- elog "Gromacs can use sci-chemistry/vmd to read additional file formats"
- elog
-}