summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2018-02-21 18:57:00 +0100
committerMike Gilbert <floppym@gentoo.org>2018-02-21 15:32:17 -0500
commit34f2b3a8006ca31bcc03364066ec7dcd68d2950e (patch)
tree173da47d3f2ea2988e153a06939c7b7c52cec862
parentwww-client/chromium: beta channel bump (65.0.3325.73) (diff)
downloadgentoo-34f2b3a8006ca31bcc03364066ec7dcd68d2950e.tar.gz
gentoo-34f2b3a8006ca31bcc03364066ec7dcd68d2950e.tar.bz2
gentoo-34f2b3a8006ca31bcc03364066ec7dcd68d2950e.zip
dev-libs/protobuf: Fix building on IA64.
Closes: https://bugs.gentoo.org/648248
-rw-r--r--dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch21
-rw-r--r--dev-libs/protobuf/protobuf-3.5.1.1.ebuild7
2 files changed, 27 insertions, 1 deletions
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)