commit:     17dea0907ab8369c600955b38bd27c86c9c79cc8
Author:     Igor V. Kovalenko <igor.v.kovalenko <AT> gmail <DOT> com>
AuthorDate: Mon Jun 13 22:14:38 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 21:56:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17dea090

media-sound/pulseaudio-daemon: Make module-console-kit optional

Upstream commit 823e46fba0742605f557b68cd591f61624b93966

Now it is possible to explicitly disable module-console-kit, do that since
consolekit is no longer available in the tree.

Closes: https://bugs.gentoo.org/669908
Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...lseaudio-16.0-optional-module-console-kit.patch | 76 ++++++++++++++++++++++
 .../pulseaudio-daemon-16.0-r2.ebuild               |  2 +
 2 files changed, 78 insertions(+)

diff --git 
a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-optional-module-console-kit.patch
 
b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-optional-module-console-kit.patch
new file mode 100644
index 000000000000..4ffdb82f4901
--- /dev/null
+++ 
b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-optional-module-console-kit.patch
@@ -0,0 +1,76 @@
+commit 823e46fba0742605f557b68cd591f61624b93966
+Author: Igor V. Kovalenko <igor.v.kovale...@gmail.com>
+Date:   Sun Jun 12 21:49:32 2022 +0300
+
+    build-sys: meson: Make module-console-kit optional
+    
+    Default build configuration would fail to run on a system without 
systemd-logind
+    (or elogind) and without ConsoleKit daemon responding on dbus interface. 
Here,
+    module-console-kit would fail to initialize, preventing daemon from 
starting.
+    
+    Make module-console-kit an optional build feature to allow opt-out.
+    
+    Part-of: 
<https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/719>
+
+diff --git a/meson.build b/meson.build
+index d4cdbd6a5..c6db7e670 100644
+--- a/meson.build
++++ b/meson.build
+@@ -732,6 +732,10 @@ if get_option('daemon')
+     cdata.set('HAVE_SYSTEMD_LOGIN', 1)
+   endif
+ 
++  if get_option('consolekit').enabled()
++    assert(dbus_dep.found(), 'ConsoleKit requires D-Bus support')
++  endif
++
+   tcpwrap_dep = cc.find_library('wrap', required: get_option('tcpwrap'))
+   if cc.has_header('tcpd.h') and cc.has_function('hosts_access', dependencies 
: tcpwrap_dep)
+     cdata.set('HAVE_LIBWRAP', 1)
+@@ -1001,6 +1005,7 @@ summary += [
+   '  Enable HAL->udev compat:     @0@'.format(get_option('hal-compat')),
+   'Enable systemd units:          @0@'.format(systemd_dep.found()),
+   'Enable elogind:                @0@'.format(libelogind_dep.found()),
++  'Enable ConsoleKit:             @0@'.format(not 
get_option('consolekit').disabled() and dbus_dep.found()),
+   'Enable TCP Wrappers:           @0@'.format(tcpwrap_dep.found()),
+   'Enable OpenSSL (for Airtunes): @0@'.format(openssl_dep.found()),
+   'Database:                      @0@'.format(get_option('database')),
+diff --git a/meson_options.txt b/meson_options.txt
+index b23210072..e7160a3a7 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -99,6 +99,9 @@ option('bluez5-native-headset',
+ option('bluez5-ofono-headset',
+        type : 'boolean',
+        description : 'Optional oFono headset backend support (BlueZ 5)')
++option('consolekit',
++       type : 'feature', value : 'auto',
++       description : 'Optional ConsoleKit support')
+ option('dbus',
+        type : 'feature', value : 'auto',
+        description : 'Optional D-Bus support')
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index cdf372c8e..1d8004300 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -130,7 +130,6 @@ endif
+ 
+ if dbus_dep.found()
+   all_modules += [
+-    [ 'module-console-kit', 'module-console-kit.c', [], [], [dbus_dep] ],
+     [ 'module-dbus-protocol',
+       [ 'dbus/iface-card.c', 'dbus/iface-card.h',
+       'dbus/iface-card-profile.c', 'dbus/iface-card-profile.h',
+@@ -147,6 +146,12 @@ if dbus_dep.found()
+       [], [], [dbus_dep] ],
+     [ 'module-rygel-media-server', 'module-rygel-media-server.c', [], [], 
[dbus_dep], libprotocol_http ],
+   ]
++
++  if not get_option('consolekit').disabled()
++    all_modules += [
++      [ 'module-console-kit', 'module-console-kit.c', [], [], [dbus_dep] ],
++    ]
++  endif
+ endif
+ 
+ if fftw_dep.found()

diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r2.ebuild 
b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r2.ebuild
index 9d8e52522d06..adf6cbbd994e 100644
--- a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r2.ebuild
+++ b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r2.ebuild
@@ -163,6 +163,7 @@ S="${WORKDIR}/${MY_P}"
 # patches merged upstream, to be removed with 16.1 or later bump
 PATCHES=(
        "${FILESDIR}"/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch
+       "${FILESDIR}"/pulseaudio-16.0-optional-module-console-kit.patch
 )
 
 src_prepare() {
@@ -210,6 +211,7 @@ src_configure() {
                -Dbluez5-gstreamer=${enable_bluez5_gstreamer}
                $(meson_use bluetooth bluez5-native-headset)
                $(meson_use ofono-headset bluez5-ofono-headset)
+               -Dconsolekit=disabled
                $(meson_feature dbus)
                $(meson_feature elogind)
                -Dfftw=${enable_fftw}

Reply via email to