# -*- 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
PortGroup active_variants 1.1
compilers.setup require_fortran -clang
mpi.enforce_variant netcdf-fortran
maintainers {takeshi @tenomoto}
description software for building and coupling weather, climate, and related models
long_description The ESMF defines an architecture for composing complex, coupled \
modeling systems and includes data structures \
and utilities for developing individual models.
homepage http://esmf-cu.colorado.edu
master_sites http://www.earthsystemmodeling.org/esmf_releases/public/ESMF_${version}
checksums rmd160 d0f4cdeacf572dccef6615131036ff262d82611a \
sha256 ae9a5edb8d40ae97a35cbd4bd00b77061f995c77c43d36334dbb95c18b00a889
depends_build bin:ranlib:cctools \
bin:install_name_tool:cctools
depends_lib port:netcdf-fortran \
distname ${name}_${version}_src
if {[variant_isset openmpi]} {
foreach c {g95 gfortran gfortranclang} {
reinplace "s| -lmpi_f77||" ${worksrcpath}/build_config/Darwin.${c}.default/build_rules.mk
if {${configure.cxx_stdlib} eq "libc++" && ![mpi_variant_isset]} {
reinplace "s|stdc++|c++|" ${worksrcpath}/build_config/Darwin.gfortranclang.default/build_rules.mk
reinplace "s|stdc++|c++|" ${worksrcpath}/build_config/Darwin.g95.default/build_rules.mk
if {![variant_isset atlas]} {
default_variants +accelerate
if {[variant_isset gcc47] || [variant_isset gcc48] || [variant_isset gcc49] || [variant_isset gcc5]} {
configure.cxxflags-append -std=c++11
} elseif {[variant_isset gcc44] || [variant_isset gcc45] || [variant_isset gcc46]} {
configure.cxxflags-append -std=c++0x