diff options
author | Markus Dittrich <markusle@gentoo.org> | 2008-05-10 10:53:29 +0000 |
---|---|---|
committer | Markus Dittrich <markusle@gentoo.org> | 2008-05-10 10:53:29 +0000 |
commit | 1da0788729688f13821a269e33552a9c2aaea75f (patch) | |
tree | 66f8355a433c811115801f3066e6a906c63cad2b /sci-chemistry/gamess | |
parent | don't do userland_Darwin crap (diff) | |
download | gentoo-2-1da0788729688f13821a269e33552a9c2aaea75f.tar.gz gentoo-2-1da0788729688f13821a269e33552a9c2aaea75f.tar.bz2 gentoo-2-1da0788729688f13821a269e33552a9c2aaea75f.zip |
Re-added accidentally removed stable version.
(Portage version: 2.1.5_rc7, RepoMan options: --force)
Diffstat (limited to 'sci-chemistry/gamess')
-rw-r--r-- | sci-chemistry/gamess/ChangeLog | 6 | ||||
-rw-r--r-- | sci-chemistry/gamess/gamess-20070324.1.ebuild | 214 |
2 files changed, 219 insertions, 1 deletions
diff --git a/sci-chemistry/gamess/ChangeLog b/sci-chemistry/gamess/ChangeLog index fbb8d00708b4..5d4ceb1957fb 100644 --- a/sci-chemistry/gamess/ChangeLog +++ b/sci-chemistry/gamess/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sci-chemistry/gamess # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.25 2008/05/08 17:42:47 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.26 2008/05/10 10:53:29 markusle Exp $ + + 10 May 2008; Markus Dittrich <markusle@gentoo.org> + +gamess-20070324.1.ebuild: + Re-added accidentally removed stable version. *gamess-20080411.1 (08 May 2008) diff --git a/sci-chemistry/gamess/gamess-20070324.1.ebuild b/sci-chemistry/gamess/gamess-20070324.1.ebuild new file mode 100644 index 000000000000..0cf7ddedefc3 --- /dev/null +++ b/sci-chemistry/gamess/gamess-20070324.1.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/gamess-20070324.1.ebuild,v 1.8 2008/05/10 10:53:29 markusle Exp $ + +inherit eutils toolchain-funcs fortran flag-o-matic + +DESCRIPTION="A powerful quantum chemistry package" +LICENSE="gamess" +HOMEPAGE="http://www.msg.ameslab.gov/GAMESS/GAMESS.html" +SRC_URI="${P}.tar.gz" + +SLOT="0" +KEYWORDS="~ppc x86" +IUSE="hardened blas" + +RESTRICT="fetch" + +DEPEND="app-shells/tcsh + hardened? ( sys-apps/paxctl ) + blas? ( virtual/blas )" + +RDEPEND="${DEPEND} + net-misc/openssh" + +S="${WORKDIR}/${PN}" + +GAMESS_DOWNLOAD="http://www.msg.ameslab.gov/GAMESS/License_Agreement.html" +GAMESS_VERSION="24 MAR 2007 (R1)" +FORTRAN="ifc g77 gfortran" + +pkg_nofetch() { + echo + einfo "Please download ${PN}-current.tar.gz from" + einfo "${GAMESS_DOWNLOAD}." + einfo "Be sure to select the version ${GAMESS_VERSION} tarball!!" + einfo "Then move the tarball to" + einfo "${DISTDIR}/${P}.tar.gz" + echo +} + +pkg_setup() { + fortran_pkg_setup + + # blas and ifc don't go together + if use blas && [[ "${FORTRANC}" = "ifc" ]]; then + echo + ewarn "${PN} can not be compiled with USE=blas and ifc." + ewarn "Linking against GAMESS' internal blas instead." + echo + fi +} + +src_unpack() { + unpack ${A} + + # apply LINUX-arch patches to gamess makesfiles + epatch "${FILESDIR}"/${P}.gentoo.patch + + # for hardened-gcc let't turn off ssp, since it breakes + # a few routines + cd "${S}" + if use hardened && [[ "${FORTRANC}" = "g77" ]]; then + FFLAGS="${FFLAGS} -fno-stack-protector-all" + fi + + # enable NEO + sed -e "s:NEO=false:NEO=true:" -i compall lked || \ + die "Failed to enable NEO code" + + # 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 + + # use proper blas + if ! use blas || [[ "${FORTRANC}" = "ifc" ]]; then + sed -e "s|/usr/lib/libblas.a|/usr/lib/dontuselibblas.a|" \ + -i lked || die "Failed to adjust blas in lked" + 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 ddi/ddikick.x rungms \ + || die "Failed installing binaries" + + # 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 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 +} |