From 34f2b3a8006ca31bcc03364066ec7dcd68d2950e Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Wed, 21 Feb 2018 18:57:00 +0100 Subject: dev-libs/protobuf: Fix building on IA64. Closes: https://bugs.gentoo.org/648248 --- .../files/protobuf-3.5.0-atomic_operations.patch | 21 +++++++++++++++++++++ dev-libs/protobuf/protobuf-3.5.1.1.ebuild | 7 ++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch (limited to 'dev-libs/protobuf') diff --git a/dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch b/dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch new file mode 100644 index 000000000000..7a88e8379500 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch @@ -0,0 +1,21 @@ +https://github.com/google/protobuf/issues/3937 +https://github.com/google/protobuf/pull/3955 +https://github.com/google/protobuf/commit/642e1ac635f2563b4a14c255374f02645ae85dac + +--- /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h ++++ /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +@@ -146,6 +146,14 @@ + return __atomic_load_n(ptr, __ATOMIC_RELAXED); + } + ++inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, ++ Atomic64 old_value, ++ Atomic64 new_value) { ++ __atomic_compare_exchange_n(ptr, &old_value, new_value, false, ++ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); ++ return old_value; ++} ++ + #endif // defined(__LP64__) + + } // namespace internal diff --git a/dev-libs/protobuf/protobuf-3.5.1.1.ebuild b/dev-libs/protobuf/protobuf-3.5.1.1.ebuild index 4f44ebc4d8c7..97cbe92c9220 100644 --- a/dev-libs/protobuf/protobuf-3.5.1.1.ebuild +++ b/dev-libs/protobuf/protobuf-3.5.1.1.ebuild @@ -23,16 +23,21 @@ PATCHES=( "${FILESDIR}/${PN}-3.4.0-disable_no-warning-test.patch" "${FILESDIR}/${PN}-3.4.0-system_libraries.patch" "${FILESDIR}/${PN}-3.4.0-protoc_input_output_files.patch" + "${FILESDIR}/${PN}-3.5.0-atomic_operations.patch" ) DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) src_prepare() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI default eautoreconf } +src_configure() { + append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI + multilib-minimal_src_configure +} + multilib_src_configure() { local myeconfargs=( $(use_enable static-libs static) -- cgit v1.2.3-65-gdbad