aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2026-06-08 19:11:44 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2026-06-11 07:47:58 +0000
commit5c4e77204622386fc3326be92aaddcc967ed4c2b (patch)
tree1ebc8d8e86a7b63fc131709b5a76b95e33ffa91d
parent0ba22c657d00fa5006765f2eaf5062d6961299e1 (diff)
net-p2p/aeron: add powerpc64* support
Backport of upstream 3a7c08365fa023b7084f6f75ac3ab39d74f7992b.
-rw-r--r--net-p2p/aeron/Makefile2
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__atomic.h11
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__thread.c11
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__platform.h16
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_concurrent_Atomic64.h11
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_util_Platform.h13
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_cpp_concurrent_Atomic64.h11
-rw-r--r--net-p2p/aeron/files/patch-aeron-client_src_main_cpp_util_Platform.h13
8 files changed, 87 insertions, 1 deletions
diff --git a/net-p2p/aeron/Makefile b/net-p2p/aeron/Makefile
index 51ad0b561d58..41549642c9eb 100644
--- a/net-p2p/aeron/Makefile
+++ b/net-p2p/aeron/Makefile
@@ -10,7 +10,7 @@ WWW= https://aeron.io/ \
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-ONLY_FOR_ARCHS= aarch64 amd64 # limited in aeron-client/src/main/c/concurrent/aeron_atomic.h
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le # limited in aeron-client/src/main/c/concurrent/aeron_atomic.h
LIB_DEPENDS= libuuid.so:misc/libuuid # only for uuid_generate
TEST_DEPENDS= googletest>0:devel/googletest
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__atomic.h b/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__atomic.h
new file mode 100644
index 000000000000..64af74a48935
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__atomic.h
@@ -0,0 +1,11 @@
+--- aeron-client/src/main/c/concurrent/aeron_atomic.h.orig 2025-11-24 19:20:55 UTC
++++ aeron-client/src/main/c/concurrent/aeron_atomic.h
+@@ -23,6 +23,8 @@
+ #include "concurrent/aeron_atomic64_gcc_x86_64.h"
+ #elif defined(AERON_COMPILER_GCC) && defined(AERON_CPU_ARM)
+ #include "concurrent/aeron_atomic64_c11.h"
++#elif defined(AERON_CPU_PPC64)
++ #include "concurrent/aeron_atomic64_c11.h"
+ #elif defined(AERON_COMPILER_MSVC) && defined(AERON_CPU_X64)
+ #include "concurrent/aeron_atomic64_msvc.h"
+ #else
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__thread.c b/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__thread.c
new file mode 100644
index 000000000000..b342466c2895
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_c_concurrent_aeron__thread.c
@@ -0,0 +1,11 @@
+--- aeron-client/src/main/c/concurrent/aeron_thread.c.orig 2025-11-24 19:20:55 UTC
++++ aeron-client/src/main/c/concurrent/aeron_thread.c
+@@ -336,7 +336,7 @@ void proc_yield(void)
+
+ void proc_yield(void)
+ {
+-#if !defined(AERON_CPU_ARM)
++#if !defined(AERON_CPU_ARM) && !defined(AERON_CPU_PPC64)
+ __asm__ volatile("pause\n": : : "memory");
+ #endif
+ }
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__platform.h b/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__platform.h
new file mode 100644
index 000000000000..aa973a28572a
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__platform.h
@@ -0,0 +1,16 @@
+--- aeron-client/src/main/c/util/aeron_platform.h.orig 2025-11-24 19:20:55 UTC
++++ aeron-client/src/main/c/util/aeron_platform.h
+@@ -48,6 +48,13 @@
+ #endif
+ #endif
+
++ #if defined(__powerpc64__)
++ #define AERON_CPU_PPC64 1
++ #if defined(__STDC_NO_ATOMICS__)
++ #error C11 atomics are required to compile for powerpc64!
++ #endif
++ #endif
++
+ #else
+ #error Unsupported compiler!
+ #endif
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_concurrent_Atomic64.h b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_concurrent_Atomic64.h
new file mode 100644
index 000000000000..9304e49c196a
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_concurrent_Atomic64.h
@@ -0,0 +1,11 @@
+--- aeron-client/src/main/cpp_wrapper/concurrent/Atomic64.h.orig 2025-11-24 19:20:55 UTC
++++ aeron-client/src/main/cpp_wrapper/concurrent/Atomic64.h
+@@ -22,6 +22,8 @@
+ #include "concurrent/atomic/Atomic64_gcc_x86_64.h"
+ #elif defined(AERON_COMPILER_GCC) && defined(AERON_CPU_ARM)
+ #include "concurrent/atomic/Atomic64_gcc_cpp11.h"
++#elif defined(AERON_COMPILER_GCC) && defined(AERON_CPU_PPC64)
++ #include "concurrent/atomic/Atomic64_gcc_cpp11.h"
+ #elif defined(AERON_COMPILER_MSVC) && defined(AERON_CPU_X64)
+ #include "concurrent/atomic/Atomic64_msvc.h"
+ #else
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_util_Platform.h b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_util_Platform.h
new file mode 100644
index 000000000000..5c34ee933204
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp__wrapper_util_Platform.h
@@ -0,0 +1,13 @@
+--- aeron-client/src/main/cpp_wrapper/util/Platform.h.orig 2025-11-24 19:20:55 UTC
++++ aeron-client/src/main/cpp_wrapper/util/Platform.h
+@@ -48,6 +48,10 @@
+ #endif
+ #endif
+
++ #if defined(__powerpc64__)
++ #define AERON_CPU_PPC64 1
++ #endif
++
+ #else
+ #error Unsupported compiler!
+ #endif
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_concurrent_Atomic64.h b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_concurrent_Atomic64.h
new file mode 100644
index 000000000000..6d064506d5dd
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_concurrent_Atomic64.h
@@ -0,0 +1,11 @@
+--- aeron-client/src/main/cpp/concurrent/Atomic64.h.orig 2026-06-08 18:51:26 UTC
++++ aeron-client/src/main/cpp/concurrent/Atomic64.h
+@@ -22,6 +22,8 @@
+ #include "concurrent/atomic/Atomic64_gcc_x86_64.h"
+ #elif defined(AERON_COMPILER_GCC) && defined(AERON_CPU_ARM)
+ #include "concurrent/atomic/Atomic64_gcc_cpp11.h"
++#elif defined(AERON_COMPILER_GCC) && defined(AERON_CPU_PPC64)
++ #include "concurrent/atomic/Atomic64_gcc_cpp11.h"
+ #elif defined(AERON_COMPILER_MSVC) && defined(AERON_CPU_X64)
+ #include "concurrent/atomic/Atomic64_msvc.h"
+ #else
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_util_Platform.h b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_util_Platform.h
new file mode 100644
index 000000000000..92f7897cd144
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_cpp_util_Platform.h
@@ -0,0 +1,13 @@
+--- aeron-client/src/main/cpp/util/Platform.h.orig 2026-06-08 19:08:57 UTC
++++ aeron-client/src/main/cpp/util/Platform.h
+@@ -48,6 +48,10 @@
+ #endif
+ #endif
+
++ #if defined(__powerpc64__)
++ #define AERON_CPU_PPC64 1
++ #endif
++
+ #else
+ #error Unsupported compiler!
+ #endif