From 9c602d90d61cea9fe83c596c68a99e383ee15f73 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 28 Oct 2022 22:00:05 +0100 Subject: gentoo auto-resync : 28:10:2022 - 22:00:04 --- media-video/wireplumber/Manifest | 14 +- ...ix-device-name-deduplication-when-reserva.patch | 117 ------------- ...-enabled-property-to-default-to-true-when.patch | 129 -------------- ...nodes-don-t-check-if-all-device-nodes-are.patch | 187 --------------------- ...pting-allow-converting-GValue-holding-NUL.patch | 36 ---- ...10-m-lua-scripting-fix-object-refcounting.patch | 32 ---- .../wireplumber/wireplumber-0.4.10-r4.ebuild | 125 -------------- .../wireplumber/wireplumber-0.4.11-r2.ebuild | 130 -------------- .../wireplumber/wireplumber-0.4.12-r1.ebuild | 128 ++++++++++++++ media-video/wireplumber/wireplumber-0.4.12.ebuild | 128 -------------- media-video/wireplumber/wireplumber-9999.ebuild | 2 +- 11 files changed, 132 insertions(+), 896 deletions(-) delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch delete mode 100644 media-video/wireplumber/wireplumber-0.4.10-r4.ebuild delete mode 100644 media-video/wireplumber/wireplumber-0.4.11-r2.ebuild create mode 100644 media-video/wireplumber/wireplumber-0.4.12-r1.ebuild delete mode 100644 media-video/wireplumber/wireplumber-0.4.12.ebuild (limited to 'media-video/wireplumber') diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index 6ede2b635682..0aec1fcb2e68 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -1,18 +1,10 @@ -AUX wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch 3969 BLAKE2B 9d9fcdf2327834329e120e2322f03acb0a541b3095bba194be132b153769120e59d617bf4b64ebeb4cbc73caaf2fcbe2c6345da3aeef43ab88891edb93750f87 SHA512 406159756795c208ff809489dcd88fd0095681d9867a8c193f73e40709a27ce33a22a635bada6b5594f097113a5af47375d8814016554cbd6ad809ae18ad1502 AUX wireplumber-0.4.10-config-disable-sound-server-parts.patch 1017 BLAKE2B 09ea7233aaeff88bc7fc0bd0d8345ee15c9377c1a5dca4a1937f00c808def449202186be1ed61cebc05e9d241ad1f8e374b1743f93b2766d7adcf26dc1cf4837 SHA512 d3bc1248bf2ea39ebe7346754f386ec2ab7815beded415c58273372c3e9b2c3b3185e591057aba4233b1320605e08b00702db4de4b78eb4cb833176bb0f16ba5 -AUX wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch 4475 BLAKE2B baa62d342e3a5f753044f4f4f757064792424e05535b540c09ecef4ac70edf32edbae6a4a36ee87d9c041cccdd24d229ba828e50cdc303c50b1f6d4afef7b075 SHA512 4cce604cd7aa754b53d7473f0a12e764449f76932f7ee0fea6e2b5f6b1f11bc2a38a28eedea5f003a112836ecc6a209c3d5e4b29a582749be742d075e51e6518 -AUX wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch 7122 BLAKE2B bd4eee8b49d7bff9bb309c954576340ed336004a91240ebe96ed6e2cf46ffb2cef3c4546847bcd3ae911eea4ad62c65b7154555771524525512ffbee5eae4257 SHA512 cd241cfd3578fff49b9f6be8fbbb291ccdcfc9e65ceb45a3a92410a7914557614ff57959d94fa9954bf5933b61632b430410860887b6d7578182cbd9b7be75e1 -AUX wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch 1256 BLAKE2B 0e3148edf9811b2a090c1127afee5c8c9094e1b80fb2186980b38faf08b3eedc11d394261676a1416b7d22a9f21b45c5b1522a60a1a2383474cd5d7c4bf93da3 SHA512 2e9b94dcb5daa8e85a56222d2570c5085d322c4bfe251edad1792e8fe870686473bb52a4ef43be034bccb68093e01b5c0bf1e035778edb985568d9f01b45afbb -AUX wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch 1200 BLAKE2B ee73f3555418dad6a5c20e401e6f77ec22673b7079d04babe517617771c3d3b29e69ec37a933b1993fc5cfaa0200ee0a70178b7383b4086d9a63765a0d986301 SHA512 fa9fb26868b96742c972574eb2e82e91f54a3a3fe3911136b0c4886ff6324fcf35683059801113a0cc409f9a79383155e7cac1f4b18e0566da724c1fd3679d3d AUX wireplumber-0.4.11-alsa-lua-crash.patch 1256 BLAKE2B ae5787294e405e37f01d0d4ef3f6031e5df9f60b04f02a682ceeaf2311cd2d525cdbb913d4997d63d18513225bd35d5e6375e33f34931e412ef681df134fa514 SHA512 536e39e4863ca2e002b20f8fca6164a60e280f56d7c5c2c96f9684e75b6e8f7138884fca88a214b4830e2a9fb252ead3ba75dc7f6ad491716f3e2fc595ddefed AUX wireplumber-0.4.11-dbus-reconnect-crash.patch 1553 BLAKE2B 1792743e726f22ff26f751196f620905122545bb8921dcb2398e627ef6756d786497e84cb899dcadac5417207cba7f1d5bc7f0a018156c89393712eafba5b54b SHA512 1603f928867f8ccf83132fb3b09b4d43995bd97a62689917274b01eb75526237ab86b1e58292e7f3b5b296e094995d284be31dfdd13d1c26ca5a41f2d121c71d AUX wireplumber-0.4.11-loop.patch 5638 BLAKE2B ebebd5a0c668f9ceb44cedecb9a7c364ed135e78802c619d3c1b328932480b11e2392b7263fb8df472ef1134a451537c82e25e0122bd61f80f33cbb36d538c43 SHA512 4486bb29a0f238b5d3df07bce065be30604fd3ef2d62925b3e3869060c0015d3bcdb45375bf5735e39d48e39e115c8f2029526d1044add8992fe2bc22f45faee -DIST wireplumber-0.4.10.tar.gz 395588 BLAKE2B 6df1af17d1e53ab1449a2f6f9af5a0c4f7b1cd981e07556e5ea3c6b4d5d624e66b97ce4f945f7ccccebbf72b75d35d10990fac11b5228275f27e5320885ff1ec SHA512 342e8bba2cf00faab71ef39bb361b5ada66ff3a68ccf7a756ea1ca402da6e94784eece277ca02992bc7573c51cb8b1bad33aa9c593b3d1bfe0bb0286e2f4506f DIST wireplumber-0.4.11.tar.gz 403931 BLAKE2B 77ef2540081420d4255dcb54165d0aceb08d97c60d19b9eb7606e90cf95e305e690794a1f46234b53b13765452fea0d23ae6acae9deea672db67e21c31d2307d SHA512 73a5120cd0c55b5fe5248cc22497efd23e40bb91961553639d9cf1bbf138d273db65153fa3c1bb0d2794f869e077e011156d323832534f62651d66f8cc87dca4 -DIST wireplumber-0.4.12.tar.gz 407239 BLAKE2B 10c5156c730bffc6542976f2d9cdd9634fdfcf6b1271cfd9df2357feb61ce9fbbd606728444e927ad060934e76be4ff99ba9db6c73823f6295a23977ed89a55a SHA512 0da81b62810d15264a14c3349596801cbf6f6f7ee21a1aef867e52f639dfb9b823c5181514ffa8124c3f387499fefe7f14d8cb589bcd785edd9c0e196e114601 -EBUILD wireplumber-0.4.10-r4.ebuild 3933 BLAKE2B bccd391fc42848f7f57d5403ae481c554862f4bbc6b11b4f8fc55019044b3b9150ac3704370242a39992c65d88928f2f64d441a19cddd61721c82cd887b9e1ce SHA512 2c5c1977655178717c6ad1158b0af18267cafed7ace937e28dfc08d466efe227c6a4ad7f276a27ded906cf8439ecb0ae7579ebf64b90ccc4bf67fa8eeed08bca -EBUILD wireplumber-0.4.11-r2.ebuild 4112 BLAKE2B 2f94d975252cb165d86fe23531fa8ea94a54ba44033e506a6785aea9d7be959e5a0f3f1b7b6872566de62475ab3d2a982294c53f7808348166ae6b6db7e44c15 SHA512 8504018873d34dbeb65c3a1acbc2acf68c7074902875bc1dd4f2f1088933edba51551a293345a5aa4ce8b4443fed8405126a197db65d1948ac2839107b29a430 +DIST wireplumber-0.4.12.tar.bz2 317524 BLAKE2B 5f020759fab459fb3311f8a5cddddef2bf7dc62304b6e95f5d983b86b0e6ddef7bc16c4f2ef6a36264d7ed94e48dbb4c66ff3389bfd7ca58841b4fd6cdfb21bc SHA512 79827ea9f61bacf8df80f9cd0ca4c80192cf85a1b181a51256b3c845d1d04a690ea5c1270d6d5d05d56f799f16980a593e61d003ef78ad7dc8d5e9ea332aa5d4 EBUILD wireplumber-0.4.11-r3.ebuild 4143 BLAKE2B 2198a5fae459a27ba6c03c873d123c6744929ec370a5ad1498bdd2bb5fcbc3bf68e79788536171cbafb79f08e0f543e38807945bc46c99dc89172801034eb924 SHA512 c3821991d447e63015c80b6ec3f127508b9e5575b030c14bcb2c08490e6f9ebe6e680938062b69285592c869629d51be028a840de3f37789fc7c30c827a32589 -EBUILD wireplumber-0.4.12.ebuild 4030 BLAKE2B e93cabeffc20578ba0d3c70e02db1d7b1108e76229bad1dfefd48c887d6d60dc704cbb7a323ba04e42f8674d0d48d70926c24adeecc724bc28c647bb9c9e30dc SHA512 c4deb8102d90102f2c66430e178b7cde7bac734243b94e17497ee8b64159879b17a9d59edca0558c9df928f51b52105b8970c1cf6e1f490603b17173342f754e -EBUILD wireplumber-9999.ebuild 3889 BLAKE2B d44e25f12dc2e6b0d8884b2a670b7fd3c7f1d42b67e6899cff3dd709d8b02d9c9497d4b95beca6f3973e76f54809b042ff6e66058c3de41f39332a022909083d SHA512 07ad0521fbd48382287d6d6f3b62906fa8a29fae84a5a0fb94cdcf8e87da01e6af0ba81f61c8675efb69c038a4fdf62fdde9b9e25b17d4a76b0148de32e457ae +EBUILD wireplumber-0.4.12-r1.ebuild 4031 BLAKE2B 4b4b58f12c67e03bb0d1073872f70087e5f0da2207c6c56c0532c9083457b497887c7d3ea6d65452c1223fe5e77d57989213b0f0329a76fa9fda53ea0aa9b9a4 SHA512 e1b2136d886679d03d997cc3f9dc234b416b17c7954066130daa417836704d7b7aa44701b72269277ffa4c603230067847294704f59fc37df427fb5aeb7be264 +EBUILD wireplumber-9999.ebuild 3890 BLAKE2B 9c7338d6ecbd671285cc294d00eff12480729ed921bd621b722a050d175c4b4d45eb57e73866a71a4c7bbe40c38b2a258a5b00ff39e5416026915e00794fa993 SHA512 a5431c85044ddd96f8e1735206d1cb3d7c516fe27c92b0c249936240fef68f3728ea79b6518eedc236429aca320e4698511059c4db1ff3fb0b9ad667653c02c4 MISC metadata.xml 647 BLAKE2B 0370f3c897d7fcab0bd95fe1f97208f911de022e533ac795817289c554cc75d4de686223cbfd255ecb6e930ff0aee6c9419327ab51b3c65b1c4d8ed7597a1f3e SHA512 9708a52cf340caf359c300116b6ec687fba08a3c0fe33895eb10cda08517583ad36b5ff539142d8ba5f625ad34e5b7228f55fc7b85e7a162cf775f8780899f0e diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch b/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch deleted file mode 100644 index 610db0e11e89..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch +++ /dev/null @@ -1,117 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c00c5a6675b6640db13111c808eaa3251917c412 - -From c00c5a6675b6640db13111c808eaa3251917c412 Mon Sep 17 00:00:00 2001 -From: Julian Bouzas -Date: Wed, 18 May 2022 10:51:41 -0400 -Subject: [PATCH] alsa.lua: fix device name deduplication when reservation is - enabled - -Fixes #241 ---- - src/scripts/monitors/alsa.lua | 47 +++++++++++++++++++---------------- - 1 file changed, 25 insertions(+), 22 deletions(-) - -diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua -index 01d241db..7beed3a8 100644 ---- a/src/scripts/monitors/alsa.lua -+++ b/src/scripts/monitors/alsa.lua -@@ -11,6 +11,10 @@ local config = ... or {} - -- ensure config.properties is not nil - config.properties = config.properties or {} - -+-- unique device/node name tables -+device_names_table = nil -+node_names_table = nil -+ - -- preprocess rules and create Interest objects - for _, r in ipairs(config.rules or {}) do - r.interests = {} -@@ -41,16 +45,6 @@ function rulesApplyProperties(properties) - end - end - --function findDuplicate(parent, id, property, value) -- for i = 0, id - 1, 1 do -- local obj = parent:get_managed_object(i) -- if obj and obj.properties[property] == value then -- return true -- end -- end -- return false --end -- - function nonempty(str) - return str ~= "" and str or nil - end -@@ -125,11 +119,11 @@ function createNode(parent, id, type, factory, properties) - - -- deduplicate nodes with the same name - for counter = 2, 99, 1 do -- if findDuplicate(parent, id, "node.name", properties["node.name"]) then -- properties["node.name"] = name .. "." .. counter -- else -+ if node_names_table[properties["node.name"]] ~= true then -+ node_names_table[properties["node.name"]] = true - break - end -+ properties["node.name"] = name .. "." .. counter - end - end - -@@ -186,6 +180,10 @@ function createDevice(parent, id, factory, properties) - local device = SpaDevice(factory, properties) - if device then - device:connect("create-object", createNode) -+ device:connect("object-removed", function (parent, id) -+ local node = parent:get_managed_object(id) -+ node_names_table[node.properties["node.name"]] = nil -+ end) - device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) - parent:store_managed_object(id, device) - else -@@ -205,11 +203,11 @@ function prepareDevice(parent, id, type, factory, properties) - - -- deduplicate devices with the same name - for counter = 2, 99, 1 do -- if findDuplicate(parent, id, "device.name", properties["device.name"]) then -- properties["device.name"] = name .. "." .. counter -- else -+ if device_names_table[properties["device.name"]] ~= true then -+ device_names_table[properties["device.name"]] = true - break - end -+ properties["device.name"] = name .. "." .. counter - end - - -- ensure the device has a description -@@ -337,16 +335,21 @@ function createMonitor () - -- handle create-object to prepare device - m:connect("create-object", prepareDevice) - -- -- if dbus reservation, handle object-removed to destroy device reservations -- if rd_plugin then -- m:connect("object-removed", function (parent, id) -- local device = parent:get_managed_object(id) -+ -- handle object-removed to destroy device reservations and recycle device name -+ m:connect("object-removed", function (parent, id) -+ local device = parent:get_managed_object(id) -+ if rd_plugin then - local rd_name = device.properties["api.dbus.ReserveDevice1"] - if rd_name then - rd_plugin:call("destroy-reservation", rd_name) - end -- end) -- end -+ end -+ device_names_table[device.properties["device.name"]] = nil -+ end) -+ -+ -- reset the name tables to make sure names are recycled -+ device_names_table = {} -+ node_names_table = {} - - -- activate monitor - Log.info("Activating ALSA monitor") --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch b/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch deleted file mode 100644 index 40a486616580..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch +++ /dev/null @@ -1,129 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/1f045309208ab5d927883b5adc2b7d1623fae162 - -From 1f045309208ab5d927883b5adc2b7d1623fae162 Mon Sep 17 00:00:00 2001 -From: George Kiagiadakis -Date: Thu, 12 May 2022 12:19:38 +0300 -Subject: [PATCH] config: fix enabled property to default to "true" when not - defined - -Fixes backwards compatibility with older config files - -Fixes: #254 ---- - src/config/bluetooth.lua.d/30-bluez-monitor.lua | 2 +- - src/config/main.lua.d/20-default-access.lua | 2 +- - src/config/main.lua.d/30-alsa-monitor.lua | 2 +- - src/config/main.lua.d/30-libcamera-monitor.lua | 2 +- - src/config/main.lua.d/30-v4l2-monitor.lua | 2 +- - src/config/main.lua.d/40-device-defaults.lua | 2 +- - src/config/main.lua.d/40-stream-defaults.lua | 2 +- - src/config/policy.lua.d/10-default-policy.lua | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/config/bluetooth.lua.d/30-bluez-monitor.lua b/src/config/bluetooth.lua.d/30-bluez-monitor.lua -index b40026c2..a870aa5d 100644 ---- a/src/config/bluetooth.lua.d/30-bluez-monitor.lua -+++ b/src/config/bluetooth.lua.d/30-bluez-monitor.lua -@@ -3,7 +3,7 @@ bluez_monitor.properties = {} - bluez_monitor.rules = {} - - function bluez_monitor.enable() -- if not bluez_monitor.enabled then -+ if bluez_monitor.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/20-default-access.lua b/src/config/main.lua.d/20-default-access.lua -index a6ffb2ee..0a7eb955 100644 ---- a/src/config/main.lua.d/20-default-access.lua -+++ b/src/config/main.lua.d/20-default-access.lua -@@ -3,7 +3,7 @@ default_access.properties = {} - default_access.rules = {} - - function default_access.enable() -- if not default_access.enabled then -+ if default_access.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/30-alsa-monitor.lua b/src/config/main.lua.d/30-alsa-monitor.lua -index da0b2c70..8e45e434 100644 ---- a/src/config/main.lua.d/30-alsa-monitor.lua -+++ b/src/config/main.lua.d/30-alsa-monitor.lua -@@ -3,7 +3,7 @@ alsa_monitor.properties = {} - alsa_monitor.rules = {} - - function alsa_monitor.enable() -- if not alsa_monitor.enabled then -+ if alsa_monitor.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/30-libcamera-monitor.lua b/src/config/main.lua.d/30-libcamera-monitor.lua -index 4a8257ff..cd820a83 100644 ---- a/src/config/main.lua.d/30-libcamera-monitor.lua -+++ b/src/config/main.lua.d/30-libcamera-monitor.lua -@@ -3,7 +3,7 @@ libcamera_monitor.properties = {} - libcamera_monitor.rules = {} - - function libcamera_monitor.enable() -- if not libcamera_monitor.enabled then -+ if libcamera_monitor.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/30-v4l2-monitor.lua b/src/config/main.lua.d/30-v4l2-monitor.lua -index 7cfd4bcd..3fbdc9e7 100644 ---- a/src/config/main.lua.d/30-v4l2-monitor.lua -+++ b/src/config/main.lua.d/30-v4l2-monitor.lua -@@ -3,7 +3,7 @@ v4l2_monitor.properties = {} - v4l2_monitor.rules = {} - - function v4l2_monitor.enable() -- if not v4l2_monitor.enabled then -+ if v4l2_monitor.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/40-device-defaults.lua b/src/config/main.lua.d/40-device-defaults.lua -index 55aafe85..2204c4ac 100644 ---- a/src/config/main.lua.d/40-device-defaults.lua -+++ b/src/config/main.lua.d/40-device-defaults.lua -@@ -38,7 +38,7 @@ device_defaults.persistent_profiles = { - } - - function device_defaults.enable() -- if not device_defaults.enabled then -+ if device_defaults.enabled == false then - return - end - -diff --git a/src/config/main.lua.d/40-stream-defaults.lua b/src/config/main.lua.d/40-stream-defaults.lua -index 2975f4f6..307d83df 100644 ---- a/src/config/main.lua.d/40-stream-defaults.lua -+++ b/src/config/main.lua.d/40-stream-defaults.lua -@@ -25,7 +25,7 @@ stream_defaults.rules = { - } - - function stream_defaults.enable() -- if not stream_defaults.enabled then -+ if stream_defaults.enabled == false then - return - end - -diff --git a/src/config/policy.lua.d/10-default-policy.lua b/src/config/policy.lua.d/10-default-policy.lua -index 7b00e94e..edfdeb1c 100644 ---- a/src/config/policy.lua.d/10-default-policy.lua -+++ b/src/config/policy.lua.d/10-default-policy.lua -@@ -38,7 +38,7 @@ bluetooth_policy.policy = { - } - - function default_policy.enable() -- if not default_policy.enabled then -+ if default_policy.enabled == false then - return - end - --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch b/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch deleted file mode 100644 index d9c51489a893..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch +++ /dev/null @@ -1,187 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/392cce2136e81ac3146078eacbbae85b694c917a - -From 392cce2136e81ac3146078eacbbae85b694c917a Mon Sep 17 00:00:00 2001 -From: Julian Bouzas -Date: Fri, 20 May 2022 07:38:24 -0400 -Subject: [PATCH] m-default-nodes: don't check if all device nodes are ready - when finding default node - -This check was originally added to avoid a small audio glitch when changing -default nodes while also changing the device profile (eg Gnome Sound Settings). -The check is removed because it causes issues when disabling alsa nodes. There -are plans to fix the audio glitch issue in the future with the planned -event-dispatcher architecture. - -Fixes #279 ---- - modules/module-default-nodes.c | 136 --------------------------------- - 1 file changed, 136 deletions(-) - -diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c -index 0fdaed5..577f9bb 100644 ---- a/modules/module-default-nodes.c -+++ b/modules/module-default-nodes.c -@@ -345,135 +345,6 @@ reevaluate_default_node (WpDefaultNodes * self, WpMetadata *m, gint node_t) - } - } - --static guint --get_device_total_nodes (WpPipewireObject * proxy) --{ -- g_autoptr (WpIterator) profiles = NULL; -- g_auto (GValue) item = G_VALUE_INIT; -- -- profiles = wp_pipewire_object_enum_params_sync (proxy, "Profile", NULL); -- if (!profiles) -- return 0; -- -- for (; wp_iterator_next (profiles, &item); g_value_unset (&item)) { -- WpSpaPod *pod = g_value_get_boxed (&item); -- gint idx = -1; -- const gchar *name = NULL; -- g_autoptr (WpSpaPod) classes = NULL; -- -- /* Parse */ -- if (!wp_spa_pod_get_object (pod, NULL, -- "index", "i", &idx, -- "name", "s", &name, -- "classes", "?P", &classes, -- NULL)) -- continue; -- if (!classes) -- continue; -- -- /* Parse profile classes */ -- { -- g_autoptr (WpIterator) it = wp_spa_pod_new_iterator (classes); -- g_auto (GValue) v = G_VALUE_INIT; -- gint total_nodes = 0; -- for (; wp_iterator_next (it, &v); g_value_unset (&v)) { -- WpSpaPod *entry = g_value_get_boxed (&v); -- g_autoptr (WpSpaPodParser) pp = NULL; -- const gchar *media_class = NULL; -- gint n_nodes = 0; -- g_return_val_if_fail (entry, 0); -- if (!wp_spa_pod_is_struct (entry)) -- continue; -- pp = wp_spa_pod_parser_new_struct (entry); -- g_return_val_if_fail (pp, 0); -- g_return_val_if_fail (wp_spa_pod_parser_get_string (pp, &media_class), 0); -- g_return_val_if_fail (wp_spa_pod_parser_get_int (pp, &n_nodes), 0); -- wp_spa_pod_parser_end (pp); -- -- total_nodes += n_nodes; -- } -- -- if (total_nodes > 0) -- return total_nodes; -- } -- } -- -- return 0; --} -- --static gboolean --nodes_ready (WpDefaultNodes * self) --{ -- g_autoptr (WpIterator) it = NULL; -- g_auto (GValue) val = G_VALUE_INIT; -- -- /* Get the total number of nodes for each device and make sure they exist -- * and have at least 1 port */ -- it = wp_object_manager_new_filtered_iterator (self->rescan_om, -- WP_TYPE_DEVICE, NULL); -- for (; wp_iterator_next (it, &val); g_value_unset (&val)) { -- WpPipewireObject *device = g_value_get_object (&val); -- guint total_nodes = get_device_total_nodes (device); -- if (total_nodes > 0) { -- guint32 device_id = wp_proxy_get_bound_id (WP_PROXY (device)); -- g_autoptr (WpIterator) node_it = NULL; -- g_auto (GValue) node_val = G_VALUE_INIT; -- guint ready_nodes = 0; -- -- node_it = wp_object_manager_new_filtered_iterator (self->rescan_om, -- WP_TYPE_NODE, WP_CONSTRAINT_TYPE_PW_PROPERTY, -- PW_KEY_DEVICE_ID, "=i", device_id, NULL); -- for (; wp_iterator_next (node_it, &node_val); g_value_unset (&node_val)) { -- WpPipewireObject *node = g_value_get_object (&node_val); -- g_autoptr (WpPort) port = -- wp_object_manager_lookup (self->rescan_om, -- WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY, -- PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)), -- NULL); -- if (port) -- ready_nodes++; -- } -- -- if (ready_nodes < total_nodes) { -- const gchar *device_name = wp_pipewire_object_get_property ( -- WP_PIPEWIRE_OBJECT (device), PW_KEY_DEVICE_NAME); -- wp_debug_object (self, "device '%s' is not ready (%d/%d)", device_name, -- ready_nodes, total_nodes); -- return FALSE; -- } -- } -- } -- -- /* Make sure Audio and Video virtual sources have ports */ -- { -- g_autoptr (WpIterator) node_it = NULL; -- g_auto (GValue) node_val = G_VALUE_INIT; -- node_it = wp_object_manager_new_filtered_iterator (self->rescan_om, -- WP_TYPE_NODE, WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_DEVICE_ID, "-", -- NULL); -- for (; wp_iterator_next (node_it, &node_val); g_value_unset (&node_val)) { -- WpPipewireObject *node = g_value_get_object (&node_val); -- const gchar *media_class = wp_pipewire_object_get_property ( -- WP_PIPEWIRE_OBJECT (node), PW_KEY_MEDIA_CLASS); -- g_autoptr (WpPort) port = -- wp_object_manager_lookup (self->rescan_om, -- WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY, -- PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)), -- NULL); -- if (!port && -- (g_strcmp0 ("Audio/Source/Virtual", media_class) == 0 || -- g_strcmp0 ("Video/Source/Virtual", media_class) == 0)) { -- const gchar *node_name = wp_pipewire_object_get_property ( -- WP_PIPEWIRE_OBJECT (node), PW_KEY_NODE_NAME); -- wp_debug_object (self, "virtual node '%s' is not ready", node_name); -- return FALSE; -- } -- } -- } -- -- return TRUE; --} -- - static void - sync_rescan (WpCore * core, GAsyncResult * res, WpDefaultNodes * self) - { -@@ -491,10 +362,6 @@ sync_rescan (WpCore * core, GAsyncResult * res, WpDefaultNodes * self) - if (!metadata) - return; - -- /* Make sure nodes are ready for current profile */ -- if (!nodes_ready (self)) -- return; -- - wp_trace_object (self, "re-evaluating defaults"); - reevaluate_default_node (self, metadata, AUDIO_SINK); - reevaluate_default_node (self, metadata, AUDIO_SOURCE); -@@ -584,13 +451,10 @@ on_metadata_added (WpObjectManager *om, WpMetadata *metadata, gpointer d) - self->rescan_om = wp_object_manager_new (); - wp_object_manager_add_interest (self->rescan_om, WP_TYPE_DEVICE, NULL); - wp_object_manager_add_interest (self->rescan_om, WP_TYPE_NODE, NULL); -- wp_object_manager_add_interest (self->rescan_om, WP_TYPE_PORT, NULL); - wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_DEVICE, - WP_OBJECT_FEATURES_ALL); - wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_NODE, - WP_OBJECT_FEATURES_ALL); -- wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_PORT, -- WP_OBJECT_FEATURES_ALL); - g_signal_connect_object (self->rescan_om, "objects-changed", - G_CALLBACK (schedule_rescan), self, G_CONNECT_SWAPPED); - g_signal_connect_object (self->rescan_om, "object-added", --- -2.35.1 - diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch deleted file mode 100644 index c319ac4a617b..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch +++ /dev/null @@ -1,36 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c2f31bb550755acba31da2e9f5bbdf646ed5e805 - -From c2f31bb550755acba31da2e9f5bbdf646ed5e805 Mon Sep 17 00:00:00 2001 -From: Julian Bouzas -Date: Mon, 16 May 2022 15:41:10 -0400 -Subject: [PATCH] m-lua-scripting: allow converting GValue holding NULL objects - to Lua - ---- - modules/module-lua-scripting/wplua/value.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/modules/module-lua-scripting/wplua/value.c b/modules/module-lua-scripting/wplua/value.c -index 133051a4..e31ae4ac 100644 ---- a/modules/module-lua-scripting/wplua/value.c -+++ b/modules/module-lua-scripting/wplua/value.c -@@ -314,9 +314,14 @@ wplua_gvalue_to_lua (lua_State *L, const GValue *v) - wplua_pushboxed (L, G_VALUE_TYPE (v), g_value_dup_boxed (v)); - break; - case G_TYPE_OBJECT: -- case G_TYPE_INTERFACE: -- wplua_pushobject (L, g_value_dup_object (v)); -+ case G_TYPE_INTERFACE: { -+ GObject *object = g_value_dup_object (v); -+ if (object) -+ wplua_pushobject (L, g_value_dup_object (v)); -+ else -+ lua_pushnil (L); - break; -+ } - case G_TYPE_ENUM: - wplua_enum_to_lua (L, g_value_get_enum (v), G_VALUE_TYPE (v)); - break; --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch deleted file mode 100644 index 0b86979ce732..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/7908b8d7be2a2992c57cd549054eda7ce46e4b44 - -From 13b85bd4a25ab374f5e5e90b7288e6987996856e Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Tue, 24 May 2022 11:35:15 +0200 -Subject: [PATCH] m-lua-scripting: fix object refcounting - -7908b8d7be2a2992c57cd549054eda7ce46e4b44 ("m-lua-scripting: allow -converting GValue holding NULL objects to Lua") accidentally added a second -refcount. As a result, the objects are never freeded. - -Remove the second refcount to fix this. ---- - modules/module-lua-scripting/wplua/value.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/module-lua-scripting/wplua/value.c b/modules/module-lua-scripting/wplua/value.c -index e31ae4a..a7927dc 100644 ---- a/modules/module-lua-scripting/wplua/value.c -+++ b/modules/module-lua-scripting/wplua/value.c -@@ -317,7 +317,7 @@ wplua_gvalue_to_lua (lua_State *L, const GValue *v) - case G_TYPE_INTERFACE: { - GObject *object = g_value_dup_object (v); - if (object) -- wplua_pushobject (L, g_value_dup_object (v)); -+ wplua_pushobject (L, object); - else - lua_pushnil (L); - break; --- -2.35.1 - diff --git a/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild b/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild deleted file mode 100644 index 820d1ed7d4a3..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils - sys-devel/gettext -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.48:= - virtual/libintl - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${P}-config-fix-enabled-property-to-default-to-true-when.patch - "${FILESDIR}"/${P}-m-lua-scripting-allow-converting-GValue-holding-NUL.patch - "${FILESDIR}"/${P}-alsa.lua-fix-device-name-deduplication-when-reserva.patch - "${FILESDIR}"/${P}-m-default-nodes-don-t-check-if-all-device-nodes-are.patch - "${FILESDIR}"/${P}-m-lua-scripting-fix-object-refcounting.patch -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r "${ED}"/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.4.11-r2.ebuild b/media-video/wireplumber/wireplumber-0.4.11-r2.ebuild deleted file mode 100644 index 8cef1f20f182..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.11-r2.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide -# -# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils - sys-devel/gettext -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.53-r1:= - virtual/libintl - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire - "${FILESDIR}"/${P}-alsa-lua-crash.patch - "${FILESDIR}"/${P}-dbus-reconnect-crash.patch -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r "${ED}"/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.4.12-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.12-r1.ebuild new file mode 100644 index 000000000000..59742a6f7bad --- /dev/null +++ b/media-video/wireplumber/wireplumber-0.4.12-r1.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# 1. Please regularly check (even at the point of bumping) Fedora's packaging +# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide +# +# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things +# continue to move quickly. It's not uncommon for fixes to be made shortly +# after releases. + +LUA_COMPAT=( lua5-{3,4} ) + +inherit lua-single meson systemd + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Replacement for pipewire-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" + +LICENSE="MIT" +SLOT="0/0.4" +IUSE="elogind system-service systemd test" + +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + ?? ( elogind systemd ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building +BDEPEND=" + dev-libs/glib + dev-util/gdbus-codegen + dev-util/glib-utils + sys-devel/gettext +" + +DEPEND=" + ${LUA_DEPS} + >=dev-libs/glib-2.62 + >=media-video/pipewire-0.3.53-r1:= + virtual/libintl + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) +" + +# Any dev-lua/* deps get declared like this inside RDEPEND: +# $(lua_gen_cond_dep ' +# dev-lua/[${LUA_USEDEP}] +# ') +RDEPEND="${DEPEND} + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) +" + +DOCS=( {NEWS,README}.rst ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire +) + +src_configure() { + local emesonargs=( + -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) + -Dintrospection=disabled # Only used for Sphinx doc generation + -Dsystem-lua=true # We always unbundle everything we can + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) + $(meson_feature elogind) + $(meson_feature systemd) + $(meson_use system-service systemd-system-service) + $(meson_use systemd systemd-user-service) + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) + $(meson_use test tests) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r "${ED}"/usr/share/wireplumber +} + +pkg_postinst() { + if systemd_is_booted ; then + ewarn "pipewire-media-session.service is no longer installed. You must switch" + ewarn "to wireplumber.service user unit before your next logout/reboot:" + ewarn "systemctl --user disable pipewire-media-session.service" + ewarn "systemctl --user --force enable wireplumber.service" + else + ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" + ewarn "is started (a replacement for directly calling pipewire binary)." + ewarn + ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" + ewarn "or, if it does exist, that any reference to" + ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." + fi + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/wireplumber/wireplumber-0.4.12.ebuild b/media-video/wireplumber/wireplumber-0.4.12.ebuild deleted file mode 100644 index ac3004d7449f..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.12.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide -# -# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils - sys-devel/gettext -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.53-r1:= - virtual/libintl - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r "${ED}"/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index 2a10e58f8187..270ba536de33 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -19,7 +19,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_BRANCH="master" inherit git-r3 else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi -- cgit v1.2.3