<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>