summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch')
-rw-r--r--media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
new file mode 100644
index 000000000000..ab102a606c82
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
@@ -0,0 +1,79 @@
+From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 30 Jun 2024 13:44:06 -0400
+Subject: [PATCH] meson: fix conflicting use of feature-based dependency
+ lookups
+
+When spa-plugins is enabled, the gio-2.0 global dependency is
+overwritten.
+
+When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
+dependency is then detected as found. This means that
+pipewire-module-protocol-pulse can end up enabling gsettings support
+even if it has been forcibly turned off.
+
+Rename the meson variables to ensure they are looked up separately.
+---
+ meson.build | 6 +++---
+ spa/meson.build | 6 +++---
+ src/modules/meson.build | 4 ++--
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2607c5c8f4..38b6b59d00 100644
+--- a/meson.build
++++ b/meson.build
+@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
+ flatpak_support = glib2_dep.found()
+ cdata.set('HAVE_GLIB2', flatpak_support)
+
+-gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
+-summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
+-if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
++gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
++summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
+ error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
+ endif
+
+diff --git a/spa/meson.build b/spa/meson.build
+index 67e4b5c506..cf25609dab 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
+ summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
+
+ bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
+- gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
+- gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
++ bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
++ bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
+ bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
+ sbc_dep = dependency('sbc', required: get_option('bluez5'))
+ summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+- bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
++ bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
+ bluez_deps_found = get_option('bluez5').allowed()
+ foreach dep: bluez5_deps
+ if get_option('bluez5').enabled() and not dep.found()
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index ceaa7013d9..3f400f0877 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -433,11 +433,11 @@ if avahi_dep.found()
+ cdata.set('HAVE_AVAHI', true)
+ endif
+
+-if gio_dep.found()
++if gsettings_gio_dep.found()
+ pipewire_module_protocol_pulse_sources += [
+ 'module-protocol-pulse/modules/module-gsettings.c',
+ ]
+- pipewire_module_protocol_pulse_deps += gio_dep
++ pipewire_module_protocol_pulse_deps += gsettings_gio_dep
+ cdata.set('HAVE_GIO', true)
+ if get_option('gsettings-pulse-schema').enabled()
+ install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],
+--
+GitLab
+