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