Gentoo Archives: gentoo-commits

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