Revision: 141294 https://trac.macports.org/changeset/141294 Author: devans@macports.org Date: 2015-10-14 15:51:30 -0700 (Wed, 14 Oct 2015) Log Message: ----------- glib2: realign/restore get-launchd-dbus-session-address patch to avoid startup errors with apps that use glib2 to access the dbus session bus, increment revision. Modified Paths: -------------- trunk/dports/devel/glib2/Portfile Added Paths: ----------- trunk/dports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff Property Changed: ---------------- trunk/dports/devel/glib2/ Property changes on: trunk/dports/devel/glib2 ___________________________________________________________________ Added: svn:mergeinfo + /branches/mld-qt-481/dports/devel/glib2:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856 /trunk/dports/devel/glib2-devel:51739-120463 /users/cal/ports/devel/glib2:96570-97031 /users/devans/GNOME-3/stable/dports/devel/glib2:125662-141255 /users/devans/GNOME-3/unstable/dports/devel/glib2:120511-125619,128305-141254 Modified: trunk/dports/devel/glib2/Portfile =================================================================== --- trunk/dports/devel/glib2/Portfile 2015-10-14 22:50:58 UTC (rev 141293) +++ trunk/dports/devel/glib2/Portfile 2015-10-14 22:51:30 UTC (rev 141294) @@ -11,7 +11,7 @@ conflicts glib2-devel set my_name glib version 2.46.0 -revision 1 +revision 2 set branch [join [lrange [split ${version} .] 0 1] .] categories devel maintainers ryandesign openmaintainer @@ -43,6 +43,7 @@ patch-gi18n.h.diff \ patch-gio_xdgmime_xdgmime.c.diff \ patch-gio_gdbusprivate.c.diff \ + patch-get-launchd-dbus-session-address.diff \ patch-gmodule-gmodule-dl.c.diff if {[vercmp ${macosx_deployment_target} 10.9] < 0} { Copied: trunk/dports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff (from rev 141255, users/devans/GNOME-3/stable/dports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff) =================================================================== --- trunk/dports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff (rev 0) +++ trunk/dports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff 2015-10-14 22:51:30 UTC (rev 141294) @@ -0,0 +1,119 @@ +--- gio/gdbusaddress.c.orig 2015-06-09 16:18:38.000000000 -0700 ++++ gio/gdbusaddress.c 2015-06-23 10:54:28.000000000 -0700 +@@ -1475,6 +1475,103 @@ + + /* ---------------------------------------------------------------------------------------------------- */ + ++/* ++ * MacPorts specific D-Bus implementation ++ * ++ * When building under MacPorts on darwin ++ * plaforms (including Mac OS X), the ++ * symbols G_OS_UNIX and __APPLE__ are ++ * asserted. ++ * ++ * The D-Bus session daemon is controlled ++ * using the Apple launchd facility. ++ * ++ * For launchd command details see ++ * http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPag... ++ * ++ * launchd(8) ++ * launchctl(1) ++ * launchd.plist(5) ++ */ ++ ++#if defined (G_OS_UNIX) && defined (__APPLE__) ++static gchar * ++get_session_address_macports_specific (GError **error) ++{ ++ gchar *ret; ++ gchar *command_line; ++ gchar *launchctl_stdout; ++ gchar *launchctl_stderr; ++ gint exit_status; ++ ++ ret = NULL; ++ command_line = NULL; ++ launchctl_stdout = NULL; ++ launchctl_stderr = NULL; ++ ++ command_line = g_strdup ("launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET"); ++ ++ if (G_UNLIKELY (_g_dbus_debug_address ())) ++ { ++ _g_dbus_debug_print_lock (); ++ g_print ("GDBus-debug:Address: launchctl command line: `%s'\n", command_line); ++ _g_dbus_debug_print_unlock (); ++ } ++ ++ if (g_spawn_command_line_sync (command_line, ++ &launchctl_stdout, ++ &launchctl_stderr, ++ &exit_status, ++ error)) ++ { ++ if (g_spawn_check_exit_status (exit_status, error)) ++ { ++ if (launchctl_stdout != NULL) ++ { ++ if (G_UNLIKELY (_g_dbus_debug_address ())) ++ { ++ gchar *s; ++ _g_dbus_debug_print_lock (); ++ g_print ("GDBus-debug:Address: launchctl stdout:"); ++ s = _g_dbus_hexdump (launchctl_stdout, strlen (launchctl_stdout) + 1, 2); ++ g_print ("\n%s", s); ++ g_free (s); ++ _g_dbus_debug_print_unlock (); ++ } ++ ++ if (*launchctl_stdout != '\0') ++ { ++ gchar *lastchar; ++ ++ lastchar = launchctl_stdout + strlen(launchctl_stdout) - 1; ++ if (*lastchar == '\n') *lastchar = '\0'; ++ ret = g_strdup_printf ("unix:path=%s", launchctl_stdout); ++ } ++ else ++ { ++ g_set_error (error, ++ G_IO_ERROR, ++ G_IO_ERROR_FAILED, ++ _("Session D-Bus not running. Try running `launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist'.")); ++ } ++ } ++ } ++ else ++ { ++ g_prefix_error (error, _("Error spawning command line `%s': "), command_line); ++ } ++ } ++ ++ g_free (command_line); ++ g_free (launchctl_stdout); ++ g_free (launchctl_stderr); ++ ++ return ret; ++} ++#endif ++ ++/* ---------------------------------------------------------------------------------------------------- */ ++ + static gchar * + get_session_address_platform_specific (GError **error) + { +@@ -1503,7 +1600,12 @@ + * X11 autolaunching; on Windows this means a different autolaunching + * mechanism based on shared memory. + */ ++ ++#ifdef __APPLE__ ++ return get_session_address_macports_specific (error); ++#else + return get_session_address_dbus_launch (error); ++#endif + } + + /* ---------------------------------------------------------------------------------------------------- */
participants (1)
-
devans@macports.org