diff options
Diffstat (limited to 'testing/pidgin')
-rw-r--r-- | testing/pidgin/PKGBUILD | 114 | ||||
-rw-r--r-- | testing/pidgin/nm09-more.patch | 49 | ||||
-rw-r--r-- | testing/pidgin/nm09-pidgin.patch | 38 | ||||
-rw-r--r-- | testing/pidgin/pidgin.install | 11 |
4 files changed, 212 insertions, 0 deletions
diff --git a/testing/pidgin/PKGBUILD b/testing/pidgin/PKGBUILD new file mode 100644 index 000000000..3ed646b74 --- /dev/null +++ b/testing/pidgin/PKGBUILD @@ -0,0 +1,114 @@ +# $Id: PKGBUILD 124935 2011-05-25 09:46:33Z foutrelis $ +# Maintainer: Evangelos Foutras <foutrelis@gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl> + +pkgname=('pidgin' 'libpurple' 'finch') +pkgver=2.7.11 +pkgrel=6 +arch=('i686' 'x86_64') +url="http://pidgin.im/" +license=('GPL') +makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm' + 'python2' 'hicolor-icon-theme' 'silc-toolkit' 'gstreamer0.10' + 'farsight2' 'avahi' 'tk' 'ca-certificates' 'intltool' + 'networkmanager') +options=('!libtool') +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} + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-schemas-install \ + --disable-meanwhile \ + --disable-gnutls \ + --enable-cyrus-sasl \ + --disable-doxygen \ + --enable-nm \ + --with-python=/usr/bin/python2 \ + --with-system-ssl-certs=/etc/ssl/certs + make +} + +package_pidgin(){ + pkgdesc="Multi-protocol instant messaging client" + depends=("libpurple=$pkgver-$pkgrel" 'startup-notification' 'gtkspell' + 'libxss' 'libsm' 'gstreamer0.10' 'hicolor-icon-theme') + optdepends=('aspell: for spelling correction' + 'ca-certificates: SSL CA certificates' + 'gstreamer0.10-good-plugins: video and voice support' + 'tk: Tcl/Tk scripting support') + install=pidgin.install + + cd "$srcdir/pidgin-$pkgver" + + # For linking + make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES + + make -C pidgin DESTDIR="$pkgdir" install + make -C doc DESTDIR="$pkgdir" install + + # Remove files that are packaged in libpurle + make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES + + install -Dm644 pidgin.desktop "$pkgdir"/usr/share/applications/pidgin.desktop + + rm "$pkgdir/usr/share/man/man1/finch.1" +} + +package_libpurple(){ + pkgdesc="IM library extracted from Pidgin" + depends=('farsight2' 'libsasl' 'dbus-glib' 'silc-toolkit' 'nss' + 'cyrus-sasl-plugins') + optdepends=('avahi: Bonjour protocol support' + 'dbus-python: for purple-remote and purple-url-handler') + + cd "$srcdir/pidgin-$pkgver" + + for _dir in libpurple share/sounds share/ca-certs m4macros po; do + make -C "$_dir" DESTDIR="$pkgdir" install + done +} + +package_finch(){ + pkgdesc="A ncurses-based messaging client" + depends=("libpurple=$pkgver-$pkgrel" 'python2' 'gstreamer0.10') + optdepends=('avahi: Bonjour protocol support' + 'ca-certificates: SSL CA certificates' + 'tk: Tcl/Tk scripting support') + + cd "$srcdir/pidgin-$pkgver" + + # For linking + make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES + + make -C finch DESTDIR="$pkgdir" install + make -C doc DESTDIR="$pkgdir" install + + # Remove files that are packaged in libpurle + make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES + + rm "$pkgdir"/usr/share/man/man1/pidgin.1 +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/pidgin/nm09-more.patch b/testing/pidgin/nm09-more.patch new file mode 100644 index 000000000..8c708df9a --- /dev/null +++ b/testing/pidgin/nm09-more.patch @@ -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) { diff --git a/testing/pidgin/nm09-pidgin.patch b/testing/pidgin/nm09-pidgin.patch new file mode 100644 index 000000000..1c2471d1f --- /dev/null +++ b/testing/pidgin/nm09-pidgin.patch @@ -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) diff --git a/testing/pidgin/pidgin.install b/testing/pidgin/pidgin.install new file mode 100644 index 000000000..1a05f573e --- /dev/null +++ b/testing/pidgin/pidgin.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |