summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2007-10-27 17:00:42 +0000
committerMarkus Dittrich <markusle@gentoo.org>2007-10-27 17:00:42 +0000
commit6bc464be790e630b9d7f7ef7a959d348eb476923 (patch)
tree0ca62f57f5c966e571802bb0b4c160a0cc01859d /sci-chemistry
parentStable on ppc wrt bug 197186 (diff)
downloadgentoo-2-6bc464be790e630b9d7f7ef7a959d348eb476923.tar.gz
gentoo-2-6bc464be790e630b9d7f7ef7a959d348eb476923.tar.bz2
gentoo-2-6bc464be790e630b9d7f7ef7a959d348eb476923.zip
Version bump and keyworded gamess for amd64. An external blas library is now mandatory.
(Portage version: 2.1.3.15)
Diffstat (limited to 'sci-chemistry')
-rw-r--r--sci-chemistry/gamess/ChangeLog9
-rw-r--r--sci-chemistry/gamess/files/digest-gamess-20070324.33
-rw-r--r--sci-chemistry/gamess/files/gamess-20070324.3.gentoo.patch331
-rw-r--r--sci-chemistry/gamess/gamess-20070324.3.ebuild219
4 files changed, 561 insertions, 1 deletions
diff --git a/sci-chemistry/gamess/ChangeLog b/sci-chemistry/gamess/ChangeLog
index adf9c139b9bf..bba1c0108d9a 100644
--- a/sci-chemistry/gamess/ChangeLog
+++ b/sci-chemistry/gamess/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-chemistry/gamess
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.22 2007/08/19 01:01:30 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.23 2007/10/27 17:00:41 markusle Exp $
+
+*gamess-20070324.3 (27 Oct 2007)
+
+ 27 Oct 2007; Markus Dittrich <markusle@gentoo.org>
+ +files/gamess-20070324.3.gentoo.patch, +gamess-20070324.3.ebuild:
+ Version bump and keyworded gamess for amd64.
+ An external blas library is now mandatory.
19 Aug 2007; Markus Dittrich <markusle@gentoo.org>
gamess-20070324.1.ebuild:
diff --git a/sci-chemistry/gamess/files/digest-gamess-20070324.3 b/sci-chemistry/gamess/files/digest-gamess-20070324.3
new file mode 100644
index 000000000000..d189ee205a61
--- /dev/null
+++ b/sci-chemistry/gamess/files/digest-gamess-20070324.3
@@ -0,0 +1,3 @@
+MD5 566fbdb5890abe2c04d1b5458400405b gamess-20070324.3.tar.gz 8219816
+RMD160 e9a3ad26a520072322006d7f429ad5172a6248cb gamess-20070324.3.tar.gz 8219816
+SHA256 c9650cca2c2f7b5973636d4d49f907fc5f975f430b0f78dd7d2ee2d83109900d gamess-20070324.3.tar.gz 8219816
diff --git a/sci-chemistry/gamess/files/gamess-20070324.3.gentoo.patch b/sci-chemistry/gamess/files/gamess-20070324.3.gentoo.patch
new file mode 100644
index 000000000000..5e45d60d7605
--- /dev/null
+++ b/sci-chemistry/gamess/files/gamess-20070324.3.gentoo.patch
@@ -0,0 +1,331 @@
+diff -Naur gamess/comp gamess-new/comp
+--- gamess/comp 2007-07-10 16:00:07.000000000 -0400
++++ gamess-new/comp 2007-10-27 11:00:48.000000000 -0400
+@@ -12,8 +12,8 @@
+ # sgi32,sgi64,sun32,sun64
+ # 2. Choose your GAMESS directory tree.
+ #
+-set TARGET=ibm64
+-chdir /u1/mike/gamess
++set TARGET=gentoo-target
++#chdir /u1/mike/gamess
+ #
+ # ---- and now the script begins...
+ #
+@@ -99,9 +99,7 @@
+ # 1st is Fedora Core's, 2nd is ASCI download from ORNL, 3rd is Atlas
+ # the names of the latter two files on your system might well be
+ # different from these, edit here and in 'lked' to match your paths.
+-if (($TARGET == linux32) && (-e /usr/lib/libblas.a)) set BLAS3=true
+-if (($TARGET == linux32) && (-e /usr/local/bin/libblas-asci.a)) set BLAS3=true
+-if (($TARGET == linux32) && (-e /usr/local/lib/libatlas.a)) set BLAS3=true
++if ($TARGET == linux32) set BLAS3=true
+ # For next two, assume that a math library will exist when
+ # we arrive at the link step: MKL or Atlas or ACML....
+ if ($TARGET == linux64) set BLAS3=true
+@@ -1106,7 +1104,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)
+ #
+@@ -1125,7 +1123,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
+ #
+@@ -1161,7 +1159,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
+@@ -1190,7 +1188,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 == zheev) set OPT='-O0'
+ set echo
+@@ -1337,12 +1335,12 @@
+ # Note: you must make the analogous choice in compddi and lked, as well.
+ # If you wish to use ifort in 64 bit mode, use only target=linux-ia64.
+ #
+- set FORTRAN=gfortran # choose from gfortran, pgf77, pathf90
++ set FORTRAN=gentoo-g77 # choose from gfortran, pgf77, pathf90
+ #
+ 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
+diff -Naur gamess/compall gamess-new/compall
+--- gamess/compall 2007-07-10 16:00:13.000000000 -0400
++++ gamess-new/compall 2007-10-27 10:01:45.000000000 -0400
+@@ -13,8 +13,8 @@
+ # sgi32,sgi64,sun32,sun64
+ # 2. Choose your GAMESS directory tree.
+ #
+-set TARGET=ibm64
+-chdir /u1/mike/gamess
++set TARGET=gentoo-target
++#chdir /u1/mike/gamess
+ #
+ # ----- and now the script begins...
+ #
+@@ -138,8 +138,8 @@
+ if ($TARGET == axp64) ./comp blas
+ if ($TARGET == ibm64) ./comp blas
+ if ($TARGET == ibm-bg) ./comp blas
+-if ($TARGET == linux32) ./comp blas
+-if ($TARGET == linux64) ./comp blas
++#if ($TARGET == linux32) ./comp blas
++#if ($TARGET == linux64) ./comp blas
+ if ($TARGET == linux-ia64) ./comp blas
+ if ($TARGET == sun32) ./comp blas
+ if ($TARGET == sun64) ./comp blas
+@@ -413,7 +413,7 @@
+ #
+ # optional Nuclear-Electronic Orbital method, using NEO code
+ #
+-set NEO=false
++set NEO=true
+ if ($NEO == true) then
+ ./comp neo
+ ./comp neobas
+diff -Naur gamess/ddi/compddi gamess-new/ddi/compddi
+--- gamess/ddi/compddi 2007-07-10 16:01:19.000000000 -0400
++++ gamess-new/ddi/compddi 2007-10-27 10:13:47.000000000 -0400
+@@ -15,7 +15,7 @@
+ # linux32,linux64,linux-ia64,mac32,macG5,necsx,
+ # sgi32,sgi64,sun32,sun64
+ #
+- set TARGET = ibm64
++ set TARGET = gentoo-target
+
+ # 2. Choose DDI communication layer, the only legal values are
+ # sockets,mixed,mpi,shmem,lapi,armci
+@@ -538,9 +538,9 @@
+ #
+ if($TARGET == linux32) 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)
+@@ -579,12 +579,12 @@
+
+ # for generic 64 bit Linux, choose one of the following,
+ # gfortran, pgf77, pathf90
+- if ($TARGET == linux64) set FORTRAN=gfortran
++ if ($TARGET == linux64) set FORTRAN=gentoo-g77
+ #
+ # for linux-ia64, leave the choice set to ifort (do not change!)
+ if ($TARGET == linux-ia64) set FORTRAN=ifort
+
+- set CC = 'gcc'
++ set gentoo-CC = 'gcc'
+
+ if ($TARGET == linux64) then
+ set CFLAGS = "-DLINUX -m64 -O3 -fstrict-aliasing -I./include"
+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 2007-10-27 08:57:32.000000000 -0400
+@@ -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 2007-07-10 16:00:02.000000000 -0400
++++ gamess-new/lked 2007-10-27 10:02:22.000000000 -0400
+@@ -15,8 +15,8 @@
+ # sgi32,sgi64,sun32,sun64
+ # 2. Choose your GAMESS directory tree.
+ #
+-set TARGET=ibm64
+-chdir /u1/mike/gamess
++set TARGET=linux32
++#chdir /u1/mike/gamess
+ #
+ # ---- and now the script begins...
+ #
+@@ -296,22 +296,22 @@
+ #
+ if ($TARGET == linux32) 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:
+@@ -341,22 +341,22 @@
+ # Additional libraries not considered here are 32 bit versions
+ # of Atlas, MKL, or ACML, they are perfectly reasonable choices.
+ #
+- set BLASLIBRARY=' '
+- set BLAS='blas.o' # turn this off if a math library exists...
++ set BLASLIBRARY=`pkg-config --libs blas`
++ set BLAS=''
+ #
+- if (-e /usr/lib/libblas.a) then
+- set BLASLIBRARY="-lblas"
+- set BLAS=' '
+- endif
+- if (-e /usr/local/bin/libblas-asci.a) then
+- set BLASLIBRARY="/usr/local/bin/libblas-asci.a"
+- set BLAS=' '
+- endif
+- if (-e /usr/local/lib/libatlas.a) then
+- set BLASLIBRARY="/usr/local/lib/libf77blas.a"
+- set BLASLIBRARY="$BLASLIBRARY /usr/local/lib/libatlas.a"
+- set BLAS=' '
+- endif
++# if (-e /usr/lib/libblas.a) then
++# set BLASLIBRARY="-lblas"
++# set BLAS=' '
++# endif
++# if (-e /usr/local/bin/libblas-asci.a) then
++# set BLASLIBRARY="/usr/local/bin/libblas-asci.a"
++# set BLAS=' '
++# endif
++# if (-e /usr/local/lib/libatlas.a) then
++# set BLASLIBRARY="/usr/local/lib/libf77blas.a"
++# set BLASLIBRARY="$BLASLIBRARY /usr/local/lib/libatlas.a"
++# set BLAS=' '
++# endif
+ #
+ if ($BLAS == 'blas.o') then
+ echo " "
+diff -Naur gamess/runall gamess-new/runall
+--- gamess/runall 2007-03-05 16:59:51.000000000 -0500
++++ gamess-new/runall 2007-10-27 08:57:32.000000000 -0400
+@@ -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 2007-06-06 18:03:07.000000000 -0400
++++ gamess-new/rungms 2007-10-27 08:57:32.000000000 -0400
+@@ -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
+@@ -119,14 +119,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
+@@ -156,8 +156,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
+@@ -271,7 +271,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
+@@ -374,7 +374,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 -Naur gamess/source/zunix.c gamess-new/source/zunix.c
+--- gamess/source/zunix.c 2007-05-07 10:44:22.000000000 -0400
++++ gamess-new/source/zunix.c 2007-10-27 10:22:37.000000000 -0400
+@@ -331,6 +331,7 @@
+ #ifdef LINUX32
+
+ #include <stdlib.h>
++#include <string.h>
+ int memget_(nwords) int *nwords;
+ { int nbytes;
+ nbytes = (*nwords+2)*8;
+@@ -412,6 +413,7 @@
+
+ #include <stdlib.h>
+ #include <malloc.h>
++#include <string.h>
+
+ #define FORTINT long
+
diff --git a/sci-chemistry/gamess/gamess-20070324.3.ebuild b/sci-chemistry/gamess/gamess-20070324.3.ebuild
new file mode 100644
index 000000000000..e07c57dc876b
--- /dev/null
+++ b/sci-chemistry/gamess/gamess-20070324.3.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/gamess-20070324.3.ebuild,v 1.1 2007/10/27 17:00:41 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 ~amd64"
+IUSE="hardened"
+
+RESTRICT="fetch"
+
+DEPEND="app-shells/tcsh
+ hardened? ( sys-apps/paxctl )
+ 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 (R3)"
+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
+
+ # currently amd64 is only supported with gfortran
+ if [[ "${ARCH}" == "amd64" ]] && [[ "${FORTRANC}" != "gfortran" ]];
+ then die "You will need gfortran to compile gamess on amd64"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # apply LINUX-arch patches to gamess makesfiles
+ epatch "${FILESDIR}"/${P}.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 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
+
+ # 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
+}