From a246eb7e586b2d0102833be248aa94e557c98c2f Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Fri, 19 Oct 2018 17:37:26 +0200 Subject: dev-libs/protobuf: Fix building on ARMv6. Signed-off-by: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Mike Gilbert --- .../files/protobuf-3.6.1-libatomic_linking.patch | 49 ++++++++++++++++++++++ dev-libs/protobuf/protobuf-3.6.1.ebuild | 1 + 2 files changed, 50 insertions(+) create mode 100644 dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch (limited to 'dev-libs/protobuf') diff --git a/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch new file mode 100644 index 000000000000..2b357b213170 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch @@ -0,0 +1,49 @@ +https://github.com/protocolbuffers/protobuf/issues/5219 +https://github.com/protocolbuffers/protobuf/pull/5227 +https://github.com/protocolbuffers/protobuf/commit/56b40a8f055cfd05633054aed5d3466a6e058b72 + +--- /configure.ac ++++ /configure.ac +@@ -165,6 +165,22 @@ + ]) + AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1]) + ++dnl On some platforms, std::atomic needs a helper library ++AC_MSG_CHECKING(whether -latomic is needed) ++AC_LINK_IFELSE([AC_LANG_SOURCE([[ ++ #include ++ #include ++ std::atomic v; ++ int main() { ++ return v; ++ } ++]])], STD_ATOMIC_NEED_LIBATOMIC=no, STD_ATOMIC_NEED_LIBATOMIC=yes) ++AC_MSG_RESULT($STD_ATOMIC_NEED_LIBATOMIC) ++if test "x$STD_ATOMIC_NEED_LIBATOMIC" = xyes; then ++ LIBATOMIC_LIBS="-latomic" ++fi ++AC_SUBST([LIBATOMIC_LIBS]) ++ + AS_IF([test "$with_protoc" != "no"], [ + PROTOC=$with_protoc + AS_IF([test "$with_protoc" = "yes"], [ +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -163,7 +163,7 @@ + + lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la + +-libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_lite_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map +@@ -209,7 +209,7 @@ + google/protobuf/io/zero_copy_stream.cc \ + google/protobuf/io/zero_copy_stream_impl_lite.cc + +-libprotobuf_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map diff --git a/dev-libs/protobuf/protobuf-3.6.1.ebuild b/dev-libs/protobuf/protobuf-3.6.1.ebuild index 3b3bdeaf3517..065eed562728 100644 --- a/dev-libs/protobuf/protobuf-3.6.1.ebuild +++ b/dev-libs/protobuf/protobuf-3.6.1.ebuild @@ -23,6 +23,7 @@ PATCHES=( "${FILESDIR}/${PN}-3.6.0-disable_no-warning-test.patch" "${FILESDIR}/${PN}-3.6.0-system_libraries.patch" "${FILESDIR}/${PN}-3.6.0-protoc_input_output_files.patch" + "${FILESDIR}/${PN}-3.6.1-libatomic_linking.patch" ) DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) -- cgit v1.2.3-65-gdbad