[gnome-build-meta/alatiera/wireplumber] vm/common-deps: add pipewire to the deps




commit 40e76c2d4beed86de924808fda964787448839e8
Author: Jordan Petridis <jordan centricular com>
Date:   Fri Aug 12 04:23:39 2022 +0300

    vm/common-deps: add pipewire to the deps
    
    Explicitly add pipewire, wireplumber and the xdg-desktop-portals
    to the common deps so they will always be included, rather than
    relying on transient dependencies.
    
    Also patch wireplumber so it doesn't crash.
    
    https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/9427
    
    Close #535 #536

 elements/core-deps/pipewire-daemon.bst            |  4 ++
 elements/freedesktop-sdk.bst                      |  2 +
 elements/vm/common-deps.bst                       |  8 +++
 elements/vm/wireplumber.bst                       | 15 +++++
 files/0001-wireplumber-fix-alsa-enumeration.patch | 70 +++++++++++++++++++++++
 files/systemd-presets/50-gnome.preset             |  3 +
 6 files changed, 102 insertions(+)
---
diff --git a/elements/core-deps/pipewire-daemon.bst b/elements/core-deps/pipewire-daemon.bst
index 405f4bc53..12946dde7 100644
--- a/elements/core-deps/pipewire-daemon.bst
+++ b/elements/core-deps/pipewire-daemon.bst
@@ -5,6 +5,10 @@ build-depends:
 
 runtime-depends:
 - sdk/pipewire.bst
+- vm/wireplumber.bst
+- freedesktop-sdk.bst:components/avahi.bst
 - freedesktop-sdk.bst:components/sbc.bst
 - freedesktop-sdk.bst:components/bluez.bst
+- freedesktop-sdk.bst:components/bluez-libs.bst
 - freedesktop-sdk.bst:components/rtkit.bst
+- freedesktop-sdk.bst:components/webrtc-audio-processing.bst
diff --git a/elements/freedesktop-sdk.bst b/elements/freedesktop-sdk.bst
index 0d30a27f1..d91cd2cdf 100644
--- a/elements/freedesktop-sdk.bst
+++ b/elements/freedesktop-sdk.bst
@@ -4,6 +4,8 @@ sources:
   url: gitlab:freedesktop-sdk/freedesktop-sdk.git
   track: master
   track-tags: true
+- kind: patch
+  path: files/0001-wireplumber-fix-alsa-enumeration.patch
 config:
   options:
     target_arch: '%{arch}'
diff --git a/elements/vm/common-deps.bst b/elements/vm/common-deps.bst
index 74d4d7179..2501bc221 100644
--- a/elements/vm/common-deps.bst
+++ b/elements/vm/common-deps.bst
@@ -5,8 +5,13 @@ depends:
 - core/meta-gnome-core-shell.bst
 - core/meta-gnome-core-utilities.bst
 - core/systemd-presets.bst
+
 - sdk-platform.bst
 
+- core-deps/xdg-desktop-portal.bst
+- core-deps/xdg-desktop-portal-gnome.bst
+- core-deps/xdg-desktop-portal-gtk.bst
+
 - vm/dev-repo-script.bst
 - vm/flathub-config.bst
 - vm/gnome-nightly-config.bst
@@ -33,6 +38,9 @@ depends:
 - vm/NetworkManager-fortisslvpn.bst
 - vm/NetworkManager-vpnc.bst
 
+- core-deps/pipewire-daemon.bst
+- vm/wireplumber.bst
+
 - freedesktop-sdk.bst:vm/config/sudo.bst
 - freedesktop-sdk.bst:vm/config/useradd-ostree.bst
 - freedesktop-sdk.bst:vm/mesa-default.bst
diff --git a/elements/vm/wireplumber.bst b/elements/vm/wireplumber.bst
new file mode 100644
index 000000000..be6211037
--- /dev/null
+++ b/elements/vm/wireplumber.bst
@@ -0,0 +1,15 @@
+kind: filter
+
+build-depends:
+- freedesktop-sdk.bst:components/wireplumber.bst
+runtime-depends:
+- sdk/glib.bst
+- sdk/pygobject.bst
+- freedesktop-sdk.bst:components/systemd-libs.bst
+
+# public:
+#   bst:
+#     split-rules:
+#       devel:
+#         (>):
+#         - '%{libdir}/libpipewire-*.so'
diff --git a/files/0001-wireplumber-fix-alsa-enumeration.patch 
b/files/0001-wireplumber-fix-alsa-enumeration.patch
new file mode 100644
index 000000000..622326458
--- /dev/null
+++ b/files/0001-wireplumber-fix-alsa-enumeration.patch
@@ -0,0 +1,70 @@
+From 2ab34929a52d8cbf95d2a0650863970bc9e24e65 Mon Sep 17 00:00:00 2001
+From: Jordan Petridis <jordan centricular com>
+Date: Wed, 17 Aug 2022 13:29:21 +0300
+Subject: [PATCH] wireplumber: fix alsa enumeration
+
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/303
+---
+ elements/components/wireplumber.bst           |  2 +
+ ...637c329bc9dda8544b18f5bd47a8d63ee253.patch | 39 +++++++++++++++++++
+ 2 files changed, 41 insertions(+)
+ create mode 100644 files/wireplumber/c16e637c329bc9dda8544b18f5bd47a8d63ee253.patch
+
+diff --git a/elements/components/wireplumber.bst b/elements/components/wireplumber.bst
+index e35e7b2f4..e8230f895 100644
+--- a/elements/components/wireplumber.bst
++++ b/elements/components/wireplumber.bst
+@@ -32,3 +32,5 @@ sources:
+   directory: subprojects/cpptoml
+   track: master
+   ref: v0.1.1-0-gfededad7169e538ca47e11a9ee9251bc361a9a65
++- kind: patch
++  path: files/wireplumber/c16e637c329bc9dda8544b18f5bd47a8d63ee253.patch
+diff --git a/files/wireplumber/c16e637c329bc9dda8544b18f5bd47a8d63ee253.patch 
b/files/wireplumber/c16e637c329bc9dda8544b18f5bd47a8d63ee253.patch
+new file mode 100644
+index 000000000..b4ec56300
+--- /dev/null
++++ b/files/wireplumber/c16e637c329bc9dda8544b18f5bd47a8d63ee253.patch
+@@ -0,0 +1,39 @@
++From c16e637c329bc9dda8544b18f5bd47a8d63ee253 Mon Sep 17 00:00:00 2001
++From: George Kiagiadakis <george kiagiadakis collabora com>
++Date: Thu, 7 Jul 2022 20:58:36 +0300
++Subject: [PATCH] alsa: use "obj_type" as a variable name to avoid shadowing
++ lua's "type" function
++
++This causes a crash when running in a VM because the code tries to
++execute lua's "type()" and ends up executing the local string variable...
++
++Fixes: #303
++---
++ src/scripts/monitors/alsa.lua | 4 ++--
++ 1 file changed, 2 insertions(+), 2 deletions(-)
++
++diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua
++index 43fab943..38f847f7 100644
++--- a/src/scripts/monitors/alsa.lua
+++++ b/src/scripts/monitors/alsa.lua
++@@ -49,7 +49,7 @@ function nonempty(str)
++   return str ~= "" and str or nil
++ end
++ 
++-function createNode(parent, id, type, factory, properties)
+++function createNode(parent, id, obj_type, factory, properties)
++   local dev_props = parent.properties
++ 
++   -- set the device id and spa factory name; REQUIRED, do not change
++@@ -199,7 +199,7 @@ function createDevice(parent, id, factory, properties)
++   end
++ end
++ 
++-function prepareDevice(parent, id, type, factory, properties)
+++function prepareDevice(parent, id, obj_type, factory, properties)
++   -- ensure the device has an appropriate name
++   local name = "alsa_card." ..
++     (properties["device.name"] or
++-- 
++GitLab
++
+-- 
+2.37.2
+
diff --git a/files/systemd-presets/50-gnome.preset b/files/systemd-presets/50-gnome.preset
index 07360c96b..04fb26007 100644
--- a/files/systemd-presets/50-gnome.preset
+++ b/files/systemd-presets/50-gnome.preset
@@ -6,4 +6,7 @@ enable colord.service
 enable accounts-daemon.service
 enable avahi-daemon.*
 enable NetworkManager.service
+enable pipewire.*
+enable pipewire-pulse.*
+enable wireplumber.*
 disable systemd-networkd.service


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]