1 |
commit: f26d2e1c7abab9d7e5d1bd0f13ca5f3c06f8e6a4 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Feb 21 00:51:13 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Feb 21 00:51:21 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f26d2e1c |
7 |
|
8 |
media-libs/libpulse: use tarball for patches |
9 |
|
10 |
(I'd missed the same patches got added twice, so only fixed |
11 |
the filesdir for pulseaudio-daemon.) |
12 |
|
13 |
Fixes: 5c0932d5e4d591710f3299f70c2012383ab268bc |
14 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
15 |
|
16 |
media-libs/libpulse/Manifest | 1 + |
17 |
...pulseaudio-15.0-daemon-client-split-build.patch | 1987 -------------------- |
18 |
...-15.0-move-systemd-socket-activation-code.patch | 284 --- |
19 |
...pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch | 25 - |
20 |
media-libs/libpulse/libpulse-15.0-r1.ebuild | 7 +- |
21 |
5 files changed, 4 insertions(+), 2300 deletions(-) |
22 |
|
23 |
diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest |
24 |
index 308d59508744..620fb8498703 100644 |
25 |
--- a/media-libs/libpulse/Manifest |
26 |
+++ b/media-libs/libpulse/Manifest |
27 |
@@ -1 +1,2 @@ |
28 |
DIST pulseaudio-15.0.tar.xz 1521760 BLAKE2B a6f7b74fdcfe7f2a993eafb9f465946915a24b6801d3077971b9377290d6c70b3f8640a800abd09d5901db96a20349f31b1beedd9da2249f69b591fb8392f489 SHA512 352ef20384c76c631c0faa73b08e2318902a433712e0c086a5ac7a0ae58873c8d4be8f35879bdec71a93b19ae8e2ba073cacac4d56215bcf58375a0cd9d88833 |
29 |
+DIST pulseaudio-daemon-15.0-patchset-1.tar.bz2 13739 BLAKE2B 0a9497536481b79ebb9928fc753d44cde30b331890cf7a912f0e038fc270a79e4774fdca209a52b6d50de93e32c30c6636e4d7e57e9daceb90ee80e699599ac8 SHA512 04d98d2a1862cc65cc48837bd3c9d6c8ece4591966bc9d673c8273b445fc63dcc59d8aa891ae8c802ebacacdf56e2790a3f20a95009107c5e5cf6581d1f5f996 |
30 |
|
31 |
diff --git a/media-libs/libpulse/files/pulseaudio-15.0-daemon-client-split-build.patch b/media-libs/libpulse/files/pulseaudio-15.0-daemon-client-split-build.patch |
32 |
deleted file mode 100644 |
33 |
index 8e3fbae40767..000000000000 |
34 |
--- a/media-libs/libpulse/files/pulseaudio-15.0-daemon-client-split-build.patch |
35 |
+++ /dev/null |
36 |
@@ -1,1987 +0,0 @@ |
37 |
-From 36a1aab8e61cf846a4ee571c19cf1ce8fd7eca9d Mon Sep 17 00:00:00 2001 |
38 |
-From: Mart Raudsepp <mart@××××.tech> |
39 |
-Date: Fri, 24 Sep 2021 00:02:40 +0300 |
40 |
-Subject: [PATCH 1/8] build-sys: meson: Relax sanity checks for daemonless |
41 |
- builds |
42 |
- |
43 |
-Echo canceller, udev and speex resampling is only used by the daemon, so |
44 |
-don't error or warn about those in -Ddaemon=false builds. |
45 |
- |
46 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
47 |
---- |
48 |
- meson.build | 6 +++--- |
49 |
- 1 file changed, 3 insertions(+), 3 deletions(-) |
50 |
- |
51 |
-diff --git a/meson.build b/meson.build |
52 |
-index a95fefcd4..d1c419ac2 100644 |
53 |
---- a/meson.build |
54 |
-+++ b/meson.build |
55 |
-@@ -961,7 +961,7 @@ message('\n '.join(summary)) |
56 |
- |
57 |
- # Sanity checks |
58 |
- |
59 |
--if not speex_dep.found() and not webrtc_dep.found() and not get_option('adrian-aec') |
60 |
-+if get_option('daemon') and not speex_dep.found() and not webrtc_dep.found() and not get_option('adrian-aec') |
61 |
- error('At least one echo canceller implementation must be available!') |
62 |
- endif |
63 |
- |
64 |
-@@ -981,7 +981,7 @@ if host_machine.system() != 'windows' |
65 |
- ] |
66 |
- warning('\n' + '\n'.join(message)) |
67 |
- endif |
68 |
-- if host_machine.system() == 'linux' and not udev_dep.found() |
69 |
-+ if host_machine.system() == 'linux' and not udev_dep.found() and get_option('daemon') |
70 |
- message = [ |
71 |
- 'You do not have udev support enabled. It is strongly recommended', |
72 |
- 'that you enable udev support if your platform supports it as it is', |
73 |
-@@ -990,7 +990,7 @@ if host_machine.system() != 'windows' |
74 |
- ] |
75 |
- warning('\n' + '\n'.join(message)) |
76 |
- endif |
77 |
-- if not speex_dep.found() |
78 |
-+ if not speex_dep.found() and get_option('daemon') |
79 |
- message = [ |
80 |
- 'You do not have speex support enabled. It is strongly recommended', |
81 |
- 'that you enable speex support if your platform supports it as it is', |
82 |
--- |
83 |
-2.35.1 |
84 |
- |
85 |
- |
86 |
-From f63f3a9d7f311720dddef1f46e7c7431e3068c38 Mon Sep 17 00:00:00 2001 |
87 |
-From: Mart Raudsepp <mart@××××.tech> |
88 |
-Date: Fri, 24 Sep 2021 15:19:05 +0300 |
89 |
-Subject: [PATCH 2/8] build-sys: meson: Allow building the daemon only |
90 |
- |
91 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
92 |
---- |
93 |
- man/meson.build | 2 ++ |
94 |
- meson.build | 23 ++++++++++++++++++++--- |
95 |
- meson_options.txt | 3 +++ |
96 |
- po/meson.build | 3 --- |
97 |
- shell-completion/bash/meson.build | 2 ++ |
98 |
- src/daemon/meson.build | 4 ++-- |
99 |
- src/meson.build | 11 +++++++++++ |
100 |
- src/modules/gsettings/meson.build | 3 +-- |
101 |
- src/tests/meson.build | 9 +++++++-- |
102 |
- src/utils/meson.build | 10 ++++++---- |
103 |
- 10 files changed, 54 insertions(+), 16 deletions(-) |
104 |
- |
105 |
-diff --git a/man/meson.build b/man/meson.build |
106 |
-index 31c581a8f..c12ad5e6a 100644 |
107 |
---- a/man/meson.build |
108 |
-+++ b/man/meson.build |
109 |
-@@ -14,6 +14,7 @@ if get_option('daemon') |
110 |
- ] |
111 |
- endif |
112 |
- |
113 |
-+if not get_option('daemon-only') |
114 |
- manpages += [ |
115 |
- ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], |
116 |
- ['pactl', '1'], |
117 |
-@@ -31,6 +32,7 @@ if x11_dep.found() |
118 |
- ['pax11publish', '1'], |
119 |
- ] |
120 |
- endif |
121 |
-+endif |
122 |
- |
123 |
- # FIXME: Add esdcompat if HAVE_ESOUND |
124 |
- #manpages += ['esdcompat', '1'], |
125 |
-diff --git a/meson.build b/meson.build |
126 |
-index d1c419ac2..b610a159c 100644 |
127 |
---- a/meson.build |
128 |
-+++ b/meson.build |
129 |
-@@ -53,6 +53,8 @@ libpulse_mainloop_glib_version = '@0@.@1@.@2@'.format( |
130 |
- libpulse_mainloop_glib_version_info[1], |
131 |
- ) |
132 |
- |
133 |
-+i18n = import('i18n') |
134 |
-+ |
135 |
- # Paths |
136 |
- |
137 |
- prefix = get_option('prefix') |
138 |
-@@ -68,6 +70,7 @@ localedir = join_paths(prefix, get_option('localedir')) |
139 |
- localstatedir = join_paths(prefix, get_option('localstatedir')) |
140 |
- sysconfdir = join_paths(prefix, get_option('sysconfdir')) |
141 |
- privlibdir = join_paths(libdir, 'pulseaudio') |
142 |
-+po_dir = join_paths(meson.current_source_dir(), 'po') |
143 |
- |
144 |
- if host_machine.system() == 'windows' |
145 |
- # Windows only supports loading libraries from the same dir as the executable |
146 |
-@@ -796,20 +799,28 @@ check_dep = dependency('check', version : '>= 0.9.10', required : get_option('te |
147 |
- if get_option('doxygen') |
148 |
- subdir('doxygen') |
149 |
- endif |
150 |
--subdir('po') |
151 |
-+if not get_option('daemon-only') |
152 |
-+ subdir('po') |
153 |
-+endif |
154 |
- if get_option('man') |
155 |
- subdir('man') |
156 |
- endif |
157 |
- subdir('shell-completion/bash') |
158 |
--subdir('shell-completion/zsh') |
159 |
-+if not get_option('daemon-only') |
160 |
-+ subdir('shell-completion/zsh') |
161 |
-+endif |
162 |
- subdir('src') |
163 |
--subdir('vala') |
164 |
-+if not get_option('daemon-only') |
165 |
-+ subdir('vala') |
166 |
-+endif |
167 |
- |
168 |
- # Now generate config.h from everything above |
169 |
- configure_file(output : 'config.h', configuration : cdata) |
170 |
- |
171 |
- # pkg-config files |
172 |
- |
173 |
-+if not get_option('daemon-only') |
174 |
-+ |
175 |
- pc_cdata = configuration_data() |
176 |
- |
177 |
- pc_cdata.set('prefix', prefix) |
178 |
-@@ -842,8 +853,12 @@ foreach file : pc_files |
179 |
- install_dir : pkgconfigdir) |
180 |
- endforeach |
181 |
- |
182 |
-+endif # !daemon-only |
183 |
-+ |
184 |
- # CMake files |
185 |
- |
186 |
-+if not get_option('daemon-only') |
187 |
-+ |
188 |
- m4 = find_program('m4', required: true) |
189 |
- |
190 |
- cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') |
191 |
-@@ -872,6 +887,8 @@ configure_file( |
192 |
- install_dir : cmakedir, |
193 |
- ) |
194 |
- |
195 |
-+endif # !daemon-only |
196 |
-+ |
197 |
- ############################################################ |
198 |
- |
199 |
- # Final summary |
200 |
-diff --git a/meson_options.txt b/meson_options.txt |
201 |
-index bb41a42a7..62828ac5c 100644 |
202 |
---- a/meson_options.txt |
203 |
-+++ b/meson_options.txt |
204 |
-@@ -1,6 +1,9 @@ |
205 |
- option('daemon', |
206 |
- type : 'boolean', value : true, |
207 |
- description : 'Enable building and installation of pulseaudio daemon and supporting configuration files') |
208 |
-+option('daemon-only', |
209 |
-+ type : 'boolean', value : false, |
210 |
-+ description : 'Build and install only the pulseaudio daemon and supporting configuration files, relying on a system installation of libpulse') |
211 |
- option('doxygen', |
212 |
- type : 'boolean', value : true, |
213 |
- description : 'Enable building and installation of documentation generated with doxygen') |
214 |
-diff --git a/po/meson.build b/po/meson.build |
215 |
-index 34278db47..33429373c 100644 |
216 |
---- a/po/meson.build |
217 |
-+++ b/po/meson.build |
218 |
-@@ -1,4 +1,3 @@ |
219 |
--i18n = import('i18n') |
220 |
- i18n.gettext( |
221 |
- meson.project_name(), |
222 |
- preset: 'glib', |
223 |
-@@ -7,5 +6,3 @@ i18n.gettext( |
224 |
- args: ['--msgid-bugs-address=https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/new', |
225 |
- '--width=90'], |
226 |
- ) |
227 |
-- |
228 |
--po_dir = meson.current_source_dir() |
229 |
-diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build |
230 |
-index 3ba5cb16f..83d90b94b 100644 |
231 |
---- a/shell-completion/bash/meson.build |
232 |
-+++ b/shell-completion/bash/meson.build |
233 |
-@@ -8,6 +8,7 @@ if bashcompletiondir != 'no' |
234 |
- ] |
235 |
- endif |
236 |
- |
237 |
-+ if not get_option('daemon-only') |
238 |
- aliases += [ |
239 |
- 'pacat', |
240 |
- 'pactl', |
241 |
-@@ -16,6 +17,7 @@ if bashcompletiondir != 'no' |
242 |
- 'parec', |
243 |
- 'parecord', |
244 |
- ] |
245 |
-+ endif |
246 |
- |
247 |
- install_data('pulseaudio', install_dir : bashcompletiondir) |
248 |
- |
249 |
-diff --git a/src/daemon/meson.build b/src/daemon/meson.build |
250 |
-index 262e193b2..e8f70a453 100644 |
251 |
---- a/src/daemon/meson.build |
252 |
-+++ b/src/daemon/meson.build |
253 |
-@@ -30,8 +30,8 @@ executable('pulseaudio', |
254 |
- install_rpath : privlibdir, |
255 |
- include_directories : [configinc, topinc], |
256 |
- link_args : ['-ffast-math'], |
257 |
-- link_with : [libpulsecore, libpulsecommon, libpulse], |
258 |
-- dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep], |
259 |
-+ link_with : [libpulsecore], |
260 |
-+ dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep, libpulsecommon_dep, libpulse_dep], |
261 |
- c_args : pa_c_args, |
262 |
- ) |
263 |
- |
264 |
-diff --git a/src/meson.build b/src/meson.build |
265 |
-index 59a9b16bf..ce56dbfe3 100644 |
266 |
---- a/src/meson.build |
267 |
-+++ b/src/meson.build |
268 |
-@@ -186,6 +186,15 @@ else |
269 |
- endif |
270 |
- # FIXME: Do SIMD things |
271 |
- |
272 |
-+if get_option('daemon-only') |
273 |
-+ libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) |
274 |
-+ libpulse_dep = dependency('libpulse', required : true) |
275 |
-+ libpulse_simple_dep = dependency('libpulse-simple', required : true) |
276 |
-+ if glib_dep.found() |
277 |
-+ libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', required : true) |
278 |
-+ endif |
279 |
-+else |
280 |
-+ |
281 |
- libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
282 |
- libpulsecommon_sources, |
283 |
- libpulsecommon_headers, |
284 |
-@@ -205,6 +214,8 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
285 |
- libpulsecommon_dep = declare_dependency(link_with: libpulsecommon) |
286 |
- |
287 |
- subdir('pulse') |
288 |
-+endif |
289 |
-+ |
290 |
- if get_option('daemon') |
291 |
- subdir('pulsecore') |
292 |
- subdir('daemon') |
293 |
-diff --git a/src/modules/gsettings/meson.build b/src/modules/gsettings/meson.build |
294 |
-index 68a72c3ff..9604699e7 100644 |
295 |
---- a/src/modules/gsettings/meson.build |
296 |
-+++ b/src/modules/gsettings/meson.build |
297 |
-@@ -8,8 +8,7 @@ gsettings_helper = executable('gsettings-helper', |
298 |
- gsettings_helper_sources, |
299 |
- c_args : pa_c_args, |
300 |
- include_directories : [configinc, topinc], |
301 |
-- link_with : [libpulsecommon, libpulse], |
302 |
-- dependencies : [gio_dep], |
303 |
-+ dependencies : [gio_dep, libpulsecommon_dep, libpulse_dep], |
304 |
- install_dir : pulselibexecdir, |
305 |
- install_rpath : privlibdir, |
306 |
- install : true, |
307 |
-diff --git a/src/tests/meson.build b/src/tests/meson.build |
308 |
-index acd301037..56d71299f 100644 |
309 |
---- a/src/tests/meson.build |
310 |
-+++ b/src/tests/meson.build |
311 |
-@@ -20,8 +20,6 @@ default_tests += [ |
312 |
- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
313 |
- [ 'json-test', 'json-test.c', |
314 |
- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
315 |
-- [ 'mainloop-test', 'mainloop-test.c', |
316 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
317 |
- [ 'proplist-test', 'proplist-test.c', |
318 |
- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
319 |
- [ 'thread-mainloop-test', 'thread-mainloop-test.c', |
320 |
-@@ -32,6 +30,13 @@ default_tests += [ |
321 |
- [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], |
322 |
- ] |
323 |
- |
324 |
-+if not get_option('daemon-only') |
325 |
-+ default_tests += [ |
326 |
-+ [ 'mainloop-test', 'mainloop-test.c', |
327 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
328 |
-+ ] |
329 |
-+endif |
330 |
-+ |
331 |
- if get_option('daemon') |
332 |
- default_tests += [ |
333 |
- [ 'asyncmsgq-test', 'asyncmsgq-test.c', |
334 |
-diff --git a/src/utils/meson.build b/src/utils/meson.build |
335 |
-index c9635fdb6..7ed6e738f 100644 |
336 |
---- a/src/utils/meson.build |
337 |
-+++ b/src/utils/meson.build |
338 |
-@@ -1,3 +1,4 @@ |
339 |
-+if not get_option('daemon-only') |
340 |
- pacat_sources = [ |
341 |
- 'pacat.c', |
342 |
- ] |
343 |
-@@ -41,6 +42,7 @@ executable('pactl', |
344 |
- dependencies : [sndfile_dep, libintl_dep], |
345 |
- c_args : pa_c_args, |
346 |
- ) |
347 |
-+endif |
348 |
- |
349 |
- if get_option('daemon') |
350 |
- if host_machine.system() != 'windows' |
351 |
-@@ -53,8 +55,7 @@ if get_option('daemon') |
352 |
- install: true, |
353 |
- install_rpath : privlibdir, |
354 |
- include_directories : [configinc, topinc], |
355 |
-- link_with : [libpulsecommon, libpulse], |
356 |
-- dependencies: [libintl_dep], |
357 |
-+ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], |
358 |
- c_args : pa_c_args, |
359 |
- ) |
360 |
- |
361 |
-@@ -67,13 +68,13 @@ if get_option('daemon') |
362 |
- install: true, |
363 |
- install_rpath : privlibdir, |
364 |
- include_directories : [configinc, topinc], |
365 |
-- link_with : [libpulsecommon, libpulse], |
366 |
-- dependencies: [libintl_dep], |
367 |
-+ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], |
368 |
- c_args : pa_c_args, |
369 |
- ) |
370 |
- endif |
371 |
- endif |
372 |
- |
373 |
-+if not get_option('daemon-only') |
374 |
- if x11_dep.found() |
375 |
- pax11publish_sources = [ |
376 |
- 'pax11publish.c', |
377 |
-@@ -121,3 +122,4 @@ if dbus_dep.found() and fftw_dep.found() |
378 |
- endif |
379 |
- |
380 |
- install_data('pa-info', install_dir : bindir) |
381 |
-+endif |
382 |
--- |
383 |
-2.35.1 |
384 |
- |
385 |
- |
386 |
-From c3dba1988c18c59a49a2e3e3fa1451f4fa5db0ce Mon Sep 17 00:00:00 2001 |
387 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
388 |
-Date: Thu, 4 Nov 2021 16:35:19 +0300 |
389 |
-Subject: [PATCH 3/8] build-sys: meson: change daemon-only to client |
390 |
- |
391 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
392 |
---- |
393 |
- man/meson.build | 2 +- |
394 |
- meson.build | 14 +++++++------- |
395 |
- meson_options.txt | 6 +++--- |
396 |
- shell-completion/bash/meson.build | 2 +- |
397 |
- src/meson.build | 2 +- |
398 |
- src/tests/meson.build | 2 +- |
399 |
- src/utils/meson.build | 4 ++-- |
400 |
- 7 files changed, 16 insertions(+), 16 deletions(-) |
401 |
- |
402 |
-diff --git a/man/meson.build b/man/meson.build |
403 |
-index c12ad5e6a..9b42c2a69 100644 |
404 |
---- a/man/meson.build |
405 |
-+++ b/man/meson.build |
406 |
-@@ -14,7 +14,7 @@ if get_option('daemon') |
407 |
- ] |
408 |
- endif |
409 |
- |
410 |
--if not get_option('daemon-only') |
411 |
-+if get_option('client') |
412 |
- manpages += [ |
413 |
- ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], |
414 |
- ['pactl', '1'], |
415 |
-diff --git a/meson.build b/meson.build |
416 |
-index b610a159c..ded6669b1 100644 |
417 |
---- a/meson.build |
418 |
-+++ b/meson.build |
419 |
-@@ -799,18 +799,18 @@ check_dep = dependency('check', version : '>= 0.9.10', required : get_option('te |
420 |
- if get_option('doxygen') |
421 |
- subdir('doxygen') |
422 |
- endif |
423 |
--if not get_option('daemon-only') |
424 |
-+if get_option('client') |
425 |
- subdir('po') |
426 |
- endif |
427 |
- if get_option('man') |
428 |
- subdir('man') |
429 |
- endif |
430 |
- subdir('shell-completion/bash') |
431 |
--if not get_option('daemon-only') |
432 |
-+if get_option('client') |
433 |
- subdir('shell-completion/zsh') |
434 |
- endif |
435 |
- subdir('src') |
436 |
--if not get_option('daemon-only') |
437 |
-+if get_option('client') |
438 |
- subdir('vala') |
439 |
- endif |
440 |
- |
441 |
-@@ -819,7 +819,7 @@ configure_file(output : 'config.h', configuration : cdata) |
442 |
- |
443 |
- # pkg-config files |
444 |
- |
445 |
--if not get_option('daemon-only') |
446 |
-+if get_option('client') |
447 |
- |
448 |
- pc_cdata = configuration_data() |
449 |
- |
450 |
-@@ -853,11 +853,11 @@ foreach file : pc_files |
451 |
- install_dir : pkgconfigdir) |
452 |
- endforeach |
453 |
- |
454 |
--endif # !daemon-only |
455 |
-+endif # client |
456 |
- |
457 |
- # CMake files |
458 |
- |
459 |
--if not get_option('daemon-only') |
460 |
-+if get_option('client') |
461 |
- |
462 |
- m4 = find_program('m4', required: true) |
463 |
- |
464 |
-@@ -887,7 +887,7 @@ configure_file( |
465 |
- install_dir : cmakedir, |
466 |
- ) |
467 |
- |
468 |
--endif # !daemon-only |
469 |
-+endif # client |
470 |
- |
471 |
- ############################################################ |
472 |
- |
473 |
-diff --git a/meson_options.txt b/meson_options.txt |
474 |
-index 62828ac5c..f7e413d1f 100644 |
475 |
---- a/meson_options.txt |
476 |
-+++ b/meson_options.txt |
477 |
-@@ -1,9 +1,9 @@ |
478 |
- option('daemon', |
479 |
- type : 'boolean', value : true, |
480 |
- description : 'Enable building and installation of pulseaudio daemon and supporting configuration files') |
481 |
--option('daemon-only', |
482 |
-- type : 'boolean', value : false, |
483 |
-- description : 'Build and install only the pulseaudio daemon and supporting configuration files, relying on a system installation of libpulse') |
484 |
-+option('client', |
485 |
-+ type : 'boolean', value : true, |
486 |
-+ description : 'Build and install pulseaudio client libraries and utilities') |
487 |
- option('doxygen', |
488 |
- type : 'boolean', value : true, |
489 |
- description : 'Enable building and installation of documentation generated with doxygen') |
490 |
-diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build |
491 |
-index 83d90b94b..1d5a8cdab 100644 |
492 |
---- a/shell-completion/bash/meson.build |
493 |
-+++ b/shell-completion/bash/meson.build |
494 |
-@@ -8,7 +8,7 @@ if bashcompletiondir != 'no' |
495 |
- ] |
496 |
- endif |
497 |
- |
498 |
-- if not get_option('daemon-only') |
499 |
-+ if get_option('client') |
500 |
- aliases += [ |
501 |
- 'pacat', |
502 |
- 'pactl', |
503 |
-diff --git a/src/meson.build b/src/meson.build |
504 |
-index ce56dbfe3..f285fdf45 100644 |
505 |
---- a/src/meson.build |
506 |
-+++ b/src/meson.build |
507 |
-@@ -186,7 +186,7 @@ else |
508 |
- endif |
509 |
- # FIXME: Do SIMD things |
510 |
- |
511 |
--if get_option('daemon-only') |
512 |
-+if not get_option('client') |
513 |
- libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) |
514 |
- libpulse_dep = dependency('libpulse', required : true) |
515 |
- libpulse_simple_dep = dependency('libpulse-simple', required : true) |
516 |
-diff --git a/src/tests/meson.build b/src/tests/meson.build |
517 |
-index 56d71299f..b76da26cb 100644 |
518 |
---- a/src/tests/meson.build |
519 |
-+++ b/src/tests/meson.build |
520 |
-@@ -30,7 +30,7 @@ default_tests += [ |
521 |
- [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], |
522 |
- ] |
523 |
- |
524 |
--if not get_option('daemon-only') |
525 |
-+if get_option('client') |
526 |
- default_tests += [ |
527 |
- [ 'mainloop-test', 'mainloop-test.c', |
528 |
- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
529 |
-diff --git a/src/utils/meson.build b/src/utils/meson.build |
530 |
-index 7ed6e738f..f67cff4a9 100644 |
531 |
---- a/src/utils/meson.build |
532 |
-+++ b/src/utils/meson.build |
533 |
-@@ -1,4 +1,4 @@ |
534 |
--if not get_option('daemon-only') |
535 |
-+if get_option('client') |
536 |
- pacat_sources = [ |
537 |
- 'pacat.c', |
538 |
- ] |
539 |
-@@ -74,7 +74,7 @@ if get_option('daemon') |
540 |
- endif |
541 |
- endif |
542 |
- |
543 |
--if not get_option('daemon-only') |
544 |
-+if get_option('client') |
545 |
- if x11_dep.found() |
546 |
- pax11publish_sources = [ |
547 |
- 'pax11publish.c', |
548 |
--- |
549 |
-2.35.1 |
550 |
- |
551 |
- |
552 |
-From 1cb8c867c7cfff71f29f4eb508b92c5139669f33 Mon Sep 17 00:00:00 2001 |
553 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
554 |
-Date: Thu, 4 Nov 2021 19:33:32 +0300 |
555 |
-Subject: [PATCH 4/8] build-sys: meson: Move remaining tests under daemon and |
556 |
- client builds |
557 |
- |
558 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
559 |
---- |
560 |
- src/tests/meson.build | 126 +++++++++++++++++++++--------------------- |
561 |
- 1 file changed, 62 insertions(+), 64 deletions(-) |
562 |
- |
563 |
-diff --git a/src/tests/meson.build b/src/tests/meson.build |
564 |
-index b76da26cb..05922a582 100644 |
565 |
---- a/src/tests/meson.build |
566 |
-+++ b/src/tests/meson.build |
567 |
-@@ -9,32 +9,47 @@ |
568 |
- |
569 |
- default_tests = [] |
570 |
- |
571 |
--default_tests += [ |
572 |
-- [ 'channelmap-test', 'channelmap-test.c', |
573 |
-- [ check_dep, libpulse_dep ] ], |
574 |
-- [ 'core-util-test', 'core-util-test.c', |
575 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
576 |
-- [ 'get-binary-name-test', 'get-binary-name-test.c', |
577 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
578 |
-- [ 'hashmap-test', 'hashmap-test.c', |
579 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
580 |
-- [ 'json-test', 'json-test.c', |
581 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
582 |
-- [ 'proplist-test', 'proplist-test.c', |
583 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
584 |
-- [ 'thread-mainloop-test', 'thread-mainloop-test.c', |
585 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
586 |
-- [ 'utf8-test', 'utf8-test.c', |
587 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
588 |
-- [ 'volume-test', 'volume-test.c', |
589 |
-- [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], |
590 |
--] |
591 |
-- |
592 |
- if get_option('client') |
593 |
-+ default_tests += [ |
594 |
-+ [ 'channelmap-test', 'channelmap-test.c', |
595 |
-+ [ check_dep, libpulse_dep ] ], |
596 |
-+ [ 'core-util-test', 'core-util-test.c', |
597 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
598 |
-+ [ 'get-binary-name-test', 'get-binary-name-test.c', |
599 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
600 |
-+ [ 'hashmap-test', 'hashmap-test.c', |
601 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
602 |
-+ [ 'json-test', 'json-test.c', |
603 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
604 |
-+ [ 'proplist-test', 'proplist-test.c', |
605 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
606 |
-+ [ 'thread-mainloop-test', 'thread-mainloop-test.c', |
607 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
608 |
-+ [ 'utf8-test', 'utf8-test.c', |
609 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
610 |
-+ [ 'volume-test', 'volume-test.c', |
611 |
-+ [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], |
612 |
-+ ] |
613 |
-+ |
614 |
- default_tests += [ |
615 |
- [ 'mainloop-test', 'mainloop-test.c', |
616 |
- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], |
617 |
- ] |
618 |
-+ |
619 |
-+ if cc.has_header('sys/eventfd.h') |
620 |
-+ default_tests += [ |
621 |
-+ [ 'srbchannel-test', 'srbchannel-test.c', |
622 |
-+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ] |
623 |
-+ ] |
624 |
-+ endif |
625 |
-+ |
626 |
-+ if glib_dep.found() |
627 |
-+ default_tests += [ |
628 |
-+ [ 'mainloop-test-glib', 'mainloop-test.c', |
629 |
-+ [ check_dep, glib_dep, libpulse_dep, libpulsecommon_dep, libpulse_mainloop_glib_dep ], |
630 |
-+ [], ['-DGLIB_MAIN_LOOP'] ] |
631 |
-+ ] |
632 |
-+ endif |
633 |
- endif |
634 |
- |
635 |
- if get_option('daemon') |
636 |
-@@ -101,16 +116,6 @@ if get_option('daemon') |
637 |
- ] |
638 |
- endif |
639 |
- |
640 |
--endif |
641 |
-- |
642 |
--if cc.has_header('sys/eventfd.h') |
643 |
-- default_tests += [ |
644 |
-- [ 'srbchannel-test', 'srbchannel-test.c', |
645 |
-- [ check_dep, libpulse_dep, libpulsecommon_dep ] ] |
646 |
-- ] |
647 |
--endif |
648 |
-- |
649 |
--if get_option('daemon') |
650 |
- if alsa_dep.found() |
651 |
- default_tests += [ |
652 |
- [ 'alsa-mixer-path-test', 'alsa-mixer-path-test.c', |
653 |
-@@ -120,23 +125,24 @@ if get_option('daemon') |
654 |
- endif |
655 |
- endif |
656 |
- |
657 |
--if glib_dep.found() |
658 |
-- default_tests += [ |
659 |
-- [ 'mainloop-test-glib', 'mainloop-test.c', |
660 |
-- [ check_dep, glib_dep, libpulse_dep, libpulsecommon_dep, libpulse_mainloop_glib_dep ], |
661 |
-- [], ['-DGLIB_MAIN_LOOP'] ] |
662 |
-- ] |
663 |
--endif |
664 |
-- |
665 |
- # No-run tests |
666 |
- norun_tests = [] |
667 |
- |
668 |
--norun_tests += [ |
669 |
-- [ 'pacat-simple', 'pacat-simple.c', |
670 |
-- [ libpulse_dep, libpulse_simple_dep ] ], |
671 |
-- [ 'parec-simple', 'parec-simple.c', |
672 |
-- [ libpulse_dep, libpulse_simple_dep ] ], |
673 |
--] |
674 |
-+if get_option('client') |
675 |
-+ norun_tests += [ |
676 |
-+ [ 'pacat-simple', 'pacat-simple.c', |
677 |
-+ [ libpulse_dep, libpulse_simple_dep ] ], |
678 |
-+ [ 'parec-simple', 'parec-simple.c', |
679 |
-+ [ libpulse_dep, libpulse_simple_dep ] ], |
680 |
-+ ] |
681 |
-+ |
682 |
-+ if gtk_dep.found() and glib_dep.found() |
683 |
-+ norun_tests += [ |
684 |
-+ [ 'gtk-test', 'gtk-test.c', |
685 |
-+ [ gtk_dep, libpulse_dep, libpulse_mainloop_glib_dep ] ] |
686 |
-+ ] |
687 |
-+ endif |
688 |
-+endif |
689 |
- |
690 |
- if get_option('daemon') |
691 |
- norun_tests += [ |
692 |
-@@ -182,26 +188,18 @@ if get_option('daemon') |
693 |
- ] |
694 |
- endif |
695 |
- |
696 |
--endif |
697 |
-- |
698 |
--if cc.has_function('pthread_setaffinity_np', dependencies : thread_dep) |
699 |
-- norun_tests += [ |
700 |
-- [ 'atomic-test', 'atomic-test.c', |
701 |
-- [ check_dep, libpulsecommon_dep, thread_dep ] ] |
702 |
-- ] |
703 |
--endif |
704 |
-- |
705 |
--if alsa_dep.found() |
706 |
-- norun_tests += [ |
707 |
-- [ 'alsa-time-test', 'alsa-time-test.c', [ alsa_dep, thread_dep ] ] |
708 |
-- ] |
709 |
--endif |
710 |
-+ if cc.has_function('pthread_setaffinity_np', dependencies : thread_dep) |
711 |
-+ norun_tests += [ |
712 |
-+ [ 'atomic-test', 'atomic-test.c', |
713 |
-+ [ check_dep, libpulsecommon_dep, thread_dep ] ] |
714 |
-+ ] |
715 |
-+ endif |
716 |
- |
717 |
--if gtk_dep.found() and glib_dep.found() |
718 |
-- norun_tests += [ |
719 |
-- [ 'gtk-test', 'gtk-test.c', |
720 |
-- [ gtk_dep, libpulse_dep, libpulse_mainloop_glib_dep ] ] |
721 |
-- ] |
722 |
-+ if alsa_dep.found() |
723 |
-+ norun_tests += [ |
724 |
-+ [ 'alsa-time-test', 'alsa-time-test.c', [ alsa_dep, thread_dep ] ] |
725 |
-+ ] |
726 |
-+ endif |
727 |
- endif |
728 |
- |
729 |
- # Generate tests |
730 |
--- |
731 |
-2.35.1 |
732 |
- |
733 |
- |
734 |
-From c283edc0bac45b2f5efba810e2ccd1d37b54b2ae Mon Sep 17 00:00:00 2001 |
735 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
736 |
-Date: Thu, 4 Nov 2021 20:12:03 +0300 |
737 |
-Subject: [PATCH 5/8] build-sys: meson: Rearrange dependencies under client and |
738 |
- daemon options |
739 |
- |
740 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
741 |
---- |
742 |
- meson.build | 492 +++++++++++++++++++++++++----------------------- |
743 |
- src/meson.build | 3 - |
744 |
- 2 files changed, 258 insertions(+), 237 deletions(-) |
745 |
- |
746 |
-diff --git a/meson.build b/meson.build |
747 |
-index ded6669b1..3afc31c9b 100644 |
748 |
---- a/meson.build |
749 |
-+++ b/meson.build |
750 |
-@@ -568,227 +568,237 @@ if host_machine.cpu_family() == 'arm' |
751 |
- endif |
752 |
- # NEON checks are automatically done by the unstable-simd module |
753 |
- |
754 |
--if get_option('daemon') |
755 |
-- # FIXME: make sure it's >= 2.2 |
756 |
-- ltdl_dep = cc.find_library('ltdl', required : true) |
757 |
--endif |
758 |
-- |
759 |
--# FIXME: can meson support libtool -dlopen/-dlpreopen things? |
760 |
--# and do we still want to support this at all? |
761 |
--cdata.set('DISABLE_LIBTOOL_PRELOAD', 1) |
762 |
-- |
763 |
--if get_option('database') == 'tdb' |
764 |
-- database_dep = dependency('tdb') |
765 |
--elif get_option('database') == 'gdbm' |
766 |
-- database_dep = cc.find_library('gdbm', required : true) |
767 |
--else |
768 |
-- database_dep = dependency('', required: false) |
769 |
--endif |
770 |
-+# Dependencies common to client, daemon and modules |
771 |
- |
772 |
- if get_option('ipv6') |
773 |
- cdata.set('HAVE_IPV6', 1) |
774 |
- endif |
775 |
- |
776 |
--if get_option('legacy-database-entry-format') |
777 |
-- cdata.set('ENABLE_LEGACY_DATABASE_ENTRY_FORMAT', 1) |
778 |
--endif |
779 |
-- |
780 |
--if get_option('stream-restore-clear-old-devices') |
781 |
-- cdata.set('STREAM_RESTORE_CLEAR_OLD_DEVICES', 1) |
782 |
--endif |
783 |
-- |
784 |
--if get_option('running-from-build-tree') |
785 |
-- cdata.set('HAVE_RUNNING_FROM_BUILD_TREE', 1) |
786 |
--endif |
787 |
-- |
788 |
--alsa_dep = dependency('alsa', version : '>= 1.0.24', required : get_option('alsa')) |
789 |
--if alsa_dep.found() |
790 |
-- cdata.set('HAVE_ALSA', 1) |
791 |
-- cdata.set('HAVE_ALSA_UCM', 1) |
792 |
--endif |
793 |
-- |
794 |
--asyncns_dep = dependency('libasyncns', version : '>= 0.1', required : get_option('asyncns')) |
795 |
--if asyncns_dep.found() |
796 |
-- cdata.set('HAVE_LIBASYNCNS', 1) |
797 |
--endif |
798 |
-- |
799 |
- dbus_dep = dependency('dbus-1', version : '>= 1.4.12', required : get_option('dbus')) |
800 |
- if dbus_dep.found() |
801 |
- cdata.set('HAVE_DBUS', 1) |
802 |
- endif |
803 |
- |
804 |
--gio_dep = dependency('gio-2.0', version : '>= 2.26.0') |
805 |
--if get_option('gsettings').enabled() |
806 |
-- assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)') |
807 |
-- cdata.set('HAVE_GSETTINGS', 1) |
808 |
--else |
809 |
-- cdata.set('HAVE_GSETTINGS', 0) |
810 |
--endif |
811 |
-- |
812 |
--glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) |
813 |
--if glib_dep.found() |
814 |
-- cdata.set('HAVE_GLIB', 1) |
815 |
--endif |
816 |
-- |
817 |
--gtk_dep = dependency('gtk+-3.0', required : get_option('gtk')) |
818 |
--if gtk_dep.found() |
819 |
-- cdata.set('HAVE_GTK', 1) |
820 |
--endif |
821 |
-- |
822 |
--have_orcc = false |
823 |
--orcc_args = [] |
824 |
--orc_dep = dependency('orc-0.4', version : '>= 0.4.11', required : get_option('orc')) |
825 |
--orcc = find_program('orcc', required : get_option('orc')) |
826 |
--if orc_dep.found() and orcc.found() |
827 |
-- have_orcc = true |
828 |
-- orcc_args = [orcc] |
829 |
-- #orcc_args = [orcc, '--include', 'glib.h'] |
830 |
-- cdata.set('HAVE_ORC', 1) |
831 |
--else |
832 |
-- cdata.set('DISABLE_ORC', 1) |
833 |
--endif |
834 |
-- |
835 |
--samplerate_dep = dependency('samplerate', version : '>= 0.1.0', required : get_option('samplerate')) |
836 |
--if samplerate_dep.found() |
837 |
-- cdata.set('HAVE_LIBSAMPLERATE', 1) |
838 |
--endif |
839 |
-- |
840 |
- sndfile_dep = dependency('sndfile', version : '>= 1.0.20') |
841 |
- |
842 |
--soxr_dep = dependency('soxr', version : '>= 0.1.1', required : get_option('soxr')) |
843 |
--if soxr_dep.found() |
844 |
-- cdata.set('HAVE_SOXR', 1) |
845 |
--endif |
846 |
-- |
847 |
- libsystemd_dep = dependency('libsystemd', required : get_option('systemd')) |
848 |
- if libsystemd_dep.found() |
849 |
- cdata.set('HAVE_SYSTEMD_DAEMON', 1) |
850 |
- cdata.set('HAVE_SYSTEMD_LOGIN', 1) |
851 |
- cdata.set('HAVE_SYSTEMD_JOURNAL', 1) |
852 |
- endif |
853 |
--systemd_dep = dependency('systemd', required : get_option('systemd')) |
854 |
--if systemd_dep.found() and systemduserunitdir == '' |
855 |
-- systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir') |
856 |
--endif |
857 |
-- |
858 |
--libelogind_dep = dependency('libelogind', required : get_option('elogind')) |
859 |
--if libelogind_dep.found() |
860 |
-- cdata.set('HAVE_SYSTEMD_LOGIN', 1) |
861 |
--endif |
862 |
-- |
863 |
--tcpwrap_dep = cc.find_library('wrap', required: get_option('tcpwrap')) |
864 |
--if cc.has_header('tcpd.h') and cc.has_function('hosts_access', dependencies : tcpwrap_dep) |
865 |
-- cdata.set('HAVE_LIBWRAP', 1) |
866 |
--endif |
867 |
- |
868 |
- x11_dep = dependency('x11-xcb', required : get_option('x11')) |
869 |
--if x11_dep.found() |
870 |
-- xcb_dep = dependency('xcb', required : true, version : '>= 1.6') |
871 |
-- ice_dep = dependency('ice', required : get_option('daemon')) |
872 |
-- sm_dep = dependency('sm', required : get_option('daemon')) |
873 |
-- xtst_dep = dependency('xtst', required : get_option('daemon')) |
874 |
-- cdata.set('HAVE_X11', 1) |
875 |
-- if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) |
876 |
-- cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) |
877 |
-- endif |
878 |
--endif |
879 |
- |
880 |
--# Module dependencies |
881 |
-+# OSS support |
882 |
- if cc.has_header('sys/soundcard.h', required: get_option('oss-output')) |
883 |
-+ # OSS output via daemon module-detect |
884 |
- cdata.set('HAVE_OSS_OUTPUT', 1) |
885 |
-+ # OSS wrapper |
886 |
- cdata.set('HAVE_OSS_WRAPPER', 1) |
887 |
- cdata.set('PULSEDSP_LOCATION', pulsedsp_location) |
888 |
- endif |
889 |
- |
890 |
--if get_option('hal-compat') |
891 |
-- cdata.set('HAVE_HAL_COMPAT', 1) |
892 |
--endif |
893 |
-+# Client library dependencies |
894 |
- |
895 |
--avahi_dep = dependency('avahi-client', version : '>= 0.6.0', required : get_option('avahi'), disabler : true) |
896 |
--if avahi_dep.found() |
897 |
-- cdata.set('HAVE_AVAHI', 1) |
898 |
--else |
899 |
-- cdata.set('HAVE_AVAHI', 0) |
900 |
-+if get_option('client') |
901 |
-+ asyncns_dep = dependency('libasyncns', version : '>= 0.1', required : get_option('asyncns')) |
902 |
-+ if asyncns_dep.found() |
903 |
-+ cdata.set('HAVE_LIBASYNCNS', 1) |
904 |
-+ endif |
905 |
-+ |
906 |
-+ glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) |
907 |
-+ if glib_dep.found() |
908 |
-+ cdata.set('HAVE_GLIB', 1) |
909 |
-+ cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation |
910 |
-+ endif |
911 |
-+ |
912 |
-+ gtk_dep = dependency('gtk+-3.0', required : get_option('gtk')) |
913 |
-+ if gtk_dep.found() |
914 |
-+ cdata.set('HAVE_GTK', 1) |
915 |
-+ endif |
916 |
- endif |
917 |
- |
918 |
--sbc_dep = dependency('sbc', version : '>= 1.0', required : false) |
919 |
-+# Daemon and module dependencies |
920 |
- |
921 |
--bluez_dep = dependency('bluez', required : get_option('bluez5')) |
922 |
-+if get_option('daemon') |
923 |
-+ # FIXME: make sure it's >= 2.2 |
924 |
-+ ltdl_dep = cc.find_library('ltdl', required : true) |
925 |
- |
926 |
--if bluez_dep.found() |
927 |
-- assert(dbus_dep.found(), 'BlueZ requires D-Bus support') |
928 |
-- assert(sbc_dep.found(), 'BlueZ requires SBC support') |
929 |
-- cdata.set('HAVE_SBC', 1) |
930 |
-- cdata.set('HAVE_BLUEZ', 1) |
931 |
-- cdata.set('HAVE_BLUEZ_5', 1) |
932 |
-- if get_option('bluez5-native-headset') |
933 |
-- cdata.set('HAVE_BLUEZ_5_NATIVE_HEADSET', 1) |
934 |
-+ # FIXME: can meson support libtool -dlopen/-dlpreopen things? |
935 |
-+ # and do we still want to support this at all? |
936 |
-+ cdata.set('DISABLE_LIBTOOL_PRELOAD', 1) |
937 |
-+ |
938 |
-+ if get_option('database') == 'tdb' |
939 |
-+ database_dep = dependency('tdb') |
940 |
-+ elif get_option('database') == 'gdbm' |
941 |
-+ database_dep = cc.find_library('gdbm', required : true) |
942 |
-+ else |
943 |
-+ database_dep = dependency('', required: false) |
944 |
- endif |
945 |
-- if get_option('bluez5-ofono-headset') |
946 |
-- cdata.set('HAVE_BLUEZ_5_OFONO_HEADSET', 1) |
947 |
-+ |
948 |
-+ if get_option('legacy-database-entry-format') |
949 |
-+ cdata.set('ENABLE_LEGACY_DATABASE_ENTRY_FORMAT', 1) |
950 |
- endif |
951 |
--endif |
952 |
- |
953 |
--fftw_dep = dependency('fftw3f', required : get_option('fftw')) |
954 |
--if fftw_dep.found() |
955 |
-- cdata.set('HAVE_FFTW', 1) |
956 |
--endif |
957 |
-+ if get_option('stream-restore-clear-old-devices') |
958 |
-+ cdata.set('STREAM_RESTORE_CLEAR_OLD_DEVICES', 1) |
959 |
-+ endif |
960 |
- |
961 |
--jack_dep = dependency('jack', version : '>= 0.117.0', required : get_option('jack')) |
962 |
--if jack_dep.found() |
963 |
-- cdata.set('HAVE_JACK', 1) |
964 |
--endif |
965 |
-+ if get_option('running-from-build-tree') |
966 |
-+ cdata.set('HAVE_RUNNING_FROM_BUILD_TREE', 1) |
967 |
-+ endif |
968 |
- |
969 |
--lirc_dep = dependency('lirc', required : get_option('lirc')) |
970 |
--if lirc_dep.found() |
971 |
-- cdata.set('HAVE_LIRC', 1) |
972 |
--endif |
973 |
-+ alsa_dep = dependency('alsa', version : '>= 1.0.24', required : get_option('alsa')) |
974 |
-+ if alsa_dep.found() |
975 |
-+ cdata.set('HAVE_ALSA', 1) |
976 |
-+ cdata.set('HAVE_ALSA_UCM', 1) |
977 |
-+ endif |
978 |
- |
979 |
--openssl_dep = dependency('openssl', version : '>= 0.9', required : get_option('openssl')) |
980 |
--if openssl_dep.found() |
981 |
-- cdata.set('HAVE_OPENSSL', 1) |
982 |
--endif |
983 |
-+ gio_dep = dependency('gio-2.0', version : '>= 2.26.0') |
984 |
-+ if get_option('gsettings').enabled() |
985 |
-+ assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)') |
986 |
-+ cdata.set('HAVE_GSETTINGS', 1) |
987 |
-+ else |
988 |
-+ cdata.set('HAVE_GSETTINGS', 0) |
989 |
-+ endif |
990 |
- |
991 |
--speex_dep = dependency('speexdsp', version : '>= 1.2', required : get_option('speex')) |
992 |
--if speex_dep.found() |
993 |
-- cdata.set('HAVE_SPEEX', 1) |
994 |
--endif |
995 |
-+ have_orcc = false |
996 |
-+ orcc_args = [] |
997 |
-+ orc_dep = dependency('orc-0.4', version : '>= 0.4.11', required : get_option('orc')) |
998 |
-+ orcc = find_program('orcc', required : get_option('orc')) |
999 |
-+ if orc_dep.found() and orcc.found() |
1000 |
-+ have_orcc = true |
1001 |
-+ orcc_args = [orcc] |
1002 |
-+ #orcc_args = [orcc, '--include', 'glib.h'] |
1003 |
-+ cdata.set('HAVE_ORC', 1) |
1004 |
-+ else |
1005 |
-+ cdata.set('DISABLE_ORC', 1) |
1006 |
-+ endif |
1007 |
- |
1008 |
--udev_dep = dependency('libudev', version : '>= 143', required : get_option('udev')) |
1009 |
--if udev_dep.found() |
1010 |
-- cdata.set('HAVE_UDEV', 1) |
1011 |
--endif |
1012 |
-+ samplerate_dep = dependency('samplerate', version : '>= 0.1.0', required : get_option('samplerate')) |
1013 |
-+ if samplerate_dep.found() |
1014 |
-+ cdata.set('HAVE_LIBSAMPLERATE', 1) |
1015 |
-+ endif |
1016 |
- |
1017 |
--webrtc_dep = dependency('webrtc-audio-processing', version : '>= 0.2', required : get_option('webrtc-aec')) |
1018 |
--if webrtc_dep.found() |
1019 |
-- cdata.set('HAVE_WEBRTC', 1) |
1020 |
--endif |
1021 |
-+ speex_dep = dependency('speexdsp', version : '>= 1.2', required : get_option('speex')) |
1022 |
-+ if speex_dep.found() |
1023 |
-+ cdata.set('HAVE_SPEEX', 1) |
1024 |
-+ endif |
1025 |
- |
1026 |
--gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('gstreamer')) |
1027 |
--gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('gstreamer')) |
1028 |
--gstrtp_dep = dependency('gstreamer-rtp-1.0', required : get_option('gstreamer')) |
1029 |
-+ soxr_dep = dependency('soxr', version : '>= 0.1.1', required : get_option('soxr')) |
1030 |
-+ if soxr_dep.found() |
1031 |
-+ cdata.set('HAVE_SOXR', 1) |
1032 |
-+ endif |
1033 |
- |
1034 |
--have_gstreamer = false |
1035 |
--if gst_dep.found() and gstapp_dep.found() and gstrtp_dep.found() |
1036 |
-- assert(gio_dep.found(), 'GStreamer-based RTP needs glib I/O library (GIO)') |
1037 |
-- have_gstreamer = true |
1038 |
--endif |
1039 |
-+ webrtc_dep = dependency('webrtc-audio-processing', version : '>= 0.2', required : get_option('webrtc-aec')) |
1040 |
-+ if webrtc_dep.found() |
1041 |
-+ cdata.set('HAVE_WEBRTC', 1) |
1042 |
-+ endif |
1043 |
- |
1044 |
--bluez5_gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('bluez5-gstreamer')) |
1045 |
--bluez5_gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('bluez5-gstreamer')) |
1046 |
--have_bluez5_gstreamer = false |
1047 |
--if bluez5_gst_dep.found() and bluez5_gstapp_dep.found() |
1048 |
-- have_bluez5_gstreamer = true |
1049 |
-- cdata.set('HAVE_GSTLDAC', 1) |
1050 |
-- cdata.set('HAVE_GSTAPTX', 1) |
1051 |
-+ systemd_dep = dependency('systemd', required : get_option('systemd')) |
1052 |
-+ if systemd_dep.found() and systemduserunitdir == '' |
1053 |
-+ systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir') |
1054 |
-+ endif |
1055 |
-+ |
1056 |
-+ libelogind_dep = dependency('libelogind', required : get_option('elogind')) |
1057 |
-+ if libelogind_dep.found() |
1058 |
-+ cdata.set('HAVE_SYSTEMD_LOGIN', 1) |
1059 |
-+ endif |
1060 |
-+ |
1061 |
-+ tcpwrap_dep = cc.find_library('wrap', required: get_option('tcpwrap')) |
1062 |
-+ if cc.has_header('tcpd.h') and cc.has_function('hosts_access', dependencies : tcpwrap_dep) |
1063 |
-+ cdata.set('HAVE_LIBWRAP', 1) |
1064 |
-+ endif |
1065 |
-+ |
1066 |
-+ if x11_dep.found() |
1067 |
-+ xcb_dep = dependency('xcb', required : true, version : '>= 1.6') |
1068 |
-+ ice_dep = dependency('ice', required : true) |
1069 |
-+ sm_dep = dependency('sm', required : true) |
1070 |
-+ xtst_dep = dependency('xtst', required : true) |
1071 |
-+ cdata.set('HAVE_X11', 1) |
1072 |
-+ if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) |
1073 |
-+ cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) |
1074 |
-+ endif |
1075 |
-+ endif |
1076 |
-+ |
1077 |
-+ avahi_dep = dependency('avahi-client', version : '>= 0.6.0', required : get_option('avahi'), disabler : true) |
1078 |
-+ if avahi_dep.found() |
1079 |
-+ cdata.set('HAVE_AVAHI', 1) |
1080 |
-+ else |
1081 |
-+ cdata.set('HAVE_AVAHI', 0) |
1082 |
-+ endif |
1083 |
-+ |
1084 |
-+ sbc_dep = dependency('sbc', version : '>= 1.0', required : false) |
1085 |
-+ |
1086 |
-+ bluez_dep = dependency('bluez', required : get_option('bluez5')) |
1087 |
-+ |
1088 |
-+ if bluez_dep.found() |
1089 |
-+ assert(dbus_dep.found(), 'BlueZ requires D-Bus support') |
1090 |
-+ assert(sbc_dep.found(), 'BlueZ requires SBC support') |
1091 |
-+ cdata.set('HAVE_SBC', 1) |
1092 |
-+ cdata.set('HAVE_BLUEZ', 1) |
1093 |
-+ cdata.set('HAVE_BLUEZ_5', 1) |
1094 |
-+ if get_option('bluez5-native-headset') |
1095 |
-+ cdata.set('HAVE_BLUEZ_5_NATIVE_HEADSET', 1) |
1096 |
-+ endif |
1097 |
-+ if get_option('bluez5-ofono-headset') |
1098 |
-+ cdata.set('HAVE_BLUEZ_5_OFONO_HEADSET', 1) |
1099 |
-+ endif |
1100 |
-+ endif |
1101 |
-+ |
1102 |
-+ fftw_dep = dependency('fftw3f', required : get_option('fftw')) |
1103 |
-+ if fftw_dep.found() |
1104 |
-+ cdata.set('HAVE_FFTW', 1) |
1105 |
-+ endif |
1106 |
-+ |
1107 |
-+ jack_dep = dependency('jack', version : '>= 0.117.0', required : get_option('jack')) |
1108 |
-+ if jack_dep.found() |
1109 |
-+ cdata.set('HAVE_JACK', 1) |
1110 |
-+ endif |
1111 |
-+ |
1112 |
-+ lirc_dep = dependency('lirc', required : get_option('lirc')) |
1113 |
-+ if lirc_dep.found() |
1114 |
-+ cdata.set('HAVE_LIRC', 1) |
1115 |
-+ endif |
1116 |
-+ |
1117 |
-+ openssl_dep = dependency('openssl', version : '>= 0.9', required : get_option('openssl')) |
1118 |
-+ if openssl_dep.found() |
1119 |
-+ cdata.set('HAVE_OPENSSL', 1) |
1120 |
-+ endif |
1121 |
-+ |
1122 |
-+ udev_dep = dependency('libudev', version : '>= 143', required : get_option('udev')) |
1123 |
-+ if udev_dep.found() |
1124 |
-+ cdata.set('HAVE_UDEV', 1) |
1125 |
-+ endif |
1126 |
-+ |
1127 |
-+ if get_option('hal-compat') |
1128 |
-+ cdata.set('HAVE_HAL_COMPAT', 1) |
1129 |
-+ endif |
1130 |
-+ |
1131 |
-+ gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('gstreamer')) |
1132 |
-+ gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('gstreamer')) |
1133 |
-+ gstrtp_dep = dependency('gstreamer-rtp-1.0', required : get_option('gstreamer')) |
1134 |
-+ |
1135 |
-+ have_gstreamer = false |
1136 |
-+ if gst_dep.found() and gstapp_dep.found() and gstrtp_dep.found() |
1137 |
-+ assert(gio_dep.found(), 'GStreamer-based RTP needs glib I/O library (GIO)') |
1138 |
-+ have_gstreamer = true |
1139 |
-+ endif |
1140 |
-+ |
1141 |
-+ bluez5_gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('bluez5-gstreamer')) |
1142 |
-+ bluez5_gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('bluez5-gstreamer')) |
1143 |
-+ have_bluez5_gstreamer = false |
1144 |
-+ if bluez5_gst_dep.found() and bluez5_gstapp_dep.found() |
1145 |
-+ have_bluez5_gstreamer = true |
1146 |
-+ cdata.set('HAVE_GSTLDAC', 1) |
1147 |
-+ cdata.set('HAVE_GSTAPTX', 1) |
1148 |
-+ endif |
1149 |
- endif |
1150 |
- |
1151 |
- # These are required for the CMake file generation |
1152 |
- cdata.set('PA_LIBDIR', libdir) |
1153 |
- cdata.set('PA_INCDIR', includedir) |
1154 |
--if glib_dep.found() |
1155 |
-- cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation |
1156 |
--endif |
1157 |
- |
1158 |
- # Test dependencies |
1159 |
- |
1160 |
-@@ -817,10 +827,10 @@ endif |
1161 |
- # Now generate config.h from everything above |
1162 |
- configure_file(output : 'config.h', configuration : cdata) |
1163 |
- |
1164 |
--# pkg-config files |
1165 |
-- |
1166 |
- if get_option('client') |
1167 |
- |
1168 |
-+# pkg-config files |
1169 |
-+ |
1170 |
- pc_cdata = configuration_data() |
1171 |
- |
1172 |
- pc_cdata.set('prefix', prefix) |
1173 |
-@@ -853,12 +863,8 @@ foreach file : pc_files |
1174 |
- install_dir : pkgconfigdir) |
1175 |
- endforeach |
1176 |
- |
1177 |
--endif # client |
1178 |
-- |
1179 |
- # CMake files |
1180 |
- |
1181 |
--if get_option('client') |
1182 |
-- |
1183 |
- m4 = find_program('m4', required: true) |
1184 |
- |
1185 |
- cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') |
1186 |
-@@ -918,49 +924,66 @@ summary = [ |
1187 |
- # 'LIBS: @0@'.format(${LIBS}), |
1188 |
- '', |
1189 |
- 'Enable pulseaudio daemon: @0@'.format(get_option('daemon')), |
1190 |
-+ 'Enable pulseaudio client: @0@'.format(get_option('client')), |
1191 |
- '', |
1192 |
- 'Enable memfd shared memory: @0@'.format(cdata.has('HAVE_MEMFD')), |
1193 |
- 'Enable X11: @0@'.format(x11_dep.found()), |
1194 |
-- ' Safe X11 I/O errors: @0@'.format(cdata.has('HAVE_XSETIOERROREXITHANDLER')), |
1195 |
-- 'Enable OSS Output: @0@'.format(cdata.has('HAVE_OSS_OUTPUT')), |
1196 |
-+ 'Enable D-Bus: @0@'.format(dbus_dep.found()), |
1197 |
-+ 'Enable systemd integration: @0@'.format(libsystemd_dep.found()), |
1198 |
-+ 'Enable IPv6: @0@'.format(get_option('ipv6')), |
1199 |
-+ 'Enable Gcov coverage: @0@'.format(get_option('gcov')), |
1200 |
-+ 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), |
1201 |
-+ 'Enable man pages: @0@'.format(get_option('man')), |
1202 |
-+ 'Enable unit tests: @0@'.format(get_option('tests')), |
1203 |
-+] |
1204 |
-+ |
1205 |
-+if get_option('client') |
1206 |
-+summary += [ |
1207 |
-+ '', |
1208 |
-+ '--- Pulseaudio client features ---', |
1209 |
-+ '', |
1210 |
-+ 'Enable GLib 2: @0@'.format(glib_dep.found()), |
1211 |
-+ 'Enable Gtk+ 3: @0@'.format(gtk_dep.found()), |
1212 |
-+ 'Enable Async DNS: @0@'.format(asyncns_dep.found()), |
1213 |
- 'Enable OSS Wrapper: @0@'.format(cdata.has('HAVE_OSS_WRAPPER')), |
1214 |
-+] |
1215 |
-+endif |
1216 |
-+ |
1217 |
-+if get_option('daemon') |
1218 |
-+summary += [ |
1219 |
-+ '', |
1220 |
-+ '--- Pulseaudio daemon features ---', |
1221 |
-+ '', |
1222 |
-+ 'Safe X11 I/O errors: @0@'.format(cdata.has('HAVE_XSETIOERROREXITHANDLER')), |
1223 |
-+ 'Enable Avahi: @0@'.format(avahi_dep.found()), |
1224 |
-+ 'Enable OSS Output: @0@'.format(cdata.has('HAVE_OSS_OUTPUT')), |
1225 |
- # 'Enable EsounD: @0@'.format(${ENABLE_ESOUND}), |
1226 |
- 'Enable Alsa: @0@'.format(alsa_dep.found()), |
1227 |
-+ 'Enable Jack: @0@'.format(jack_dep.found()), |
1228 |
-+ 'Enable LIRC: @0@'.format(lirc_dep.found()), |
1229 |
- # 'Enable CoreAudio: @0@'.format(${ENABLE_COREAUDIO}), |
1230 |
- # 'Enable Solaris: @0@'.format(${ENABLE_SOLARIS}), |
1231 |
- # 'Enable WaveOut: @0@'.format(${ENABLE_WAVEOUT}), |
1232 |
-- 'Enable GLib 2: @0@'.format(glib_dep.found()), |
1233 |
- 'Enable GSettings: @0@'.format(gio_dep.found()), |
1234 |
-- 'Enable Gtk+ 3: @0@'.format(gtk_dep.found()), |
1235 |
-- 'Enable Avahi: @0@'.format(avahi_dep.found()), |
1236 |
-- 'Enable Jack: @0@'.format(jack_dep.found()), |
1237 |
-- 'Enable Async DNS: @0@'.format(asyncns_dep.found()), |
1238 |
-- 'Enable LIRC: @0@'.format(lirc_dep.found()), |
1239 |
-- 'Enable D-Bus: @0@'.format(dbus_dep.found()), |
1240 |
-- ' Enable BlueZ 5: @0@'.format(cdata.has('HAVE_BLUEZ_5')), |
1241 |
-- ' Enable native headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_NATIVE_HEADSET')), |
1242 |
-- ' Enable ofono headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_OFONO_HEADSET')), |
1243 |
-- ' Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), |
1244 |
-- 'Enable udev: @0@'.format(udev_dep.found()), |
1245 |
-- ' Enable HAL->udev compat: @0@'.format(get_option('hal-compat')), |
1246 |
-- 'Enable systemd: @0@'.format(libsystemd_dep.found()), |
1247 |
-- 'Enable elogind: @0@'.format(libelogind_dep.found()), |
1248 |
-- 'Enable TCP Wrappers: @0@'.format(tcpwrap_dep.found()), |
1249 |
-+ 'Enable BlueZ 5: @0@'.format(cdata.has('HAVE_BLUEZ_5')), |
1250 |
-+ ' Enable native headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_NATIVE_HEADSET')), |
1251 |
-+ ' Enable ofono headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_OFONO_HEADSET')), |
1252 |
-+ ' Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), |
1253 |
-+ 'Enable GStreamer: @0@'.format(have_gstreamer), |
1254 |
- 'Enable libsamplerate: @0@'.format(samplerate_dep.found()), |
1255 |
-- 'Enable IPv6: @0@'.format(get_option('ipv6')), |
1256 |
-- 'Enable OpenSSL (for Airtunes): @0@'.format(openssl_dep.found()), |
1257 |
- 'Enable FFTW: @0@'.format(fftw_dep.found()), |
1258 |
- 'Enable ORC: @0@'.format(have_orcc), |
1259 |
-- 'Enable GStreamer: @0@'.format(have_gstreamer), |
1260 |
- 'Enable Adrian echo canceller: @0@'.format(get_option('adrian-aec')), |
1261 |
- 'Enable Speex (resampler, AEC): @0@'.format(speex_dep.found()), |
1262 |
- 'Enable SoXR (resampler): @0@'.format(soxr_dep.found()), |
1263 |
- 'Enable WebRTC echo canceller: @0@'.format(webrtc_dep.found()), |
1264 |
-- 'Enable Gcov coverage: @0@'.format(get_option('gcov')), |
1265 |
-- 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), |
1266 |
-- 'Enable man pages: @0@'.format(get_option('man')), |
1267 |
-- 'Enable unit tests: @0@'.format(get_option('tests')), |
1268 |
- '', |
1269 |
-+ 'Enable udev: @0@'.format(udev_dep.found()), |
1270 |
-+ ' Enable HAL->udev compat: @0@'.format(get_option('hal-compat')), |
1271 |
-+ 'Enable systemd units: @0@'.format(systemd_dep.found()), |
1272 |
-+ 'Enable elogind: @0@'.format(libelogind_dep.found()), |
1273 |
-+ 'Enable TCP Wrappers: @0@'.format(tcpwrap_dep.found()), |
1274 |
-+ 'Enable OpenSSL (for Airtunes): @0@'.format(openssl_dep.found()), |
1275 |
- 'Database: @0@'.format(get_option('database')), |
1276 |
- 'Legacy Database Entry Support: @0@'.format(get_option('legacy-database-entry-format')), |
1277 |
- 'module-stream-restore:', |
1278 |
-@@ -973,6 +996,7 @@ summary = [ |
1279 |
- # 'Force preopen: @0@'.format(${FORCE_PREOPEN}), |
1280 |
- # 'Preopened modules: @0@'.format(${PREOPEN_MODS}), |
1281 |
- ] |
1282 |
-+endif |
1283 |
- |
1284 |
- message('\n '.join(summary)) |
1285 |
- |
1286 |
-@@ -982,38 +1006,38 @@ if get_option('daemon') and not speex_dep.found() and not webrtc_dep.found() and |
1287 |
- error('At least one echo canceller implementation must be available!') |
1288 |
- endif |
1289 |
- |
1290 |
--if samplerate_dep.found() |
1291 |
-+if get_option('daemon') and samplerate_dep.found() |
1292 |
- warning('Support for libsamplerate is DEPRECATED') |
1293 |
- endif |
1294 |
- |
1295 |
--if host_machine.system() != 'windows' |
1296 |
-- if not dbus_dep.found() |
1297 |
-- message = [ |
1298 |
-- 'You do not have D-Bus support enabled. It is strongly recommended', |
1299 |
-- 'that you enable D-Bus support if your platform supports it.', |
1300 |
-- 'Many parts of PulseAudio use D-Bus, from ConsoleKit interaction', |
1301 |
-- 'to the Device Reservation Protocol to speak to JACK, Bluetooth', |
1302 |
-- 'support and even a native control protocol for communicating and', |
1303 |
-- 'controlling the PulseAudio daemon itself.', |
1304 |
-- ] |
1305 |
-- warning('\n' + '\n'.join(message)) |
1306 |
-- endif |
1307 |
-- if host_machine.system() == 'linux' and not udev_dep.found() and get_option('daemon') |
1308 |
-- message = [ |
1309 |
-- 'You do not have udev support enabled. It is strongly recommended', |
1310 |
-- 'that you enable udev support if your platform supports it as it is', |
1311 |
-- 'the primary method used to detect hardware audio devices (on Linux)', |
1312 |
-- 'and is thus a critical part of PulseAudio on that platform.', |
1313 |
-- ] |
1314 |
-- warning('\n' + '\n'.join(message)) |
1315 |
-- endif |
1316 |
-- if not speex_dep.found() and get_option('daemon') |
1317 |
-- message = [ |
1318 |
-- 'You do not have speex support enabled. It is strongly recommended', |
1319 |
-- 'that you enable speex support if your platform supports it as it is', |
1320 |
-- 'the primary method used for audio resampling and is thus a critical', |
1321 |
-- 'part of PulseAudio on that platform.', |
1322 |
-- ] |
1323 |
-- warning('\n' + '\n'.join(message)) |
1324 |
-- endif |
1325 |
-+if host_machine.system() != 'windows' and not dbus_dep.found() |
1326 |
-+ message = [ |
1327 |
-+ 'You do not have D-Bus support enabled. It is strongly recommended', |
1328 |
-+ 'that you enable D-Bus support if your platform supports it.', |
1329 |
-+ 'Many parts of PulseAudio use D-Bus, from ConsoleKit interaction', |
1330 |
-+ 'to the Device Reservation Protocol to speak to JACK, Bluetooth', |
1331 |
-+ 'support and even a native control protocol for communicating and', |
1332 |
-+ 'controlling the PulseAudio daemon itself.', |
1333 |
-+ ] |
1334 |
-+ warning('\n' + '\n'.join(message)) |
1335 |
-+endif |
1336 |
-+ |
1337 |
-+if get_option('daemon') and host_machine.system() == 'linux' and not udev_dep.found() |
1338 |
-+ message = [ |
1339 |
-+ 'You do not have udev support enabled. It is strongly recommended', |
1340 |
-+ 'that you enable udev support if your platform supports it as it is', |
1341 |
-+ 'the primary method used to detect hardware audio devices (on Linux)', |
1342 |
-+ 'and is thus a critical part of PulseAudio on that platform.', |
1343 |
-+ ] |
1344 |
-+ warning('\n' + '\n'.join(message)) |
1345 |
-+endif |
1346 |
-+ |
1347 |
-+if get_option('daemon') and host_machine.system() != 'windows' and not speex_dep.found() |
1348 |
-+ message = [ |
1349 |
-+ 'You do not have speex support enabled. It is strongly recommended', |
1350 |
-+ 'that you enable speex support if your platform supports it as it is', |
1351 |
-+ 'the primary method used for audio resampling and is thus a critical', |
1352 |
-+ 'part of PulseAudio on that platform.', |
1353 |
-+ ] |
1354 |
-+ warning('\n' + '\n'.join(message)) |
1355 |
- endif |
1356 |
-diff --git a/src/meson.build b/src/meson.build |
1357 |
-index f285fdf45..956350afb 100644 |
1358 |
---- a/src/meson.build |
1359 |
-+++ b/src/meson.build |
1360 |
-@@ -190,9 +190,6 @@ if not get_option('client') |
1361 |
- libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) |
1362 |
- libpulse_dep = dependency('libpulse', required : true) |
1363 |
- libpulse_simple_dep = dependency('libpulse-simple', required : true) |
1364 |
-- if glib_dep.found() |
1365 |
-- libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', required : true) |
1366 |
-- endif |
1367 |
- else |
1368 |
- |
1369 |
- libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
1370 |
--- |
1371 |
-2.35.1 |
1372 |
- |
1373 |
- |
1374 |
-From 75e8621ae7d3cd0bf5341def3452ffef6dbce540 Mon Sep 17 00:00:00 2001 |
1375 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
1376 |
-Date: Fri, 5 Nov 2021 00:34:26 +0300 |
1377 |
-Subject: [PATCH 6/8] build-sys: meson: Rearrange shell completion between |
1378 |
- daemon and client |
1379 |
- |
1380 |
-Rename bash completion file to pactl and install it with client build. |
1381 |
-Completions specific to daemon are now just symlinks, create target directory |
1382 |
-first to install them. |
1383 |
- |
1384 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
1385 |
---- |
1386 |
- meson.build | 4 +-- |
1387 |
- shell-completion/bash/meson.build | 28 +++++++++++++-------- |
1388 |
- shell-completion/bash/{pulseaudio => pactl} | 0 |
1389 |
- shell-completion/zsh/meson.build | 6 +++-- |
1390 |
- 4 files changed, 22 insertions(+), 16 deletions(-) |
1391 |
- rename shell-completion/bash/{pulseaudio => pactl} (100%) |
1392 |
- |
1393 |
-diff --git a/meson.build b/meson.build |
1394 |
-index 3afc31c9b..0c4d9689c 100644 |
1395 |
---- a/meson.build |
1396 |
-+++ b/meson.build |
1397 |
-@@ -816,9 +816,7 @@ if get_option('man') |
1398 |
- subdir('man') |
1399 |
- endif |
1400 |
- subdir('shell-completion/bash') |
1401 |
--if get_option('client') |
1402 |
-- subdir('shell-completion/zsh') |
1403 |
--endif |
1404 |
-+subdir('shell-completion/zsh') |
1405 |
- subdir('src') |
1406 |
- if get_option('client') |
1407 |
- subdir('vala') |
1408 |
-diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build |
1409 |
-index 1d5a8cdab..fb406551b 100644 |
1410 |
---- a/shell-completion/bash/meson.build |
1411 |
-+++ b/shell-completion/bash/meson.build |
1412 |
-@@ -3,27 +3,33 @@ if bashcompletiondir != 'no' |
1413 |
- |
1414 |
- if get_option('daemon') |
1415 |
- aliases += [ |
1416 |
-+ 'pulseaudio', |
1417 |
- 'pacmd', |
1418 |
- 'pasuspender', |
1419 |
- ] |
1420 |
-+ |
1421 |
-+ # Create target directory for symlinks |
1422 |
-+ if meson.version().version_compare('>= 0.60.0') |
1423 |
-+ install_emptydir(bashcompletiondir) |
1424 |
-+ else |
1425 |
-+ meson.add_install_script('sh', '-c', 'mkdir -p $DESTDIR@0@'.format(bashcompletiondir)) |
1426 |
-+ endif |
1427 |
- endif |
1428 |
- |
1429 |
- if get_option('client') |
1430 |
-- aliases += [ |
1431 |
-- 'pacat', |
1432 |
-- 'pactl', |
1433 |
-- 'padsp', |
1434 |
-- 'paplay', |
1435 |
-- 'parec', |
1436 |
-- 'parecord', |
1437 |
-- ] |
1438 |
-+ aliases += [ |
1439 |
-+ 'pacat', |
1440 |
-+ 'padsp', |
1441 |
-+ 'paplay', |
1442 |
-+ 'parec', |
1443 |
-+ 'parecord', |
1444 |
-+ ] |
1445 |
-+ install_data('pactl', install_dir : bashcompletiondir) |
1446 |
- endif |
1447 |
- |
1448 |
-- install_data('pulseaudio', install_dir : bashcompletiondir) |
1449 |
-- |
1450 |
- foreach alias : aliases |
1451 |
- dst = join_paths(bashcompletiondir, alias) |
1452 |
-- cmd = 'ln -fs @0@ $DESTDIR@1@'.format('pulseaudio', dst) |
1453 |
-+ cmd = 'ln -fs @0@ $DESTDIR@1@'.format('pactl', dst) |
1454 |
- meson.add_install_script('sh', '-c', cmd) |
1455 |
- endforeach |
1456 |
- endif |
1457 |
-diff --git a/shell-completion/bash/pulseaudio b/shell-completion/bash/pactl |
1458 |
-similarity index 100% |
1459 |
-rename from shell-completion/bash/pulseaudio |
1460 |
-rename to shell-completion/bash/pactl |
1461 |
-diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build |
1462 |
-index 489be569c..3f133b186 100644 |
1463 |
---- a/shell-completion/zsh/meson.build |
1464 |
-+++ b/shell-completion/zsh/meson.build |
1465 |
-@@ -1,3 +1,5 @@ |
1466 |
--if zshcompletiondir != 'no' |
1467 |
-- install_data('_pulseaudio', install_dir : zshcompletiondir) |
1468 |
-+if get_option('client') |
1469 |
-+ if zshcompletiondir != 'no' |
1470 |
-+ install_data('_pulseaudio', install_dir : zshcompletiondir) |
1471 |
-+ endif |
1472 |
- endif |
1473 |
--- |
1474 |
-2.35.1 |
1475 |
- |
1476 |
- |
1477 |
-From 748451220c5c9dbf7110071167b830ba43eea2f0 Mon Sep 17 00:00:00 2001 |
1478 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
1479 |
-Date: Fri, 5 Nov 2021 01:52:38 +0300 |
1480 |
-Subject: [PATCH 7/8] build-sys: meson: Fix indentation in daemon/client blocks |
1481 |
- |
1482 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
1483 |
---- |
1484 |
- man/meson.build | 28 +++---- |
1485 |
- meson.build | 110 ++++++++++++++-------------- |
1486 |
- src/meson.build | 35 +++++---- |
1487 |
- src/utils/meson.build | 166 +++++++++++++++++++++--------------------- |
1488 |
- 4 files changed, 169 insertions(+), 170 deletions(-) |
1489 |
- |
1490 |
-diff --git a/man/meson.build b/man/meson.build |
1491 |
-index 9b42c2a69..d72b3cf96 100644 |
1492 |
---- a/man/meson.build |
1493 |
-+++ b/man/meson.build |
1494 |
-@@ -15,23 +15,23 @@ if get_option('daemon') |
1495 |
- endif |
1496 |
- |
1497 |
- if get_option('client') |
1498 |
--manpages += [ |
1499 |
-- ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], |
1500 |
-- ['pactl', '1'], |
1501 |
-- ['pulse-client.conf', '5'], |
1502 |
--] |
1503 |
-- |
1504 |
--if cdata.has('HAVE_OSS_WRAPPER') |
1505 |
- manpages += [ |
1506 |
-- ['padsp', '1'], |
1507 |
-+ ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], |
1508 |
-+ ['pactl', '1'], |
1509 |
-+ ['pulse-client.conf', '5'], |
1510 |
- ] |
1511 |
--endif |
1512 |
- |
1513 |
--if x11_dep.found() |
1514 |
-- manpages += [ |
1515 |
-- ['pax11publish', '1'], |
1516 |
-- ] |
1517 |
--endif |
1518 |
-+ if cdata.has('HAVE_OSS_WRAPPER') |
1519 |
-+ manpages += [ |
1520 |
-+ ['padsp', '1'], |
1521 |
-+ ] |
1522 |
-+ endif |
1523 |
-+ |
1524 |
-+ if x11_dep.found() |
1525 |
-+ manpages += [ |
1526 |
-+ ['pax11publish', '1'], |
1527 |
-+ ] |
1528 |
-+ endif |
1529 |
- endif |
1530 |
- |
1531 |
- # FIXME: Add esdcompat if HAVE_ESOUND |
1532 |
-diff --git a/meson.build b/meson.build |
1533 |
-index 0c4d9689c..178e0cae8 100644 |
1534 |
---- a/meson.build |
1535 |
-+++ b/meson.build |
1536 |
-@@ -827,69 +827,69 @@ configure_file(output : 'config.h', configuration : cdata) |
1537 |
- |
1538 |
- if get_option('client') |
1539 |
- |
1540 |
--# pkg-config files |
1541 |
-- |
1542 |
--pc_cdata = configuration_data() |
1543 |
-- |
1544 |
--pc_cdata.set('prefix', prefix) |
1545 |
--pc_cdata.set('exec_prefix', prefix) |
1546 |
--pc_cdata.set('libdir', libdir) |
1547 |
--pc_cdata.set('includedir', includedir) |
1548 |
--pc_cdata.set('modlibexecdir', modlibexecdir) |
1549 |
--pc_cdata.set('PACKAGE_VERSION', pa_version_str) |
1550 |
--pc_cdata.set('PA_MAJORMINOR', pa_version_major_minor) |
1551 |
--# FIXME: the line below is wrong. Currently the meson thread dep lacks documentation, |
1552 |
--# and doesn't allow introspection, ie. none of get_pkgconfig_variable() or |
1553 |
--# get_configtool_variable() work with it, so we have no way to get this flag right, |
1554 |
--# unless we do all the work ourselves. See current work in glib, also meson #553. |
1555 |
--pc_cdata.set('PTHREAD_LIBS', '-pthread') |
1556 |
-- |
1557 |
--pc_files = [ |
1558 |
-- 'libpulse.pc', |
1559 |
-- 'libpulse-simple.pc', |
1560 |
--] |
1561 |
-+ # pkg-config files |
1562 |
-+ |
1563 |
-+ pc_cdata = configuration_data() |
1564 |
-+ |
1565 |
-+ pc_cdata.set('prefix', prefix) |
1566 |
-+ pc_cdata.set('exec_prefix', prefix) |
1567 |
-+ pc_cdata.set('libdir', libdir) |
1568 |
-+ pc_cdata.set('includedir', includedir) |
1569 |
-+ pc_cdata.set('modlibexecdir', modlibexecdir) |
1570 |
-+ pc_cdata.set('PACKAGE_VERSION', pa_version_str) |
1571 |
-+ pc_cdata.set('PA_MAJORMINOR', pa_version_major_minor) |
1572 |
-+ # FIXME: the line below is wrong. Currently the meson thread dep lacks documentation, |
1573 |
-+ # and doesn't allow introspection, ie. none of get_pkgconfig_variable() or |
1574 |
-+ # get_configtool_variable() work with it, so we have no way to get this flag right, |
1575 |
-+ # unless we do all the work ourselves. See current work in glib, also meson #553. |
1576 |
-+ pc_cdata.set('PTHREAD_LIBS', '-pthread') |
1577 |
-+ |
1578 |
-+ pc_files = [ |
1579 |
-+ 'libpulse.pc', |
1580 |
-+ 'libpulse-simple.pc', |
1581 |
-+ ] |
1582 |
- |
1583 |
--if glib_dep.found() |
1584 |
-- pc_files += 'libpulse-mainloop-glib.pc' |
1585 |
--endif |
1586 |
-+ if glib_dep.found() |
1587 |
-+ pc_files += 'libpulse-mainloop-glib.pc' |
1588 |
-+ endif |
1589 |
- |
1590 |
--foreach file : pc_files |
1591 |
-- configure_file( |
1592 |
-- input : file + '.in', |
1593 |
-- output : file, |
1594 |
-- configuration : pc_cdata, |
1595 |
-- install_dir : pkgconfigdir) |
1596 |
--endforeach |
1597 |
-+ foreach file : pc_files |
1598 |
-+ configure_file( |
1599 |
-+ input : file + '.in', |
1600 |
-+ output : file, |
1601 |
-+ configuration : pc_cdata, |
1602 |
-+ install_dir : pkgconfigdir) |
1603 |
-+ endforeach |
1604 |
- |
1605 |
--# CMake files |
1606 |
-+ # CMake files |
1607 |
- |
1608 |
--m4 = find_program('m4', required: true) |
1609 |
-+ m4 = find_program('m4', required: true) |
1610 |
- |
1611 |
--cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') |
1612 |
-+ cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') |
1613 |
- |
1614 |
--cmake_template_file = configure_file( |
1615 |
-- input : 'PulseAudioConfig.cmake.in', |
1616 |
-- output : 'PulseAudioConfig.cmake.tmp', |
1617 |
-- configuration: cdata, |
1618 |
--) |
1619 |
-+ cmake_template_file = configure_file( |
1620 |
-+ input : 'PulseAudioConfig.cmake.in', |
1621 |
-+ output : 'PulseAudioConfig.cmake.tmp', |
1622 |
-+ configuration: cdata, |
1623 |
-+ ) |
1624 |
- |
1625 |
--custom_target('PulseAudioConfig.cmake', |
1626 |
-- input : cmake_template_file, |
1627 |
-- output : 'PulseAudioConfig.cmake', |
1628 |
-- capture : true, |
1629 |
-- command : [m4, '@INPUT@'], |
1630 |
-- build_by_default : true, |
1631 |
-- install : true, |
1632 |
-- install_dir : cmakedir, |
1633 |
--) |
1634 |
-+ custom_target('PulseAudioConfig.cmake', |
1635 |
-+ input : cmake_template_file, |
1636 |
-+ output : 'PulseAudioConfig.cmake', |
1637 |
-+ capture : true, |
1638 |
-+ command : [m4, '@INPUT@'], |
1639 |
-+ build_by_default : true, |
1640 |
-+ install : true, |
1641 |
-+ install_dir : cmakedir, |
1642 |
-+ ) |
1643 |
- |
1644 |
--configure_file( |
1645 |
-- input : 'PulseAudioConfigVersion.cmake.in', |
1646 |
-- output : 'PulseAudioConfigVersion.cmake', |
1647 |
-- configuration: cdata, |
1648 |
-- install : true, |
1649 |
-- install_dir : cmakedir, |
1650 |
--) |
1651 |
-+ configure_file( |
1652 |
-+ input : 'PulseAudioConfigVersion.cmake.in', |
1653 |
-+ output : 'PulseAudioConfigVersion.cmake', |
1654 |
-+ configuration: cdata, |
1655 |
-+ install : true, |
1656 |
-+ install_dir : cmakedir, |
1657 |
-+ ) |
1658 |
- |
1659 |
- endif # client |
1660 |
- |
1661 |
-diff --git a/src/meson.build b/src/meson.build |
1662 |
-index 956350afb..f191d7f0e 100644 |
1663 |
---- a/src/meson.build |
1664 |
-+++ b/src/meson.build |
1665 |
-@@ -191,26 +191,25 @@ if not get_option('client') |
1666 |
- libpulse_dep = dependency('libpulse', required : true) |
1667 |
- libpulse_simple_dep = dependency('libpulse-simple', required : true) |
1668 |
- else |
1669 |
-+ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
1670 |
-+ libpulsecommon_sources, |
1671 |
-+ libpulsecommon_headers, |
1672 |
-+ include_directories : [configinc, topinc], |
1673 |
-+ c_args : [pa_c_args], |
1674 |
-+ link_args : [nodelete_link_args], |
1675 |
-+ install : true, |
1676 |
-+ install_dir : privlibdir, |
1677 |
-+ dependencies : [ |
1678 |
-+ libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep, |
1679 |
-+ x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true), |
1680 |
-+ gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep, |
1681 |
-+ platform_dep, platform_socket_dep, execinfo_dep, |
1682 |
-+ ], |
1683 |
-+ implicit_include_directories : false) |
1684 |
- |
1685 |
--libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
1686 |
-- libpulsecommon_sources, |
1687 |
-- libpulsecommon_headers, |
1688 |
-- include_directories : [configinc, topinc], |
1689 |
-- c_args : [pa_c_args], |
1690 |
-- link_args : [nodelete_link_args], |
1691 |
-- install : true, |
1692 |
-- install_dir : privlibdir, |
1693 |
-- dependencies : [ |
1694 |
-- libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep, |
1695 |
-- x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true), |
1696 |
-- gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep, |
1697 |
-- platform_dep, platform_socket_dep, execinfo_dep, |
1698 |
-- ], |
1699 |
-- implicit_include_directories : false) |
1700 |
-+ libpulsecommon_dep = declare_dependency(link_with: libpulsecommon) |
1701 |
- |
1702 |
--libpulsecommon_dep = declare_dependency(link_with: libpulsecommon) |
1703 |
-- |
1704 |
--subdir('pulse') |
1705 |
-+ subdir('pulse') |
1706 |
- endif |
1707 |
- |
1708 |
- if get_option('daemon') |
1709 |
-diff --git a/src/utils/meson.build b/src/utils/meson.build |
1710 |
-index f67cff4a9..28e1fc10a 100644 |
1711 |
---- a/src/utils/meson.build |
1712 |
-+++ b/src/utils/meson.build |
1713 |
-@@ -1,47 +1,47 @@ |
1714 |
- if get_option('client') |
1715 |
--pacat_sources = [ |
1716 |
-- 'pacat.c', |
1717 |
--] |
1718 |
-- |
1719 |
--pacat_aliases = [ |
1720 |
-- 'pamon', |
1721 |
-- 'paplay', |
1722 |
-- 'parec', |
1723 |
-- 'parecord', |
1724 |
--] |
1725 |
-- |
1726 |
--executable('pacat', |
1727 |
-- pacat_sources, |
1728 |
-- install: true, |
1729 |
-- install_rpath : privlibdir, |
1730 |
-- include_directories : [configinc, topinc], |
1731 |
-- link_with : [libpulsecommon, libpulse], |
1732 |
-- dependencies : [sndfile_dep, libintl_dep], |
1733 |
-- c_args : pa_c_args, |
1734 |
--) |
1735 |
-- |
1736 |
--# Windows doesn't support symbolic links. |
1737 |
--if host_machine.system() != 'windows' |
1738 |
-- foreach alias : pacat_aliases |
1739 |
-- dst = join_paths(bindir, alias) |
1740 |
-- cmd = 'ln -fs @0@ $DESTDIR@1@'.format('pacat', dst) |
1741 |
-- meson.add_install_script('sh', '-c', cmd) |
1742 |
-- endforeach |
1743 |
--endif |
1744 |
-+ pacat_sources = [ |
1745 |
-+ 'pacat.c', |
1746 |
-+ ] |
1747 |
-+ |
1748 |
-+ pacat_aliases = [ |
1749 |
-+ 'pamon', |
1750 |
-+ 'paplay', |
1751 |
-+ 'parec', |
1752 |
-+ 'parecord', |
1753 |
-+ ] |
1754 |
-+ |
1755 |
-+ executable('pacat', |
1756 |
-+ pacat_sources, |
1757 |
-+ install: true, |
1758 |
-+ install_rpath : privlibdir, |
1759 |
-+ include_directories : [configinc, topinc], |
1760 |
-+ link_with : [libpulsecommon, libpulse], |
1761 |
-+ dependencies : [sndfile_dep, libintl_dep], |
1762 |
-+ c_args : pa_c_args, |
1763 |
-+ ) |
1764 |
-+ |
1765 |
-+ # Windows doesn't support symbolic links. |
1766 |
-+ if host_machine.system() != 'windows' |
1767 |
-+ foreach alias : pacat_aliases |
1768 |
-+ dst = join_paths(bindir, alias) |
1769 |
-+ cmd = 'ln -fs @0@ $DESTDIR@1@'.format('pacat', dst) |
1770 |
-+ meson.add_install_script('sh', '-c', cmd) |
1771 |
-+ endforeach |
1772 |
-+ endif |
1773 |
- |
1774 |
--pactl_sources = [ |
1775 |
-- 'pactl.c', |
1776 |
--] |
1777 |
-- |
1778 |
--executable('pactl', |
1779 |
-- pactl_sources, |
1780 |
-- install: true, |
1781 |
-- install_rpath : privlibdir, |
1782 |
-- include_directories : [configinc, topinc], |
1783 |
-- link_with : [libpulsecommon, libpulse], |
1784 |
-- dependencies : [sndfile_dep, libintl_dep], |
1785 |
-- c_args : pa_c_args, |
1786 |
--) |
1787 |
-+ pactl_sources = [ |
1788 |
-+ 'pactl.c', |
1789 |
-+ ] |
1790 |
-+ |
1791 |
-+ executable('pactl', |
1792 |
-+ pactl_sources, |
1793 |
-+ install: true, |
1794 |
-+ install_rpath : privlibdir, |
1795 |
-+ include_directories : [configinc, topinc], |
1796 |
-+ link_with : [libpulsecommon, libpulse], |
1797 |
-+ dependencies : [sndfile_dep, libintl_dep], |
1798 |
-+ c_args : pa_c_args, |
1799 |
-+ ) |
1800 |
- endif |
1801 |
- |
1802 |
- if get_option('daemon') |
1803 |
-@@ -75,51 +75,51 @@ if get_option('daemon') |
1804 |
- endif |
1805 |
- |
1806 |
- if get_option('client') |
1807 |
--if x11_dep.found() |
1808 |
-- pax11publish_sources = [ |
1809 |
-- 'pax11publish.c', |
1810 |
-- ] |
1811 |
-+ if x11_dep.found() |
1812 |
-+ pax11publish_sources = [ |
1813 |
-+ 'pax11publish.c', |
1814 |
-+ ] |
1815 |
- |
1816 |
-- executable('pax11publish', |
1817 |
-- pax11publish_sources, |
1818 |
-- install: true, |
1819 |
-- install_rpath : privlibdir, |
1820 |
-- include_directories : [configinc, topinc], |
1821 |
-- link_with : [libpulsecommon, libpulse], |
1822 |
-- dependencies : [x11_dep, libintl_dep], |
1823 |
-- c_args : pa_c_args, |
1824 |
-- ) |
1825 |
--endif |
1826 |
-+ executable('pax11publish', |
1827 |
-+ pax11publish_sources, |
1828 |
-+ install: true, |
1829 |
-+ install_rpath : privlibdir, |
1830 |
-+ include_directories : [configinc, topinc], |
1831 |
-+ link_with : [libpulsecommon, libpulse], |
1832 |
-+ dependencies : [x11_dep, libintl_dep], |
1833 |
-+ c_args : pa_c_args, |
1834 |
-+ ) |
1835 |
-+ endif |
1836 |
- |
1837 |
--if cdata.has('HAVE_OSS_WRAPPER') |
1838 |
-- libpulsecommon_sources = [ |
1839 |
-- 'padsp.c', |
1840 |
-- ] |
1841 |
-+ if cdata.has('HAVE_OSS_WRAPPER') |
1842 |
-+ libpulsecommon_sources = [ |
1843 |
-+ 'padsp.c', |
1844 |
-+ ] |
1845 |
- |
1846 |
-- libpulsedsp = shared_library('pulsedsp', |
1847 |
-- libpulsecommon_sources, |
1848 |
-- install: true, |
1849 |
-- install_dir : padsplibdir, |
1850 |
-- install_rpath : privlibdir, |
1851 |
-- include_directories : [configinc, topinc], |
1852 |
-- link_with : [libpulsecommon, libpulse], |
1853 |
-- link_args : [nodelete_link_args], |
1854 |
-- dependencies: [thread_dep, dl_dep], |
1855 |
-- c_args : [pa_c_args, '-Wno-nonnull-compare'] |
1856 |
-- ) |
1857 |
-+ libpulsedsp = shared_library('pulsedsp', |
1858 |
-+ libpulsecommon_sources, |
1859 |
-+ install: true, |
1860 |
-+ install_dir : padsplibdir, |
1861 |
-+ install_rpath : privlibdir, |
1862 |
-+ include_directories : [configinc, topinc], |
1863 |
-+ link_with : [libpulsecommon, libpulse], |
1864 |
-+ link_args : [nodelete_link_args], |
1865 |
-+ dependencies: [thread_dep, dl_dep], |
1866 |
-+ c_args : [pa_c_args, '-Wno-nonnull-compare'] |
1867 |
-+ ) |
1868 |
- |
1869 |
-- configure_file( |
1870 |
-- input : 'padsp.in', |
1871 |
-- output : 'padsp', |
1872 |
-- configuration : cdata, |
1873 |
-- install : true, |
1874 |
-- install_dir : bindir, |
1875 |
-- ) |
1876 |
--endif |
1877 |
-+ configure_file( |
1878 |
-+ input : 'padsp.in', |
1879 |
-+ output : 'padsp', |
1880 |
-+ configuration : cdata, |
1881 |
-+ install : true, |
1882 |
-+ install_dir : bindir, |
1883 |
-+ ) |
1884 |
-+ endif |
1885 |
- |
1886 |
--if dbus_dep.found() and fftw_dep.found() |
1887 |
-- install_data('qpaeq', install_dir : bindir) |
1888 |
--endif |
1889 |
-+ if dbus_dep.found() and fftw_dep.found() |
1890 |
-+ install_data('qpaeq', install_dir : bindir) |
1891 |
-+ endif |
1892 |
- |
1893 |
--install_data('pa-info', install_dir : bindir) |
1894 |
-+ install_data('pa-info', install_dir : bindir) |
1895 |
- endif |
1896 |
--- |
1897 |
-2.35.1 |
1898 |
- |
1899 |
- |
1900 |
-From 18a81ce6f15e3fd07ed2369f506b342f90c1908a Mon Sep 17 00:00:00 2001 |
1901 |
-From: "Igor V. Kovalenko" <igor.v.kovalenko@×××××.com> |
1902 |
-Date: Thu, 11 Nov 2021 01:44:30 +0300 |
1903 |
-Subject: [PATCH 8/8] build-sys: meson: Make glib and fftw common dependencies |
1904 |
- |
1905 |
-GSettings module (daemon) requires both gio and glib, move glib to common block. |
1906 |
-qpaeq requires fftw, move fftw to common block. |
1907 |
- |
1908 |
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659> |
1909 |
---- |
1910 |
- meson.build | 26 +++++++++++++------------- |
1911 |
- src/modules/gsettings/meson.build | 2 +- |
1912 |
- src/modules/meson.build | 2 +- |
1913 |
- 3 files changed, 15 insertions(+), 15 deletions(-) |
1914 |
- |
1915 |
-diff --git a/meson.build b/meson.build |
1916 |
-index 178e0cae8..bb829eabc 100644 |
1917 |
---- a/meson.build |
1918 |
-+++ b/meson.build |
1919 |
-@@ -579,6 +579,12 @@ if dbus_dep.found() |
1920 |
- cdata.set('HAVE_DBUS', 1) |
1921 |
- endif |
1922 |
- |
1923 |
-+glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) |
1924 |
-+if glib_dep.found() |
1925 |
-+ cdata.set('HAVE_GLIB', 1) |
1926 |
-+ cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation |
1927 |
-+endif |
1928 |
-+ |
1929 |
- sndfile_dep = dependency('sndfile', version : '>= 1.0.20') |
1930 |
- |
1931 |
- libsystemd_dep = dependency('libsystemd', required : get_option('systemd')) |
1932 |
-@@ -599,6 +605,11 @@ if cc.has_header('sys/soundcard.h', required: get_option('oss-output')) |
1933 |
- cdata.set('PULSEDSP_LOCATION', pulsedsp_location) |
1934 |
- endif |
1935 |
- |
1936 |
-+fftw_dep = dependency('fftw3f', required : get_option('fftw')) |
1937 |
-+if fftw_dep.found() |
1938 |
-+ cdata.set('HAVE_FFTW', 1) |
1939 |
-+endif |
1940 |
-+ |
1941 |
- # Client library dependencies |
1942 |
- |
1943 |
- if get_option('client') |
1944 |
-@@ -607,12 +618,6 @@ if get_option('client') |
1945 |
- cdata.set('HAVE_LIBASYNCNS', 1) |
1946 |
- endif |
1947 |
- |
1948 |
-- glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) |
1949 |
-- if glib_dep.found() |
1950 |
-- cdata.set('HAVE_GLIB', 1) |
1951 |
-- cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation |
1952 |
-- endif |
1953 |
-- |
1954 |
- gtk_dep = dependency('gtk+-3.0', required : get_option('gtk')) |
1955 |
- if gtk_dep.found() |
1956 |
- cdata.set('HAVE_GTK', 1) |
1957 |
-@@ -747,11 +752,6 @@ if get_option('daemon') |
1958 |
- endif |
1959 |
- endif |
1960 |
- |
1961 |
-- fftw_dep = dependency('fftw3f', required : get_option('fftw')) |
1962 |
-- if fftw_dep.found() |
1963 |
-- cdata.set('HAVE_FFTW', 1) |
1964 |
-- endif |
1965 |
-- |
1966 |
- jack_dep = dependency('jack', version : '>= 0.117.0', required : get_option('jack')) |
1967 |
- if jack_dep.found() |
1968 |
- cdata.set('HAVE_JACK', 1) |
1969 |
-@@ -927,7 +927,9 @@ summary = [ |
1970 |
- 'Enable memfd shared memory: @0@'.format(cdata.has('HAVE_MEMFD')), |
1971 |
- 'Enable X11: @0@'.format(x11_dep.found()), |
1972 |
- 'Enable D-Bus: @0@'.format(dbus_dep.found()), |
1973 |
-+ 'Enable GLib 2: @0@'.format(glib_dep.found()), |
1974 |
- 'Enable systemd integration: @0@'.format(libsystemd_dep.found()), |
1975 |
-+ 'Enable FFTW: @0@'.format(fftw_dep.found()), |
1976 |
- 'Enable IPv6: @0@'.format(get_option('ipv6')), |
1977 |
- 'Enable Gcov coverage: @0@'.format(get_option('gcov')), |
1978 |
- 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), |
1979 |
-@@ -940,7 +942,6 @@ summary += [ |
1980 |
- '', |
1981 |
- '--- Pulseaudio client features ---', |
1982 |
- '', |
1983 |
-- 'Enable GLib 2: @0@'.format(glib_dep.found()), |
1984 |
- 'Enable Gtk+ 3: @0@'.format(gtk_dep.found()), |
1985 |
- 'Enable Async DNS: @0@'.format(asyncns_dep.found()), |
1986 |
- 'Enable OSS Wrapper: @0@'.format(cdata.has('HAVE_OSS_WRAPPER')), |
1987 |
-@@ -969,7 +970,6 @@ summary += [ |
1988 |
- ' Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), |
1989 |
- 'Enable GStreamer: @0@'.format(have_gstreamer), |
1990 |
- 'Enable libsamplerate: @0@'.format(samplerate_dep.found()), |
1991 |
-- 'Enable FFTW: @0@'.format(fftw_dep.found()), |
1992 |
- 'Enable ORC: @0@'.format(have_orcc), |
1993 |
- 'Enable Adrian echo canceller: @0@'.format(get_option('adrian-aec')), |
1994 |
- 'Enable Speex (resampler, AEC): @0@'.format(speex_dep.found()), |
1995 |
-diff --git a/src/modules/gsettings/meson.build b/src/modules/gsettings/meson.build |
1996 |
-index 9604699e7..32177e3ec 100644 |
1997 |
---- a/src/modules/gsettings/meson.build |
1998 |
-+++ b/src/modules/gsettings/meson.build |
1999 |
-@@ -8,7 +8,7 @@ gsettings_helper = executable('gsettings-helper', |
2000 |
- gsettings_helper_sources, |
2001 |
- c_args : pa_c_args, |
2002 |
- include_directories : [configinc, topinc], |
2003 |
-- dependencies : [gio_dep, libpulsecommon_dep, libpulse_dep], |
2004 |
-+ dependencies : [gio_dep, glib_dep, libpulsecommon_dep, libpulse_dep], |
2005 |
- install_dir : pulselibexecdir, |
2006 |
- install_rpath : privlibdir, |
2007 |
- install : true, |
2008 |
-diff --git a/src/modules/meson.build b/src/modules/meson.build |
2009 |
-index be72c3b9b..ccc06d001 100644 |
2010 |
---- a/src/modules/meson.build |
2011 |
-+++ b/src/modules/meson.build |
2012 |
-@@ -161,7 +161,7 @@ if dbus_dep.found() and fftw_dep.found() |
2013 |
- ] |
2014 |
- endif |
2015 |
- |
2016 |
--if get_option('gsettings').enabled() and gio_dep.found() |
2017 |
-+if get_option('gsettings').enabled() and glib_dep.found() and gio_dep.found() |
2018 |
- subdir('gsettings') |
2019 |
- all_modules += [ |
2020 |
- [ 'module-gsettings', |
2021 |
--- |
2022 |
-2.35.1 |
2023 |
- |
2024 |
|
2025 |
diff --git a/media-libs/libpulse/files/pulseaudio-15.0-move-systemd-socket-activation-code.patch b/media-libs/libpulse/files/pulseaudio-15.0-move-systemd-socket-activation-code.patch |
2026 |
deleted file mode 100644 |
2027 |
index 51f1314c9b34..000000000000 |
2028 |
--- a/media-libs/libpulse/files/pulseaudio-15.0-move-systemd-socket-activation-code.patch |
2029 |
+++ /dev/null |
2030 |
@@ -1,284 +0,0 @@ |
2031 |
-commit 733969ac1917f02923e2a5869a8e14a582e0ba2e |
2032 |
-Author: Igor V. Kovalenko <igor.v.kovalenko@×××××.com> |
2033 |
-Date: Sat Sep 25 13:22:09 2021 +0300 |
2034 |
- |
2035 |
- socket-server: Move systemd socket activation code to pulsecore |
2036 |
- |
2037 |
- There is no need to support server sockets in client library. Move all related |
2038 |
- code and tcp-wrappers dependency to pulsecore library. |
2039 |
- |
2040 |
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/640> |
2041 |
- |
2042 |
-diff --git a/src/meson.build b/src/meson.build |
2043 |
-index e2860811b..59a9b16bf 100644 |
2044 |
---- a/src/meson.build |
2045 |
-+++ b/src/meson.build |
2046 |
-@@ -57,7 +57,6 @@ libpulsecommon_sources = [ |
2047 |
- 'pulsecore/shm.c', |
2048 |
- 'pulsecore/bitset.c', |
2049 |
- 'pulsecore/socket-client.c', |
2050 |
-- 'pulsecore/socket-server.c', |
2051 |
- 'pulsecore/socket-util.c', |
2052 |
- 'pulsecore/strbuf.c', |
2053 |
- 'pulsecore/strlist.c', |
2054 |
-@@ -136,7 +135,6 @@ libpulsecommon_headers = [ |
2055 |
- 'pulsecore/shm.h', |
2056 |
- 'pulsecore/bitset.h', |
2057 |
- 'pulsecore/socket-client.h', |
2058 |
-- 'pulsecore/socket-server.h', |
2059 |
- 'pulsecore/socket-util.h', |
2060 |
- 'pulsecore/strbuf.h', |
2061 |
- 'pulsecore/strlist.h', |
2062 |
-@@ -200,7 +198,7 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, |
2063 |
- libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep, |
2064 |
- x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true), |
2065 |
- gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep, |
2066 |
-- platform_dep, tcpwrap_dep, platform_socket_dep, execinfo_dep, |
2067 |
-+ platform_dep, platform_socket_dep, execinfo_dep, |
2068 |
- ], |
2069 |
- implicit_include_directories : false) |
2070 |
- |
2071 |
-diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build |
2072 |
-index d7f9ef2cf..b30264b3a 100644 |
2073 |
---- a/src/pulsecore/meson.build |
2074 |
-+++ b/src/pulsecore/meson.build |
2075 |
-@@ -44,6 +44,7 @@ libpulsecore_sources = [ |
2076 |
- 'sink.c', |
2077 |
- 'sink-input.c', |
2078 |
- 'sioman.c', |
2079 |
-+ 'socket-server.c', |
2080 |
- 'sound-file-stream.c', |
2081 |
- 'sound-file.c', |
2082 |
- 'source.c', |
2083 |
-@@ -101,6 +102,7 @@ libpulsecore_headers = [ |
2084 |
- 'sink-input.h', |
2085 |
- 'sink.h', |
2086 |
- 'sioman.h', |
2087 |
-+ 'socket-server.h', |
2088 |
- 'sound-file-stream.h', |
2089 |
- 'sound-file.h', |
2090 |
- 'source-output.h', |
2091 |
-@@ -222,7 +224,7 @@ libpulsecore = shared_library('pulsecore-' + pa_version_major_minor, |
2092 |
- install_rpath : privlibdir, |
2093 |
- install_dir : privlibdir, |
2094 |
- link_with : libpulsecore_simd_lib, |
2095 |
-- dependencies : [libm_dep, libpulsecommon_dep, ltdl_dep, shm_dep, sndfile_dep, database_dep, dbus_dep, libatomic_ops_dep, orc_dep, samplerate_dep, soxr_dep, speex_dep, x11_dep, libintl_dep, platform_dep, platform_socket_dep,], |
2096 |
-+ dependencies : [libm_dep, libpulsecommon_dep, ltdl_dep, shm_dep, sndfile_dep, database_dep, dbus_dep, libatomic_ops_dep, orc_dep, samplerate_dep, soxr_dep, speex_dep, x11_dep, libsystemd_dep, libintl_dep, platform_dep, tcpwrap_dep, platform_socket_dep,], |
2097 |
- implicit_include_directories : false) |
2098 |
- |
2099 |
- libpulsecore_dep = declare_dependency(link_with: libpulsecore) |
2100 |
-diff --git a/src/pulsecore/socket-server.c b/src/pulsecore/socket-server.c |
2101 |
-index 13d8a99f7..b13012b6d 100644 |
2102 |
---- a/src/pulsecore/socket-server.c |
2103 |
-+++ b/src/pulsecore/socket-server.c |
2104 |
-@@ -642,3 +642,83 @@ char *pa_socket_server_get_address(pa_socket_server *s, char *c, size_t l) { |
2105 |
- return NULL; |
2106 |
- } |
2107 |
- } |
2108 |
-+ |
2109 |
-+#ifdef HAVE_SYS_UN_H |
2110 |
-+ |
2111 |
-+int pa_unix_socket_is_stale(const char *fn) { |
2112 |
-+ struct sockaddr_un sa; |
2113 |
-+ int fd = -1, ret = -1; |
2114 |
-+ |
2115 |
-+ pa_assert(fn); |
2116 |
-+ |
2117 |
-+ if ((fd = pa_socket_cloexec(PF_UNIX, SOCK_STREAM, 0)) < 0) { |
2118 |
-+ pa_log("socket(): %s", pa_cstrerror(errno)); |
2119 |
-+ goto finish; |
2120 |
-+ } |
2121 |
-+ |
2122 |
-+ sa.sun_family = AF_UNIX; |
2123 |
-+ strncpy(sa.sun_path, fn, sizeof(sa.sun_path)-1); |
2124 |
-+ sa.sun_path[sizeof(sa.sun_path) - 1] = 0; |
2125 |
-+ |
2126 |
-+ if (connect(fd, (struct sockaddr*) &sa, sizeof(sa)) < 0) { |
2127 |
-+#if !defined(OS_IS_WIN32) |
2128 |
-+ if (errno == ECONNREFUSED) |
2129 |
-+ ret = 1; |
2130 |
-+#else |
2131 |
-+ if (WSAGetLastError() == WSAECONNREFUSED || WSAGetLastError() == WSAEINVAL) |
2132 |
-+ ret = 1; |
2133 |
-+#endif |
2134 |
-+ } else |
2135 |
-+ ret = 0; |
2136 |
-+ |
2137 |
-+finish: |
2138 |
-+ if (fd >= 0) |
2139 |
-+ pa_close(fd); |
2140 |
-+ |
2141 |
-+ return ret; |
2142 |
-+} |
2143 |
-+ |
2144 |
-+int pa_unix_socket_remove_stale(const char *fn) { |
2145 |
-+ int r; |
2146 |
-+ |
2147 |
-+ pa_assert(fn); |
2148 |
-+ |
2149 |
-+#ifdef HAVE_SYSTEMD_DAEMON |
2150 |
-+ { |
2151 |
-+ int n = sd_listen_fds(0); |
2152 |
-+ if (n > 0) { |
2153 |
-+ for (int i = 0; i < n; ++i) { |
2154 |
-+ if (sd_is_socket_unix(SD_LISTEN_FDS_START + i, SOCK_STREAM, 1, fn, 0) > 0) { |
2155 |
-+ /* This is a socket activated socket, therefore do not consider |
2156 |
-+ * it stale. */ |
2157 |
-+ return 0; |
2158 |
-+ } |
2159 |
-+ } |
2160 |
-+ } |
2161 |
-+ } |
2162 |
-+#endif |
2163 |
-+ |
2164 |
-+ if ((r = pa_unix_socket_is_stale(fn)) < 0) |
2165 |
-+ return errno != ENOENT ? -1 : 0; |
2166 |
-+ |
2167 |
-+ if (!r) |
2168 |
-+ return 0; |
2169 |
-+ |
2170 |
-+ /* Yes, here is a race condition. But who cares? */ |
2171 |
-+ if (unlink(fn) < 0) |
2172 |
-+ return -1; |
2173 |
-+ |
2174 |
-+ return 0; |
2175 |
-+} |
2176 |
-+ |
2177 |
-+#else /* HAVE_SYS_UN_H */ |
2178 |
-+ |
2179 |
-+int pa_unix_socket_is_stale(const char *fn) { |
2180 |
-+ return -1; |
2181 |
-+} |
2182 |
-+ |
2183 |
-+int pa_unix_socket_remove_stale(const char *fn) { |
2184 |
-+ return -1; |
2185 |
-+} |
2186 |
-+ |
2187 |
-+#endif /* HAVE_SYS_UN_H */ |
2188 |
-diff --git a/src/pulsecore/socket-server.h b/src/pulsecore/socket-server.h |
2189 |
-index 0793baf44..b1f093921 100644 |
2190 |
---- a/src/pulsecore/socket-server.h |
2191 |
-+++ b/src/pulsecore/socket-server.h |
2192 |
-@@ -50,4 +50,7 @@ void pa_socket_server_set_callback(pa_socket_server*s, pa_socket_server_on_conne |
2193 |
- |
2194 |
- char *pa_socket_server_get_address(pa_socket_server *s, char *c, size_t l); |
2195 |
- |
2196 |
-+int pa_unix_socket_is_stale(const char *fn); |
2197 |
-+int pa_unix_socket_remove_stale(const char *fn); |
2198 |
-+ |
2199 |
- #endif |
2200 |
-diff --git a/src/pulsecore/socket-util.c b/src/pulsecore/socket-util.c |
2201 |
-index f2c8c3c31..4ede0439e 100644 |
2202 |
---- a/src/pulsecore/socket-util.c |
2203 |
-+++ b/src/pulsecore/socket-util.c |
2204 |
-@@ -50,9 +50,6 @@ |
2205 |
- #ifdef HAVE_NETDB_H |
2206 |
- #include <netdb.h> |
2207 |
- #endif |
2208 |
--#ifdef HAVE_SYSTEMD_DAEMON |
2209 |
--#include <systemd/sd-daemon.h> |
2210 |
--#endif |
2211 |
- |
2212 |
- #include <pulsecore/core-error.h> |
2213 |
- #include <pulsecore/core-util.h> |
2214 |
-@@ -221,86 +218,6 @@ int pa_socket_set_sndbuf(int fd, size_t l) { |
2215 |
- return 0; |
2216 |
- } |
2217 |
- |
2218 |
--#ifdef HAVE_SYS_UN_H |
2219 |
-- |
2220 |
--int pa_unix_socket_is_stale(const char *fn) { |
2221 |
-- struct sockaddr_un sa; |
2222 |
-- int fd = -1, ret = -1; |
2223 |
-- |
2224 |
-- pa_assert(fn); |
2225 |
-- |
2226 |
-- if ((fd = pa_socket_cloexec(PF_UNIX, SOCK_STREAM, 0)) < 0) { |
2227 |
-- pa_log("socket(): %s", pa_cstrerror(errno)); |
2228 |
-- goto finish; |
2229 |
-- } |
2230 |
-- |
2231 |
-- sa.sun_family = AF_UNIX; |
2232 |
-- strncpy(sa.sun_path, fn, sizeof(sa.sun_path)-1); |
2233 |
-- sa.sun_path[sizeof(sa.sun_path) - 1] = 0; |
2234 |
-- |
2235 |
-- if (connect(fd, (struct sockaddr*) &sa, sizeof(sa)) < 0) { |
2236 |
--#if !defined(OS_IS_WIN32) |
2237 |
-- if (errno == ECONNREFUSED) |
2238 |
-- ret = 1; |
2239 |
--#else |
2240 |
-- if (WSAGetLastError() == WSAECONNREFUSED || WSAGetLastError() == WSAEINVAL) |
2241 |
-- ret = 1; |
2242 |
--#endif |
2243 |
-- } else |
2244 |
-- ret = 0; |
2245 |
-- |
2246 |
--finish: |
2247 |
-- if (fd >= 0) |
2248 |
-- pa_close(fd); |
2249 |
-- |
2250 |
-- return ret; |
2251 |
--} |
2252 |
-- |
2253 |
--int pa_unix_socket_remove_stale(const char *fn) { |
2254 |
-- int r; |
2255 |
-- |
2256 |
-- pa_assert(fn); |
2257 |
-- |
2258 |
--#ifdef HAVE_SYSTEMD_DAEMON |
2259 |
-- { |
2260 |
-- int n = sd_listen_fds(0); |
2261 |
-- if (n > 0) { |
2262 |
-- for (int i = 0; i < n; ++i) { |
2263 |
-- if (sd_is_socket_unix(SD_LISTEN_FDS_START + i, SOCK_STREAM, 1, fn, 0) > 0) { |
2264 |
-- /* This is a socket activated socket, therefore do not consider |
2265 |
-- * it stale. */ |
2266 |
-- return 0; |
2267 |
-- } |
2268 |
-- } |
2269 |
-- } |
2270 |
-- } |
2271 |
--#endif |
2272 |
-- |
2273 |
-- if ((r = pa_unix_socket_is_stale(fn)) < 0) |
2274 |
-- return errno != ENOENT ? -1 : 0; |
2275 |
-- |
2276 |
-- if (!r) |
2277 |
-- return 0; |
2278 |
-- |
2279 |
-- /* Yes, here is a race condition. But who cares? */ |
2280 |
-- if (unlink(fn) < 0) |
2281 |
-- return -1; |
2282 |
-- |
2283 |
-- return 0; |
2284 |
--} |
2285 |
-- |
2286 |
--#else /* HAVE_SYS_UN_H */ |
2287 |
-- |
2288 |
--int pa_unix_socket_is_stale(const char *fn) { |
2289 |
-- return -1; |
2290 |
--} |
2291 |
-- |
2292 |
--int pa_unix_socket_remove_stale(const char *fn) { |
2293 |
-- return -1; |
2294 |
--} |
2295 |
-- |
2296 |
--#endif /* HAVE_SYS_UN_H */ |
2297 |
-- |
2298 |
- bool pa_socket_address_is_local(const struct sockaddr *sa) { |
2299 |
- pa_assert(sa); |
2300 |
- |
2301 |
-diff --git a/src/pulsecore/socket-util.h b/src/pulsecore/socket-util.h |
2302 |
-index f12076936..83c730bd9 100644 |
2303 |
---- a/src/pulsecore/socket-util.h |
2304 |
-+++ b/src/pulsecore/socket-util.h |
2305 |
-@@ -35,9 +35,6 @@ void pa_make_udp_socket_low_delay(int fd); |
2306 |
- int pa_socket_set_sndbuf(int fd, size_t l); |
2307 |
- int pa_socket_set_rcvbuf(int fd, size_t l); |
2308 |
- |
2309 |
--int pa_unix_socket_is_stale(const char *fn); |
2310 |
--int pa_unix_socket_remove_stale(const char *fn); |
2311 |
-- |
2312 |
- bool pa_socket_address_is_local(const struct sockaddr *sa); |
2313 |
- bool pa_socket_is_local(int fd); |
2314 |
- |
2315 |
|
2316 |
diff --git a/media-libs/libpulse/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch b/media-libs/libpulse/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch |
2317 |
deleted file mode 100644 |
2318 |
index f3df62031d34..000000000000 |
2319 |
--- a/media-libs/libpulse/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch |
2320 |
+++ /dev/null |
2321 |
@@ -1,25 +0,0 @@ |
2322 |
-https://bugs.gentoo.org/806052 |
2323 |
- |
2324 |
-commit 42af3ee08381faa5807fde68d4c8ec0d7ad5e9a5 |
2325 |
-Author: Igor V. Kovalenko <igor.v.kovalenko@×××××.com> |
2326 |
-Date: Tue Aug 3 09:43:32 2021 +0300 |
2327 |
- |
2328 |
- build-sys: meson: Require xice, xsm and xtst for daemon only |
2329 |
- |
2330 |
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/613> |
2331 |
- |
2332 |
---- a/meson.build |
2333 |
-+++ b/meson.build |
2334 |
-@@ -681,9 +681,9 @@ endif |
2335 |
- x11_dep = dependency('x11-xcb', required : get_option('x11')) |
2336 |
- if x11_dep.found() |
2337 |
- xcb_dep = dependency('xcb', required : true, version : '>= 1.6') |
2338 |
-- ice_dep = dependency('ice', required : true) |
2339 |
-- sm_dep = dependency('sm', required : true) |
2340 |
-- xtst_dep = dependency('xtst', required : true) |
2341 |
-+ ice_dep = dependency('ice', required : get_option('daemon')) |
2342 |
-+ sm_dep = dependency('sm', required : get_option('daemon')) |
2343 |
-+ xtst_dep = dependency('xtst', required : get_option('daemon')) |
2344 |
- cdata.set('HAVE_X11', 1) |
2345 |
- if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) |
2346 |
- cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) |
2347 |
|
2348 |
diff --git a/media-libs/libpulse/libpulse-15.0-r1.ebuild b/media-libs/libpulse/libpulse-15.0-r1.ebuild |
2349 |
index 2457ca28651b..2aeb87d7a189 100644 |
2350 |
--- a/media-libs/libpulse/libpulse-15.0-r1.ebuild |
2351 |
+++ b/media-libs/libpulse/libpulse-15.0-r1.ebuild |
2352 |
@@ -5,7 +5,7 @@ EAPI="7" |
2353 |
|
2354 |
MY_PV="${PV/_pre*}" |
2355 |
MY_P="pulseaudio-${MY_PV}" |
2356 |
- |
2357 |
+MY_PATCHSET="pulseaudio-daemon-15.0-patchset-1" |
2358 |
inherit bash-completion-r1 gnome2-utils meson-multilib optfeature systemd tmpfiles udev |
2359 |
|
2360 |
DESCRIPTION="Libraries for PulseAudio clients" |
2361 |
@@ -17,6 +17,7 @@ if [[ ${PV} = 9999 ]]; then |
2362 |
EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" |
2363 |
else |
2364 |
SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" |
2365 |
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/pulseaudio-daemon/${MY_PATCHSET}.tar.bz2" |
2366 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" |
2367 |
fi |
2368 |
|
2369 |
@@ -73,9 +74,7 @@ DOCS=( NEWS README ) |
2370 |
|
2371 |
# patches merged upstream, to be removed with 16.0 bump |
2372 |
PATCHES=( |
2373 |
- "${FILESDIR}"/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch |
2374 |
- "${FILESDIR}"/pulseaudio-15.0-move-systemd-socket-activation-code.patch |
2375 |
- "${FILESDIR}"/pulseaudio-15.0-daemon-client-split-build.patch |
2376 |
+ "${WORKDIR}"/${MY_PATCHSET}/ |
2377 |
) |
2378 |
|
2379 |
src_prepare() { |