diff options
Diffstat (limited to 'sci-chemistry/gamess/gamess-20090112.3-r1.ebuild')
-rw-r--r-- | sci-chemistry/gamess/gamess-20090112.3-r1.ebuild | 288 |
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 -} |