summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander F. Rødseth2019-03-27 10:18:16 +0100
committerAlexander F. Rødseth2019-03-27 10:18:16 +0100
commit0631182ed0cd23ab5d405733d7bc7ce097ab946c (patch)
treea283264d08718b12dfacff551a99d80b7569d882
downloadaur-muine.tar.gz
Move from [community] to AUR in connection with the spring cleaning
-rw-r--r--.SRCINFO44
-rw-r--r--PKGBUILD70
-rw-r--r--drop-gnome-sharp-dependency.patch424
-rw-r--r--drop-musicbrainz.patch144
-rw-r--r--enable-deprecations.patch17
-rw-r--r--fix-dnd.patch19
-rw-r--r--fix-multimedia-key-support.patch26
-rw-r--r--fix-overwrite-dialog.patch15
-rw-r--r--use-dbus-sharp.patch112
-rw-r--r--use-gstreamer-1.0.patch33
-rw-r--r--use-notify-sharp.patch182
-rw-r--r--use-standard-icons.patch169
12 files changed, 1255 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5ab70039951b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,44 @@
+# Generated by mksrcinfo v8
+# Wed Mar 27 09:16:00 UTC 2019
+pkgbase = muine
+ pkgdesc = A music player written in C Sharp
+ pkgver = 0.8.11
+ pkgrel = 6
+ url = http://muine.gooeylinux.org/
+ arch = x86_64
+ license = GPL
+ makedepends = intltool
+ makedepends = gnome-common
+ depends = gst-plugins-base
+ depends = gconf-sharp
+ depends = taglib-sharp
+ depends = notify-sharp
+ optdepends = gst-plugins-bad: Extra media codecs
+ optdepends = gst-plugins-good: Extra media codecs
+ optdepends = gst-plugins-ugly: Extra media codecs
+ optdepends = gst-libav: Extra media codecs
+ source = https://download.gnome.org/sources/muine/0.8/muine-0.8.11.tar.bz2
+ source = fix-multimedia-key-support.patch
+ source = use-notify-sharp.patch
+ source = fix-overwrite-dialog.patch
+ source = use-dbus-sharp.patch
+ source = drop-gnome-sharp-dependency.patch
+ source = use-standard-icons.patch
+ source = use-gstreamer-1.0.patch
+ source = enable-deprecations.patch
+ source = drop-musicbrainz.patch
+ source = fix-dnd.patch
+ sha512sums = 13063c1057cc4a5fb9c2cfca6249e3014415cbfa735a89f1ae411705412e379f1252789787aaca5e11f844fcd8c31a319c408c73539ffe173bc03985b3606d79
+ sha512sums = 61ea7a768192f526ca4466d97a08028de4d98edc93779bf7c896aec5d4d003104916680ab6d3e15476b3caff4bdd9edfa91207a68c9d39d17c39f24b02f94ab4
+ sha512sums = 20adfb1f294e1fadd85b868b4b39400a5e90054f42e1433386d48058aa5892b588244358363bce92b372ae7390cfeefbcef90ea12df977f0939bdb26b44a8222
+ sha512sums = 4b257d8d2fdae7fc4c186f292b0b6327254466840c8f63adc353bd2ffad92ca4e682f949e9762bb2c2653cf0dcbe85d5660be1147bb9d0a70a44cc72495b6738
+ sha512sums = 66063e7ed0f4057031bf82bea3259fdbc6b12e433171f356e721bb3e15b060887a5cfc375963f4a23dd8512618fdf36fa74a72cb7f5296b91706cf7e7e4420de
+ sha512sums = d9d3b66df45164597fa16fa24ab11226bf9cdcaa05c4d698110da0b3bca0214d070b05f4dd49834f7af2a87bb2ab8730d93251b53c00e0dd224cfd8a58b3a18b
+ sha512sums = 750cc1a5ebfaf172e21502fb119498de504dfcbb243a38cc8cc828082199c594def950faa146ba96b57ba5febb781b309c8e9e029b59e2a06ce85227326adcf9
+ sha512sums = fe061904b650068845ac61a2b4d621a26b5af8fed202023a76fa9bd994713906559b22cf312e3fe2b0d6512cc0350d21b2a4c9cbc8d7db537ee2eddf4ce9acaa
+ sha512sums = 4d744bb8403ab6d3adca90869e5f97cfa093797397e101a729efa09b731c6b22dcbd336d866cd2d9f9b0648c0b7afff702dbda4d6a51094349b852cc4b511e45
+ sha512sums = 0b9ce09d92da1c8dfb44b15f0b3e340f773bd142662aeea7dd76ef427e063c3ad8db17a2fe8331ee236d1f06a2e4b4d0f8b0e50508423f3e54a923f8bf08c430
+ sha512sums = 6758b90107fd02a667a67da9e0c7a59003d13598f129bd796148e1701be72e8b9e0d0e0eae66b963fa8480c4477c66dc2d056d26615558d5845e9413847761b3
+
+pkgname = muine
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2b5ca2547365
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,70 @@
+# Maintainer:
+# Contributor: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Ben Mazer <blm@groknil.org>
+
+pkgname=muine
+pkgver=0.8.11
+pkgrel=6
+pkgdesc="A music player written in C Sharp"
+arch=('x86_64')
+license=('GPL')
+url="http://muine.gooeylinux.org/"
+depends=('gst-plugins-base' 'gconf-sharp' 'taglib-sharp' 'notify-sharp')
+makedepends=('intltool' 'gnome-common')
+optdepends=('gst-plugins-bad: Extra media codecs'
+ 'gst-plugins-good: Extra media codecs'
+ 'gst-plugins-ugly: Extra media codecs'
+ 'gst-libav: Extra media codecs')
+source=(https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
+ fix-multimedia-key-support.patch
+ use-notify-sharp.patch
+ fix-overwrite-dialog.patch
+ use-dbus-sharp.patch
+ drop-gnome-sharp-dependency.patch
+ use-standard-icons.patch
+ use-gstreamer-1.0.patch
+ enable-deprecations.patch
+ drop-musicbrainz.patch
+ fix-dnd.patch)
+sha512sums=('13063c1057cc4a5fb9c2cfca6249e3014415cbfa735a89f1ae411705412e379f1252789787aaca5e11f844fcd8c31a319c408c73539ffe173bc03985b3606d79'
+ '61ea7a768192f526ca4466d97a08028de4d98edc93779bf7c896aec5d4d003104916680ab6d3e15476b3caff4bdd9edfa91207a68c9d39d17c39f24b02f94ab4'
+ '20adfb1f294e1fadd85b868b4b39400a5e90054f42e1433386d48058aa5892b588244358363bce92b372ae7390cfeefbcef90ea12df977f0939bdb26b44a8222'
+ '4b257d8d2fdae7fc4c186f292b0b6327254466840c8f63adc353bd2ffad92ca4e682f949e9762bb2c2653cf0dcbe85d5660be1147bb9d0a70a44cc72495b6738'
+ '66063e7ed0f4057031bf82bea3259fdbc6b12e433171f356e721bb3e15b060887a5cfc375963f4a23dd8512618fdf36fa74a72cb7f5296b91706cf7e7e4420de'
+ 'd9d3b66df45164597fa16fa24ab11226bf9cdcaa05c4d698110da0b3bca0214d070b05f4dd49834f7af2a87bb2ab8730d93251b53c00e0dd224cfd8a58b3a18b'
+ '750cc1a5ebfaf172e21502fb119498de504dfcbb243a38cc8cc828082199c594def950faa146ba96b57ba5febb781b309c8e9e029b59e2a06ce85227326adcf9'
+ 'fe061904b650068845ac61a2b4d621a26b5af8fed202023a76fa9bd994713906559b22cf312e3fe2b0d6512cc0350d21b2a4c9cbc8d7db537ee2eddf4ce9acaa'
+ '4d744bb8403ab6d3adca90869e5f97cfa093797397e101a729efa09b731c6b22dcbd336d866cd2d9f9b0648c0b7afff702dbda4d6a51094349b852cc4b511e45'
+ '0b9ce09d92da1c8dfb44b15f0b3e340f773bd142662aeea7dd76ef427e063c3ad8db17a2fe8331ee236d1f06a2e4b4d0f8b0e50508423f3e54a923f8bf08c430'
+ '6758b90107fd02a667a67da9e0c7a59003d13598f129bd796148e1701be72e8b9e0d0e0eae66b963fa8480c4477c66dc2d056d26615558d5845e9413847761b3')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../fix-multimedia-key-support.patch
+ patch -Np1 -i ../use-notify-sharp.patch
+ patch -Np1 -i ../fix-overwrite-dialog.patch
+ patch -Np1 -i ../use-dbus-sharp.patch
+ patch -Np1 -i ../drop-gnome-sharp-dependency.patch
+ patch -Np1 -i ../use-standard-icons.patch
+ patch -Np1 -i ../use-gstreamer-1.0.patch
+ patch -Np1 -i ../enable-deprecations.patch
+ patch -Np1 -i ../drop-musicbrainz.patch
+ patch -Np1 -i ../fix-dnd.patch
+ sed -i 's/MCS, gmcs/MCS, mcs/' configure.in
+ autoreconf -fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --enable-compile-warnings=minimum \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/drop-gnome-sharp-dependency.patch b/drop-gnome-sharp-dependency.patch
new file mode 100644
index 000000000000..044ffe8c2526
--- /dev/null
+++ b/drop-gnome-sharp-dependency.patch
@@ -0,0 +1,424 @@
+diff -Naur muine-0.8.11.orig/configure.in muine-0.8.11/configure.in
+--- muine-0.8.11.orig/configure.in 2009-09-13 16:58:14.000000000 +0200
++++ muine-0.8.11/configure.in 2012-03-08 22:49:13.064715139 +0100
+@@ -47,10 +47,8 @@
+
+ PKG_CHECK_MODULES(GTKSHARP,
+ gtk-sharp-2.0 >= $GTKSHARP_REQUIRED \
+- gnome-sharp-2.0 >= $GTKSHARP_REQUIRED \
+ glade-sharp-2.0 >= $GTKSHARP_REQUIRED \
+- gconf-sharp-2.0 >= $GTKSHARP_REQUIRED \
+- gnome-vfs-sharp-2.0 >= $GTKSHARP_REQUIRED)
++ gconf-sharp-2.0 >= $GTKSHARP_REQUIRED)
+
+ PKG_CHECK_MODULES(TAGLIBSHARP,
+ taglib-sharp >= $TAGLIBSHARP_REQUIRED)
+diff -Naur muine-0.8.11.orig/data/glade/AddWindow.glade muine-0.8.11/data/glade/AddWindow.glade
+--- muine-0.8.11.orig/data/glade/AddWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/AddWindow.glade 2012-03-08 22:49:13.064715139 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkDialog" id="window">
+ <property name="border_width">7</property>
+diff -Naur muine-0.8.11.orig/data/glade/GroupEditor.glade muine-0.8.11/data/glade/GroupEditor.glade
+--- muine-0.8.11.orig/data/glade/GroupEditor.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/GroupEditor.glade 2012-03-08 22:49:13.071381414 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkWindow" id="window">
+ <property name="visible">True</property>
+@@ -40,7 +39,6 @@
+ <child>
+ <widget class="GtkImageMenuItem" id="new_group1">
+ <property name="visible">True</property>
+- <property name="stock_item">GNOMEUIINFO_MENU_NEW_ITEM</property>
+ <property name="label" translatable="yes">_New Group...</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="HandleNewCommand" last_modification_time="Thu, 15 Apr 2004 19:22:48 GMT"/>
+@@ -154,7 +152,7 @@
+ <child internal-child="image">
+ <widget class="GtkImage" id="image31">
+ <property name="visible">True</property>
+- <property name="stock">gnome-stock-about</property>
++ <property name="stock">gtk-about</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+@@ -209,7 +207,7 @@
+ <child>
+ <widget class="GtkMenuItem" id="menuitem5">
+ <property name="visible">True</property>
+- <property name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property>
++ <property name="label" translatable="yes">_Help</property>
+
+ <child>
+ <widget class="GtkMenu" id="menuitem5_menu">
+@@ -217,7 +215,7 @@
+ <child>
+ <widget class="GtkImageMenuItem" id="imagemenuitem7">
+ <property name="visible">True</property>
+- <property name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property>
++ <property name="label" translatable="yes">_About...</property>
+ <signal name="activate" handler="HandleAboutCommand" last_modification_time="Thu, 15 Apr 2004 19:22:48 GMT"/>
+ </widget>
+ </child>
+@@ -442,7 +440,7 @@
+ <child>
+ <widget class="GtkImage" id="add_album_image">
+ <property name="visible">True</property>
+- <property name="stock">gnome-stock-about</property>
++ <property name="stock">gtk-about</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+diff -Naur muine-0.8.11.orig/data/glade/InfoWindow.glade muine-0.8.11/data/glade/InfoWindow.glade
+--- muine-0.8.11.orig/data/glade/InfoWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/InfoWindow.glade 2012-03-08 22:49:13.081380820 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkDialog" id="window">
+ <property name="border_width">7</property>
+diff -Naur muine-0.8.11.orig/data/glade/NoMusicFoundWindow.glade muine-0.8.11/data/glade/NoMusicFoundWindow.glade
+--- muine-0.8.11.orig/data/glade/NoMusicFoundWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/NoMusicFoundWindow.glade 2012-03-08 22:49:13.081380820 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkWindow" id="window">
+ <property name="border_width">12</property>
+diff -Naur muine-0.8.11.orig/data/glade/PlaylistFilling.glade muine-0.8.11/data/glade/PlaylistFilling.glade
+--- muine-0.8.11.orig/data/glade/PlaylistFilling.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/PlaylistFilling.glade 2012-03-08 22:49:13.084713958 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkDialog" id="window">
+ <property name="border_width">7</property>
+diff -Naur muine-0.8.11.orig/data/glade/PlaylistWindow.glade muine-0.8.11/data/glade/PlaylistWindow.glade
+--- muine-0.8.11.orig/data/glade/PlaylistWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/PlaylistWindow.glade 2012-03-08 22:49:43.359594953 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkWindow" id="window1">
+ <property name="visible">True</property>
+diff -Naur muine-0.8.11.orig/data/glade/ProgressWindow.glade muine-0.8.11/data/glade/ProgressWindow.glade
+--- muine-0.8.11.orig/data/glade/ProgressWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/ProgressWindow.glade 2012-03-08 22:49:13.088047096 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkDialog" id="window">
+ <property name="border_width">7</property>
+diff -Naur muine-0.8.11.orig/data/glade/SkipToWindow.glade muine-0.8.11/data/glade/SkipToWindow.glade
+--- muine-0.8.11.orig/data/glade/SkipToWindow.glade 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/data/glade/SkipToWindow.glade 2012-03-08 22:49:13.094713371 +0100
+@@ -2,7 +2,6 @@
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+ <glade-interface>
+-<requires lib="gnome"/>
+
+ <widget class="GtkDialog" id="window">
+ <property name="border_width">7</property>
+diff -Naur muine-0.8.11.orig/src/Actions.cs muine-0.8.11/src/Actions.cs
+--- muine-0.8.11.orig/src/Actions.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/Actions.cs 2012-03-08 22:49:13.098046508 +0100
+@@ -163,7 +163,7 @@
+ new ActionEntry ("Shuffle", "stock_shuffle", string_shuffle,
+ "<control>S", null, null),
+
+- new ActionEntry ("About", Gnome.Stock.About, string_about,
++ new ActionEntry ("About", "gtk-about", string_about,
+ null, null, null)
+ };
+
+diff -Naur muine-0.8.11.orig/src/AddAlbumWindow.cs muine-0.8.11/src/AddAlbumWindow.cs
+--- muine-0.8.11.orig/src/AddAlbumWindow.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/AddAlbumWindow.cs 2012-03-08 22:49:13.101379644 +0100
+@@ -21,8 +21,6 @@
+ using System.Collections;
+ using Mono.Unix;
+
+-using Gnome.Vfs;
+-
+ namespace Muine
+ {
+ public class AddAlbumWindow : AddWindow
+@@ -217,7 +215,7 @@
+ Album album = GetAlbum (album_ptr_i);
+
+ foreach (Song song in album.Songs) {
+- string uri = Gnome.Vfs.Uri.GetUriFromLocalPath (song.Filename);
++ string uri = new Uri(song.Filename).ToString();
+ data += (uri + "\r\n");
+ }
+ }
+diff -Naur muine-0.8.11.orig/src/AddSongWindow.cs muine-0.8.11/src/AddSongWindow.cs
+--- muine-0.8.11.orig/src/AddSongWindow.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/AddSongWindow.cs 2012-03-08 22:49:13.104712781 +0100
+@@ -21,8 +21,6 @@
+ using System.Collections;
+ using Mono.Unix;
+
+-using Gnome.Vfs;
+-
+ namespace Muine
+ {
+ public class AddSongWindow : AddWindow
+@@ -164,7 +162,7 @@
+
+ foreach (int song_ptr_i in songs) {
+ Song song = GetSong (song_ptr_i);
+- string uri = Gnome.Vfs.Uri.GetUriFromLocalPath (song.Filename);
++ string uri = new Uri(song.Filename).ToString();
+ data += (uri + "\r\n");
+ }
+
+diff -Naur muine-0.8.11.orig/src/CoverImage.cs muine-0.8.11/src/CoverImage.cs
+--- muine-0.8.11.orig/src/CoverImage.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/CoverImage.cs 2012-03-08 22:49:13.104712781 +0100
+@@ -94,7 +94,7 @@
+
+ case (uint) DndUtils.TargetType.UriList:
+ uri_list = DndUtils.SplitSelectionData (data);
+- fn = Gnome.Vfs.Uri.GetLocalPathFromUri (uri_list [0]);
++ fn = new Uri(uri_list [0]).LocalPath;
+
+ if (fn == null)
+ break;
+diff -Naur muine-0.8.11.orig/src/FileSelector.cs muine-0.8.11/src/FileSelector.cs
+--- muine-0.8.11.orig/src/FileSelector.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/FileSelector.cs 2012-03-08 22:49:13.111379052 +0100
+@@ -74,8 +74,8 @@
+ string start_dir =
+ (string) Config.Get (gconf_path, GConfDefaultStartDir);
+
+- start_dir = start_dir.Replace ("~",
+- Gnome.Vfs.Uri.GetUriFromLocalPath (FileUtils.HomeDirectory));
++ Uri uri = new Uri(FileUtils.HomeDirectory);
++ start_dir = start_dir.Replace ("~", uri.ToString());
+
+ SetCurrentFolderUri (start_dir);
+
+diff -Naur muine-0.8.11.orig/src/FileUtils.cs muine-0.8.11/src/FileUtils.cs
+--- muine-0.8.11.orig/src/FileUtils.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/FileUtils.cs 2012-03-08 22:49:13.114712188 +0100
+@@ -21,8 +21,6 @@
+ using System.IO;
+ using System.Runtime.InteropServices;
+
+-using Gnome.Vfs;
+-
+ using Mono.Unix;
+
+ namespace Muine
+@@ -86,8 +84,7 @@
+ home_directory = Environment.GetEnvironmentVariable ("HOME");
+
+ try {
+- config_directory =
+- Path.Combine (Gnome.User.DirGet (), "muine");
++ config_directory = Environment.GetEnvironmentVariable("HOME") + "/.gnome2/muine";
+
+ CreateDirectory (config_directory);
+
+@@ -295,8 +292,7 @@
+ /// </returns>
+ public static bool Exists (string fn)
+ {
+- Gnome.Vfs.Uri u = new Gnome.Vfs.Uri (fn);
+- return u.Exists;
++ return File.Exists(new Uri(fn).LocalPath);
+ }
+
+ // Methods :: Public :: MakeHumanReadable
+diff -Naur muine-0.8.11.orig/src/Global.cs muine-0.8.11/src/Global.cs
+--- muine-0.8.11.orig/src/Global.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/Global.cs 2012-03-08 22:49:13.124711601 +0100
+@@ -30,7 +30,7 @@
+
+ namespace Muine
+ {
+- public sealed class Global : Gnome.Program
++ public sealed class Global
+ {
+ // Strings
+ private static readonly string string_dbus_failed =
+@@ -52,7 +52,6 @@
+ private static Actions actions;
+
+ private static DBusLib.IPlayer dbus_object = null;
+- private static Gnome.Client session_client;
+
+ // Properties
+ // Properties :: DB (get;)
+@@ -118,7 +117,6 @@
+ } catch {}
+
+ Application.Init ();
+- Gnome.Vfs.Vfs.Initialize ();
+
+ // Try to find a running Muine
+ try {
+@@ -141,9 +139,6 @@
+
+ Catalog.Init ("muine", Defines.GNOME_LOCALE_DIR);
+
+- new Gnome.Program
+- ("muine", Defines.VERSION, Gnome.Modules.UI, args);
+-
+ // Initialize D-Bus
+ // We initialize here but don't connect to it until later.
+ try {
+@@ -238,11 +233,6 @@
+ // Load Covers
+ cover_db.Load ();
+
+- // Hook up to the session manager
+- session_client = Gnome.Global.MasterClient ();
+- session_client.Die += OnDieEvent;
+- session_client.SaveYourself += OnSaveYourselfEvent;
+-
+ // Run!
+ Application.Run ();
+ }
+@@ -370,28 +360,6 @@
+ Exit ();
+ }
+
+- // Handlers :: OnSaveYourselfEvent
+- // TODO: Actually set the restart command to something useful.
+- /// <summary>
+- /// Handler called on <see cref="Gnome.Client.SaveYourself" /> event.
+- /// </summary>
+- /// <param name="o">
+- /// The calling object.
+- /// </param>
+- /// <param name="args">
+- /// The <see cref="Gnome.SaveYourselfArgs" />.
+- /// </param>
+- /// <remarks>
+- /// This doesn't do anything useful yet.
+- /// </remarks>
+- private static void OnSaveYourselfEvent
+- (object o, Gnome.SaveYourselfArgs args)
+- {
+- string [] argv = { "muine" };
+-
+- session_client.SetRestartCommand (1, argv);
+- }
+-
+ [DllImport ("libc")]
+ private static extern int prctl (int option,
+ byte[] arg2,
+diff -Naur muine-0.8.11.orig/src/muine.exe.config.in muine-0.8.11/src/muine.exe.config.in
+--- muine-0.8.11.orig/src/muine.exe.config.in 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/muine.exe.config.in 2012-03-08 22:50:07.131526170 +0100
+@@ -2,7 +2,6 @@
+ <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/>
+ <dllmap dll="libgtk-2.0-0.dll" target="libgtk-x11-2.0.so.0"/>
+ <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/>
+- <dllmap dll="libgnomevfs-2-0.dll" target="libgnomevfs-2.so.0"/>
+ <dllmap dll="musicbrainz" target="libmusicbrainz.so.4"/>
+ <dllmap dll="libmuine" target="@pkglibdir@/libmuine.so"/>
+ </configuration>
+diff -Naur muine-0.8.11.orig/src/PlaylistWindow.cs muine-0.8.11/src/PlaylistWindow.cs
+--- muine-0.8.11.orig/src/PlaylistWindow.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/PlaylistWindow.cs 2012-03-08 22:49:13.131377875 +0100
+@@ -23,7 +23,6 @@
+
+ using Gtk;
+ using GLib;
+-using Gnome.Vfs;
+ using Bacon;
+
+ using Mono.Unix;
+@@ -806,11 +805,11 @@
+ BusyLevel ++;
+
+ // Open
+- VfsStream stream;
++ FileStream stream;
+ StreamWriter writer;
+
+ try {
+- stream = new VfsStream (fn, System.IO.FileMode.Create);
++ stream = new FileStream (new Uri(fn).LocalPath, System.IO.FileMode.Create);
+ writer = new StreamWriter (stream);
+
+ } catch (Exception e) {
+@@ -1320,11 +1319,11 @@
+ private void OpenPlaylistInternal
+ (string fn, PlaylistForeachFunc func, object user_data)
+ {
+- VfsStream stream;
++ FileStream stream;
+ StreamReader reader;
+
+ try {
+- stream = new VfsStream (fn, System.IO.FileMode.Open);
++ stream = new FileStream (new Uri(fn).LocalPath, System.IO.FileMode.Open);
+ reader = new StreamReader (stream);
+
+ } catch (Exception e) {
+@@ -1919,7 +1918,7 @@
+ IntPtr s = new IntPtr (p);
+
+ Song song = Song.FromHandle (s);
+- string uri = Gnome.Vfs.Uri.GetUriFromLocalPath (song.Filename);
++ string uri = new Uri(song.Filename).ToString();
+
+ files += (uri + "\r\n");
+ }
+@@ -2092,7 +2091,7 @@
+ ArrayList new_dinfos = new ArrayList ();
+
+ foreach (string s in bits) {
+- string fn = Gnome.Vfs.Uri.GetLocalPathFromUri (s);
++ string fn = new Uri(s).LocalPath;
+
+ if (fn == null)
+ continue;
+@@ -2197,7 +2196,7 @@
+
+ SavePlaylist (file, false, false);
+
+- string uri = Gnome.Vfs.Uri.GetUriFromLocalPath (file);
++ string uri = new Uri(file).ToString();
+
+ string target = DndUtils.TargetUriList.Target;
+ Gdk.Atom atom = Gdk.Atom.Intern (target, false);
+@@ -2226,7 +2225,7 @@
+ bool success = false;
+
+ foreach (string s in bits) {
+- string fn = Gnome.Vfs.Uri.GetLocalPathFromUri (s);
++ string fn = new Uri(s).LocalPath;
+
+ if (fn == null)
+ continue;
diff --git a/drop-musicbrainz.patch b/drop-musicbrainz.patch
new file mode 100644
index 000000000000..b140666aad93
--- /dev/null
+++ b/drop-musicbrainz.patch
@@ -0,0 +1,144 @@
+diff -Naur muine-0.8.11.orig/src/CoverGetter.cs muine-0.8.11/src/CoverGetter.cs
+--- muine-0.8.11.orig/src/CoverGetter.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/CoverGetter.cs 2017-06-24 18:59:25.451408318 +0200
+@@ -27,8 +27,6 @@
+
+ using Gdk;
+
+-using musicbrainz;
+-
+ namespace Muine
+ {
+ public class CoverGetter
+@@ -320,109 +318,7 @@
+ /// </exception>
+ private Pixbuf DownloadFromAmazonViaMusicBrainz (Album album)
+ {
+- // Rather than do the lib search and catch the
+- // DllNotFoundException every single time,
+- // we check a simple bool as a performance helper.
+- if (musicbrainz_lib_missing)
+- return null;
+-
+- Pixbuf pix = null;
+- try {
+- // Sane album title
+- string sane_album_title;
+- if (album.Name != null)
+- sane_album_title = SanitizeString (album.Name);
+- else
+- sane_album_title = String.Empty;
+-
+- // Sane artist name
+- string sane_artist_name;
+- if (album.Artists != null && album.Artists.Length > 0)
+- sane_artist_name = album.Artists [0].ToLower ();
+- else
+- sane_artist_name = String.Empty;
+-
+- //
+- string asin = null;
+-
+- // TODO: Move to constant
+- string AmazonImageUri =
+- "http://images.amazon.com/images/P/{0}.01._SCMZZZZZZZ_.jpg";
+-
+-
+- // remove "disc 1" and family
+- // TODO: Make the regexes translatable?
+- // (e.g. "uno|dos|tres...", "les|los..)
+- string sane_album_title_regex = @"[,:]?\s*";
+- sane_album_title_regex += @"(cd|dis[ck])\s*";
+- sane_album_title_regex += @"(\d+|one|two|three|four|five|six|seven|eight|nine|ten)\s*$";
+- sane_album_title = Regex.Replace (sane_album_title, sane_album_title_regex, String.Empty);
+-
+- // Remove "The " and "the " from artist names
+- string sane_artist_name_regex = @"^the\s+";
+- sane_artist_name = Regex.Replace (sane_artist_name, sane_artist_name_regex, String.Empty);
+-
+- MusicBrainz c = new MusicBrainz ();
+-
+- // set the depth of the query
+- // (see http://wiki.musicbrainz.org/ClientHOWTO)
+- c.SetDepth(4);
+-
+- string [] album_name = new string [] { sane_album_title };
+-
+- bool match =
+- c.Query (MusicBrainz.MBQ_FindAlbumByName, album_name);
+-
+- if (match) {
+- int num_albums =
+- c.GetResultInt (MusicBrainz.MBE_GetNumAlbums);
+-
+- string fetched_artist_name;
+- for (int i = 1; i <= num_albums; i++) {
+- c.Select (MusicBrainz.MBS_SelectAlbum, i);
+-
+- // gets the artist from the first track of the album
+- c.GetResultData
+- (MusicBrainz.MBE_AlbumGetArtistName, 1,
+- out fetched_artist_name);
+-
+- // Remove "The " here as well
+- if (fetched_artist_name != null) {
+- string tmp = fetched_artist_name.ToLower ();
+- string fetched_artist_name_regex = @"^the\s+";
+- fetched_artist_name = Regex.Replace (tmp, fetched_artist_name_regex, String.Empty);
+-
+- } else {
+- fetched_artist_name = String.Empty;
+- }
+-
+- if (fetched_artist_name == sane_artist_name) {
+- c.GetResultData
+- (MusicBrainz.MBE_AlbumGetAmazonAsin, out asin);
+-
+- break;
+- }
+-
+- // go back one level so we can select the next album
+- c.Select(MusicBrainz.MBS_Back);
+- }
+- }
+-
+- if (asin == null) {
+- pix = null;
+- } else {
+- string uri = String.Format (AmazonImageUri, asin);
+- pix = Download (uri);
+- }
+-
+- } catch (DllNotFoundException) {
+- // We catch this exception so we can always include the
+- // musicbrainz support but not have a strict compile/runtime
+- // requirement on it.
+- musicbrainz_lib_missing = true;
+- }
+-
+- return pix;
++ return null;
+ }
+
+ // Methods :: Private :: DownloadFromAmazonViaAPI
+diff -Naur muine-0.8.11.orig/src/Makefile.am muine-0.8.11/src/Makefile.am
+--- muine-0.8.11.orig/src/Makefile.am 2017-06-24 18:53:07.530698000 +0200
++++ muine-0.8.11/src/Makefile.am 2017-06-24 19:00:38.870158064 +0200
+@@ -29,7 +29,6 @@
+ $(srcdir)/ColoredCellRendererPixbuf.cs \
+ $(srcdir)/CoverDatabase.cs \
+ $(srcdir)/CoverGetter.cs \
+- $(srcdir)/MusicBrainz.cs \
+ $(srcdir)/GnomeProxy.cs \
+ $(srcdir)/CoverImage.cs \
+ $(srcdir)/MmKeys.cs \
+diff -Naur muine-0.8.11.orig/src/muine.exe.config.in muine-0.8.11/src/muine.exe.config.in
+--- muine-0.8.11.orig/src/muine.exe.config.in 2017-06-24 18:53:07.537364000 +0200
++++ muine-0.8.11/src/muine.exe.config.in 2017-06-24 19:00:20.066291163 +0200
+@@ -2,6 +2,5 @@
+ <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/>
+ <dllmap dll="libgtk-2.0-0.dll" target="libgtk-x11-2.0.so.0"/>
+ <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/>
+- <dllmap dll="musicbrainz" target="libmusicbrainz.so.4"/>
+ <dllmap dll="libmuine" target="@pkglibdir@/libmuine.so"/>
+ </configuration>
diff --git a/enable-deprecations.patch b/enable-deprecations.patch
new file mode 100644
index 000000000000..cacecfacc4ba
--- /dev/null
+++ b/enable-deprecations.patch
@@ -0,0 +1,17 @@
+diff -Naur muine-0.8.11.orig/libmuine/Makefile.am muine-0.8.11/libmuine/Makefile.am
+--- muine-0.8.11.orig/libmuine/Makefile.am 2017-01-28 09:52:43.588590000 +0100
++++ muine-0.8.11/libmuine/Makefile.am 2017-01-28 09:54:25.938122649 +0100
+@@ -3,12 +3,7 @@
+ -DG_LOG_DOMAIN=\"libmuine\" \
+ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
+ $(MUINE_CFLAGS) \
+- $(WARN_CFLAGS) \
+- -DG_DISABLE_DEPRECATED \
+- -DGTK_DISABLE_DEPRECATED \
+- -DGDK_DISABLE_DEPRECATED \
+- -DGDK_PIXBUF_DISABLE_DEPRECATED \
+- -DGNOME_DISABLE_DEPRECATED
++ $(WARN_CFLAGS)
+
+ muinelibdir = $(pkglibdir)
+ muinelib_LTLIBRARIES = libmuine.la
diff --git a/fix-dnd.patch b/fix-dnd.patch
new file mode 100644
index 000000000000..ffce9f74f25e
--- /dev/null
+++ b/fix-dnd.patch
@@ -0,0 +1,19 @@
+diff -Naur muine-0.8.11.orig/src/PlaylistWindow.cs muine-0.8.11/src/PlaylistWindow.cs
+--- muine-0.8.11.orig/src/PlaylistWindow.cs 2017-06-24 18:53:07.537364000 +0200
++++ muine-0.8.11/src/PlaylistWindow.cs 2017-06-24 19:21:08.225082062 +0200
+@@ -2091,7 +2091,14 @@
+ ArrayList new_dinfos = new ArrayList ();
+
+ foreach (string s in bits) {
+- string fn = new Uri(s).LocalPath;
++ string fn;
++
++ try {
++ fn = new Uri(s).LocalPath;
++
++ } catch {
++ continue;
++ }
+
+ if (fn == null)
+ continue;
diff --git a/fix-multimedia-key-support.patch b/fix-multimedia-key-support.patch
new file mode 100644
index 000000000000..811822ac8e5f
--- /dev/null
+++ b/fix-multimedia-key-support.patch
@@ -0,0 +1,26 @@
+From d4dd66d73885db1b2aea2a267197413559bed5bc Mon Sep 17 00:00:00 2001
+From: Priit Laes <plaes@plaes.org>
+Date: Wed, 16 Sep 2009 21:30:06 +0000
+Subject: Fix multimedia key support for >=Gnome-2.22
+
+---
+diff --git a/src/GnomeMMKeys.cs b/src/GnomeMMKeys.cs
+index dd99718..af5419a 100644
+--- a/src/GnomeMMKeys.cs
++++ b/src/GnomeMMKeys.cs
+@@ -37,11 +37,11 @@ namespace Muine
+ public class GnomeMMKeys : IDisposable
+ {
+ private const string BusName = "org.gnome.SettingsDaemon";
+- private const string ObjectPath = "/org/gnome/SettingsDaemon";
++ private const string ObjectPath = "/org/gnome/SettingsDaemon/MediaKeys";
+
+ private delegate void MediaPlayerKeyPressedHandler(string application, string key);
+
+- [Interface("org.gnome.SettingsDaemon")]
++ [Interface("org.gnome.SettingsDaemon.MediaKeys")]
+ private interface ISettingsDaemon
+ {
+ void GrabMediaPlayerKeys(string application, uint time);
+--
+cgit v0.9
diff --git a/fix-overwrite-dialog.patch b/fix-overwrite-dialog.patch
new file mode 100644
index 000000000000..3ec8180663ea
--- /dev/null
+++ b/fix-overwrite-dialog.patch
@@ -0,0 +1,15 @@
+diff -Naur muine-0.8.11.orig/src/OverwriteDialog.cs muine-0.8.11/src/OverwriteDialog.cs
+--- muine-0.8.11.orig/src/OverwriteDialog.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/OverwriteDialog.cs 2017-01-28 10:33:55.095101072 +0100
+@@ -46,11 +46,6 @@
+ // Constructor
+ public OverwriteDialog (Window parent, string fn)
+ {
+- Glade.XML gxml =
+- new Glade.XML (null, "OverwriteDialog.glade", "window", null);
+-
+- gxml.Autoconnect (this);
+-
+ string fn_readable = FileUtils.MakeHumanReadable (fn);
+
+ string primary_text =
diff --git a/use-dbus-sharp.patch b/use-dbus-sharp.patch
new file mode 100644
index 000000000000..4075f2df77f3
--- /dev/null
+++ b/use-dbus-sharp.patch
@@ -0,0 +1,112 @@
+diff -Naur muine-0.8.11.orig/configure.in muine-0.8.11/configure.in
+--- muine-0.8.11.orig/configure.in 2017-01-28 10:00:26.485408000 +0100
++++ muine-0.8.11/configure.in 2017-01-28 10:01:57.758024655 +0100
+@@ -59,11 +59,11 @@
+ PKG_CHECK_MODULES(NOTIFYSHARP,
+ notify-sharp >= $NOTIFYSHARP_REQUIRED)
+
+-dnl ndesk-dbus
+-PKG_CHECK_MODULES(DBUS, ndesk-dbus-1.0 >= 0.4 \
+- ndesk-dbus-glib-1.0 >= 0.3, have_dbus="yes", have_dbus="no")
++dnl dbus-sharp
++PKG_CHECK_MODULES(DBUS, dbus-sharp-2.0 >= 0.7 \
++ dbus-sharp-glib-2.0 >= 0.5, have_dbus="yes", have_dbus="no")
+ if test "x$have_dbus" != "xyes"; then
+- AC_MSG_ERROR([You need NDESK-DBUS)])
++ AC_MSG_ERROR([You need DBUS-SHARP)])
+ fi
+ AM_CONDITIONAL(EXTERNAL_DBUS, test "x$have_dbus" = "xyes")
+
+diff -Naur muine-0.8.11.orig/DBusLib/IPlayer.cs muine-0.8.11/DBusLib/IPlayer.cs
+--- muine-0.8.11.orig/DBusLib/IPlayer.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/DBusLib/IPlayer.cs 2017-01-28 10:01:57.758024655 +0100
+@@ -1,5 +1,5 @@
+
+-using NDesk.DBus;
++using DBus;
+
+ namespace Muine.DBusLib
+ {
+diff -Naur muine-0.8.11.orig/DBusLib/Makefile.am muine-0.8.11/DBusLib/Makefile.am
+--- muine-0.8.11.orig/DBusLib/Makefile.am 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/DBusLib/Makefile.am 2017-01-28 10:01:57.758024655 +0100
+@@ -13,7 +13,7 @@
+ DBUS_ASSEMBLIES = $(DBUS_LIBS)
+ else
+ DBUS_ASSEMBLIES = \
+- -r:$(top_builddir)/deps/dbus-sharp/NDesk.DBus.dll
++ -r:$(top_builddir)/deps/dbus-sharp/dbus-sharp.dll
+ endif
+
+ CLIENT_LIB_ASSEMBLIES = \
+diff -Naur muine-0.8.11.orig/DBusLib/Player.cs muine-0.8.11/DBusLib/Player.cs
+--- muine-0.8.11.orig/DBusLib/Player.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/DBusLib/Player.cs 2017-01-28 10:01:57.758024655 +0100
+@@ -21,7 +21,7 @@
+ using System;
+ using System.Collections;
+
+-using NDesk.DBus;
++using DBus;
+
+ using Muine.PluginLib;
+
+diff -Naur muine-0.8.11.orig/src/DBusService.cs muine-0.8.11/src/DBusService.cs
+--- muine-0.8.11.orig/src/DBusService.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/DBusService.cs 2017-01-28 10:02:42.099287974 +0100
+@@ -21,7 +21,7 @@
+
+ using System;
+
+-using NDesk.DBus;
++using DBus;
+ using org.freedesktop.DBus;
+
+ namespace Muine
+@@ -93,7 +93,7 @@
+ /// </param>
+ public void RegisterObject (object obj, string path)
+ {
+- Bus.Session.Register ("/org/gnome/Muine/", new ObjectPath (path), obj);
++ Bus.Session.Register (new ObjectPath (path), obj);
+ }
+ }
+ }
+diff -Naur muine-0.8.11.orig/src/Global.cs muine-0.8.11/src/Global.cs
+--- muine-0.8.11.orig/src/Global.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/Global.cs 2017-01-28 10:01:57.761358084 +0100
+@@ -110,7 +110,7 @@
+ public static void Main (string [] args)
+ {
+ try {
+- NDesk.DBus.BusG.Init ();
++ DBus.BusG.Init ();
+ } catch {}
+
+ try {
+diff -Naur muine-0.8.11.orig/src/GnomeMMKeys.cs muine-0.8.11/src/GnomeMMKeys.cs
+--- muine-0.8.11.orig/src/GnomeMMKeys.cs 2017-01-28 10:00:26.482075000 +0100
++++ muine-0.8.11/src/GnomeMMKeys.cs 2017-01-28 10:01:57.761358084 +0100
+@@ -30,7 +30,7 @@
+ using System;
+
+ using Gtk;
+-using NDesk.DBus;
++using DBus;
+
+ namespace Muine
+ {
+diff -Naur muine-0.8.11.orig/src/Makefile.am muine-0.8.11/src/Makefile.am
+--- muine-0.8.11.orig/src/Makefile.am 2017-01-28 10:00:26.482075000 +0100
++++ muine-0.8.11/src/Makefile.am 2017-01-28 10:01:57.761358084 +0100
+@@ -58,8 +58,8 @@
+ DBUS_ASSEMBLIES = $(DBUS_LIBS)
+ else
+ DBUS_ASSEMBLIES = \
+- -r:$(top_builddir)/deps/dbus-sharp/NDesk.DBus.dll \
+- -r:$(top_builddir)/deps/dbus-sharp-glib/NDesk.DBus.GLib.dll
++ -r:$(top_builddir)/deps/dbus-sharp/dbus-sharp.dll \
++ -r:$(top_builddir)/deps/dbus-sharp-glib/dbus-sharp-glib.dll
+ endif
+
+ MUINE_ASSEMBLIES = \
diff --git a/use-gstreamer-1.0.patch b/use-gstreamer-1.0.patch
new file mode 100644
index 000000000000..c549f3f92f27
--- /dev/null
+++ b/use-gstreamer-1.0.patch
@@ -0,0 +1,33 @@
+diff -Naur muine-0.8.11.orig/configure.in muine-0.8.11/configure.in
+--- muine-0.8.11.orig/configure.in 2017-01-28 10:11:32.120801000 +0100
++++ muine-0.8.11/configure.in 2017-01-28 10:12:10.141854469 +0100
+@@ -21,7 +21,7 @@
+
+ dnl Version dependencies
+
+-GSTREAMER_REQUIRED=0.10.0
++GSTREAMER_REQUIRED=1.0.0
+ GLIB_REQUIRED=2.14
+ GTK_REQUIRED=2.8
+ MONO_REQUIRED=1.1
+@@ -37,7 +37,7 @@
+ gdk-pixbuf-2.0 \
+ glib-2.0 >= $GLIB_REQUIRED \
+ gtk+-2.0 >= $GTK_REQUIRED \
+- gstreamer-0.10 >= $GSTREAMER_REQUIRED)
++ gstreamer-1.0 >= $GSTREAMER_REQUIRED)
+ AC_SUBST(MUINE_CFLAGS)
+ AC_SUBST(MUINE_LIBS)
+
+diff -Naur muine-0.8.11.orig/libmuine/player-gst.c muine-0.8.11/libmuine/player-gst.c
+--- muine-0.8.11.orig/libmuine/player-gst.c 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/libmuine/player-gst.c 2017-01-28 10:12:54.106404011 +0100
+@@ -156,7 +156,7 @@
+ return;
+ }
+
+- sink = gst_element_factory_make ("gconfaudiosink", "sink");
++ sink = gst_element_factory_make ("autoaudiosink", "sink");
+ if (!sink) {
+ *error = g_strdup (_("Could not render default GStreamer audio output sink"));
+
diff --git a/use-notify-sharp.patch b/use-notify-sharp.patch
new file mode 100644
index 000000000000..df749696c2e9
--- /dev/null
+++ b/use-notify-sharp.patch
@@ -0,0 +1,182 @@
+From e259faf29250f09fe8b851e026fab3a74c72b794 Mon Sep 17 00:00:00 2001
+From: daniel g. siegel <dgsiegel@gnome.org>
+Date: Wed, 14 Oct 2009 19:36:43 +0000
+Subject: use notify-sharp
+
+update muine to use notify-sharp instead of using the C API
+---
+diff --git a/configure.in b/configure.in
+index 95973f7..221a8fb 100644
+--- a/configure.in
++++ b/configure.in
+@@ -29,6 +29,7 @@ MONO_REQUIRED=1.1
+ GTKSHARP_REQUIRED=2.12.9
+ TAGLIBSHARP_REQUIRED=2.0.3
+ MONODOC_REQUIRED=1.1.9
++NOTIFYSHARP_REQUIRED=0.4.0
+
+ dnl Pkgconfig
+ PKG_PROG_PKG_CONFIG
+@@ -55,6 +56,9 @@ PKG_CHECK_MODULES(GTKSHARP,
+ PKG_CHECK_MODULES(TAGLIBSHARP,
+ taglib-sharp >= $TAGLIBSHARP_REQUIRED)
+
++PKG_CHECK_MODULES(NOTIFYSHARP,
++ notify-sharp >= $NOTIFYSHARP_REQUIRED)
++
+ dnl ndesk-dbus
+ PKG_CHECK_MODULES(DBUS, ndesk-dbus-1.0 >= 0.4 \
+ ndesk-dbus-glib-1.0 >= 0.3, have_dbus="yes", have_dbus="no")
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index e14faa8..6aadf56 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -27,6 +27,7 @@ TRAY_ICON_EXTRA_CSFILES = \
+
+ TRAY_ICON_EXTRA_ASSEMBLIES = \
+ $(GTKSHARP_LIBS) \
++ $(NOTIFYSHARP_LIBS) \
+ -r:Mono.Posix
+
+ TRAY_ICON_RESOURCES = \
+diff --git a/plugins/TrayIcon.cs b/plugins/TrayIcon.cs
+index 629ef9e..b1f6b56 100644
+--- a/plugins/TrayIcon.cs
++++ b/plugins/TrayIcon.cs
+@@ -26,6 +26,8 @@ using Gdk;
+
+ using Mono.Unix;
+
++using Notifications;
++
+ using Muine.PluginLib;
+
+ namespace Muine
+@@ -51,7 +53,7 @@ namespace Muine
+ private static readonly string string_notification_message_format =
+ Catalog.GetString ("by {0}");
+
+- private const string GConfKeyShowNotifications = "/apps/muine/show_notifications";
++ private const string GConfKeyShowNotifications = "/apps/muine/show_notifications";
+ // Widgets
+ private Plug icon;
+ private EventBox ebox;
+@@ -61,6 +63,7 @@ namespace Muine
+
+ // Objects
+ private IPlayer player;
++ private static Notification notif;
+
+ // Variables
+ private int menu_x;
+@@ -284,11 +287,11 @@ namespace Muine
+ Init ();
+ }
+
+- // Handlers :: OnShowNotificationsChanged
+- private void OnShowNotificationsChanged (object o, GConf.NotifyEventArgs args)
+- {
+- showNotifications = (bool) args.Value;
+- }
++ // Handlers :: OnShowNotificationsChanged
++ private void OnShowNotificationsChanged (object o, GConf.NotifyEventArgs args)
++ {
++ showNotifications = (bool) args.Value;
++ }
+
+ // Handlers :: OnSongChangedEvent
+ private void OnSongChangedEvent (ISong song)
+@@ -321,62 +324,35 @@ namespace Muine
+ UpdateImage ();
+ }
+
+- /* Libnotify bindings */
+-
+- [DllImport("notify")]
+- private static extern bool notify_init(string app_name);
+-
+- [DllImport("notify")]
+- private static extern void notify_uninit();
+-
+- [DllImport("notify")]
+- private static extern IntPtr notify_notification_new(string summary, string message,
+- string icon, IntPtr widget);
+-
+- [DllImport("notify")]
+- private static extern void notify_notification_set_timeout(IntPtr notification,
+- int timeout);
+-
+- [DllImport("notify")]
+- private static extern void notify_notification_set_urgency(IntPtr notification,
+- int urgency);
+-
+- [DllImport("notify")]
+- private static extern void notify_notification_set_icon_from_pixbuf(IntPtr notification, IntPtr icon);
+-
+- [DllImport("notify")]
+- private static extern bool notify_notification_show(IntPtr notification, IntPtr error);
+-
+- [DllImport("gobject-2.0")]
+- private static extern void g_object_unref(IntPtr o);
+-
+ public static void Notify(string summary, string message,
+ Pixbuf cover, Widget widget)
+ {
+- if (!showNotifications)
++ if (!showNotifications)
+ return;
+
+- try {
+- if(!notify_init("Muine"))
+- return;
+
+- summary = StringUtils.EscapeForPango(summary);
+- message = StringUtils.EscapeForPango(message);
++ summary = StringUtils.EscapeForPango(summary);
++ message = StringUtils.EscapeForPango(message);
++ if (cover != null) {
++ cover = cover.ScaleSimple(42, 42, InterpType.Bilinear);
++ }
+
+- IntPtr notif = notify_notification_new(summary, message, null, widget.Handle);
+- notify_notification_set_timeout(notif, 4000);
+- notify_notification_set_urgency(notif, 0);
++ if (notif == null) {
+ if (cover != null) {
+- cover = cover.ScaleSimple(42, 42, InterpType.Bilinear);
+- notify_notification_set_icon_from_pixbuf(notif, cover.Handle);
++ notif = new Notification(summary, message, cover);
++ } else {
++ notif = new Notification(summary, message);
++ }
++ } else {
++ notif.Summary = summary;
++ notif.Body = message;
++ notif.IconName = "media-optical";
++ if (cover != null) {
++ notif.Icon = cover;
+ }
+- notify_notification_show(notif, IntPtr.Zero);
+- g_object_unref(notif);
+- notify_uninit();
+-
+- } catch (Exception) {
+- showNotifications = false;
+ }
++
++ notif.Show();
+ }
+
+ private void OnWindowEvent (object o, WidgetEventArgs args)
+diff --git a/lugins/TrayIcon.dll.config b/plugins/TrayIcon.dll.config
+--- a/plugins/TrayIcon.dll.config
++++ b/plugins/TrayIcon.dll.config
+@@ -1,6 +1,5 @@
+ <configuration>
+ <dllmap dll="gdk-x11-2.0" target="libgdk-x11-2.0.so.0"/>
+ <dllmap dll="libX11" target="libX11.so.6"/>
+- <dllmap dll="notify" target="libnotify.so.1"/>
+ <dllmap dll="gobject-2.0" target="libgobject-2.0.so.0"/>
+ </configuration>
+--
+cgit v0.9
diff --git a/use-standard-icons.patch b/use-standard-icons.patch
new file mode 100644
index 000000000000..8018e7364b7e
--- /dev/null
+++ b/use-standard-icons.patch
@@ -0,0 +1,169 @@
+diff -Naur muine-0.8.11.orig/configure.in muine-0.8.11/configure.in
+--- muine-0.8.11.orig/configure.in 2017-01-28 09:17:46.537604000 +0100
++++ muine-0.8.11/configure.in 2017-01-28 09:19:15.873500495 +0100
+@@ -24,7 +24,6 @@
+ GSTREAMER_REQUIRED=0.10.0
+ GLIB_REQUIRED=2.14
+ GTK_REQUIRED=2.8
+-ICON_THEME_REQUIRED=2.10
+ MONO_REQUIRED=1.1
+ GTKSHARP_REQUIRED=2.12.9
+ TAGLIBSHARP_REQUIRED=2.0.3
+@@ -38,7 +37,6 @@
+ gdk-pixbuf-2.0 \
+ glib-2.0 >= $GLIB_REQUIRED \
+ gtk+-2.0 >= $GTK_REQUIRED \
+- gnome-icon-theme >= $ICON_THEME_REQUIRED \
+ gstreamer-0.10 >= $GSTREAMER_REQUIRED)
+ AC_SUBST(MUINE_CFLAGS)
+ AC_SUBST(MUINE_LIBS)
+diff -Naur muine-0.8.11.orig/data/glade/PlaylistWindow.glade muine-0.8.11/data/glade/PlaylistWindow.glade
+--- muine-0.8.11.orig/data/glade/PlaylistWindow.glade 2017-01-28 09:17:46.540938000 +0100
++++ muine-0.8.11/data/glade/PlaylistWindow.glade 2017-01-28 09:18:58.019655087 +0100
+@@ -97,7 +97,7 @@
+ <widget class="GtkImage" id="toggle_play_image">
+ <property name="visible">True</property>
+ <property name="icon_size">3</property>
+- <property name="icon_name">stock_media-play</property>
++ <property name="icon_name">media-playback-start</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+@@ -114,7 +114,7 @@
+ <widget class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="icon_size">3</property>
+- <property name="icon_name">stock_media-pause</property>
++ <property name="icon_name">media-playback-pause</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+@@ -149,7 +149,7 @@
+ <widget class="GtkImage" id="previous_image">
+ <property name="visible">True</property>
+ <property name="icon_size">3</property>
+- <property name="icon_name">stock_media-prev</property>
++ <property name="icon_name">media-skip-backward</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+@@ -175,7 +175,7 @@
+ <widget class="GtkImage" id="next_image">
+ <property name="visible">True</property>
+ <property name="icon_size">3</property>
+- <property name="icon_name">stock_media-next</property>
++ <property name="icon_name">media-skip-forward</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+@@ -334,7 +334,7 @@
+ <widget class="GtkImage" id="add_album_image">
+ <property name="visible">True</property>
+ <property name="icon_size">3</property>
+- <property name="icon_name">stock_music-library</property>
++ <property name="icon_name">list-add</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+diff -Naur muine-0.8.11.orig/src/Actions.cs muine-0.8.11/src/Actions.cs
+--- muine-0.8.11.orig/src/Actions.cs 2017-01-28 09:17:46.540938000 +0100
++++ muine-0.8.11/src/Actions.cs 2017-01-28 09:18:58.019655087 +0100
+@@ -130,25 +130,25 @@
+ new ActionEntry ("Quit", Stock.Quit, null,
+ "<control>Q", null, null),
+
+- new ActionEntry ("Previous", "stock_media-prev", string_previous,
++ new ActionEntry ("Previous", "media-skip-backward", string_previous,
+ "B", null, null),
+
+- new ActionEntry ("Next", "stock_media-next", string_next,
++ new ActionEntry ("Next", "media-skip-forward", string_next,
+ "N", null, null),
+
+ new ActionEntry ("SkipTo", Stock.JumpTo, string_skip_to,
+ "T", null, null),
+
+- new ActionEntry ("SkipBackwards", "stock_media-rew", string_skip_backwards,
++ new ActionEntry ("SkipBackwards", "media-seek-backward", string_skip_backwards,
+ "<control>Left", null, null),
+
+- new ActionEntry ("SkipForward", "stock_media-fwd", string_skip_forward,
++ new ActionEntry ("SkipForward", "media-seek-forward", string_skip_forward,
+ "<control>Right", null, null),
+
+ new ActionEntry ("PlaySong", Stock.Add, string_play_song,
+ "S", null, null),
+
+- new ActionEntry ("PlayAlbum", "stock_music-library", string_play_album,
++ new ActionEntry ("PlayAlbum", "list-add", string_play_album,
+ "A", null, null),
+
+ new ActionEntry ("Remove", Stock.Remove, string_remove,
+@@ -160,7 +160,7 @@
+ new ActionEntry ("Clear", Stock.Clear, string_clear,
+ "<control>L", null, null),
+
+- new ActionEntry ("Shuffle", "stock_shuffle", string_shuffle,
++ new ActionEntry ("Shuffle", "media-playlist-shuffle", string_shuffle,
+ "<control>S", null, null),
+
+ new ActionEntry ("About", "gtk-about", string_about,
+@@ -169,7 +169,7 @@
+
+ // Static :: Objects :: Toggle Entries
+ private static ToggleActionEntry [] toggle_entries = {
+- new ToggleActionEntry ("TogglePlay", "stock_media-play", string_toggle_play,
++ new ToggleActionEntry ("TogglePlay", "media-playback-start", string_toggle_play,
+ "P", null, null, false),
+
+ new ToggleActionEntry ("ToggleRepeat", null, string_toggle_repeat,
+diff -Naur muine-0.8.11.orig/src/AddWindow.cs muine-0.8.11/src/AddWindow.cs
+--- muine-0.8.11.orig/src/AddWindow.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/AddWindow.cs 2017-01-28 09:18:58.022988516 +0100
+@@ -100,10 +100,10 @@
+ base.Raw = this.window.Handle;
+
+ this.play_button_image.SetFromStock
+- ("stock_media-play", Gtk.IconSize.Button);
++ ("media-playback-start", Gtk.IconSize.Button);
+
+ this.queue_button_image.SetFromStock
+- ("stock_timer", Gtk.IconSize.Button);
++ ("list-add", Gtk.IconSize.Button);
+
+ // Cell Renderer
+ this.text_renderer.Ellipsize = Pango.EllipsizeMode.End;
+diff -Naur muine-0.8.11.orig/src/StockIcons.cs muine-0.8.11/src/StockIcons.cs
+--- muine-0.8.11.orig/src/StockIcons.cs 2009-09-13 16:53:58.000000000 +0200
++++ muine-0.8.11/src/StockIcons.cs 2017-01-28 09:18:58.022988516 +0100
+@@ -41,18 +41,18 @@
+
+ // Variables :: Themed Icons
+ private static readonly string [] icon_theme_icons = {
+- "stock_media-fwd",
+- "stock_media-next",
+- "stock_media-play",
+- "stock_media-prev",
+- "stock_media-rew",
+- "stock_music-library",
+- "stock_volume-0",
+- "stock_volume-min",
+- "stock_volume-med",
+- "stock_volume-max",
+- "stock_shuffle",
+- "stock_timer",
++ "media-seek-forward",
++ "media-skip-forward",
++ "media-playback-start",
++ "media-skip-backward",
++ "media-seek-backward",
++ "list-add",
++ "audio-volume-muted",
++ "audio-volume-low",
++ "audio-volume-medium",
++ "audio-volume-high",
++ "media-playlist-shuffle",
++ "list-add",
+ "gnome-mime-audio"
+ };
+