commit:     60170e6ac00beac1291c3590dbe7e01d00764b01
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sun Sep  8 16:56:26 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep  8 17:15:49 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60170e6a

dev-cpp/abseil-cpp: fix building on ppc

Link in `atomic` on ppc.

Disable failing test.

Closes: https://bugs.gentoo.org/918981
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild |  8 ++++++++
 dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild |  8 ++++++++
 dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild    |  8 ++++++++
 dev-cpp/abseil-cpp/files/abseil-cpp-atomic.patch   | 18 ++++++++++++++++++
 4 files changed, 42 insertions(+)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild
index 0b14ce25555a..edc9416eea6c 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild
@@ -37,6 +37,8 @@ PATCHES=(
 src_prepare() {
        cmake_src_prepare
 
+       use ppc && eapply "${FILESDIR}/${PN}-atomic-patch"
+
        # un-hardcode abseil compiler flags
        sed -i \
                -e '/"-maes",/d' \
@@ -72,6 +74,12 @@ multilib_src_test() {
                CMAKE_SKIP_TESTS=(
                        absl_symbolize_test
                )
+
+               if use ppc; then
+                       CMAKE_SKIP_TESTS+=(
+                               absl_failure_signal_handler_test
+                       )
+               fi
        fi
 
        cmake_src_test

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild
index 4b8e434135ba..22b35c6f3d53 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild
@@ -37,6 +37,8 @@ PATCHES=(
 src_prepare() {
        cmake_src_prepare
 
+       use ppc && eapply "${FILESDIR}/${PN}-atomic-patch"
+
        # un-hardcode abseil compiler flags
        sed -i \
                -e '/"-maes",/d' \
@@ -72,6 +74,12 @@ multilib_src_test() {
                CMAKE_SKIP_TESTS=(
                        absl_symbolize_test
                )
+
+               if use ppc; then
+                       CMAKE_SKIP_TESTS+=(
+                               absl_failure_signal_handler_test
+                       )
+               fi
        fi
 
        cmake_src_test

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild
index 4e5ca3c27ebc..7ef9cbac31e5 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild
@@ -38,6 +38,8 @@ PATCHES=(
 src_prepare() {
        cmake_src_prepare
 
+       use ppc && eapply "${FILESDIR}/${PN}-atomic-patch"
+
        # un-hardcode abseil compiler flags
        sed -i \
                -e '/"-maes",/d' \
@@ -75,6 +77,12 @@ multilib_src_test() {
                CMAKE_SKIP_TESTS=(
                        absl_symbolize_test
                )
+
+               if use ppc; then
+                       CMAKE_SKIP_TESTS+=(
+                               absl_failure_signal_handler_test
+                       )
+               fi
        fi
 
        cmake_src_test

diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-atomic.patch 
b/dev-cpp/abseil-cpp/files/abseil-cpp-atomic.patch
new file mode 100644
index 000000000000..4a999760eb0f
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-atomic.patch
@@ -0,0 +1,18 @@
+From beee02af5b83cfe72159e2579fa3c6e0fb8f93db Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gen...@gmail.com>
+Date: Sun, 8 Sep 2024 17:09:17 +0200
+Subject: [PATCH] link to atomic on ppc
+
+Bug: https://bugs.gentoo.org/918981
+Signed-off-by: Paul Zander <negril.nx+gen...@gmail.com>
+
+--- a/absl/base/CMakeLists.txt
++++ b/absl/base/CMakeLists.txt
+@@ -131,6 +131,7 @@ absl_cc_library(
+     absl::base_internal
+     absl::core_headers
+     absl::errno_saver
++    atomic
+ )
+ 
+ absl_cc_library(

Reply via email to