dbus: fix launchd support on Darwin

- Meson tries to detect that `launchctl` is present. Lie to it because
  it will always be present on a Darwin host platform; and
- Install the launch agent plist to `$out` instead of an impure path.
This commit is contained in:
Randy Eckenrode
2026-01-27 12:00:26 -05:00
parent 372961a73c
commit a967f2cd42
+8
View File
@@ -98,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
"-Dinstall_sysconfdir=${placeholder "out"}/etc"
"-Ddoxygen_docs=disabled"
"-Dducktype_docs=disabled"
"-Dlaunchd_agent_dir=${placeholder "out"}/Library/LaunchAgents"
"-Dqt_help=disabled"
"-Drelocation=disabled" # Conflicts with multiple outputs
"-Dmodular_tests=disabled" # Requires glib
@@ -114,6 +115,13 @@ stdenv.mkDerivation (finalAttrs: {
(lib.mesonEnable "systemd" enableSystemd)
"-Dselinux=disabled"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# `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]
launchctl = 'true'
''}"
]
++ lib.optionals enableSystemd [
"--cross-file=${writeText "crossfile.ini" ''
[binaries]