summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-09-25 21:48:05 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2019-09-25 23:33:54 +0200
commitaac59bedeac24a8a9341ac08066c0087efab4585 (patch)
tree83f42f6deb9e7b7756a04f357eb45e8e5126068b /dev-qt
parentdev-libs/rlottie: keyworded 0.0.1_pre20190920 for ppc/ppc64, bug #695268 (diff)
downloadgentoo-aac59bedeac24a8a9341ac08066c0087efab4585.tar.gz
gentoo-aac59bedeac24a8a9341ac08066c0087efab4585.tar.bz2
gentoo-aac59bedeac24a8a9341ac08066c0087efab4585.zip
dev-qt/qtwebengine: Fix build with >=media-sound/pulseaudio-13.0
Reported-by: Guy <defuebr@gmail.com> Tested-by: josef64 in #gentoo-qt IRC Closes: https://bugs.gentoo.org/694960 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch88
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild1
2 files changed, 89 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch
new file mode 100644
index 00000000000..1e57f0ed834
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch
@@ -0,0 +1,88 @@
+From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Mon, 23 Sep 2019 13:49:53 +0200
+Subject: [PATCH] Fix building with pulseaudio 13
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+The function signature changed though the ABI stayed the same.
+
+Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876
+Fixes: QTBUG-77037
+Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
+---
+ src/3rdparty/chromium/media/audio/pulse/pulse.sigs | 16 ++++++++--------
+ src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++
+ 2 files changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
+index 8b5888786a9..daaeb149c13 100644
+--- a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
++++ b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const_pa_context_ptr c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const_pa_proplist_ptr p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const_pa_stream_ptr p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const_pa_context_ptr c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
+diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
+index 2a2d3e7552b..cdaa841b29f 100644
+--- a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
++++ b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
+@@ -5,4 +5,15 @@ extern "C" {
+
+ #include <pulse/pulseaudio.h>
+
++#if PA_MAJOR > 12
++typedef const pa_context* const_pa_context_ptr;
++typedef const pa_operation* const_pa_operation_ptr;
++typedef const pa_proplist* const_pa_proplist_ptr;
++typedef const pa_stream* const_pa_stream_ptr;
++#else
++typedef pa_context* const_pa_context_ptr;
++typedef pa_operation* const_pa_operation_ptr;
++typedef pa_proplist* const_pa_proplist_ptr;
++typedef pa_stream* const_pa_stream_ptr;
++#endif
+ }
+--
+2.16.3
diff --git a/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild
index b4df6e1f7ec..6e11493a7ab 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild
@@ -80,6 +80,7 @@ DEPEND="${RDEPEND}
PATCHES+=(
"${FILESDIR}/${PN}-5.12.0-nouveau-disable-gpu.patch" # bug 609752
+ "${FILESDIR}/${P}-pulseaudio-13.patch" # bug 694960
# QTBUG-76963, not yet upstream:
"${FILESDIR}/${PN}-5.12.4-webrtc-missing-header-w-linux-headers-5.2.patch"
)