playerctl: patch missing refcount tracking to avoid a crash in nwg-panel

This commit is contained in:
Colin 2024-06-20 00:46:31 +00:00
parent efcf8639dc
commit 63bc58a56f

View File

@ -162,6 +162,20 @@ let
# modemmanager = callPackage ./patched/modemmanager { inherit (unpatched) modemmanager; };
playerctl = unpatched.playerctl.overrideAttrs (upstream: {
patches = (upstream.patches or []) ++ [
(fetchpatch {
# playerctl, when used as a library, doesn't expect its user to `unref` it inside a glib signal.
# nwg-panel does this though, and then segfaults.
# playerctl project looks dead as of 2024/06/19, no hope for upstreaming this.
# TODO: consider removing this if nwg-panel code is changed to not trigger this.
# - <https://github.com/nwg-piotr/nwg-panel/issues/233>
name = "dbus_name_owner_changed_callback: acquire a ref on the manager before using it";
url = "https://git.uninsane.org/colin/playerctl/commit/bbcbbe4e03da93523b431ffee5b64e10b17b4f9f.patch";
hash = "sha256-l/w+ozga8blAB2wtEd1SPBE6wpHNXWk7NrOL7x10oUI=";
})
];
});
### PYTHON PACKAGES
pythonPackagesExtensions = (unpatched.pythonPackagesExtensions or []) ++ [