Add patch to fix Jabber MUC invitations, as reported by Raymond Lewis Rebbeck in...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Thu, 15 Jun 2006 11:33:13 +0000 (11:33 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Thu, 15 Jun 2006 11:33:13 +0000 (11:33 +0000)
Package-Manager: portage-2.1

net-im/kopete/ChangeLog
net-im/kopete/Manifest
net-im/kopete/files/digest-kopete-0.12.0-r1 [new file with mode: 0644]
net-im/kopete/files/kopete-0.12-jabber-muc-chat.patch [new file with mode: 0644]
net-im/kopete/kopete-0.12.0-r1.ebuild [new file with mode: 0644]

index 8fd5fe761d225b6b8e227efb7bbae123d80aad73..4f91570e76bc66a6c11a9a24f2491182f07ee72d 100644 (file)
@@ -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:
index 11fcb9365ccb876905d0b9fbd3a575442460791f..9f6c0a065e58cf86511ffc706f6d26a614050a34 100644 (file)
@@ -1,20 +1,31 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX kopete-0.12-away.diff 1076 RMD160 4ec518082447c48d1443ae1b95a97b6e438145c2 SHA1 cccc08a17258d42301dade25c9195719e88d707c SHA256 d966c34131caa0696851c8d5f56a22982127afc0c3c9cf797ef003c259737237
 MD5 d2573dff2b7cddcdca0830215a8bdc6c files/kopete-0.12-away.diff 1076
 RMD160 4ec518082447c48d1443ae1b95a97b6e438145c2 files/kopete-0.12-away.diff 1076
 SHA256 d966c34131caa0696851c8d5f56a22982127afc0c3c9cf797ef003c259737237 files/kopete-0.12-away.diff 1076
+AUX kopete-0.12-jabber-muc-chat.patch 3328 RMD160 95478b96cbb457c9dbb4ab4f0947facdb3332a04 SHA1 a07667668de03b61199a1a9b1f68e2c239cf742e SHA256 c011a3f27f198ddecf8577dcb8342b7203af4a9daad6c02fb8b99b6ad3e6852c
+MD5 3e2376346d0da278554352f06a777e0b files/kopete-0.12-jabber-muc-chat.patch 3328
+RMD160 95478b96cbb457c9dbb4ab4f0947facdb3332a04 files/kopete-0.12-jabber-muc-chat.patch 3328
+SHA256 c011a3f27f198ddecf8577dcb8342b7203af4a9daad6c02fb8b99b6ad3e6852c files/kopete-0.12-jabber-muc-chat.patch 3328
 AUX kopete-0.12_alpha1-xscreensaver.patch 778 RMD160 d188f074982191f6f961c7e32ec97a79746e73df SHA1 85dea3f727af4393740bacb237c80ee666f1bdae SHA256 2152d2d2d1ed29b986d5b7f80a6f7bcabd56e5580146298973b4114353b5686d
 MD5 638d3cc679fc614b53fbeff0c41aa05c files/kopete-0.12_alpha1-xscreensaver.patch 778
 RMD160 d188f074982191f6f961c7e32ec97a79746e73df files/kopete-0.12_alpha1-xscreensaver.patch 778
 SHA256 2152d2d2d1ed29b986d5b7f80a6f7bcabd56e5580146298973b4114353b5686d files/kopete-0.12_alpha1-xscreensaver.patch 778
 DIST kopete-0.12.tar.bz2 5303165 RMD160 f69576edb740dc80b74e69455b3302e7345d71b6 SHA1 723c7ed0e38afe7f7579caf2f39fadcb5180b77e SHA256 1fc32f9729dcf29ae5cad344858ec7d4b3bbb0f94f13edbbbe72462e89cdfa58
+EBUILD kopete-0.12.0-r1.ebuild 2180 RMD160 1e58f4cd1d3456d064a892d4cbb8f8eef5578223 SHA1 f0f903fe7a25d44e66706f3f2677567c94124a0e SHA256 254c034d0a316b3a382704a7bd7ce76019c8eeb160081b2ecd7e67742937109b
+MD5 47a11c2428380391ed45a703938f4315 kopete-0.12.0-r1.ebuild 2180
+RMD160 1e58f4cd1d3456d064a892d4cbb8f8eef5578223 kopete-0.12.0-r1.ebuild 2180
+SHA256 254c034d0a316b3a382704a7bd7ce76019c8eeb160081b2ecd7e67742937109b kopete-0.12.0-r1.ebuild 2180
 EBUILD kopete-0.12.0.ebuild 2120 RMD160 8dd7ecd984a631c1c4d65807d9e4178f7512e8dd SHA1 76592907278727b3d06eefa860216ac2bfcd38ac SHA256 944fd9c4fb8ef0b809b7f95e7a58d2411e8f169d4b8b1e4f66c4482894201a42
 MD5 a52f8ad8735f7eaf52a6d405ebf63fea kopete-0.12.0.ebuild 2120
 RMD160 8dd7ecd984a631c1c4d65807d9e4178f7512e8dd kopete-0.12.0.ebuild 2120
 SHA256 944fd9c4fb8ef0b809b7f95e7a58d2411e8f169d4b8b1e4f66c4482894201a42 kopete-0.12.0.ebuild 2120
-MISC ChangeLog 2615 RMD160 0ea1b8feb4c751cc3e4687cfee7da24b44e0b618 SHA1 ba94c36b99d45aea7934bc6cc3683d667477469a SHA256 4604087ad63c6f482602ddf5d4531400bb2d6d69bda5781b9db16bd9b203a270
-MD5 33022952e96f6642be6a10ce360461ca ChangeLog 2615
-RMD160 0ea1b8feb4c751cc3e4687cfee7da24b44e0b618 ChangeLog 2615
-SHA256 4604087ad63c6f482602ddf5d4531400bb2d6d69bda5781b9db16bd9b203a270 ChangeLog 2615
+MISC ChangeLog 2871 RMD160 1f9f8d4a4c6e9635217ec1a2ce5484f1b8a84e7e SHA1 83bbe8107f02c5753cb0db84d0230a39920d53b2 SHA256 5734c352e46b11e3a4995ca102994b839c72f03504fd7443f905a54960c8ea39
+MD5 d07cd51899953115c2f71a94b45bab2b ChangeLog 2871
+RMD160 1f9f8d4a4c6e9635217ec1a2ce5484f1b8a84e7e ChangeLog 2871
+SHA256 5734c352e46b11e3a4995ca102994b839c72f03504fd7443f905a54960c8ea39 ChangeLog 2871
 MISC metadata.xml 254 RMD160 ddca3e329213be86e7b2d62c52078a77ea308f4a SHA1 899c7665ef94c737788e8a2c53bc8a3d97a1356a SHA256 addaf999f171c0e580a0399105382e9b213e14f3bd85b74671742b41f41c2261
 MD5 64e213d0db015eb97e16b31ec6e748c3 metadata.xml 254
 RMD160 ddca3e329213be86e7b2d62c52078a77ea308f4a metadata.xml 254
@@ -22,3 +33,13 @@ SHA256 addaf999f171c0e580a0399105382e9b213e14f3bd85b74671742b41f41c2261 metadata
 MD5 01832fcb2e5e8d98235b4ff35d29c467 files/digest-kopete-0.12.0 241
 RMD160 570f6293396053404d178f86b01eaecc5c783d44 files/digest-kopete-0.12.0 241
 SHA256 7c82928c5b35764c916e17475c795b9a07d73a2f5db052ad0afac911089abb74 files/digest-kopete-0.12.0 241
+MD5 01832fcb2e5e8d98235b4ff35d29c467 files/digest-kopete-0.12.0-r1 241
+RMD160 570f6293396053404d178f86b01eaecc5c783d44 files/digest-kopete-0.12.0-r1 241
+SHA256 7c82928c5b35764c916e17475c795b9a07d73a2f5db052ad0afac911089abb74 files/digest-kopete-0.12.0-r1 241
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.3 (GNU/Linux)
+
+iD8DBQFEkUWAAiZjviIA2XgRAr7EAKDm+Ug1pRuUU+U3gzP2p8IkQGUoEgCePvha
+R6J8oYoZlw9MSZuvH7SowwE=
+=L4Un
+-----END PGP SIGNATURE-----
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 (file)
index 0000000..488e78a
--- /dev/null
@@ -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 (file)
index 0000000..a85cb5b
--- /dev/null
@@ -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 (file)
index 0000000..696e217
--- /dev/null
@@ -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
+}