summary refs log tree commit diff
path: root/pkgs/applications/networking/p2p
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-01-19 21:31:51 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-01-19 21:31:51 +0000
commit84c018503859be28aded86677c9dbc54c7067e11 (patch)
tree44896c72bb5eaddc3b9ebc5e4701f40560774ff0 /pkgs/applications/networking/p2p
parent3980444b2b918ef74ac7b9f1128f399767d06fa1 (diff)
parentb94fef3cbad6b3b830f8f7c4a987c65c81c9e93d (diff)
downloadnixlib-84c018503859be28aded86677c9dbc54c7067e11.tar
nixlib-84c018503859be28aded86677c9dbc54c7067e11.tar.gz
nixlib-84c018503859be28aded86677c9dbc54c7067e11.tar.bz2
nixlib-84c018503859be28aded86677c9dbc54c7067e11.tar.lz
nixlib-84c018503859be28aded86677c9dbc54c7067e11.tar.xz
nixlib-84c018503859be28aded86677c9dbc54c7067e11.tar.zst
nixlib-84c018503859be28aded86677c9dbc54c7067e11.zip
svn merge ^/nixpkgs/trunk, one simple conflict in jruby
svn path=/nixpkgs/branches/stdenv-updates/; revision=31721
Diffstat (limited to 'pkgs/applications/networking/p2p')
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch175
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/find-workspace.diff17
4 files changed, 191 insertions, 22 deletions
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 1219c1763549..5d5d6128bb42 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -7,11 +7,11 @@
 assert gtkSupport -> (gtk != null) && (libglade != null);
 
 stdenv.mkDerivation rec {
-  name = "gnunet-0.9.0";
+  name = "gnunet-0.9.1";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "1a0faq2j20dxhpdq0lpi8mjhddwmscbaa1bsxk460p5mj8n55i3p";
+    sha256 = "0ipx027lzcgdv70adfk8f4h0zrzm9mlhy3vj9cgc0ck8x52llfpq";
   };
 
   buildInputs = [
@@ -41,9 +41,18 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  # XXX: There are several test failures, forwarded to bug-gnunet@gnu.org.
   doCheck = false;
 
+  /* FIXME: Tests must be run this way, but there are still a couple of
+     failures.
+
+  postInstall =
+    '' export GNUNET_PREFIX="$out"
+       export PATH="$out/bin:$PATH"
+       make -k check
+    '';
+  */
+
   meta = {
     description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
 
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index e4cb4e9089ab..5f15cbc495f0 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   name = pname + "-" + version;
 
   pname = "ktorrent";
-  version = "4.1.1";
+  version = "4.1.3";
 
   src = fetchurl {
     url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2";
-    sha256 = "1h0fqh344sfwfbvnwhn00k8czb14568flapjf4754zss6bxpw4g4";
+    sha256 = "0ih68bml6ic3mxk5l4ypgmxwyg9mglp57gw5igrnm5yszm7jz19g";
   };
 
-  patches = [ ./find-workspace.diff ];
+  patches = [ ./find-workspace.diff ./drop-taskmanager-dependency.patch ];
 
   KDEDIRS = libktorrent;
 
diff --git a/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch b/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
new file mode 100644
index 000000000000..2998b3926798
--- /dev/null
+++ b/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
@@ -0,0 +1,175 @@
+commit 6d4a6ae51692966862ccb20d17cb217717519d40
+Author: Joris Guisson <joris.guisson@gmail.com>
+Date:   Wed Nov 23 20:17:08 2011 +0100
+
+    Use dbus to show ktorrent window from plasma applet. This removes the dependency on libtaskmanager.
+    
+    BUG: 287309
+Changelog removed by Yury G. Kudryashov
+
+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/pkgs/applications/networking/p2p/ktorrent/find-workspace.diff b/pkgs/applications/networking/p2p/ktorrent/find-workspace.diff
index 472ceff490e1..b07c1ca1b83c 100644
--- a/pkgs/applications/networking/p2p/ktorrent/find-workspace.diff
+++ b/pkgs/applications/networking/p2p/ktorrent/find-workspace.diff
@@ -1,19 +1,4 @@
-Fix finding taskmanager.h and kworkspace.h
-diff --git a/plasma/applet/CMakeLists.txt b/plasma/applet/CMakeLists.txt
-index 3a72241..69b1205 100644
---- a/plasma/applet/CMakeLists.txt
-+++ b/plasma/applet/CMakeLists.txt
-@@ -6,7 +6,9 @@ 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_PATH(TASKMANAGER_INCLUDE_DIR
-+		NAMES taskmanager/taskmanager.h
-+		HINTS ${KDE4_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR})
- 	FIND_LIBRARY(TASKMANAGER_LIBRARY NAMES taskmanager PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
- 
- 	if(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
+Fix finding kworkspace.h
 diff --git a/plugins/shutdown/CMakeLists.txt b/plugins/shutdown/CMakeLists.txt
 index 59e5470..5b932ff 100644
 --- a/plugins/shutdown/CMakeLists.txt