summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/gamess/gamess-20090112.3-r1.ebuild')
-rw-r--r--sci-chemistry/gamess/gamess-20090112.3-r1.ebuild288
1 files changed, 0 insertions, 288 deletions
diff --git a/sci-chemistry/gamess/gamess-20090112.3-r1.ebuild b/sci-chemistry/gamess/gamess-20090112.3-r1.ebuild
deleted file mode 100644
index 520e6ac9b94b..000000000000
--- a/sci-chemistry/gamess/gamess-20090112.3-r1.ebuild
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/gamess-20090112.3-r1.ebuild,v 1.3 2009/11/30 17:33:36 mr_bones_ Exp $
-
-EAPI="2"
-
-inherit eutils toolchain-funcs fortran flag-o-matic
-
-DESCRIPTION="A powerful quantum chemistry package"
-LICENSE="gamess"
-HOMEPAGE="http://www.msg.chem.iastate.edu/GAMESS/GAMESS.html"
-SRC_URI="
- ${P}.tar.gz
- qmmm-tinker? ( tinker.tar.Z )"
-
-SLOT="0"
-# NOTE: PLEASE do not stabilize gamess. It does not make sense
-# since the tarball has fetch restrictions and upstream only
-# provides the latest version. In other words: As soon as a
-# new version comes out the stable version will be useless since
-# users can not get at the tarball any more.
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="hardened mpi qmmm-tinker"
-
-RESTRICT="fetch"
-
-DEPEND="app-shells/tcsh
- hardened? ( sys-apps/paxctl )
- mpi? ( virtual/mpi )
- virtual/blas"
-
-RDEPEND="${DEPEND}
- net-misc/openssh"
-
-S="${WORKDIR}/${PN}"
-
-GAMESS_DOWNLOAD="http://www.msg.ameslab.gov/GAMESS/License_Agreement.html"
-GAMESS_VERSION="12 JAN 2009 (R3)"
-FORTRAN="ifc g77 gfortran"
-
-pkg_nofetch() {
- echo
- elog "Please download ${PN}-current.tar.gz from"
- elog "${GAMESS_DOWNLOAD}."
- elog "Be sure to select the version ${GAMESS_VERSION} tarball!!"
- elog "Then move the tarball to"
- elog "${DISTDIR}/${P}.tar.gz"
- if use qmmm-tinker ; then
- elog "Also download http://www.msg.ameslab.gov/GAMESS/tinker.tar.Z"
- elog "and place tinker.tar.Z to ${DISTDIR}"
- fi
- echo
-}
-
-pkg_setup() {
- fortran_pkg_setup
-
- # currently amd64 is only supported with gfortran
- if [[ "${ARCH}" == "amd64" ]] && [[ "${FORTRANC}" != "gfortran" ]];
- then die "You will need gfortran to compile gamess on amd64"
- fi
-
- # note about qmmm-tinker
- if use qmmm-tinker; then
- einfo "By default MM subsistem is restricted to 1000 atoms"
- einfo "if you want larger MM subsystems then you should set"
- einfo "QMMM_GAMESS_MAXMM variable to needed value in your make.conf"
- ebeep 5
- fi
-
- #note about mpi
- if use mpi; then
- ewarn ""
- ewarn "You should adjust rungms script for your mpi implentation"
- ewarn "because deafult one will not work"
- ewarn ""
- fi
-}
-
-src_unpack() {
- unpack ${A}
-
- if use qmmm-tinker; then
- mv tinker gamess/ || die "failed to move tinker directory"
- fi
-}
-
-src_prepare() {
- # apply LINUX-arch patches to gamess makesfiles
- epatch "${FILESDIR}"/${PN}-20090112.1.gentoo.patch
- # select arch
- # NOTE: please leave lked alone; it should be good as is!!
- cd "${S}"
- local active_arch;
- if [[ "${ARCH}" == "amd64" ]]; then
- active_arch="linux64";
- else
- active_arch="linux32";
- fi
- sed -e "s:gentoo-target:${active_arch}:" \
- -i comp compall ddi/compddi \
- || die "Failed to select proper architecure"
-
- # for hardened-gcc let't turn off ssp, since it breakes
- # a few routines
- if use hardened && [[ "${FORTRANC}" = "g77" ]]; then
- FFLAGS="${FFLAGS} -fno-stack-protector-all"
- fi
-
- # Enable mpi stuff
- if use mpi; then
- sed -e "s:set COMM = sockets:set COMM = mpi:g" \
- -i ddi/compddi || die "Enabling mpi build failed"
- sed -e "s:MPI_INCLUDE_PATH = ' ':MPI_INCLUDE_PATH = '-I/usr/include ':g" \
- -i ddi/compddi || die "Enabling mpi build failed"
- sed -e "s:MSG_LIBRARIES='../ddi/libddi.a -lpthread':MSG_LIBRARIES='../ddi/libddi.a -lmpi -lpthread':g" \
- -i lked || die "Enabling mpi build failed"
- fi
-
- # enable NEO
- sed -e "s:NEO=false:NEO=true:" -i compall lked || \
- die "Failed to enable NEO code"
- # enable GAMESS-qmmm
- if use qmmm-tinker; then
- sed -e "s:TINKER=false:TINKER=true:" -i compall lked || \
- die "Failed to enable TINKER code"
- if [ "x$QMMM_GAMESS_MAXMM" == "x" ]; then
- einfo "No QMMM_GAMESS_MAXMM set. Using default value = 1000"
- else
- einfo "Setting QMMM_GAMESS_MAXMM to $QMMM_GAMESS_MAXMM"
- sed -e "s:maxatm=1000:maxatm=$QMMM_GAMESS_MAXMM:g" \
- -i tinker/sizes.i \
- || die "Setting QMMM_GAMESS_MAXMM failed"
- sed -e "s:MAXATM=1000:MAXATM=$QMMM_GAMESS_MAXMM:g" \
- -i source/inputb.src \
- || die "Setting QMMM_GAMESS_MAXMM failed"
- fi
- fi
- # greate proper activate sourcefile
- cp "./tools/actvte.code" "./tools/actvte.f" || \
- die "Failed to create actvte.f"
- sed -e "s/^\*UNX/ /" -i "./tools/actvte.f" || \
- die "Failed to perform UNX substitutions in actvte.f"
-
- # fix GAMESS' compall script to use proper CC
- sed -e "s|\$CCOMP -c \$extraflags source/zunix.c|$(tc-getCC) -c \$extraflags source/zunix.c|" \
- -i compall || die "Failed setting up compall script"
-
- # insert proper FFLAGS into GAMESS' comp makefile
- # in case we're using ifc let's strip all the gcc
- # specific stuff
- if [[ "${FORTRANC}" == "ifc" ]]; then
- sed -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS} -quiet'/" \
- -e "s/gentoo-g77/${FORTRANC}/" \
- -i comp || die "Failed setting up comp script"
- elif ! use x86; then
- sed -e "s/-malign-double //" \
- -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS}'/" \
- -e "s/gentoo-g77/${FORTRANC}/" \
- -i comp || die "Failed setting up comp script"
- else
- sed -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS}'/" \
- -e "s/gentoo-g77/${FORTRANC}/" \
- -i comp || die "Failed setting up comp script"
- fi
-
- # fix up GAMESS' linker script;
- sed -e "s/gentoo-g77/${FORTRANC}/" \
- -e "s/gentoo-LDOPTS=' '/LDOPTS='${LDFLAGS}'/" \
- -i lked || die "Failed setting up lked script"
-
- # fix up GAMESS' ddi TCP/IP socket build
- sed -e "s/gentoo-CC = 'gcc'/CC = '$(tc-getCC)'/" \
- -e "s/gentoo-g77/${FORTRANC}/" \
- -i ddi/compddi || die "Failed setting up compddi script"
-
- # fix up the checker scripts for gamess tests
- sed -e "s:set GMSPATH:#set GMSPATH:g" \
- -e "s:\$GMSPATH/tools/checktst:.:g" \
- -i tools/checktst/checktst
-}
-
-src_compile() {
- # build actvte
- cd "${S}"/tools
- "${FORTRANC}" -o actvte.x actvte.f || \
- die "Failed to compile actvte.x"
-
- # for hardened (PAX) users and ifc we need to turn
- # MPROTECT off
- if [[ "${FORTRANC}" == "ifc" ]] && use hardened; then
- /sbin/paxctl -PemRxS actvte.x 2> /dev/null || \
- die "paxctl failed on actvte.x"
- fi
-
- # build gamess
- cd "${S}"
- ./compall || die "compall failed"
-
- # build the ddi TCP/IP socket stuff
- cd ${S}/"ddi"
- ./compddi || die "compddi failed"
-
- # finally, link it all together
- cd "${S}"
- ./lked || die "lked failed"
-
- # for hardened (PAX) users and ifc we need to turn
- # MPROTECT off
- if [[ "${FORTRANC}" == "ifc" ]] && use hardened; then
- /sbin/paxctl -PemRxS ${PN}.00.x 2> /dev/null || \
- die "paxctl failed on actvte.x"
- fi
-}
-
-src_install() {
- # the executables
- dobin ${PN}.00.x rungms \
- || die "Failed installing binaries"
- if use !mpi; then
- dobin ddi/ddikick.x \
- || die "Failed installing binaries"
- fi
-
- # the docs
- dodoc *.DOC qmnuc/*.DOC || die "Failed installing docs"
-
- # install ericftm
- insinto /usr/share/${PN}/ericfmt
- doins ericfmt.dat || die "Failed installing ericfmt.dat"
-
- # install mcpdata
- insinto /usr/share/${PN}/mcpdata
- doins mcpdata/* || die "Failed installing mcpdata"
-
- # install tinker params in case of qmmm
- if use qmmm-tinker ; then
- dodoc tinker/simomm.doc || die "Failed installing docs"
- insinto /usr/share/${PN}
- doins -r tinker/params || die "Failed to install Tinker params"
- fi
-
- # install the tests the user should run, and
- # fix up the runscript; also grab a copy of rungms
- # so the user is ready to run the tests
- insinto /usr/share/${PN}/tests
- insopts -m0644
- doins tests/* || die "Failed installing tests"
- insopts -m0744
- doins runall || die "Failed installing tests"
- doins tools/checktst/checktst tools/checktst/chkabs || \
- die "Failed to install main test checker"
- doins tools/checktst/exam* || \
- die "Failed to install individual test files"
-
- insinto /usr/share/${PN}/neotests
- insopts -m0644
- doins -r qmnuc/neotests/* || die "Failed to install NEO tests"
-}
-
-pkg_postinst() {
- echo
- einfo "Before you use GAMESS for any serious work you HAVE"
- einfo "to run the supplied test files located in"
- einfo "/usr/share/gamess/tests and check them thoroughly."
- einfo "Otherwise all scientific publications resulting from"
- einfo "your GAMESS runs should be immediately rejected :)"
- einfo "To do so copy the content of /usr/share/gamess/tests"
- einfo "to some temporary location and execute './runall'. "
- einfo "Then run the checktst script in the same directory to"
- einfo "validate the tests."
- einfo "Please consult TEST.DOC and the other docs!"
-
- if [[ "${FORTRANC}" == "ifc" ]]; then
- echo
- ewarn "IMPORTANT NOTE: We STRONGLY recommend to stay away"
- ewarn "from ifc-9.0 for now and use the ifc-8.1 series of"
- ewarn "compilers UNLESS you can run through ALL of the "
- ewarn "test cases (see above) successfully."
- fi
-
- echo
- einfo "If you want to run on more than a single CPU"
- einfo "you will have to acquaint yourself with the way GAMESS"
- einfo "does multiprocessor runs and adjust rungms according to"
- einfo "your target network architecture."
- echo
-}