80 lines
3.5 KiB
Diff
80 lines
3.5 KiB
Diff
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
|
|
|