summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2006-12-14 14:52:07 +0000
committerMarkus Dittrich <markusle@gentoo.org>2006-12-14 14:52:07 +0000
commit68057846ada800e93ed95887f2ba71e9ce9a7935 (patch)
tree6c0d44f43fada1e85cd17a332fb6c571f8b77668 /sci-chemistry
parentStu retired; dropping as secondary maintainer. (diff)
downloadgentoo-2-68057846ada800e93ed95887f2ba71e9ce9a7935.tar.gz
gentoo-2-68057846ada800e93ed95887f2ba71e9ce9a7935.tar.bz2
gentoo-2-68057846ada800e93ed95887f2ba71e9ce9a7935.zip
Version bump. This version includes the NEO code.
(Portage version: 2.1.2_rc3-r2)
Diffstat (limited to 'sci-chemistry')
-rw-r--r--sci-chemistry/gamess/ChangeLog8
-rw-r--r--sci-chemistry/gamess/files/digest-gamess-20060907.43
-rw-r--r--sci-chemistry/gamess/files/gamess-20060907.4.gentoo.patch221
-rw-r--r--sci-chemistry/gamess/gamess-20060907.4.ebuild217
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
+}