diff options
Diffstat (limited to 'sci-chemistry')
-rw-r--r-- | sci-chemistry/gamess/ChangeLog | 11 | ||||
-rw-r--r-- | sci-chemistry/gamess/Manifest | 17 | ||||
-rw-r--r-- | sci-chemistry/gamess/files/gamess-20090112.1.gentoo.patch | 360 | ||||
-rw-r--r-- | sci-chemistry/gamess/gamess-20090112.1.ebuild | 217 | ||||
-rw-r--r-- | sci-chemistry/gamess/metadata.xml | 4 |
5 files changed, 605 insertions, 4 deletions
diff --git a/sci-chemistry/gamess/ChangeLog b/sci-chemistry/gamess/ChangeLog index 3880b9647206..64b8180bc33c 100644 --- a/sci-chemistry/gamess/ChangeLog +++ b/sci-chemistry/gamess/ChangeLog @@ -1,6 +1,13 @@ # 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.29 2008/10/12 14:50:30 markusle Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/ChangeLog,v 1.30 2009/02/20 09:53:10 alexxy Exp $ + +*gamess-20090112.1 (20 Feb 2009) + + 20 Feb 2009; Alexey Shvetsov <alexxy@gentoo.org> + +files/gamess-20090112.1.gentoo.patch, metadata.xml, + +gamess-20090112.1.ebuild: + Version bump (bug #258062). Add myself to metadata.xml 12 Oct 2008; Markus Dittrich <markusle@gentoo.org> files/gamess-20080411.1.gentoo.patch: diff --git a/sci-chemistry/gamess/Manifest b/sci-chemistry/gamess/Manifest index 72f25b34df2f..d82aa60c79eb 100644 --- a/sci-chemistry/gamess/Manifest +++ b/sci-chemistry/gamess/Manifest @@ -1,13 +1,26 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX gamess-20070324.1.gentoo.patch 7282 RMD160 943f3e0999c871445cc8715c6a729cecd0104e71 SHA1 81457f6633d8c39ad5b59c3d53f1597a3b9b5125 SHA256 e031d391017b9cb85f82ea156da678c403f176fdae9370b82d505f4b981c3b43 AUX gamess-20070324.3.gentoo.patch 11196 RMD160 37700e020500f9295aaf6223ae412eb33c0eb2f7 SHA1 4d2c37790d6fa0bd06097f6be2b6efeb005903bc SHA256 42b27d2a9f94c902421d2ac11f87484898f1f3f1c6e31fcbce19bc3978138144 AUX gamess-20080411.1.gentoo.patch 12549 RMD160 531faefa0d45a8d249c089aec8138783406563e5 SHA1 c8a93487889528d74384096562398f5096a76f5c SHA256 7df4e4c70da0a9029043c86a4607bbc58f35cf4e34994df393e02dcd3ac7f2b5 +AUX gamess-20090112.1.gentoo.patch 12259 RMD160 08dea4576f98233af6b36d73fccbe52b8eec4961 SHA1 f24da2cdf997b2d58a7f991111e0555407ce1f3b SHA256 fcaa3aafda7f95b45bbc45d98cb3875048e6b2b3c06730c97492f7b77d120255 DIST gamess-20070324.1.tar.gz 8095867 RMD160 9634a996ee026197658103fd650d453d796708db SHA1 7a6fc6ced7565337a1b77189df7446d1c84b61dd SHA256 b8e3a5d82d19a8adf1508c8fbea01a125ab4f01471f321f66b9d3c53511c9412 DIST gamess-20070324.3.tar.gz 8219816 RMD160 e9a3ad26a520072322006d7f429ad5172a6248cb SHA1 ab4590fd73e93b06fa122768721650789e50533d SHA256 c9650cca2c2f7b5973636d4d49f907fc5f975f430b0f78dd7d2ee2d83109900d DIST gamess-20070324.6.tar.gz 8452642 RMD160 b7f850db6d816f9011b646b31bc1c4a8b07983bc SHA1 19ea60d555ea10687e8fc43f9734b3fef5d646e3 SHA256 3c47012c17c544f6c6fe35526232e3d2b4aa61a4c22b7a944fcb72cad3295ae5 DIST gamess-20080411.1.tar.gz 10301653 RMD160 9742a676cc2da693fff78594cdc0edf0f380a2de SHA1 8e0e01b255ebad8e2fd9b2012248648a11212b5c SHA256 493a99448afc6de15b6f054b702c6e67646e020cfee551aca0ef48a374fc6d05 +DIST gamess-20090112.1.tar.gz 10823509 RMD160 409aafba9136a441c1524fe30eb1fccdff1f9883 SHA1 4af8dd470700649d32317d8ab57814b010a4403d SHA256 9f7763933479ba8aa730c392af25b8a271152115a0392707786b45871b52f6e0 EBUILD gamess-20070324.1.ebuild 6360 RMD160 5e6cb711089868a160b7e0e7befd392a334af44b SHA1 197ee11d53e9ffc7c19bdffb7a911a856d5edf17 SHA256 fdec395b93f930890c2fdec43c1d3b3f0ddfc91e29d8ef95e8152e8054a507e3 EBUILD gamess-20070324.3.ebuild 6449 RMD160 00fd64e09e495bcbcc01f5d73218b36ce504b07f SHA1 0ebd365b38d28cd5a7fd83574d6547c1a695dec2 SHA256 2e81527989a11bacf6f72a14cfb7a00bd2cced0a745d8a4253eb6c1a1f1d8c21 EBUILD gamess-20070324.6.ebuild 6461 RMD160 6f8c07650f96b231a33135f4f17a63b92729028d SHA1 54f2472dbe2a24ecb8f841b9e5a4b65df4c4e1a4 SHA256 09535141a5d14a388775db0da3187f0d9beeb244dda6918b3877cad27c98654f EBUILD gamess-20080411.1.ebuild 6449 RMD160 f4ce142a0e539f7d9d6c6b53cb6365b146184296 SHA1 66ed15b13ace9f16e7a1c4898a6177e929938f7f SHA256 851552f6fc1e7f85d1590850c5718c18e7f2748cd0b0361b0a665be746c30d08 -MISC ChangeLog 6995 RMD160 284516e4896eee0ea7919d757590d707375f600b SHA1 223bdacb77e3921a10f47a8c13a652e99def22df SHA256 84a02917af6198493203ca8b654d1dcf3837b930f7b9903950a6aba64ba5bbde -MISC metadata.xml 264 RMD160 f2d7d7c401f209aec88c85770c5d1fc73ee66c89 SHA1 90b72142265c0cf5b2e2c37f6d14209fc12de279 SHA256 a6dba0fee2e8489ae831c04e7240ee646ac65c2333485a3ae46da9ed000c4d9f +EBUILD gamess-20090112.1.ebuild 6456 RMD160 f26f2ccab0b5c230da6be09efd017555f6a815be SHA1 3ff4edc79c03d71f457101616b2ace00c4b0c066 SHA256 5674413ba5f411e9a5cde75677387c87fdf62d8f0eb65ddbf7b2e136807ffefa +MISC ChangeLog 7220 RMD160 a941930e169d7a1726f9eeecc396798cf1343774 SHA1 b291e684e702e780ce061da6acd1c364c56aa93c SHA256 77d24aeb6bedb60b3e415a1687bef8aa12b7a9d7804973f568da4847e7f3dc1a +MISC metadata.xml 359 RMD160 3155769eae83f4d89e87c36947569ce944085a00 SHA1 a6f4d8de76b849b861d3ba094c35cae9d6534f34 SHA256 8df41f26afc6361d3adf1fc38121c3808d9a8bb8262e7e6ed45854a5b6e54d58 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.10 (GNU/Linux) + +iEYEARECAAYFAkmefZgACgkQ5BmOA85PVLglqwCeMPtowh32NyFzXFkYHqjFWxtP +zhsAn3M+5fL5p4IkpeTzy92tSlGMncNm +=wUxE +-----END PGP SIGNATURE----- diff --git a/sci-chemistry/gamess/files/gamess-20090112.1.gentoo.patch b/sci-chemistry/gamess/files/gamess-20090112.1.gentoo.patch new file mode 100644 index 000000000000..be7dd2e2cf4d --- /dev/null +++ b/sci-chemistry/gamess/files/gamess-20090112.1.gentoo.patch @@ -0,0 +1,360 @@ +diff -urN gamess.orig/comp gamess/comp +--- gamess.orig/comp 2009-02-20 01:39:06.000000000 +0300 ++++ gamess/comp 2009-02-20 01:39:23.000000000 +0300 +@@ -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... + # +@@ -100,9 +100,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 +@@ -1144,7 +1142,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) + # +@@ -1163,7 +1161,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 + # +@@ -1199,7 +1197,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 +@@ -1229,7 +1227,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 +@@ -1375,12 +1373,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 -f $MODULE.f $MODULE.junk +diff -urN gamess.orig/compall gamess/compall +--- gamess.orig/compall 2009-02-20 01:39:06.000000000 +0300 ++++ gamess/compall 2009-02-20 01:39:23.000000000 +0300 +@@ -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... + # +@@ -150,8 +150,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 +@@ -450,7 +450,7 @@ + # + # optional Nuclear-Electronic Orbital method, using NEO code + # +-set NEO=false ++set NEO=true + if ($NEO == true) then + ./comp neo + ./comp neobas +diff -urN gamess.orig/ddi/compddi gamess/ddi/compddi +--- gamess.orig/ddi/compddi 2009-02-20 01:39:06.000000000 +0300 ++++ gamess/ddi/compddi 2009-02-20 01:39:23.000000000 +0300 +@@ -15,7 +15,7 @@ + # linux32,linux64,linux-ia64,mac32,mac64,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 +@@ -537,9 +537,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) +@@ -578,12 +578,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 -urN gamess.orig/ddi/tools/ddikick/ddikick.c gamess/ddi/tools/ddikick/ddikick.c +--- gamess.orig/ddi/tools/ddikick/ddikick.c 2009-02-20 01:39:06.000000000 +0300 ++++ gamess/ddi/tools/ddikick/ddikick.c 2009-02-20 01:39:23.000000000 +0300 +@@ -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 2009-02-20 01:39:06.000000000 +0300 ++++ gamess/lked 2009-02-20 01:39:23.000000000 +0300 +@@ -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... + # +@@ -299,22 +299,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: +@@ -344,22 +344,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 -urN gamess.orig/runall gamess/runall +--- gamess.orig/runall 2009-02-20 01:39:07.000000000 +0300 ++++ gamess/runall 2009-02-20 01:39:23.000000000 +0300 +@@ -10,7 +10,7 @@ + # + # Only the following two lines need to be customized: + # +-chdir /u1/mike/gamess ++#chdir /u1/mike/gamess + set VERNO=00 + # + # Loop over all Ntest jobs supplied with GAMESS +diff -urN gamess.orig/rungms gamess/rungms +--- gamess.orig/rungms 2009-02-20 01:39:07.000000000 +0300 ++++ gamess/rungms 2009-02-20 01:42:12.000000000 +0300 +@@ -55,7 +55,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 +@@ -122,17 +122,17 @@ + # + 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 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 +@@ -308,7 +308,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 +@@ -426,7 +426,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) +@@ -471,33 +471,6 @@ + set HOSTLIST=(`hostname`) + endif + # +-# 2. This is an example of how to run on a 4-way SMP enclosure, +-# where all CPUs (aka COREs) are inside a -single- NODE. +-# The example is repeated for some nodes we use as 2-way's. +- if ($NCPUS > 1) then +- switch (`hostname`) +- case ti.msg.chem.iastate.edu: +- case cd.msg.chem.iastate.edu: +- case zn.msg.chem.iastate.edu: +- case ni.msg.chem.iastate.edu: +- case co.msg.chem.iastate.edu: +- case sc.msg.chem.iastate.edu: +- if ($NCPUS > 4) set NCPUS=4 +- set NNODES=1 +- set HOSTLIST=(`hostname`:cpus=$NCPUS) +- breaksw +- case se.msg.chem.iastate.edu: +- case sb.msg.chem.iastate.edu: +- case br.msg.chem.iastate.edu: +- if ($NCPUS > 2) set NCPUS=2 +- set NNODES=1 +- set HOSTLIST=(`hostname`:cpus=$NCPUS) +- breaksw +- default: +- echo I do not know how to run this node in parallel. +- exit 20 +- endsw +- endif + # + # 3. A phony example, of six uniprocessors (arbitrary names) + # Because they are uniprocessors, we just set NNODES = NCPUS. +diff -urN gamess.orig/source/zunix.c gamess/source/zunix.c +--- gamess.orig/source/zunix.c 2009-02-20 01:39:07.000000000 +0300 ++++ gamess/source/zunix.c 2009-02-20 01:39:23.000000000 +0300 +@@ -360,6 +360,7 @@ + #ifdef LINUX32 + + #include <stdlib.h> ++#include <string.h> + int memget_(nwords) int *nwords; + { int nbytes; + nbytes = (*nwords+2)*8; +@@ -441,6 +442,7 @@ + + #include <stdlib.h> + #include <malloc.h> ++#include <string.h> + + #define FORTINT long + diff --git a/sci-chemistry/gamess/gamess-20090112.1.ebuild b/sci-chemistry/gamess/gamess-20090112.1.ebuild new file mode 100644 index 000000000000..3b46a2b10335 --- /dev/null +++ b/sci-chemistry/gamess/gamess-20090112.1.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gamess/gamess-20090112.1.ebuild,v 1.1 2009/02/20 09:53:10 alexxy Exp $ + +inherit eutils toolchain-funcs fortran flag-o-matic + +DESCRIPTION="A powerful quantum chemistry package" +LICENSE="gamess" +HOMEPAGE="http://www.msg.chem.iastate.edu/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="12 JAN 2009 (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 + + # 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() { + # 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 +} diff --git a/sci-chemistry/gamess/metadata.xml b/sci-chemistry/gamess/metadata.xml index ed0fef59f844..9193c15f60d4 100644 --- a/sci-chemistry/gamess/metadata.xml +++ b/sci-chemistry/gamess/metadata.xml @@ -5,5 +5,9 @@ <email>markusle@gentoo.org</email> <name>Markus Dittrich</name> </maintainer> + <maintainer> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> <herd>sci-chemistry</herd> </pkgmetadata> |