commit:     8e8b3e9588eacd192978599a5199fbb54071a53e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 27 23:47:41 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Feb 27 23:47:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e8b3e95

dev-libs/capnproto: fix libatomic on PPC

Thanks to Arfrever; I skimmed the patch, thought it looked reasonable,
didn't notice the latter part was for CMake config file, not CMakeLists.txt.

Closes: https://bugs.gentoo.org/832816
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/capnproto/capnproto-0.9.1.ebuild          | 10 ++--
 .../files/capnproto-0.9.1-libatomic.patch          | 59 ----------------------
 2 files changed, 5 insertions(+), 64 deletions(-)

diff --git a/dev-libs/capnproto/capnproto-0.9.1.ebuild 
b/dev-libs/capnproto/capnproto-0.9.1.ebuild
index d3be55f08340..69ef73c4bba3 100644
--- a/dev-libs/capnproto/capnproto-0.9.1.ebuild
+++ b/dev-libs/capnproto/capnproto-0.9.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake
+inherit cmake flag-o-matic
 
 DESCRIPTION="RPC/Serialization system with capabilities support"
 HOMEPAGE="https://capnproto.org";
@@ -25,11 +25,11 @@ DEPEND="${RDEPEND}
        test? ( dev-cpp/gtest )
 "
 
-PATCHES=(
-       "${FILESDIR}"/${PN}-0.9.1-libatomic.patch
-)
-
 src_configure() {
+       if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then
+               append-libs -latomic
+       fi
+
        local mycmakeargs=(
                -DWITH_OPENSSL=$(usex ssl)
                -DBUILD_TESTING=$(usex test)

diff --git a/dev-libs/capnproto/files/capnproto-0.9.1-libatomic.patch 
b/dev-libs/capnproto/files/capnproto-0.9.1-libatomic.patch
deleted file mode 100644
index 654d3fc9873a..000000000000
--- a/dev-libs/capnproto/files/capnproto-0.9.1-libatomic.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://bugs.gentoo.org/832816
-https://sources.debian.org/patches/capnproto/0.9.1-2/07_libatomic.patch/
-
-Description: link against libatomic
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005066
---- a/configure.ac
-+++ b/configure.ac
-@@ -16,6 +16,11 @@
- 
- AM_INIT_AUTOMAKE([tar-ustar])
- 
-+AC_ARG_WITH([libatomic],
-+  [AS_HELP_STRING([--with-libatomic],
-+    [build by linking against libatomic @<:@default=check@:>@])],
-+  [],[with_libatomic=check])
-+
- AC_ARG_WITH([external-capnp],
-   [AS_HELP_STRING([--with-external-capnp],
-     [use the system capnp binary (or the one specified with $CAPNP) instead 
of compiling a new
-@@ -195,8 +200,19 @@
- ])
- AM_CONDITIONAL([BUILD_KJ_TLS], [test "$with_openssl" != no])
- 
--# CapnProtoConfig.cmake.in needs this variable.
-+AS_IF([test "$with_libatomic" = check], [
-+  AC_SEARCH_LIBS([__atomic_load_8], [atomic], [with_libatomic=yes], 
[with_libatomic=no])
-+], [
-+  AS_IF([test "$with_libatomic" = yes], [
-+    AC_SEARCH_LIBS([__atomic_load_8], [atomic], [:], [
-+      AC_MSG_ERROR([could not find libatomic])
-+    ])
-+  ])
-+])
-+
-+# CapnProtoConfig.cmake.in needs these variables.
- AC_SUBST(WITH_OPENSSL, $with_openssl)
-+AC_SUBST(WITH_LIBATOMIC, $with_libatomic)
- 
- AM_CONDITIONAL([HAS_FUZZING_ENGINE], [test "x$LIB_FUZZING_ENGINE" != "x"])
- 
---- a/cmake/CapnProtoConfig.cmake.in
-+++ b/cmake/CapnProtoConfig.cmake.in
-@@ -62,6 +62,16 @@
-   endif()
- endif()
- 
-+if (@WITH_LIBATOMIC@)  # WITH_LIBATOMIC
-+  include(CheckLibraryExists)
-+  check_library_exists(atomic __atomic_load_8 "" FOUND_LIBATOMIC)
-+  if (FOUND_LIBATOMIC)
-+    list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-+  else()
-+    message(FATAL_ERROR "libatomic not found")
-+  endif()
-+endif()
-+
- include("${CMAKE_CURRENT_LIST_DIR}/CapnProtoTargets.cmake")
- include("${CMAKE_CURRENT_LIST_DIR}/CapnProtoMacros.cmake")
- 

Reply via email to