[oe-commits] Michael 'Mickey' Lauer : dbus-glib: add 0.82

git version control git at git.openembedded.org
Fri Aug 7 23:04:50 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 2895b2dd1ef233b3844744f9844b1f691b039510
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=2895b2dd1ef233b3844744f9844b1f691b039510

Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date:   Fri Aug  7 22:07:39 2009 +0000

dbus-glib: add 0.82

---

 recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch |  115 ++++++++++++++++++++++
 recipes/dbus/dbus-glib-0.82/no-examples.patch    |    8 ++
 recipes/dbus/dbus-glib-0.82/no-introspect.patch  |   14 +++
 recipes/dbus/dbus-glib.inc                       |   36 +++++++
 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 0000000..0cea124
--- /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 0000000..483153d
--- /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 0000000..f667c06
--- /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 0000000..ced9b37
--- /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 0000000..f5790dc
--- /dev/null
+++ b/recipes/dbus/dbus-glib_0.82.bb
@@ -0,0 +1,2 @@
+require dbus-glib.inc
+PR = "${INC_PR}.0"





More information about the Openembedded-commits mailing list