<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/97ab1f14743cd5392a7bc99cd0c29bba725ce657">https://github.com/macports/macports-ports/commit/97ab1f14743cd5392a7bc99cd0c29bba725ce657</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 97ab1f14743 esmf: Update to 8.2.0
</span>97ab1f14743 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 97ab1f14743cd5392a7bc99cd0c29bba725ce657
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sun Apr 24 16:39:07 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    esmf: Update to 8.2.0
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Update to 8.2.0 and fix port version number (dots instead of underscores
</span><span style='display:block; white-space:pre;color:#404040;'>    between numbers).
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use MacPorts yaml-cpp rather than the possibly older bundled version.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Remove the post-destroot code that fixed up the install names and
</span><span style='display:block; white-space:pre;color:#404040;'>    instead patch the build system to use the correct install names to begin
</span><span style='display:block; white-space:pre;color:#404040;'>    with.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fix typo in ESMF_XERCES_LIBPATH environment variable name.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The binary of the previous version was broken due to the update of
</span><span style='display:block; white-space:pre;color:#404040;'>    netcdf in 859375d since there was no subsequent revbump of esmf.
</span>---
 science/esmf/Portfile                 | 62 +++++++++++++--------------------
 science/esmf/files/install_name.patch | 64 +++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+), 39 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/esmf/Portfile b/science/esmf/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6454617e8c0..07b0f5f1e37 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/esmf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/esmf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12,10 +12,14 @@ compilers.allow_arguments_mismatch \
</span> mpi.setup
 mpi.enforce_variant netcdf-fortran
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        esmf-org esmf 8_0_1 ESMF_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        esmf-org esmf 8_2_0 ESMF_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  02dfccd24971fc5e89a5d0be874cf74abd8c2cec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    10814914
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             [string map {_ .} ${github.version}]
</span> categories          science devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> license             NCSA
 maintainers         {takeshi @tenomoto}
 description         software for building and coupling weather, climate, and related models
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,25 +29,23 @@ long_description    The ESMF defines an architecture for composing complex, coup
</span> homepage            https://earthsystemmodeling.org
 github.tarball_from archive
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  59ded8c9e5db842fe7812c58ae19df98cb4bd9dd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  9172fb73f3fe95c8188d889ee72fdadb4f978b1d969e1d8e401e8d106def1d84 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    11571322
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       bin:ranlib:cctools \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    bin:install_name_tool:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       bin:ranlib:cctools
</span> 
 depends_lib         port:netcdf \
                     port:netcdf-fortran \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xercesc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:xercesc3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:yaml-cpp
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 12} {
     known_fail      yes
     pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} is not supported on Lion or older."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        error "unsupported platform"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "${name} @{version} requires OS X Mountain Lion or later."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "unsupported Mac OS X version"
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          install_name.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
     if {[variant_isset openmpi]} {
         foreach c {g95 gfortran gfortranclang} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -82,8 +84,11 @@ pre-build {
</span>                     ESMF_NETCDF_LIBPATH=${prefix}/lib \
                     ESMF_XERCES=standard \
                     ESMF_XERCES_INCLUDE=${prefix}/include \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ESMF_XERCESF_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ESMF_XERCES_LIBS=-lxerces-c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_XERCES_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP=standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_INSTALL_LIBDIR=${prefix}/lib
</span>     if {[variant_isset accelerate]} {
         build.env-append    ESMF_LAPACK=system \
                             ESMF_LAPACK_LIBS=-lvecLibFort
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -121,8 +126,10 @@ pre-destroot {
</span>                     ESMF_NETCDF_LIBPATH=${prefix}/lib \
                     ESMF_XERCES=standard \
                     ESMF_XERCES_INCLUDE=${prefix}/include \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ESMF_XERCESF_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ESMF_XERCES_LIBS=-lxerces-c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_XERCES_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP=standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ESMF_YAMLCPP_LIBPATH=${prefix}/lib \
</span>                     ESMF_INSTALL_PREFIX=${destroot}${prefix} \
                     ESMF_INSTALL_HEADERDIR=${destroot}${prefix}/include/${name} \
                     ESMF_INSTALL_MODDIR=${destroot}${prefix}/include/${name} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -170,28 +177,5 @@ post-destroot {
</span>     file copy ${worksrcpath}/src ${destroot}${prefix}/share/${name}
     system -W ${destroot}${prefix}/lib "ranlib libesmf.a"
     system -W ${destroot}${prefix}/lib "ranlib libesmftrace_static.a"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach l {libesmf.dylib libesmf_fullylinked.dylib} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[file exists ${destroot}${prefix}/lib/${l}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${destroot}${prefix}/lib "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                install_name_tool -id ${prefix}/lib/${l} ${l}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set l "libesmftrace_preload.dylib"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[file exists ${destroot}${prefix}/lib/${l}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system -W ${destroot}${prefix}/lib "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            install_name_tool -id ${prefix}/lib/${l} ${l}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            old=`otool -L ${l} | grep libesmf\.dylib | cut -d ' ' -f 1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            install_name_tool -change \${old} ${prefix}/lib/libesmf.dylib ${l}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach b {Info InfoC Regrid RegridWeightGen Scrip2Unstruct WebServController} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[file exists ${destroot}${prefix}/bin/ESMF_${b}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${destroot}${prefix}/bin "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                old=`otool -L ESMF_${b} | grep libesmf | cut -d ' ' -f 1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                install_name_tool -change \${old} ${prefix}/lib/libesmf.dylib ESMF_${b}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     file delete ${destroot}${prefix}/lib/preload.sh
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/esmf/files/install_name.patch b/science/esmf/files/install_name.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f00e4c3bb6a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/esmf/files/install_name.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Set library install names at build time. This may not be the best method
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+but the build system is nonstandard and complicated and the best way may
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+require more restructuring tham I'm prepared to do.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Remove code that rewrites install names at install time which didn't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+work for several reasons:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+1. $(wildcard) was evaluated before the dylibs had been created so it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   expanded to the empty string unless you ran it a second time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2. The build system doesn't support DESTDIR so we include the dest dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   in the value of ESMF_INSTALL_LIBDIR so the rewritten install names
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   would contain the dest dir too
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+3. The wrong install names were baked into the executables when they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   were built and there was no makefile code to rewrite them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build/common.mk.orig   2021-10-26 16:39:51.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build/common.mk        2022-04-25 18:07:23.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1030,6 +1030,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ESMF_SL_SUFFIX        = so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(ESMF_OS),Darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ESMF_SL_SUFFIX        = dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ESMF_SL_LIBOPTS       += -install_name $$INSTALLNAME
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(ESMF_OS),Cygwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ESMF_SL_SUFFIX        = dll.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3883,12 +3884,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if [ -f $$NEXTLIB.$(ESMF_LIB_SUFFIX) ] ; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               $(ESMF_RM) $$NEXTLIB.$(ESMF_SL_SUFFIX) ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              INSTALLNAME=$(ESMF_INSTALL_LIBDIR_ABSPATH)/$$NEXTLIB.$(ESMF_SL_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               echo Converting $$NEXTLIB.a to $$NEXTLIB.$(ESMF_SL_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               mkdir tmp_$$NEXTLIB ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               cd tmp_$$NEXTLIB  ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   $(ESMF_AREXTRACT) ../$$NEXTLIB.$(ESMF_LIB_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     echo $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/$$NEXTLIB.$(ESMF_SL_SUFFIX) *.o $(ESMF_SL_LIBLIBS) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/$$NEXTLIB.$(ESMF_SL_SUFFIX) *.o $(ESMF_SL_LIBLIBS) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              INSTALLNAME=$(ESMF_INSTALL_LIBDIR_ABSPATH)/$$NEXTLIB\_fullylinked.$(ESMF_SL_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               echo Converting $$NEXTLIB.$(ESMF_SL_SUFFIX) to $$NEXTLIB\_fullylinked.$(ESMF_SL_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     echo $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/$$NEXTLIB\_fullylinked.$(ESMF_SL_SUFFIX) *.o $(ESMF_CXXLINKOPTS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/$$NEXTLIB\_fullylinked.$(ESMF_SL_SUFFIX) *.o $(ESMF_CXXLINKOPTS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- makefile.orig  2021-10-26 16:39:51.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ makefile       2022-04-25 00:38:29.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -677,11 +677,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp -f $(ESMF_MODDIR)/*.mod $(ESMF_INSTALL_MODDIR_ABSPATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mkdir -p $(ESMF_INSTALL_LIBDIR_ABSPATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp -f $(ESMF_LIBDIR)/libesmf*.* $(ESMF_INSTALL_LIBDIR_ABSPATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  @for lib in $(wildcard $(ESMF_INSTALL_LIBDIR_ABSPATH)/libesmf*.dylib) foo ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if [ $$lib != "foo" ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      install_name_tool -id "$$lib" $$lib ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    fi ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(ESMF_TRACE_LIB_BUILD),ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(ESMF_TRACE_BUILD_SHARED),ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(MAKE) ESMF_PRELOADDIR=$(ESMF_INSTALL_LIBDIR_ABSPATH) build_preload_script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Infrastructure/Trace/preload/makefile.orig 2021-10-26 16:39:51.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Infrastructure/Trace/preload/makefile      2022-04-25 19:25:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,6 +32,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tracelib_preload: preload.o preload_io.o preload_mpi.o wrappers.o wrappers_io.o wrappers_mpi.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  @INSTALLNAME=$(ESMF_INSTALL_LIBDIR_ABSPATH)/libesmftrace_preload.$(ESMF_SL_SUFFIX) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  echo $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/libesmftrace_preload.$(ESMF_SL_SUFFIX) $^ $(ESMF_CXXLINKOPTS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) $(ESMF_TRACE_ESMFLIB) ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(ESMF_SL_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/libesmftrace_preload.$(ESMF_SL_SUFFIX) $^ $(ESMF_CXXLINKOPTS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) $(ESMF_TRACE_ESMFLIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(MAKE) ESMF_PRELOADDIR=$(ESMF_LIBDIR) build_preload_script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>