diff options
-rw-r--r-- | dev-libs/capnproto/capnproto-0.9.1.ebuild | 10 | ||||
-rw-r--r-- | dev-libs/capnproto/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") - |