From 95cf7846a9ea6fb89107b90286f560a69fd8a251 Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Tue, 29 Nov 2016 11:38:18 +0300 Subject: sci-chemistry/gamess: Update gamess version. Clean old ones Package-Manager: portage-2.3.0 --- sci-chemistry/gamess/Manifest | 4 +- .../gamess/files/gamess-20130501.1.gentoo.patch | 206 ------------- .../gamess/files/gamess-20141205.1.gentoo.patch | 198 ------------ .../gamess/files/gamess-20161808.1.gentoo.patch | 197 ++++++++++++ sci-chemistry/gamess/gamess-20130501.1.ebuild | 338 -------------------- sci-chemistry/gamess/gamess-20141205.1.ebuild | 338 -------------------- sci-chemistry/gamess/gamess-20161808.1.ebuild | 339 +++++++++++++++++++++ 7 files changed, 537 insertions(+), 1083 deletions(-) delete mode 100644 sci-chemistry/gamess/files/gamess-20130501.1.gentoo.patch delete mode 100644 sci-chemistry/gamess/files/gamess-20141205.1.gentoo.patch create mode 100644 sci-chemistry/gamess/files/gamess-20161808.1.gentoo.patch delete mode 100644 sci-chemistry/gamess/gamess-20130501.1.ebuild delete mode 100644 sci-chemistry/gamess/gamess-20141205.1.ebuild create mode 100644 sci-chemistry/gamess/gamess-20161808.1.ebuild (limited to 'sci-chemistry') diff --git a/sci-chemistry/gamess/Manifest b/sci-chemistry/gamess/Manifest index f3b616171..61a5e20d0 100644 --- a/sci-chemistry/gamess/Manifest +++ b/sci-chemistry/gamess/Manifest @@ -1,4 +1,2 @@ -DIST gamess-20130501.1.tar.gz 29013211 SHA256 315e6fa8f1947d8419b6f1adccf3fc7dd47b581fce107d304b7b99ef0cb15498 SHA512 56623e60762d554318111fd86c352a11393a7fa89cc0861aff7a2c68c687a953de60a4fc78f9860ec99223dd48c2cf6aa930a46a3f1c9cb019e893d871870023 WHIRLPOOL e67da7190613aeae085eea364ae3bbcc556e905e27900345cb75287eec0ea8107e0821826cb606ebb0d4f8f60ebdc264863bfa90954f846b55469c76372c1292 -DIST gamess-20141205.1.tar.gz 29993391 SHA256 6542ce730f3221d62851dc0eac573abaed19f3773567b3ffd6763b5d3ef93b4a SHA512 d48ab44957d45c2bf8d9880c63d32848807338883bb9dafaee5e47adc7eee6b12c6860a1b2e6464708fb3a850db4b09dc3a84e08b6a3f87384230c7d50b5d7f3 WHIRLPOOL 7ab71de8f888e2d70ec1abe810bcd57b11033aab6bb3dd6dae3dd8c76423ca256d2f6da38bb0d05a7560d76f45ee0454e9b9322ad3cc3eefa718e59c2e2c6e90 -DIST tinker.tar.Z 1902051 SHA256 7c52454ade7dd81d1b70a7e7722eda3672c644a3ba67ab444824a0212b4a7a8c SHA512 10f5012b6d9e32a3d6646c8d79ccc2a16f2d4322e974755e45605519bf478d36f09497457c7731c264c49ccd0c679b0fd0449d5910b4e1cfa499c7304cd28f6d WHIRLPOOL 4e81b02173f048890ec177f302818cc7664b5733c94db111c86ee6eecc830a83cc54a82797d162a2f26274be88cf786139aba096c8836e4ddd86bb0126f0908f +DIST gamess-20161808.1.tar.gz 34208268 SHA256 4484ba6a8a2b2fc35eca3133b17ced4d59064572c122b302caaf3b5b6524b8ed SHA512 011648a403dab958a700efa08ad1bb598516178146047e61fc694076918c08816b4ad44e1bd0857400e24b54ea43f267b589de07b2249bec2cc4dd359aba1750 WHIRLPOOL e19f72b355d3590bfffb70ae509dd9f157658ccd1b7446df1778b2191a3c50dd434a21474047340b5f239347c00e31a95472b5e9e0ba072a95a61e6348fcb386 DIST tinker.tar.gz 1203190 SHA256 f07c98d85c7c6fb445ad81d4b19ffa5aadb8da62329996e0373ad4e4a73d1319 SHA512 db86de07ab5abc81c80db55d1576f78ecb67c8fedaf378e2f3ba2fca306aa8ab063c8c40d01dce1cdbaee541e5efeae3cc0a7b1e54d4cb2e6952aefa6df2d33b WHIRLPOOL ee366691fa6374672c82efc4ae25d9cdfa2b01198503ca9daf077dc3eeb9dd17f9732fbb555bf6f6bfcb8a1b59b0638c7a7bbe075534171d8a4f9467e8b425b1 diff --git a/sci-chemistry/gamess/files/gamess-20130501.1.gentoo.patch b/sci-chemistry/gamess/files/gamess-20130501.1.gentoo.patch deleted file mode 100644 index 54a403b0c..000000000 --- a/sci-chemistry/gamess/files/gamess-20130501.1.gentoo.patch +++ /dev/null @@ -1,206 +0,0 @@ -diff -urN gamess.orig/comp gamess.new/comp ---- gamess.orig/comp 2013-05-03 23:18:53.000000000 +0300 -+++ gamess.new/comp 2013-09-28 18:32:46.621341822 +0300 -@@ -1544,7 +1544,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 -@@ -1574,7 +1574,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 ($GMS_GFORTRAN_VERNO == 4.6) then -@@ -1636,7 +1636,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' -@@ -1755,7 +1755,7 @@ - # -finit-real= could be interesting debug opt - # -fno-automatic forces static storage of all local variables - # -fno-whole-file suppresses argument's data type checking -- set OPT='-O2' -+ set gentoo-OPT='-O2' - if (".$GMS_DEBUG_FLAGS" != .) set OPT="$GMS_DEBUG_FLAGS" - - if ($GMS_GFORTRAN_VERNO == 4.6) then -@@ -1804,6 +1804,7 @@ - breaksw - case 4.6: - case 4.7: -+ case 4.8: - set EXTRAOPT="$EXTRAOPT -fno-whole-file" - breaksw - default: -@@ -1833,7 +1834,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/ddi/compddi gamess.new/ddi/compddi ---- gamess.orig/ddi/compddi 2013-05-03 23:14:15.000000000 +0300 -+++ gamess.new/ddi/compddi 2013-09-28 18:09:10.390246354 +0300 -@@ -640,7 +640,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" - -@@ -694,7 +694,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.new/ddi/kickoff/ddikick.c ---- gamess.orig/ddi/kickoff/ddikick.c 2011-11-22 21:54:33.000000000 +0200 -+++ gamess.new/ddi/kickoff/ddikick.c 2013-09-28 18:10:27.380423340 +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/gms-files.csh gamess.new/gms-files.csh ---- gamess.orig/gms-files.csh 2013-05-03 22:18:03.000000000 +0300 -+++ gamess.new/gms-files.csh 2013-09-28 18:28:04.952744349 +0300 -@@ -28,7 +28,7 @@ - # to see all the file definitions (one is just below). - # - #---quiet---set echo --setenv AUXDATA $GMSPATH/auxdata -+setenv AUXDATA /usr/share/gamess - setenv EXTBAS /dev/null - setenv NUCBAS /dev/null - setenv POSBAS /dev/null -diff -urN gamess.orig/lked gamess.new/lked ---- gamess.orig/lked 2013-05-17 19:15:06.000000000 +0300 -+++ gamess.new/lked 2013-09-28 18:20:14.922777944 +0300 -@@ -384,17 +384,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 pgfortran -@@ -405,7 +405,7 @@ - breaksw - case f2c: - set LDR='gcc' -- set LDOPTS=' ' -+ set gentoo-LDOPTS=' ' - set FORTLIBS='-lf2c -lm' - breaksw - default: -@@ -458,12 +458,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 - -@@ -497,12 +492,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' -@@ -619,13 +614,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" -- if ($CCHEM == true) set MATHLIBS="$MATHLIBS -llapack" -- endif -+ set MATHLIBS=`${PKG_CONFIG} --libs blas` - set BLAS=' ' - breaksw - -diff -urN gamess.orig/runall gamess.new/runall ---- gamess.orig/runall 2012-02-03 01:55:01.000000000 +0200 -+++ gamess.new/runall 2013-09-28 18:20:59.446867749 +0300 -@@ -46,7 +46,7 @@ - xgms -v $VERNO -q $QUEUE -l exam$NUM.log exam$NUM - sleep 2 - 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.new/rungms ---- gamess.orig/rungms 2013-05-17 19:15:11.000000000 +0300 -+++ gamess.new/rungms 2013-09-28 18:26:53.268594417 +0300 -@@ -60,9 +60,9 @@ - # See also a very old LoadLeveler "ll-gms" for some IBM systems. - # - set TARGET=sockets --set SCR=/scr/$USER --set USERSCR=~$USER/scr --set GMSPATH=/u1/mike/gamess -+set SCR=`pwd` -+set USERSCR=`pwd` -+set GMSPATH=/usr/bin - # - 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 diff --git a/sci-chemistry/gamess/files/gamess-20141205.1.gentoo.patch b/sci-chemistry/gamess/files/gamess-20141205.1.gentoo.patch deleted file mode 100644 index 742ea461b..000000000 --- a/sci-chemistry/gamess/files/gamess-20141205.1.gentoo.patch +++ /dev/null @@ -1,198 +0,0 @@ -diff -urN gamess.orig/comp gamess/comp ---- gamess.orig/comp 2015-01-15 17:49:05.000000000 +0300 -+++ gamess/comp 2016-05-26 11:40:00.143511481 +0300 -@@ -1535,7 +1535,7 @@ - # - case gfortran: - # -- set OPT='-O2' -+ set gentoo-OPT='-O2' - if ($MODULE == zheev) set OPT='-O0' # defensive compiling - - set EXTRAOPT=" " -@@ -1577,6 +1577,11 @@ - breaksw - case 4.8: - case 4.9: -+ case 5.0: -+ case 5.1: -+ case 5.2: -+ case 5.3: -+ case 6.0: - if ($MODULE == cosmo) set OPT='-O0' - if ($MODULE == dcscf) set OPT='-O0' - if ($MODULE == tddgrd) set OPT='-O0' -@@ -1605,7 +1610,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' -@@ -1740,7 +1745,7 @@ - # - # first, initialize OPT and EXTRAOPT - # -- set OPT='-O2' -+ set gentoo-OPT='-O2' - if ($MODULE == zheev) set OPT='-O0' # defensive compiling - - set EXTRAOPT=" " -@@ -1793,6 +1798,11 @@ - breaksw - case 4.8: - case 4.9: -+ case 5.0: -+ case 5.1: -+ case 5.2: -+ case 5.3: -+ case 6.0: - if ($MODULE == cosmo) set OPT='-O0' # same issue as seen in 4.6 - if ($MODULE == dcscf) set OPT='-O0' # exam44, continues from 4.7 - if ($MODULE == tddgrd) set OPT='-O0' # exam41, continues from 4.6 -@@ -1829,7 +1839,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/ddi/compddi gamess/ddi/compddi ---- gamess.orig/ddi/compddi 2015-01-15 17:49:05.000000000 +0300 -+++ gamess/ddi/compddi 2016-05-26 11:30:34.601322818 +0300 -@@ -610,7 +610,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" - -@@ -664,7 +664,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 2011-11-22 23:54:33.000000000 +0400 -+++ gamess/ddi/kickoff/ddikick.c 2016-05-26 11:30:34.601322818 +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/gms-files.csh gamess/gms-files.csh ---- gamess.orig/gms-files.csh 2014-05-16 18:14:43.000000000 +0400 -+++ gamess/gms-files.csh 2016-05-26 11:30:34.601322818 +0300 -@@ -28,7 +28,7 @@ - # to see all the file definitions (one is just below). - # - #---quiet---set echo --setenv AUXDATA $GMSPATH/auxdata -+setenv AUXDATA /usr/share/gamess - setenv EXTBAS /dev/null - setenv NUCBAS /dev/null - setenv POSBAS /dev/null -diff -urN gamess.orig/lked gamess/lked ---- gamess.orig/lked 2014-12-08 20:56:59.000000000 +0300 -+++ gamess/lked 2016-05-26 11:41:11.124667982 +0300 -@@ -356,12 +356,12 @@ - switch ($GMS_FORTRAN) - 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 pgfortran: -@@ -420,12 +420,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 - -@@ -459,12 +454,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' -@@ -581,13 +576,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" -- if ($CCHEM == true) set MATHLIBS="$MATHLIBS -llapack" -- endif -+ set MATHLIBS=`${PKG_CONFIG} --libs blas` - set BLAS=' ' - breaksw - -diff -urN gamess.orig/runall gamess/runall ---- gamess.orig/runall 2012-02-03 03:55:01.000000000 +0400 -+++ gamess/runall 2016-05-26 11:30:34.603322822 +0300 -@@ -46,7 +46,7 @@ - xgms -v $VERNO -q $QUEUE -l exam$NUM.log exam$NUM - sleep 2 - 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 2014-12-10 19:01:06.000000000 +0300 -+++ gamess/rungms 2016-05-26 11:42:23.316828732 +0300 -@@ -60,9 +60,9 @@ - # See also a very old LoadLeveler "ll-gms" for some IBM systems. - # - set TARGET=sockets --set SCR=/scr/$USER --set USERSCR=/u1/$USER/scr --set GMSPATH=/u1/mike/gamess -+set SCR=`pwd` -+set USERSCR=`pwd` -+set GMSPATH=/usr/bin - # - 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 diff --git a/sci-chemistry/gamess/files/gamess-20161808.1.gentoo.patch b/sci-chemistry/gamess/files/gamess-20161808.1.gentoo.patch new file mode 100644 index 000000000..c29200fb6 --- /dev/null +++ b/sci-chemistry/gamess/files/gamess-20161808.1.gentoo.patch @@ -0,0 +1,197 @@ +diff -urN gamess.orig/comp gamess/comp +--- gamess.orig/comp 2016-10-08 17:15:03.000000000 +0300 ++++ gamess/comp 2016-11-29 11:30:44.836507346 +0300 +@@ -1548,7 +1548,7 @@ + # + case gfortran: + # +- set OPT='-O2' ++ set gentoo-OPT='-O2' + if ($MODULE == zheev) set OPT='-O0' # defensive compiling + + set EXTRAOPT=" " +@@ -1593,6 +1593,10 @@ + case 5.1: + case 5.2: + case 5.3: ++ case 5.4: ++ case 6.0: ++ case 6.1: ++ case 6.2: + if ($MODULE == cosmo) set OPT='-O0' + if ($MODULE == dcscf) set OPT='-O0' + if ($MODULE == tddgrd) set OPT='-O0' +@@ -1621,7 +1625,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' +@@ -1766,7 +1770,7 @@ + # + # first, initialize OPT and EXTRAOPT + # +- set OPT='-O2' ++ set gentoo-OPT='-O2' + if ($MODULE == zheev) set OPT='-O0' # defensive compiling + + set EXTRAOPT=" " +@@ -1823,6 +1827,10 @@ + case 5.1: + case 5.2: + case 5.3: ++ case 5.4: ++ case 6.0: ++ case 6.1: ++ case 6.2: + if ($MODULE == cosmo) set OPT='-O0' # same issue as seen in 4.6 + if ($MODULE == dcscf) set OPT='-O0' # exam44, continues from 4.7 + if ($MODULE == tddgrd) set OPT='-O0' # exam41, continues from 4.6 +@@ -1864,7 +1872,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/ddi/compddi gamess/ddi/compddi +--- gamess.orig/ddi/compddi 2016-06-22 21:28:44.000000000 +0300 ++++ gamess/ddi/compddi 2016-11-29 11:28:19.067151986 +0300 +@@ -627,7 +627,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" + +@@ -681,7 +681,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 2011-11-22 23:54:33.000000000 +0400 ++++ gamess/ddi/kickoff/ddikick.c 2016-11-29 11:28:19.068151988 +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/gms-files.csh gamess/gms-files.csh +--- gamess.orig/gms-files.csh 2016-09-07 22:42:51.000000000 +0300 ++++ gamess/gms-files.csh 2016-11-29 11:28:19.068151988 +0300 +@@ -28,7 +28,7 @@ + # to see all the file definitions (one is just below). + # + #---quiet---set echo +-setenv AUXDATA $GMSPATH/auxdata ++setenv AUXDATA /usr/share/gamess + setenv EXTBAS /dev/null + setenv NUCBAS /dev/null + setenv POSBAS /dev/null +diff -urN gamess.orig/lked gamess/lked +--- gamess.orig/lked 2016-07-29 20:59:09.000000000 +0300 ++++ gamess/lked 2016-11-29 11:32:22.885745512 +0300 +@@ -362,12 +362,12 @@ + switch ($GMS_FORTRAN) + 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 pgfortran: +@@ -426,12 +426,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 + +@@ -465,13 +460,13 @@ + switch ($GMS_FORTRAN) + case gfortran: + set LDR='gfortran' +- set LDOPTS=' ' ++ set gentoo-LDOPTS=' ' + set FORTLIBS=' ' + if ($GMS_OPENMP == true) set LDOPTS="$LDOPTS -fopenmp" + 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' +@@ -616,13 +611,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" +- if ($CCHEM == true) set MATHLIBS="$MATHLIBS -llapack" +- endif ++ set MATHLIBS=`${PKG_CONFIG} --libs blas` + set BLAS=' ' + breaksw + +diff -urN gamess.orig/runall gamess/runall +--- gamess.orig/runall 2012-02-03 03:55:01.000000000 +0400 ++++ gamess/runall 2016-11-29 11:28:19.069151991 +0300 +@@ -46,7 +46,7 @@ + xgms -v $VERNO -q $QUEUE -l exam$NUM.log exam$NUM + sleep 2 + 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 2016-10-08 17:16:14.000000000 +0300 ++++ gamess/rungms 2016-11-29 11:28:19.070151993 +0300 +@@ -61,9 +61,9 @@ + # See also a very old LoadLeveler "ll-gms" for some IBM systems. + # + set TARGET=sockets +-set SCR=/scr/$USER +-set USERSCR=/u1/$USER/scr +-set GMSPATH=/u1/mike/gamess ++set SCR=`pwd` ++set USERSCR=`pwd` ++set GMSPATH=/usr/bin + # + 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 diff --git a/sci-chemistry/gamess/gamess-20130501.1.ebuild b/sci-chemistry/gamess/gamess-20130501.1.ebuild deleted file mode 100644 index 8cc04fb64..000000000 --- a/sci-chemistry/gamess/gamess-20130501.1.ebuild +++ /dev/null @@ -1,338 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -inherit eutils fortran-2 flag-o-matic pax-utils toolchain-funcs - -DESCRIPTION="A powerful quantum chemistry package" -HOMEPAGE="http://www.msg.chem.iastate.edu/GAMESS/GAMESS.html" -SRC_URI=" - ${P}.tar.gz - qmmm-tinker? ( tinker.tar.Z )" - -SLOT="0" -LICENSE="gamess" -# 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 MAY 2013 (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" - # 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 - # create 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_BUILD_DIR $WORKDIR/gamess - setenv GMS_TARGET $active_arch - setenv GMS_FORTRAN $FCOMP - setenv GMS_GFORTRAN_VERNO 4.7 - 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 gms-files.csh \ - || die "Failed installing binaries" - if use !mpi; then - dobin ddi/ddikick.x \ - || die "Failed installing binaries" - fi - - # the docs - dodoc *.DOC qmnuc/*.DOC - - # install ericftm - insinto /usr/share/${PN} - doins auxdata/ericfmt.dat - - # install mcpdata - insinto /usr/share/${PN}/MCP - doins auxdata/MCP/* - - # install BASES - insinto /usr/share/${PN}/BASES - doins auxdata/BASES/* - - # install QUANPOL - insinto /usr/share/${PN}/QUANPOL - doins auxdata/QUANPOL/* - - # install tinker params in case of qmmm - if use qmmm-tinker ; then - dodoc tinker/simomm.doc - insinto /usr/share/${PN} - doins -r tinker/params51 - 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 -r tests/* - insopts -m0744 - doins runall - #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/* -} - -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/gamess-20141205.1.ebuild b/sci-chemistry/gamess/gamess-20141205.1.ebuild deleted file mode 100644 index 1fb80b763..000000000 --- a/sci-chemistry/gamess/gamess-20141205.1.ebuild +++ /dev/null @@ -1,338 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -inherit eutils fortran-2 flag-o-matic pax-utils toolchain-funcs - -DESCRIPTION="A powerful quantum chemistry package" -HOMEPAGE="http://www.msg.chem.iastate.edu/GAMESS/GAMESS.html" -SRC_URI=" - ${P}.tar.gz - qmmm-tinker? ( tinker.tar.gz )" - -SLOT="0" -LICENSE="gamess" -# 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="5 DEC 2014 (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" - # 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 - # create 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_BUILD_DIR $WORKDIR/gamess - setenv GMS_TARGET $active_arch - setenv GMS_FORTRAN $FCOMP - setenv GMS_GFORTRAN_VERNO $(gcc-major-version).$(gcc-minor-version) - 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 gms-files.csh \ - || die "Failed installing binaries" - if use !mpi; then - dobin ddi/ddikick.x \ - || die "Failed installing binaries" - fi - - # the docs - dodoc *.DOC qmnuc/*.DOC - - # install ericftm - insinto /usr/share/${PN} - doins auxdata/ericfmt.dat - - # install mcpdata - insinto /usr/share/${PN}/MCP - doins auxdata/MCP/* - - # install BASES - insinto /usr/share/${PN}/BASES - doins auxdata/BASES/* - - # install QUANPOL - insinto /usr/share/${PN}/QUANPOL - doins auxdata/QUANPOL/* - - # install tinker params in case of qmmm - if use qmmm-tinker ; then - dodoc tinker/simomm.doc - insinto /usr/share/${PN} - doins -r tinker/params51 - 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 -r tests/* - insopts -m0744 - doins runall - #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/* -} - -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/gamess-20161808.1.ebuild b/sci-chemistry/gamess/gamess-20161808.1.ebuild new file mode 100644 index 000000000..8f62aa664 --- /dev/null +++ b/sci-chemistry/gamess/gamess-20161808.1.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils fortran-2 flag-o-matic pax-utils toolchain-funcs + +DESCRIPTION="A powerful quantum chemistry package" +HOMEPAGE="http://www.msg.chem.iastate.edu/GAMESS/GAMESS.html" +SRC_URI=" + ${P}.tar.gz + qmmm-tinker? ( tinker.tar.gz )" + +SLOT="0" +LICENSE="gamess" +# 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="18 AUG 2016 (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" + eapply_user + # 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 + # create 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_BUILD_DIR $WORKDIR/gamess + setenv GMS_TARGET $active_arch + setenv GMS_FORTRAN $FCOMP + setenv GMS_GFORTRAN_VERNO $(gcc-major-version).$(gcc-minor-version) + 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 gms-files.csh \ + || die "Failed installing binaries" + if use !mpi; then + dobin ddi/ddikick.x \ + || die "Failed installing binaries" + fi + + # the docs + dodoc *.DOC qmnuc/*.DOC + + # install ericftm + insinto /usr/share/${PN} + doins auxdata/ericfmt.dat + + # install mcpdata + insinto /usr/share/${PN}/MCP + doins auxdata/MCP/* + + # install BASES + insinto /usr/share/${PN}/BASES + doins auxdata/BASES/* + + # install QUANPOL + insinto /usr/share/${PN}/QUANPOL + doins auxdata/QUANPOL/* + + # install tinker params in case of qmmm + if use qmmm-tinker ; then + dodoc tinker/simomm.doc + insinto /usr/share/${PN} + doins -r tinker/params51 + 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 -r tests/* + insopts -m0744 + doins runall + #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/* +} + +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 +} -- cgit v1.2.3-65-gdbad