Without the following patches illumos-gate build fail with errors like this:
In file included from /usr/include/dbus-1.0/dbus/dbus.h:30,                                                                          
                 from ../common/libhal.c:35:                                                                                         
/usr/include/dbus-1.0/dbus/dbus-address.h:74:14: error: expected ';' before 'void'                                                   
   74 | static inline void                                                                                                                                                                    
      |              ^~~~~                                                                                                           
      |              ;                                                                                                               

diff -wpruN --no-dereference '--exclude=*.orig' a~/dbus/dbus-address.h a/dbus/dbus-address.h
--- a~/dbus/dbus-address.h	1970-01-01 00:00:00
+++ a/dbus/dbus-address.h	1970-01-01 00:00:00
@@ -71,12 +71,9 @@ char* dbus_address_unescape_value (const
  * pointer_to_entries must not be #NULL, but *pointer_to_entries
  * may be #NULL.
  */
-static inline void
-dbus_clear_address_entries (DBusAddressEntry ***pointer_to_entries)
-{
-  _dbus_clear_pointer_impl (DBusAddressEntry *, pointer_to_entries,
-                            dbus_address_entries_free);
-}
+#define dbus_clear_address_entries(pointer) \
+	_dbus_clear_pointer_impl(DBusAddressEntry *, \
+	(pointer), dbus_address_entries_free)
 
 /** @} */
 
diff -wpruN --no-dereference '--exclude=*.orig' a~/dbus/dbus-connection.h a/dbus/dbus-connection.h
--- a~/dbus/dbus-connection.h	1970-01-01 00:00:00
+++ a/dbus/dbus-connection.h	1970-01-01 00:00:00
@@ -461,12 +461,9 @@ dbus_bool_t dbus_connection_get_socket
  * pointer_to_connection must not be #NULL, but *pointer_to_connection
  * may be #NULL.
  */
-static inline void
-dbus_clear_connection (DBusConnection **pointer_to_connection)
-{
-  _dbus_clear_pointer_impl (DBusConnection, pointer_to_connection,
-                            dbus_connection_unref);
-}
+#define dbus_clear_connection(pointer) \
+	_dbus_clear_pointer_impl(DBusConnection, \
+	(pointer), dbus_connection_unref)
 
 /** @} */
 
diff -wpruN --no-dereference '--exclude=*.orig' a~/dbus/dbus-message.h a/dbus/dbus-message.h
--- a~/dbus/dbus-message.h	1970-01-01 00:00:00
+++ a/dbus/dbus-message.h	1970-01-01 00:00:00
@@ -369,12 +369,8 @@ dbus_bool_t dbus_message_get_allow_inter
  * pointer_to_message must not be #NULL, but *pointer_to_message
  * may be #NULL.
  */
-static inline void
-dbus_clear_message (DBusMessage **pointer_to_message)
-{
-  _dbus_clear_pointer_impl (DBusMessage, pointer_to_message,
-                            dbus_message_unref);
-}
+#define dbus_clear_message(pointer) \
+	_dbus_clear_pointer_impl(DBusMessage, (pointer), dbus_message_unref)
 
 /** @} */
 
diff -wpruN --no-dereference '--exclude=*.orig' a~/dbus/dbus-pending-call.h a/dbus/dbus-pending-call.h
--- a~/dbus/dbus-pending-call.h	1970-01-01 00:00:00
+++ a/dbus/dbus-pending-call.h	1970-01-01 00:00:00
@@ -84,12 +84,9 @@ void*       dbus_pending_call_get_data
  * pointer_to_pending_call must not be #NULL, but *pointer_to_pending_call
  * may be #NULL.
  */
-static inline void
-dbus_clear_pending_call (DBusPendingCall **pointer_to_pending_call)
-{
-  _dbus_clear_pointer_impl (DBusPendingCall, pointer_to_pending_call,
-                            dbus_pending_call_unref);
-}
+#define dbus_clear_pending_call(pointer) \
+	_dbus_clear_pointer_impl(DBusPendingCall, (pointer), \
+	dbus_pending_call_unref)
 
 /** @} */
 
diff -wpruN --no-dereference '--exclude=*.orig' a~/dbus/dbus-server.h a/dbus/dbus-server.h
--- a~/dbus/dbus-server.h	1970-01-01 00:00:00
+++ a/dbus/dbus-server.h	1970-01-01 00:00:00
@@ -112,11 +112,8 @@ void*       dbus_server_get_data
  * pointer_to_server must not be #NULL, but *pointer_to_server
  * may be #NULL.
  */
-static inline void
-dbus_clear_server (DBusServer **pointer_to_server)
-{
-  _dbus_clear_pointer_impl (DBusServer, pointer_to_server, dbus_server_unref);
-}
+#define dbus_clear_server(pointer) \
+	_dbus_clear_pointer_impl(DBusServer, (pointer), dbus_server_unref)
 
 /** @} */