summaryrefslogtreecommitdiff
path: root/testing/pidgin
diff options
context:
space:
mode:
Diffstat (limited to 'testing/pidgin')
-rw-r--r--testing/pidgin/PKGBUILD114
-rw-r--r--testing/pidgin/nm09-more.patch49
-rw-r--r--testing/pidgin/nm09-pidgin.patch38
-rw-r--r--testing/pidgin/pidgin.install11
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
+}