summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-im/gajim/ChangeLog8
-rw-r--r--net-im/gajim/Manifest12
-rw-r--r--net-im/gajim/files/gajim-0.14.4-debian_patches_unicode.patch86
-rw-r--r--net-im/gajim/gajim-0.14.4-r2.ebuild110
4 files changed, 210 insertions, 6 deletions
diff --git a/net-im/gajim/ChangeLog b/net-im/gajim/ChangeLog
index 090f8d718dce..3bd336cb5691 100644
--- a/net-im/gajim/ChangeLog
+++ b/net-im/gajim/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-im/gajim
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/gajim/ChangeLog,v 1.128 2011/10/27 06:35:47 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/gajim/ChangeLog,v 1.129 2011/10/29 19:55:46 jlec Exp $
+
+*gajim-0.14.4-r2 (29 Oct 2011)
+
+ 29 Oct 2011; Justin Lecher <jlec@gentoo.org> +gajim-0.14.4-r2.ebuild,
+ +files/gajim-0.14.4-debian_patches_unicode.patch:
+ Try debian solution for the unicode problem, #383463
27 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
gajim-0.14.1-r2.ebuild, gajim-0.14.4.ebuild, gajim-0.14.4-r1.ebuild:
diff --git a/net-im/gajim/Manifest b/net-im/gajim/Manifest
index a5ff0e411e97..62d34a5906b9 100644
--- a/net-im/gajim/Manifest
+++ b/net-im/gajim/Manifest
@@ -1,5 +1,5 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
AUX 0.13.4-python-version.patch 372 RMD160 19ca9bca4a00eac318f5641de4bf93d1b6c0978b SHA1 7e40dcc6e3bdc8bbbe87f84052d68108ab341ecd SHA256 81978f728540946ab58b936d01e2ac6160dcbdc387453722e062008a15b93e11
AUX 0.14-python-version.patch 316 RMD160 0866674b1e3499e8f215f0b042e15f28a54e2676 SHA1 bc360f052a46f97d1c36ec485e692080ab7a7581 SHA256 b4aba8ebc6241442f9eb1c335ba22c2eb5a3b3a24533cb2f944f3f812e06b687
@@ -7,17 +7,19 @@ AUX 0.14.1-link.patch 721 RMD160 e112f2413542b03ae28f1a192d46581304e5347c SHA1 a
AUX 0.14.1-testing.patch 237 RMD160 a0fec65b49dc987d259a1b1df7f56ccac1813d19 SHA1 a95e49f7e0efcf207dd04da420749283630f7826 SHA256 128da6d0a8ae48132df78f9027dc5ef5d8167e561fe12b1d774c628a5fc33638
AUX 0.14.4-unicode.patch 671 RMD160 5a1f41e2694051efac82c155399cb19b8d92051c SHA1 96cbd80d6e6fcde39f7e5cb4549b2e37f136901e SHA256 d27b8f3ca5323200b3151ec9a580bab62722ce2e8be403b0c8395b64b603726b
AUX gajim-0.13-autotools-enable-site-packages_option.patch 3306 RMD160 9490bde83855a72a9ad92824a082657613a60c50 SHA1 49b6c710fdd0124617ef5f5745584c47eca0313e SHA256 61d761c2eb3934c0257624dd0fe791ece5f980a312cecc4ff54e6bb7515c37ea
+AUX gajim-0.14.4-debian_patches_unicode.patch 3590 RMD160 9fbf20005ef6f605bda540dfb6a4ed96b294ad8b SHA1 5515d29ebe502315c85b59c392fa379cf85a3910 SHA256 b9a95103317d9ed543ecfe0dc8ca8b680fbd600e494ba71888bd662937a40492
DIST gajim-0.14.1.tar.bz2 4144916 RMD160 859cbd4a9f190adfc6b84c23ef03e3c3cab09d8d SHA1 d2fdf32ded4a5fb3c7a277a765f84a5453931f34 SHA256 5c8a10e7b06f362844ff70c6f49bd92a170b9d6e4c24e878f604032e31254d3b
DIST gajim-0.14.4.tar.bz2 4173732 RMD160 e9c6d14328ca1c13cb1152fde79dd3b5e5204e64 SHA1 0343af3c4bae39aa49e547b641caac197a887bb4 SHA256 24a1c6ac8d8e489f9ea377f1b68707d1b3f55ccdf55131c16cb8e6128ca3e941
EBUILD gajim-0.14.1-r2.ebuild 2434 RMD160 6d1066d07a6272f956e21425c6f0d84d56e615be SHA1 89c3789b4acba865b5aad1b3947808f4f6b92907 SHA256 de26ba938e2f4201c02e13ae6df24d3b3dd79cc6b279f68f6219a349058bd5d6
EBUILD gajim-0.14.4-r1.ebuild 2546 RMD160 664b8279792ad6616eaa35f1067808b3d3460557 SHA1 0055a6d596655bfeb43922182fef65d20904101c SHA256 892e8d6134a9a7dcf116120e69d642c2388d43a37e96ee3a6e2e55421648750e
+EBUILD gajim-0.14.4-r2.ebuild 2561 RMD160 017a52d7bfe87ebdb02b68483c8838be695bd031 SHA1 99b34fcab3f65b5e53b067fd661be5a61faa9033 SHA256 317ec705ee375a8809eb06f1a91bf7f5ec15afec0f04a627ba44e2bfe8e7d06e
EBUILD gajim-0.14.4.ebuild 2438 RMD160 d5435f4f507276886fb860dc940e54610330fb78 SHA1 47f86f5920ca044a7b457b16c9212b35f8f46440 SHA256 7063560a54cc0e5cc1d2201bc5bc52fad47fb892858204c56d18de0cf6f29f45
-MISC ChangeLog 18579 RMD160 2c8e8173ef3b8b3e00fcdc8d2ce2d619fed8b653 SHA1 631dc3aae131afecda099ebf81ac3f959ded6cec SHA256 d03f5121bccbe310ab1673a5d95dfcaeb7a718cc8acbcac253b857a5efe70b59
+MISC ChangeLog 18786 RMD160 f3f26e88ada2c777a10af60d91f9ba4c19fc7f63 SHA1 0f16ed45a40bf93d174e13ae36f58dec1a86c818 SHA256 a6e1da86fb8e968379ac2a958ac2f688714ee50bd59f8927ea4b17dfb098b9cc
MISC metadata.xml 573 RMD160 dc721373fb3fd62f6880046dae4636883f227fcb SHA1 85cba4d5f576b219ece32f59461a57575309fe99 SHA256 cdbbf751d0c4736aceae69a53fddb805be8f9daa2fb5ef1929be06814d79de69
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
-iF4EAREIAAYFAk6o+8gACgkQdjK8w9WeBnAo/QD/ShQLEnLRhU/ry6f/H3deFUm6
-IDL/DaC8uNU2aClGS0EA/3ONGt3uUO4BBdiOHkMYZu5yhAYynnReWbn0WMACHsaD
-=asDq
+iEYEAREKAAYFAk6sWk0ACgkQgAnW8HDreRZc4gCgvKDt8gVegsYWVNeAMbfdtXpe
+msgAn0/mMI3CH6HhEA26AcpjNFB7/20p
+=dKNn
-----END PGP SIGNATURE-----
diff --git a/net-im/gajim/files/gajim-0.14.4-debian_patches_unicode.patch b/net-im/gajim/files/gajim-0.14.4-debian_patches_unicode.patch
new file mode 100644
index 000000000000..7ac6764902c0
--- /dev/null
+++ b/net-im/gajim/files/gajim-0.14.4-debian_patches_unicode.patch
@@ -0,0 +1,86 @@
+Index: gajim-0.14.4/src/common/connection_handlers.py
+===================================================================
+--- gajim-0.14.4.orig/src/common/connection_handlers.py 2011-05-31 18:00:32.000000000 +0200
++++ gajim-0.14.4/src/common/connection_handlers.py 2011-10-23 19:52:10.679106710 +0200
+@@ -1607,6 +1607,8 @@
+ if keyID:
+ def decrypt_thread(encmsg, keyID):
+ decmsg = self.gpg.decrypt(encmsg, keyID)
++ decmsg = self.connection.Dispatcher.replace_non_character(
++ decmsg)
+ # \x00 chars are not allowed in C (so in GTK)
+ msgtxt = helpers.decode_string(decmsg.replace('\x00', ''))
+ encrypted = 'xep27'
+Index: gajim-0.14.4/src/common/stanza_session.py
+===================================================================
+--- gajim-0.14.4.orig/src/common/stanza_session.py 2011-05-31 18:00:32.000000000 +0200
++++ gajim-0.14.4/src/common/stanza_session.py 2011-10-23 20:05:40.979105851 +0200
+@@ -375,6 +375,12 @@
+ for child in parsed.getChildren():
+ stanza.addChild(node=child)
+
++ # replace non-character unicode
++ body = stanza.getBody()
++ if body:
++ stanza.setBody(
++ self.conn.connection.Dispatcher.replace_non_character(body))
++
+ return stanza
+
+ def decrypt(self, ciphertext):
+Index: gajim-0.14.4/src/common/xmpp/dispatcher_nb.py
+===================================================================
+--- gajim-0.14.4.orig/src/common/xmpp/dispatcher_nb.py 2011-05-22 13:12:53.000000000 +0200
++++ gajim-0.14.4/src/common/xmpp/dispatcher_nb.py 2011-10-23 19:52:10.709106647 +0200
+@@ -20,7 +20,7 @@
+ different handlers to different XMPP stanzas and namespaces
+ """
+
+-import simplexml, sys, locale
++import re, simplexml, sys, locale
+ from xml.parsers.expat import ExpatError
+ from plugin import PlugIn
+ from protocol import (NS_STREAMS, NS_XMPP_STREAMS, NS_HTTP_BIND, Iq, Presence,
+@@ -89,6 +89,24 @@
+ self.UnregisterHandler, self.RegisterProtocol,
+ self.SendAndWaitForResponse, self.SendAndCallForResponse,
+ self.getAnID, self.Event, self.send]
++
++ # \ufddo -> \ufdef range
++ c = u'\ufdd0'
++ r = c.encode('utf8')
++ while (c < u'\ufdef'):
++ c = unichr(ord(c) + 1)
++ r += '|' + c.encode('utf8')
++
++ # \ufffe-\uffff, \u1fffe-\u1ffff, ..., \u10fffe-\u10ffff
++ c = u'\ufffe'
++ r += '|' + c.encode('utf8')
++ r += '|' + unichr(ord(c) + 1).encode('utf8')
++ while (c < u'\U0010fffe'):
++ c = unichr(ord(c) + 0x10000)
++ r += '|' + c.encode('utf8')
++ r += '|' + unichr(ord(c) + 1).encode('utf8')
++
++ self.invalid_chars_re = re.compile(r)
+
+ def getAnID(self):
+ global outgoingID
+@@ -174,6 +192,9 @@
+ raise ValueError('Incorrect stream start: (%s,%s). Terminating.'
+ % (tag, ns))
+
++ def replace_non_character(self, data):
++ return re.sub(self.invalid_chars_re, u'\ufffd'.encode('utf-8'), data)
++
+ def ProcessNonBlocking(self, data):
+ """
+ Check incoming stream for data waiting
+@@ -189,6 +210,7 @@
+ # disconnect method will never be called.
+ # Is this intended?
+ # also look at transports start_disconnect()
++ data = self.replace_non_character(data)
+ for handler in self._cycleHandlers:
+ handler(self)
+ if len(self._pendingExceptions) > 0:
diff --git a/net-im/gajim/gajim-0.14.4-r2.ebuild b/net-im/gajim/gajim-0.14.4-r2.ebuild
new file mode 100644
index 000000000000..8831eb604696
--- /dev/null
+++ b/net-im/gajim/gajim-0.14.4-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/gajim/gajim-0.14.4-r2.ebuild,v 1.1 2011/10/29 19:55:46 jlec Exp $
+
+EAPI=3
+
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH="sqlite xml"
+
+inherit eutils python versionator
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="http://www.gajim.org/"
+SRC_URI="http://www.gajim.org/downloads/$(get_version_component_range 1-2)/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="avahi crypt dbus gmail gnome idle jingle libnotify networkmanager nls spell srv X xhtml"
+
+# needs EAPI=4
+#REQUIRED_USE="
+# libnotify? ( dbus )
+# avahi? ( dbus )"
+
+COMMON_DEPEND="
+ dev-python/pygtk:2
+ x11-libs/gtk+:2"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/intltool-0.40.1
+ dev-util/pkgconfig
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ dev-python/pyopenssl
+ crypt? (
+ app-crypt/gnupg
+ dev-python/pycrypto
+ )
+ dbus? (
+ dev-python/dbus-python
+ dev-libs/dbus-glib
+ libnotify? ( dev-python/notify-python )
+ avahi? ( net-dns/avahi[dbus,gtk,python] )
+ )
+ gmail? ( net-dns/bind-tools )
+ gnome? (
+ dev-python/libgnome-python
+ dev-python/gnome-keyring-python
+ dev-python/egg-python
+ )
+ idle? ( x11-libs/libXScrnSaver )
+ jingle? ( net-libs/farsight2[python] )
+ networkmanager? (
+ dev-python/dbus-python
+ net-misc/networkmanager
+ )
+ srv? (
+ || (
+ dev-python/libasyncns-python
+ net-dns/bind-tools )
+ )
+ spell? ( app-text/gtkspell:2 )
+ xhtml? ( dev-python/docutils )"
+
+pkg_setup() {
+ if ! use dbus; then
+ if use libnotify; then
+ eerror "The dbus USE flag is required for libnotify support"
+ die "USE=\"dbus\" needed for libnotify support"
+ fi
+ if use avahi; then
+ eerror "The dbus USE flag is required for avahi support"
+ die "USE=\"dbus\" needed for avahi support"
+ fi
+ fi
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/0.14-python-version.patch \
+ "${FILESDIR}"/0.14.1-testing.patch \
+ "${FILESDIR}"/${P}-debian_patches_unicode.patch
+ echo '#!/bin/sh' > config/py-compile
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_with X x) \
+ --docdir="/usr/share/doc/${PF}" \
+ --libdir="$(python_get_sitedir)" \
+ --enable-site-packages
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ rm "${D}/usr/share/doc/${PF}/"{README.html,COPYING} || die
+ dohtml README.html || die
+}
+
+pkg_postinst() {
+ python_mod_optimize ${PN}
+}
+
+pkg_postrm() {
+ python_mod_cleanup ${PN}
+}