diff options
Diffstat (limited to 'sci-chemistry/gromacs')
-rw-r--r-- | sci-chemistry/gromacs/ChangeLog | 6 | ||||
-rw-r--r-- | sci-chemistry/gromacs/Manifest | 19 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.5.3-r4.ebuild | 261 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.5.4-r1.ebuild | 4 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.5.4.ebuild | 256 |
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 -} |