Unverified Commit a5a90f2e authored by Vladimír Čunát's avatar Vladimír Čunát Committed by GitHub
Browse files

[staging-next] dbus: fix darwin dynamic linking errors (#493083)

parents c0e3f236 c4514e94
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -56,6 +56,13 @@ stdenv.mkDerivation (finalAttrs: {
    # We will also just remove installation of empty `${runstatedir}/dbus`
    # and `${localstatedir}/lib/dbus` since these are useless in the package.
    ./meson-install-dirs.patch
  ]
  ++ lib.optionals stdenv.hostPlatform.isDarwin [
    # Fixes Darwin issues like:
    # dyld[29056]: Library not loaded: @rpath/libdbus-1.3.dylib
    #   Referenced from: <...> /nix/store/.../bin/dbus-run-session
    #   Reason: no LC_RPATH's found
    ./set-install_rpath.patch
  ];

  strictDeps = true;
+58 −0
Original line number Diff line number Diff line
From 95a13025ec6fe4dd3c7a927732267e4abc4f4daf Mon Sep 17 00:00:00 2001
From: Michael Daniels <mdaniels5757@gmail.com>
Date: Sun, 22 Feb 2026 11:49:35 -0500
Subject: [PATCH] set install_rpath for some executables

Fixes Darwin issues like:

dyld[29056]: Library not loaded: @rpath/libdbus-1.3.dylib
  Referenced from: <3A452FD0-A471-30CB-A14F-FD0F818E4625> /nix/store/6ghcwk1zrkqkzvsh6i3b2dlagx7hs2d7-dbus-1.16.2/bin/dbus-run-session
  Reason: no LC_RPATH's found
---
 bus/meson.build   | 2 ++
 tools/meson.build | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/bus/meson.build b/bus/meson.build
index 176894d6..bec64aa1 100644
--- a/bus/meson.build
+++ b/bus/meson.build
@@ -139,6 +139,7 @@ dbus_daemon = executable('dbus-daemon',
     include_directories: root_include,
     link_with: libdbus_daemon_internal,
     install: true,
+    install_rpath: get_option('libdir'),
 )
 
 
@@ -180,6 +181,7 @@ if platform_unix and use_traditional_activation
         link_with: liblaunch_helper_internal,
         install: true,
         install_dir: get_option('libexecdir'),
+        install_rpath: get_option('libdir'),
     )
 endif
 
diff --git a/tools/meson.build b/tools/meson.build
index 5d78d93a..def2a716 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -65,6 +65,7 @@ if message_bus
         include_directories: root_include,
         link_with: libdbus_internal,
         install: true,
+        install_rpath: get_option('libdir'),
     )
 endif
 
@@ -75,6 +76,7 @@ dbus_send = executable('dbus-send',
     include_directories: root_include,
     link_with: libdbus,
     install: true,
+    install_rpath: get_option('libdir'),
 )
 
 dbus_test_tool = executable('dbus-test-tool',
-- 
2.51.2