<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c9faa154d5fda9037edec3c92acd9177f2ad6b6f">https://github.com/macports/macports-ports/commit/c9faa154d5fda9037edec3c92acd9177f2ad6b6f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c9faa154d5fda9037edec3c92acd9177f2ad6b6f
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Tue Mar 17 14:43:47 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    legacysupport 1.1: new PortGroup
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Portgroup provides support older OS releases.
</span>---
 _resources/port1.0/group/legacysupport-1.1.tcl | 112 +++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/legacysupport-1.1.tcl b/_resources/port1.0/group/legacysupport-1.1.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8e5545a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/legacysupport-1.1.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,112 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This portgroup provides support older OS releases by:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    * providing a library for various missing library functions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    * ameliorate the mixing of libstdc++ libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   PortGroup legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   legacysupport.newest_darwin_requires_legacy: newest macOS release that requires legacy support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   legacysupport.header_search: preprocessor flag used to locate header directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   legacysupport.library_name: linker flag used to add library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   legacysupport.redirect_bins: binary files that mix different versions of libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#                                create a wrapper so that only MacPorts libstdc++ is used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options legacysupport.newest_darwin_requires_legacy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default legacysupport.newest_darwin_requires_legacy {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options legacysupport.header_search
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default legacysupport.header_search     {-isystem${prefix}/include/LegacySupport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options legacysupport.library_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default legacysupport.library_name      {${prefix}/lib/libMacportsLegacySupport.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options legacysupport.redirect_bins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default legacysupport.redirect_bins     {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# please remove when a86f95c has been in a released MacPorts version for at least two weeks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://github.com/macports/macports-base/commit/a86f95c5ab86ee52c8fec2271e005591179731de
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists compiler.limit_flags]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    options compiler.limit_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default compiler.limit_flags        no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+namespace eval legacysupport {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc legacysupport::add_legacysupport {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           os.platform \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           os.major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} <= [option legacysupport.newest_darwin_requires_legacy]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "Adding legacy build support"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # depend on the support library or devel version if installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-delete path:lib/libMacportsLegacySupport.dylib:legacy-support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append path:lib/libMacportsLegacySupport.dylib:legacy-support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-delete    [option legacysupport.library_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-append    [option legacysupport.library_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![option compiler.limit_flags]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cppflags-delete   [option legacysupport.header_search]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cppflags-prepend  [option legacysupport.header_search]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.cpath-delete      ${prefix}/include/LegacySupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.cpath-prepend     ${prefix}/include/LegacySupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/59832
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && [option configure.cxx_stdlib] eq "macports-libstdc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach phase {configure build destroot test} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${phase}.env-delete    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${phase}.env-append    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+port::register_callback legacysupport::add_legacysupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc legacysupport::legacysupport_proc {option action args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$action ne  "set"} return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    legacysupport::add_legacysupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option_proc legacysupport.newest_darwin_requires_legacy legacysupport::legacysupport_proc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://trac.macports.org/ticket/59832
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} eq "macports-libstdc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach rbin ${legacysupport.redirect_bins} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set dir [file dirname ${rbin}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${dir} eq "."} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set dir ${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set bin ${dir}/[file tail ${rbin}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move    ${destroot}${bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${bin}-orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set  wrapper    [open "${destroot}${bin}" w 0755]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} "#!/bin/bash"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} {if [ -n "$DYLD_LIBRARY_PATH" ]; then}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} "   DYLD_LIBRARY_PATH=${prefix}/lib/libgcc:\${DYLD_LIBRARY_PATH}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} {else}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} "   DYLD_LIBRARY_PATH=${prefix}/lib/libgcc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} {fi}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} {export DYLD_LIBRARY_PATH}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${wrapper} {exec "${0}-orig" "$@"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            close $wrapper
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>