commit e116fd0fc7270d308792bc56e849c5b237539c6c
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 16:52:41 2019 +0200
Pulseaudio changed the API in 12.99 and we need to adapt the signatures
chromium-76.0.3809.100-pulse-api-change.patch | 42 +++++++++++++++++++++++++++
chromium.spec | 13 ++++++++-
2 files changed, 54 insertions(+), 1 deletion(-)
---
diff --git a/chromium-76.0.3809.100-pulse-api-change.patch
b/chromium-76.0.3809.100-pulse-api-change.patch
new file mode 100644
index 0000000..37d3dfa
--- /dev/null
+++ b/chromium-76.0.3809.100-pulse-api-change.patch
@@ -0,0 +1,42 @@
+diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change
chromium-76.0.3809.100/media/audio/pulse/pulse.sigs
+--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14
16:27:55.057702172 +0200
++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886
+0200
+@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info
+ 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* 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);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream*
+ 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* 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* 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* 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* 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 *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 *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/chromium.spec b/chromium.spec
index bf6bdcb..f91b60b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -141,6 +141,13 @@ BuildRequires: libicu-devel >= 5.4
%global bundleharfbuzz 0
%endif
+# Pulseaudio changed the API a little in 12.99.1
+%if 0%{?fedora} > 30
+%global pulseaudioapichange 1
+%else
+%global pulseaudioapichange 0
+%endif
+
### Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
@@ -306,6 +313,8 @@ Patch202: enable-vaapi.patch
Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
# Fix compatibility with VA-API library (libva) version 1
Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
+# Pulseaudio changed the API a little in 12.99.1
+Patch205: chromium-76.0.3809.100-pulse-api-change.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found
here:
#
http://build.chromium.org/buildbot/official/
@@ -491,7 +500,6 @@ BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
%endif
-BuildRequires: pulseaudio-libs-devel
BuildRequires: python2-devel
%if 0%{?fedora} > 27
BuildRequires: python2-beautifulsoup4
@@ -871,6 +879,9 @@ udev.
%endif
%endif
+%if 0%{?pulseaudioapichange}
+%patch205 -p1 -b .pulseaudioapichange
+%endif
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works