summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2011-12-30 23:14:15 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2011-12-30 23:14:15 +0000
commit690728ece00e3e1f8fae3d48574d670379d434cb (patch)
tree59ad88027a8759263471590b4a7ffaab593dbfe9 /net-p2p/ktorrent
parentRevert accidental removal (diff)
downloadgentoo-2-690728ece00e3e1f8fae3d48574d670379d434cb.tar.gz
gentoo-2-690728ece00e3e1f8fae3d48574d670379d434cb.tar.bz2
gentoo-2-690728ece00e3e1f8fae3d48574d670379d434cb.zip
Version bump including a backport of the kde-4.8 support, bug 392343
(Portage version: 2.1.10.41/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p/ktorrent')
-rw-r--r--net-p2p/ktorrent/ChangeLog8
-rw-r--r--net-p2p/ktorrent/files/ktorrent-4.1.3-tasks.patch166
-rw-r--r--net-p2p/ktorrent/ktorrent-4.1.3.ebuild104
3 files changed, 277 insertions, 1 deletions
diff --git a/net-p2p/ktorrent/ChangeLog b/net-p2p/ktorrent/ChangeLog
index 015d7e7487d0..375388e254b0 100644
--- a/net-p2p/ktorrent/ChangeLog
+++ b/net-p2p/ktorrent/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-p2p/ktorrent
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/ktorrent/ChangeLog,v 1.172 2011/12/15 22:22:43 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/ktorrent/ChangeLog,v 1.173 2011/12/30 23:14:15 dilfridge Exp $
+
+*ktorrent-4.1.3 (30 Dec 2011)
+
+ 30 Dec 2011; Andreas K. Huettel <dilfridge@gentoo.org>
+ +ktorrent-4.1.3.ebuild, +files/ktorrent-4.1.3-tasks.patch:
+ Version bump including a backport of the kde-4.8 support, bug 392343
15 Dec 2011; Agostino Sarubbo <ago@gentoo.org> ktorrent-4.1.2.ebuild:
Stable for AMD64, wrt bug #394867
diff --git a/net-p2p/ktorrent/files/ktorrent-4.1.3-tasks.patch b/net-p2p/ktorrent/files/ktorrent-4.1.3-tasks.patch
new file mode 100644
index 000000000000..1ebf22412ac5
--- /dev/null
+++ b/net-p2p/ktorrent/files/ktorrent-4.1.3-tasks.patch
@@ -0,0 +1,166 @@
+diff --git a/plasma/applet/CMakeLists.txt b/plasma/applet/CMakeLists.txt
+index 3a72241..4307cf2 100644
+--- a/plasma/applet/CMakeLists.txt
++++ b/plasma/applet/CMakeLists.txt
+@@ -5,25 +5,15 @@ if(NOT QT_VERSION_OK)
+
+ else(NOT QT_VERSION_OK)
+
+- set(TASKMANAGER_FOUND FALSE)
+- FIND_PATH(TASKMANAGER_INCLUDE_DIR NAMES taskmanager.h PATHS ${KDE4_INCLUDE_DIR}/taskmanager ${INCLUDE_INSTALL_DIR}/taskmanager.h)
+- FIND_LIBRARY(TASKMANAGER_LIBRARY NAMES taskmanager PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
+-
+- if(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
+- set(TASKMANAGER_FOUND TRUE)
+- message(STATUS "Found libtaskmanager: ${TASKMANAGER_LIBRARY} ")
+- include_directories(${TASKMANAGER_INCLUDE_DIR})
+- set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
+-
+- kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
+-
+- kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
+- target_link_libraries(plasma_applet_ktorrent ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${TASKMANAGER_LIBRARY} ${LIBKTORRENT_LIBRARIES} ktcore)
+-
+- install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
+- install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+- endif(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
+-
+- macro_log_feature(TASKMANAGER_FOUND "libtaskmanager" "libtaskmanager library and header files" "http://www.kde.org/" FALSE "" "libtaskmanager is needed for KTorrent Plasmoid")
++
++ set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
++
++ kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
++
++ kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
++ target_link_libraries(plasma_applet_ktorrent ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${LIBKTORRENT_LIBRARIES} ktcore)
++
++ install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
++ install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+
+ endif(NOT QT_VERSION_OK)
+diff --git a/plasma/applet/applet.cpp b/plasma/applet/applet.cpp
+index 59e7191..bf09479 100644
+--- a/plasma/applet/applet.cpp
++++ b/plasma/applet/applet.cpp
+@@ -21,6 +21,9 @@
+ #include "applet.h"
+ #include <QFile>
+ #include <QGraphicsLinearLayout>
++#include <QDBusConnection>
++#include <QDBusConnectionInterface>
++#include <QDBusMessage>
+ #include <KConfigDialog>
+ #include <KLocale>
+ #include <KRun>
+@@ -31,12 +34,11 @@
+ #include <Plasma/IconWidget>
+ #endif
+ #include <Plasma/Label>
+-#include <taskmanager/taskmanager.h>
+-#include <taskmanager/task.h>
+ #include <util/functions.h>
+ #include "chunkbar.h"
+ #include "fadingnavigationwidget.h"
+
++
+ using namespace bt;
+
+ namespace ktplasma
+@@ -174,7 +176,8 @@ namespace ktplasma
+ }
+ }
+
+- void Applet::updateNavigation() {
++ void Applet::updateNavigation()
++ {
+ navigation->setEnabled(connected_to_app && !sources.empty()
+ && (sources.count() > 1 || !sources.contains(current_source)));
+ }
+@@ -193,12 +196,14 @@ namespace ktplasma
+ }
+ }
+
+- void Applet::updateSources() {
++ void Applet::updateSources()
++ {
+ sources = engine->sources();
+ sources.removeOne("core");
+ }
+
+- void Applet::setSource(QString source) {
++ void Applet::setSource(QString source)
++ {
+ if (!current_source.isEmpty())
+ engine->disconnectSource(current_source,this);
+ clearData();
+@@ -340,20 +345,39 @@ namespace ktplasma
+
+ void Applet::iconClicked()
+ {
+- TaskManager::TaskDict tasks = TaskManager::TaskManager::self()->tasks();
+- for (TaskManager::TaskDict::iterator i = tasks.begin();i != tasks.end();i ++)
++ QDBusConnection session_bus = QDBusConnection::sessionBus();
++ QDBusConnectionInterface* dbus_service = session_bus.interface();
++ if (!session_bus.isConnected() || !dbus_service || !dbus_service->isServiceRegistered("org.ktorrent.ktorrent"))
+ {
+- if (i.value()->className() == "ktorrent")
+- {
+- KWindowSystem::activateWindow(i.key());
+- return;
+- }
++ // can't find the window, try launching it
++ KUrl::List empty;
++ KRun::run("ktorrent", empty, 0);
++ }
++ else
++ {
++ QDBusMessage msg = QDBusMessage::createMethodCall("org.ktorrent.ktorrent", "/ktorrent/MainWindow_1", "org.kde.KMainWindow", "winId");
++ QDBusPendingCall call = session_bus.asyncCall(msg, 5000);
++ QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(call ,this);
++ connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(dbusCallFinished(QDBusPendingCallWatcher*)));
+ }
+-
+- // can't find the window, try launching it
+- KUrl::List empty;
+- KRun::run("ktorrent", empty, 0);
+ }
++
++ void Applet::dbusCallFinished(QDBusPendingCallWatcher* self)
++ {
++ if (self->isError())
++ {
++ // call failed, try launching it
++ KUrl::List empty;
++ KRun::run("ktorrent", empty, 0);
++ }
++ else
++ {
++ QDBusPendingReply<qlonglong> reply = *self;
++ KWindowSystem::activateWindow(reply.value());
++ }
++ self->deleteLater();
++ }
++
+
+ void Applet::clearData()
+ {
+diff --git a/plasma/applet/applet.h b/plasma/applet/applet.h
+index 29b3265..d396118 100644
+--- a/plasma/applet/applet.h
++++ b/plasma/applet/applet.h
+@@ -27,6 +27,7 @@
+ #include "fadingnavigationwidget.h"
+
+ class QGraphicsLinearLayout;
++class QDBusPendingCallWatcher;
+
+ namespace Plasma
+ {
+@@ -68,6 +69,7 @@ namespace ktplasma
+ void iconClicked();
+ void selectPrev();
+ void selectNext();
++ void dbusCallFinished(QDBusPendingCallWatcher* self);
+
+ private:
+ void updateTorrentCombo();
diff --git a/net-p2p/ktorrent/ktorrent-4.1.3.ebuild b/net-p2p/ktorrent/ktorrent-4.1.3.ebuild
new file mode 100644
index 000000000000..a1a8fa69b87d
--- /dev/null
+++ b/net-p2p/ktorrent/ktorrent-4.1.3.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/ktorrent/ktorrent-4.1.3.ebuild,v 1.1 2011/12/30 23:14:15 dilfridge Exp $
+
+EAPI=4
+
+KDE_SCM="git"
+KDE_MINIMAL="4.5"
+LIBKT_VERSION_MIN="${PV}"
+LIBKT_VERSION_MAX="99999999"
+if [[ ${PV} != 9999* ]]; then
+ inherit versionator
+ # upstream likes to skip that _ in beta releases
+ MY_PV="${PV/_/}"
+ LIBKT_VERSION_MIN=$(($(get_major_version)-3)).$(get_version_component_range 2-3 ${PV})
+ LIBKT_VERSION_MAX=$(($(get_major_version)-3)).$(($(get_version_component_range 2)+1))
+ MY_P="${PN}-${MY_PV}"
+ KDE_HANDBOOK="optional"
+ KDE_DOC_DIRS="doc"
+
+ KDE_LINGUAS="ar ast be bg ca ca@valencia cs da de el en_GB eo es et eu
+ fi fr ga gl hi hne hr hu is it ja km lt lv mai ms nb nds nl nn oc
+ pl pt pt_BR ro ru se si sk sl sr sr@ijekavian sr@ijekavianlatin
+ sr@latin sv tr uk zh_CN zh_TW"
+ SRC_URI="http://ktorrent.org/downloads/${MY_PV}/${MY_P}.tar.bz2"
+ S="${WORKDIR}"/"${MY_P}"
+
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+else
+ LIBKT_VERSION_MIN="${PV}"
+ LIBKT_VERSION_MAX="99999999"
+ KEYWORDS=""
+fi
+
+inherit kde4-base
+
+DESCRIPTION="A BitTorrent program for KDE."
+HOMEPAGE="http://ktorrent.org/"
+
+LICENSE="GPL-2"
+SLOT="4"
+IUSE="+bwscheduler debug +downloadorder +infowidget +ipfilter +kross +logviewer
++magnetgenerator +mediaplayer plasma rss +scanfolder +search +shutdown +stats
++upnp webinterface +zeroconf"
+
+COMMONDEPEND="
+ <net-libs/libktorrent-${LIBKT_VERSION_MAX}
+ >=net-libs/libktorrent-${LIBKT_VERSION_MIN}
+ infowidget? ( dev-libs/geoip )
+ mediaplayer? ( >=media-libs/taglib-1.5 )
+ plasma? ( $(add_kdebase_dep libtaskmanager) )
+ rss? ( $(add_kdebase_dep kdepimlibs) )
+ shutdown? (
+ $(add_kdebase_dep libkworkspace)
+ $(add_kdebase_dep solid)
+ )
+"
+DEPEND="${COMMONDEPEND}
+ dev-libs/boost
+ sys-devel/gettext
+"
+RDEPEND="${COMMONDEPEND}
+ ipfilter? (
+ app-arch/bzip2
+ app-arch/unzip
+ $(add_kdebase_dep kdebase-kioslaves)
+ )
+ kross? ( $(add_kdebase_dep krosspython) )
+"
+
+PATCHES=( "${FILESDIR}/${P}-tasks.patch" )
+
+src_prepare() {
+ if ! use plasma; then
+ sed -i \
+ -e "s:add_subdirectory(plasma):#nada:g" \
+ CMakeLists.txt || die "Failed to make plasmoid optional"
+ fi
+
+ kde4-base_src_prepare
+}
+
+src_configure() {
+ mycmakeargs=(
+ $(cmake-utils_use_enable bwscheduler BWSCHEDULER_PLUGIN)
+ $(cmake-utils_use_enable downloadorder DOWNLOADORDER_PLUGIN)
+ $(cmake-utils_use_enable infowidget INFOWIDGET_PLUGIN)
+ $(cmake-utils_use_with infowidget SYSTEM_GEOIP)
+ $(cmake-utils_use_enable ipfilter IPFILTER_PLUGIN)
+ $(cmake-utils_use_enable kross SCRIPTING_PLUGIN)
+ $(cmake-utils_use_enable logviewer LOGVIEWER_PLUGIN)
+ $(cmake-utils_use_enable magnetgenerator MAGNETGENERATOR_PLUGIN)
+ $(cmake-utils_use_enable mediaplayer MEDIAPLAYER_PLUGIN)
+ $(cmake-utils_use_enable rss SYNDICATION_PLUGIN)
+ $(cmake-utils_use_enable scanfolder SCANFOLDER_PLUGIN)
+ $(cmake-utils_use_enable search SEARCH_PLUGIN)
+ $(cmake-utils_use_enable shutdown SHUTDOWN_PLUGIN)
+ $(cmake-utils_use_enable stats STATS_PLUGIN)
+ $(cmake-utils_use_enable upnp UPNP_PLUGIN)
+ $(cmake-utils_use_enable webinterface WEBINTERFACE_PLUGIN)
+ $(cmake-utils_use_enable zeroconf ZEROCONF_PLUGIN)
+ )
+ kde4-base_src_configure
+}