summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Gardner <je_fro@gentoo.org>2006-12-20 04:44:52 +0000
committerJeffrey Gardner <je_fro@gentoo.org>2006-12-20 04:44:52 +0000
commitf4fe8416ebeb8dad5f5baf66b4ee989194d834cc (patch)
tree751e07c1c3b294e5555abbd0accaf393c0514c85 /sci-chemistry/gromacs
parentkeyword ~amd64 (diff)
downloadgentoo-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/ChangeLog7
-rw-r--r--sci-chemistry/gromacs/files/digest-gromacs-3.3.1-r13
-rw-r--r--sci-chemistry/gromacs/files/gromacs-alpha-axp_asm.patch11
-rw-r--r--sci-chemistry/gromacs/gromacs-3.3.1-r1.ebuild215
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}"/
+}