Files

149 lines
5.0 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup compilers 1.0
PortGroup linear_algebra 1.0
PortGroup muniversal 1.0
name gamess
version 20180930
revision 1
categories science
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
homepage https://www.msg.chem.iastate.edu/gamess/
master_sites http://www.msg.chem.iastate.edu/GAMESS/download/source/
platforms darwin
description a general ab initio quantum chemistry package
long_description The General Atomic and Molecular Electronic Structure System (GAMESS) \
is a general ab initio quantum chemistry package.
license Restrictive Nomirror
# there is no version number in the distname
distname gamess-current
dist_subdir ${name}_${version}
fetch {
foreach distfile ${distfiles} {
if {![file exists ${distpath}/${distfile}]} {
ui_error "MacPorts cannot download ${name} due to license restrictions."
ui_error "Please visit https://www.msg.chem.iastate.edu/GAMESS/License_Agreement.html"
ui_error "Download GAMESS from [string range ${version} 4 5]/[string range ${version} 6 7]/[string range ${version} 0 3]"
ui_error "Put ${distfile} in ${distpath}."
return -code error "missing distfiles"
}
}
}
checksums rmd160 d3db5f9e151c1792fbec5d8f865e5a48cc8cfac8 \
sha256 fb177614395650dc4b4baff643962cc36435ad81516aa58b74204bfe47f90605 \
size 95358083
patchfiles-append patch-config.diff \
patch-compddi.diff \
patch-comp.diff \
patch-compall.diff \
patch-lked.diff \
patch-rungms.diff
worksrcdir gamess
compilers.setup require_fortran
post-patch {
reinplace \
"s|tput clear|echo ''; echo '----------------------------------'; echo ''|g" \
${worksrcpath}/config
}
if {[variant_isset accelerate]} {
set linear_algebra_name Accelerate
} elseif {[variant_isset atlas]} {
set linear_algebra_name atlas
} elseif {[variant_isset openblas]} {
set linear_algebra_name openblas
} else {
pre-fetch {
ui_error "Unknown linear algebra variant"
return -code error "unknown linear algebra variant"
}
}
post-patch {
copy ${worksrcpath}/rungms ${worksrcpath}/rungms_save
}
configure {
if {![variant_exists universal] || ![variant_isset universal]} {
set test_arch ${build_arch}
} else {
set test_arch ${muniversal.current_arch}
}
if {${test_arch} eq "ppc" || ${test_arch} eq "i386"} {
set gms_target mac32
} else {
set gms_target mac64
}
reinplace \
"s|__MACPORTS_GMS_TARGET__|${gms_target}|g" \
${worksrcpath}/config
reinplace \
"s|__MACPORTS_GMS_FORTRAN__|${configure.fc}|g" \
${worksrcpath}/config
reinplace \
"s|__MACPORTS_GMS_MATHLIB__|${linear_algebra_name}|g" \
${worksrcpath}/config
reinplace \
"s|__MACPORTS_CC__|${configure.cc}|g" \
${worksrcpath}/ddi/compddi \
${worksrcpath}/compall
reinplace \
"s|__MACPORTS_SDK__|${configure.sdkroot}|g" \
${worksrcpath}/compall
reinplace \
"s|__MACPORTS_LINEAR_ALGEBRA__|-L${prefix}/lib ${linalglib}|g" \
${worksrcpath}/lked
reinplace \
"s|__MACPORTS_GMSPATH__|${worksrcpath}|g" \
${worksrcpath}/rungms
reinplace \
"s|__MACPORTS_GMSPATH__|${prefix}/libexec/${name}|g" \
${worksrcpath}/rungms_save
system -W ${build.dir} "./config"
}
build {
system -W ${build.dir} "./ddi/compddi"
move ${build.dir}/ddi/ddikick.x ${build.dir}
system -W ${build.dir} "./compall"
system -W ${build.dir} "./lked"
}
destroot {
xinstall -d -m 0755 ${destroot}${prefix}/libexec/${name}
xinstall -d -m 0755 ${destroot}${prefix}/libexec/${name}/tools
foreach bin {gamess.00.x gms-files.csh ddikick.x tools/remd.csh} {
xinstall -m 0755 ${build.dir}/${bin} ${destroot}${prefix}/libexec/${name}/${bin}
}
xinstall -m 0755 ${build.dir}/rungms_save ${destroot}${prefix}/libexec/${name}/rungms
ln -s ${prefix}/libexec/${name}/rungms ${destroot}${prefix}/bin/rungms
copy ${build.dir}/auxdata ${destroot}${prefix}/libexec/${name}
xinstall -d -m 0755 ${destroot}${prefix}/share/${name}/doc
xinstall -m 0644 {*}[glob ${build.dir}/*.DOC] ${destroot}${prefix}/share/${name}/doc
xinstall -m 0644 {*}[glob ${build.dir}/qmnuc/*.DOC] ${destroot}${prefix}/share/${name}/doc
}
test.run yes
test {
system -W ${build.dir} "./runall 00"
system -W ${build.dir} "./tests/standard/checktst"
}
livecheck.type none