diff options
author | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-08-07 22:07:39 +0000 |
---|---|---|
committer | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-08-07 22:09:15 +0000 |
commit | 2895b2dd1ef233b3844744f9844b1f691b039510 (patch) | |
tree | a7e6c6f41c716771e3a8f4d2d35d505bfa9cb980 /recipes/dbus | |
parent | bfaa176eefb3239f9c043e29907e55b54ee227b0 (diff) |
dbus-glib: add 0.82
Diffstat (limited to 'recipes/dbus')
-rw-r--r-- | recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch | 115 | ||||
-rw-r--r-- | recipes/dbus/dbus-glib-0.82/no-examples.patch | 8 | ||||
-rw-r--r-- | recipes/dbus/dbus-glib-0.82/no-introspect.patch | 14 | ||||
-rw-r--r-- | recipes/dbus/dbus-glib.inc | 36 | ||||
-rw-r--r-- | recipes/dbus/dbus-glib_0.82.bb | 2 |
5 files changed, 175 insertions, 0 deletions
diff --git a/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch b/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch new file mode 100644 index 0000000000..0cea12431f --- /dev/null +++ b/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch @@ -0,0 +1,115 @@ +diff -ur dbus-glib-0.78/dbus/dbus-gproxy.c patched/dbus-glib-0.78/dbus/dbus-gproxy.c +--- dbus-glib-0.78/dbus/dbus-gproxy.c 2008-11-17 19:45:50.000000000 +0100 ++++ patched/dbus-glib-0.78/dbus/dbus-gproxy.c 2009-01-30 18:12:51.000000000 +0100 +@@ -2175,6 +2175,41 @@ + return NULL; + } + ++struct dbus_g_proxy_begin_call_internal_helper_args ++{ ++ DBusGProxy *proxy; ++ DBusGProxyCallNotify notify; ++ guint call_id; ++ gpointer user_data; ++ GDestroyNotify destroy; ++}; ++ ++static void ++dbus_g_proxy_begin_call_internal_helper (DBusPendingCall *pending, void *user_data) ++{ ++ struct dbus_g_proxy_begin_call_internal_helper_args *t1 = user_data; ++ DBusGProxyPrivate *priv = DBUS_G_PROXY_GET_PRIVATE(t1->proxy); ++ GPendingNotifyClosure *closure; ++ ++ ++ t1->call_id = ++priv->call_id_counter; ++ ++ if (t1->notify != NULL) ++ { ++ closure = g_new (GPendingNotifyClosure, 1); ++ closure->proxy = t1->proxy; /* No need to ref as the lifecycle is tied to proxy */ ++ closure->call_id = t1->call_id; ++ closure->func = t1->notify; ++ closure->data = t1->user_data; ++ closure->free_data_func = t1->destroy; ++ dbus_pending_call_set_notify (pending, d_pending_call_notify, ++ closure, ++ d_pending_call_free); ++ } ++ ++ g_hash_table_insert (priv->pending_calls, GUINT_TO_POINTER (t1->call_id), pending); ++} ++ + static guint + dbus_g_proxy_begin_call_internal (DBusGProxy *proxy, + const char *method, +@@ -2182,52 +2217,42 @@ + gpointer user_data, + GDestroyNotify destroy, + GValueArray *args, +- int timeout) ++ int timeout) + { ++ struct dbus_g_proxy_begin_call_internal_helper_args t1; ++ + DBusMessage *message; + DBusPendingCall *pending; +- GPendingNotifyClosure *closure; +- guint call_id; + DBusGProxyPrivate *priv = DBUS_G_PROXY_GET_PRIVATE(proxy); + ++ t1.proxy = proxy; ++ t1.notify = notify; ++ t1.user_data = user_data; ++ t1.destroy = destroy; ++ + pending = NULL; + + message = dbus_g_proxy_marshal_args_to_message (proxy, method, args); + if (!message) + goto oom; + +- if (!dbus_connection_send_with_reply (priv->manager->connection, +- message, +- &pending, +- timeout)) ++ if (!dbus_connection_send_with_reply_setup (priv->manager->connection, ++ message, ++ &pending, ++ dbus_g_proxy_begin_call_internal_helper, ++ &t1, ++ timeout)) + goto oom; + dbus_message_unref (message); +- ++ + /* If we got a NULL pending, that means the connection was disconnected, +- * and we need to abort this call. ++ * and we need to abort this call. + * https://bugs.freedesktop.org/show_bug.cgi?id=12675 + */ + if (pending == NULL) + return 0; + +- call_id = ++priv->call_id_counter; +- +- if (notify != NULL) +- { +- closure = g_new (GPendingNotifyClosure, 1); +- closure->proxy = proxy; /* No need to ref as the lifecycle is tied to proxy */ +- closure->call_id = call_id; +- closure->func = notify; +- closure->data = user_data; +- closure->free_data_func = destroy; +- dbus_pending_call_set_notify (pending, d_pending_call_notify, +- closure, +- d_pending_call_free); +- } +- +- g_hash_table_insert (priv->pending_calls, GUINT_TO_POINTER (call_id), pending); +- +- return call_id; ++ return t1.call_id; + oom: + g_error ("Out of memory"); + return 0; diff --git a/recipes/dbus/dbus-glib-0.82/no-examples.patch b/recipes/dbus/dbus-glib-0.82/no-examples.patch new file mode 100644 index 0000000000..483153db74 --- /dev/null +++ b/recipes/dbus/dbus-glib-0.82/no-examples.patch @@ -0,0 +1,8 @@ +--- dbus-glib-0.70/dbus/Makefile.am.orig 2006-07-23 16:04:43.000000000 +0200 ++++ dbus-glib-0.70/dbus/Makefile.am 2006-07-23 16:04:52.000000000 +0200 +@@ -1,4 +1,4 @@ +-SUBDIRS = . examples ++SUBDIRS = . + + INCLUDES=-I$(top_srcdir) $(DBUS_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS) -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" + diff --git a/recipes/dbus/dbus-glib-0.82/no-introspect.patch b/recipes/dbus/dbus-glib-0.82/no-introspect.patch new file mode 100644 index 0000000000..f667c06879 --- /dev/null +++ b/recipes/dbus/dbus-glib-0.82/no-introspect.patch @@ -0,0 +1,14 @@ +Index: dbus-glib-0.82/tools/Makefile.am +=================================================================== +--- dbus-glib-0.82.orig/tools/Makefile.am ++++ dbus-glib-0.82/tools/Makefile.am +@@ -3,9 +3,6 @@ + nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h + libdbus_glibdir = $(includedir)/dbus-1.0/dbus + +-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/dbus/dbus-binding-tool$(EXEEXT) +- $(DBUS_BINDING_TOOL) --mode=glib-client --prefix=dbus_bus --output=dbus-glib-bindings.h dbus-bus-introspect.xml +- + BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml + + if USE_INTROSPECT_XML diff --git a/recipes/dbus/dbus-glib.inc b/recipes/dbus/dbus-glib.inc new file mode 100644 index 0000000000..ced9b37b8b --- /dev/null +++ b/recipes/dbus/dbus-glib.inc @@ -0,0 +1,36 @@ +DESCRIPTION = "GLib bindings for the dbus message bus system" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +SECTION = "libs" +LICENSE = "GPL" +DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" +INC_PR = "r0" + +SRC_URI = "\ + http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ + file://no-introspect.patch;patch=1 \ + file://no-examples.patch;patch=1 \ +" + +inherit autotools pkgconfig gettext + +do_configure_prepend() { + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ +} + +do_stage() { + oe_libinstall -so -C dbus libdbus-glib-1 ${STAGING_LIBDIR} + autotools_stage_includes +} + +PACKAGES += "${PN}-bash-completion" +FILES_${PN}-bash-completion = "\ + ${sysconfdir}/bash_completion.d \ + ${prefix}/libexec/dbus-bash-completion-helper \ +" +FILES_${PN} = "${libdir}/lib*.so.*" +FILES_${PN}-dev += "\ + ${libdir}/dbus-1.0/include \ + ${bindir}/dbus-glib-tool \ + ${bindir}/dbus-binding-tool \ +" diff --git a/recipes/dbus/dbus-glib_0.82.bb b/recipes/dbus/dbus-glib_0.82.bb new file mode 100644 index 0000000000..f5790dcd0e --- /dev/null +++ b/recipes/dbus/dbus-glib_0.82.bb @@ -0,0 +1,2 @@ +require dbus-glib.inc +PR = "${INC_PR}.0" |