dbus: default to using tmpdir instead of launchd activation

This matches the default behavior on Linux. If D-Bus defaults to launchd
activation, all packages or tests using `dbus-run-session` will fail due
the launch agent not being installed and available.
This commit is contained in:
Randy Eckenrode
2026-05-17 13:20:56 -04:00
parent 329b59d07d
commit 171926f883
+3
View File
@@ -129,6 +129,9 @@ stdenv.mkDerivation (finalAttrs: {
"-Dselinux=disabled"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# D-Bus defaults to launchd-activation on Darwin, but that requires the launch agent be installed. It also breaks
# anything that uses `dbus-run-session` in tests. Changing the default aligns Darwin with other UNIX platforms.
"-Ddbus_session_bus_listen_address=unix:tmpdir=/tmp"
# `launchctl` is only needed at runtime. Lie to `find_program` because it will always be present on a Darwin host.
"--cross-file=${writeText "darwin.ini" ''
[binaries]