Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Aug 2026 15:21:57 +0000
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 3fa6049eab77 - main - net-im/libsignal: fix build on powerpc64*
Message-ID:  <6a70b215.3b877.b046022@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3fa6049eab77cf3e1f81cdc7320df1feaf563886

commit 3fa6049eab77cf3e1f81cdc7320df1feaf563886
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-08-03 15:17:19 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-08-03 15:21:31 +0000

    net-im/libsignal: fix build on powerpc64*
    
    ring-sys 5.0.2] /wrkdirs/usr/ports/net-im/libsignal/work/target/release/build/boring-sys-ef33d39251a122cc/out/boringssl/crypto/fipsmodule/../internal.h:230:2: error: "Must define either OPENSSL_32_BIT or OPENSSL_64_BIT"
---
 net-im/libsignal/Makefile                                  |  4 ++++
 .../files/patch-boringssl_include_openssl_target.h         | 14 ++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/net-im/libsignal/Makefile b/net-im/libsignal/Makefile
index 52fdc8980b90..60c1b12443aa 100644
--- a/net-im/libsignal/Makefile
+++ b/net-im/libsignal/Makefile
@@ -14,6 +14,10 @@ BUILD_DEPENDS=	llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} \
 		protoc:devel/protobuf
 
 USES=		cargo
+
+# BoringSSL ships no PowerPC assembly, so use the portable C implementations.
+CFLAGS_powerpc64le=	-DOPENSSL_NO_ASM
+CXXFLAGS_powerpc64le=	-DOPENSSL_NO_ASM
 USE_GITHUB=	yes
 GH_ACCOUNT=	signalapp
 BROKEN_i386= 	bindgen for boring-ssl fail
diff --git a/net-im/libsignal/files/patch-boringssl_include_openssl_target.h b/net-im/libsignal/files/patch-boringssl_include_openssl_target.h
new file mode 100644
index 000000000000..17ab72a00d04
--- /dev/null
+++ b/net-im/libsignal/files/patch-boringssl_include_openssl_target.h
@@ -0,0 +1,14 @@
+--- ../boring-signal-v5.0.2/boring-sys/deps/boringssl/include/openssl/target.h.orig
++++ ../boring-signal-v5.0.2/boring-sys/deps/boringssl/include/openssl/target.h
+@@ -54,6 +54,11 @@
+ #define OPENSSL_32_BIT
+ #elif defined(__myriad2__)
+ #define OPENSSL_32_BIT
++#elif defined(__powerpc64__)
++// PowerPC64 has no BoringSSL assembly; the portable C code is used and the
++// build must define OPENSSL_NO_ASM.  BoringSSL only officially supports
++// little-endian, so big-endian ppc64 is unverified.
++#define OPENSSL_64_BIT
+ #else
+ // The list above enumerates the platforms that BoringSSL supports. For these
+ // platforms we keep a reasonable bar of not breaking them: automated test


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a70b215.3b877.b046022>