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") -
