diff options
Diffstat (limited to 'media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch')
-rw-r--r-- | media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch b/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch new file mode 100644 index 000000000000..4d99c1ebe639 --- /dev/null +++ b/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch @@ -0,0 +1,298 @@ +From f4f28cc436a506d1dfbd514968b2976ab31cdf5f Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <mart@leio.tech> +Date: Fri, 24 Sep 2021 15:19:05 +0300 +Subject: [PATCH] build-sys: meson: Allow building the daemon only + +--- + man/meson.build | 2 ++ + meson.build | 23 ++++++++++++++++++++--- + meson_options.txt | 3 +++ + po/meson.build | 3 --- + shell-completion/bash/meson.build | 2 ++ + src/daemon/meson.build | 4 ++-- + src/meson.build | 11 +++++++++++ + src/modules/gsettings/meson.build | 3 +-- + src/tests/meson.build | 9 +++++++-- + src/utils/meson.build | 10 ++++++---- + 10 files changed, 54 insertions(+), 16 deletions(-) + +diff --git a/man/meson.build b/man/meson.build +index 31c581a8f..c12ad5e6a 100644 +--- a/man/meson.build ++++ b/man/meson.build +@@ -14,6 +14,7 @@ if get_option('daemon') + ] + endif + ++if not get_option('daemon-only') + manpages += [ + ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], + ['pactl', '1'], +@@ -31,6 +32,7 @@ if x11_dep.found() + ['pax11publish', '1'], + ] + endif ++endif + + # FIXME: Add esdcompat if HAVE_ESOUND + #manpages += ['esdcompat', '1'], +diff --git a/meson.build b/meson.build +index 63ed62342..420cc6fac 100644 +--- a/meson.build ++++ b/meson.build +@@ -53,6 +53,8 @@ libpulse_mainloop_glib_version = '@0@.@1@.@2@'.format( + libpulse_mainloop_glib_version_info[1], + ) + ++i18n = import('i18n') ++ + # Paths + + prefix = get_option('prefix') +@@ -68,6 +70,7 @@ localedir = join_paths(prefix, get_option('localedir')) + localstatedir = join_paths(prefix, get_option('localstatedir')) + sysconfdir = join_paths(prefix, get_option('sysconfdir')) + privlibdir = join_paths(libdir, 'pulseaudio') ++po_dir = join_paths(meson.current_source_dir(), 'po') + + if host_machine.system() == 'windows' + # Windows only supports loading libraries from the same dir as the executable +@@ -796,20 +799,28 @@ check_dep = dependency('check', version : '>= 0.9.10', required : get_option('te + if get_option('doxygen') + subdir('doxygen') + endif +-subdir('po') ++if not get_option('daemon-only') ++ subdir('po') ++endif + if get_option('man') + subdir('man') + endif + subdir('shell-completion/bash') +-subdir('shell-completion/zsh') ++if not get_option('daemon-only') ++ subdir('shell-completion/zsh') ++endif + subdir('src') +-subdir('vala') ++if not get_option('daemon-only') ++ subdir('vala') ++endif + + # Now generate config.h from everything above + configure_file(output : 'config.h', configuration : cdata) + + # pkg-config files + ++if not get_option('daemon-only') ++ + pc_cdata = configuration_data() + + pc_cdata.set('prefix', prefix) +@@ -842,8 +853,12 @@ foreach file : pc_files + install_dir : pkgconfigdir) + endforeach + ++endif # !daemon-only ++ + # CMake files + ++if not get_option('daemon-only') ++ + m4 = find_program('m4', required: true) + + cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') +@@ -872,6 +887,8 @@ configure_file( + install_dir : cmakedir, + ) + ++endif # !daemon-only ++ + ############################################################ + + # Final summary +diff --git a/meson_options.txt b/meson_options.txt +index bb41a42a7..62828ac5c 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,9 @@ + option('daemon', + type : 'boolean', value : true, + description : 'Enable building and installation of pulseaudio daemon and supporting configuration files') ++option('daemon-only', ++ type : 'boolean', value : false, ++ description : 'Build and install only the pulseaudio daemon and supporting configuration files, relying on a system installation of libpulse') + option('doxygen', + type : 'boolean', value : true, + description : 'Enable building and installation of documentation generated with doxygen') +diff --git a/po/meson.build b/po/meson.build +index 34278db47..33429373c 100644 +--- a/po/meson.build ++++ b/po/meson.build +@@ -1,4 +1,3 @@ +-i18n = import('i18n') + i18n.gettext( + meson.project_name(), + preset: 'glib', +@@ -7,5 +6,3 @@ i18n.gettext( + args: ['--msgid-bugs-address=https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/new', + '--width=90'], + ) +- +-po_dir = meson.current_source_dir() +diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build +index 3ba5cb16f..83d90b94b 100644 +--- a/shell-completion/bash/meson.build ++++ b/shell-completion/bash/meson.build +@@ -8,6 +8,7 @@ if bashcompletiondir != 'no' + ] + endif + ++ if not get_option('daemon-only') + aliases += [ + 'pacat', + 'pactl', +@@ -16,6 +17,7 @@ if bashcompletiondir != 'no' + 'parec', + 'parecord', + ] ++ endif + + install_data('pulseaudio', install_dir : bashcompletiondir) + +diff --git a/src/daemon/meson.build b/src/daemon/meson.build +index 262e193b2..e8f70a453 100644 +--- a/src/daemon/meson.build ++++ b/src/daemon/meson.build +@@ -30,8 +30,8 @@ executable('pulseaudio', + install_rpath : privlibdir, + include_directories : [configinc, topinc], + link_args : ['-ffast-math'], +- link_with : [libpulsecore, libpulsecommon, libpulse], +- dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep], ++ link_with : [libpulsecore], ++ dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep, libpulsecommon_dep, libpulse_dep], + c_args : pa_c_args, + ) + +diff --git a/src/meson.build b/src/meson.build +index e2860811b..a56667271 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -188,6 +188,15 @@ else + endif + # FIXME: Do SIMD things + ++if get_option('daemon-only') ++ libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) ++ libpulse_dep = dependency('libpulse', required : true) ++ libpulse_simple_dep = dependency('libpulse-simple', required : true) ++ if glib_dep.found() ++ libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', required : true) ++ endif ++else ++ + libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, + libpulsecommon_sources, + libpulsecommon_headers, +@@ -207,6 +216,8 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, + libpulsecommon_dep = declare_dependency(link_with: libpulsecommon) + + subdir('pulse') ++endif ++ + if get_option('daemon') + subdir('pulsecore') + subdir('daemon') +diff --git a/src/modules/gsettings/meson.build b/src/modules/gsettings/meson.build +index 68a72c3ff..9604699e7 100644 +--- a/src/modules/gsettings/meson.build ++++ b/src/modules/gsettings/meson.build +@@ -8,8 +8,7 @@ gsettings_helper = executable('gsettings-helper', + gsettings_helper_sources, + c_args : pa_c_args, + include_directories : [configinc, topinc], +- link_with : [libpulsecommon, libpulse], +- dependencies : [gio_dep], ++ dependencies : [gio_dep, libpulsecommon_dep, libpulse_dep], + install_dir : pulselibexecdir, + install_rpath : privlibdir, + install : true, +diff --git a/src/tests/meson.build b/src/tests/meson.build +index acd301037..56d71299f 100644 +--- a/src/tests/meson.build ++++ b/src/tests/meson.build +@@ -20,8 +20,6 @@ default_tests += [ + [ check_dep, libpulse_dep, libpulsecommon_dep ] ], + [ 'json-test', 'json-test.c', + [ check_dep, libpulse_dep, libpulsecommon_dep ] ], +- [ 'mainloop-test', 'mainloop-test.c', +- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], + [ 'proplist-test', 'proplist-test.c', + [ check_dep, libpulse_dep, libpulsecommon_dep ] ], + [ 'thread-mainloop-test', 'thread-mainloop-test.c', +@@ -32,6 +30,13 @@ default_tests += [ + [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], + ] + ++if not get_option('daemon-only') ++ default_tests += [ ++ [ 'mainloop-test', 'mainloop-test.c', ++ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], ++ ] ++endif ++ + if get_option('daemon') + default_tests += [ + [ 'asyncmsgq-test', 'asyncmsgq-test.c', +diff --git a/src/utils/meson.build b/src/utils/meson.build +index c9635fdb6..7ed6e738f 100644 +--- a/src/utils/meson.build ++++ b/src/utils/meson.build +@@ -1,3 +1,4 @@ ++if not get_option('daemon-only') + pacat_sources = [ + 'pacat.c', + ] +@@ -41,6 +42,7 @@ executable('pactl', + dependencies : [sndfile_dep, libintl_dep], + c_args : pa_c_args, + ) ++endif + + if get_option('daemon') + if host_machine.system() != 'windows' +@@ -53,8 +55,7 @@ if get_option('daemon') + install: true, + install_rpath : privlibdir, + include_directories : [configinc, topinc], +- link_with : [libpulsecommon, libpulse], +- dependencies: [libintl_dep], ++ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], + c_args : pa_c_args, + ) + +@@ -67,13 +68,13 @@ if get_option('daemon') + install: true, + install_rpath : privlibdir, + include_directories : [configinc, topinc], +- link_with : [libpulsecommon, libpulse], +- dependencies: [libintl_dep], ++ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], + c_args : pa_c_args, + ) + endif + endif + ++if not get_option('daemon-only') + if x11_dep.found() + pax11publish_sources = [ + 'pax11publish.c', +@@ -121,3 +122,4 @@ if dbus_dep.found() and fftw_dep.found() + endif + + install_data('pa-info', install_dir : bindir) ++endif +-- +2.32.0 + |