summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-chemistry/gamess
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-chemistry/gamess')
-rw-r--r--sci-chemistry/gamess/Manifest2
-rw-r--r--sci-chemistry/gamess/files/gamess-20110811.1.gentoo.patch263
-rw-r--r--sci-chemistry/gamess/files/gamess-checktst.patch21
-rw-r--r--sci-chemistry/gamess/files/gamess-qmmm-tinker-fix-idate.patch20
-rw-r--r--sci-chemistry/gamess/gamess-20110811.1.ebuild337
-rw-r--r--sci-chemistry/gamess/metadata.xml14
6 files changed, 657 insertions, 0 deletions
diff --git a/sci-chemistry/gamess/Manifest b/sci-chemistry/gamess/Manifest
new file mode 100644
index 000000000000..d6cb7f6ac130
--- /dev/null
+++ b/sci-chemistry/gamess/Manifest
@@ -0,0 +1,2 @@
+DIST gamess-20110811.1.tar.gz 21105973 SHA256 b7b7af0eb141c140da31bcd9ef29fbafd82fbe45c087cadd7948d4c0a3cefe57
+DIST tinker.tar.Z 1902051 SHA256 7c52454ade7dd81d1b70a7e7722eda3672c644a3ba67ab444824a0212b4a7a8c
diff --git a/sci-chemistry/gamess/files/gamess-20110811.1.gentoo.patch b/sci-chemistry/gamess/files/gamess-20110811.1.gentoo.patch
new file mode 100644
index 000000000000..7bf5797bf513
--- /dev/null
+++ b/sci-chemistry/gamess/files/gamess-20110811.1.gentoo.patch
@@ -0,0 +1,263 @@
+diff -urN gamess.orig/comp gamess/comp
+--- gamess.orig/comp 2011-08-11 17:37:48.000000000 +0200
++++ gamess/comp 2011-10-11 15:17:23.349829478 +0200
+@@ -1444,7 +1444,7 @@
+ # g77 does not support FORTRAN logical units above 99, or 128 bit math.
+ #
+ 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
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+@@ -1474,7 +1474,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 == pcmcv2) set OPT='-O1' # EFP+CPCM, ala Francois, v4.1.2
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+@@ -1500,7 +1500,7 @@
+ # optimizations in 32 bit mode, as a function of the ifort version.
+ #
+ case ifort:
+- set OPT = '-O3'
++ set gentoo-OPT = '-O2'
+ if ($MODULE == delocl) set OPT='-O0' # from Cheol
+ if ($MODULE == prpamm) set OPT='-O0' # for exam13
+ if ($MODULE == zheev) set OPT='-O0'
+@@ -1617,7 +1617,7 @@
+ case gfortran:
+ # -finit-real=<zero|inf|-inf|nan> could be interesting debug opt
+ # -fno-automatic forces static storage of all local variables
+- set OPT='-O2'
++ set gentoo-OPT = '-O2'
+ if (".$GMS_DEBUG_FLAGS" != .) set OPT="$GMS_DEBUG_FLAGS"
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+@@ -1648,7 +1648,7 @@
+ # -WB means warn but don't fail on out-of-bounds array references
+ # -ftz flushes underflow results to zero
+ #
+- set OPT = '-O2'
++ set gentoo-OPT = '-O2'
+ if (".$GMS_DEBUG_FLAGS" != .) set OPT="$GMS_DEBUG_FLAGS"
+ # alas, I'm so tired of hearing about so many versions failing to
+ # diagonalize, that this time critical code is run w/o optimization.
+diff -urN gamess.orig/compall gamess/compall
+--- gamess.orig/compall 2011-05-17 22:53:33.000000000 +0200
++++ gamess/compall 2011-10-11 12:13:30.041087251 +0200
+@@ -84,12 +84,11 @@
+ endif
+ endif
+ if ($TARGET == linux32) set extraflags='-DLINUX32'
+-if ($TARGET == linux64) then
++if ($TARGET == linux64) then
++ set chip=`uname -m`
+ # Ubuntu uses the non-standard -m flag, its -p replies "unknown"
+- set chip=`uname -p`
+- if ($chip == unknown) set chip=`uname -m`
+- if ($chip == x86_64) set extraflags='-DLINUX64 -m64'
+- if ($chip == ia64) set extraflags='-DLINUX64' # this always 64 bits
++ if ($chip == x86_64) set extraflags='-DLINUX64 -m64'
++ if ($chip == ia64) set extraflags='-DLINUX64' # this always 64 bits
+ endif
+ if ($TARGET == mac32) set extraflags='-DLINUX32'
+ if ($TARGET == mac64) set extraflags='-DLINUX64 -m64 -I/usr/include/malloc'
+diff -urN gamess.orig/ddi/compddi gamess/ddi/compddi
+--- gamess.orig/ddi/compddi 2011-02-15 21:31:30.000000000 +0100
++++ gamess/ddi/compddi 2011-10-11 12:23:45.513796580 +0200
+@@ -634,7 +634,7 @@
+
+ set FORTRAN=$GMS_FORTRAN # might be g77, gfortran, ifort, pgf77, f2c
+
+- set CC = 'gcc'
++ set gentoo-CC = 'gcc'
+ set CFLAGS = "-DLINUX -O3 -fstrict-aliasing -I./"
+ set CLIBS = "-lpthread"
+
+@@ -687,7 +687,7 @@
+ set ARCH='-m64'
+ if (`uname -p` == ia64) set ARCH=''
+
+- set CC = 'gcc'
++ set gentoo-CC = 'gcc'
+ set CFLAGS = "-DLINUX $ARCH -O3 -fstrict-aliasing -I./"
+ set CLIBS = "-lpthread"
+
+diff -urN gamess.orig/ddi/kickoff/ddikick.c gamess/ddi/kickoff/ddikick.c
+--- gamess.orig/ddi/kickoff/ddikick.c 2008-05-06 12:16:12.000000000 +0200
++++ gamess/ddi/kickoff/ddikick.c 2011-10-11 12:25:11.862714681 +0200
+@@ -105,7 +105,7 @@
+ remoteshell = argv[++i];
+ } else {
+ if((remoteshell = getenv("DDI_RSH")) == NULL) {
+- remoteshell = (char *) strdup("rsh");
++ remoteshell = (char *) strdup("ssh");
+ }
+ }
+
+diff -urN gamess.orig/lked gamess/lked
+--- gamess.orig/lked 2011-08-11 17:41:02.000000000 +0200
++++ gamess/lked 2011-10-11 12:26:38.564634821 +0200
+@@ -53,7 +53,7 @@
+ #
+ # 3. optional Nuclear-Electronic Orbital method, using NEO code
+ #
+-set NEO=false
++set NEO=true
+ #
+ # 4. optional Nvidia/CUDA code, for closed shell SCF Fock construction
+ # see ~/gamess/libcchem/aaa.readme.1st for more information
+@@ -356,17 +356,17 @@
+ switch ($GMS_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 FORTLIBS=' '
+ breaksw
+ case gfortran:
+ set LDR='gfortran'
+- set LDOPTS=' '
++ set gentoo-LDOPTS=' '
+ set FORTLIBS=' '
+ 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 FORTLIBS='-Vaxlib'
+ breaksw
+ case pgf77:
+@@ -376,7 +376,7 @@
+ breaksw
+ case f2c:
+ set LDR='gcc'
+- set LDOPTS=' '
++ set gentoo-LDOPTS=' '
+ set FORTLIBS='-lf2c -lm'
+ breaksw
+ default:
+@@ -427,12 +427,7 @@
+ # Otherwise, attempt a link against shared object libs.
+ # See the 64 bit Atlas below for a way to fix the linker's
+ # not being able to locate -lf77blas, if that happens.
+- if (-e $GMS_MATHLIB_PATH/libf77blas.a) then
+- set MATHLIBS="$GMS_MATHLIB_PATH/libf77blas.a"
+- set MATHLIBS="$MATHLIBS $GMS_MATHLIB_PATH/libatlas.a"
+- else
+- set MATHLIBS="-L$GMS_MATHLIB_PATH -lf77blas -latlas"
+- endif
++ set MATHLIBS=`${PKG_CONFIG} --libs blas`
+ set BLAS=' '
+ breaksw
+
+@@ -466,12 +461,12 @@
+ switch ($GMS_FORTRAN)
+ case gfortran:
+ set LDR='gfortran'
+- set LDOPTS=' '
++ set gentoo-LDOPTS=' '
+ set FORTLIBS=' '
+ breaksw
+ case ifort:
+ set LDR='ifort'
+- set LDOPTS='-i8' # -Wl,-M generates a load map
++ set gentoo-LDOPTS=' ' # -Wl,-M generates a load map
+ # this auxiliary library seems to have disappeared in ifort 10
+ set FORTLIBS=' '
+ if($GMS_IFORT_VERNO < 10) set FORTLIBS='-Vaxlib'
+@@ -556,12 +551,7 @@
+ # ln -s liblapack_atlas.so.3.0 liblapack.so
+ # ln -s liblapack.so.3.0 liblapack.so
+ # It is strange the RPM's don't do these soft links for us.
+- if (-e $GMS_MATHLIB_PATH/libf77blas.a) then
+- set MATHLIBS="$GMS_MATHLIB_PATH/libf77blas.a"
+- set MATHLIBS="$MATHLIBS $GMS_MATHLIB_PATH/libatlas.a"
+- else
+- set MATHLIBS="-L$GMS_MATHLIB_PATH -lf77blas -latlas"
+- endif
++ set MATHLIBS=`${PKG_CONFIG} --libs blas`
+ set BLAS=' '
+ breaksw
+
+diff -urN gamess.orig/runall gamess/runall
+--- gamess.orig/runall 2009-02-28 00:57:18.000000000 +0100
++++ gamess/runall 2011-10-11 12:27:32.195586568 +0200
+@@ -10,7 +10,6 @@
+ #
+ # Only the following two lines need to be customized:
+ #
+-chdir /u1/mike/gamess
+ set VERNO=00
+ #
+ # Loop over all Ntest jobs supplied with GAMESS
+@@ -27,7 +26,7 @@
+ gms -v $VERNO -q ti -l exam$NUM.log exam$NUM
+ sleep 5
+ else
+- ./rungms exam$NUM $VERNO 1 >& exam$NUM.log
++ rungms exam$NUM $VERNO 1 >& exam$NUM.log
+ endif
+ @ i++
+ end
+diff -urN gamess.orig/rungms gamess/rungms
+--- gamess.orig/rungms 2011-08-04 21:03:11.000000000 +0200
++++ gamess/rungms 2011-10-11 12:30:05.244448126 +0200
+@@ -55,7 +55,7 @@
+ # one for LoadLeveler "ll-gms" on the IBM SP line.
+ #
+ 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
+@@ -144,7 +144,7 @@
+ # used by the NEO method. See NEO's documentation for more details.
+ #
+ set echo
+-setenv AUXDATA ~mike/gamess/auxdata
++setenv AUXDATA /usr/share/gamess
+ setenv EXTBAS /dev/null
+ setenv NUCBAS /dev/null
+ setenv POSBAS /dev/null
+@@ -153,12 +153,12 @@
+ setenv MCPPATH $AUXDATA/MCP
+ setenv BASPATH $AUXDATA/BASES
+ setenv QUANPOL $AUXDATA/QUANPOL
+-setenv MAKEFP ~$USER/scr/$JOB.efp
+-setenv GAMMA ~$USER/scr/$JOB.gamma
+-setenv TRAJECT ~$USER/scr/$JOB.trj
+-setenv RESTART ~$USER/scr/$JOB.rst
++setenv MAKEFP $SCR/$JOB.efp
++setenv GAMMA $SCR/$JOB.gamma
++setenv TRAJECT $SCR/$JOB.trj
++setenv RESTART $SCR/$JOB.rst
+ 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
+@@ -347,7 +347,7 @@
+ if (null$4 == null) set ELGNAME=ELGFILE
+ set echo
+ setenv AOINTS $SCR/$ELGNAME.F08
+- setenv ELGDOS ~$USER/scr/$JOB.ldos
++ setenv ELGDOS $SCR/$JOB.ldos
+ setenv ELGDAT $SCR/$ELGNAME.F71
+ setenv ELGPAR $SCR/$ELGNAME.F72
+ setenv ELGCUT $SCR/$ELGNAME.F74
+@@ -500,7 +500,7 @@
+ if ($os == AIX) set GMSPATH=/u1/mike/gamess
+ if ($os == Darwin) set GMSPATH=/Users/mike/desktop/gamess
+ if ($os == HP-UX) set GMSPATH=/zr/mike/gamess
+- if ($os == Linux) set GMSPATH=/cu/mike/gamess
++ if ($os == Linux) set GMSPATH=/usr/bin
+ if ($os == OSF1) set GMSPATH=/in/mike/gamess
+ if ($os == SunOS) set GMSPATH=/hf/mike/gamess
+ # special compilation for Sun E450 uSPARC (uname also= SunOS)
diff --git a/sci-chemistry/gamess/files/gamess-checktst.patch b/sci-chemistry/gamess/files/gamess-checktst.patch
new file mode 100644
index 000000000000..9fc1547e4540
--- /dev/null
+++ b/sci-chemistry/gamess/files/gamess-checktst.patch
@@ -0,0 +1,21 @@
+--- gamess.orig/tools/checktst/checktst 2008-12-30 16:33:09.000000000 +0100
++++ gamess/tools/checktst/checktst 2011-10-11 22:06:26.019798622 +0200
+@@ -6,7 +6,6 @@
+ #
+ # Only the path name in the very next line needs to be customized.
+ #
+-set GMSPATH=~/gamess
+
+ # The Ntest outputs are assumed to be named exam01.log, exam02.log, ...
+ # but the user will be allowed to specify the directory containing them.
+@@ -66,8 +65,8 @@
+ setenv tolW 0.1
+ setenv tolX 0.00001
+
+-set script=$GMSPATH/tools/checktst/exam
+-setenv chkabs $GMSPATH/tools/checktst/chkabs
++set script=./exam
++setenv chkabs ./chkabs
+
+ # If we don't see the message about GAMESS exiting normally,
+ # then there is surely a mistake, and we want to focus the
diff --git a/sci-chemistry/gamess/files/gamess-qmmm-tinker-fix-idate.patch b/sci-chemistry/gamess/files/gamess-qmmm-tinker-fix-idate.patch
new file mode 100644
index 000000000000..34f291382d41
--- /dev/null
+++ b/sci-chemistry/gamess/files/gamess-qmmm-tinker-fix-idate.patch
@@ -0,0 +1,20 @@
+diff -urN gamess/tinker.orig/Libtad.f gamess/tinker/Libtad.f
+--- gamess/tinker.orig/Libtad.f 2010-05-12 21:41:56.000000000 +0400
++++ gamess/tinker/Libtad.f 2010-12-08 01:05:31.000000000 +0300
+@@ -1332,11 +1332,15 @@
+ c and for Macintosh under Absoft Pro Fortran 5.0
+ c
+ integer hms(3)
++ integer tarray(3)
+ call itime (hms)
+ hour = hms(1)
+ minute = hms(2)
+ second = hms(3)
+- call idate (month,day,year)
++ call idate (tarray)
++ month = tarray(1)
++ day = tarray(2)
++ year = tarray(3)
+ c
+ c code for IBM RS/6000 under AIX appends an underscore
+ c
diff --git a/sci-chemistry/gamess/gamess-20110811.1.ebuild b/sci-chemistry/gamess/gamess-20110811.1.ebuild
new file mode 100644
index 000000000000..363353adb793
--- /dev/null
+++ b/sci-chemistry/gamess/gamess-20110811.1.ebuild
@@ -0,0 +1,337 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 flag-o-matic pax-utils toolchain-funcs
+
+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="mpi neo pax_kernel qmmm-tinker"
+
+CDEPEND="
+ app-shells/tcsh
+ mpi? ( virtual/mpi )
+ virtual/blas"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ net-misc/openssh"
+
+S="${WORKDIR}/${PN}"
+
+RESTRICT="fetch"
+
+GAMESS_DOWNLOAD="http://www.msg.ameslab.gov/GAMESS/License_Agreement.html"
+GAMESS_VERSION="1 AUG 2011 (R1)"
+
+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
+}
+
+get_fcomp() {
+ case $(tc-getFC) in
+ *gfortran* )
+ FCOMP="gfortran" ;;
+ ifort )
+ FCOMP="ifc" ;;
+ * )
+ FCOMP=$(tc-getFC) ;;
+ esac
+}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ get_fcomp
+ # currently amd64 is only supported with gfortran
+ if [[ "${ARCH}" == "amd64" ]] && [[ ${FCOMP} != *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"
+ einfo "By default maximum number of atom classes types and size of"
+ einfo "hessian are restricted to 250, 500 and 1000000 respectively"
+ einfo "If you want larger sizes set:"
+ einfo "QMMM_GAMESS_MAXCLASS"
+ einfo "QMMM_GAMESS_MAXCTYP"
+ einfo "QMMM_GAMESS_MAXHESS"
+ einfo "in your make.conf"
+ 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() {
+ tc-export PKG_CONFIG
+ # apply LINUX-arch patches to gamess makesfiles
+ epatch "${FILESDIR}/${P}.gentoo.patch"
+ epatch "${FILESDIR}/${PN}-checktst.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
+
+ # for hardened-gcc let't turn off ssp, since it breakes
+ # a few routines
+ if use pax_kernel && [[ ${FCOMP} == 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
+ if use neo; then
+ sed -e "s:NEO=false:NEO=true:" -i compall lked || \
+ die "Failed to enable NEO code"
+ else
+ sed -e "s:NEO=true:NEO=false:" -i compall lked || \
+ die "Failed to disable NEO code"
+ fi
+ # enable GAMESS-qmmm
+ if use qmmm-tinker; then
+ epatch "${FILESDIR}/${PN}-qmmm-tinker-fix-idate.patch"
+ 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
+ if [ "x$QMMM_GAMESS_MAXCLASS" == "x" ]; then
+ einfo "No QMMM_GAMESS_MAXMM set. Using default value = 250"
+ else
+ sed -e "s:maxclass=250:maxclass=$QMMM_GAMESS_MAXCLASS:g" \
+ -i tinker/sizes.i \
+ || die "Setting QMMM_GAMESS_MAXCLASS failed"
+ fi
+ if [ "x$QMMM_GAMESS_MAXCTYP" == "x" ]; then
+ einfo "No QMMM_GAMESS_MAXCTYP set. Using default value = 500"
+ else
+ sed -e "s:maxtyp=500:maxtyp=$QMMM_GAMESS_MAXCTYP:g" \
+ -i tinker/sizes.i \
+ || die "Setting QMMM_GAMESS_MAXCTYP failed"
+ fi
+ if [ "x$QMMM_GAMESS_MAXHESS" == "x" ]; then
+ einfo "No QMMM_GAMESS_MAXHESS set. Usingdefault value = 1000000"
+ else
+ sed -e "s:maxhess=1000000:maxhess=$QMMM_GAMESS_MAXHESS:g" \
+ -i tinker/sizes.i \
+ || die "Setting QMMM_GAMESS_MAXHESS 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 [[ ${FCOMP} == "ifort" ]]; then
+ sed -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS} -quiet'/" \
+ -i comp || die "Failed setting up comp script"
+ elif ! use x86; then
+ sed -e "s/-malign-double //" \
+ -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS}'/" \
+ -i comp || die "Failed setting up comp script"
+ else
+ sed -e "s/gentoo-OPT = '-O2'/OPT = '${FFLAGS}'/" \
+ -i comp || die "Failed setting up comp script"
+ fi
+
+ # fix up GAMESS' linker script;
+ sed -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)'/" \
+ -i ddi/compddi || die "Failed setting up compddi script"
+ # Creating install.info
+ cat > install.info <<-EOF
+ #!/bin/csh
+ setenv GMS_PATH $WORKDIR/gamess
+ setenv GMS_TARGET $active_arch
+ setenv GMS_FORTRAN $FCOMP
+ setenv GMS_MATHLIB atlas
+ setenv GMS_MATHLIB_PATH /usr/$(get_libdir)/atlas
+ setenv GMS_DDI_COMM sockets
+ EOF
+
+}
+
+src_compile() {
+ # build actvte
+ cd "${S}"/tools
+ ${FCOMP} -o actvte.x actvte.f || \
+ die "Failed to compile actvte.x"
+
+ # for hardened (PAX) users and ifc we need to turn
+ # MPROTECT off
+ if [[ ${FCOMP} == "ifort" ]] && use pax_kernel; then
+ pax-mark -PemRxS 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 [[ ${FCOMP} == "ifort" ]] && use pax_kernel; then
+ pax-mark -PemRxS ${PN}.00.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}
+ doins auxdata/ericfmt.dat || die "Failed installing ericfmt.dat"
+
+ # install mcpdata
+ insinto /usr/share/${PN}/MCP
+ doins auxdata/MCP/* || die "Failed installing MCP"
+
+ # install BASES
+ insinto /usr/share/${PN}/BASES
+ doins auxdata/BASES/* || die "Failed installing BASES"
+
+ # install QUANPOL
+ insinto /usr/share/${PN}/QUANPOL
+ doins auxdata/QUANPOL/* || die "Failed installing QUANPOL"
+
+ # 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/params51 || 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 [[ ${FCOMP} == "ifort" ]]; 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
+}
diff --git a/sci-chemistry/gamess/metadata.xml b/sci-chemistry/gamess/metadata.xml
new file mode 100644
index 000000000000..65e218a68820
--- /dev/null
+++ b/sci-chemistry/gamess/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <herd>sci-chemistry</herd>
+ <use>
+ <flag name="neo">Enable NEO for nuclear basis support</flag>
+ <flag name="pax_kernel">Make this package work on PAX kernels</flag>
+ <flag name="qmmm-tinker">Enable tinker qmmm code</flag>
+ </use>
+</pkgmetadata>