[kde-base/kopete-4.4.2-r1] Revbumped kopete to apply a few fixes:
authorJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
Sun, 4 Apr 2010 15:51:48 +0000 (15:51 +0000)
committerJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
Sun, 4 Apr 2010 15:51:48 +0000 (15:51 +0000)
Added upstream patch to fix issues with yahoo and stealth. Fixes bug 311445 - thanks to Navid Zamani <navid.zamani@googlemail.com>.
Replaced bonjour with zeroconf use flag. Fixes bug 307105 - thanks to Doktor Notor <notordoktor@gmail.com>.
Added explicit dep on kde-base/qimageblitz. Fixes bug 307803.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

kde-base/kopete/ChangeLog
kde-base/kopete/Manifest
kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch [new file with mode: 0644]
kde-base/kopete/kopete-4.4.2-r1.ebuild [new file with mode: 0644]
kde-base/kopete/metadata.xml

index 98882387c599d1ccfb1aa94b89591c9f9f881b9e..ff060604d5d9bc124933ca9412806208ccc25485 100644 (file)
@@ -1,6 +1,18 @@
 # ChangeLog for kde-base/kopete
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/ChangeLog,v 1.245 2010/03/31 22:57:47 spatz Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/ChangeLog,v 1.246 2010/04/04 15:51:47 jmbsvicetto Exp $
+
+*kopete-4.4.2-r1 (04 Apr 2010)
+
+  04 Apr 2010; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+  +kopete-4.4.2-r1.ebuild, +files/kopete-4.4.2-yahoo-stealth-fix.patch,
+  metadata.xml:
+  [kde-base/kopete-4.4.2-r1] Revbumped kopete to apply a few fixes:
+  Added upstream patch to fix issues with yahoo and stealth. Fixes bug
+  311445 - thanks to Navid Zamani <navid.zamani@googlemail.com>.
+  Replaced bonjour with zeroconf use flag. Fixes bug 307105 - thanks to
+  Doktor Notor <notordoktor@gmail.com>.
+  Added explicit dep on kde-base/qimageblitz. Fixes bug 307803.
 
   31 Mar 2010; Dror Levin <spatz@gentoo.org> -kopete-4.3.4.ebuild,
   -kopete-4.4.0.ebuild:
index e85ebbcb921c3f17d68ff713ad2c68a9c9302aa6..db74fb180c0abf4eac4d38dca9c628ed84c22c80 100644 (file)
@@ -1,3 +1,4 @@
+AUX kopete-4.4.2-yahoo-stealth-fix.patch 12072 RMD160 2456ff3bca2e2da73b4039c09e1fe5f7e5afcde9 SHA1 ffcd273bed6a178bada24cfc55d522a717ffa0cf SHA256 fd7bf9aa9ff04e237dc7a73255fbe111e4412b00f36e3fab9dd8bd40585335f2
 DIST kdenetwork-4.3.3.tar.bz2 7379886 RMD160 191dfbd73112b8194bcebf63c6e26abe9f6df299 SHA1 b842f0cfe629a597e74b367037d53d95215efc0c SHA256 dfb58714eb7a97175641f7ddd68cf52fe2ad628f75386958db4bd0a027890279
 DIST kdenetwork-4.3.5.tar.bz2 7384719 RMD160 fc631b631957ba49084c2b006d8cef35f2ea3435 SHA1 b94ad996624e170c3a3c3d3a82dd54ca7f2d7910 SHA256 32b1f3d8522bbf98ea141838e8ac9d63fe9a913a59a331ff61f0364b6f3f7ccf
 DIST kdenetwork-4.4.1.tar.bz2 8427651 RMD160 fb75a79f00b1d55a9c9260a614d7422eb232faa6 SHA1 05499b52a4fa652df0a3bb929da9f545b3069ba7 SHA256 f940a1c3bff8762cf85bbc2fb301c2349188fec7c86a1129542a0110d1bd29c0
@@ -5,6 +6,7 @@ DIST kdenetwork-4.4.2.tar.bz2 8318434 RMD160 0ce46b379edb72fcdcba956fbe0d9be1026
 EBUILD kopete-4.3.3.ebuild 3386 RMD160 b022acaf31d0edffa610216f7c3e4ef6602ee35f SHA1 17839f5e74ce802fa6cb791b51152e12cad01293 SHA256 9f4424b6b230d45c6137bdbcf3468031fbc36dedec882663e0b830bdae6bc3ab
 EBUILD kopete-4.3.5.ebuild 3400 RMD160 576d23e558587b3ae94504e7b0146f8410a56961 SHA1 3e1daaf41a6cdff06b9dea71408ffce557ad8faa SHA256 7a2d542cbeefe9ad16bf66296007f743eb7c2f2f96536a6a5e12b10a61a5701b
 EBUILD kopete-4.4.1.ebuild 4070 RMD160 f011d8e702df47133cf6d29979ebb10eaf35cc68 SHA1 9119dfac15cb89bef0c6358d4d8f4cf4f14dd9f1 SHA256 af972bd9d21ed10aa4eec51ca1af8f297ce35df7a44ee401ab4b7966c77f11f8
+EBUILD kopete-4.4.2-r1.ebuild 4271 RMD160 9f7896ad26b82a4b648915ad6027067ac3619481 SHA1 b236c1c7f798844c464ec885ef550bede0d67262 SHA256 18d240059695baee3c711460ac22a0adfcfb188c29e24406ca98c7295075ece2
 EBUILD kopete-4.4.2.ebuild 4066 RMD160 e6e57b55dbefa6336c346b99277da4eae164d9de SHA1 b9506aa262a56997f50ad8199e979160f2f144d6 SHA256 6cfe843650811fe0d7273095cda3b9f3d675d70848b4a826822aad0d85d144f9
-MISC ChangeLog 35265 RMD160 46d738228fa1191f4a4db3fe4d7dd294cd501b45 SHA1 6417087ec1b93418b51407f03934516c37d3a337 SHA256 6c853c573b3b9c082a87f460683c07e5941a51c5a50e40e10a2eeaa1af5862bc
-MISC metadata.xml 2600 RMD160 d3cd011d4e3c7a07dd3ee470f2bb08f7b4fb1d4e SHA1 5a6721f369b59d210afda0240ade1d1146df6722 SHA256 dc1594e67c15880f7432cf5b4aff6b914f229c5d2733e6c5bfd075ae94faf20f
+MISC ChangeLog 35839 RMD160 2d378fad6cf65260224cd8cb20619450bb878079 SHA1 8611cb439387306915eef16016914cf96d308c9e SHA256 cc34824e11159949d6f2f979eb7d06b306074cfb8de2aa1f0c6b8e8bc14749d0
+MISC metadata.xml 2684 RMD160 186a6c47ff4a52d5ed5b19417758f4707a502301 SHA1 22fb5bcb995b84b1a4013de11eb03eba826fc308 SHA256 341f5a52c56524d1cec99eda9dd62a1ff939fdc952e2d27ce1870130b79282e3
diff --git a/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch b/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch
new file mode 100644 (file)
index 0000000..768d3f0
--- /dev/null
@@ -0,0 +1,330 @@
+Index: kopete/protocols/yahoo/libkyahoo/listtask.cpp
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/listtask.cpp      (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/listtask.cpp      (working copy)
+@@ -34,9 +34,6 @@
+ 
+ }
+ 
+-QStringList loginstealthedbuddies;
+-QStringList loginunstealthedbuddies;
+-
+ bool ListTask::take( Transfer* transfer )
+ {
+       if ( !forMe( transfer ) )
+@@ -85,47 +82,30 @@
+               case 301:
+                       if( p.second == "319"){
+                               emit gotBuddy( buddy, QString(), group );
+-                                /**
+-                                * Note: michaelacole
+-                                * Since you can log in from other places and remove or add Perm Offline status
+-                                * We have to reset both conditions at login
+-                                * Yahoo sends this data at this time,
+-                                * so better to compile list of both now then notify kopete client.
+-                                */
+-                              loginunstealthedbuddies.append( buddy );
+                       }
+                       break;
+               case 317:
+                       if( p.second == "2"){
+-                      kDebug(YAHOO_RAW_DEBUG) << "Stealthed setting on" << buddy ;
+-                        /** Note: michaelacole
+-                        * Since you can log in from other places and remove or add Perm Offline status
+-                        * We have to reset both conditions at login
+-                        * Yahoo sends this data at this time,
+-                        * so better to compile list of both now then notify kopete client.
+-                        */
+-                      loginstealthedbuddies.append( buddy );
+-                      loginunstealthedbuddies.removeAll( buddy );
++                              kDebug(YAHOO_RAW_DEBUG) << "Stealthed setting on" << buddy ;
++                              emit stealthStatusChanged( buddy, Yahoo::StealthActive );
+                       };
+                       break;
+-                /**
+-                * Note: michaelacole
+-                * Other buddy codes are here for add to list and blacklist
+-                * I will need to capute more codes for addition here.
+-                * Blacklist is done on the server at Yahoo whereas
+-                * Kopete has its own plugin for blacklisting.
+-                */
++                      /**
++                      * Note: michaelacole
++                      * Other buddy codes are here for add to list and blacklist
++                      * I will need to capute more codes for addition here.
++                      * Blacklist is done on the server at Yahoo whereas
++                      * Kopete has its own plugin for blacklisting.
++                      */
+               }
+       }
+-        /**
+-        * Note: michaelacole
+-        * Since you can log in from other places and remove or add Perm Offline status
+-        * We have to reset both conditions at login
+-        * Yahoo sends this data at this time,
+-        * so better to compile list of both now then notify kopete client.
+-        */
+-        client()->notifyUnstealthedBuddies( loginunstealthedbuddies );
+-        client()->notifyStealthedBuddies( loginstealthedbuddies );
++      /**
++      * Note: michaelacole
++      * Since you can log in from other places and remove or add Perm Offline status
++      * We have to reset both conditions at login
++      * Yahoo sends this data at this time,
++      * so better to compile list of both now then notify kopete client.
++      */
+ }
+ 
+ 
+Index: kopete/protocols/yahoo/libkyahoo/client.cpp
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/client.cpp        (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/client.cpp        (working copy)
+@@ -76,8 +76,7 @@
+       int error;
+       QString errorString;
+       QString errorInformation;
+-      QStringList stealthedBuddies;
+-      QStringList unstealthedBuddies;
++      QSet<QString> stealthedBuddies;
+       // tasks
+       bool tasksInitialized;
+       LoginTask * loginTask;
+@@ -133,14 +132,13 @@
+       
+       QObject::connect( d->loginTask, SIGNAL( haveSessionID( uint ) ), SLOT( lt_gotSessionID( uint ) ) );
+       QObject::connect( d->loginTask, SIGNAL( buddyListReady() ), SLOT( processPictureQueue() ) );
+-      QObject::connect( d->loginTask, SIGNAL( buddyListReady() ), SLOT( processStealthQueue() ) );
+       QObject::connect( d->loginTask, SIGNAL( loginResponse( int, const QString& ) ), 
+                               SLOT( slotLoginResponse( int, const QString& ) ) );
+       QObject::connect( d->loginTask, SIGNAL( haveCookies() ), SLOT( slotGotCookies() ) );
+       QObject::connect( d->listTask, SIGNAL( gotBuddy(const QString &, const QString &, const QString &) ), 
+                                       SIGNAL( gotBuddy(const QString &, const QString &, const QString &) ) );
+       QObject::connect( d->listTask, SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ), 
+-                                      SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
++                                      SLOT( notifyStealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
+ }
+ 
+ Client::~Client()
+@@ -182,9 +180,11 @@
+       emit connected();
+       kDebug(YAHOO_RAW_DEBUG) << " starting login task ... ";
+ 
++      // Clear stealth settings
++      d->stealthedBuddies.clear();
++
+       d->loginTask->setStateOnConnect( (d->statusOnConnect == Yahoo::StatusInvisible) ? Yahoo::StatusInvisible : Yahoo::StatusAvailable );
+       d->loginTask->go();
+-      processStealthQueue();
+       d->active = true;
+ }
+ 
+@@ -615,29 +615,6 @@
+       spt->go( true );
+ }
+ 
+-// **** Stealth Handling **** michaelacole
+-void Client::processStealthQueue()
+-{
+-      if( d->buddyListReady ){
+-              while (!d->unstealthedBuddies.isEmpty())
+-                      {
+-                      QString it;
+-                      it = d->unstealthedBuddies.takeFirst();
+-                      kDebug(YAHOO_RAW_DEBUG) << "unstealthed setting set on" << it;
+-                      stealthContact( it, Yahoo::StealthOffline , Yahoo::StealthNotActive );
+-                      }
+-
+-              while (!d->stealthedBuddies.isEmpty())
+-                      {
+-                      QString it;
+-                      it = d->stealthedBuddies.takeFirst();
+-                      kDebug(YAHOO_RAW_DEBUG) << "stealthed setting set on" << it ;
+-                      stealthContact( it, Yahoo::StealthPermOffline , Yahoo::StealthActive );
+-                      }
+-      }
+-}
+-
+-
+ // ***** Webcam handling *****
+ 
+ void Client::requestWebcam( const QString &userId )
+@@ -767,14 +744,22 @@
+       emit error( level );
+ }
+ 
+-void Client::notifyStealthedBuddies( const QStringList &buddies)
++Yahoo::StealthStatus Client::stealthStatus( const QString &userId ) const
+ {
+-      d->stealthedBuddies = buddies;
++      if ( d->stealthedBuddies.contains( userId ) )
++              return Yahoo::StealthActive;
++      else
++              return Yahoo::StealthNotActive;
+ }
+ 
+-void Client::notifyUnstealthedBuddies( const QStringList &buddies)
++void Client::notifyStealthStatusChanged( const QString &userId, Yahoo::StealthStatus state )
+ {
+-      d->unstealthedBuddies = buddies;
++      if ( state == Yahoo::StealthActive )
++              d->stealthedBuddies.insert( userId );
++      else
++              d->stealthedBuddies.remove( userId );
++      
++      emit stealthStatusChanged( userId, state );
+ }
+ 
+ QString Client::userId()
+@@ -902,7 +887,7 @@
+       QObject::connect( d->statusTask, SIGNAL( statusChanged(QString,int,const QString,int,int,int) ), 
+                               SIGNAL( statusChanged(QString,int,const QString,int,int,int) ) );
+       QObject::connect( d->statusTask, SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ), 
+-                              SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
++                              SLOT( notifyStealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
+       QObject::connect( d->statusTask, SIGNAL( loginResponse( int, const QString& ) ), 
+                               SLOT( slotLoginResponse( int, const QString& ) ) );
+       QObject::connect( d->statusTask, SIGNAL( authorizationRejected( const QString&, const QString& ) ), 
+Index: kopete/protocols/yahoo/libkyahoo/listtask.h
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/listtask.h        (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/listtask.h        (working copy)
+@@ -40,7 +40,7 @@
+ 
+ signals:
+       void gotBuddy(const QString&, const QString&, const QString&);
+-
++      void stealthStatusChanged( const QString&, Yahoo::StealthStatus );
+ };
+ 
+ #endif
+Index: kopete/protocols/yahoo/libkyahoo/client.h
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/client.h  (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/client.h  (working copy)
+@@ -189,6 +189,12 @@
+               void stealthContact( QString const &userId, Yahoo::StealthMode mode, Yahoo::StealthStatus state );
+ 
+               /**
++               * Get the stealth status of a buddy
++               * @param userId the yahoo ID of the buddy
++               */
++              Yahoo::StealthStatus stealthStatus( const QString &userId ) const;
++
++              /**
+                * Request the buddy's picture
+                * @param userId the yahoo ID of the buddy
+                */
+@@ -456,12 +462,6 @@
+                */
+               void notifyError( const QString &info, const QString &errorString, LogLevel level );
+ 
+-              /**
+-               * Steathed information from login..
+-               */
+-              void notifyStealthedBuddies( const QStringList &buddies);
+-              void notifyUnstealthedBuddies( const QStringList &buddies);
+-
+       signals:
+               /** CONNECTION EVENTS */
+               /**
+@@ -723,10 +723,10 @@
+                */
+               void processPictureQueue();
+ 
+-               /** 
+-               * Update all Stealth info after login
++              /**
++               * Steathed information from login..
+                */
+-              void processStealthQueue();
++              void notifyStealthStatusChanged( const QString &, Yahoo::StealthStatus );
+                 
+       private:
+               void distribute( Transfer *transfer );
+Index: kopete/protocols/yahoo/yahoocontact.h
+===================================================================
+--- kopete/protocols/yahoo/yahoocontact.h      (revision 1110517)
++++ kopete/protocols/yahoo/yahoocontact.h      (working copy)
+@@ -56,8 +56,8 @@
+ 
+       void setOnlineStatus(const Kopete::OnlineStatus &status);
+       void setYahooStatus( const Kopete::OnlineStatus& );
+-      void setStealthed( bool );
+-      bool stealthed();
++      void updateStealthed();
++      bool stealthed() const;
+ 
+ 
+       /** The group name getter and setter methods**/
+@@ -121,7 +121,6 @@
+       YahooChatSession *m_manager;
+       YahooWebcamDialog* m_webcamDialog;
+       YahooAccount* m_account;
+-      bool m_stealthed;
+       bool m_receivingWebcam;
+       bool m_sessionActive;
+       
+Index: kopete/protocols/yahoo/yahoocontact.cpp
+===================================================================
+--- kopete/protocols/yahoo/yahoocontact.cpp    (revision 1110517)
++++ kopete/protocols/yahoo/yahoocontact.cpp    (working copy)
+@@ -74,7 +74,6 @@
+       m_manager = 0L;
+       m_account = account;
+       m_YABEntry = 0L;
+-      m_stealthed = false;
+       m_receivingWebcam = false;
+       m_sessionActive = false;
+ 
+@@ -109,7 +108,8 @@
+ 
+ void YahooContact::setOnlineStatus(const Kopete::OnlineStatus &status)
+ {
+-      if( m_stealthed && status.internalStatus() <= 999)      // Not Stealted -> Stealthed
++      bool isStealthed = stealthed();
++      if( isStealthed && status.internalStatus() <= 999)      // Not Stealted -> Stealthed
+       {
+               Contact::setOnlineStatus(
+                       Kopete::OnlineStatus(status.status() ,
+@@ -119,7 +119,7 @@
+                       status.overlayIcons() + QStringList("yahoo_stealthed") ,
+                       i18n("%1|Stealthed", status.description() ) ) );
+       }
+-      else if( !m_stealthed && status.internalStatus() > 999 )// Stealthed -> Not Stealthed
++      else if( !isStealthed && status.internalStatus() > 999 )// Stealthed -> Not Stealthed
+               Contact::setOnlineStatus( static_cast< YahooProtocol *>( protocol() )->statusFromYahoo( status.internalStatus() - 1000 ) );
+       else
+               Contact::setOnlineStatus( status );
+@@ -128,15 +128,14 @@
+               setStatusMessage( Kopete::StatusMessage() );
+ }
+ 
+-void YahooContact::setStealthed( bool stealthed )
++void YahooContact::updateStealthed()
+ {
+-      m_stealthed = stealthed;
+       setOnlineStatus( onlineStatus() );
+ }
+ 
+-bool YahooContact::stealthed()
++bool YahooContact::stealthed() const
+ {
+-      return m_stealthed;
++      return (m_account->yahooSession()->stealthStatus( m_userId ) == Yahoo::StealthActive );
+ }
+ 
+ void YahooContact::serialize(QMap<QString, QString> &serializedData, QMap<QString, QString> &addressBookData)
+Index: kopete/protocols/yahoo/yahooaccount.cpp
+===================================================================
+--- kopete/protocols/yahoo/yahooaccount.cpp    (revision 1110517)
++++ kopete/protocols/yahoo/yahooaccount.cpp    (working copy)
+@@ -978,7 +978,7 @@
+               kDebug(YAHOO_GEN_DEBUG) << "contact " << who << " doesn't exist.";
+               return;
+       }
+-      kc->setStealthed( state == Yahoo::StealthActive );
++      kc->updateStealthed();
+ }
+ 
+ QString YahooAccount::prepareIncomingMessage( const QString &messageText )
diff --git a/kde-base/kopete/kopete-4.4.2-r1.ebuild b/kde-base/kopete/kopete-4.4.2-r1.ebuild
new file mode 100644 (file)
index 0000000..1542cea
--- /dev/null
@@ -0,0 +1,157 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/kopete-4.4.2-r1.ebuild,v 1.1 2010/04/04 15:51:47 jmbsvicetto Exp $
+
+EAPI="3"
+
+KMNAME="kdenetwork"
+inherit kde4-meta
+
+DESCRIPTION="KDE multi-protocol IM client"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug +handbook ssl v4l2"
+
+# tests hang, last checked for 4.2.96
+RESTRICT=test
+
+# Available plugins
+#
+#      addbookmarks: NO DEPS
+#      alias: NO DEPS (disabled upstream)
+#      autoreplace: NO DEPS
+#      contactnotes: NO DEPS
+#      highlight: NO DEPS
+#      history: NO DEPS
+#      latex: virtual/latex as RDEPEND
+#      nowlistening: NO DEPS
+#      otr: libotr
+#      pipes: NO DEPS
+#      privacy: NO DEPS
+#      statistics: dev-db/sqlite:3
+#      texteffect: NO DEPS
+#      translator: NO DEPS
+#      urlpicpreview: NO DEPS
+#      webpresence: libxml2 libxslt
+# NOTE: By default we enable all plugins that don't have any dependencies
+PLUGINS="+addbookmarks +autoreplace +contactnotes +highlight +history latex
++nowlistening otr +pipes +privacy +statistics +texteffect +translator
++urlpicpreview webpresence"
+
+# Available protocols
+#
+#      gadu: net-libs/libgadu @since 4.3
+#      groupwise: app-crypt/qca:2
+#      irc: NO DEPS, probably will fail so inform user about it
+#      jabber: net-dns/libidn app-crypt/qca:2 ENABLED BY DEFAULT NETWORK
+#      jingle: media-libs/speex net-libs/ortp DISABLED BY UPSTREAM
+#      meanwhile: net-libs/meanwhile
+#      msn: libmsn == this is wlm plugin, we disable msn one
+#      oscar: NO DEPS
+#      qq: NO DEPS
+#   telepathy: net-libs/decibel
+#   testbed: NO DEPS
+#      winpopup: NO DEPS
+#      yahoo: NO DEPS
+#      zeroconfg: (bonjour) NO DEPS
+PROTOCOLS="gadu groupwise +jabber jingle meanwhile msn oscar qq skype sms
+testbed winpopup yahoo zeroconf"
+
+# disabled protocols
+#   telepathy: net-libs/decibel
+#   irc: NO DEPS
+
+IUSE="${IUSE} ${PLUGINS} ${PROTOCOLS}"
+
+COMMONDEPEND="
+       dev-libs/libpcre
+       $(add_kdebase_dep kdepimlibs)
+       kde-base/qimageblitz
+       >=x11-libs/qt-gui-4.4.0:4[mng]
+       !aqua? ( x11-libs/libXScrnSaver )
+       gadu? ( >=net-libs/libgadu-1.8.0[threads] )
+       groupwise? ( app-crypt/qca:2 )
+       jabber? (
+               app-crypt/qca:2
+               net-dns/libidn
+       )
+       jingle? (
+               >=media-libs/mediastreamer-2.3.0
+               media-libs/speex
+               net-libs/ortp
+       )
+       meanwhile? ( net-libs/meanwhile )
+       msn? ( >=net-libs/libmsn-4.0 )
+       otr? ( >=net-libs/libotr-3.2.0 )
+       statistics? ( dev-db/sqlite:3 )
+       webpresence? ( dev-libs/libxml2 dev-libs/libxslt )
+       v4l2? ( media-libs/libv4l )
+"
+RDEPEND="${COMMONDEPEND}
+       latex? (
+               media-gfx/imagemagick
+               virtual/latex-base
+       )
+       sms? ( app-mobilephone/smssend )
+       ssl? ( app-crypt/qca-ossl )
+"
+#      telepathy? ( net-libs/decibel )"
+DEPEND="${COMMONDEPEND}
+       !aqua? ( x11-proto/scrnsaverproto )
+"
+
+PATCHES=( "${FILESDIR}/${P}-yahoo-stealth-fix.patch" )
+
+src_prepare() {
+       sed -e "s:lib/mozilla:$(get_libdir)/mozilla:" \
+               -i kopete/protocols/skype/skypebuttons/CMakeLists.txt || die "sed failed"
+       sed -e '/set (LIBV4L2_REQUIRED TRUE)/s/TRUE/FALSE/' \
+               -i kopete/CMakeLists.txt || die 'failed to make v4l2 optional'
+
+       kde4-meta_src_prepare
+}
+
+src_configure() {
+       local x x2
+       # Handle common stuff
+       mycmakeargs=(
+               $(cmake-utils_use_with jingle GOOGLETALK)
+               $(cmake-utils_use_with jingle LiboRTP)
+               $(cmake-utils_use_with jingle Mediastreamer)
+               $(cmake-utils_use_with jingle Speex)
+               $(cmake-utils_use_with v4l2 LibV4L2)
+       )
+       # enable protocols
+       for x in ${PROTOCOLS}; do
+               [[ ${x/+/} = msn ]] && x2=Libmsn || x2=""
+               mycmakeargs+=($(cmake-utils_use_with ${x/+/} ${x2}))
+               [[ ${x/+/} = zeroconf ]] && x2=bonjour || x2=""
+               mycmakeargs+=($(cmake-utils_use_with ${x/+/} ${x2}))
+       done
+
+       # enable plugins
+       for x in ${PLUGINS}; do
+               mycmakeargs+=($(cmake-utils_use_with ${x/+/}))
+       done
+
+       kde4-meta_src_configure
+}
+
+pkg_postinst() {
+       kde4-meta_pkg_postinst
+
+       #if use telepathy; then
+       #       elog "To use kopete telepathy plugins, you need to start gabble first:"
+       #       elog "GABBLE_PERSIST=1 telepathy-gabble &"
+       #       elog "export TELEPATHY_DATA_PATH='${EPREFIX}/usr/share/telepathy/managers/'"
+       #fi
+
+       if ! use ssl; then
+               if use jabber || use msn; then # || use irc; then
+                       echo
+                       #elog "In order to use ssl in jabber, msn and irc you'll need to"
+                       elog "In order to use ssl in jabber and msn you'll need to"
+                       elog "install app-crypt/qca-ossl package."
+                       echo
+               fi
+       fi
+}
index b2c6eb169963c5015d70672cab946c932a256deb..f63d5abc811cb9047907691fac7061bbef0e0cd5 100644 (file)
@@ -37,6 +37,7 @@
        <flag name="testbed">Enable the testbed protocol.</flag>
        <flag name="winpopup">Enable pop-up messages sending on windows. (same as good old "net send" messages ;])</flag>
        <flag name="yahoo">Enable yahoo protocol support.</flag>
+       <flag name="zeroconf">Enable Link-Local Messaging via the bonjour protocol.</flag>
 </use>
 <herd>kde</herd>
 </pkgmetadata>