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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5287b4e585c1277c33540e78cc8c8ef626dd776e">https://github.com/macports/macports-ports/commit/5287b4e585c1277c33540e78cc8c8ef626dd776e</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 5287b4e585c libffi: fix darwin powerpc build
</span>5287b4e585c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5287b4e585c1277c33540e78cc8c8ef626dd776e
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Thu Sep 10 00:18:54 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    libffi: fix darwin powerpc build
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    disable go bindings as they are not supported
</span><span style='display:block; white-space:pre;color:#404040;'>    on darwin powerpc at present
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    enable tests
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/61153
</span>---
 devel/libffi/Portfile                              |  6 ++
 ...patch-libffi-darwin-powerpc-no-go-closures.diff | 84 ++++++++++++++++++++++
 2 files changed, 90 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 b2c1c4c96f2..05f2281effd 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;'>@@ -25,6 +25,8 @@ checksums           rmd160  2cd43b66d792f1bad76df2e19a8411beacfcb8e0 \
</span>                     sha256  72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056 \
                     size    1305466
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-libffi-darwin-powerpc-no-go-closures.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Don't use macports gcc or clang toolchains to build this due to dependency cycles
 compiler.blacklist-append macports-*
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,4 +54,8 @@ lappend merger_dont_diff \
</span>     ${prefix}/include/ffi.h \
     ${prefix}/include/ffitarget.h
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_test-append port:expect port:dejagnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> github.livecheck.regex {(\d+(?:\.\d+)+)}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libffi/files/patch-libffi-darwin-powerpc-no-go-closures.diff b/devel/libffi/files/patch-libffi-darwin-powerpc-no-go-closures.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4f9fca83748
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libffi/files/patch-libffi-darwin-powerpc-no-go-closures.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,84 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/powerpc/ffi_darwin.c src/powerpc/ffi_darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 61a18c4..64bb94d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/powerpc/ffi_darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/powerpc/ffi_darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +33,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void ffi_closure_ASM (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void ffi_go_closure_ASM (void);
</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;'>+ enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /* The assembly depends on these exact flags.  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -909,8 +912,10 @@ ffi_prep_cif_machdep (ffi_cif *cif)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void ffi_call_AIX(extended_cif *, long, unsigned, unsigned *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    void (*fn)(void), void (*fn2)(void));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void ffi_call_go_AIX(extended_cif *, long, unsigned, unsigned *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       void (*fn)(void), void (*fn2)(void), void *closure);
</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;'>+ extern void ffi_call_DARWIN(extended_cif *, long, unsigned, unsigned *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       void (*fn)(void), void (*fn2)(void), ffi_type*);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -950,6 +955,7 @@ ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
</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;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        void *closure)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -981,6 +987,7 @@ ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void flush_icache(char *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void flush_range(char *, int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1110,6 +1117,7 @@ ffi_prep_closure_loc (ffi_closure* closure,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return FFI_OK;
</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;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_prep_go_closure (ffi_go_closure* closure,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ffi_cif* cif,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1133,6 +1141,7 @@ ffi_prep_go_closure (ffi_go_closure* closure,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return FFI_OK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flush_icache(char *addr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1168,9 +1177,11 @@ ffi_type *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_closure_helper_DARWIN (ffi_closure *, void *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                      unsigned long *, ffi_dblfl *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_type *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_go_closure_helper_DARWIN (ffi_go_closure*, void *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         unsigned long *, ffi_dblfl *);
</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;'>+ /* Basically the trampoline invokes ffi_closure_ASM, and on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    entry, r11 holds the address of the closure.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1430,6 +1441,7 @@ ffi_closure_helper_DARWIN (ffi_closure *closure, void *rvalue,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               closure->user_data, rvalue, pgr, pfr);
</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;'>++#if defined (FFI_GO_CLOSURES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_type *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         unsigned long *pgr, ffi_dblfl *pfr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1437,4 +1449,4 @@ ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return ffi_closure_helper_common (closure->cif, closure->fun,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               closure, rvalue, pgr, pfr);
</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;'>++#endif
</span></pre><pre style='margin:0'>

</pre>