diff options
author | Sam James <sam@gentoo.org> | 2022-02-27 23:47:41 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-27 23:47:41 +0000 |
commit | 8e8b3e9588eacd192978599a5199fbb54071a53e (patch) | |
tree | b5e640948cf0c1ae0fd0e53768acd98a642648c0 /dev-libs/capnproto | |
parent | www-misc/fcgiwrap: drop 1.1.0-r1 (diff) | |
download | gentoo-8e8b3e9588eacd192978599a5199fbb54071a53e.tar.gz gentoo-8e8b3e9588eacd192978599a5199fbb54071a53e.tar.bz2 gentoo-8e8b3e9588eacd192978599a5199fbb54071a53e.zip |
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@gentoo.org>
Diffstat (limited to 'dev-libs/capnproto')
-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") - |