diff options
author | Justin Lecher <jlec@gentoo.org> | 2011-09-24 13:20:53 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2011-09-24 13:20:53 +0000 |
commit | 068808895d41b0c7bb463f63e3b986ff8da49bb8 (patch) | |
tree | a5587e30ce5a495e8652f010487acc0c075ca50d /net-im | |
parent | Marked ~x64-macos (diff) | |
download | gentoo-2-068808895d41b0c7bb463f63e3b986ff8da49bb8.tar.gz gentoo-2-068808895d41b0c7bb463f63e3b986ff8da49bb8.tar.bz2 gentoo-2-068808895d41b0c7bb463f63e3b986ff8da49bb8.zip |
Don't crash on unicode chars, #383463; thanks Suloev Dmitry for the patch; http://trac.gajim.org/ticket/6974
(Portage version: 2.2.0_alpha59/cvs/Linux x86_64)
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/gajim/ChangeLog | 9 | ||||
-rw-r--r-- | net-im/gajim/files/0.14.4-unicode.patch | 19 | ||||
-rw-r--r-- | net-im/gajim/gajim-0.14.4-r1.ebuild | 110 |
3 files changed, 137 insertions, 1 deletions
diff --git a/net-im/gajim/ChangeLog b/net-im/gajim/ChangeLog index 0a571892096c..741219e76916 100644 --- a/net-im/gajim/ChangeLog +++ b/net-im/gajim/ChangeLog @@ -1,6 +1,13 @@ # 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.121 2011/08/30 14:47:33 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/gajim/ChangeLog,v 1.122 2011/09/24 13:20:53 jlec Exp $ + +*gajim-0.14.4-r1 (24 Sep 2011) + + 24 Sep 2011; Justin Lecher <jlec@gentoo.org> +files/0.14.4-unicode.patch, + +gajim-0.14.4-r1.ebuild: + Don't crash on unicode chars, #383463; thanks Suloev Dmitry for the patch; + http://trac.gajim.org/ticket/6974 30 Aug 2011; Justin Lecher <jlec@gentoo.org> -gajim-0.13.3.ebuild, gajim-0.14.1-r2.ebuild, metadata.xml: diff --git a/net-im/gajim/files/0.14.4-unicode.patch b/net-im/gajim/files/0.14.4-unicode.patch new file mode 100644 index 000000000000..5c0dd0d314aa --- /dev/null +++ b/net-im/gajim/files/0.14.4-unicode.patch @@ -0,0 +1,19 @@ +diff --git a/src/remote_control.py b/src/remote_control.py +--- a/src/remote_control.py ++++ b/src/remote_control.py +@@ -211,6 +211,15 @@ class Remote: + + def raise_signal(self, signal, arg): + if self.signal_object: ++ arg_copy = list(arg) ++ newarg = [] ++ for a in arg_copy[1]: ++ try: ++ newarg.append(a.decode('utf-8', 'replace')) ++ except: ++ newarg.append(a) ++ arg_copy[1] = newarg ++ arg = tuple(arg_copy) + try: + getattr(self.signal_object, signal)(get_dbus_struct(arg)) + except UnicodeDecodeError: diff --git a/net-im/gajim/gajim-0.14.4-r1.ebuild b/net-im/gajim/gajim-0.14.4-r1.ebuild new file mode 100644 index 000000000000..6762e63e7e47 --- /dev/null +++ b/net-im/gajim/gajim-0.14.4-r1.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-r1.ebuild,v 1.1 2011/09/24 13:20:53 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-0.7.1 net-misc/networkmanager[gnome] ) + ) + srv? ( + || ( + dev-python/libasyncns-python + net-dns/bind-tools ) + ) + spell? ( app-text/gtkspell ) + 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_pkg_setup + python_set_active_version 2 +} + +src_prepare() { + epatch \ + "${FILESDIR}"/0.14-python-version.patch \ + "${FILESDIR}"/0.14.1-testing.patch \ + "${FILESDIR}"/${PV}-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} +} |