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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ed56706062ed03194154680fb9aa71225d51e445">https://github.com/macports/macports-ports/commit/ed56706062ed03194154680fb9aa71225d51e445</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 ed56706062e openssl3: fix build on PPC
</span>ed56706062e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ed56706062ed03194154680fb9aa71225d51e445
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Sat Mar 18 11:16:40 2023 -0400

<span style='display:block; white-space:pre;color:#404040;'>    openssl3: fix build on PPC
</span>---
 devel/openssl3/Portfile                          |  3 +-
 devel/openssl3/files/patch-openssl3-ppc-asm.diff | 58 ++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/Portfile b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 73988f13972..eff300e5634 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,7 +51,8 @@ checksums           rmd160  203ebe676bbdde1a869fc14c6c4e21983ce4b810 \
</span>                     sha256  aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 \
                     size    15525381
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          avx512.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          avx512.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-openssl3-ppc-asm.diff
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 11} {
     # Having the stdlib set to libc++ on 10.6 causes a dependency on a
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/patch-openssl3-ppc-asm.diff b/devel/openssl3/files/patch-openssl3-ppc-asm.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4cda722eee3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl3/files/patch-openssl3-ppc-asm.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,58 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The new AES GCM assembler is written for IBM POWER9 and later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and won't build on OSX PPC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Upstream PR: https://github.com/openssl/openssl/pull/20543
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- crypto/chacha/build.info.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ crypto/chacha/build.info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,7 +13,7 @@ IF[{- !$disabled{asm} -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $CHACHAASM_aarch64=chacha-armv8.S chacha-armv8-sve.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  IF[{- $target{sys_id} ne "AIX" -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s chachap10-ppc.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ENDIF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $CHACHAASM_ppc64=$CHACHAASM_ppc32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- crypto/chacha/chacha_ppc.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ crypto/chacha/chacha_ppc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,7 +30,7 @@ void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     size_t len, const unsigned int key[8],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     const unsigned int counter[4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef OPENSSL_SYS_AIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OPENSSL_ppccap_P & PPC_BRD31
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ? ChaCha20_ctr32_vsx_p10(out, inp, len, key, counter) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- crypto/modes/build.info.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ crypto/modes/build.info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +33,7 @@ IF[{- !$disabled{asm} -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $MODESDEF_parisc20_64=$MODESDEF_parisc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $MODESASM_ppc32=ghashp8-ppc.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  IF[{- $target{sys_id} ne "AIX" -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     $MODESASM_ppc32=ghashp8-ppc.s aes-gcm-ppc.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ENDIF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $MODESDEF_ppc32=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- include/crypto/aes_platform.h.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ include/crypto/aes_platform.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -74,7 +74,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   define HWAES_xts_encrypt aes_p8_xts_encrypt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   define HWAES_xts_decrypt aes_p8_xts_decrypt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#   ifndef OPENSSL_SYS_AIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define PPC_AES_GCM_CAPABLE (OPENSSL_ppccap_P & PPC_MADD300)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define AES_GCM_ENC_BYTES 128
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define AES_GCM_DEC_BYTES 128
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -87,7 +87,7 @@ size_t ppc_aes_gcm_decrypt(const unsigned char *in, unsigned char *out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define AES_GCM_ASM_PPC(gctx) ((gctx)->ctr==aes_p8_ctr32_encrypt_blocks && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    (gctx)->gcm.funcs.ghash==gcm_ghash_p8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void gcm_ghash_p8(u64 Xi[2],const u128 Htable[16],const u8 *inp, size_t len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#   endif /* OPENSSL_SYS_AIX */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   endif /* OPENSSL_SYS_AIX || OPENSSL_SYS_MACOSX */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  endif /* PPC */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  if (defined(__arm__) || defined(__arm) || defined(__aarch64__))
</span></pre><pre style='margin:0'>

</pre>