diff options
author | Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org> | 2010-04-04 15:51:48 +0000 |
---|---|---|
committer | Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org> | 2010-04-04 15:51:48 +0000 |
commit | 78db21b88b0116b7dcab406863f8721d1d89d26e (patch) | |
tree | 94bb96d452e1b096671a284a24883439ac8883a4 /kde-base/kopete | |
parent | alpha/arm/ia64/sparc stable wrt #304229 (diff) | |
download | gentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.tar.gz gentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.tar.bz2 gentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.zip |
[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.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kopete')
-rw-r--r-- | kde-base/kopete/ChangeLog | 14 | ||||
-rw-r--r-- | kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch | 330 | ||||
-rw-r--r-- | kde-base/kopete/kopete-4.4.2-r1.ebuild | 157 | ||||
-rw-r--r-- | kde-base/kopete/metadata.xml | 1 |
4 files changed, 501 insertions, 1 deletions
diff --git a/kde-base/kopete/ChangeLog b/kde-base/kopete/ChangeLog index 98882387c599..ff060604d5d9 100644 --- a/kde-base/kopete/ChangeLog +++ b/kde-base/kopete/ChangeLog @@ -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: 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 index 000000000000..768d3f044747 --- /dev/null +++ b/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch @@ -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 index 000000000000..1542cea9b977 --- /dev/null +++ b/kde-base/kopete/kopete-4.4.2-r1.ebuild @@ -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 +} diff --git a/kde-base/kopete/metadata.xml b/kde-base/kopete/metadata.xml index b2c6eb169963..f63d5abc811c 100644 --- a/kde-base/kopete/metadata.xml +++ b/kde-base/kopete/metadata.xml @@ -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> |