summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-06-15 11:33:13 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-06-15 11:33:13 +0000
commit5280000bcef147e399418656d3849bff4bec6398 (patch)
treecc3523e6d8b69a47e4dab967f9a37d0b50034ad3 /net-im/kopete
parentNote that the ghc-package eclass is maintaind by the Haskell herd. (diff)
downloadgentoo-2-5280000bcef147e399418656d3849bff4bec6398.tar.gz
gentoo-2-5280000bcef147e399418656d3849bff4bec6398.tar.bz2
gentoo-2-5280000bcef147e399418656d3849bff4bec6398.zip
Add patch to fix Jabber MUC invitations, as reported by Raymond Lewis Rebbeck in bug #136845.
(Portage version: 2.1)
Diffstat (limited to 'net-im/kopete')
-rw-r--r--net-im/kopete/ChangeLog9
-rw-r--r--net-im/kopete/files/digest-kopete-0.12.0-r13
-rw-r--r--net-im/kopete/files/kopete-0.12-jabber-muc-chat.patch75
-rw-r--r--net-im/kopete/kopete-0.12.0-r1.ebuild81
4 files changed, 167 insertions, 1 deletions
diff --git a/net-im/kopete/ChangeLog b/net-im/kopete/ChangeLog
index 8fd5fe761d22..4f91570e76bc 100644
--- a/net-im/kopete/ChangeLog
+++ b/net-im/kopete/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-im/kopete
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/kopete/ChangeLog,v 1.62 2006/06/09 21:34:04 mattepiu Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/kopete/ChangeLog,v 1.63 2006/06/15 11:33:13 flameeyes Exp $
+
+*kopete-0.12.0-r1 (15 Jun 2006)
+
+ 15 Jun 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/kopete-0.12-jabber-muc-chat.patch, +kopete-0.12.0-r1.ebuild:
+ Add patch to fix Jabber MUC invitations, as reported by Raymond Lewis
+ Rebbeck in bug #136845.
09 Jun 2006; Matteo Azzali <mattepiu@gentoo.org>
+files/kopete-0.12-away.diff, kopete-0.12.0.ebuild:
diff --git a/net-im/kopete/files/digest-kopete-0.12.0-r1 b/net-im/kopete/files/digest-kopete-0.12.0-r1
new file mode 100644
index 000000000000..488e78a604c5
--- /dev/null
+++ b/net-im/kopete/files/digest-kopete-0.12.0-r1
@@ -0,0 +1,3 @@
+MD5 392c5af64177ae29b3eebc10b91ad782 kopete-0.12.tar.bz2 5303165
+RMD160 f69576edb740dc80b74e69455b3302e7345d71b6 kopete-0.12.tar.bz2 5303165
+SHA256 1fc32f9729dcf29ae5cad344858ec7d4b3bbb0f94f13edbbbe72462e89cdfa58 kopete-0.12.tar.bz2 5303165
diff --git a/net-im/kopete/files/kopete-0.12-jabber-muc-chat.patch b/net-im/kopete/files/kopete-0.12-jabber-muc-chat.patch
new file mode 100644
index 000000000000..a85cb5bff808
--- /dev/null
+++ b/net-im/kopete/files/kopete-0.12-jabber-muc-chat.patch
@@ -0,0 +1,75 @@
+See Gentoo bug #136845 and KDE bug #128997.
+
+diff -Nur kopete-0.12.0.old/kopete/protocols/jabber/jabbercontact.cpp kopete-0.12.0/kopete/protocols/jabber/jabbercontact.cpp
+--- kopete-0.12.0.old/kopete/protocols/jabber/jabbercontact.cpp 2006-05-31 09:54:02.000000000 +0930
++++ kopete-0.12.0/kopete/protocols/jabber/jabbercontact.cpp 2006-06-14 08:17:54.000000000 +0930
+@@ -64,7 +64,7 @@
+ * JabberContact constructor
+ */
+ JabberContact::JabberContact (const XMPP::RosterItem &rosterItem, Kopete::Account *_account, Kopete::MetaContact * mc, const QString &legacyId)
+- : JabberBaseContact ( rosterItem, _account, mc, legacyId) , m_syncTimer(0L)
++ : JabberBaseContact ( rosterItem, _account, mc, legacyId) , mDiscoDone(false), m_syncTimer(0L)
+ {
+ kdDebug(JABBER_DEBUG_GLOBAL) << k_funcinfo << contactId() << " is created - " << this << endl;
+ // this contact is able to transfer files
+@@ -118,7 +118,6 @@
+ mRequestDeliveredEvent = false;
+ mRequestComposingEvent = false;
+ mRequestGoneEvent = false;
+- mDiscoDone = false;
+ }
+
+
+diff -Nur kopete-0.12.0.old/kopete/protocols/jabber/jabbercontactpool.cpp kopete-0.12.0/kopete/protocols/jabber/jabbercontactpool.cpp
+--- kopete-0.12.0.old/kopete/protocols/jabber/jabbercontactpool.cpp 2006-05-31 09:54:02.000000000 +0930
++++ kopete-0.12.0/kopete/protocols/jabber/jabbercontactpool.cpp 2006-06-14 08:18:01.000000000 +0930
+@@ -22,6 +22,7 @@
+ #include <kdebug.h>
+ #include <kmessagebox.h>
+ #include <kopeteaccountmanager.h>
++#include <kopetecontactlist.h>
+ #include "kopeteuiglobal.h"
+ #include "jabberprotocol.h"
+ #include "jabberbasecontact.h"
+@@ -118,14 +119,34 @@
+ JabberContactPoolItem *mContactItem = findPoolItem ( mContact );
+ if ( mContactItem)
+ {
+- kdDebug(JABBER_DEBUG_GLOBAL) << k_funcinfo << "Updating existing contact " << mContact.jid().full() << endl;
+-
+- // It exists, update it.
+- mContactItem->contact()->updateContact ( mContact );
+- mContactItem->setDirty ( dirty );
++ if(mContactItem->contact()->inherits(roomContact ?
++ (const char*)("JabberGroupContact") : (const char*)("JabberGroupMemberContact") ) )
++ {
++
++ kdDebug(JABBER_DEBUG_GLOBAL) << k_funcinfo << "Updating existing contact " << mContact.jid().full() << endl;
++
++ // It exists, update it.
++ mContactItem->contact()->updateContact ( mContact );
++ mContactItem->setDirty ( dirty );
++
++ //we must tell to the originating function that no new contact has been added
++ return 0L;//mContactItem->contact ();
++ }
++ else
++ {
++ //this happen if we receive a MUC invitaiton: when the invitaiton is received, it's from the muc itself
++ //and then kopete will create a temporary contact for it. but it will not be a good contact.
++ kdDebug(JABBER_DEBUG_GLOBAL) << k_funcinfo << "Bad contact will be removed and re-added " << mContact.jid().full() << endl;
++ Kopete::MetaContact *old_mc=mContactItem->contact()->metaContact();
++ delete mContactItem->contact();
++ mContactItem = 0L;
++ if(old_mc->contacts().isEmpty() && old_mc!=metaContact)
++ {
++ Kopete::ContactList::self()->removeMetaContact( old_mc );
++ }
++
++ }
+
+- //we must tell to the originating function that no new contact has been added
+- return 0L;//mContactItem->contact ();
+ }
+
+ kdDebug(JABBER_DEBUG_GLOBAL) << k_funcinfo << "Adding new contact " << mContact.jid().full() << endl;
diff --git a/net-im/kopete/kopete-0.12.0-r1.ebuild b/net-im/kopete/kopete-0.12.0-r1.ebuild
new file mode 100644
index 000000000000..696e21766946
--- /dev/null
+++ b/net-im/kopete/kopete-0.12.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/kopete/kopete-0.12.0-r1.ebuild,v 1.1 2006/06/15 11:33:13 flameeyes Exp $
+
+inherit kde eutils
+
+MY_P="${P/_/-}"
+MY_P="${MY_P/.0/}"
+
+DESCRIPTION="KDE multi-protocol IM client"
+HOMEPAGE="http://kopete.kde.org/"
+LICENSE="GPL-2"
+
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="jingle sametime ssl xmms xscreensaver kdehiddenvisibility slp"
+
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+# The kernel_linux? ( ) conditional dependencies are for webcams, not supported
+# on other kernels AFAIK
+BOTH_DEPEND="dev-libs/libxslt
+ dev-libs/libxml2
+ net-dns/libidn
+ >=dev-libs/glib-2
+ app-crypt/qca
+ slp? ( net-libs/openslp )
+ jingle? (
+ >=media-libs/speex-1.1.6
+ dev-libs/expat
+ ~net-libs/ortp-0.7.1 )
+ sametime? ( =net-libs/meanwhile-0.4* )
+ xmms? ( media-sound/xmms )
+ || ( (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrender
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ ) virtual/x11 )
+ kernel_linux? ( virtual/opengl )"
+
+RDEPEND="${BOTH_DEPEND}
+ ssl? ( app-crypt/qca-tls )
+ !kde-base/kopete
+ !kde-base/kdenetwork
+ !net-libs/libjingle"
+
+DEPEND="${BOTH_DEPEND}
+ kernel_linux? ( virtual/os-headers )
+ || ( (
+ x11-proto/videoproto
+ x11-proto/xextproto
+ x11-proto/xproto
+ kernel_linux? ( x11-libs/libXv )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ ) virtual/x11 )"
+
+need-kde 3.4
+
+#dev-libs/ilbc-rfc3951: could not see any benifit in it
+#sed -i 's:ilbc_found="no":ilbc_found="yes":' ${S}/kopete/protocols/jabber/jingle/configure.in.in
+
+
+src_unpack() {
+ kde_src_unpack
+ epatch "${FILESDIR}/${PN}-0.12_alpha1-xscreensaver.patch"
+ epatch "${FILESDIR}/${PN}-0.12-away.diff"
+ epatch "${FILESDIR}/${PN}-0.12-jabber-muc-chat.patch"
+ rm -f ${S}/configure
+}
+
+src_compile() {
+ # External libgadu support - doesn't work, kopete requires a specific development snapshot of libgadu.
+ # Maybe we can enable it in the future.
+ # The nowlistening plugin has xmms support.
+ local myconf="$(use_enable jingle)
+ $(use_enable sametime sametime-plugin)
+ $(use_with xmms) --without-external-libgadu
+ $(use_with xscreensaver)"
+
+ kde_src_compile
+}