From 5c17e724a5655837854317f2838642e690ce521b Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Tue, 24 Jun 2025 20:36:54 +0800 Subject: [PATCH] kde4_exec.sh: fix dbus session for macOS --- cmake/modules/kde4_exec.sh.in | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/cmake/modules/kde4_exec.sh.in b/cmake/modules/kde4_exec.sh.in index 0bc9fe32..4015bf84 100644 --- a/cmake/modules/kde4_exec.sh.in +++ b/cmake/modules/kde4_exec.sh.in @@ -17,8 +17,21 @@ fi bin="$1" shift +uname_s="$(uname -s)" cd "$(dirname "$bin")" -if [ -z "$DBUS_SESSION_BUS_ADDRESS" ];then - exec dbus-run-session -- @CMAKE_CROSSCOMPILING_EMULATOR@ "./$(basename "$bin")" "$@" +if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then + if [ "$uname_s" = "Darwin" ]; then + if [ ! -S "$DBUS_LAUNCHD_SESSION_BUS_SOCKET" ]; then + launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist 2>/dev/null || true + fi + sleep 1 + if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && [ -n "$DBUS_LAUNCHD_SESSION_BUS_SOCKET" ]; then + export DBUS_SESSION_BUS_ADDRESS="unix:path=$DBUS_LAUNCHD_SESSION_BUS_SOCKET" + fi + exec @CMAKE_CROSSCOMPILING_EMULATOR@ "./$(basename "$bin")" "$@" + else + exec dbus-run-session -- @CMAKE_CROSSCOMPILING_EMULATOR@ "./$(basename "$bin")" "$@" + fi +else + exec @CMAKE_CROSSCOMPILING_EMULATOR@ "./$(basename "$bin")" "$@" fi -exec @CMAKE_CROSSCOMPILING_EMULATOR@ "./$(basename "$bin")" "$@"