diff options
author | Jeffrey Gardner <je_fro@gentoo.org> | 2006-12-20 04:44:52 +0000 |
---|---|---|
committer | Jeffrey Gardner <je_fro@gentoo.org> | 2006-12-20 04:44:52 +0000 |
commit | f4fe8416ebeb8dad5f5baf66b4ee989194d834cc (patch) | |
tree | 751e07c1c3b294e5555abbd0accaf393c0514c85 /sci-chemistry/gromacs | |
parent | keyword ~amd64 (diff) | |
download | gentoo-2-f4fe8416ebeb8dad5f5baf66b4ee989194d834cc.tar.gz gentoo-2-f4fe8416ebeb8dad5f5baf66b4ee989194d834cc.tar.bz2 gentoo-2-f4fe8416ebeb8dad5f5baf66b4ee989194d834cc.zip |
Fixup for bugs 135146 118421 and 147614.
(Portage version: 2.1.1-r2)
Diffstat (limited to 'sci-chemistry/gromacs')
-rw-r--r-- | sci-chemistry/gromacs/ChangeLog | 7 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/digest-gromacs-3.3.1-r1 | 3 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/gromacs-alpha-axp_asm.patch | 11 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild | 215 |
4 files changed, 235 insertions, 1 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog index beedbdb8758b..a5c6cf341039 100644 --- a/sci-chemistry/gromacs/ChangeLog +++ b/sci-chemistry/gromacs/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sci-chemistry/gromacs # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.12 2006/09/20 05:08:59 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.13 2006/12/20 04:44:52 je_fro Exp $ + +*gromacs-3.3.1-r1 (17 Dec 2006) + + 17 Dec 2006; Jeff Gardner <je_fro@gentoo.org> +gromacs-3.3.1-r1.ebuild: + Fixup to address bugs 135146 118421 and 147614. 20 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml: (#148281) Change herd to sci-chemistry from sci. diff --git a/sci-chemistry/gromacs/files/digest-gromacs-3.3.1-r1 b/sci-chemistry/gromacs/files/digest-gromacs-3.3.1-r1 new file mode 100644 index 000000000000..dc4a56cb42ec --- /dev/null +++ b/sci-chemistry/gromacs/files/digest-gromacs-3.3.1-r1 @@ -0,0 +1,3 @@ +MD5 1af34a99950813ca7cf893253c447cd1 gromacs-3.3.1.tar.gz 7992897 +RMD160 48e6f9098ac4f5b834f4beb050846c60aea18fff gromacs-3.3.1.tar.gz 7992897 +SHA256 3df40151ff5364fab1c4d8692ec247d8245437e954882a803178cbe6b812d81f gromacs-3.3.1.tar.gz 7992897 diff --git a/sci-chemistry/gromacs/files/gromacs-alpha-axp_asm.patch b/sci-chemistry/gromacs/files/gromacs-alpha-axp_asm.patch new file mode 100644 index 000000000000..071b11f4b3bf --- /dev/null +++ b/sci-chemistry/gromacs/files/gromacs-alpha-axp_asm.patch @@ -0,0 +1,11 @@ +diff -Naur gromacs-3.2.1/src/gmxlib/Makefile.in gromacs-3.2.1-new/src/gmxlib/Makefile.in +--- gromacs-3.2.1/src/gmxlib/Makefile.in 2004-03-01 20:49:02.000000000 +0100 ++++ gromacs-3.2.1-new/src/gmxlib/Makefile.in 2006-05-30 17:40:33.000000000 +0200 +@@ -301,6 +301,7 @@ + LTF77COMPILE = $(LIBTOOL) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) + F77LD = $(F77) + CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTASCOMPILE = $(LIBTOOL) --mode=compile $(AS) $(AM_ASFLAGS) $(ASFLAGS) + LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \ + $(CCASFLAGS) + DIST_SOURCES = $(libgmx@LIBSUFFIX@_la_SOURCES) \ diff --git a/sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild b/sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild new file mode 100644 index 000000000000..1d2d9ca51872 --- /dev/null +++ b/sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild,v 1.1 2006/12/20 04:44:52 je_fro Exp $ + +inherit eutils fortran multilib + +IUSE="3dnow X altivec double-precision mpi sse sse2" + +# mopac7 qm/mm is broken until we can get files from +# http://md.chem.rug.nl/~groenhof/qmmm.html +# or somewhere else... + +DESCRIPTION="The ultimate molecular dynamics simulation package" +SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz" +HOMEPAGE="http://www.gromacs.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86" + +DEPEND=">=sci-libs/fftw-3.0.1 + mpi? ( virtual/mpi ) + >=sys-devel/binutils-2.12* + app-shells/tcsh + X? ( x11-libs/libX11 + x11-libs/libXt + x11-libs/libXp + x11-libs/libXext + x11-proto/xproto + virtual/motif )" + +# mopac7? ( sci-chemistry/mopac7 ) + +src_unpack() { + + unpack ${A} + if use ppc64 && use altivec ; then + epatch "${FILESDIR}"/${PN}-ppc64-altivec.patch + fi + + if use alpha ; then + epatch ${FILESDIR}/${PN}-alpha-axp_asm.patch + fi + + cd "${S}" + +# Fix a typo in a couple of files. + sed -e "s:_nb_kerne010_x86_64_sse2:_nb_kernel010_x86_64_sse2:" \ + -i src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel010_x86_64_sse2.intel_syntax.s \ + -i src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel010_x86_64_sse2.s \ + || die "Failed to fix sse2 typo." + +# Fix a sandbox violation that occurs when re-emerging with mpi. + sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ + -i src/tools/Makefile.am \ + || die "sed tools/Makefile.am failed" + + sed -e "s:\$\$libdir:\$temp_libdir:" \ + -i src/tools/Makefile.am \ + || die "sed tools/Makefile.am failed" + + cd "${WORKDIR}" && mv ${P} ${P}-single ; + + use double-precision && cp -prP ${P}-single ${P}-double ; + + if use mpi ; then + cp -prP ${P}-single ${P}-single-mpi + use double-precision && cp -prP ${P}-double ${P}-double-mpi + fi +} + +src_compile() { + # static should work but something's broken. + # gcc spec file may be screwed up. + # Static linking should try -lgcc instead of -lgcc_s. + # For more info: + # http://lists.debian.org/debian-gcc/2002/debian-gcc-200201/msg00150.html + +# We will compile single precision by default, and suffix double-precision with _d. +# Sparc is the only arch I can test on that needs to use fortran. +local myconf ; + +case "${ARCH}" in + + x86) + myconf="$myconf $(use_enable sse ia32-sse)" + myconf="$myconf $(use_enable sse2 ia32-sse)" + myconf="$myconf $(use_enable 3dnow ia32-3dnow)" + +# If you don't enable at least one of the above, you must use g77, not gfortran. + if ! use sse && ! use sse2 && ! use 3dnow ; then + + if ! has_version "=sys-devel/gcc-3*" ; then + die "If you must run gromacs without sse (not recommended) gfortran will not work." + else myconf="$myconf --enable-fortran" && fortran_pkg_setup + + fi + fi + ;; + + amd64) + myconf="$myconf --enable-x86-64-sse" + ;; + + ppc) + if use altivec ; then + myconf="$myconf --enable-ppc-altivec --disable-fortran" + else + if ! has_version "=sys-devel/gcc-3*" ; then + + die "If you must run gromacs without sse (not recommended) gfortran will not work." + fi + myconf="$myconf --enable-fortran" && fortran_pkg_setup + fi + ;; + + ppc64) + if use altivec ; then + myconf="$myconf --enable-ppc-altivec --disable-fortran" + else + if ! has_version "=sys-devel/gcc-3*" ; then + die "If you must run gromacs without sse (not recommended) gfortran will not work." + fi + myconf="$myconf --enable-fortran" && fortran_pkg_setup + fi + ;; + + sparc) + if ! has_version "=sys-devel/gcc-3*" ; then + + die "If you must run gromacs without sse (not recommended) gfortran will not work." + else + myconf="$myconf --enable-fortran" && fortran_pkg_setup + fi + ;; + + ia64) + myconf="$myconf --enable-ia64-asm" + ;; + + alpha) + myconf="$myconf --enable-axp-asm" + ;; + +esac + +myconf="--enable-shared \ + --datadir=/usr/share \ + --bindir=/usr/bin \ + --libdir=/usr/$(get_libdir) \ + --with-fft=fftw3 \ + $(use_with X x) \ + ${myconf}" + +# $(use_with mopac7 qmmm-mopac) \ + +cd "${WORKDIR}"/${P}-single + econf ${myconf} --enable-float || die "configure single-precision failed" + + emake || die "emake single failed" + + if use mpi ; then + cd "${WORKDIR}"/${P}-single-mpi + econf ${myconf} --enable-float --enable-mpi --program-suffix=_mpi \ + || die "failed to configure single-mpi mdrun" + emake mdrun || die "failed to make single-precision mpi mdrun" ; + fi + + if use double-precision ; then + cd "${WORKDIR}"/${P}-double + + econf ${myconf} --enable-double --program-suffix=_d \ + || die "configure double-precision failed" + + emake || die "emake double failed" + + if use mpi ; then + cd "${WORKDIR}"/${P}-double-mpi + econf ${myconf} --enable-double --enable-mpi --program-suffix=_mpi_d \ + || die "failed to configure double-mpi mdrun" ; + + emake mdrun \ + || die "failed to make double-precision mpi mdrun" ; + fi + fi + +} + +src_install () { + cd ${WORKDIR}/${P}-single ; + emake DESTDIR=${D} install || die "installing single failed" + + if use mpi ; then + cd "${WORKDIR}"/${P}-single-mpi + emake DESTDIR=${D} install-mdrun \ + || die "installing mdrun_mpi failed" + fi + + if use double-precision ; then + cd ${WORKDIR}/${P}-double && emake DESTDIR=${D} install \ + || die "installing double failed" + + if use mpi ; then + cd "${WORKDIR}"/${P}-double-mpi + emake DESTDIR=${D} install-mdrun \ + || die "installing mdrun_mpi_d failed" + fi + + fi + + dodoc AUTHORS INSTALL README + + # Move html and leave examples and templates under /usr/share/gromacs. + mv "${D}"/usr/share/"${PN}"/html "${D}"/usr/share/doc/"${PF}"/ +} |