diff options
Diffstat (limited to 'sci-chemistry/gamess')
-rw-r--r-- | sci-chemistry/gamess/ChangeLog | 8 | ||||
-rw-r--r-- | sci-chemistry/gamess/files/digest-gamess-20060907.4 | 3 | ||||
-rw-r--r-- | sci-chemistry/gamess/files/gamess-20060907.4.gentoo.patch | 221 | ||||
-rw-r--r-- | sci-chemistry/gamess/gamess-20060907.4.ebuild | 217 |
4 files changed, 448 insertions, 1 deletions
diff --git a/sci-chemistry/gamess/ChangeLog b/sci-chemistry/gamess/ChangeLog index 9fa212fc1b2f..c3598029d25e 100644 --- a/sci-chemistry/gamess/ChangeLog +++ b/sci-chemistry/gamess/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-chemistry/gamess # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.17 2006/09/26 14:43:09 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.18 2006/12/14 14:52:07 markusle Exp $ + +*gamess-20060907.4 (14 Dec 2006) + + 14 Dec 2006; Markus Dittrich <markusle@gentoo.org> + +files/gamess-20060907.4.gentoo.patch, +gamess-20060907.4.ebuild: + Version bump. This version includes the NEO code. *gamess-20060222.5 (26 Sep 2006) diff --git a/sci-chemistry/gamess/files/digest-gamess-20060907.4 b/sci-chemistry/gamess/files/digest-gamess-20060907.4 new file mode 100644 index 000000000000..f59129bd8b3f --- /dev/null +++ b/sci-chemistry/gamess/files/digest-gamess-20060907.4 @@ -0,0 +1,3 @@ +MD5 1f31f0c02dd8f87cdeec37e9ebfd9d48 gamess-20060907.4.tar.gz 7864905 +RMD160 6e01ab4aabc41980fff74b512ef3b952a5e3f0c8 gamess-20060907.4.tar.gz 7864905 +SHA256 8361f50e18ce5301e42375f820d8c41297ca1639fe02441c0a376b19d5e61ea9 gamess-20060907.4.tar.gz 7864905 diff --git a/sci-chemistry/gamess/files/gamess-20060907.4.gentoo.patch b/sci-chemistry/gamess/files/gamess-20060907.4.gentoo.patch new file mode 100644 index 000000000000..746f778de006 --- /dev/null +++ b/sci-chemistry/gamess/files/gamess-20060907.4.gentoo.patch @@ -0,0 +1,221 @@ +diff -Naur gamess/comp gamess-new/comp +--- gamess/comp 2006-11-06 10:17:54.000000000 -0500 ++++ gamess-new/comp 2006-12-13 18:06:06.000000000 -0500 +@@ -11,8 +11,8 @@ + # linux-ia64,linux-pc,mac32,macG5,necsx,sgi32,sgi64,sun32,sun64 + # 2. Choose your GAMESS directory tree. + # +-set TARGET=ibm64 +-chdir /u1/mike/gamess ++set TARGET=linux-pc ++#chdir /u1/mike/gamess + # + # ---- and now the script begins... + # +@@ -300,6 +300,7 @@ + if ($MODULE == neomp2) set NEOCMP=true + if ($MODULE == neosym) set NEOCMP=true + if ($MODULE == neotrn) set NEOCMP=true ++if ($MODULE == neopos) set NEOCMP=true + if ($NEOCMP == true && $ACTONLY != true) set SRCDIR=qmnuc/neo + # + # ----- Does this module need to be activated? ----- +@@ -701,7 +702,7 @@ + switch ($FORTRAN) + + case gfortran: +- set OPT='-O2' ++ set gentoo-OPT = '-O2' + if ($MODULE == zheev) set OPT='-O0' # defensive compiling + if (($MODULE == qeigen) || ($MODULE == int2c)) then + mv $MODULE.f $MODULE.junk +@@ -1148,7 +1149,7 @@ + # The only thing you need to change is the next line. + # Note: you must make the analogous choice in compddi and lked, as well. + # +- set FORTRAN=g77 # choose from g77, gfortran, ifort, pgf77, f2c ++ set FORTRAN=gentoo-g77 # choose from g77, gfortran, ifort, pgf77, f2c + # + switch ($FORTRAN) + # +@@ -1167,7 +1168,7 @@ + # Pentium II fractionally). None of these optimizations are used below. + # + case g77: +- set OPT = '-O2' ++ set gentoo-OPT = '-O2' + if ($MODULE == ormas1) set OPT='-O2 -fno-move-all-movables' # RH9, g77 3.3 + if ($MODULE == zheev) set OPT='-O0' # defensive compiling + # +@@ -1203,7 +1204,7 @@ + # -std=legacy suppresses warnings about use of f77 constructs. + # + case gfortran: +- set OPT='-O2' ++ set gentoo-OPT = '-O2' + if ($MODULE == zheev) set OPT='-O0' # defensive compiling + if (($MODULE == qeigen) || ($MODULE == int2c)) then + mv $MODULE.f $MODULE.junk +@@ -1230,7 +1231,7 @@ + # but that may cause certain ifort versions to fail on some files. + # + case ifort: +- set OPT = '-O3' ++ set gentoo-OPT = '-O2' + if ($MODULE == delocl) set OPT='-O0' # from Cheol + if ($MODULE == zheev) set OPT='-O0' + set echo +diff -Naur gamess/compall gamess-new/compall +--- gamess/compall 2006-11-19 18:02:49.000000000 -0500 ++++ gamess-new/compall 2006-12-13 09:13:42.000000000 -0500 +@@ -12,8 +12,8 @@ + # linux-ia64,linux-pc,mac32,macG5,necsx,sgi32,sgi64,sun32,sun64 + # 2. Choose your GAMESS directory tree. + # +-set TARGET=ibm64 +-chdir /u1/mike/gamess ++set TARGET=linux-pc ++#chdir /u1/mike/gamess + # + # ----- and now the script begins... + # +diff -Naur gamess/ddi/compddi gamess-new/ddi/compddi +--- gamess/ddi/compddi 2006-08-30 09:34:15.000000000 -0400 ++++ gamess-new/ddi/compddi 2006-12-13 09:14:23.000000000 -0500 +@@ -14,7 +14,7 @@ + # fuji-pp32,fuji-pp64,hpux32,hpux64,ibm32,ibm64,ibm64-sp,ibm-bg, + # linux-ia64,linux-pc,mac32,macG5,necsx,sgi32,sgi64,sun32,sun64 + # +- set TARGET = ibm64 ++ set TARGET = linux-pc + + # 2. Choose DDI communication layer, the only legal values are + # sockets,mixed,mpi,shmem,lapi +@@ -488,9 +488,9 @@ + # + if($TARGET == linux-pc) then + +- set FORTRAN=g77 # choose from g77, gfortran, ifort, pgf77, f2c ++ set FORTRAN=gentoo-g77 # choose from g77, gfortran, ifort, pgf77, f2c + +- set CC = 'gcc' ++ set gentoo-CC = 'gcc' + set CFLAGS = "-DLINUX -O3 -fstrict-aliasing -I./include" + + switch ($FORTRAN) +diff -Naur gamess/ddi/tools/ddikick/ddikick.c gamess-new/ddi/tools/ddikick/ddikick.c +--- gamess/ddi/tools/ddikick/ddikick.c 2006-06-05 03:15:09.000000000 -0400 ++++ gamess-new/ddi/tools/ddikick/ddikick.c 2006-12-13 09:13:42.000000000 -0500 +@@ -105,7 +105,7 @@ + remoteshell = argv[++i]; + } else { + if((remoteshell = getenv("DDI_RSH")) == NULL) { +- remoteshell = (char *) strdup("rsh"); ++ remoteshell = (char *) strdup("ssh"); + } + } + +diff -Naur gamess/lked gamess-new/lked +--- gamess/lked 2006-11-19 18:02:58.000000000 -0500 ++++ gamess-new/lked 2006-12-13 09:13:42.000000000 -0500 +@@ -14,8 +14,8 @@ + # linux-ia64,linux-pc,mac32,macG5,necsx,sgi32,sgi64,sun32,sun64 + # 2. Choose your GAMESS directory tree. + # +-set TARGET=ibm64 +-chdir /u1/mike/gamess ++set TARGET=linux-pc ++#chdir /u1/mike/gamess + # + # ---- and now the script begins... + # +@@ -330,22 +330,22 @@ + # + if ($TARGET == linux-pc) then + # +- set FORTRAN=g77 # choose from g77, gfortran, ifort, pgf77, f2c ++ set FORTRAN=gentoo-g77 # choose from g77, gfortran, ifort, pgf77, f2c + # + switch ($FORTRAN) + case g77: + set LDR='g77' +- set LDOPTS=' ' # add '-Wl,-M' to see load map ++ set gentoo-LDOPTS=' ' # add '-Wl,-M' to see load map + set LIBRARIES=' ' + breaksw + case gfortran: + set LDR='gfortran' +- set LDOPTS=' ' ++ set gentoo-LDOPTS=' ' + set LIBRARIES=' ' + breaksw + case ifort: + set LDR='ifort' +- set LDOPTS=' ' # add '-Wl,-M' to see load map ++ set gentoo-LDOPTS=' ' # add '-Wl,-M' to see load map + set LIBRARIES='-Vaxlib' + breaksw + case pgf77: +diff -Naur gamess/runall gamess-new/runall +--- gamess/runall 2006-11-06 10:04:51.000000000 -0500 ++++ gamess-new/runall 2006-12-13 09:13:42.000000000 -0500 +@@ -10,7 +10,7 @@ + # Edit this file to set the base path to GAMESS, and execute it to be + # sure all the jobs TERMINATED NORMALLY, and got correct numbers too. + # +-chdir /u1/mike/gamess ++#chdir /u1/mike/gamess + set VERNO=00 + # + foreach NUM ( 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \ +diff -Naur gamess/rungms gamess-new/rungms +--- gamess/rungms 2006-11-19 18:09:11.000000000 -0500 ++++ gamess-new/rungms 2006-12-13 09:13:42.000000000 -0500 +@@ -54,7 +54,7 @@ + # of using LoadLeveler via a "llgms" front end in ~/gamess/misc. + # + set TARGET=sockets +-set SCR=/scr/$USER ++set SCR=`pwd` + # + set JOB=$1 # name of the input file xxx.inp, give only the xxx part + set VERNO=$2 # revision number of the executable created by 'lked' step +@@ -114,14 +114,14 @@ + # + set echo + # ASCII input files (see explanation above) +-setenv ERICFMT ~mike/gamess/ericfmt.dat +-setenv MCPPATH ~mike/gamess/mcpdata ++setenv ERICFMT /usr/share/gamess/ericfmt/ericfmt.dat ++setenv MCPPATH /usr/share/gamess/mcpdata + setenv EXTBAS /dev/null + setenv NUCBAS /dev/null + # +-setenv IRCDATA ~$USER/scr/$JOB.irc ++setenv IRCDATA $SCR/$JOB.irc + setenv INPUT $SCR/$JOB.F05 +-setenv PUNCH ~$USER/scr/$JOB.dat ++setenv PUNCH $SCR/$JOB.dat + setenv AOINTS $SCR/$JOB.F08 + setenv MOINTS $SCR/$JOB.F09 + setenv DICTNRY $SCR/$JOB.F10 +@@ -151,8 +151,8 @@ + setenv SOINTY $SCR/$JOB.F32 + setenv SOINTZ $SCR/$JOB.F33 + setenv SORESC $SCR/$JOB.F34 +-setenv SIMEN ~$USER/scr/$JOB.simen +-setenv SIMCOR ~$USER/scr/$JOB.simcor ++setenv SIMEN $SCR/$JOB.simen ++setenv SIMCOR $SCR/$JOB.simcor + setenv GCILIST $SCR/$JOB.F37 + setenv HESSIAN $SCR/$JOB.F38 + setenv SOCCDAT $SCR/$JOB.F40 +@@ -332,7 +332,7 @@ + if ($os == HP-UX) set GMSPATH=/zr/mike/gamess + if ($os == IRIX) set GMSPATH=/home/hbar4/people/schmidt/gamess + if ($os == IRIX64) set GMSPATH=/home/hbar4/people/schmidt/gamess +- if ($os == Linux) set GMSPATH=/cu/mike/gamess ++ if ($os == Linux) set GMSPATH=/usr/bin + if ($os == OSF1) set GMSPATH=/au/mike/gamess + if ($os == SunOS) set GMSPATH=/hf/mike/gamess + # special compilation for my old Sun (uname also replies SunOS) diff --git a/sci-chemistry/gamess/gamess-20060907.4.ebuild b/sci-chemistry/gamess/gamess-20060907.4.ebuild new file mode 100644 index 000000000000..b9302483f147 --- /dev/null +++ b/sci-chemistry/gamess/gamess-20060907.4.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/gamess-20060907.4.ebuild,v 1.1 2006/12/14 14:52:07 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="app-shells/tcsh + net-misc/openssh" + +S="${WORKDIR}/${PN}" + +GAMESS_DOWNLOAD="http://www.msg.ameslab.gov/GAMESS/License_Agreement.html" +GAMESS_VERSION="7 SEP 2006 (R4)" +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() { + cd "${S}" + + # 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 +} |