summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-02-27 23:47:41 +0000
committerSam James <sam@gentoo.org>2022-02-27 23:47:41 +0000
commit8e8b3e9588eacd192978599a5199fbb54071a53e (patch)
treeb5e640948cf0c1ae0fd0e53768acd98a642648c0
parentwww-misc/fcgiwrap: drop 1.1.0-r1 (diff)
downloadgentoo-8e8b3e95.tar.gz
gentoo-8e8b3e95.tar.bz2
gentoo-8e8b3e95.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>
-rw-r--r--dev-libs/capnproto/capnproto-0.9.1.ebuild10
-rw-r--r--dev-libs/capnproto/files/capnproto-0.9.1-libatomic.patch59
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")
-