diff -uNr ../../dports/devel/dbus/Portfile dbus/Portfile
--- ../../dports/devel/dbus/Portfile	Sat Apr  4 17:33:26 2009
+++ dbus/Portfile	Sat Apr  4 17:58:08 2009
@@ -22,7 +22,6 @@
                     sha1    13de8dc28c9edae7b9d2928ff691549bb2bef21a \
                     rmd160  779d76320f1343dae7447c82a683e372e6c11729
 
-                
 patchfiles      patch-dbus-sysdeps-unix.c.diff \
                 patch-launchd-integration-dist.diff
 
@@ -40,8 +39,9 @@
                 --enable-launchd
 
 platform darwin 7 {
-    patchfiles              patch-dbus-launch-x11.c.diff \
-                            patch-dbus-sysdeps-util-unix.c.diff
+    patchfiles              patch-configure.diff \
+                            patch-darwin7-dbus-sysdeps-unix.c.diff \
+                            patch-darwin7-dbus-sysdeps-util-unix.c.diff
 
     depends_lib-append      port:xorg-libX11
 
diff -uNr ../../dports/devel/dbus/files/patch-configure.diff dbus/files/patch-configure.diff
--- ../../dports/devel/dbus/files/patch-configure.diff	Thu Jan  1 09:00:00 1970
+++ dbus/files/patch-configure.diff	Thu Apr  2 13:46:11 2009
@@ -0,0 +1,13 @@
+--- configure.orig	Thu Apr  2 13:44:23 2009
++++ configure	Thu Apr  2 13:45:37 2009
+@@ -20980,10 +20980,6 @@
+   *[\ \	]-Wno-sign-compare[\ \	]*) ;;
+   *) CFLAGS="$CFLAGS -Wno-sign-compare" ;;
+   esac
+-  case " $CFLAGS " in
+-  *[\ \	]-Wno-pointer-sign[\ \	]*) ;;
+-  *) CFLAGS="$CFLAGS -Wno-pointer-sign" ;;
+-  esac
+ 
+   # http://bugs.freedesktop.org/show_bug.cgi?id=19195
+   case " $CFLAGS " in
diff -uNr ../../dports/devel/dbus/files/patch-darwin7-dbus-sysdeps-unix.c.diff dbus/files/patch-darwin7-dbus-sysdeps-unix.c.diff
--- ../../dports/devel/dbus/files/patch-darwin7-dbus-sysdeps-unix.c.diff	Thu Jan  1 09:00:00 1970
+++ dbus/files/patch-darwin7-dbus-sysdeps-unix.c.diff	Thu Apr  2 15:55:32 2009
@@ -0,0 +1,11 @@
+--- dbus/dbus-sysdeps-unix.c.orig	Thu Apr  2 15:22:53 2009
++++ dbus/dbus-sysdeps-unix.c	Thu Apr  2 15:24:14 2009
+@@ -1491,7 +1491,7 @@
+     struct passwd p_str;
+ 
+     /* retrieve maximum needed size for buf */
+-    buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
++    buflen = 4096;
+ 
+     /* sysconf actually returns a long, but everything else expects size_t,
+      * so just recast here.
diff -uNr ../../dports/devel/dbus/files/patch-darwin7-dbus-sysdeps-util-unix.c.diff dbus/files/patch-darwin7-dbus-sysdeps-util-unix.c.diff
--- ../../dports/devel/dbus/files/patch-darwin7-dbus-sysdeps-util-unix.c.diff	Thu Jan  1 09:00:00 1970
+++ dbus/files/patch-darwin7-dbus-sysdeps-util-unix.c.diff	Thu Apr  2 15:55:32 2009
@@ -0,0 +1,11 @@
+--- dbus/dbus-sysdeps-util-unix.c.orig	Wed Jan  7 07:52:23 2009
++++ dbus/dbus-sysdeps-util-unix.c	Thu Apr  2 15:51:29 2009
+@@ -872,7 +872,7 @@
+     dbus_bool_t b;
+ 
+     /* retrieve maximum needed size for buf */
+-    buflen = sysconf (_SC_GETGR_R_SIZE_MAX);
++    buflen = 4096;
+ 
+     /* sysconf actually returns a long, but everything else expects size_t,
+      * so just recast here.
diff -uNr ../../dports/devel/dbus/files/patch-dbus-launch-x11.c.diff dbus/files/patch-dbus-launch-x11.c.diff
--- ../../dports/devel/dbus/files/patch-dbus-launch-x11.c.diff	Thu Apr  2 13:53:58 2009
+++ dbus/files/patch-dbus-launch-x11.c.diff	Thu Jan  1 09:00:00 1970
@@ -1,11 +0,0 @@
---- ./tools/dbus-launch-x11.c.orig	2008-10-11 18:53:43.000000000 +0800
-+++ ./tools/dbus-launch-x11.c	2008-10-11 18:51:51.000000000 +0800
-@@ -143,7 +143,7 @@
-    */
-   for (p = display; *p; ++p)
-     {
--      if (*p == ':')
-+      if (*p == ':' || *p == '/')
-         *p = '_';
-     }
-   
diff -uNr ../../dports/devel/dbus/files/patch-dbus-sysdeps-util-unix.c.diff dbus/files/patch-dbus-sysdeps-util-unix.c.diff
--- ../../dports/devel/dbus/files/patch-dbus-sysdeps-util-unix.c.diff	Thu Apr  2 13:53:58 2009
+++ dbus/files/patch-dbus-sysdeps-util-unix.c.diff	Thu Jan  1 09:00:00 1970
@@ -1,17 +0,0 @@
---- dbus/dbus-sysdeps-util-unix.c.orig	2008-12-28 12:04:09.000000000 -0500
-+++ dbus/dbus-sysdeps-util-unix.c	2008-12-28 10:04:16.000000000 -0500
-@@ -43,6 +43,7 @@
- #include <sys/socket.h>
- #include <dirent.h>
- #include <sys/un.h>
-+#include <syslog.h>
- #ifdef HAVE_LIBAUDIT
- #include <sys/prctl.h>
- #include <sys/capability.h>
-@@ -1227,4 +1228,4 @@
-   _dbus_string_free (&cmdline);
-   _dbus_string_free (&path);
-   return FALSE;
--}
-\ No newline at end of file
-+}
