aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/pipewire
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/package/pipewire')
-rw-r--r--internal/rosa/package/pipewire/fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee.patch40
-rw-r--r--internal/rosa/package/pipewire/package.az65
2 files changed, 105 insertions, 0 deletions
diff --git a/internal/rosa/package/pipewire/fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee.patch b/internal/rosa/package/pipewire/fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee.patch
new file mode 100644
index 00000000..c5318f4f
--- /dev/null
+++ b/internal/rosa/package/pipewire/fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee.patch
@@ -0,0 +1,40 @@
+From fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee Mon Sep 17 00:00:00 2001
+From: Julian Bouzas <julian.bouzas@collabora.com>
+Date: Fri, 16 Oct 2026 14:44:36 -0400
+Subject: [PATCH] m-lua-scripting: fix the values of the Perm constants
+
+Lua does not support octal literals, so the permission values were
+parsed as decimal numbers and did not match the PipeWire ones. This
+gave restricted and flatpak clients write and link permissions. Use
+hexadecimal values instead.
+
+Fixes: #1044
+Assisted-by: Claude:claude-opus-5-5
+---
+ modules/module-lua-scripting/api/api.lua | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/modules/module-lua-scripting/api/api.lua b/modules/module-lua-scripting/api/api.lua
+index aafa49d98..0ca8c4155 100644
+--- a/modules/module-lua-scripting/api/api.lua
++++ b/modules/module-lua-scripting/api/api.lua
+@@ -184,11 +184,11 @@ local Feature = {
+ },
+ }
+
+-PERM_R_VAL = 0400
+-PERM_W_VAL = 0200
+-PERM_X_VAL = 0100
+-PERM_M_VAL = 0010
+-PERM_L_VAL = 0020
++PERM_R_VAL = 0x100
++PERM_W_VAL = 0x080
++PERM_X_VAL = 0x040
++PERM_M_VAL = 0x008
++PERM_L_VAL = 0x010
+
+ local Perm = {
+ NONE = 0,
+--
+GitLab
+
diff --git a/internal/rosa/package/pipewire/package.az b/internal/rosa/package/pipewire/package.az
new file mode 100644
index 00000000..30967468
--- /dev/null
+++ b/internal/rosa/package/pipewire/package.az
@@ -0,0 +1,65 @@
+package wireplumber {
+ description = "session / policy manager implementation for PipeWire";
+ website = "https://gitlab.freedesktop.org/pipewire/wireplumber";
+ anitya = 235056;
+
+ version# = "0.5.18";
+ source = remoteGitLab {
+ domain = "gitlab.freedesktop.org";
+ suffix = "pipewire/wireplumber";
+ ref = version;
+ checksum = "YsKFuMxDJQtwnR0N7h7KA7fNR866k7XhCiSdn3L30Wn1kU7mTV66V8eHHL9dZ5sZ";
+ };
+ patches = [ "fcc8d79b6b5e1bc21ff7ea6353f3cd230e9243ee.patch" ];
+
+ // OSError: [Errno 30] Read-only file system: '../../usr/src/wireplumber/po/conf.pot'
+ writable = true;
+ chmod = true;
+
+ exec = meson {
+ setup = {
+ // "bundled" actually means meson wrap here
+ "system-lua": "true";
+
+ "elogind": "disabled";
+ "systemd": "disabled";
+ };
+ };
+
+ inputs = [
+ lua,
+ glib,
+ pipewire,
+ ];
+}
+
+package pipewire {
+ description = "multimedia processing graphs";
+ website = "https://pipewire.org";
+ anitya = 57357;
+
+ version# = "1.6.10";
+ source = remoteGitLab {
+ domain = "gitlab.freedesktop.org";
+ suffix = "pipewire/pipewire";
+ ref = version;
+ checksum = "2HBIEZmwVFWvj-RJfKypCIBfk0njwHEGHX5NZefeFdt-w5pSliPXe0CSjKE7p8Xv";
+ };
+
+ exec = meson {
+ setup = {
+ // built separately to avoid wrap
+ "session-managers": "[]";
+
+ "libsystemd": "disabled";
+ "logind": "disabled";
+ "udev": "disabled";
+ };
+ };
+
+ inputs = [
+ dbus,
+
+ kernel-headers,
+ ];
+}