diff --git a/dev-libs/dbus-glib/Manifest b/dev-libs/dbus-glib/Manifest
new file mode 100644
index 00000000..0d3d367f
--- /dev/null
+++ b/dev-libs/dbus-glib/Manifest
@@ -0,0 +1,4 @@
+AUX dbus-glib-0.73-namespaces.patch 2860 RMD160 09626272912e371370c96918c67917428a8a091c SHA1 f0b6d2daf09e401cae3f43707dd0d9307a6adc26 SHA256 6ee75ddee4a5abfa6f3ca829c5f0bee6709b7817b7a6f34096483bc087421c9d
+AUX dbus-glib-introspection.patch 2572 RMD160 38798ef61f4145d48e16be64888c3bfb14cadf35 SHA1 8a6e76045ffc94b269b496df60988ed3b0b61849 SHA256 3c24232d968a1f60f26bf364a5f5ff140c82307f8696877996c8602a48c7984d
+DIST dbus-glib-0.76.tar.gz 667547 RMD160 d01b5ef85c3e2717495849fdf8378bcf16c07f31 SHA1 f7bfe7c394559bee12f0adfffd333304d471779a SHA256 8bc083faaf3efdd444a8a44bbcbfea501a7b547736fda3c2d83bfdc9b5b672a3
+EBUILD dbus-glib-0.76.ebuild 1669 RMD160 e4c2c5d392b5c26a59e9c9b1a56a6ff5199a2702 SHA1 4a1e07c70efaff4e4a1eacf6005f037924735339 SHA256 72a05ed580d26f7b19f3d25111e513f799b4d66a952137c092ea5642212dbb6e
diff --git a/dev-libs/dbus-glib/dbus-glib-0.76.ebuild b/dev-libs/dbus-glib/dbus-glib-0.76.ebuild
new file mode 100644
index 00000000..4fe5e13e
--- /dev/null
+++ b/dev-libs/dbus-glib/dbus-glib-0.76.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/dbus-glib/dbus-glib-0.74.ebuild,v 1.8 2008/02/29 05:38:12 jer Exp $
+
+inherit eutils multilib autotools
+
+DESCRIPTION="D-Bus bindings for glib"
+HOMEPAGE="http://dbus.freedesktop.org/"
+SRC_URI="http://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 AFL-2.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc selinux debug"
+
+RDEPEND=">=sys-apps/dbus-0.94
+ >=dev-libs/glib-2.6
+ selinux? ( sys-libs/libselinux )
+ >=dev-libs/libxml2-2.6.21"
+ # expat code now sucks.. libxml2 is the default
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/doxygen app-text/xmlto )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-introspection.patch
+}
+
+src_compile() {
+ local myconf=""
+
+ econf \
+ $(use_enable selinux) \
+ $(use_enable debug verbose-mode) \
+ $(use_enable debug checks) \
+ $(use_enable debug asserts) \
+ --with-xml=libxml \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --with-system-socket=/var/run/dbus/system_bus_socket \
+ --with-session-socket-dir=/tmp \
+ --with-dbus-user=messagebus \
+ --localstatedir=/var \
+ $(use_enable doc doxygen-docs) \
+ --disable-xml-docs \
+ ${myconf} \
+ || die "econf failed"
+
+ # after the compile, it uses a selinuxfs interface to
+ # check if the SELinux policy has the right support
+ use selinux && addwrite /selinux/access
+
+ emake || die "make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS ChangeLog HACKING NEWS README
+}
diff --git a/dev-libs/dbus-glib/files/dbus-glib-0.73-namespaces.patch b/dev-libs/dbus-glib/files/dbus-glib-0.73-namespaces.patch
new file mode 100644
index 00000000..53bc4eb3
--- /dev/null
+++ b/dev-libs/dbus-glib/files/dbus-glib-0.73-namespaces.patch
@@ -0,0 +1,81 @@
+--- dbus/dbus-gparser.c 2006-09-27 08:27:24.000000000 -0400
++++ dbus/dbus-gparser.c 2008-03-13 08:54:14.000000000 -0400
+@@ -128,13 +128,17 @@ locate_attributes (const char *element_
+
+ if (!found)
+ {
+- g_set_error (error,
+- G_MARKUP_ERROR,
+- G_MARKUP_ERROR_PARSE,
+- _("Attribute \"%s\" is invalid on <%s> element in this context"),
+- attribute_names[i], element_name);
+- retval = FALSE;
+- goto out;
++ /* We want to passthrough namespaced XML nodes that we don't know anything about. */
++ if (strchr (attribute_names[i], ':') == NULL)
++ {
++ g_set_error (error,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Attribute \"%s\" is invalid on <%s> element in this context"),
++ attribute_names[i], element_name);
++ retval = FALSE;
++ goto out;
++ }
+ }
+
+ ++i;
+@@ -177,6 +181,7 @@ struct Parser
+ PropertyInfo *property;
+ ArgInfo *arg;
+ gboolean in_annotation;
++ guint unknown_namespaced_depth;
+ };
+
+ Parser*
+@@ -791,10 +796,14 @@ parser_start_element (Parser *parse
+ }
+ else
+ {
+- g_set_error (error, G_MARKUP_ERROR,
+- G_MARKUP_ERROR_PARSE,
+- _("Element <%s> not recognized"),
+- element_name);
++ if (strchr (element_name, ':') != NULL)
++ /* Passthrough XML-namespaced nodes */
++ parser->unknown_namespaced_depth += 1;
++ else if (parser->unknown_namespaced_depth == 0)
++ g_set_error (error, G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Element <%s> not recognized"),
++ element_name);
+ }
+
+ return TRUE;
+@@ -844,6 +853,15 @@ parser_end_element (Parser *parser,
+ if (parser->node_stack == NULL)
+ parser->result = top; /* We are done, store the result */
+ }
++ else if (strchr (element_name, ':') != NULL)
++ {
++ /* Passthrough XML-namespaced nodes */
++ parser->unknown_namespaced_depth -= 1;
++ }
++ else if (parser->unknown_namespaced_depth > 0)
++ {
++ /* pass through unknown elements underneath a namespace */
++ }
+ else
+ g_assert_not_reached (); /* should have had an error on start_element */
+
+--- dbus/dbus-glib-tool.c 2008-03-13 08:31:21.000000000 -0400
++++ dbus/dbus-glib-tool.c 2008-03-13 08:32:15.000000000 -0400
+@@ -414,7 +414,7 @@ main (int argc, char **argv)
+ &error);
+ if (node == NULL)
+ {
+- lose_gerror (_("Unable to load \"%s\""), error);
++ lose (_("Unable to load \"%s\": %s"), filename, error->message);
+ }
+ else
+ {
diff --git a/dev-libs/dbus-glib/files/dbus-glib-introspection.patch b/dev-libs/dbus-glib/files/dbus-glib-introspection.patch
new file mode 100644
index 00000000..4e65bda3
--- /dev/null
+++ b/dev-libs/dbus-glib/files/dbus-glib-introspection.patch
@@ -0,0 +1,78 @@
+diff -Npru dbus-glib-0.71-orig/tools/dbus-bus-introspect.xml dbus-glib-0.71/tools/dbus-bus-introspect.xml
+--- tools/dbus-bus-introspect.xml 1969-12-31 17:00:00.000000000 -0700
++++ tools/dbus-bus-introspect.xml 2006-07-24 14:32:01.000000000 -0600
+@@ -0,0 +1,74 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --git a/dev-libs/dbus-glib/metadata.xml b/dev-libs/dbus-glib/metadata.xml
new file mode 100644
index 00000000..7e328698
--- /dev/null
+++ b/dev-libs/dbus-glib/metadata.xml
@@ -0,0 +1,5 @@
+
+
+
+maintainer-wanted
+