From 36bfe204e49658d1ad15255b61c2597962ec8723 Mon Sep 17 00:00:00 2001 From: DDoSolitary Date: Thu, 19 Mar 2026 17:38:47 +0800 Subject: [PATCH 1/2] libsForQt5.libdbusmenu: init at 0.9.3+16 Revert f6c87dff6581ce22aa72c5baec16db94564d6b53 and fix CMake 4 compatibility. It is an optional dependency of libsForQt5.knotifications. Without it tray icons of Qt 5 apps will show empty context menu on KDE. --- pkgs/by-name/li/libdbusmenu-qt5/package.nix | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pkgs/by-name/li/libdbusmenu-qt5/package.nix diff --git a/pkgs/by-name/li/libdbusmenu-qt5/package.nix b/pkgs/by-name/li/libdbusmenu-qt5/package.nix new file mode 100644 index 000000000000..6006818ae947 --- /dev/null +++ b/pkgs/by-name/li/libdbusmenu-qt5/package.nix @@ -0,0 +1,36 @@ +{ + lib, + stdenv, + fetchgit, + cmake, + libsForQt5, +}: + +stdenv.mkDerivation rec { + pname = "libdbusmenu-qt5"; + version = "0.9.3+16"; + + src = fetchgit { + url = "https://git.launchpad.net/ubuntu/+source/libdbusmenu-qt"; + rev = "import/${version}.04.20160218-1"; + hash = "sha256-nXZv1m/dQv8vt+xPS7WTC8nKfbEJ45WtZ8vVBencPg0="; + }; + + buildInputs = [ libsForQt5.qtbase ]; + nativeBuildInputs = [ cmake ]; + + cmakeFlags = [ + "-DWITH_DOC=OFF" + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + ]; + + dontWrapQtApps = true; + + meta = { + homepage = "https://launchpad.net/libdbusmenu-qt"; + description = "Provides a Qt implementation of the DBusMenu spec"; + maintainers = [ lib.maintainers.ttuegel ]; + inherit (libsForQt5.qtbase.meta) platforms; + license = lib.licenses.lgpl2; + }; +} From 27aa75bf804caf7c3890fc815ca99999cfb7d57e Mon Sep 17 00:00:00 2001 From: DDoSolitary Date: Thu, 19 Mar 2026 17:56:58 +0800 Subject: [PATCH 2/2] libsForQt5.knotifications: fix tray icon context menu libdbusmenu-qt is required for tray icon context menu support. KDE 6 has a standalone kstatusnotifieritem library which vendors libdbusmenu-qt with Qt 6 patches. However, this KDE 5 version (which is used by plasma-integration.qt5) needs libdbusmenu-qt as an external dependency. --- pkgs/development/libraries/kde-frameworks/knotifications.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/kde-frameworks/knotifications.nix b/pkgs/development/libraries/kde-frameworks/knotifications.nix index 14dd47e4af4f..61e2dd02dc94 100644 --- a/pkgs/development/libraries/kde-frameworks/knotifications.nix +++ b/pkgs/development/libraries/kde-frameworks/knotifications.nix @@ -11,6 +11,7 @@ qttools, qtx11extras, qtmacextras, + libdbusmenu-qt5, }: mkDerivation { @@ -26,6 +27,7 @@ mkDerivation { kwindowsystem phonon qtx11extras + libdbusmenu-qt5 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras