Merge pull request #13717 from zohl/banshee

[WIP] Banshee
This commit is contained in:
Arseniy Seroka 2016-03-12 20:19:49 +03:00
commit a25d2a7466
19 changed files with 543 additions and 5 deletions

View File

@ -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 ];
};
}

View File

@ -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">

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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/;

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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 { };