Date: Wednesday, May 25, 2011 @ 05:33:46 Author: foutrelis Revision: 124929
upgpkg: pidgin 2.7.11-5 Add patches for NetworkManager 0.9. Added: pidgin/trunk/nm09-more.patch pidgin/trunk/nm09-pidgin.patch Modified: pidgin/trunk/PKGBUILD -------------------+ PKGBUILD | 18 +++++++++++++++--- nm09-more.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ nm09-pidgin.patch | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-05-25 09:28:04 UTC (rev 124928) +++ PKGBUILD 2011-05-25 09:33:46 UTC (rev 124929) @@ -7,7 +7,7 @@ pkgname=('pidgin' 'libpurple' 'finch') pkgver=2.7.11 -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') url="http://pidgin.im/" license=('GPL') @@ -16,12 +16,22 @@ 'farsight2' 'avahi' 'tk' 'ca-certificates' 'intltool' 'networkmanager') options=('!libtool') -source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('07c2a2535b4d7436b5ec7685fe063fec') +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 + nm09-pidgin.patch + nm09-more.patch) +md5sums=('07c2a2535b4d7436b5ec7685fe063fec' + '744a21b4dbaf949dba7cd3b75b12b4fe' + 'a673659d86c7a65aa710f7c8c7feda82') build() { cd "$srcdir/$pkgname-$pkgver" + # Update for NetworkManager 0.9 connection states + # (http://developer.pidgin.im/ticket/13505) + # (http://developer.pidgin.im/ticket/13859) + patch -Np1 -i "$srcdir/nm09-pidgin.patch" + patch -Np1 -i "$srcdir/nm09-more.patch" + # Use Python 2 sed -i 's/env python$/\02/' */plugins/*.py \ libpurple/purple-{remote,notifications-example,url-handler} @@ -100,3 +110,5 @@ rm "$pkgdir"/usr/share/man/man1/pidgin.1 } + +# vim:set ts=2 sw=2 et: Added: nm09-more.patch =================================================================== --- nm09-more.patch (rev 0) +++ nm09-more.patch 2011-05-25 09:33:46 UTC (rev 124929) @@ -0,0 +1,49 @@ +diff -up pidgin-2.7.11/libpurple/network.c.nm09more pidgin-2.7.11/libpurple/network.c +--- pidgin-2.7.11/libpurple/network.c.nm09more 2011-04-26 12:01:27.700085246 -0500 ++++ pidgin-2.7.11/libpurple/network.c 2011-05-24 13:13:28.185165657 -0500 +@@ -833,8 +833,20 @@ purple_network_is_available(void) + purple_debug_warning("network", "NetworkManager not active. Assuming connection exists.\n"); + } + +- if (nm_state == NM_STATE_UNKNOWN || nm_state == NM_STATE_CONNECTED) +- return TRUE; ++ switch (nm_state) ++ { ++ case NM_STATE_UNKNOWN: ++#if NM_CHECK_VERSION(0,8,992) ++ case NM_STATE_CONNECTED_LOCAL: ++ case NM_STATE_CONNECTED_SITE: ++ case NM_STATE_CONNECTED_GLOBAL: ++#else ++ case NM_STATE_CONNECTED: ++#endif ++ return TRUE; ++ default: ++ break; ++ } + + return FALSE; + +@@ -1170,9 +1182,14 @@ purple_network_init(void) + NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE); ++ /* NM 0.6 signal */ + dbus_g_proxy_add_signal(nm_proxy, "StateChange", G_TYPE_UINT, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(nm_proxy, "StateChange", + G_CALLBACK(nm_state_change_cb), NULL, NULL); ++ /* NM 0.7 and later signal */ ++ dbus_g_proxy_add_signal(nm_proxy, "StateChanged", G_TYPE_UINT, G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal(nm_proxy, "StateChanged", ++ G_CALLBACK(nm_state_change_cb), NULL, NULL); + + dbus_proxy = dbus_g_proxy_new_for_name(nm_conn, + DBUS_SERVICE_DBUS, +@@ -1207,6 +1224,7 @@ purple_network_uninit(void) + #ifdef HAVE_NETWORKMANAGER + if (nm_proxy) { + dbus_g_proxy_disconnect_signal(nm_proxy, "StateChange", G_CALLBACK(nm_state_change_cb), NULL); ++ dbus_g_proxy_disconnect_signal(nm_proxy, "StateChanged", G_CALLBACK(nm_state_change_cb), NULL); + g_object_unref(G_OBJECT(nm_proxy)); + } + if (dbus_proxy) { Added: nm09-pidgin.patch =================================================================== --- nm09-pidgin.patch (rev 0) +++ nm09-pidgin.patch 2011-05-25 09:33:46 UTC (rev 124929) @@ -0,0 +1,38 @@ +diff -up pidgin-2.7.10/libpurple/network.c.foo pidgin-2.7.10/libpurple/network.c +--- pidgin-2.7.10/libpurple/network.c.foo 2011-03-10 02:21:43.920933267 -0600 ++++ pidgin-2.7.10/libpurple/network.c 2011-03-10 02:23:11.466838793 -0600 +@@ -71,6 +71,10 @@ + #include <dbus/dbus-glib.h> + #include <NetworkManager.h> + ++#if !defined(NM_CHECK_VERSION) ++#define NM_CHECK_VERSION(x,y,z) 0 ++#endif ++ + static DBusGConnection *nm_conn = NULL; + static DBusGProxy *nm_proxy = NULL; + static DBusGProxy *dbus_proxy = NULL; +@@ -863,7 +867,13 @@ nm_update_state(NMState state) + + switch(state) + { ++#if NM_CHECK_VERSION(0,8,992) ++ case NM_STATE_CONNECTED_LOCAL: ++ case NM_STATE_CONNECTED_SITE: ++ case NM_STATE_CONNECTED_GLOBAL: ++#else + case NM_STATE_CONNECTED: ++#endif + /* Call res_init in case DNS servers have changed */ + res_init(); + /* update STUN IP in case we it changed (theoretically we could +@@ -880,6 +890,9 @@ nm_update_state(NMState state) + case NM_STATE_ASLEEP: + case NM_STATE_CONNECTING: + case NM_STATE_DISCONNECTED: ++#if NM_CHECK_VERSION(0,8,992) ++ case NM_STATE_DISCONNECTING: ++#endif + if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN) + break; + if (ui_ops != NULL && ui_ops->network_disconnected != NULL)