<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6fb2ae6631b642ed4fcf13d0531348e51d29f36c">https://github.com/macports/macports-ports/commit/6fb2ae6631b642ed4fcf13d0531348e51d29f36c</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 6fb2ae6631b libffi: symlink via prev major version - Absolutely critical, to avoid temporary toolchain breakage Closes: https://trac.macports.org/ticket/63443 Closes: https://trac.macports.org/ticket/63453 See: https://trac.macports.org/ticket/63378
</span>6fb2ae6631b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 6fb2ae6631b642ed4fcf13d0531348e51d29f36c
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sun Oct 17 18:36:53 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    libffi: symlink via prev major version
</span><span style='display:block; white-space:pre;color:#404040;'>    - Absolutely critical, to avoid temporary toolchain breakage
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/63443
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/63453
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/63378
</span>---
 devel/libffi/Portfile | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libffi/Portfile b/devel/libffi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 01f2b90a3a2..02f350fdc02 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libffi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libffi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,6 +5,7 @@ PortGroup           muniversal 1.0
</span> PortGroup           github 1.0
 
 github.setup        libffi libffi 3.4.2 v
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> github.tarball_from releases
 categories          devel
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,6 +56,60 @@ lappend merger_dont_diff \
</span>     ${prefix}/include/ffi.h \
     ${prefix}/include/ffitarget.h
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc symlink_prev_dylib {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global destroot prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patterns for the dylib file, both glob and regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set libffi_dylib_glob \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        libffi\.\[0-9\]*\.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set libffi_dylib_regex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        libffi\.\(\[0-9\]+\)\.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Grab the full path to the new dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [glob -type f ${destroot}${prefix}/lib/${libffi_dylib_glob}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "dylib_list: ${dylib_list}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_count \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [llength ${dylib_list}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Ensure there is one, and only one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${dylib_count} != 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "Dylib count mismatch; should be 1, but is: ${dylib_count}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "Dylib count mismatch"
</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;'>+    # Grab dylib path from the list, and extract the name alone
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_path \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [lindex ${dylib_list} 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_file \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [file tail ${dylib_path}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "dylib_file: ${dylib_file}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Extract dylib version number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_ver_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [regexp -inline ${libffi_dylib_regex} ${dylib_file}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_ver \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [lindex ${dylib_ver_list} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "dylib_ver: ${dylib_ver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Generate symlink name, based on previous version (one prior)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_ver_prev \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [expr {${dylib_ver} - 1}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "dylib_ver_prev: ${dylib_ver_prev}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylib_link_prev \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        libffi.${dylib_ver_prev}.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "dylib_link_prev: ${dylib_link_prev}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # And finally, create the symlink
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/lib/${dylib_file} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/lib/${dylib_link_prev}
</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;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    symlink_prev_dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_test-append port:expect port:dejagnu
 test.run            yes
 test.target         check
</pre><pre style='margin:0'>

</pre>