summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/gromacs/gromacs-4.5.3.ebuild')
-rw-r--r--sci-chemistry/gromacs/gromacs-4.5.3.ebuild258
1 files changed, 0 insertions, 258 deletions
diff --git a/sci-chemistry/gromacs/gromacs-4.5.3.ebuild b/sci-chemistry/gromacs/gromacs-4.5.3.ebuild
deleted file mode 100644
index bf3313ee566d..000000000000
--- a/sci-chemistry/gromacs/gromacs-4.5.3.ebuild
+++ /dev/null
@@ -1,258 +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.ebuild,v 1.3 2011/03/02 17:55:01 jlec Exp $
-
-EAPI="3"
-
-LIBTOOLIZE="true"
-TEST_PV="4.0.4"
-MANUAL_PV="4.5.3"
-
-inherit autotools bash-completion eutils 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? ( http://www.gromacs.org/@api/deki/files/133/=manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.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:2 )"
-
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
-
-QA_EXECSTACK="usr/lib/libgmx.so.*
- usr/lib/libgmx_d.so.*"
-
-use static && QA_EXECSTACK="$QA_EXECSTACK usr/bin/*"
-
-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
- epatch_user
- 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"
-
- #we have pkg-config files
- myconf="${myconf} --disable-la-files"
-
- #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
- use threads && die "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..."
- 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="$(tc-getFC)"
- use mpi || continue
- cd "${S}-${x}_mpi"
- ECONF_SOURCE="${S}" econf ${!p} --enable-mpi CC="$(tc-getCC)" F77="$(tc-getFC)"
- 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"
- 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
-}