[meta-multimedia] pipewire: Upgrade to version 0.3.49

Message ID 20220330191115.112414-2-crg7475@mailbox.org
State Under Review
Headers show
Series [meta-multimedia] pipewire: Upgrade to version 0.3.49 | expand

Commit Message

Carlos Rafael Giani March 30, 2022, 7:11 p.m. UTC
ChangeLogs can be found here:

https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.46
https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.47
https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.48
https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.49

Main recipe change is about the RTKit module, which was deprecated and
replaced by the new RT module. The recipe disables the legacy rtkit
module (which exists for backwards compatibility with older existing
PipeWire installations that use rtkit in their configuration files).

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...-to-enable-disable-legacy-RTKit-modu.patch | 44 +++++++++++++++++++
 ...{pipewire_0.3.45.bb => pipewire_0.3.49.bb} | 15 +++++--
 2 files changed, 55 insertions(+), 4 deletions(-)
 create mode 100644 meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch
 rename meta-multimedia/recipes-multimedia/pipewire/{pipewire_0.3.45.bb => pipewire_0.3.49.bb} (96%)

Patch

diff --git a/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch b/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch
new file mode 100644
index 000000000..61bcdb3dd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch
@@ -0,0 +1,44 @@ 
+From b311f9e75f13205fd0738f7e89fd2062b9e7b237 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <crg7475@mailbox.org>
+Date: Wed, 30 Mar 2022 19:44:38 +0200
+Subject: [PATCH] meson: Add option to enable/disable legacy RTKit module
+
+The RTKit module is being replaced by the RT module. Currently, it is
+always built if D-Bus is present. For packagers, it can be beneficial to
+be able to disable the legacy module. Add a Meson option to allow for
+exactly that. Make it enabled by default to not change default behavior.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1204]
+---
+ meson_options.txt       | 4 ++++
+ src/modules/meson.build | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 49d5b2203..2687bfe7e 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -237,3 +237,7 @@ option('libcanberra',
+        description: 'Enable code that depends on libcanberra',
+        type: 'feature',
+        value: 'auto')
++option('legacy-rtkit',
++       description: 'Build legacy rtkit module',
++       type: 'boolean',
++       value: 'true')
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index ee724bf52..2d26cc459 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -139,7 +139,7 @@ pipewire_module_rt = shared_library('pipewire-module-rt', [ 'module-rt.c' ],
+   dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
+ )
+ 
+-build_module_rtkit = dbus_dep.found()
++build_module_rtkit = dbus_dep.found() and (get_option('legacy-rtkit') == true)
+ if build_module_rtkit
+ # TODO: This serves as a temporary alias to prevent breaking existing setups
+ #       while `module-rtkit` is being migrated to `module-rt`
+-- 
+2.32.0
+
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb
similarity index 96%
rename from meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb
rename to meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb
index 6ba312484..b821f4400 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb
@@ -13,8 +13,10 @@  LIC_FILES_CHKSUM = " \
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "bdd407fe66cc9e46d4bc4dcc989d50679000482b"
-SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
+SRCREV = "075e7b266876802eab0077afd13ea8e1cee5e1fd"
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \
+           file://0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch \
+           "
 
 S = "${WORKDIR}/git"
 
@@ -49,6 +51,10 @@  SYSTEMD_PACKAGES = "${PN}"
 #
 # AptX and LDAC are not available in OE. Currently, neither
 # are lv2 and ROC.
+#
+# The RTKit module is deprecated in favor of the newer RT module.
+# It still exists for legacy setups that still include it in
+# their PipeWire configuration files.
 EXTRA_OEMESON += " \
     -Devl=disabled \
     -Dtests=disabled \
@@ -62,6 +68,7 @@  EXTRA_OEMESON += " \
     -Droc=disabled \
     -Dbluez5-codec-aptx=disabled \
     -Dbluez5-codec-ldac=disabled \
+    -Dlegacy-rtkit=false \
 "
 
 PACKAGECONFIG ??= "\
@@ -306,8 +313,8 @@  FILES:${PN}-spa-tools = " \
 FILES:${PN}-modules = ""
 RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
 
-CONFFILES:${PN}-modules-rtkit = "${datadir}/pipewire/client-rt.conf"
-FILES:${PN}-modules-rtkit += " \
+CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
+FILES:${PN}-modules-rt += " \
     ${datadir}/pipewire/client-rt.conf \
     "