about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/misc/mantisbt.nix2
-rw-r--r--nixos/modules/services/misc/octoprint.nix15
-rw-r--r--nixos/modules/services/monitoring/graphite.nix29
-rw-r--r--pkgs/applications/audio/banshee/default.nix55
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch16
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix4
-rw-r--r--pkgs/development/compilers/boo/config.patch45
-rw-r--r--pkgs/development/compilers/boo/default.nix45
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/default.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp/default.nix24
-rw-r--r--pkgs/development/libraries/gdata-sharp/default.nix38
-rw-r--r--pkgs/development/libraries/gio-sharp/default.nix28
-rw-r--r--pkgs/development/libraries/gtk-sharp-beans/default.nix24
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix (renamed from pkgs/development/libraries/gtk-sharp-2/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-sharp/3.0.nix48
-rw-r--r--pkgs/development/libraries/gtk-sharp/builder.sh (renamed from pkgs/development/libraries/gtk-sharp-2/builder.sh)0
-rw-r--r--pkgs/development/libraries/libgpod/default.nix16
-rw-r--r--pkgs/development/libraries/libzen/default.nix23
-rw-r--r--pkgs/development/libraries/mono-addins/default.nix29
-rw-r--r--pkgs/development/libraries/mono-zeroconf/default.nix23
-rw-r--r--pkgs/development/libraries/notify-sharp/default.nix35
-rw-r--r--pkgs/development/libraries/taglib-sharp/default.nix26
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix9
-rw-r--r--pkgs/tools/networking/uget/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix42
28 files changed, 654 insertions, 43 deletions
diff --git a/nixos/modules/services/misc/mantisbt.nix b/nixos/modules/services/misc/mantisbt.nix
index 372106149fd0..7e3474feb672 100644
--- a/nixos/modules/services/misc/mantisbt.nix
+++ b/nixos/modules/services/misc/mantisbt.nix
@@ -46,7 +46,7 @@ in
       type = types.lines;
       default = "";
       description = ''
-        The contents of config_inc.php, without leading <?php.
+        The contents of config_inc.php, without leading &lt;?php.
         If left empty, the admin directory will be accessible.
       '';
     };
diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix
index 9cf46345c228..8ab2a9307a71 100644
--- a/nixos/modules/services/misc/octoprint.nix
+++ b/nixos/modules/services/misc/octoprint.nix
@@ -6,12 +6,16 @@ let
 
   cfg = config.services.octoprint;
 
-  cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON {
+  baseConfig = {
     plugins.cura.cura_engine = "${pkgs.curaengine}/bin/CuraEngine";
     server.host = cfg.host;
     server.port = cfg.port;
     webcam.ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
-  });
+  };
+
+  fullConfig = recursiveUpdate cfg.extraConfig baseConfig;
+
+  cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON fullConfig);
 
   pluginsEnv = pkgs.python.buildEnv.override {
     extraLibs = cfg.plugins pkgs.octoprint-plugins;
@@ -62,13 +66,18 @@ in
       };
 
       plugins = mkOption {
-        #type = types.functionTo (types.listOf types.package);
         default = plugins: [];
         defaultText = "plugins: []";
         example = literalExample "plugins: [ m3d-fio ]";
         description = "Additional plugins.";
       };
 
+      extraConfig = mkOption {
+        type = types.attrs;
+        default = {};
+        description = "Extra options which are added to OctoPrint's YAML configuration file.";
+      };
+
     };
 
   };
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index 976fd253a7cd..7104a5796f76 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -51,7 +51,13 @@ let
   '';
 
   carbonEnv = {
-    PYTHONPATH = "${pkgs.python27Packages.carbon}/lib/python2.7/site-packages";
+    PYTHONPATH = let
+      cenv = pkgs.python.buildEnv.override {
+        extraLibs = [ pkgs.python27Packages.carbon ];
+      };
+      cenvPack =  "${cenv}/${pkgs.python.sitePackages}";
+    # opt/graphite/lib contains twisted.plugins.carbon-cache
+    in "${cenvPack}/opt/graphite/lib:${cenvPack}";
     GRAPHITE_ROOT = dataDir;
     GRAPHITE_CONF_DIR = configDir;
     GRAPHITE_STORAGE_DIR = dataDir;
@@ -445,10 +451,21 @@ in {
         after = [ "network-interfaces.target" ];
         path = [ pkgs.perl ];
         environment = {
-          PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
+          PYTHONPATH = let
+              penv = pkgs.python.buildEnv.override {
+                extraLibs = [
+                  pkgs.python27Packages.graphite_web
+                  pkgs.python27Packages.pysqlite
+                ];
+              };
+              penvPack = "${penv}/${pkgs.python.sitePackages}";
+              # opt/graphite/webapp contains graphite/settings.py
+              # explicitly adding pycairo in path because it cannot be imported via buildEnv
+            in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pycairo}/${pkgs.python.sitePackages}";
           DJANGO_SETTINGS_MODULE = "graphite.settings";
           GRAPHITE_CONF_DIR = configDir;
           GRAPHITE_STORAGE_DIR = dataDir;
+          LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
         };
         serviceConfig = {
           ExecStart = ''
@@ -486,9 +503,11 @@ in {
         wantedBy = [ "multi-user.target" ];
         after = [ "network-interfaces.target" ];
         environment = {
-          PYTHONPATH =
-            "${cfg.api.package}/lib/python2.7/site-packages:" +
-            concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
+          PYTHONPATH = let
+              aenv = pkgs.python.buildEnv.override {
+                extraLibs = [ cfg.api.package pkgs.cairo ] ++ cfg.api.finders;
+              };
+            in "${aenv}/${pkgs.python.sitePackages}";
           GRAPHITE_API_CONFIG = graphiteApiConfig;
           LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
         };
diff --git a/pkgs/applications/audio/banshee/default.nix b/pkgs/applications/audio/banshee/default.nix
new file mode 100644
index 000000000000..4e5086bdb26d
--- /dev/null
+++ b/pkgs/applications/audio/banshee/default.nix
@@ -0,0 +1,55 @@
+{ pkgs, stdenv, lib, fetchurl, intltool, pkgconfig, gstreamer, gst_plugins_base
+, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly, gst_ffmpeg, glib
+, mono, mono-addins, dbus-sharp-1_0, dbus-sharp-glib-1_0, notify-sharp, gtk-sharp-2_0
+, boo, gdata-sharp, taglib-sharp, sqlite, gnome-sharp, gconf, gtk-sharp-beans, gio-sharp
+, libmtp, libgpod, mono-zeroconf }:
+
+stdenv.mkDerivation rec {
+  name = "banshee-${version}";
+  version = "2.6.2";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/banshee/2.6/banshee-${version}.tar.xz";
+    sha256 = "1y30p8wxx5li39i5gpq2wib0ympy8llz0gyi6ri9bp730ndhhz7p";
+  };
+
+  dontStrip = true;
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [
+    gtk-sharp-2_0.gtk gstreamer gst_plugins_base gst_plugins_good
+    gst_plugins_bad gst_plugins_ugly gst_ffmpeg
+    mono dbus-sharp-1_0 dbus-sharp-glib-1_0 mono-addins notify-sharp
+    gtk-sharp-2_0 boo gdata-sharp taglib-sharp sqlite gnome-sharp gconf gtk-sharp-beans
+    gio-sharp libmtp libgpod mono-zeroconf
+  ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postPatch = ''
+    patchShebangs data/desktop-files/update-desktop-file.sh
+    patchShebangs build/private-icon-theme-installer
+    sed -i "s,DOCDIR=.*,DOCDIR=$out/lib/monodoc," configure
+  '';
+
+  postInstall = let
+    ldLibraryPath = lib.makeLibraryPath [ gtk-sharp-2_0.gtk gtk-sharp-2_0 sqlite gconf glib gstreamer ];
+
+    monoGACPrefix = lib.concatStringsSep ":" [
+      mono dbus-sharp-1_0 dbus-sharp-glib-1_0 mono-addins notify-sharp gtk-sharp-2_0
+      boo gdata-sharp taglib-sharp sqlite gnome-sharp gconf gtk-sharp-beans
+      gio-sharp libmtp libgpod mono-zeroconf
+    ];
+  in ''
+    sed -e '2a export MONO_GAC_PREFIX=${monoGACPrefix}' \
+        -e 's|LD_LIBRARY_PATH=|LD_LIBRARY_PATH=${ldLibraryPath}:|' \
+        -e "s|GST_PLUGIN_PATH=|GST_PLUGIN_PATH=$GST_PLUGIN_SYSTEM_PATH:|" \
+        -e 's| mono | ${mono}/bin/mono |' \
+        -i $out/bin/banshee
+  '';
+  meta = with lib; {
+    description = "A music player written in C# using GNOME technologies";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.zohl ];
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index bf06761bc533..498a4be7ff4d 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -5,7 +5,7 @@
 assert stdenv.system == "x86_64-linux";
 
 let
-  version = "1.0.23.93.gd6cfae15-30";
+  version = "1.0.25.127.g58007b4c-22";
 
   deps = [
     alsaLib
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "0n6vz51jv6s20dp4zlqkk52bpmpyfm1qn5bfm4lfq09x1g6ir5lr";
+      sha256 = "1fxps0ls0g4idw10la3qrpmp2jn85lkm3xj4nam4ycx0jj8g1v2p";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch b/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
index 01b0c8f9cce9..54116b80a6e8 100644
--- a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
+++ b/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
@@ -1,7 +1,7 @@
-From 73ff28c3ee5b737303871268a5487db0fcffc0f6 Mon Sep 17 00:00:00 2001
+From 0be3198cccf753226758684955f49a32d8d920c0 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Wed, 17 Feb 2016 14:37:31 +0300
-Subject: [PATCH 1/2] Don't use static library
+Subject: [PATCH] Don't use static library
 
 ---
  octoprint_m3dfio/__init__.py   | 67 +-----------------------------------------
@@ -9,23 +9,23 @@ Subject: [PATCH 1/2] Don't use static library
  2 files changed, 5 insertions(+), 68 deletions(-)
 
 diff --git a/octoprint_m3dfio/__init__.py b/octoprint_m3dfio/__init__.py
-index 5e5369b..9f59768 100644
+index a2ca533..43f178a 100644
 --- a/octoprint_m3dfio/__init__.py
 +++ b/octoprint_m3dfio/__init__.py
-@@ -764,72 +764,7 @@ class M3DFioPlugin(
+@@ -793,72 +793,7 @@ class M3DFioPlugin(
  		# Set file locations
  		self.setFileLocations()
  		
 -		# Check if running on Linux
 -		if platform.uname()[0].startswith("Linux") :
 -		
--			# Check if running on a Raspberry Pi
+-			# Check if running on a Raspberry Pi 1
 -			if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
 -			
 -				# Set shared library
 -				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
 -			
--			# Otherwise check if running on a Raspberry Pi 2
+-			# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
 -			elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
 -			
 -				# Set shared library
@@ -87,7 +87,7 @@ index 5e5369b..9f59768 100644
  		if self.sharedLibrary :
  		
 diff --git a/shared library source/Makefile b/shared library source/Makefile
-index 4062a91..89dab71 100644
+index 9d015a1..a24f134 100644
 --- a/shared library source/Makefile	
 +++ b/shared library source/Makefile	
 @@ -58,13 +58,15 @@ ifeq ($(TARGET_PLATFORM), OSX64)
@@ -109,5 +109,5 @@ index 4062a91..89dab71 100644
  clean:
  	rm -f ../octoprint_m3dfio/static/libraries/$(PROG)
 -- 
-2.7.0
+2.7.1
 
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 1ae11be3cdd3..d7927535f154 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -8,13 +8,13 @@ in {
 
   m3d-fio = buildPlugin rec {
     name = "M3D-Fio-${version}";
-    version = "0.28.2";
+    version = "0.29";
 
     src = fetchFromGitHub {
       owner = "donovan6000";
       repo = "M3D-Fio";
       rev = "V${version}";
-      sha256 = "1fwy6xmbid89rn7w7v779wb34gmfzc1fkggv3im1r7a7jrzph6nx";
+      sha256 = "17jyr7qf9psq3xcckk1zjhaw0h8a0mh3v8lcv9vgqzni27kq9pnb";
     };
 
     patches = [
diff --git a/pkgs/development/compilers/boo/config.patch b/pkgs/development/compilers/boo/config.patch
new file mode 100644
index 000000000000..f6e0eee29b1b
--- /dev/null
+++ b/pkgs/development/compilers/boo/config.patch
@@ -0,0 +1,45 @@
+diff --git a/default.build b/default.build
+index e48fd9e..b0dee4f 100644
+--- a/default.build
++++ b/default.build
+@@ -23,14 +23,14 @@
+ 	<property name="skip.ast" value="False" />

+ 	<property name="skip.vs" value="False" />

+ 

+-	<property name="gsv.name" value="gtksourceview-1.0" />

++	<property name="gsv.name" value="gtksourceview-2.0" />

+ 	

+ 	<property name="build.dir" value="build" dynamic="True"/>

+ 	<property name="distrobuild.dir" value="distrobuild"/>

+ 	<property name="docs.dir" value="docs" />

+ 	<property name="examples.dir" value="examples" />

+ 

+-	<property name="install.prefix" value="/usr/local" />

++	<property name="install.prefix" value="$out" />

+ 	<property name="install.destdir" value="/" />

+ 

+ 	<property name="install.share" value="${path::combine(install.prefix,'share')}" />

+@@ -575,9 +575,9 @@
+ 		key files for mime detection, etc

+ 		-->

+ 

+-		<property name="sharedmime.prefix" value="${pkg-config::get-variable('shared-mime-info','prefix')}" />

++		<property name="sharedmime.prefix" value="$out" />

+ 		<property name="fakeroot.sharedmime" value="${fakeroot}/${sharedmime.prefix}" />

+-		<property name="gsv.prefix" value="${pkg-config::get-variable(gsv.name,'prefix')}" />

++		<property name="gsv.prefix" value="$out" />

+ 		<property name="fakeroot.gsv" value="${fakeroot}/${gsv.prefix}" />

+ 

+ 		<mkdir dir="${fakeroot.boolib}"/>

+@@ -707,9 +707,9 @@
+ 		key files for mime detection, etc

+ 		-->

+ 

+-		<property name="sharedmime.prefix" value="${pkg-config::get-variable('shared-mime-info','prefix')}" />

++		<property name="sharedmime.prefix" value="$out" />

+ 		<property name="fakeroot.sharedmime" value="${fakeroot}/${sharedmime.prefix}" />

+-		<property name="gsv.prefix" value="${pkg-config::get-variable(gsv.name,'prefix')}" />

++		<property name="gsv.prefix" value="$out" />

+ 		<property name="fakeroot.gsv" value="${fakeroot}/${gsv.prefix}" />

+ 		

+ 		<foreach item="File" property="filename">

diff --git a/pkgs/development/compilers/boo/default.nix b/pkgs/development/compilers/boo/default.nix
new file mode 100644
index 000000000000..c57d4de87678
--- /dev/null
+++ b/pkgs/development/compilers/boo/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, pkgconfig, dbus, mono, makeWrapper, nant
+, shared_mime_info, gtksourceview, gtk
+, targetVersion ? "4.5" }:
+
+let
+  release = "alpha";
+in stdenv.mkDerivation rec {
+  name = "boo-${version}";
+  version = "2013-10-21";
+
+  src = fetchFromGitHub {
+    owner = "boo-lang";
+    repo = "boo";
+
+    rev = "${release}";
+    sha256 = "174abdwfpq8i3ijx6bwqll16lx7xwici374rgsbymyk8g8mla094";
+  };
+
+  buildInputs = [
+    pkgconfig mono makeWrapper nant shared_mime_info gtksourceview
+    gtk
+  ];
+
+  patches = [ ./config.patch ];
+
+  postPatch = ''
+    sed -e 's|\$out|'$out'|' -i default.build
+  '';
+
+  buildPhase = ''
+    nant -t:mono-4.5
+  '';
+
+  installPhase = ''
+    nant install
+    cp $out/lib/mono/boo/*.dll $out/lib/boo/
+  '';
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "The Boo Programming Language";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
new file mode 100644
index 000000000000..208288bfca1d
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono, dbus-sharp-1_0 }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-glib-${version}";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp-glib";
+
+    rev = "v${version}";
+    sha256 = "0z8ylzby8n5sar7aywc8rngd9ap5qqznadsscp5v34cacdfz1gxm";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono dbus-sharp-1_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET: GLib integration module";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp-glib/default.nix b/pkgs/development/libraries/dbus-sharp-glib/default.nix
new file mode 100644
index 000000000000..ef1ddd9bfff5
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp-glib/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, pkgconfig, mono, dbus-sharp-2_0, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-glib-${version}";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp-glib";
+
+    rev = "v${version}";
+    sha256 = "0i39kfg731as6j0hlmasgj8dyw5xsak7rl2dlimi1naphhffwzm8";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono dbus-sharp-2_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET: GLib integration module";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
new file mode 100644
index 000000000000..c17a140b9c57
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-${version}";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp";
+
+    rev = "v${version}";
+    sha256 = "13qlqx9wqahfpzzl59157cjxprqcx2bd40w5gb2bs3vdx058p562";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix
new file mode 100644
index 000000000000..ea7d920dc828
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-${version}";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp";
+
+    rev = "v${version}";
+    sha256 = "1g5lblrvkd0wnhfzp326by6n3a9mj2bj7a7646g0ziwgsxp5w6y7";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gdata-sharp/default.nix b/pkgs/development/libraries/gdata-sharp/default.nix
new file mode 100644
index 000000000000..e9f5898e2eac
--- /dev/null
+++ b/pkgs/development/libraries/gdata-sharp/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchsvn, pkgconfig, mono, dotnetPackages }:
+
+let
+  newtonsoft-json = dotnetPackages.NewtonsoftJson;
+in stdenv.mkDerivation rec {
+  name = "gdata-sharp-${version}";
+  version = "2.2.0.0";
+
+  src = fetchsvn {
+    url = "http://google-gdata.googlecode.com/svn/trunk/";
+    rev = "1217";
+    sha256 = "0b0rvgg3xsbbg2fdrpz0ywsy9rcahlyfskndaagd3yzm83gi6bhk";
+  };
+
+  buildInputs = [ pkgconfig mono newtonsoft-json ];
+
+  sourceRoot = "svn-r1217/clients/cs";
+
+  dontStrip = true;
+
+  postPatch = ''
+    sed -i -e 's#^\(DEFINES=.*\)\(.\)#\1 /r:third_party/Newtonsoft.Json.dll\2#' Makefile
+    #             carriage return ^
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/archive/p/google-gdata/;
+
+    description = "The Google Data APIs";
+    longDescription = ''
+      The Google Data APIs provide a simple protocol for reading and writing
+      data on the web.
+    '';
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gio-sharp/default.nix b/pkgs/development/libraries/gio-sharp/default.nix
new file mode 100644
index 000000000000..ad5220cac4e9
--- /dev/null
+++ b/pkgs/development/libraries/gio-sharp/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, which, pkgconfig, mono, gtk-sharp }:
+
+stdenv.mkDerivation rec {
+  name = "gio-sharp-${version}";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "gio-sharp";
+
+    rev = "${version}";
+    sha256 = "13pc529pjabj7lq23dbndc26ssmg5wkhc7lfvwapm87j711m0zig";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf automake which ];
+  buildInputs = [ mono gtk-sharp ];
+
+  dontStrip = true;
+
+  prePatch = ''
+    ./autogen-2.22.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GIO API bindings";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix
new file mode 100644
index 000000000000..92578f42e341
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono, gtk-sharp, gio-sharp }:
+
+stdenv.mkDerivation rec {
+  name = "gtk-sharp-beans-${version}";
+  version = "2.14.0";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "gtk-sharp-beans";
+
+    rev = "${version}";
+    sha256 = "04sylwdllb6gazzs2m4jjfn14mil9l3cny2q0xf0zkhczzih6ah1";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook which ];
+  buildInputs = [ mono gtk-sharp gio-sharp ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "gtk-sharp-beans binds some API from Gtk+ that isn't in Gtk# 2.12.x";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gtk-sharp-2/default.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 0e659fb074bd..0e659fb074bd 100644
--- a/pkgs/development/libraries/gtk-sharp-2/default.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix
new file mode 100644
index 000000000000..380c43108de0
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pkgconfig, mono
+, glib
+, pango
+, gtk3
+, GConf ? null
+, libglade ? null
+, libgtkhtml ? null
+, gtkhtml ? null
+, libgnomecanvas ? null
+, libgnomeui ? null
+, libgnomeprint ? null
+, libgnomeprintui ? null
+, gnomepanel ? null
+, libxml2
+, monoDLLFixer
+}:
+
+stdenv.mkDerivation {
+  name = "gtk-sharp-2.99.3";
+
+  builder = ./builder.sh;
+  src = fetchurl {
+    #"mirror://gnome/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
+    url = "http://ftp.gnome.org/pub/GNOME/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
+    sha256 = "18n3l9zcldyvn4lwi8izd62307mkhz873039nl6awrv285qzah34";
+  };
+
+  # patch bad usage of glib, which wasn't tolerated anymore
+  # prePatch = ''
+  #   for f in glib/glue/{thread,list,slist}.c; do
+  #     sed -i 's,#include <glib/.*\.h>,#include <glib.h>,g' "$f"
+  #   done
+  # '';
+
+  buildInputs = [
+    pkgconfig mono glib pango gtk3 GConf libglade libgnomecanvas
+    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    gnomepanel
+  ];
+
+  dontStrip = true;
+
+  inherit monoDLLFixer;
+
+  passthru = {
+    inherit gtk3;
+  };
+}
diff --git a/pkgs/development/libraries/gtk-sharp-2/builder.sh b/pkgs/development/libraries/gtk-sharp/builder.sh
index 4b8f757540b5..4b8f757540b5 100644
--- a/pkgs/development/libraries/gtk-sharp-2/builder.sh
+++ b/pkgs/development/libraries/gtk-sharp/builder.sh
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 6a1f28c96ff6..b4b951325a40 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,6 +1,8 @@
-{stdenv, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
+{stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
   libxml2, sqlite, libusb1, zlib, sg3_utils, gdk_pixbuf, taglib,
-  libimobiledevice, python, pygobject, mutagen }:
+  libimobiledevice, python, pygobject, mutagen,
+  monoSupport ? true, mono, gtk-sharp
+}:
 
 stdenv.mkDerivation rec {
   name = "libgpod-0.8.3";
@@ -10,13 +12,19 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
-  configureFlags = "--without-hal --enable-udev";
+
+  configureFlags = [
+    "--without-hal"
+    "--enable-udev"
+  ] ++ lib.optionals monoSupport [ "--with-mono" ];
+
+  dontStrip = true;
 
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
     gdk_pixbuf taglib libimobiledevice python pygobject mutagen ];
 
   nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl
-    libimobiledevice.swig ];
+    libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
index 127eeaeaca9e..23597c2e03b1 100644
--- a/pkgs/development/libraries/libzen/default.nix
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -1,26 +1,25 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig }:
+{ stdenv, fetchurl, autoreconfHook }:
 
-let version = "0.4.32"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  version = "0.4.33";
   name = "libzen-${version}";
   src = fetchurl {
-    url = "http://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
-    sha256 = "0rhbiaywij6jj8d7vkc4v7y21ic1kv9fbn9lk82mm12yjwzlhhyd";
+    url = "https://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
+    sha256 = "0py5iagajz6m5zh26svkjyy85k1dmyhi6cdbmc3cb56a4ix1k2d2";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook ];
   configureFlags = [ "--enable-shared" ];
 
   sourceRoot = "./ZenLib/Project/GNU/Library/";
 
   preConfigure = "sh autogen.sh";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Shared library for libmediainfo and mediainfo";
-    homepage = http://mediaarea.net/;
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.devhell ];
+    homepage = https://mediaarea.net/;
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.devhell ];
   };
 }
diff --git a/pkgs/development/libraries/mono-addins/default.nix b/pkgs/development/libraries/mono-addins/default.nix
new file mode 100644
index 000000000000..e68661b44ec3
--- /dev/null
+++ b/pkgs/development/libraries/mono-addins/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono, gtk-sharp-2_0 }:
+
+stdenv.mkDerivation rec {
+  name = "mono-addins-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "mono-addins";
+
+    rev = "mono-addins-${version}";
+    sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono gtk-sharp-2_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.mono-project.com/archived/monoaddins/;
+    description = "A generic framework for creating extensible applications";
+    longDescription = ''
+      Mono.Addins is a generic framework for creating extensible applications,
+      and for creating libraries which extend those applications.
+    '';
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/mono-zeroconf/default.nix b/pkgs/development/libraries/mono-zeroconf/default.nix
new file mode 100644
index 000000000000..12b15c4937d7
--- /dev/null
+++ b/pkgs/development/libraries/mono-zeroconf/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, autoreconfHook, which, pkgconfig, mono }:
+
+stdenv.mkDerivation rec {
+  name = "mono-zeroconf-${version}";
+  version = "0.9.0";
+
+  src = fetchurl {
+    url = "http://download.banshee-project.org/mono-zeroconf/mono-zeroconf-${version}.tar.bz2";
+    sha256 = "1qfp4qvsx7rc2shj1chi2y7fxn10rwi70rw2y54b2i8a4jq7gpkb";
+  };
+
+  buildInputs = [ pkgconfig which mono ];
+
+  dontStrip = true;
+
+  configureFlags = [ "--disable-docs" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross platform Zero Configuration Networking library for Mono and .NET";
+    homepage = http://www.mono-project.com/archived/monozeroconf/;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/notify-sharp/default.nix b/pkgs/development/libraries/notify-sharp/default.nix
new file mode 100644
index 000000000000..c7e133d94b23
--- /dev/null
+++ b/pkgs/development/libraries/notify-sharp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, mono, gtk-sharp-3_0, dbus-sharp-1_0, dbus-sharp-glib-1_0 }:
+
+stdenv.mkDerivation rec {
+  name = "notify-sharp-${version}";
+  version = "3.0.3";
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "notify-sharp";
+
+    rev = "${version}";
+    sha256 = "1vm7mnmxdwrgy4mr07lfva8sa6a32f2ah5x7w8yzcmahaks3sj5m";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig autoreconfHook
+  ];
+
+  buildInputs = [
+    mono gtk-sharp-3_0
+    dbus-sharp-1_0 dbus-sharp-glib-1_0
+  ];
+
+  dontStrip = true;
+
+  postPatch = ''
+    sed -i 's#^[ \t]*DOCDIR=.*$#DOCDIR=$out/lib/monodoc#' ./configure.ac
+  '';
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/taglib-sharp/default.nix b/pkgs/development/libraries/taglib-sharp/default.nix
new file mode 100644
index 000000000000..6da524c23390
--- /dev/null
+++ b/pkgs/development/libraries/taglib-sharp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono }:
+
+stdenv.mkDerivation rec {
+  name = "taglib-sharp-${version}";
+  version = "2.1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "taglib-sharp";
+
+    rev = "taglib-sharp-${version}";
+    sha256 = "12pk4z6ag8w7kj6vzplrlasq5lwddxrww1w1ya5ivxrfki15h5cp";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook which ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  configureFlags = [ "--disable-docs" ];
+
+  meta = with stdenv.lib; {
+    description = "Library for reading and writing metadata in media files";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index a35b8181544f..65cbf1c45890 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -2,21 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "pax-utils-${version}";
-  version = "1.1.1";
+  version = "1.1.6";
 
   src = fetchurl {
-    url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz";
-    sha256 = "0gldvyr96jgbcahq7rl3k4krzyhvlz95ckiqh3yhink56s5z58cy";
+    url = "https://dev.gentoo.org/~vapier/dist/${name}.tar.xz";
+    sha256 = "04hvsizzspfzfq6hhfif7ya9nwsc0cs6z6n2bq1zfh7agd8nqhzm";
   };
 
   makeFlags = [
-    "DESTDIR=$(out)"
     "PREFIX=$(out)"
   ];
 
   meta = with stdenv.lib; {
     description = "A suite of tools for PaX/grsecurity";
-    homepage    = "http://dev.gentoo.org/~vapier/dist/";
+    homepage    = "https://dev.gentoo.org/~vapier/dist/";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
new file mode 100644
index 000000000000..28d3f2c16336
--- /dev/null
+++ b/pkgs/tools/networking/uget/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, pkgconfig, intltool, openssl, curl, libnotify, gstreamer,
+  gst_plugins_base, gst_plugins_good, gnome3, makeWrapper, aria2 ? null }:
+
+stdenv.mkDerivation rec {
+  name = "uget-${version}";
+  version = "2.0.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/urlget/${name}.tar.gz";
+    sha256 = "0cqz8cd8dyciam07w6ipgzj52zhf9q0zvg6ag6wz481sxkpdnfh3";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool makeWrapper ];
+  
+  buildInputs = [
+    openssl curl libnotify gstreamer gst_plugins_base gst_plugins_good
+    gnome3.gtk gnome3.dconf
+  ]
+  ++ (stdenv.lib.optional (aria2 != null) aria2);
+
+  enableParallelBuilding = true;
+  
+  preFixup = ''
+    wrapProgram $out/bin/uget-gtk \
+      ${stdenv.lib.optionalString (aria2 != null) ''--suffix PATH : "${aria2}/bin"''} \
+      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
+      --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Download manager using gtk+ and libcurl";
+    longDescription = ''
+      uGet is a VERY Powerful download manager application with a large
+      inventory of features but is still very light-weight and low on
+      resources, so don't let the impressive list of features scare you into
+      thinking that it "might be too powerful" because remember power is good
+      and lightweight power is uGet!
+    '';
+    license = licenses.lgpl21;
+    homepage = http://www.ugetdm.com;
+    maintainers = with maintainers; [ romildo ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b2bb982625c3..2e86b3b5894e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3558,6 +3558,8 @@ let
 
   ufraw = callPackage ../applications/graphics/ufraw { };
 
+  uget = callPackage ../tools/networking/uget { };
+
   umlet = callPackage ../tools/misc/umlet { };
 
   unetbootin = callPackage ../tools/cd-dvd/unetbootin { };
@@ -4034,6 +4036,10 @@ let
 
   bigloo = callPackage ../development/compilers/bigloo { };
 
+  boo = callPackage ../development/compilers/boo {
+    inherit (gnome) gtksourceview;
+  };
+
   colm = callPackage ../development/compilers/colm { };
 
   fetchegg = callPackage ../build-support/fetchegg { };
@@ -6623,6 +6629,12 @@ let
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
   dbus_python     = pythonPackages.dbus;
 
+  dbus-sharp-1_0 = callPackage ../development/libraries/dbus-sharp/dbus-sharp-1.0.nix { };
+  dbus-sharp-2_0 = callPackage ../development/libraries/dbus-sharp { };
+
+  dbus-sharp-glib-1_0 = callPackage ../development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix { };
+  dbus-sharp-glib-2_0 = callPackage ../development/libraries/dbus-sharp-glib { };
+
   # Should we deprecate these? Currently there are many references.
   dbus_tools = pkgs.dbus.tools;
   dbus_libs = pkgs.dbus.libs;
@@ -6836,6 +6848,8 @@ let
 
   giblib = callPackage ../development/libraries/giblib { };
 
+  gio-sharp = callPackage ../development/libraries/gio-sharp { };
+
   libgit2 = callPackage ../development/libraries/git2 { };
 
   libgit2_0_21 = callPackage ../development/libraries/git2/0.21.nix { };
@@ -7046,6 +7060,8 @@ let
 
   pangox_compat = callPackage ../development/libraries/pangox-compat { };
 
+  gdata-sharp = callPackage ../development/libraries/gdata-sharp { };
+
   gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
 
   gnome-sharp = callPackage ../development/libraries/gnome-sharp {};
@@ -7067,12 +7083,22 @@ let
     gtksharp = gtk-sharp;
   };
 
-  gtk-sharp = callPackage ../development/libraries/gtk-sharp-2 {
+  gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix {
+    inherit (gnome) libglade libgtkhtml gtkhtml
+              libgnomecanvas libgnomeui libgnomeprint
+              libgnomeprintui GConf gnomepanel;
+  };
+
+  gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix {
     inherit (gnome) libglade libgtkhtml gtkhtml
               libgnomecanvas libgnomeui libgnomeprint
               libgnomeprintui GConf gnomepanel;
   };
 
+  gtk-sharp = gtk-sharp-2_0;
+
+  gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { };
+
   gtkspell = callPackage ../development/libraries/gtkspell { };
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
@@ -7567,6 +7593,7 @@ let
 
   libgpod = callPackage ../development/libraries/libgpod {
     inherit (pkgs.pythonPackages) mutagen;
+    monoSupport = false;
   };
 
   libgsystem = callPackage ../development/libraries/libgsystem { };
@@ -8181,6 +8208,10 @@ let
     qt = qt4;
   };
 
+  mono-addins = callPackage ../development/libraries/mono-addins { };
+
+  mono-zeroconf = callPackage ../development/libraries/mono-zeroconf { };
+
   movit = callPackage ../development/libraries/movit { };
 
   mosquitto = callPackage ../servers/mqtt/mosquitto { };
@@ -8223,6 +8254,8 @@ let
 
   nanomsg = callPackage ../development/libraries/nanomsg { };
 
+  notify-sharp = callPackage ../development/libraries/notify-sharp { };
+
   ncurses = callPackage ../development/libraries/ncurses { };
 
   neardal = callPackage ../development/libraries/neardal { };
@@ -8830,6 +8863,8 @@ let
 
   taglib_extras = callPackage ../development/libraries/taglib-extras { };
 
+  taglib-sharp = callPackage ../development/libraries/taglib-sharp { };
+
   talloc = callPackage ../development/libraries/talloc {
     python = python2;
   };
@@ -11604,6 +11639,11 @@ let
     ffmpeg = ffmpeg_1;
   };
 
+  banshee = callPackage ../applications/audio/banshee {
+    gconf = pkgs.gnome.GConf;
+    libgpod = pkgs.libgpod.override { monoSupport = true; };
+  };
+
   batik = callPackage ../applications/graphics/batik { };
 
   batti = callPackage ../applications/misc/batti { };