diff options
Diffstat (limited to 'extra/pidgin')
-rw-r--r-- | extra/pidgin/PKGBUILD | 22 | ||||
-rw-r--r-- | extra/pidgin/pidgin-2.10.0-silc-remote-crash-fix.diff | 21 |
2 files changed, 35 insertions, 8 deletions
diff --git a/extra/pidgin/PKGBUILD b/extra/pidgin/PKGBUILD index 59c3a4f31..e4dbbdc8d 100644 --- a/extra/pidgin/PKGBUILD +++ b/extra/pidgin/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 135966 2011-08-21 02:57:32Z foutrelis $ +# $Id: PKGBUILD 139167 2011-09-30 16:27:55Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -7,7 +7,7 @@ pkgname=('pidgin' 'libpurple' 'finch') pkgver=2.10.0 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://pidgin.im/" license=('GPL') @@ -17,9 +17,11 @@ makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm' 'networkmanager') options=('!libtool') source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 - nm09-more.patch) -md5sums=('e1453c9093c4f32beec19abd14069a3f' - 'a673659d86c7a65aa710f7c8c7feda82') + nm09-more.patch + pidgin-2.10.0-silc-remote-crash-fix.diff) +sha1sums=('859c6d9c9795c1adcf762b73e072e04a3a85a78d' + '0676b26f092fac3ee4bbea2261042b3f433c7751' + '8c7fc96abeca0f76d895bb33a530bf49e12f5bc6') build() { cd "$srcdir/$pkgname-$pkgver" @@ -28,8 +30,12 @@ build() { # http://developer.pidgin.im/ticket/13859 patch -Np1 -i "$srcdir/nm09-more.patch" + # Fix remote crash in SILC plugin + # http://developer.pidgin.im/ticket/14636 + patch -Np0 -i "$srcdir/pidgin-2.10.0-silc-remote-crash-fix.diff" + # Use Python 2 - sed -i 's/env python$/\02/' */plugins/*.py \ + sed -i 's/env python$/&2/' */plugins/*.py \ libpurple/purple-{remote,notifications-example,url-handler} ./configure \ @@ -48,8 +54,8 @@ build() { package_pidgin(){ pkgdesc="Multi-protocol instant messaging client" - depends=("libpurple=$pkgver-$pkgrel" 'startup-notification' 'gtkspell' - 'libxss' 'libsm' 'gstreamer0.10' 'hicolor-icon-theme') + depends=('libpurple' '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' diff --git a/extra/pidgin/pidgin-2.10.0-silc-remote-crash-fix.diff b/extra/pidgin/pidgin-2.10.0-silc-remote-crash-fix.diff new file mode 100644 index 000000000..de4b126d0 --- /dev/null +++ b/extra/pidgin/pidgin-2.10.0-silc-remote-crash-fix.diff @@ -0,0 +1,21 @@ +============================================================ +--- libpurple/protocols/silc/ops.c 30ab18780af11a53b6564a44c4e8ebfc1a296d78 ++++ libpurple/protocols/silc/ops.c 80bd9a7d3faf9e5ef28438647159fe19847e9839 +@@ -408,9 +408,16 @@ silc_private_message(SilcClient client, + } + + if (flags & SILC_MESSAGE_FLAG_UTF8) { +- tmp = g_markup_escape_text((const char *)message, -1); ++ const char *msg = (const char *)message; ++ char *salvaged = NULL; ++ if (!g_utf8_validate((const char *)message, -1, NULL)) { ++ salvaged = purple_utf8_salvage((const char *)message); ++ msg = salvaged; ++ } ++ tmp = g_markup_escape_text(msg, -1); + /* Send to Purple */ + serv_got_im(gc, sender->nickname, tmp, 0, time(NULL)); ++ g_free(salvaged); + g_free(tmp); + } + } |