1 |
commit: aac59bedeac24a8a9341ac08066c0087efab4585 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Sep 25 19:48:05 2019 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Sep 25 21:33:54 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aac59bed |
7 |
|
8 |
dev-qt/qtwebengine: Fix build with >=media-sound/pulseaudio-13.0 |
9 |
|
10 |
Reported-by: Guy <defuebr <AT> gmail.com> |
11 |
Tested-by: josef64 in #gentoo-qt IRC |
12 |
Closes: https://bugs.gentoo.org/694960 |
13 |
Package-Manager: Portage-2.3.76, Repoman-2.3.17 |
14 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
15 |
|
16 |
.../files/qtwebengine-5.12.5-pulseaudio-13.patch | 88 ++++++++++++++++++++++ |
17 |
dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild | 1 + |
18 |
2 files changed, 89 insertions(+) |
19 |
|
20 |
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 |
21 |
new file mode 100644 |
22 |
index 00000000000..1e57f0ed834 |
23 |
--- /dev/null |
24 |
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch |
25 |
@@ -0,0 +1,88 @@ |
26 |
+From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001 |
27 |
+From: Allan Sandfeld Jensen <allan.jensen@××.io> |
28 |
+Date: Mon, 23 Sep 2019 13:49:53 +0200 |
29 |
+Subject: [PATCH] Fix building with pulseaudio 13 |
30 |
+MIME-Version: 1.0 |
31 |
+Content-Type: text/plain; charset=utf8 |
32 |
+Content-Transfer-Encoding: 8bit |
33 |
+ |
34 |
+The function signature changed though the ABI stayed the same. |
35 |
+ |
36 |
+Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876 |
37 |
+Fixes: QTBUG-77037 |
38 |
+Reviewed-by: Jüri Valdmann <juri.valdmann@××.io> |
39 |
+--- |
40 |
+ src/3rdparty/chromium/media/audio/pulse/pulse.sigs | 16 ++++++++-------- |
41 |
+ src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++ |
42 |
+ 2 files changed, 19 insertions(+), 8 deletions(-) |
43 |
+ |
44 |
+diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs |
45 |
+index 8b5888786a9..daaeb149c13 100644 |
46 |
+--- a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs |
47 |
++++ b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs |
48 |
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p |
49 |
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); |
50 |
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); |
51 |
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); |
52 |
+-pa_context_state_t pa_context_get_state(pa_context* c); |
53 |
++pa_context_state_t pa_context_get_state(const_pa_context_ptr c); |
54 |
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); |
55 |
+ 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); |
56 |
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); |
57 |
+-pa_operation_state_t pa_operation_get_state(pa_operation* o); |
58 |
++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o); |
59 |
+ void pa_context_unref(pa_context* c); |
60 |
+ void pa_operation_unref(pa_operation* o); |
61 |
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); |
62 |
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi |
63 |
+ int pa_stream_disconnect(pa_stream* s); |
64 |
+ int pa_stream_drop(pa_stream *p); |
65 |
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); |
66 |
+-uint32_t pa_stream_get_device_index(pa_stream* s); |
67 |
++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s); |
68 |
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); |
69 |
+-pa_stream_state_t pa_stream_get_state(pa_stream* p); |
70 |
++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p); |
71 |
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); |
72 |
+ 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); |
73 |
+ pa_proplist* pa_proplist_new(void); |
74 |
+-int pa_proplist_contains(pa_proplist* p, const char* key); |
75 |
++int pa_proplist_contains(const_pa_proplist_ptr p, const char* key); |
76 |
+ void pa_proplist_free(pa_proplist* p); |
77 |
+-const char* pa_proplist_gets(pa_proplist* p, const char* key); |
78 |
++const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key); |
79 |
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); |
80 |
+-size_t pa_stream_readable_size(pa_stream *p); |
81 |
++size_t pa_stream_readable_size(const_pa_stream_ptr p); |
82 |
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); |
83 |
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); |
84 |
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); |
85 |
+ 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); |
86 |
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); |
87 |
+ void pa_stream_unref(pa_stream* s); |
88 |
+-int pa_context_errno(pa_context *c); |
89 |
++int pa_context_errno(const_pa_context_ptr c); |
90 |
+ const char* pa_strerror(int error); |
91 |
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); |
92 |
+diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment |
93 |
+index 2a2d3e7552b..cdaa841b29f 100644 |
94 |
+--- a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment |
95 |
++++ b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment |
96 |
+@@ -5,4 +5,15 @@ extern "C" { |
97 |
+ |
98 |
+ #include <pulse/pulseaudio.h> |
99 |
+ |
100 |
++#if PA_MAJOR > 12 |
101 |
++typedef const pa_context* const_pa_context_ptr; |
102 |
++typedef const pa_operation* const_pa_operation_ptr; |
103 |
++typedef const pa_proplist* const_pa_proplist_ptr; |
104 |
++typedef const pa_stream* const_pa_stream_ptr; |
105 |
++#else |
106 |
++typedef pa_context* const_pa_context_ptr; |
107 |
++typedef pa_operation* const_pa_operation_ptr; |
108 |
++typedef pa_proplist* const_pa_proplist_ptr; |
109 |
++typedef pa_stream* const_pa_stream_ptr; |
110 |
++#endif |
111 |
+ } |
112 |
+-- |
113 |
+2.16.3 |
114 |
|
115 |
diff --git a/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild |
116 |
index b4df6e1f7ec..6e11493a7ab 100644 |
117 |
--- a/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild |
118 |
+++ b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild |
119 |
@@ -80,6 +80,7 @@ DEPEND="${RDEPEND} |
120 |
|
121 |
PATCHES+=( |
122 |
"${FILESDIR}/${PN}-5.12.0-nouveau-disable-gpu.patch" # bug 609752 |
123 |
+ "${FILESDIR}/${P}-pulseaudio-13.patch" # bug 694960 |
124 |
# QTBUG-76963, not yet upstream: |
125 |
"${FILESDIR}/${PN}-5.12.4-webrtc-missing-header-w-linux-headers-5.2.patch" |
126 |
) |