diff options
-rw-r--r-- | net-im/gajim/ChangeLog | 8 | ||||
-rw-r--r-- | net-im/gajim/Manifest | 12 | ||||
-rw-r--r-- | net-im/gajim/files/gajim-0.14.4-debian_patches_unicode.patch | 86 | ||||
-rw-r--r-- | net-im/gajim/gajim-0.14.4-r2.ebuild | 110 |
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} +} |