dbus: fix build on Darwin (#484428)

This commit is contained in:
Randy Eckenrode
2026-01-27 21:13:42 +00:00
committed by GitHub
2 changed files with 21 additions and 7 deletions
@@ -95,14 +95,15 @@ Without it, only the user's primary group is used in authentication!
+}
--- dbus-1.6.8/dbus/dbus-sysdeps-unix.c.orig 2013-02-28 13:08:52.171215237 +0000
+++ dbus-1.6.8/dbus/dbus-sysdeps-unix.c 2013-02-28 13:13:52.224615146 +0000
@@ -21,6 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
@@ -26,6 +26,11 @@
#include <config.h>
+#ifndef HAVE_GETGROUPLIST
+#include "getgrouplist.c"
+#define HAVE_GETGROUPLIST
+#endif
#include <config.h>
+
#include "dbus-internals.h"
#include "dbus-sysdeps.h"
#include "dbus-sysdeps-unix.h"
+13
View File
@@ -100,6 +100,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
@@ -108,10 +109,22 @@ stdenv.mkDerivation (finalAttrs: {
"-Dsystemd_user_unitdir=${placeholder "out"}/etc/systemd/user"
(lib.mesonEnable "x11_autolaunch" x11Support)
(lib.mesonEnable "apparmor" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "epoll" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "inotify" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "libaudit" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "kqueue" (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isBSD))
(lib.mesonEnable "launchd" stdenv.hostPlatform.isDarwin)
(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]
systemctl = '${systemdMinimal}/bin/systemctl'