summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorArseniy Seroka <jagajaga@users.noreply.github.com>2016-03-12 20:19:49 +0300
committerArseniy Seroka <jagajaga@users.noreply.github.com>2016-03-12 20:19:49 +0300
commita25d2a74664bd2519caf9141450efe85a96d63d5 (patch)
treec02f315e5518e676d360def6c859d57a0d69ca3f /pkgs
parent3f5bf201d55f28fcaadcb11d99f7fa9383c04aa4 (diff)
parent4a92dbcd4c5a83025277d8efc709241aacf853a3 (diff)
downloadnixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar.gz
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar.bz2
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar.lz
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar.xz
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.tar.zst
nixlib-a25d2a74664bd2519caf9141450efe85a96d63d5.zip
Merge pull request #13717 from zohl/banshee
[WIP] Banshee
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/banshee/default.nix55
-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/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/top-level/all-packages.nix40
19 files changed, 543 insertions, 5 deletions
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/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/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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1de0d9737e68..2e86b3b5894e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4036,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 { };
@@ -6625,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;
@@ -6838,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 { };
@@ -7048,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 {};
@@ -7069,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 { };
@@ -7569,6 +7593,7 @@ let
 
   libgpod = callPackage ../development/libraries/libgpod {
     inherit (pkgs.pythonPackages) mutagen;
+    monoSupport = false;
   };
 
   libgsystem = callPackage ../development/libraries/libgsystem { };
@@ -8183,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 { };
@@ -8225,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 { };
@@ -8832,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;
   };
@@ -11606,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 { };